Ver código fonte

1、单证审核修改上级物流订单辅助单位调整;

zk 2 anos atrás
pai
commit
84525a2225

+ 2 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderGoodsUnitMapper.java

@@ -15,4 +15,6 @@ import java.util.Map;
 public interface KwtLogisticsOrderGoodsUnitMapper extends BaseMapper<KwtLogisticsOrderGoodsUnit> {
 
     List<KwtLogisticsOrderGoodsUnit> findGoodsUnit(Map<String, Object> params);
+
+    KwtLogisticsOrderGoodsUnit findGoodsUnitCount(Map<String, Object> params);
 }

+ 7 - 19
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtLogisticsOrderGoodsService.java

@@ -1,5 +1,6 @@
 package com.sckw.transport.service;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.sckw.core.common.enums.enums.DictTypeEnum;
 import com.sckw.core.model.constant.Global;
@@ -202,28 +203,15 @@ public class KwtLogisticsOrderGoodsService {
         }});
         if (CollectionUtils.isNotEmpty(assistUnit)) {
             assistUnit.forEach(e -> {
-                //车辆运单统计(运输中的物流订单+车辆运单审核通过)
-                Map<String, Object> params = new HashMap<>(NumberConstant.SIXTEEN){{
+                //下级物流订单-辅助单位
+                KwtLogisticsOrderGoodsUnit unitCount = goodsUnitMapper.findGoodsUnitCount(new HashMap<>(NumberConstant.SIXTEEN){{
+                    put("belowlOrderId", lOrderId);
                     put("unit", e.getUnit());
-                    put("type", NumberConstant.ONE);
-                    put("upperlOrderId", lOrderId);
-                    put("passStatus", Global.NUMERICAL_ONE);
-                    put("logisticsStatus", LogisticsOrderEnum.IN_TRANSIT.getCode());
-                }};
-                //装货量
-                Double loadAmount = waybillOrderMapper.findWaybillOrderTicketCount(params);
-                //卸货量
-                params.put("type", NumberConstant.TWO);
-                Double unloadAmount = waybillOrderMapper.findWaybillOrderTicketCount(params);
-
-                //物流订单统计(运输完成后的物流订单)
-                LogisticsCountVo LogisticsCount = logisticsOrderMapper.findLogisticsOrderCount(new HashMap() {{
-                    put("upperlOrderId", lOrderId);
-                    put("finishedStatus", Global.NUMERICAL_ONE);
                 }});
+
                 //更新物流订单商品辅助单位-总装卸货量
-                e.setTotalLoadAmount(BigDecimal.valueOf(loadAmount).add(LogisticsCount.getLoadAmount()));
-                e.setTotalUnloadAmount(BigDecimal.valueOf(unloadAmount).add(LogisticsCount.getUnloadAmount()));
+                e.setTotalLoadAmount(unitCount.getTotalLoadAmount().add(e.getLoadAmount()));
+                e.setTotalUnloadAmount(unitCount.getTotalUnloadAmount().add(e.getUnloadAmount()));
                 goodsUnitMapper.updateById(e);
             });
         }

+ 28 - 2
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderGoodsUnitMapper.xml

@@ -29,17 +29,43 @@
         load_amount, total_load_amount, total_unload_amount, remark, `status`, create_by,
         create_time, update_by, update_time, del_flag
     </sql>
+
     <select id="findGoodsUnit" resultType="com.sckw.transport.model.KwtLogisticsOrderGoodsUnit" parameterType="java.util.Map" >
         SELECT
             id, l_order_id lOrderId, goods_id goodsId, from_unit fromUnit, to_unit toUnit,
-            conversion_value conversionValue, unit, unload_amount unloadAmount,
-            load_amount loadAmount, total_load_amount totalLoadAmount, total_unload_amount totalUnloadAmount,
+            conversion_value conversionValue, unit, IFNULL(SUM(unload_amount), 0.0) unloadAmount,
+            IFNULL(SUM(load_amount), 0.0) loadAmount, IFNULL(SUM(total_load_amount), 0.0) totalLoadAmount,
+            IFNULL(SUM(total_unload_amount), 0.0) totalUnloadAmount,
             remark, status, create_by createBy, create_time createTime, update_by updateBy, update_time updateTime
         from kwt_logistics_order_goods_unit
         where del_flag = 0
         <if test="lOrderId != null and goodsId != ''">
             and l_order_id = #{lOrderId, jdbcType=BIGINT}
         </if>
+        <if test="unit != null and unit != ''">
+            and unit = #{unit, jdbcType=INTEGER}
+        </if>
         ORDER BY create_time desc
     </select>
+
+    <select id="findGoodsUnitCount" resultType="com.sckw.transport.model.KwtLogisticsOrderGoodsUnit" parameterType="java.util.Map" >
+        SELECT
+        IFNULL(SUM(logu.load_amount), 0.0) loadAmount,
+        IFNULL(SUM(logu.unload_amount), 0.0) unloadAmount,
+        IFNULL(SUM(logu.total_load_amount), 0.0) totalLoadAmount,
+        IFNULL(SUM(logu.total_unload_amount), 0.0) totalUnloadAmount
+        from kwt_logistics_order_goods_unit logu
+        left join kwt_logistics_order lo on lo.id = logu.l_order_id
+        where logu.del_flag = 0 and lo.del_flag = 0
+        <if test="belowlOrderId != null and belowlOrderId != ''">
+            and FIND_IN_SET(#{belowlOrderId, jdbcType=BIGINT}, lo.pids)
+            and logu.l_order_id != #{belowlOrderId, jdbcType=BIGINT}
+        </if>
+        <if test="upperlOrderId != null and upperlOrderId != ''">
+            and FIND_IN_SET(#{upperlOrderId, jdbcType=BIGINT}, lo.pids)
+        </if>
+        <if test="unit != null and unit != ''">
+            and logu.unit = #{unit}
+        </if>
+    </select>
 </mapper>

+ 0 - 1
sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderMapper.xml

@@ -610,7 +610,6 @@
           and b.t_order_id = #{id,jdbcType=VARCHAR}
     </select>
 
-
     <select id="selectWaybillOrderCarListByTradeOrderId" resultType="com.sckw.transport.model.dto.OrderCarDTO">
         SELECT a.id            as wOrderId,
         a.w_order_no    as wOrderNo,