Răsfoiți Sursa

1.承运订单/托运订单根据原型新增订单来源
2.托运订单-车辆信息根据产品调整车辆信息数据展示

lengfaqiang 2 ani în urmă
părinte
comite
e68e6f2687

+ 1 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/DictTypeEnum.java

@@ -47,6 +47,7 @@ public enum DictTypeEnum {
     TRANSPORT_DEMAND_STATUS("transport_demand_status", "运需状态"),
     PREPAID_LIMIT("prepaid_limit", "预付限额"),
     WANT_BUY_STATUS("want_buy_status", "求购状态"),
+    ORDER_SOURCE("order_source", "订单来源"),
     ;
 
     private final String type;

+ 12 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtWaybillOrderMapper.java

@@ -182,4 +182,16 @@ public interface KwtWaybillOrderMapper extends BaseMapper<KwtWaybillOrder> {
      * @date 2023/9/6
      **/
     List<KwtWaybillOrder> findWaybillOrder(Map<String, Object> params);
+
+
+    /**
+     * 托运订单-承运订单-通过单据号根据车牌号分组获取车辆信息统计信息
+     * @param ids
+     * @param statusList
+     * @param page
+     * @param pageSize
+     * @return
+     */
+    List<OrderCarDTO> selectInvalidWaybillOrderCarListGroupByTruckNo(@Param("ids") List<String> ids, @Param("statusList") List<Integer> statusList , @Param("page") int page, @Param("pageSize") int pageSize);
+
 }

+ 17 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/AcceptCarriageOrderVO.java

@@ -290,4 +290,21 @@ public class AcceptCarriageOrderVO /*extends PageRequest*/ {
      * 订单主体企业id
      */
     private  Long entId;
+
+    /**
+     * 订单来源
+     */
+    private String type;
+
+
+    /**
+     * 订单来源
+     */
+    private String orderSource;
+
+    /**
+     * 订单来源翻译
+     */
+    private String orderSourceLabel;
+
 }

+ 18 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/execlVo/AcceptCarriageOrderExcelVo.java

@@ -237,6 +237,24 @@ public class AcceptCarriageOrderExcelVo {
     @ExcelProperty(value = "卸货量")
     private String unloadAmount;
 
+
+    /**
+     * 订单来源
+     */
+    private String type;
+
+    /**
+     * 订单来源
+     */
+    private String orderSource;
+
+    /**
+     * 订单来源翻译
+     */
+    @ExcelProperty(value = "订单来源")
+    private String orderSourceLabel;
+
+
 //    /**
 //     * 结算周期
 //     */

+ 16 - 7
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/AcceptCarriageOrderService.java

@@ -991,7 +991,7 @@ public class AcceptCarriageOrderService {
         Map<String, String> settlementDictData = getDictData(DictTypeEnum.SETTLEMENT_CYCLE.getType());
         List<SubcontractConsignmentVO> allList = new ArrayList<>();
         List<SubcontractConsignmentVO> voList = logisticsOrderMapper.getSubcontractConsignmentList(ids);
-        if (CollectionUtils.isEmpty(voList)){
+        if (CollectionUtils.isEmpty(voList)) {
             PageRes<SubcontractConsignmentVO> objectPageRes = new PageRes<>();
             objectPageRes.setPage(page);
             objectPageRes.setPageSize(pageSize);
@@ -1036,7 +1036,7 @@ public class AcceptCarriageOrderService {
             }
             allList.addAll(voList);
         }
-        return PageRes.build(pageInfo,allList);
+        return PageRes.build(pageInfo, allList);
 //        for (String lOrderId : stringList) {
 //            List<SubcontractConsignmentVO> list = logisticsOrderMapper.getSubcontractConsignmentNotPage(lOrderId);
 //            //联查数据
@@ -1545,7 +1545,7 @@ public class AcceptCarriageOrderService {
                     .in(KwtLogisticsOrder::getStatus, orderStatusList));
             if (org.springframework.util.CollectionUtils.isEmpty(logisticsOrders)) {
                 tradeOrder.setIsAllComplete(true);
-            }else {
+            } else {
                 tradeOrder.setIsAllComplete(false);
             }
             tradeOrder.setTOrderId(logisticsOrder.getTOrderId());
@@ -2037,7 +2037,7 @@ public class AcceptCarriageOrderService {
                 , messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl(), messageUrlConfig.getPc().getCarriageLogisticsAddOrderUrl()
                 , messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl(), messageUrlConfig.getApp().getCarriageLogisticsAddOrderUrl()
                 , MessageEnum.NEW_LOGISTICS_ORDER, MessageEnum.NEW_CARRIAGE_ORDER
-                ,"1"
+                , "1"
         );
 
         System.out.println("承运订单新建订单-消息列表推送 end ");
@@ -2462,6 +2462,8 @@ public class AcceptCarriageOrderService {
         Map<String, String> signingWay = getDictData(DictTypeEnum.SIGNING_TYPE.getType());
         /**合理损耗*/
 //        Map<String, String> taxRateTypeDictData = getDictData(DictTypeEnum.TAX_RATE_TYPE.getType());
+        /**订单来源*/
+        Map<String, String> orderSource = getDictData(DictTypeEnum.ORDER_SOURCE.getType());
         Map<Long, UserCacheResDto> longUserMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
         if (CollectionUtils.isNotEmpty(list)) {
             List<Long> collect = list.stream().map(AcceptCarriageOrderVO::getCreateBy).collect(Collectors.toList());
@@ -2474,6 +2476,7 @@ public class AcceptCarriageOrderService {
             vo.setAppointor(longUserMap.get(vo.getCreateBy()) == null ? null : longUserMap.get(vo.getCreateBy()).getName());
             vo.setBillingModeLabel(chargingDictData.get(vo.getBillingMode()));
             vo.setSigningLabel(signingWay.get(vo.getSigning()));
+            vo.setOrderSourceLabel(orderSource == null ? null : orderSource.get(vo.getOrderSource()));
             vo.setStatusLabel(LogisticsOrderEnum.getName(vo.getStatus()));
             vo.setLoadAddress(vo.getLoadCityName() + vo.getLoadAddress());
             vo.setUnloadAddress(vo.getUnloadCityName() + vo.getUnloadAddress());
@@ -2698,6 +2701,8 @@ public class AcceptCarriageOrderService {
         Map<String, String> taxRate = getDictData(DictTypeEnum.TAX_RATE_TYPE.getType());
         /**运价方式*/
         Map<String, String> priceType = getDictData(DictTypeEnum.PRICE_TYPE.getType());
+        /**订单来源*/
+        Map<String, String> orderSource = getDictData(DictTypeEnum.ORDER_SOURCE.getType());
         Map<Long, UserCacheResDto> longUserMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
         if (CollectionUtils.isNotEmpty(list)) {
             List<Long> collect = list.stream().map(AcceptCarriageOrderVO::getCreateBy).collect(Collectors.toList());
@@ -2719,6 +2724,7 @@ public class AcceptCarriageOrderService {
             carriageOrderExcelVo.setStatusLabel(LogisticsOrderEnum.getName(vo.getStatus()));
             carriageOrderExcelVo.setLoadAddress(vo.getLoadCityName() + vo.getLoadAddress());
             carriageOrderExcelVo.setUnloadAddress(vo.getUnloadCityName() + vo.getUnloadAddress());
+            carriageOrderExcelVo.setOrderSourceLabel(orderSource == null ? null : orderSource.get(vo.getOrderSource()));
 //            if (vo.getTOrderId() != null) {
 //                try {
 //                    OrderDetailRes orderDetailRes = tradeOrderInfoService.getOrderDetailById(Long.valueOf(vo.getTOrderId()));
@@ -2907,7 +2913,8 @@ public class AcceptCarriageOrderService {
         }
         StatisticsTotalPriceVO priceVO = new StatisticsTotalPriceVO();
         priceVO.setTotalPrice(currentWeek.getTotalPrice());
-        priceVO.setChainRatio(chainRatio.abs() + "%");
+//        priceVO.setChainRatio(chainRatio.abs() + "%");
+        priceVO.setChainRatio(chainRatio.abs().toString());
         priceVO.setFlag(flag);
         priceVO.setLastTotalPrice(lastWeek.getTotalPrice());
         resultVO.setTotalPriceVO(priceVO);
@@ -2935,7 +2942,8 @@ public class AcceptCarriageOrderService {
         /**承运量*/
         StatisticsAmountVO amountVO = new StatisticsAmountVO();
         amountVO.setAmount(currentWeek.getAmount());
-        amountVO.setChainRatio(amountChainRatio.abs() + "%");
+//        amountVO.setChainRatio(amountChainRatio.abs() + "%");
+        amountVO.setChainRatio(amountChainRatio.abs().toString());
         amountVO.setFlag(amountFlag);
         amountVO.setLastAmount(lastWeek.getAmount());
         resultVO.setAmountVO(amountVO);
@@ -2962,7 +2970,8 @@ public class AcceptCarriageOrderService {
         /**待分配量*/
         StatisticsWaitingAmountVO waitingAmountVO = new StatisticsWaitingAmountVO();
         waitingAmountVO.setWaitingAmount(currentWeek.getWaitingAmount());
-        waitingAmountVO.setChainRatio(chainRatio.abs() + "%");
+//        waitingAmountVO.setChainRatio(chainRatio.abs() + "%");
+        waitingAmountVO.setChainRatio(chainRatio.abs().toString());
         waitingAmountVO.setFlag(flag);
         waitingAmountVO.setLastWaitingAmount(lastWeek.getWaitingAmount());
         resultVO.setWaitingAmountVO(waitingAmountVO);

+ 14 - 6
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ConsignOrderService.java

@@ -802,14 +802,19 @@ public class ConsignOrderService {
 ////            log.error("托运订单获取车辆信息 error id:{},请求参数:{}", orderDto.getId(), JSONObject.toJSONString(orderDto));
 //            HttpResult.error("物流订单不存在");
 //        }
+        /**
+         * 除了已作废的运单对应的车辆不查出(已作废:拒绝接单、拒绝出车、单趟撤回),其他状态的运单对应的车辆带出去重
+         * */
         List<String> stringList = StringUtils.splitStrToList(orderDto.getIds(), String.class);
         if (CollectionUtils.isEmpty(stringList)) {
             return HttpResult.ok();
         }
         List<Integer> statusList = new ArrayList<>();
-        statusList.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode());
-        statusList.add(CarWaybillEnum.APPROVAL_PASS.getCode());
-        List<OrderCarDTO> list = kwtWaybillOrderMapper.selectWaybillOrderCarListGroupByTruckNo(stringList, statusList, orderDto.getPage() - 1, orderDto.getPageSize());
+        statusList.add(CarWaybillEnum.REFUSE_TRAFFIC.getCode());
+        statusList.add(CarWaybillEnum.REJECT_ORDER.getCode());
+        statusList.add(CarWaybillEnum.REVOKED.getCode());
+//        List<OrderCarDTO> list = kwtWaybillOrderMapper.selectWaybillOrderCarListGroupByTruckNo(stringList, statusList, orderDto.getPage() - 1, orderDto.getPageSize());
+        List<OrderCarDTO> list = kwtWaybillOrderMapper.selectInvalidWaybillOrderCarListGroupByTruckNo(stringList, statusList, orderDto.getPage() - 1, orderDto.getPageSize());
         if (CollectionUtils.isNotEmpty(list)) {
             List<String> stringLists = list.stream().map(OrderCarDTO::getTruckNo).distinct().collect(Collectors.toList());
             Map<String, RTruckVo> truck = remoteFleetService.findTruck(stringLists);
@@ -2206,7 +2211,8 @@ public class ConsignOrderService {
         }
         StatisticsTotalPriceVO priceVO = new StatisticsTotalPriceVO();
         priceVO.setTotalPrice(currentWeek.getTotalPrice());
-        priceVO.setChainRatio(chainRatio.abs() + "%");
+//        priceVO.setChainRatio(chainRatio.abs() + "%");
+        priceVO.setChainRatio(chainRatio.abs().toString());
         priceVO.setFlag(flag);
         priceVO.setLastTotalPrice(lastWeek.getTotalPrice());
         resultVO.setTotalPriceVO(priceVO);
@@ -2234,7 +2240,8 @@ public class ConsignOrderService {
         /**承运量*/
         StatisticsAmountVO amountVO = new StatisticsAmountVO();
         amountVO.setAmount(currentWeek.getAmount());
-        amountVO.setChainRatio(amountChainRatio.abs() + "%");
+//        amountVO.setChainRatio(amountChainRatio.abs() + "%");
+        amountVO.setChainRatio(amountChainRatio.abs().toString());
         amountVO.setFlag(amountFlag);
         amountVO.setLastAmount(lastWeek.getAmount());
         resultVO.setAmountVO(amountVO);
@@ -2261,7 +2268,8 @@ public class ConsignOrderService {
         /**待分配量*/
         StatisticsWaitingAmountVO waitingAmountVO = new StatisticsWaitingAmountVO();
         waitingAmountVO.setWaitingAmount(currentWeek.getWaitingAmount());
-        waitingAmountVO.setChainRatio(chainRatio.abs() + "%");
+//        waitingAmountVO.setChainRatio(chainRatio.abs() + "%");
+        waitingAmountVO.setChainRatio(chainRatio.abs().toString());
         waitingAmountVO.setFlag(flag);
         waitingAmountVO.setLastWaitingAmount(lastWeek.getWaitingAmount());
         resultVO.setWaitingAmountVO(waitingAmountVO);

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

@@ -1039,7 +1039,7 @@
         a.settlement_cycle AS settlementCycle,
         a.price AS price,
         a.price_type AS priceType,
-        a.type AS type,
+        a.type AS orderSource,
         a.unit AS unit,
         a.subcontract_amount AS subcontractAmount,
         a.entrust_amount AS entrustAmount,
@@ -1193,7 +1193,7 @@
         settlementCycle,
         price,
         priceType,
-        type,
+        orderSource,
         unit,
         subcontractAmount,
         entrustAmount,

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

@@ -671,4 +671,36 @@
             and kwo.status in (7, 8, 9, 10, 12, 13)
         </if>
     </select>
+
+    <select id="selectInvalidWaybillOrderCarListGroupByTruckNo" resultType="com.sckw.transport.model.dto.OrderCarDTO">
+        SELECT
+        a.truck_no AS truckNo,
+        COUNT( a.truck_no ) AS count,
+        a.driver_id AS driverId,
+        a.driver_name AS driverName,
+        a.driver_phone AS driverPhone,
+        a.driver_idcard AS driverCard
+        FROM
+        `kwt_waybill_order` a
+        LEFT JOIN kwt_logistics_order b ON a.l_order_id = b.id
+        AND B.del_flag = 0
+        AND b.del_flag = 0
+        <where>
+            <if test="ids != null and ids.size() > 0">
+                and a.l_order_id in
+                <foreach collection="ids" item="item" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="statusList != null and statusList.size() > 0">
+                and a.status not in
+                <foreach collection="statusList" item="item" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
+        GROUP BY
+        a.truck_no
+        limit #{page},#{pageSize}
+    </select>
 </mapper>