فهرست منبع

1、企业APP接口调整;

zk 1 سال پیش
والد
کامیت
114d6d00aa

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

@@ -572,7 +572,7 @@ public class KwtWaybillOrderController {
 
 
     /**
     /**
      * @param wAddressId 运单地址ID
      * @param wAddressId 运单地址ID
-     * @desc 运单榜单信
+     * @desc 运单榜单信
      * @author zk
      * @author zk
      * @date 2023/8/2
      * @date 2023/8/2
      **/
      **/

+ 5 - 10
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/WaybillDetailVo.java

@@ -103,6 +103,11 @@ public class WaybillDetailVo {
      */
      */
     private String statusName;
     private String statusName;
 
 
+    /**
+     * 创建时间
+     */
+    private String createTime;
+
     /**
     /**
      * 创建人
      * 创建人
      */
      */
@@ -128,16 +133,6 @@ public class WaybillDetailVo {
      */
      */
     private List<Map<String, Object>> trajectory;
     private List<Map<String, Object>> trajectory;
 
 
-    /**
-     * 榜单-装货
-     */
-    private List<String> loadUrl;
-
-    /**
-     * 榜单-卸货
-     */
-    private List<String> unloadUrl;
-
     public String getTypeName() {
     public String getTypeName() {
         return type == NumberConstant.ONE ? "趟次运单" : "循环运单";
         return type == NumberConstant.ONE ? "趟次运单" : "循环运单";
     }
     }

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

@@ -117,4 +117,9 @@ public class WaybillOrderSubtaskVo {
      * 创建人
      * 创建人
      */
      */
     private Long createBy;
     private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
 }
 }

+ 158 - 28
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillManagementV1Service.java

@@ -94,6 +94,9 @@ public class KwtWaybillManagementV1Service {
     @Autowired
     @Autowired
     public KwtLogisticsOrderGoodsMapper logisticsOrderGoodsMapper;
     public KwtLogisticsOrderGoodsMapper logisticsOrderGoodsMapper;
 
 
+    @Autowired
+    public KwtLogisticsOrderUnitMapper logisticsOrderUnitMapper;
+
     @Autowired
     @Autowired
     KwtWaybillOrderTicketService kwtWaybillOrderTicketService;
     KwtWaybillOrderTicketService kwtWaybillOrderTicketService;
 
 
@@ -222,15 +225,13 @@ public class KwtWaybillManagementV1Service {
      * @author zk
      * @author zk
      * @date 2024/3/13
      * @date 2024/3/13
      **/
      **/
-    public HttpResult waybillDetail(Long wOrderId) {
+    public HttpResult waybillDetail1(Long wOrderId) {
         //运单信息
         //运单信息
         KwtWaybillOrderV1 waybillOrder = waybillOrderV1Mapper.selectById(wOrderId);
         KwtWaybillOrderV1 waybillOrder = waybillOrderV1Mapper.selectById(wOrderId);
         if (waybillOrder == null) {
         if (waybillOrder == null) {
             return HttpResult.error("运单" + wOrderId + "不存在,请确认!");
             return HttpResult.error("运单" + wOrderId + "不存在,请确认!");
         }
         }
 
 
-        //子单
-        List<KwtWaybillOrderSubtask> subtasks = waybillOrderSubtaskMapper.findByWOrderId(wOrderId);
         //运单状态记录
         //运单状态记录
         List<KwtWaybillOrderTrack> tracks = kwtWaybillOrderTrackMapper.findTrack(wOrderId, null, null, null);
         List<KwtWaybillOrderTrack> tracks = kwtWaybillOrderTrackMapper.findTrack(wOrderId, null, null, null);
         //用户信息
         //用户信息
@@ -246,15 +247,28 @@ public class KwtWaybillManagementV1Service {
         //单位
         //单位
         Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.UNIT_TYPE.getType()));
         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);
         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();
-        //地址信息
+        /*数据处理*/
+        List<Map<String, Object>> trackList = new ArrayList<>();
+        List<Integer> statusList = CarWaybillDetailEnum.initWaybillStatus();
+        //使用for-each循环来遍历Color枚举类的所有值
+        for (Integer value:statusList) {
+            List<String> asList = Arrays.asList(CarWaybillDetailEnum.getValue(value).split(Global.COMMA));
+            for (String status:asList) {
+                KwtWaybillOrderTrack track = kwtWaybillOrderTrackMapper.findWaybillOrderTrack(wOrderId, null, null, Integer.valueOf(status));
+                Map<String, Object> trackData = new HashMap<>(NumberConstant.SIXTEEN);
+                trackData.put("operateByName", usersMap.get(waybillOrder.getCreateBy()) != null ? usersMap.get(waybillOrder.getCreateBy()).getName() : waybillOrder.getDriverName());
+                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("status", status);
+                trackData.put("statusName", CarWaybillDetailEnum.getName1(Integer.valueOf(status)));
+                trackList.add(trackData);
+            }
+        }
+
+        //运单地址状态处理(到达装货点、已装货、到达卸货点、已卸货)
         List<KwtWaybillOrderAddress> addresses = kwtWaybillOrderAddressMapper.findByAddresses(wOrderId, null);
         List<KwtWaybillOrderAddress> addresses = kwtWaybillOrderAddressMapper.findByAddresses(wOrderId, null);
-        //地址数据处理
-        List<Map<String, Object>> addressList = new ArrayList<>(NumberConstant.SIXTEEN);
         for (KwtWaybillOrderAddress address:addresses) {
         for (KwtWaybillOrderAddress address:addresses) {
             //运单子单
             //运单子单
             KwtWaybillOrderSubtask subtask = waybillOrderSubtaskMapper.selectById(address.getWSubtaskId());
             KwtWaybillOrderSubtask subtask = waybillOrderSubtaskMapper.selectById(address.getWSubtaskId());
@@ -276,16 +290,22 @@ public class KwtWaybillManagementV1Service {
             addressData.put("urls", ticket != null ? FileUtils.spliceBatch(ticket.getUrls()) : null);
             addressData.put("urls", ticket != null ? FileUtils.spliceBatch(ticket.getUrls()) : null);
             addressData.put("operateStatus", ticket != null);
             addressData.put("operateStatus", ticket != null);
             addressData.put("operateTime", ticket != null ? DateUtils.format(address.getPlanTime(), DateUtils.FORMAT11) : null);
             addressData.put("operateTime", ticket != null ? DateUtils.format(address.getPlanTime(), DateUtils.FORMAT11) : null);
+            addressData.put("operateByName", usersMap.get(waybillOrder.getCreateBy()) != null ? usersMap.get(waybillOrder.getCreateBy()).getName() : waybillOrder.getDriverName());
             addressData.put("status", ticket != null ? ticket.getStatus() : null);
             addressData.put("status", ticket != null ? ticket.getStatus() : null);
             addressData.put("statusName", ticket != null ? ApproveStatusEnum.getName(ticket.getStatus()) : null);
             addressData.put("statusName", ticket != null ? ApproveStatusEnum.getName(ticket.getStatus()) : null);
-            addressList.add(addressData);
+            trackList.add(addressData);
         }
         }
 
 
-        //物流订单编号
-        for (KwtWaybillOrderSubtask subtask:subtasks) {
-            KwtLogisticsOrder logisticsOrder = kwtLogisticsOrderMapper.selectById(subtask.getLOrderId());
-            waybillDetail.setLOrderNo((StringUtils.isBlank(waybillDetail.getLOrderNo()) ? Global.EMPTY_STRING : Global.COMMA) + logisticsOrder.getLOrderNo());
-        }
+        //审核状态
+        KwtWaybillOrderTrack track = kwtWaybillOrderTrackMapper.findWaybillOrderTrackV1(wOrderId, CarWaybillDetailEnum.WAIT_APPROVAL.getValue());
+        Map<String, Object> trackData = new HashMap<>(NumberConstant.SIXTEEN);
+        trackData.put("operateByName", usersMap.get(waybillOrder.getCreateBy()) != null ? usersMap.get(waybillOrder.getCreateBy()).getName() : waybillOrder.getDriverName());
+        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("status", CarWaybillDetailEnum.WAIT_APPROVAL.getCode());
+        trackData.put("statusName", CarWaybillDetailEnum.WAIT_APPROVAL.getName());
+        trackList.add(trackData);
 
 
         //榜单信息
         //榜单信息
         List<KwtWaybillOrderTicket> tickets = kwtWaybillOrderTicketMapper.findWaybillOrderTicket(wOrderId, null, null);
         List<KwtWaybillOrderTicket> tickets = kwtWaybillOrderTicketMapper.findWaybillOrderTicket(wOrderId, null, null);
@@ -298,19 +318,129 @@ public class KwtWaybillManagementV1Service {
                 unloadUrl.add(FileUtils.spliceBatch(ticket.getUrls()));
                 unloadUrl.add(FileUtils.spliceBatch(ticket.getUrls()));
             }
             }
         }
         }
-        waybillDetail.setLoadUrl(loadUrl);
-        waybillDetail.setUnloadUrl(unloadUrl);
-
-        BeanUtils.copyProperties(waybillOrder, waybillDetail);
-        waybillDetail.setWOrderId(waybillOrder.getId());
-        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.setAddresses(addressList);
+
+        //返回信息
+        Map<String, Object> waybillDetail = BeanUtil.beanToMap(waybillOrder);
+        waybillDetail.put("loadUrl", loadUrl);
+        waybillDetail.put("unloadUrl", unloadUrl);
+        waybillDetail.put("wOrederId", waybillOrder.getId());
+        waybillDetail.put("statusName", CarWaybillEnum.getName(waybillOrder.getStatus()));
+        waybillDetail.put("createByName", usersMap.get(waybillOrder.getCreateBy()) != null ? usersMap.get(waybillOrder.getCreateBy()).getName() : null);
+        waybillDetail.put("createByPhone", usersMap.get(waybillOrder.getCreateBy()) != null ? usersMap.get(waybillOrder.getCreateBy()).getPhone() : null);
+        waybillDetail.put("firmName", ents.get(waybillOrder.getEntId()) != null ? ents.get(waybillOrder.getEntId()).getFirmName() : null);
+        waybillDetail.put("trackList", trackList);
         return HttpResult.ok(waybillDetail);
         return HttpResult.ok(waybillDetail);
     }
     }
 
 
