Răsfoiți Sursa

1、4.2bug修复;

zk 1 an în urmă
părinte
comite
2a596fb879

+ 0 - 25
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/vo/RWaybillOrderVo.java

@@ -75,31 +75,6 @@ public class RWaybillOrderVo implements Serializable {
      */
     private String driverIdcard;
 
-    /**
-     * 已委托量
-     */
-    private BigDecimal entrustAmount;
-
-    /**
-     * 卸货重量
-     */
-    private BigDecimal unloadAmount;
-
-    /**
-     * 装货重量
-     */
-    private BigDecimal loadAmount;
-
-    /**
-     * 亏吨重量
-     */
-    private BigDecimal deficitAmount;
-
-    /**
-     * 亏吨扣款
-     */
-    private BigDecimal deficitPrice;
-
     /**
      * 计划开始时间
      */

+ 2 - 2
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/req/UpdateLineFreightRateParam.java

@@ -40,7 +40,7 @@ public class UpdateLineFreightRateParam {
     @NotBlank(message = "路径起始位置不能为空")
     private String loadName;
 
-    @NotNull(message = "起始位置所属企业不能为空")
+    //@NotNull(message = "起始位置所属企业不能为空")
     private Long loadEntId;
 
     /**
@@ -49,7 +49,7 @@ public class UpdateLineFreightRateParam {
     @NotBlank(message = "路径结束位置不能为空")
     private String unloadName;
 
-    @NotNull(message = "结束位置所属企业不能为空")
+    //@NotNull(message = "结束位置所属企业不能为空")
     private Long unloadEntId;
 
     /**

+ 11 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtWaybillOrderV1Mapper.java

@@ -2,6 +2,7 @@ package com.sckw.transport.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.sckw.core.model.vo.TableTop;
+import com.sckw.transport.model.KwtWaybillOrder;
 import com.sckw.transport.model.KwtWaybillOrderV1;
 import com.sckw.transport.model.dto.OrderCarDTO;
 import com.sckw.transport.model.dto.WaybillOrderQueryDto;
@@ -107,4 +108,14 @@ public interface KwtWaybillOrderV1Mapper extends BaseMapper<KwtWaybillOrderV1> {
      * @return 车辆信息
      */
     List<OrderCarDTO> selectWaybillOrderCarPage(Map<String, Object> params);
+
+    /**
+     * 查询车辆运单
+     * @param params {driverId 司机ID, truckNo车牌号, busStatus 状态 2出车/3执行/4完结}
+     * @desc 查询车辆运单
+     * @author zk
+     * @date 2023/9/6
+     * @return 运单信息
+     **/
+    List<KwtWaybillOrderV1> findWaybillOrder(Map<String, Object> params);
 }

+ 15 - 3
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dubbo/TransportServiceImpl.java

@@ -106,6 +106,9 @@ public class TransportServiceImpl implements TransportRemoteService {
     @Autowired
     private KwtWaybillOrderV1Mapper waybillOrderV1Mapper;
 
+    @Autowired
+    private KwtWaybillOrderSubtaskMapper waybillOrderSubtaskMapper;
+
     @Autowired
     private KwtLogisticsOrderLineFreightRateMapper lineFreightRateMapper;
 
@@ -654,16 +657,25 @@ public class TransportServiceImpl implements TransportRemoteService {
             put("truckNo", params.getTruckNo());
             put("busStatus", params.getBusStatus());
         }};
-        List<KwtWaybillOrder> waybillOrders = waybillOrderDao.findWaybillOrder(queryParams);
+        List<KwtWaybillOrderV1> waybillOrders = waybillOrderV1Mapper.findWaybillOrder(queryParams);
         if (CollectionUtils.isEmpty(waybillOrders)) {
             return waybillOrderVos;
         }
 
-        for (KwtWaybillOrder waybillOrder : waybillOrders) {
+        for (KwtWaybillOrderV1 waybillOrder : waybillOrders) {
             RWaybillOrderVo order = new RWaybillOrderVo();
             BeanUtils.copyProperties(waybillOrder, order);
+
+            //子运单
+            List<KwtWaybillOrderSubtask> subtasks = waybillOrderSubtaskMapper.findByWOrderId(waybillOrder.getId());
+            //装货时间
+            Optional<KwtWaybillOrderSubtask> unloadDate = subtasks.stream().max(Comparator.comparing(KwtWaybillOrderSubtask::getUnloadTime));
+            //卸货时间
+            Optional<KwtWaybillOrderSubtask> loadDate = subtasks.stream().min(Comparator.comparing(KwtWaybillOrderSubtask::getLoadTime));
             KwtWaybillOrderTrack track = waybillOrderTrackDao.findWaybillOrderTrack(waybillOrder.getId(), null, null, CarWaybillEnum.EXIT_COMPLETED.getCode());
             order.setDepartureTime(track != null ? track.getOperateTime() : null);
+            order.setStartTime(loadDate.get().getLoadTime());
+            order.setEndTime(unloadDate.get().getUnloadTime());
             waybillOrderVos.add(order);
         }
 
@@ -698,7 +710,7 @@ public class TransportServiceImpl implements TransportRemoteService {
             put("busStatus", Global.NUMERICAL_THREE);
             put("lOrderIds", orderIds);
         }};
-        List<KwtWaybillOrder> waybillOrders = waybillOrderDao.findWaybillOrder(params);
+        List<KwtWaybillOrderV1> waybillOrders = waybillOrderV1Mapper.findWaybillOrder(params);
         waybillOrders.forEach(order -> trucks.add(new RTruckMonitorVo(order.getEntId(), order.getTruckNo(), Global.NUMERICAL_ONE)));
         return trucks;
     }

