Răsfoiți Sursa

1、4.2接口调整;

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

+ 10 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtWaybillOrderTicketMapper.java

@@ -51,6 +51,16 @@ public interface KwtWaybillOrderTicketMapper extends BaseMapper<KwtWaybillOrderT
      **/
     KwtWaybillOrderTicket findWaybillOrderTicketV2(@Param("wAddressId") Long wAddressId, @Param("unit") String unit);
 
+    /**
+     * 查询车辆运单榜单信息
+     * @param wAddressId 车辆订单地址id
+     * @desc 查询车辆运单榜单信息
+     * @author zk
+     * @date 2023/7/27
+     * @return 榜单信息
+     **/
+    List<KwtWaybillOrderTicket> findWaybillOrderTicketV3(@Param("wAddressId") Long wAddressId, @Param("unit") String unit);
+
     /**
      * 修改榜单删除标识
      * @param wOrderId 运单ID

+ 19 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/WaybillDetailVo.java

@@ -1,6 +1,7 @@
 package com.sckw.transport.model.vo;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.sckw.core.model.constant.NumberConstant;
 import lombok.Data;
 
 import java.util.List;
@@ -47,6 +48,11 @@ public class WaybillDetailVo {
      */
     private int type;
 
+    /**
+     * 运单类型
+     */
+    private String typeName;
+
     /**
      * 车辆ID
      */
