From 446f423ccea20bfbcd03b7f2f4a680567277b5c3 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期四, 28 八月 2025 15:32:32 +0800
Subject: [PATCH] 新增前后端

---
 service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml |   67 +++++++++++++++++++++++++++++++--
 1 files changed, 62 insertions(+), 5 deletions(-)

diff --git a/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml b/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
index 704608f..5015b18 100644
--- a/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
+++ b/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
@@ -56,10 +56,15 @@
         <result property="isCreate"    column="is_create"    />
         <result property="billId"    column="bill_id"    />
         <result property="billName"    column="bill_name"    />
+        <result property="confirmedTotalIncome"    column="confirmed_total_income"    />
+        <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.settlement_status, thisTab.create_time, thisTab.update_time, thisTab.is_create, thisTab.bill_name 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
@@ -105,6 +110,10 @@
         <if test="billId != null "> and thisTab.bill_id = #{billId}</if>
         <if test="heavyMileage != null "> and thisTab.heavy_mileage = #{heavyMileage}</if>
         <if test="heavyFuel != null "> and thisTab.heavy_fuel = #{heavyFuel}</if>
+        <if test="confirmedTotalIncome != null "> and thisTab.confirmed_total_income = #{confirmedTotalIncome}</if>
+        <if test="confirmedTotalCost != null "> and thisTab.confirmed_total_cost = #{confirmedTotalCost}</if>
+        <if test="isIncomeMatched != null "> and thisTab.is_income_matched = #{isIncomeMatched}</if>
+        <if test="isCostMatched != null "> and thisTab.is_cost_matched = #{isCostMatched}</if>
         <if test="beScheduled != null  and beScheduled != ''"> and thisTab.be_scheduled = #{beScheduled}</if>
         <if test="trackingNo != null  and trackingNo != ''"> and thisTab.tracking_no = #{trackingNo}</if>
         <if test="sealNo != null  and sealNo != ''"> and thisTab.seal_no = #{sealNo}</if>
@@ -274,6 +283,16 @@
         SELECT customer_name from pending_settlement_business group by customer_name
 
     </select>
+    <select id="selectPendingSettlementBusinessDispatchNos" resultType="java.lang.String">
+        SELECT dispatch_no from pending_settlement_business where  bill_id =    #{id}
+
+    </select>
+    <select id="selectPendingSettlementBusinessByNo"
+            resultMap="PendingSettlementBusinessResult">
+        <include refid="selectPendingSettlementBusinessVo"/>
+        where dispatch_no = #{dispatchNo}
+
+    </select>
 
     <!-- 鏂板 -->
     <insert id="insertPendingSettlementBusiness" parameterType="com.ruoyi.cwgl.domain.PendingSettlementBusiness"  useGeneratedKeys="true" keyProperty="id">
@@ -327,6 +346,10 @@
             <if test="createTime != null">create_time,</if>
             <if test="updateTime != null">update_time,</if>
             <if test="isCreate != null">is_create,</if>
+            <if test="confirmedTotalIncome != null">confirmed_total_income,</if>
+            <if test="confirmedTotalCost != null">confirmed_total_cost,</if>
+            <if test="isIncomeMatched != null">is_income_matched,</if>
+            <if test="isCostMatched != null">is_cost_matched,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="bookingNo != null">#{bookingNo},</if>
@@ -377,17 +400,21 @@
             <if test="createTime != null">#{createTime},</if>
             <if test="updateTime != null">#{updateTime},</if>
             <if test="isCreate != null">#{isCreate},</if>
+            <if test="confirmedTotalIncome != null">#{confirmedTotalIncome},</if>
+            <if test="confirmedTotalCost != null">#{confirmedTotalCost},</if>
+            <if test="isIncomeMatched != null">#{isIncomeMatched},</if>
+            <if test="isCostMatched != null">#{isCostMatched},</if>
          </trim>
     </insert>
 
     <insert id="insertPendingSettlementBusinessBatch" parameterType="java.util.List">
         insert into pending_settlement_business
         <trim prefix="(" suffix=") values" suffixOverrides=",">