+    public HttpResult waybillDetail(Long wOrderId) {
+        //车辆运单信息
+        KwtWaybillOrderV1 waybillOrder = waybillOrderV1Mapper.selectById(wOrderId);
+        if (waybillOrder == null) {
+            return HttpResult.ok("车辆运单信息不存在!");
+        }
+        //运单状态
+        List<KwtWaybillOrderTrack> tracks = kwtWaybillOrderTrackMapper.findTrack(wOrderId, null, null, null);
+        //操作人
+        List<Long> userIds = tracks.stream().map(KwtWaybillOrderTrack::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));
+        //单位
+        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);
+
+        /*数据处理*/
+        List<Map<String, Object>> trackList = new ArrayList<>();
+        //运单状态(待接单、待出车、出车)
+        List<Integer> statusList = CarWaybillDetailEnum.initWaybillStatus();
+        //使用for-each循环来遍历Color枚举类的所有值
+        for (Integer value:statusList) {
+            List<String> asList = Arrays.asList(CarWaybillDetailEnum.getValue(value).split(Global.COMMA));
+            for (String status:asList) {
+                KwtWaybillOrderTrack track = kwtWaybillOrderTrackMapper.findWaybillOrderTrack(wOrderId, null, null, Integer.valueOf(status));
+                Map<String, Object> trackData = new HashMap<>(NumberConstant.SIXTEEN);
+                trackData.put("operateByName", usersMap.get(waybillOrder.getCreateBy()) != null ? usersMap.get(waybillOrder.getCreateBy()).getName() : waybillOrder.getDriverName());
+                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("status", status);
+                trackData.put("statusName", CarWaybillDetailEnum.getName1(Integer.valueOf(status)));
+                trackList.add(trackData);
+            }
+        }
+
+        //运单状态处理(到达装货点、已装货、到达卸货点、已卸货)
+        List<KwtWaybillOrderAddress> addresses = kwtWaybillOrderAddressMapper.findByAddresses(wOrderId, null);
+        for (KwtWaybillOrderAddress address:addresses) {
+            if (address.getAddressType().equals(AddressTypeEnum.SHIPMENT.getCode())) {
+                statusList = new ArrayList<>(){{add(CarWaybillEnum.WAIT_LOADING.getCode()); add(CarWaybillEnum.COMPLETION_LOADING.getCode());}};
+            } else {
+                statusList = new ArrayList<>(){{add(CarWaybillEnum.WAIT_UNLOADING.getCode()); add(CarWaybillEnum.COMPLETION_UNLOADING.getCode());}};
+            }
+
+            //子单信息
+            KwtWaybillOrderSubtask subtask = waybillOrderSubtaskMapper.selectById(address.getWSubtaskId());
+            //物流订单商品信息
+            KwtLogisticsOrderGoods goods = logisticsOrderGoodsMapper.findByGoods(subtask != null ? subtask.getLOrderId() : null);
+            for (Integer status:statusList) {
+                //状态记录
+                KwtWaybillOrderTrack track = kwtWaybillOrderTrackMapper.findWaybillOrderTrack(wOrderId, subtask.getId(), address.getId(), status);
+                Map<String, Object> trackData = new HashMap<>(NumberConstant.SIXTEEN);
+                trackData.put("id", track != null ? track.getId() : null);
+                trackData.put("wOrderId", address.getWOrderId());
+                trackData.put("wSubtaskId", address.getWSubtaskId());
+                trackData.put("wAddressId", address.getId());
+                trackData.put("operateByName", track != null ? usersMap.get(track.getCreateBy()) == null ? waybillOrder.getDriverName() : usersMap.get(track.getCreateBy()).getName() : 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("status", status);
+                trackData.put("statusName", CarWaybillEnum.getName(status));
+                trackData.put("planTime", track != null ? address.getPlanTime() : null);
+                trackData.put("entrustAmount", track != null ? address.getEntrustAmount() : null);
+                trackData.put("unit", subtask.getUnit());
+                trackData.put("unitName", unitMap.get(subtask.getUnit()));
+                trackData.put("goodsName", goods != null ? goods.getGoodsName() : null);
+                trackData.put("addressName", address.getName());
+                trackData.put("addressCityName", address.getCityName());
+                trackData.put("addressDetail", address.getDetailAddress());
+                trackList.add(trackData);
+            }
+        }
+
+        //审核状态
+        KwtWaybillOrderTrack track = kwtWaybillOrderTrackMapper.findWaybillOrderTrackV1(wOrderId, CarWaybillDetailEnum.WAIT_APPROVAL.getValue());
+        Map<String, Object> trackData = new HashMap<>(NumberConstant.SIXTEEN);
+        trackData.put("operateByName", usersMap.get(waybillOrder.getCreateBy()) != null ? usersMap.get(waybillOrder.getCreateBy()).getName() : waybillOrder.getDriverName());
+        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("status", CarWaybillDetailEnum.WAIT_APPROVAL.getCode());
+        trackData.put("statusName", CarWaybillDetailEnum.WAIT_APPROVAL.getName());
+        trackList.add(trackData);
+
+        //运单子单
+        List<KwtWaybillOrderSubtask> subtasks = waybillOrderSubtaskMapper.findByWOrderId(wOrderId);
+        List<Long> lOrderIds = subtasks.stream().map(KwtWaybillOrderSubtask::getLOrderId).toList();
+        List<KwtLogisticsOrderUnit> units = logisticsOrderUnitMapper.selectCompanyBylOrderId(lOrderIds, null);
+        String checkFirmName = units.stream().filter(item -> item.getUnitType().equals(NumberConstant.TWO)).map(KwtLogisticsOrderUnit::getFirmName).collect(Collectors.joining(", "));
+        String carrierFirmName = units.stream().filter(item -> item.getUnitType().equals(NumberConstant.TWO)).map(KwtLogisticsOrderUnit::getFirmName).collect(Collectors.joining(", "));
+
+        //数据拼接
+        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("createTime", waybillOrder.getCreateTime());
+        result.put("checkFirmName", checkFirmName);
+        result.put("carrierFirmName", carrierFirmName);
+        result.put("trackList", trackList);
+        return HttpResult.ok(result);
+    }
+
 }
 }

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

