From 155d0cb16d9549c701d9ad59e519a7fc5bc899a2 Mon Sep 17 00:00:00 2001
From: sen <sen@qq.com>
Date: 星期一, 18 八月 2025 10:16:48 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/yagwly_fa_master' into yagwly_fa_master
---
quartz/src/main/java/com/ruoyi/quartz/task/SettlementTask.java | 1 +
service/src/main/java/com/ruoyi/cwgl/domain/PendingSettlementBusiness.java | 6 ++++++
service/src/main/java/com/ruoyi/cwgl/mapper/PendingSettlementBusinessMapper.java | 2 ++
service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java | 7 ++++++-
service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml | 39 ++++++++++++++++++++++++++++++++-------
5 files changed, 47 insertions(+), 8 deletions(-)
diff --git a/quartz/src/main/java/com/ruoyi/quartz/task/SettlementTask.java b/quartz/src/main/java/com/ruoyi/quartz/task/SettlementTask.java
index efc10ca..2ad1316 100644
--- a/quartz/src/main/java/com/ruoyi/quartz/task/SettlementTask.java
+++ b/quartz/src/main/java/com/ruoyi/quartz/task/SettlementTask.java
@@ -48,6 +48,7 @@
List<EstimatedReceivable> estimatedReceivables = new ArrayList<>();
for (PendingSettlementBusiness pendingSettlementBusiness : pendingSettlementBusinesses) {
+ pendingSettlementBusiness.setIsCreate(0);
ReceivableLineTruckPriceRule exactMatchingRule = ExactPricingRuleMatcher.findExactMatchingRule(receivableLineTruckPriceRules, pendingSettlementBusiness.getCustomerName(), pendingSettlementBusiness.getDepartureLocation(), pendingSettlementBusiness.getArrivalLocation(), pendingSettlementBusiness.getVehicleType());
if (exactMatchingRule!=null) {
//搴旀敹鏁版嵁
diff --git a/service/src/main/java/com/ruoyi/cwgl/domain/PendingSettlementBusiness.java b/service/src/main/java/com/ruoyi/cwgl/domain/PendingSettlementBusiness.java
index 3b50813..f43da9d 100644
--- a/service/src/main/java/com/ruoyi/cwgl/domain/PendingSettlementBusiness.java
+++ b/service/src/main/java/com/ruoyi/cwgl/domain/PendingSettlementBusiness.java
@@ -391,10 +391,16 @@
*/
@TableField("bill_id")
private Integer billId;
+ /** 鍏宠仈璐﹀崟鐘舵�� */
+ @Excel(name = "鍏宠仈璐﹀崟鐘舵��")
+ @TableField("related_bill_status")
+ private Integer relatedBillStatus;
+
/**
* 鍏宠仈璐﹀崟id
*/
+ @Excel(name = "璐﹀崟鍚嶇О")
@TableField("bill_name")
private String billName;
diff --git a/service/src/main/java/com/ruoyi/cwgl/mapper/PendingSettlementBusinessMapper.java b/service/src/main/java/com/ruoyi/cwgl/mapper/PendingSettlementBusinessMapper.java
index 0d5f51e..c55dba1 100644
--- a/service/src/main/java/com/ruoyi/cwgl/mapper/PendingSettlementBusinessMapper.java
+++ b/service/src/main/java/com/ruoyi/cwgl/mapper/PendingSettlementBusinessMapper.java
@@ -110,4 +110,6 @@
void updatePendingSettlementBusinessByBillId(@Param("id") Integer id, @Param("billName")String billName);
PendingSettlementBusiness selectPendingSettlementBusinessByNo(String dispatchNo);
+
+ void updateEstimatedReceivableBillStatus(@Param("list") List<String> list, @Param("status") int status);
}
diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java
index 45c4a2b..d422d8b 100644
--- a/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java
+++ b/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java
@@ -160,6 +160,7 @@
estimatedReceivableBillLog.setOperation("淇敼璐﹀崟鍚嶇О涓�"+estimatedReceivableBill.getBillName());
logService.insertEstimatedReceivableBillLog(estimatedReceivableBillLog);
pendingSettlementBusinessMapper.updatePendingSettlementBusinessByBillId(estimatedReceivableBill.getId(),estimatedReceivableBill.getBillName());
+
return estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill);
}
@@ -230,7 +231,7 @@
estimatedReceivableBillLog.setOperation("鏈鎻愪氦閲戦"+ settlementAmount);
estimatedReceivableBillLog.setFileName(estimatedReceivableBill.getAttachment());
logService.insertEstimatedReceivableBillLog(estimatedReceivableBillLog);
- settledAmount = settledAmount.add(settlementAmount);
+
List<String>dispatchNos =pendingSettlementBusinessMapper.selectPendingSettlementBusinessDispatchNos(estimatedReceivableBill.getId());
// 妫�鏌ュ綋鍓嶆彁浜ら噾棰�+宸茬粨绠楅噾棰濇槸鍚﹁秴杩囧簲缁撶畻閲戦
if (settlementAmount.add(settledAmount).compareTo(totalAmount) > 0) {
@@ -241,11 +242,15 @@
//宸茬粨绠楀ぇ浜庡簲璁$畻閲戦涓哄凡缁撶畻
estimatedReceivableBill.setStatus(2);
estimatedReceivableMapper.updateEstimatedReceivableBillStatus(dispatchNos,3);
+ pendingSettlementBusinessMapper.updateEstimatedReceivableBillStatus(dispatchNos,3);
}else {
//鍚﹀垯閮ㄥ垎缁撶畻
estimatedReceivableBill.setStatus(1);
estimatedReceivableMapper.updateEstimatedReceivableBillStatus(dispatchNos,2);
+ pendingSettlementBusinessMapper.updateEstimatedReceivableBillStatus(dispatchNos,2);
}
+ settledAmount = settledAmount.add(settlementAmount);
+ estimatedReceivableBill.setSettledAmount(settledAmount);
return estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill);
}
diff --git a/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml b/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
index d9e1d2e..7510e95 100644
--- a/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
+++ b/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
@@ -60,10 +60,11 @@
<result property="confirmedTotalCost" column="confirmed_total_cost" />
<result property="isIncomeMatched" column="is_income_matched" />
<result property="isCostMatched" column="is_cost_matched" />
+ <result property="relatedBillStatus" column="related_bill_status" />
</resultMap>
<sql id="selectPendingSettlementBusinessVo">
- select thisTab.id, thisTab.booking_no, thisTab.customer_id, thisTab.carrier_id, thisTab.project_name, thisTab.dispatch_no, thisTab.created_time, thisTab.transport_mode, thisTab.product_id, thisTab.customer_name, thisTab.operation_mode, thisTab.carrier_name, thisTab.departure_location, thisTab.arrival_location, thisTab.vehicle_id, thisTab.license_plate_number, thisTab.vehicle_type, thisTab.main_driver, thisTab.assistant_driver, thisTab.point_num, thisTab.business_contact, thisTab.estimated_total_income, thisTab.estimated_total_cost, thisTab.estimated_profit, thisTab.electronic_lock, thisTab.re_weighing_weight, thisTab.quantity, thisTab.actual_departure_time, thisTab.required_arrival_time, thisTab.actual_arrival_time, thisTab.be_return, thisTab.dispatch_quantity, thisTab.dispatch_weight, thisTab.dispatch_volume, thisTab.empty_mileage, thisTab.empty_fuel, thisTab.heavy_mileage, thisTab.heavy_fuel, thisTab.be_scheduled, thisTab.tracking_no, thisTab.seal_no, thisTab.schedule_no, thisTab.transport_status, thisTab.estimated_bill_id, thisTab.settlement_bill_id, thisTab.bill_id, thisTab.settlement_status, thisTab.create_time, thisTab.update_time, thisTab.is_create, thisTab.bill_name, thisTab.confirmed_total_income, thisTab.confirmed_total_cost, thisTab.is_income_matched, thisTab.is_cost_matched from pending_settlement_business AS thisTab
+ select thisTab.id, thisTab.booking_no, thisTab.customer_id, thisTab.carrier_id, thisTab.project_name, thisTab.dispatch_no, thisTab.created_time, thisTab.transport_mode, thisTab.product_id, thisTab.customer_name, thisTab.operation_mode, thisTab.carrier_name, thisTab.departure_location, thisTab.arrival_location, thisTab.vehicle_id, thisTab.license_plate_number, thisTab.vehicle_type, thisTab.main_driver, thisTab.assistant_driver, thisTab.point_num, thisTab.business_contact, thisTab.estimated_total_income, thisTab.estimated_total_cost, thisTab.estimated_profit, thisTab.electronic_lock, thisTab.re_weighing_weight, thisTab.quantity, thisTab.actual_departure_time, thisTab.required_arrival_time, thisTab.actual_arrival_time, thisTab.be_return, thisTab.dispatch_quantity, thisTab.dispatch_weight, thisTab.dispatch_volume, thisTab.empty_mileage, thisTab.empty_fuel, thisTab.heavy_mileage, thisTab.heavy_fuel, thisTab.be_scheduled, thisTab.tracking_no, thisTab.seal_no, thisTab.schedule_no, thisTab.transport_status, thisTab.estimated_bill_id, thisTab.settlement_bill_id, thisTab.bill_id, thisTab.settlement_status, thisTab.create_time, thisTab.update_time, thisTab.is_create, thisTab.bill_name, thisTab.confirmed_total_income, thisTab.confirmed_total_cost, thisTab.is_income_matched, thisTab.is_cost_matched, thisTab.related_bill_status from pending_settlement_business AS thisTab
</sql>
<sql id="selectPendingSettlementBusinessVoCount">
select count(0) from pending_settlement_business as thisTab
@@ -541,16 +542,33 @@
<update id="updatePendingSettlementBusinessIsCreate">
UPDATE pending_settlement_business
- SET is_create = 1 ,bill_id = #{id},bill_name = #{billName}
+ SET is_create = 1 ,bill_id = #{id},bill_name = #{billName},related_bill_status = 1
WHERE dispatch_no IN
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</update>
<update id="updatePendingSettlementBusinessByBillId">
- UPDATE pending_settlement_business set bill_name = #{billName}
- where bill_id = #{id}
-
+ UPDATE pending_settlement_business p
+ JOIN estimated_receivable e ON p.dispatch_no = e.dispatch_no
+ SET
+ p.bill_name = #{billName},
+ e.related_bill_name = #{billName}
+ WHERE p.bill_id = #{id};
+ </update>
+ <update id="updateEstimatedReceivableBillStatus">
+ UPDATE pending_settlement_business p
+ JOIN estimated_receivable e ON p.dispatch_no = e.dispatch_no
+ SET
+ p.is_create = 1,
+ p.bill_id = #{id},
+ p.bill_name = #{billName},
+ p.related_bill_status = 1,
+ e.related_bill_name = #{billName}
+ WHERE p.dispatch_no IN
+ <foreach item="item" collection="list" open="(" separator="," close=")">
+ #{item}
+ </foreach>
</update>
<!--鍒犻櫎-->
@@ -564,8 +582,15 @@
</foreach>
</delete>
<delete id="cancelRelevancy">
- UPDATE pending_settlement_business set bill_id = null ,bill_name = null,is_create = 0
- where id = #{id}
+ UPDATE pending_settlement_business p
+LEFT JOIN estimated_receivable e ON p.dispatch_no = e.dispatch_no
+SET
+ p.bill_id = NULL,
+ p.bill_name = NULL,
+ p.is_create = 0,
+ p.related_bill_status = 0,
+ e.related_bill_name = NULL
+ WHERE p.id = #{id}
</delete>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0