Преглед изворни кода

1、4.2司机端新增榜单详情接口;
2、4.2原接口调整;

zk пре 1 година
родитељ
комит
de63a35780

+ 8 - 8
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/CarWaybillEnum.java

@@ -24,7 +24,7 @@ public enum CarWaybillEnum {
     /**
      * 出车-待出车
      */
-    PENDING_VEHICLE(201, "pendingVehicle", "201", "待出车", "确认出车"),
+    PENDING_VEHICLE(201, "pendingVehicle", "201", "待出车", "确认接单"),
     /**
      * 出车-拒出车
      */
@@ -32,7 +32,7 @@ public enum CarWaybillEnum {
     /**
      * 出车-已出车
      */
-    EXIT_COMPLETED(203, "exitCompleted", "203", "已出车", "出车"),
+    EXIT_COMPLETED(203, "exitCompleted", "203", "已出车", "确认出车"),
     /**
      * 装货-到达装货点
      */
@@ -40,7 +40,7 @@ public enum CarWaybillEnum {
     /**
      * 装货-已装货
      */
-    COMPLETION_LOADING(302, "completionLoading", "302", "已装货", "装货"),
+    COMPLETION_LOADING(302, "completionLoading", "302", "已装货", "确认装货"),
     /**
      * 卸货-到达卸货点
      */
@@ -48,7 +48,7 @@ public enum CarWaybillEnum {
     /**
      * 卸货-已卸货
      */
-    COMPLETION_UNLOADING(402, "completionUnloading", "402", "已卸货", "卸货"),
+    COMPLETION_UNLOADING(402, "completionUnloading", "402", "已卸货", "确认卸货"),
     /**
      * 审核-待
      */
@@ -70,8 +70,8 @@ public enum CarWaybillEnum {
     private final Integer code;
     private final String value;
     private final String status;
-    private final String alias;
     private final String destination;
+    private final String alias;
 
     public Integer getCode() {
         return code;
@@ -93,7 +93,7 @@ public enum CarWaybillEnum {
         return destination;
     }
 
-    CarWaybillEnum(Integer code, String value, String status, String alias, String destination) {
+    CarWaybillEnum(Integer code, String value, String status, String destination, String alias) {
         this.code = code;
         this.value = value;
         this.status = status;
@@ -131,7 +131,7 @@ public enum CarWaybillEnum {
     public static String getAlias(Integer code) {
         for (CarWaybillEnum waybillEnum : CarWaybillEnum.values()) {
             if (waybillEnum.getCode().equals(code)) {
-                return waybillEnum.getDestination();
+                return waybillEnum.getAlias();
             }
         }
         return null;
@@ -215,7 +215,7 @@ public enum CarWaybillEnum {
      */
     public static List<Integer> initWaybillStatusV1() {
         List<Integer> statuses = new ArrayList<>();
-        statuses.add(CarWaybillEnum.PENDING_ORDER.getCode());
+        //statuses.add(CarWaybillEnum.PENDING_ORDER.getCode());
         statuses.add(CarWaybillEnum.PENDING_VEHICLE.getCode());
         statuses.add(CarWaybillEnum.EXIT_COMPLETED.getCode());
         return statuses;

+ 15 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/KwtWaybillOrderController.java

@@ -81,7 +81,7 @@ public class KwtWaybillOrderController {
      * @author zk
      * @date 2023/8/1
      **/
-    @GetMapping("/findCountByDriver")
+    @GetMapping("/findCountByDriverV1")
     public HttpResult findCountByDriver(HttpServletRequest request){
         Long driverId = LoginUserHolder.getUserId();
         Map<String, Object> count = waybillOrderV1Service.findStatisticsCountByDriver(driverId, request);
@@ -107,12 +107,12 @@ public class KwtWaybillOrderController {
     }
 
     /**
-     * @param params {driverId 司机ID, busStatus  1待接单/2出车/3执行/4完结, month月份}
+     * @param params {driverId 司机ID, busStatus  1待接单/2出车/3执行/4完结, month月份, startTime 开始实际, endTime 结束时间}
      * @desc 查询司机任务列表-待接单/出车/执行/完结
      * @author zk
      * @date 2023/8/1
      **/
-    @PostMapping("/findWaybillOrderByDriver")
+    @PostMapping("/findWaybillOrderByDriverV1")
     public HttpResult findWaybillOrderByDriver(@RequestBody Map<String, Object> params, HttpServletRequest request){
         /*校验**/
         if (StringUtils.isBlank(params.get("busStatus"))) {
@@ -469,7 +469,7 @@ public class KwtWaybillOrderController {
 
     /**
      * @param wOrderId 运单ID
-     * @desc 修改单证查询运单
+     * @desc 运单榜单信心
      * @author zk
      * @date 2023/8/2
      **/
@@ -478,6 +478,17 @@ public class KwtWaybillOrderController {
         return waybillOrderV1Service.ticketApproval(wOrderId);
     }
 
+    /**
+     * @param wAddressId 运单地址ID
+     * @desc 运单榜单信心
+     * @author zk
+     * @date 2023/8/2
+     **/
+    @GetMapping("/ticketInfo")
+    public HttpResult ticketInfo(@RequestParam("wAddressId") Long wAddressId){
+        return waybillOrderV1Service.ticketInfo(wAddressId);
+    }
+
 
 
 

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

@@ -42,7 +42,7 @@ public interface KwtWaybillOrderV1Mapper extends BaseMapper<KwtWaybillOrderV1> {
 
     /**
      * 司机端查询运单
-     * @param params 请求参数{driverId 司机ID, busStatus 状态 1待接单/2出车/3执行/4完结, month月份}
+     * @param params {driverId 司机ID, busStatus  1待接单/2出车/3执行/4完结, month月份, startTime 开始实际, endTime 结束时间}
      * @return 返回值
      */
     List<KwtWaybillOrderV1> findWaybillOrderByDriver(Map<String, Object> params);

+ 84 - 32
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderV1Service.java

@@ -185,7 +185,7 @@ public class KwtWaybillOrderV1Service {
     }
 
     /**
-     * @param params {driverId 司机ID, busStatus  1待接单/2出车/3执行/4完结, month月份}
+     * @param params {driverId 司机ID, busStatus  1待接单/2出车/3执行/4完结, month月份, startTime 开始实际, endTime 结束时间}
      * @desc 任务查询
      * @author zk
      * @date 2024/3/12
@@ -228,10 +228,9 @@ public class KwtWaybillOrderV1Service {
                 addressJson.put("entrustAmount", address.getEntrustAmount());
                 addressJson.put("goodsName", goods != null ? goods.getGoodsName() : null);
                 addressJson.put("amount", ticket != null ? ticket.getAmount() : null);
+                addressJson.put("urls", ticket != null ? ticket.getUrls() : null);
                 addressJson.put("operateTime", ticket != null ? DateUtils.format(address.getPlanTime(), DateUtils.FORMAT11) : null);
                 addressJson.put("approvalStatus", ticket != null ? ticket.getStatus() : null);
-
-
                 addressList.add(addressJson);
             }
 
@@ -241,31 +240,6 @@ public class KwtWaybillOrderV1Service {
             order.put("addressList", addressList);
             list.add(order);
         }
-
-
-
-        /*数据配置
-        List<Long> entIds = new ArrayList<>();
-        List<String> dictKey = new ArrayList<>();
-        for (WaybillOrderDriverVo waybillOrder : waybillOrders) {
-            entIds.add(waybillOrder.getCarrierEntId());
-            dictKey.add(DictTypeEnum.UNIT_TYPE.getType() + Global.POUND + waybillOrder.getUnit());
-        }
-        //企业数据集
-        entIds = entIds.stream().distinct().collect(Collectors.toList());
-        Map<Long, EntCacheResDto> ents = remoteSystemService.queryEntCacheMapByIds(entIds);
-        //数据字典
-        Map<String, SysDictResDto> dicts = this.dict(dictKey);
-
-        //数据组装
-        for (WaybillOrderDriverVo waybillOrder : waybillOrders) {
-            EntCacheResDto ent = ents == null ? null : ents.get(waybillOrder.getCarrierEntId());
-            SysDictResDto unit = dicts == null ? null : dicts.get(DictTypeEnum.UNIT_TYPE.getType() + Global.POUND + waybillOrder.getUnit());
-            //String value = getDictValue(DictTypeEnum.UNIT_TYPE.getType(), waybillOrder.getUnit());
-            waybillOrder.setCarrierFirmName(ent != null ? ent.getFirmName() : null);
-            waybillOrder.setUnitName(unit != null ? unit.getLabel() : null);
-        }
-        */
         return list;
     }
 
@@ -1663,8 +1637,8 @@ public class KwtWaybillOrderV1Service {
                 Map<String, Object> trackData = new HashMap<>(NumberConstant.SIXTEEN);
                 trackData.put("wTicketId", ticket != null ? ticket.getId() : null);
                 trackData.put("wOrderId", ticket != null ? ticket.getWOrderId() : null);
-                trackData.put("wSubtaskId", ticket != null ? ticket.getWSubtaskId() : null);
-                trackData.put("wAddressId", ticket != null ? ticket.getWAddressId() : null);
+                trackData.put("wSubtaskId", subtask.getId());
+                trackData.put("wAddressId", address.getId());
                 trackData.put("urls", ticket != null ? FileUtils.spliceBatch(ticket.getUrls()) : null);
                 trackData.put("operateTime", ticket != null ? DateUtil.dateTimeFormatter(ticket.getOperateTime()) : null);
                 trackData.put("createTime", ticket != null ? DateUtil.dateTimeFormatter(ticket.getCreateTime()) : null);
@@ -1692,6 +1666,66 @@ public class KwtWaybillOrderV1Service {
         return HttpResult.ok(result);
     }
 
+    /**
+     * @param wAddressId 运单地址ID
+     * @desc 运单单证信息
+     * @author zk
+     * @date 2024/3/11
+     **/
+    public HttpResult ticketInfo(Long wAddressId) {
+        //运单地址信息
+        KwtWaybillOrderAddress address = waybillOrderAddressDao.selectById(wAddressId);
+        if (address == null) {
+            return HttpResult.ok("车辆运单地址信息不存在!");
+        }
+        //车辆运单信息
+        Long wOrderId = address.getWOrderId();
+        KwtWaybillOrderV1 waybillOrder = waybillOrderV1Dao.selectById(wOrderId);
+        if (waybillOrder == null) {
+            return HttpResult.ok("车辆运单信息不存在!");
+        }
+
+        //操作人
+        List<KwtWaybillOrderTicket> tickets = waybillOrderTicketDao.findWaybillOrderTicket(wOrderId, null, null);
+        List<Long> userIds = tickets.stream().map(KwtWaybillOrderTicket::getCreateBy).toList();
+        List<UserCacheResDto> users = remoteSystemService.queryUserCacheByIds(userIds);
+        Map<Long, UserCacheResDto> usersMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
+        users.forEach(e -> usersMap.put(e.getId(), e));
+
+        //子单信息
+        KwtWaybillOrderSubtask subtask = waybillOrderSubtaskDao.selectById(address.getWSubtaskId());
+        //物流订单商品信息
+        KwtLogisticsOrderGoods goods = logisticsOrderGoodsDao.findByGoods(subtask != null ? subtask.getLOrderId() : null);
+        //榜单信息
+        KwtWaybillOrderTicket ticket = waybillOrderTicketDao.findWaybillOrderTicketV2(address.getId(), subtask.getUnit());
+        //辅助单位
+        List<WaybillOrderLoadingVO> loading = waybillOrderTicketService.agreementV1(subtask, address.getAddressType());
+
+        Map<String, Object> result = new HashMap<>(Global.NUMERICAL_SIXTEEN);
+        result.put("wOrderId", wOrderId);
+        result.put("wOrderNo", waybillOrder.getWOrderNo());
+        result.put("status", waybillOrder.getStatus());
+        result.put("statusName", CarWaybillEnum.getName(waybillOrder.getStatus()));
+        result.put("truckNo", waybillOrder.getTruckNo());
+        result.put("driverName", waybillOrder.getDriverName());
+        result.put("driverPhone", waybillOrder.getDriverPhone());
+        result.put("driverIdcard", waybillOrder.getDriverIdcard());
+
+        result.put("wTicketId", ticket != null ? ticket.getId() : null);
+        result.put("wSubtaskId", subtask.getId());
+        result.put("wAddressId", address.getId());
+        result.put("urls", ticket != null ? FileUtils.spliceBatch(ticket.getUrls()) : null);
+        result.put("operateTime", ticket != null ? DateUtil.dateTimeFormatter(ticket.getOperateTime()) : null);
+        result.put("approvalStatus", ticket != null ? ticket.getStatus() : null);
+        result.put("createByName", ticket != null ? usersMap.get(ticket.getCreateBy()) == null ? waybillOrder.getDriverName() : usersMap.get(ticket.getCreateBy()).getName() : null);
+        result.put("createTime", ticket != null ? ticket.getCreateTime() : null);
+        result.put("cityName", address.getCityName());
+        result.put("detailAddress", address.getDetailAddress());
+        result.put("goodsName", goods != null ? goods.getGoodsName() : null);
+        result.put("loading", loading);
+        return HttpResult.ok(result);
+    }
+
     /**
      * @param wOrderId 运单ID
      * @desc 修改单证查询运单
@@ -1724,11 +1758,11 @@ public class KwtWaybillOrderV1Service {
             trackData.put("wSubtaskId", track != null ? track.getWSubtaskId() : null);
             trackData.put("wAddressId", track != null ? track.getWAddressId() : null);
             trackData.put("operateTime", track != null ? DateUtils.format(track.getOperateTime(), DateUtils.FORMAT11) : null);
+            trackData.put("operateStatus", track != null);
             trackData.put("createTime", track != null ? track.getCreateTime() : null);
             trackData.put("createByName", track != null ? usersMap.get(track.getCreateBy()) == null ? waybillOrder.getDriverName() : usersMap.get(track.getCreateBy()).getName() : null);
             trackData.put("status", status);
             trackData.put("statusName", CarWaybillEnum.getAlias(status));
-            trackData.put("operateStatus", track != null);
             trackList.add(trackData);
         }
 
@@ -1753,11 +1787,11 @@ public class KwtWaybillOrderV1Service {
                 trackData.put("wSubtaskId", track != null ? track.getWSubtaskId() : null);
                 trackData.put("wAddressId", track != null ? track.getWAddressId() : null);
                 trackData.put("operateTime", track != null ? DateUtils.format(track.getOperateTime(), DateUtils.FORMAT11) : null);
+                trackData.put("operateStatus", track != null);
                 trackData.put("createTime", track != null ? track.getCreateTime() : null);
                 trackData.put("createByName", track != null ? usersMap.get(track.getCreateBy()) == null ? waybillOrder.getDriverName() : usersMap.get(track.getCreateBy()).getName() : null);
                 trackData.put("status", status);
                 trackData.put("statusName", CarWaybillEnum.getName(status));
-                trackData.put("operateStatus", track != null);
                 trackData.put("planTime", track != null ? address.getPlanTime() : null);
                 trackData.put("entrustAmount", track != null ? address.getEntrustAmount() : null);
                 trackData.put("goodsName", goods != null ? goods.getGoodsName() : null);
@@ -1768,6 +1802,24 @@ public class KwtWaybillOrderV1Service {
             }
         }
 
+        //数据处理
+        /*int index = 0;
+        boolean operateStatus = true;
+        for (Map<String, Object> track:trackList) {
+            index ++;
+            if(index == trackList.size()) {
+                continue;
+            }
+            //下一个状态
+            Map<String, Object> backTrack = trackList.get(index);
+            //状态
+            int status = NumberUtils.parseInt(track.get("status"));
+            //操作状态
+            operateStatus = !waybillOrder.getStatus().equals(status) && operateStatus;
+            track.put("operateTime", backTrack.get("operateTime"));
+            track.put("operateStatus", operateStatus);
+        }*/
+
         Map<String, Object> result = new HashMap<>(Global.NUMERICAL_SIXTEEN);
         result.put("wOrderId", wOrderId);
         result.put("wOrderNo", waybillOrder.getWOrderNo());

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

@@ -171,10 +171,10 @@
             and LEFT(wo.create_time, 7) = #{month, jdbcType=TIMESTAMP}
         </if>
         <if test="startTime != null and startTime != ''">
-            and DATE(wo.create_time) <![CDATA[ >= ]]> #{startTime,jdbcType=TIMESTAMP}
+            and LEFT(wo.create_time, 10) <![CDATA[ >= ]]> #{startTime,jdbcType=TIMESTAMP}
         </if>
         <if test="endTime != null and endTime != ''">
-            and DATE(wo.create_time) <![CDATA[ <= ]]> #{endTime,jdbcType=TIMESTAMP}
+            and LEFT(wo.create_time, 10) <![CDATA[ <= ]]> #{endTime,jdbcType=TIMESTAMP}
         </if>
         <if test="busStatus != null and busStatus == 2">
             ORDER BY wos.load_time