@@ -745,6 +745,7 @@ public class KwtWaybillOrderV1Service {
             }
             }
 
 
             JSONObject order = JSON.parseObject(JSON.toJSONString(waybillOrder));
             JSONObject order = JSON.parseObject(JSON.toJSONString(waybillOrder));
+            order.put("createTime", DateUtils.format(waybillOrder.getCreateTime(), DateUtils.FORMAT11));
             order.put("typeName", waybillOrder.getType() == NumberConstant.ONE ? "趟次" : "循环");
             order.put("typeName", waybillOrder.getType() == NumberConstant.ONE ? "趟次" : "循环");
             order.put("statusName", CarWaybillEnum.getName(waybillOrder.getStatus()));
             order.put("statusName", CarWaybillEnum.getName(waybillOrder.getStatus()));
             order.put("carrierFirmName", ents.get(waybillOrder.getEntId()) != null ? ents.get(waybillOrder.getEntId()).getFirmName() : null);
             order.put("carrierFirmName", ents.get(waybillOrder.getEntId()) != null ? ents.get(waybillOrder.getEntId()).getFirmName() : null);
@@ -1649,10 +1650,9 @@ public class KwtWaybillOrderV1Service {
         //运单地址信息
         //运单地址信息
         List<KwtWaybillOrderAddress> addresses = waybillOrderAddressDao.findBySubtaskId(params.getWSubtaskId(), null);
         List<KwtWaybillOrderAddress> addresses = waybillOrderAddressDao.findBySubtaskId(params.getWSubtaskId(), null);
         //运单地址榜单信息
         //运单地址榜单信息
-        List<KwtWaybillOrderTicket> tickets = waybillOrderTicketDao.findWaybillOrderTicket(wOrderId, params.getWSubtaskId(), null);
+        List<KwtWaybillOrderTicket> tickets = waybillOrderTicketDao.findWaybillOrderTicketV1(wOrderId, params.getWSubtaskId(), null, orderSubtask.getUnit());;
         //运单子单是否已经运输完成
         //运单子单是否已经运输完成
-        boolean bool = addresses.size() == tickets.size();
-        if (!bool) {
+        if (addresses.size() != tickets.size()) {
             return HttpResult.ok();
             return HttpResult.ok();
         }
         }
 
 
@@ -1661,14 +1661,12 @@ public class KwtWaybillOrderV1Service {
         waybillOrderSubtaskDao.updateById(orderSubtask);
         waybillOrderSubtaskDao.updateById(orderSubtask);
 
 
         /*6、校验运单是否全部运输完毕*/
         /*6、校验运单是否全部运输完毕*/
-        //运单地址信息
-        addresses = waybillOrderAddressDao.findByAddresses(params.getWOrderId(), null);
-        //运单地址榜单信息
-        tickets = waybillOrderTicketDao.findWaybillOrderTicketV1(wOrderId, null, null, orderSubtask.getUnit());
-        //运单是否已经运输完成
-        bool = addresses.size() == tickets.size();
-        if (!bool) {
-            return HttpResult.ok();
+        //校验子单是否全部为待审批
+        List<KwtWaybillOrderSubtask> subtasks = waybillOrderSubtaskDao.findByWOrderId(wOrderId);
+        for (KwtWaybillOrderSubtask subtask:subtasks) {
+            if (!subtask.getStatus().equals(CarWaybillEnum.APPROVAL_TREAT.getCode())) {
+                return HttpResult.ok();
+            }
         }
         }
 
 
         /*6.1、更新运单状态*/
         /*6.1、更新运单状态*/

+ 17 - 0
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderUnitMapper.xml

@@ -33,4 +33,21 @@
         and unit_type = #{unitType, jdbcType=INTEGER}
         and unit_type = #{unitType, jdbcType=INTEGER}
     </select>
     </select>
 
 
+    <select id="selectCompanyBylOrderId" resultType="com.sckw.transport.model.KwtLogisticsOrderUnit" >
+        select
+        id, l_order_id lOrderId, unit_type unitType, ent_id entId, firm_name firmName, contacts, phone
+        remark, status, create_by createBy, create_time createTime, update_by updateBy, update_time updateTime
+        from kwt_logistics_order_unit
+        where del_flag = 0
+        <if test="unitType != null and unitType != ''">
+            and unit_type = #{unitType, jdbcType=INTEGER}
+        </if>
+        <if test="ids != null and ids.size() > 0">
+            AND l_order_id IN
+            <foreach collection="ids" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+    </select>
+
 </mapper>
 </mapper>