-            booking_no,customer_id,carrier_id,project_name,dispatch_no,created_time,transport_mode,product_id,customer_name,operation_mode,carrier_name,departure_location,arrival_location,vehicle_id,license_plate_number,vehicle_type,main_driver,assistant_driver,point_num,business_contact,estimated_total_income,estimated_total_cost,estimated_profit,electronic_lock,re_weighing_weight,quantity,actual_departure_time,required_arrival_time,actual_arrival_time,be_return,dispatch_quantity,dispatch_weight,dispatch_volume,empty_mileage,empty_fuel,heavy_mileage,heavy_fuel,be_scheduled,tracking_no,seal_no,schedule_no,transport_status,estimated_bill_id,settlement_bill_id,settlement_status,create_time,update_time,is_create,
+            booking_no,customer_id,carrier_id,project_name,dispatch_no,created_time,transport_mode,product_id,customer_name,operation_mode,carrier_name,departure_location,arrival_location,vehicle_id,license_plate_number,vehicle_type,main_driver,assistant_driver,point_num,business_contact,estimated_total_income,estimated_total_cost,estimated_profit,electronic_lock,re_weighing_weight,quantity,actual_departure_time,required_arrival_time,actual_arrival_time,be_return,dispatch_quantity,dispatch_weight,dispatch_volume,empty_mileage,empty_fuel,heavy_mileage,heavy_fuel,be_scheduled,tracking_no,seal_no,schedule_no,transport_status,estimated_bill_id,settlement_bill_id,settlement_status,create_time,update_time,is_create,is_income_matched,is_cost_matched,
         </trim>
         <foreach item="item" index="index" collection="list" separator=",">
             <trim prefix="(" suffix=") " suffixOverrides=",">
-                #{item.bookingNo},#{item.customerId},#{item.carrierId},#{item.projectName},#{item.dispatchNo},#{item.createdTime},#{item.transportMode},#{item.productId},#{item.customerName},#{item.operationMode},#{item.carrierName},#{item.departureLocation},#{item.arrivalLocation},#{item.vehicleId},#{item.licensePlateNumber},#{item.vehicleType},#{item.mainDriver},#{item.assistantDriver},#{item.pointNum},#{item.businessContact},#{item.estimatedTotalIncome},#{item.estimatedTotalCost},#{item.estimatedProfit},#{item.electronicLock},#{item.reWeighingWeight},#{item.quantity},#{item.actualDepartureTime},#{item.requiredArrivalTime},#{item.actualArrivalTime},#{item.beReturn},#{item.dispatchQuantity},#{item.dispatchWeight},#{item.dispatchVolume},#{item.emptyMileage},#{item.emptyFuel},#{item.heavyMileage},#{item.heavyFuel},#{item.beScheduled},#{item.trackingNo},#{item.sealNo},#{item.scheduleNo},#{item.transportStatus},#{item.estimatedBillId},#{item.settlementBillId},#{item.settlementStatus},#{item.createTime},#{item.updateTime},#{item.isCreate},
+                #{item.bookingNo},#{item.customerId},#{item.carrierId},#{item.projectName},#{item.dispatchNo},#{item.createdTime},#{item.transportMode},#{item.productId},#{item.customerName},#{item.operationMode},#{item.carrierName},#{item.departureLocation},#{item.arrivalLocation},#{item.vehicleId},#{item.licensePlateNumber},#{item.vehicleType},#{item.mainDriver},#{item.assistantDriver},#{item.pointNum},#{item.businessContact},#{item.estimatedTotalIncome},#{item.estimatedTotalCost},#{item.estimatedProfit},#{item.electronicLock},#{item.reWeighingWeight},#{item.quantity},#{item.actualDepartureTime},#{item.requiredArrivalTime},#{item.actualArrivalTime},#{item.beReturn},#{item.dispatchQuantity},#{item.dispatchWeight},#{item.dispatchVolume},#{item.emptyMileage},#{item.emptyFuel},#{item.heavyMileage},#{item.heavyFuel},#{item.beScheduled},#{item.trackingNo},#{item.sealNo},#{item.scheduleNo},#{item.transportStatus},#{item.estimatedBillId},#{item.settlementBillId},#{item.settlementStatus},#{item.createTime},#{item.updateTime},#{item.isCreate},#{item.isIncomeMatched},#{item.isCostMatched},
             </trim>
         </foreach>
     </insert>
@@ -513,9 +540,28 @@
 
     </update>
     <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 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
+        SET related_bill_status = #{status}
         WHERE dispatch_no IN
         <foreach item="item" collection="list" open="(" separator="," close=")">
             #{item}
@@ -532,5 +578,16 @@
             #{id}
         </foreach>
     </delete>
+    <delete id="cancelRelevancy">
+       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