@@ -57,6 +63,16 @@ public class WaybillDetailVo {
      */
     private String truckNo;
 
+    /**
+     * 车辆类型
+     */
+    private String truckType;
+
+    /**
+     * 挂车牌号
+     */
+    private String trailerNo;
+
     /**
      * 司机ID
      */
@@ -112,4 +128,7 @@ public class WaybillDetailVo {
      */
     private List<Map<String, Object>> trajectory;
 
+    public String getTypeName() {
+        return type == NumberConstant.ONE ? "趟次运单" : "循环运单";
+    }
 }

+ 5 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/WaybillOrderSelectVo.java

@@ -8,6 +8,7 @@ import lombok.experimental.Accessors;
 import java.io.Serial;
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @author zk
@@ -108,22 +109,22 @@ public class WaybillOrderSelectVo implements Serializable {
     /**
      * 装货地点名称
      */
-    private String loadName;
+    private List<String> loadName;
 
     /**
      * 装货地点
      */
-    private String loadAddress;
+    private List<String> loadAddress;
 
     /**
      * 卸货地点点名称
      */
-    private String unloadName;
+    private List<String> unloadName;
 
     /**
      * 卸货地点
      */
-    private String unloadAddress;
+    private List<String> unloadAddress;
 
     /**
      * 实装量/吨

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtConsignOrderService.java

@@ -1277,7 +1277,7 @@ public class KwtConsignOrderService {
             put("upperlOrderId", orderId);
             put("passStatus", Global.NUMERICAL_ONE);
         }};
-        WaybillCountVo waybillOrderCount = kwtWaybillOrderMapper.findWaybillOrderCount(map);
+        //WaybillCountVo waybillOrderCount = kwtWaybillOrderMapper.findWaybillOrderCount(map);
         OrderFinishVO orderFinishVO = new OrderFinishVO();
         List<OrderGoodsLoadingVo> assistUnit = new ArrayList<>();
         //单位

+ 3 - 3
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderTicketService.java

@@ -338,16 +338,16 @@ public class KwtWaybillOrderTicketService {
     /**
      * 单证信息
      * @param subtask 运单-子单
-     * @param type 单证类型
+     * @param wAddressId 运单地址ID
      * @return 运载信息
      */
-    public List<WaybillOrderLoadingVO> agreementV1(KwtWaybillOrderSubtask subtask, int type) {
+    public List<WaybillOrderLoadingVO> agreementV1(KwtWaybillOrderSubtask subtask, Long wAddressId) {
         //运载信息
         List<WaybillOrderLoadingVO> loadLoading = new ArrayList<>();
         //单位数据字典
         Map<String, SysDictResDto> unitType = remoteSystemService.queryDictMapByType(DictTypeEnum.UNIT_TYPE.getType());
         //装载信息
-        List<KwtWaybillOrderTicket> loading = ticketMapper.findWaybillOrderTicket(subtask.getWOrderId(), subtask.getId(), type);
+        List<KwtWaybillOrderTicket> loading = ticketMapper.findWaybillOrderTicketV3(wAddressId, null);
         if (CollectionUtils.isNotEmpty(loading)) {
             loading.forEach(e -> {
                 SysDictResDto sysDict = unitType != null ? unitType.get(e.getUnit()) : null;

+ 20 - 11
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderV1Service.java

@@ -222,9 +222,14 @@ public class KwtWaybillOrderV1Service {
         List<UserCacheResDto> users = remoteSystemService.queryUserCacheByIds(userIdList);
         Map<Long, UserCacheResDto> usersMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
         users.forEach(e -> usersMap.put(e.getId(), e));
+        //企业ID
+        List<Long> entIds = new ArrayList<>(){{add(waybillOrder.getEntId());}};
+        Map<Long, EntCacheResDto> ents = remoteSystemService.queryEntCacheMapByIds(entIds);
         //单位
         Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.UNIT_TYPE.getType()));
         Map<String, String> unitMap = CollectionUtils.isNotEmpty(dict) ? dict.get(DictTypeEnum.UNIT_TYPE.getType()) : new HashMap<>(NumberConstant.SIXTEEN);
+        //车辆信息
+        RTruckVo truck = remoteFleetService.findTruck(waybillOrder.getTruckId());
 
         //返回信息
         WaybillDetailVo waybillDetail = new WaybillDetailVo();
@@ -250,7 +255,8 @@ public class KwtWaybillOrderV1Service {
             addressData.put("unit", subtask.getUnit());
             addressData.put("unitName", unitMap.get(subtask.getUnit()));
             addressData.put("amount", ticket != null ? ticket.getAmount() : null);
-            addressData.put("urls", ticket != null ? ticket.getUrls() : null);
+            addressData.put("urls", ticket != null ? FileUtils.spliceBatch(ticket.getUrls()) : null);
+            addressData.put("operateStatus", ticket != null);
             addressData.put("operateTime", ticket != null ? DateUtils.format(address.getPlanTime(), DateUtils.FORMAT11) : null);
             addressList.add(addressData);
         }
@@ -260,7 +266,7 @@ public class KwtWaybillOrderV1Service {
         for (KwtWaybillOrderTrack track:tracks) {
             Map<String, Object> trackData = new HashMap<>(NumberConstant.SIXTEEN);
             trackData.put("status", track.getStatus());
-            trackData.put("statusName", CarWaybillEnum.getAlias(waybillOrder.getStatus()));
+            trackData.put("statusName", CarWaybillEnum.getAlias(track.getStatus()));
             trackData.put("remark", track.getRemark());
             trackData.put("operateTime", track.getOperateTime());
             trackData.put("createTime", track.getCreateTime());
@@ -283,6 +289,9 @@ public class KwtWaybillOrderV1Service {
         waybillDetail.setStatusName(CarWaybillEnum.getName(waybillOrder.getStatus()));
         waybillDetail.setCreateByName(usersMap.get(waybillOrder.getCreateBy()) != null ? usersMap.get(waybillOrder.getCreateBy()).getName() : null);
         waybillDetail.setCreateByPhone(usersMap.get(waybillOrder.getCreateBy()) != null ? usersMap.get(waybillOrder.getCreateBy()).getPhone() : null);
+        waybillDetail.setTrailerNo(truck != null ? truck.getTrailerNo() : null);
+        waybillDetail.setTruckType(truck != null ? truck.getTruckType() : null);
+        waybillDetail.setFirmName(ents.get(waybillOrder.getEntId()) != null ? ents.get(waybillOrder.getEntId()).getFirmName() : null);
         waybillDetail.setTracks(trackList);
         waybillDetail.setAddresses(addressList);
         waybillDetail.setTrajectory(trajectory);
@@ -451,13 +460,13 @@ public class KwtWaybillOrderV1Service {
         //卸货时间
         Optional<KwtWaybillOrderSubtask> loadDate = subtasks.stream().min(Comparator.comparing(KwtWaybillOrderSubtask::getLoadTime));
         //装货地点名称
-        String loadName = loadAddresses.stream().map(KwtWaybillOrderAddress::getCityName).collect(Collectors.joining(", "));
+        List<String> loadName = loadAddresses.stream().map(KwtWaybillOrderAddress::getCityName).toList();
         //装货地点
-        String loadAddress = loadAddresses.stream().map(KwtWaybillOrderAddress::getDetailAddress).collect(Collectors.joining(", "));
+        List<String> loadAddress = loadAddresses.stream().map(KwtWaybillOrderAddress::getDetailAddress).toList();
         //卸货地点点名称
-        String unloadName = unloadAddresses.stream().map(KwtWaybillOrderAddress::getCityName).collect(Collectors.joining(", "));
+        List<String> unloadName = unloadAddresses.stream().map(KwtWaybillOrderAddress::getCityName).toList();
         //卸货地点
-        String unloadAddress = unloadAddresses.stream().map(KwtWaybillOrderAddress::getDetailAddress).collect(Collectors.joining(", "));
+        List<String> unloadAddress = unloadAddresses.stream().map(KwtWaybillOrderAddress::getDetailAddress).toList();
 
         //数据处理
         for (KwtWaybillOrderSubtask subtask:subtasks) {
@@ -597,7 +606,7 @@ public class KwtWaybillOrderV1Service {
         }
 
         //审核状态
-        KwtWaybillOrderTrack track = waybillOrderTrackDao.findWaybillOrderTrackV1(wOrderId, CarWaybillDetailEnum.IN_TRANSIT.getValue());
+        KwtWaybillOrderTrack track = waybillOrderTrackDao.findWaybillOrderTrackV1(wOrderId, CarWaybillDetailEnum.WAIT_APPROVAL.getValue());
         Map<String, Object> trackData = new HashMap<>(NumberConstant.SIXTEEN);
         trackData.put("operateTime", track != null ? DateUtils.format(track.getOperateTime(), DateUtils.FORMAT11) : null);
         trackData.put("operateStatus", track != null);
@@ -2094,7 +2103,7 @@ public class KwtWaybillOrderV1Service {
                 //榜单信息
                 KwtWaybillOrderTicket ticket = waybillOrderTicketDao.findWaybillOrderTicketV2(address.getId(), subtask.getUnit());
                 //辅助单位
-                List<WaybillOrderLoadingVO> loading = waybillOrderTicketService.agreementV1(subtask, type);
+                List<WaybillOrderLoadingVO> loading = waybillOrderTicketService.agreementV1(subtask, address.getId());
 
                 Map<String, Object> trackData = new HashMap<>(NumberConstant.SIXTEEN);
                 trackData.put("wTicketId", ticket != null ? ticket.getId() : null);
@@ -2169,7 +2178,7 @@ public class KwtWaybillOrderV1Service {
         //榜单信息
         KwtWaybillOrderTicket ticket = waybillOrderTicketDao.findWaybillOrderTicketV2(address.getId(), subtask.getUnit());
         //辅助单位
-        List<WaybillOrderLoadingVO> loading = waybillOrderTicketService.agreementV1(subtask, address.getAddressType());
+        List<WaybillOrderLoadingVO> loading = waybillOrderTicketService.agreementV1(subtask, address.getId());
         //辅助单位
         List<GoodsUnitVo> assistUnit = kwtLogisticsOrderGoodsService.assistUnit(subtask.getLOrderId());
 
@@ -2262,9 +2271,9 @@ public class KwtWaybillOrderV1Service {
             KwtLogisticsOrderGoods goods = logisticsOrderGoodsDao.findByGoods(subtask != null ? subtask.getLOrderId() : null);
             for (Integer status:statusList) {
                 //状态记录
-                KwtWaybillOrderTrack track = waybillOrderTrackDao.findWaybillOrderTrack(wOrderId, null, null, status);
+                KwtWaybillOrderTrack track = waybillOrderTrackDao.findWaybillOrderTrack(wOrderId, subtask.getId(), address.getId(), status);
                 //辅助单位
-                List<WaybillOrderLoadingVO> loading = waybillOrderTicketService.agreementV1(subtask, address.getAddressType());
+                List<WaybillOrderLoadingVO> loading = waybillOrderTicketService.agreementV1(subtask, track.getWAddressId());
                 //辅助单位
                 List<GoodsUnitVo> assistUnit = kwtLogisticsOrderGoodsService.assistUnit(subtask.getLOrderId());
                 Map<String, Object> trackData = new HashMap<>(NumberConstant.SIXTEEN);

+ 15 - 0
sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderTicketMapper.xml

@@ -79,6 +79,21 @@
         order by update_time limit 1
     </select>
 
+    <select id="findWaybillOrderTicketV3" resultType="com.sckw.transport.model.KwtWaybillOrderTicket" >
+        select
+        id, w_order_id wOrderId, w_subtask_id wSubtaskId, w_address_id wAddressId, `type`, unit, amount,
+        gross_amount grossAmount, tare_amount tareAmount, urls, operate_time, remark, `status`, create_by createBy,
+        create_time createTime, update_by updateBy, update_time updateTime
+        from kwt_waybill_order_ticket
+        where del_flag = 0
+        <if test="wAddressId != null and wAddressId != ''">
+            and w_address_id = #{wAddressId, jdbcType=BIGINT}
+        </if>
+        <if test="unit != null and unit != ''">
+            and unit = #{unit, jdbcType=VARCHAR}
+        </if>
+    </select>
+
     <update id="deleteTicket">
         UPDATE kwt_waybill_order_ticket set del_flag = 1
         WHERE del_flag = 0