+ 5 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtWaybillOrder.java

@@ -31,6 +31,11 @@ public class KwtWaybillOrder implements Serializable {
      */
     private Long lOrderId;
 
+    /**
+     * 运单ID
+     */
+    private String wOrderId;
+
     /**
      * 编号
      */

+ 1 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/WaybillOrderSelectVo.java

@@ -87,6 +87,7 @@ public class WaybillOrderSelectVo implements Serializable {
     /**
      * 物流订单编号
      */
+    @JsonProperty(value="lOrderNo")
     private String lOrderNo;
 
     /**

+ 5 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderV1Service.java

@@ -352,6 +352,7 @@ public class KwtWaybillOrderV1Service {
         waybillDetail.setTracks(trackList);
         waybillDetail.setAddresses(addressList);
         waybillDetail.setTrajectory(trajectory);
+        waybillDetail.setTypeName(waybillDetail.getType() == NumberConstant.ONE ? "趟次运单" : "循环运单");
         return HttpResult.ok(waybillDetail);
     }
 
@@ -572,9 +573,9 @@ public class KwtWaybillOrderV1Service {
         /*数据处理*/
         List<Map<String, Object>> trackList = new ArrayList<>();
         for (CarWaybillNdexTopEnum entity:CarWaybillNdexTopEnum.values()) {
-            Map<String, Object> trackData = new HashMap<>(NumberConstant.SIXTEEN);
             //审核状态
-            KwtWaybillOrderTrack track = waybillOrderTrackDao.findWaybillOrderTrackV1(waybillOrder.getWOrderId(), CarWaybillDetailEnum.IN_TRANSIT.getValue());
+            KwtWaybillOrderTrack track = waybillOrderTrackDao.findWaybillOrderTrackV1(waybillOrder.getWOrderId(), entity.getValue());
+            Map<String, Object> trackData = new HashMap<>(NumberConstant.SIXTEEN);
             trackData.put("statusName", entity.getName());
             trackData.put("operateStatus", track != null);
             trackData.put("operateTime", track != null ? DateUtils.format(track.getOperateTime(), DateUtils.FORMAT11) : null);
@@ -2171,10 +2172,10 @@ public class KwtWaybillOrderV1Service {
                     BigDecimal countEntrustAmount = countEntrustAmount(subtask, amount.getLAddressId());
                     amount.setEntrustAmount(amount.getEntrustAmount().subtract(countEntrustAmount));
                     amount.setLoadAmount(waybillCount.getAmount());
-                    amount.setLoadTime(LocalDateTime.ofInstant(waybillCount.getLoadTime().toInstant(), ZoneId.systemDefault()));
+                    amount.setLoadTime(waybillCount.getLoadTime() != null ? LocalDateTime.ofInstant(waybillCount.getLoadTime().toInstant(), ZoneId.systemDefault()) : null);
                 } else {
                     amount.setUnloadAmount(waybillCount.getAmount());
-                    amount.setUnloadTime(LocalDateTime.ofInstant(waybillCount.getUnloadTime().toInstant(), ZoneId.systemDefault()));
+                    amount.setUnloadTime(waybillCount.getUnloadTime() != null ? LocalDateTime.ofInstant(waybillCount.getUnloadTime().toInstant(), ZoneId.systemDefault()) : null);
                 }
                 logisticsOrderAmountDao.updateById(amount);
             }

+ 39 - 1
sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderV1Mapper.xml

@@ -279,7 +279,7 @@
 
     <select id="findTicketCountByAddress" resultType="com.sckw.transport.model.vo.WaybillCountVo">
         SELECT
-        sum(wot.amount) amount,
+        IFNULL(sum(wot.amount), 0.0) amount,
         MIN(wot.operate_time) loadTime,
         MAX(wot.operate_time) unloadTime
         from kwt_waybill_order_ticket wot
@@ -337,4 +337,42 @@
         </if>
     </select>
 
+    <select id="findWaybillOrder" resultType="com.sckw.transport.model.KwtWaybillOrderV1" parameterType="java.util.Map">
+        SELECT
+        kwo.id, kwo.id wOrderId, kwo.w_order_no worderNo, kwo.type, kwo.ent_id carrierEntId, kwo.truck_id truckId, kwo.truck_no truckNo, kwo.status,
+        kwo.create_time createTime, kwo.driver_id driverId, kwo.driver_name driverName, kwo.driver_phone driverPhone, kwo.ent_id entId
+        FROM kwt_waybill_order kwo
+        where kwo.del_flag = 0
+        <if test="driverId != null and driverId != ''">
+            and kwo.driver_id = #{driverId, jdbcType=BIGINT}
+        </if>
+        <if test="truckNo != null and truckNo != ''">
+            and kwo.truck_no = #{truckNo, jdbcType=VARCHAR}
+        </if>
+        <if test="status != null and status != ''">
+            and kwo.status = #{status, jdbcType=INTEGER}
+        </if>
+        <if test="busStatus != null and busStatus == 2">
+            and kwo.status = 201
+        </if>
+        <if test="busStatus != null and busStatus == 3">
+            and kwo.status in (203, 301, 302, 401, 402)
+        </if>
+        <if test="busStatus != null and busStatus == 4">
+            and kwo.status in (102, 103, 202, 501, 502, 503, 504)
+        </if>
+        <if test="lOrderId != null and lOrderId != ''">
+            and kwo.id in (SELECT w_order_id from kwt_waybill_order_subtask where del_flag = 0 and l_order_id = #{lOrderId, jdbcType=BIGINT} ))
+        </if>
+        <choose>
+            <when test="lOrderIds != null and lOrderIds != '' and lOrderIds.size() > 0">
+                and kwo.id in (
+                SELECT w_order_id from kwt_waybill_order_subtask where del_flag = 0 and l_order_id in
+                <foreach collection="lOrderIds" item="lOrderId" open="(" close=")" separator=",">
+                    #{lOrderId,jdbcType=BIGINT}
+                </foreach>
+                )
+            </when>
+        </choose>
+    </select>
 </mapper>