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