Преглед на файлове

1、车辆运单接口调整;

zk преди 2 години
родител
ревизия
2e5980593a
променени са 18 файла, в които са добавени 365 реда и са изтрити 326 реда
  1. 26 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/CollectionUtils.java
  2. 30 30
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/controller/KwfDriverController.java
  3. 36 35
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/controller/KwfTruckController.java
  4. 2 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/KwfDriverCard.java
  5. 2 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/KwfDriverLicense.java
  6. 2 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/KwfDriverQualification.java
  7. 2 2
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/KwfTransportLicense.java
  8. 3 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/KwfTruckLicense.java
  9. 7 2
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfDriverVo.java
  10. 5 2
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfTruckVo.java
  11. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtWaybillOrderTicket.java
  12. 4 23
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtWaybillOrderTrack.java
  13. 13 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/OperateSendCarDto.java
  14. 13 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/OperateWaybillDto.java
  15. 2 2
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/WaybillOrderTicketDto.java
  16. 213 225
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderService.java
  17. 1 1
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderMapper.xml
  18. 3 3
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderTicketMapper.xml

+ 26 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/CollectionUtils.java

@@ -2,6 +2,8 @@ package com.sckw.core.utils;
 
 import cn.hutool.core.collection.CollectionUtil;
 import com.alibaba.fastjson.JSONObject;
+import com.sckw.core.model.constant.Global;
+
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;
 import java.util.*;
@@ -358,6 +360,10 @@ public class CollectionUtils extends CollectionUtil {
 	  System.out.println("retList==1==:" + outList);
 	  outList = change2(inList, "name", outList);
 	  System.out.println("retList==2==:" + JSONObject.toJSONString(outList));
+
+	  List list = toList("165159551228710912,165181777487335424,165181777487335425,165181777487335426", false);
+	  System.out.println(list);
+
     }
 
     /**
@@ -417,4 +423,24 @@ public class CollectionUtils extends CollectionUtil {
 		}
 		return object;
 	}
+
+	/**
+	 * @param str 数组转换值
+	 * @param bool true 原顺序、false 倒序
+	 * @desc 字符串转换集合
+	 * @author zk
+	 * @date 2023/8/7
+	 **/
+	public static List toList(String str, boolean bool) {
+		if (StringUtils.isNotBlank(str)) {
+			List idArray = Arrays.asList(str.split(Global.COMMA));
+			if (!bool) {
+				Collections.reverse(idArray);
+			}
+			return idArray;
+		} else {
+			return new ArrayList();
+		}
+	}
+
 }

+ 30 - 30
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/controller/KwfDriverController.java

@@ -48,26 +48,26 @@ public class KwfDriverController {
     public HttpResult selectByKey(Long id) throws SystemException {
         //司机信息
         KwfDriver driver = driverService.selectByKey(id);
+        JSONObject driverJson = JSONObject.parseObject(JSON.toJSONString(driver));
 
-        //身份证信息
-        KwfDriverCard cardJson = driverService.findCarByKey(driver.getId());
-
-        //司机驾驶证信息
-        KwfDriverLicense licenseJson = driverService.findLicenseByKey(driver.getId());
+        //数据查询
+        if (driver != null) {
+            //身份证信息
+            KwfDriverCard cardJson = driverService.findCarByKey(driver.getId());
+            driverJson.put("driverCard", cardJson);
 
-        //司机从业资格证
-        KwfDriverQualification qualificationJson = driverService.findQualificationByKey(driver.getId());
+            //司机驾驶证信息
+            KwfDriverLicense licenseJson = driverService.findLicenseByKey(driver.getId());
+            driverJson.put("driverLicense", licenseJson);
 
+            //司机从业资格证
+            KwfDriverQualification qualificationJson = driverService.findQualificationByKey(driver.getId());
+            driverJson.put("driverQualification", qualificationJson);
+        }
         //车队班组
         KwfFleet fleet = driverService.findByFleetDriver(id, LoginUserHolder.getEntId());
-
-        //数据组装
-        JSONObject driverJson = JSONObject.parseObject(JSON.toJSONString(driver));
-        driverJson.put("driverCard", cardJson);
-        driverJson.put("driverLicense", licenseJson);
-        driverJson.put("driverQualification", qualificationJson);
-        driverJson.put("fleetId", fleet.getId());
-        driverJson.put("fleetName", fleet.getName());
+        driverJson.put("fleetName", fleet != null ? fleet.getName() : null);
+        driverJson.put("fleetId", fleet != null ? fleet.getId() : null);
         return HttpResult.ok(driverJson);
     }
 
@@ -98,26 +98,26 @@ public class KwfDriverController {
 
         //司机信息
         KwfDriver driver = driverService.selectByKey(id);
+        JSONObject driverJson = JSONObject.parseObject(JSON.toJSONString(driver));
 
-        //身份证信息
-        KwfDriverCard cardJson = driverService.findCarByKey(driver.getId());
-
-        //司机驾驶证信息
-        KwfDriverLicense licenseJson = driverService.findLicenseByKey(driver.getId());
+        //数据查询
+        if (driver != null) {
+            //身份证信息
+            KwfDriverCard cardJson = driverService.findCarByKey(driver.getId());
+            driverJson.put("driverCard", cardJson);
 
-        //司机从业资格证
-        KwfDriverQualification qualificationJson = driverService.findQualificationByKey(driver.getId());
+            //司机驾驶证信息
+            KwfDriverLicense licenseJson = driverService.findLicenseByKey(driver.getId());
+            driverJson.put("driverLicense", licenseJson);
 
+            //司机从业资格证
+            KwfDriverQualification qualificationJson = driverService.findQualificationByKey(driver.getId());
+            driverJson.put("driverQualification", qualificationJson);
+        }
         //车队班组
         KwfFleet fleet = driverService.findByFleetDriver(id, LoginUserHolder.getEntId());
-
-        //数据组装
-        JSONObject driverJson = JSONObject.parseObject(JSON.toJSONString(driver));
-        driverJson.put("driverCard", cardJson);
-        driverJson.put("driverLicense", licenseJson);
-        driverJson.put("driverQualification", qualificationJson);
-        driverJson.put("fleetId", fleet.getId());
-        driverJson.put("fleetName", fleet.getName());
+        driverJson.put("fleetName", fleet != null ? fleet.getName() : null);
+        driverJson.put("fleetId", fleet != null ? fleet.getId() : null);
         return HttpResult.ok(driverJson);
     }
 

+ 36 - 35
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/controller/KwfTruckController.java

@@ -56,27 +56,27 @@ public class KwfTruckController {
     public HttpResult selectByKey(Long id) throws SystemException {
         //车辆信息
         KwfTruck truck = truckService.selectByKey(id);
+        JSONObject truckJson = JSONObject.parseObject(JSON.toJSONString(truck));
 
-        //车辆行驶证信息
-        KwfTruckLicense truckLicense = truckService.findTruckLicenseByKey(id);
-
-        //车辆道路运输许可证
-        KwfTransportLicense transportLicense = truckService.findTransportLicenseByKey(id);
-
+        //数据组装
+        if (truck != null) {
+            //车辆行驶证信息
+            KwfTruckLicense truckLicense = truckService.findTruckLicenseByKey(id);
+            truckJson.put("truckLicense", truckLicense);
+
+            //车辆道路运输许可证
+            KwfTransportLicense transportLicense = truckService.findTransportLicenseByKey(id);
+            truckJson.put("transportLicense", transportLicense);
+
+            //字典
+            Map<String, SysDictResDto> dicts = remoteSystemService.queryDictMapByTypeValues(DictTypeEnum.COLOR_TYPE.getType() + Global.POUND + truck.getColor());
+            SysDictResDto color = dicts == null ? null : dicts.get(DictTypeEnum.COLOR_TYPE.getType() + Global.POUND + truck.getColor());
+            truckJson.put("colorName", color != null ? color.getLabel() : null);
+        }
         //车队班组
         KwfFleet fleet = truckService.findByFleetTruck(id, LoginUserHolder.getEntId());
-
-        //字典
-        Map<String, SysDictResDto> dicts = remoteSystemService.queryDictMapByTypeValues(DictTypeEnum.COLOR_TYPE.getType() + Global.POUND + truck.getColor());
-        SysDictResDto color = dicts == null ? null : dicts.get(DictTypeEnum.COLOR_TYPE.getType() + Global.POUND + truck.getColor());
-
-        //数据组装
-        JSONObject truckJson = JSONObject.parseObject(JSON.toJSONString(truck));
-        truckJson.put("truckLicense", truckLicense);
-        truckJson.put("transportLicense", transportLicense);
-        truckJson.put("fleetId", fleet.getId());
-        truckJson.put("fleetName", fleet.getName());
-        truckJson.put("colorName", color != null ? color.getLabel() : null);
+        truckJson.put("fleetId", fleet != null ? fleet.getId() : null);
+        truckJson.put("fleetName", fleet != null ? fleet.getName() : null);
         return HttpResult.ok(truckJson);
     }
 
@@ -102,26 +102,27 @@ public class KwfTruckController {
 
         //车辆信息
         KwfTruck truck = truckService.selectByKey(id);
+        JSONObject truckJson = JSONObject.parseObject(JSON.toJSONString(truck));
 
-        //车辆行驶证信息
-        KwfTruckLicense truckLicense = truckService.findTruckLicenseByKey(id);
-
-        //车辆道路运输许可证
-        KwfTransportLicense transportLicense = truckService.findTransportLicenseByKey(id);
-
+        //数据组装
+        if (truck != null) {
+            //车辆行驶证信息
+            KwfTruckLicense truckLicense = truckService.findTruckLicenseByKey(id);
+            truckJson.put("truckLicense", truckLicense);
+
+            //车辆道路运输许可证
+            KwfTransportLicense transportLicense = truckService.findTransportLicenseByKey(id);
+            truckJson.put("transportLicense", transportLicense);
+
+            //字典
+            Map<String, SysDictResDto> dicts = remoteSystemService.queryDictMapByTypeValues(DictTypeEnum.COLOR_TYPE.getType() + Global.POUND + truck.getColor());
+            SysDictResDto color = dicts == null ? null : dicts.get(DictTypeEnum.COLOR_TYPE.getType() + Global.POUND + truck.getColor());
+            truckJson.put("colorName", color != null ? color.getLabel() : null);
+        }
         //车队班组
         KwfFleet fleet = truckService.findByFleetTruck(id, LoginUserHolder.getEntId());
-
-        //字典
-        Map<String, SysDictResDto> dicts = remoteSystemService.queryDictMapByTypeValues(DictTypeEnum.COLOR_TYPE.getType() + Global.POUND + truck.getColor());
-        SysDictResDto color = dicts == null ? null : dicts.get(DictTypeEnum.COLOR_TYPE.getType() + Global.POUND + truck.getColor());
-        //数据组装
-        JSONObject truckJson = JSONObject.parseObject(JSON.toJSONString(truck));
-        truckJson.put("truckLicense", truckLicense);
-        truckJson.put("transportLicense", transportLicense);
-        truckJson.put("fleetId", fleet.getId());
-        truckJson.put("fleetName", fleet.getName());
-        truckJson.put("colorName", color != null ? color.getLabel() : null);
+        truckJson.put("fleetId", fleet != null ? fleet.getId() : null);
+        truckJson.put("fleetName", fleet != null ? fleet.getName() : null);
         return HttpResult.ok(truckJson);
     }
 

+ 2 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/KwfDriverCard.java

@@ -1,5 +1,6 @@
 package com.sckw.fleet.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.sckw.core.model.base.BaseModel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -29,6 +30,7 @@ public class KwfDriverCard extends BaseModel {
     /**
      * 有效日期
      */
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
     private Date expireTime;
 
     /**

+ 2 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/KwfDriverLicense.java

@@ -1,5 +1,6 @@
 package com.sckw.fleet.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.sckw.core.model.base.BaseModel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -34,6 +35,7 @@ public class KwfDriverLicense extends BaseModel {
     /**
      * 有效日期
      */
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
     private Date expireTime;
 
     /**

+ 2 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/KwfDriverQualification.java

@@ -1,5 +1,6 @@
 package com.sckw.fleet.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.sckw.core.model.base.BaseModel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -34,6 +35,7 @@ public class KwfDriverQualification extends BaseModel {
     /**
      * 有效日期
      */
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
     private Date expireTime;
 
     /**

+ 2 - 2
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/KwfTransportLicense.java

@@ -45,13 +45,13 @@ public class KwfTransportLicense extends BaseModel {
     /**
      * 发证日期
      */
-    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
     private Date grantTime;
 
     /**
      * 有效期至
      */
-    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
     private Date expireTime;
 
     /**

+ 3 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/KwfTruckLicense.java

@@ -1,5 +1,6 @@
 package com.sckw.fleet.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.sckw.core.model.base.BaseModel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -39,6 +40,7 @@ public class KwfTruckLicense extends BaseModel {
     /**
      * 注册日期
      */
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
     private Date regTime;
 
     /**
@@ -49,6 +51,7 @@ public class KwfTruckLicense extends BaseModel {
     /**
      * 发证日期
      */
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
     private Date grantTime;
 
     /**

+ 7 - 2
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfDriverVo.java

@@ -2,9 +2,12 @@ package com.sckw.fleet.model.vo;
 
 import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.sckw.excel.annotation.ExcelContext;
 import lombok.Data;
 
+import java.util.Date;
+
 /**
  * @author zk
  * @desc 司机档案
@@ -48,7 +51,8 @@ public class KwfDriverVo {
      * 身份证有效时间
      */
     @ExcelProperty(value = "身份证有效时间", index = 4)
-    private String idcardExpireTime;
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
+    private Date idcardExpireTime;
 
     /**
      * 身份证住址
@@ -72,7 +76,8 @@ public class KwfDriverVo {
      * 驾驶证有效期至
      */
     @ExcelProperty(value = "驾驶证有效期至", index = 8)
-    private String licenseExpireTime;
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
+    private Date licenseExpireTime;
 
     /**
      * 驾驶证发证机关

+ 5 - 2
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfTruckVo.java

@@ -2,6 +2,7 @@ package com.sckw.fleet.model.vo;
 
 import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.sckw.excel.annotation.ExcelContext;
 import lombok.Data;
 
@@ -121,13 +122,15 @@ public class KwfTruckVo {
      * 注册日期
      */
     @ExcelProperty(value = "注册日期")
-    private String regTime;
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
+    private Date regTime;
 
     /**
      * 发证日期
      */
     @ExcelProperty(value = "发证日期")
-    private String grantTime;
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
+    private Date grantTime;
 
     /**
      * 发证机关

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtWaybillOrderTicket.java

@@ -48,6 +48,6 @@ public class KwtWaybillOrderTicket extends BaseModel {
     /**
      * 装卸货时间
      */
-    private Date time;
+    private Date operateTime;
 
 }

+ 4 - 23
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtWaybillOrderTrack.java

@@ -1,10 +1,8 @@
 package com.sckw.transport.model;
 
-import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.sckw.core.model.base.BaseModel;
 import lombok.Data;
-
-import java.io.Serializable;
 import java.util.Date;
 
 /**
@@ -14,11 +12,7 @@ import java.util.Date;
  */
 @Data
 @TableName("kwt_waybill_order_track")
-public class KwtWaybillOrderTrack implements Serializable {
-    /**
-     * 主键
-     */
-    private Long id;
+public class KwtWaybillOrderTrack extends BaseModel {
 
     /**
      * 车辆运单id
@@ -35,22 +29,9 @@ public class KwtWaybillOrderTrack implements Serializable {
      */
     private Integer status;
 
-    private Long createBy;
-
-    private Date createTime;
-
-    private Long updateBy;
-
-    /**
-     * 更新时间
-     */
-    private Date updateTime;
-
     /**
-     * 是否删除(0未删除,1删除)
+     * 装卸货时间
      */
-    @TableLogic("0")
-    private Integer delFlag;
+    private Date operateTime;
 
-    private static final long serialVersionUID = 1L;
 }

+ 13 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/OperateSendCarDto.java

@@ -1,9 +1,13 @@
 package com.sckw.transport.model.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Size;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
 
 /**
  * @author zk
@@ -53,4 +57,13 @@ public class OperateSendCarDto {
      */
     @Size(max=100, message = "原因长度不能大于100个字符!")
     private String remark;
+
+    /**
+     * 操作时间
+     */
+    @JsonProperty("time")
+    @JsonFormat(locale="zh", pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @NotNull(message = "时间不能为空")
+    private Date operateTime;
 }

+ 13 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/OperateWaybillDto.java

@@ -1,9 +1,13 @@
 package com.sckw.transport.model.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Size;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
 
 /**
  * @author zk
@@ -20,6 +24,15 @@ public class OperateWaybillDto {
     @NotNull(message = "车辆订单ID不能为空")
     private Long wOrderId;
 
+    /**
+     * 操作时间
+     */
+    @JsonProperty("time")
+    @JsonFormat(locale="zh", pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @NotNull(message = "时间不能为空")
+    private Date operateTime;
+
     /**
      * 备注
      */

+ 2 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/WaybillOrderTicketDto.java

@@ -62,13 +62,13 @@ public class WaybillOrderTicketDto {
     private String urls;
 
     /**
-     * 装卸货时间
+     * 操作时间
      */
     @JsonProperty("time")
     @JsonFormat(locale="zh", pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @NotNull(message = "时间不能为空")
-    private Date time;
+    private Date operateTime;
 
     /**
      * 备注

+ 213 - 225
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderService.java

@@ -15,6 +15,8 @@ import com.sckw.fleet.api.model.vo.RTruckVo;
 import com.sckw.mongo.enums.BusinessTypeEnum;
 import com.sckw.mongo.model.SckwLogisticsOrder;
 import com.sckw.mongo.model.SckwWaybillOrder;
+import com.sckw.order.api.dubbo.TradeOrderInfoService;
+import com.sckw.order.api.model.OrderDetailRes;
 import com.sckw.stream.model.SckwBusSum;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
@@ -71,6 +73,8 @@ public class KwtWaybillOrderService {
     private RemoteSystemService remoteSystemService;
     @DubboReference(version = "1.0.0", group = "design", check = false)
     private RemoteFleetService remoteFleetService;
+    @DubboReference(version = "2.0.0", group = "design", check = false)
+    private TradeOrderInfoService tradeOrderInfoService;
 
     /**
      * @param driverId 司机ID
@@ -738,7 +742,7 @@ public class KwtWaybillOrderService {
      * @author zk
      * @date 2023/7/24
      **/
-    public int checkLogisticsLevel(KwtLogisticsOrder logisticsOrder) {
+    public int logisticsLevel(KwtLogisticsOrder logisticsOrder) {
         String pids = logisticsOrder.getPids();
         String [] idArrays = StringUtils.isBlank(pids) ? new String[0] : pids.split(Global.COMMA);
         return idArrays.length <= 1 ? Global.NUMERICAL_ONE : (idArrays.length - Global.NUMERICAL_ONE);
@@ -752,7 +756,7 @@ public class KwtWaybillOrderService {
      **/
     @Transactional(rollbackFor = Exception.class)
     public HttpResult cancelSendCar(List<Long> ids){
-        /**数据校验**/
+        /**1数据校验**/
         if (CollectionUtils.isEmpty(ids)) {
             return HttpResult.error("请选择需要撤回的车辆运单!");
         }
@@ -782,21 +786,21 @@ public class KwtWaybillOrderService {
             if (waybillOrder != null) {
                 //待接单的车辆运单才能撤回
                 if (waybillOrder.getStatus() == CarWaybillEnum.PENDING_ORDER.getCode()) {
-                    /**1更新车辆运单**/
+                    /**2更新车辆运单**/
                     waybillOrder.setStatus(CarWaybillEnum.REVOKED.getCode());
                     waybillOrderDao.updateById(waybillOrder);
 
-                    /**2新增运单状态记录**/
+                    /**3新增运单状态记录**/
                     setWaybillOrderTrack(waybillOrder.getId(), waybillOrder.getStatus(), null);
 
-                    /**3回退承运订单entrustAmount**/
+                    /**4回退承运订单entrustAmount**/
                     KwtLogisticsOrder logisticsOrder = logisticsOrderDao.selectById(waybillOrder.getLOrderId());
                     //承运订单已委派量=承运订单原委派量+当前车辆运单委派量
                     BigDecimal entrustAmount = logisticsOrder.getEntrustAmount() == null ? new BigDecimal(Global.AMOUNT) : logisticsOrder.getEntrustAmount();
                     logisticsOrder.setEntrustAmount(entrustAmount.subtract(waybillOrder.getEntrustAmount()));
                     logisticsOrderDao.updateById(logisticsOrder);
 
-                    /**4Mongodb数据更新**/
+                    /**5Mongodb数据更新**/
                     //1车辆订单
                     SckwWaybillOrder wOrder = new SckwWaybillOrder();
                     wOrder.set_id(waybillOrder.getId());
@@ -806,7 +810,7 @@ public class KwtWaybillOrderService {
                     SckwLogisticsOrder lOrder = new SckwLogisticsOrder();
                     editSckwLogisticsOrder(lOrder, logisticsOrder);
 
-                    /**5发送消息**/
+                    /**6发送消息**/
 
                 }
             } else {
@@ -876,7 +880,7 @@ public class KwtWaybillOrderService {
     public HttpResult confirmSendCar(OperateSendCarDto params) {
         /**趟次派车**/
         if (params.getType() == Global.NUMERICAL_ONE) {
-            /**数据校验**/
+            /**1数据校验**/
             KwtWaybillOrder waybillOrder = waybillOrderDao.selectById(params.getWOrderId());
             if (waybillOrder == null) {
                 return HttpResult.error("车辆趟次运单不存在!");
@@ -886,21 +890,20 @@ public class KwtWaybillOrderService {
                 return HttpResult.error("车辆运单当前状态已不能拒绝接单!");
             }
 
-            /**业务处理**/
-            /**1更新车辆运单**/
+            /**2更新车辆运单**/
             waybillOrder.setStatus(CarWaybillEnum.PENDING_VEHICLE.getCode());
             waybillOrderDao.updateById(waybillOrder);
 
-            /**2新增运单状态记录**/
+            /**3新增运单状态记录**/
             setWaybillOrderTrack(waybillOrder.getId(), waybillOrder.getStatus(), params.getRemark());
 
-            /**3跟新司机/车辆数据**/
+            /**4跟新司机/车辆数据**/
             //更新司机信息
             editDriver(waybillOrder.getDriverId());
             //更新车辆信息
             editTruck(waybillOrder.getTruckId());
 
-            /**4Mongodb数据更新**/
+            /**5Mongodb数据更新**/
             //1车辆运单
             SckwWaybillOrder wOrder = new SckwWaybillOrder();
             wOrder.set_id(waybillOrder.getId());
@@ -912,7 +915,7 @@ public class KwtWaybillOrderService {
 
         /**循环派车**/
         if (params.getType() == Global.NUMERICAL_TWO) {
-            /**数据校验**/
+            /**1数据校验**/
             KwtLogisticsOrderCirculate circulate = logisticsOrderCirculateDao.findCirculate(params.getLOrderId(),
                     params.getTruckId(), params.getDriverId(), 0);
             if (circulate == null) {
@@ -929,7 +932,7 @@ public class KwtWaybillOrderService {
                 return HttpResult.error("已不能接单!");
             }
 
-            /**获取基础信息**/
+            /**2获取基础信息**/
             //装货地址
             KwtWaybillOrderAddress loadAddress = this.getAddress(params.getLOrderId(), Global.NUMERICAL_ONE);
             //卸货地址
@@ -951,23 +954,22 @@ public class KwtWaybillOrderService {
             waybillOrder.setEntrustAmount(circulate.getEntrustAmount());
             waybillOrder.setStatus(CarWaybillEnum.PENDING_VEHICLE.getCode());
 
-            /**业务处理**/
-            /**1车辆运单存储**/
+            /**2车辆运单存储**/
             ranksSave(waybillOrder, loadAddress, unloadAddress);
             //补上车辆运单待接单状态
             setWaybillOrderTrack(circulate, waybillOrder.getId());
 
-            /**2更新承运订单信息**/
+            /**3更新承运订单信息**/
             //承运订单已委派量:承运订单历史委派量+当前运单委派量
             BigDecimal entrustAmount = logisticsOrder.getEntrustAmount() == null ? new BigDecimal(Global.AMOUNT) : logisticsOrder.getEntrustAmount();
             logisticsOrder.setEntrustAmount(entrustAmount.add(waybillOrder.getEntrustAmount()));
             logisticsOrderDao.updateById(logisticsOrder);
 
-            /**3更新循环派车数据**/
+            /**4更新循环派车数据**/
             circulate.setWOrderId(waybillOrder.getId());
             logisticsOrderCirculateDao.updateById(circulate);
 
-            /**4Mongodb数据更新**/
+            /**5Mongodb数据更新**/
             //1车辆订单
             SckwWaybillOrder wOrder = new SckwWaybillOrder();
             wOrder.set_id(circulate.getId());
@@ -977,7 +979,7 @@ public class KwtWaybillOrderService {
             SckwLogisticsOrder lOrder = new SckwLogisticsOrder();
             editSckwLogisticsOrder(lOrder, logisticsOrder);
 
-            /**5发送消息**/
+            /**6发送消息**/
         }
         return HttpResult.ok("确认接单成功!");
     }
@@ -1011,7 +1013,7 @@ public class KwtWaybillOrderService {
     public HttpResult refuseSendCar(OperateSendCarDto params) {
         /**趟次派车**/
         if (params.getType() == Global.NUMERICAL_ONE) {
-            /**数据校验**/
+            /**1数据校验**/
             KwtWaybillOrder waybillOrder = waybillOrderDao.selectById(params.getWOrderId());
             if (waybillOrder == null) {
                 return HttpResult.error("车辆趟次运单不存在!");
@@ -1021,22 +1023,21 @@ public class KwtWaybillOrderService {
                 return HttpResult.error("车辆运单当前状态已不能拒绝接单!");
             }
 
-            /**业务处理**/
-            /**1更新车辆运单**/
+            /**2更新车辆运单**/
             waybillOrder.setStatus(CarWaybillEnum.REVOKED.getCode());
             waybillOrderDao.updateById(waybillOrder);
 
-            /**2新增运单状态记录**/
+            /**3新增运单状态记录**/
             setWaybillOrderTrack(waybillOrder.getId(), waybillOrder.getStatus(), params.getRemark());
 
-            /**3回退承运订单entrustAmount**/
+            /**4回退承运订单entrustAmount**/
             KwtLogisticsOrder logisticsOrder = logisticsOrderDao.selectById(waybillOrder.getLOrderId());
             //承运订单已委派量=承运订单原委派量+当前车辆运单委派量
             BigDecimal entrustAmount = logisticsOrder.getEntrustAmount() == null ? new BigDecimal(Global.AMOUNT) : logisticsOrder.getEntrustAmount();
             logisticsOrder.setEntrustAmount(entrustAmount.subtract(waybillOrder.getEntrustAmount()));
             logisticsOrderDao.updateById(logisticsOrder);
 
-            /**4Mongodb数据更新**/
+            /**5Mongodb数据更新**/
             //1车辆运单
             SckwWaybillOrder wOrder = new SckwWaybillOrder();
             wOrder.set_id(waybillOrder.getId());
@@ -1046,25 +1047,25 @@ public class KwtWaybillOrderService {
             SckwLogisticsOrder lOrder = new SckwLogisticsOrder();
             editSckwLogisticsOrder(lOrder, logisticsOrder);
 
-            /**5发送消息**/
+            /**6发送消息**/
 
         }
 
         /**循环派车**/
         if (params.getType() == Global.NUMERICAL_TWO) {
-            /**数据校验**/
+            /**1数据校验**/
             KwtLogisticsOrderCirculate circulate = logisticsOrderCirculateDao.findCirculate(params.getLOrderId(),
                     params.getTruckId(), params.getDriverId(), 0);
             if (circulate == null) {
                 return HttpResult.error("车辆循环运单不存在!");
             }
 
-            /**1更新循环单状态为失效**/
+            /**2更新循环单状态为失效**/
             circulate.setStatus(Global.YES);
             circulate.setRemark(params.getRemark());
             logisticsOrderCirculateDao.updateById(circulate);
 
-            /**2Mongodb数据更新**/
+            /**3Mongodb数据更新**/
             SckwWaybillOrder wOrder = new SckwWaybillOrder();
             wOrder.set_id(circulate.getId());
             KwtWaybillOrder waybillOrder = new KwtWaybillOrder();
@@ -1073,7 +1074,7 @@ public class KwtWaybillOrderService {
             waybillOrder.setUpdateBy(circulate.getUpdateBy());
             editSckwWaybillOrder(wOrder, waybillOrder, 2);
 
-            /**3发送消息**/
+            /**4发送消息**/
         }
 
         return HttpResult.ok("拒绝接单成功!");
@@ -1087,7 +1088,7 @@ public class KwtWaybillOrderService {
      **/
     @Transactional(rollbackFor = Exception.class)
     public HttpResult confirmDeparture(OperateWaybillDto params){
-        /**数据校验**/
+        /**1数据校验**/
         KwtWaybillOrder waybillOrder = waybillOrderDao.selectById(params.getWOrderId());
         if (waybillOrder == null) {
             return HttpResult.error("车辆运单不存在!");
@@ -1097,21 +1098,20 @@ public class KwtWaybillOrderService {
             return HttpResult.error("车辆运单当前状态已不能出车!");
         }
 
-        /**业务处理**/
-        /**1更新车辆运单**/
+        /**2更新车辆运单**/
         waybillOrder.setStatus(CarWaybillEnum.EXIT_COMPLETED.getCode());
         waybillOrderDao.updateById(waybillOrder);
 
-        /**2新增运单状态记录**/
+        /**3新增运单状态记录**/
         setWaybillOrderTrack(waybillOrder.getId(), waybillOrder.getStatus(), params.getRemark());
 
-        /**3Mongodb数据更新**/
+        /**4Mongodb数据更新**/
         //1车辆运单
         SckwWaybillOrder wOrder = new SckwWaybillOrder();
         wOrder.set_id(waybillOrder.getId());
         editSckwWaybillOrder(wOrder, waybillOrder, 2);
 
-        /**4发送消息**/
+        /**5发送消息**/
 
         return HttpResult.ok("确认出车成功!");
     }
@@ -1124,7 +1124,7 @@ public class KwtWaybillOrderService {
      **/
     @Transactional(rollbackFor = Exception.class)
     public HttpResult refuseDeparture(OperateWaybillDto params){
-        /**数据校验**/
+        /**1数据校验**/
         KwtWaybillOrder waybillOrder = waybillOrderDao.selectById(params.getWOrderId());
         if (waybillOrder == null) {
             return HttpResult.error("车辆运单不存在!");
@@ -1134,15 +1134,14 @@ public class KwtWaybillOrderService {
             return HttpResult.error("车辆运单当前状态已不能拒绝出车!");
         }
 
-        /**业务处理**/
-        /**1更新车辆运单**/
+        /**2更新车辆运单**/
         waybillOrder.setStatus(CarWaybillEnum.REFUSE_TRAFFIC.getCode());
         waybillOrderDao.updateById(waybillOrder);
 
-        /**2新增运单状态记录**/
+        /**3新增运单状态记录**/
         setWaybillOrderTrack(waybillOrder.getId(), waybillOrder.getStatus(), params.getRemark());
 
-        /**3循环派车重置派车信息kwt_logistics_order_circulate**/
+        /**4循环派车重置派车信息kwt_logistics_order_circulate**/
         if (waybillOrder.getType() == Global.NUMERICAL_TWO) {
             //循环派车信息
             KwtLogisticsOrderCirculate circulate = logisticsOrderCirculateDao.findCirculate(waybillOrder.getLOrderId(),
@@ -1151,14 +1150,14 @@ public class KwtWaybillOrderService {
             logisticsOrderCirculateDao.updateById(circulate);
         }
 
-        /**4回退承运订单entrustAmount**/
+        /**5回退承运订单entrustAmount**/
         KwtLogisticsOrder logisticsOrder = logisticsOrderDao.selectById(waybillOrder.getLOrderId());
         //承运订单已委派量=承运订单原委派量+当前车辆运单委派量
         BigDecimal entrustAmount = logisticsOrder.getEntrustAmount() == null ? new BigDecimal(Global.AMOUNT) : logisticsOrder.getEntrustAmount();
         logisticsOrder.setEntrustAmount(entrustAmount.subtract(waybillOrder.getEntrustAmount()));
         logisticsOrderDao.updateById(logisticsOrder);
 
-        /**5Mongodb数据更新**/
+        /**6Mongodb数据更新**/
         //1车辆运单
         SckwWaybillOrder wOrder = new SckwWaybillOrder();
         wOrder.set_id(waybillOrder.getId());
@@ -1168,7 +1167,7 @@ public class KwtWaybillOrderService {
         SckwLogisticsOrder lOrder = new SckwLogisticsOrder();
         editSckwLogisticsOrder(lOrder, logisticsOrder);
 
-        /**6发送消息**/
+        /**7发送消息**/
 
         return HttpResult.ok("拒绝出车成功!");
     }
@@ -1181,7 +1180,7 @@ public class KwtWaybillOrderService {
      **/
     @Transactional(rollbackFor = Exception.class)
     public HttpResult arriveLoadLocation(OperateWaybillDto params){
-        /**数据校验**/
+        /**1数据校验**/
         KwtWaybillOrder waybillOrder = waybillOrderDao.selectById(params.getWOrderId());
         if (waybillOrder == null) {
             return HttpResult.error("车辆运单不存在!");
@@ -1191,21 +1190,20 @@ public class KwtWaybillOrderService {
             return HttpResult.error("车辆运单当前状态已不能到达装货地点!");
         }
 
-        /**业务处理**/
-        /**1更新车辆运单**/
+        /**2更新车辆运单**/
         waybillOrder.setStatus(CarWaybillEnum.WAIT_LOADING.getCode());
         waybillOrderDao.updateById(waybillOrder);
 
-        /**2新增运单状态记录**/
+        /**3新增运单状态记录**/
         setWaybillOrderTrack(waybillOrder.getId(), waybillOrder.getStatus(), params.getRemark());
 
-        /**3Mongodb数据更新**/
+        /**4Mongodb数据更新**/
         //1车辆运单
         SckwWaybillOrder wOrder = new SckwWaybillOrder();
         wOrder.set_id(waybillOrder.getId());
         editSckwWaybillOrder(wOrder, waybillOrder, 2);
 
-        /**4发送消息**/
+        /**5发送消息**/
 
         return HttpResult.ok("到达装货地点成功!");
     }
@@ -1218,7 +1216,7 @@ public class KwtWaybillOrderService {
      **/
     @Transactional(rollbackFor = Exception.class)
     public HttpResult loading(WaybillOrderTicketDto params){
-        /**数据校验**/
+        /**1数据校验**/
         KwtWaybillOrder waybillOrder = waybillOrderDao.selectById(params.getWOrderId());
         if (waybillOrder == null) {
             return HttpResult.error("车辆运单不存在!");
@@ -1228,42 +1226,38 @@ public class KwtWaybillOrderService {
             return HttpResult.error("车辆运单当前状态已不能装货!");
         }
 
-        /**业务处理**/
-        /**1更新车辆运单**/
+        /**2更新车辆运单**/
         waybillOrder.setLoadAmount(params.getAmount());
         waybillOrder.setStatus(CarWaybillEnum.COMPLETION_LOADING.getCode());
         waybillOrderDao.updateById(waybillOrder);
 
-        /**2新增运单状态记录**/
+        /**3新增运单状态记录**/
         setWaybillOrderTrack(waybillOrder.getId(), waybillOrder.getStatus(), params.getRemark());
 
-        /**3新增装卸货榜单信息**/
+        /**4新增装卸货榜单信息**/
         KwtWaybillOrderTicket ticket = new KwtWaybillOrderTicket();
         ticket.setWOrderId(waybillOrder.getId());
         ticket.setType(Global.NUMERICAL_ONE);
         ticket.setAmount(waybillOrder.getLoadAmount());
         ticket.setUrls(params.getUrls());
-        ticket.setTime(params.getTime());
+        ticket.setOperateTime(params.getOperateTime());
         waybillOrderTicketDao.insert(ticket);
 
-        /**4跟新司机/车辆数据**/
+        /**5跟新司机/车辆数据
         //更新司机信息
         editDriver(waybillOrder.getDriverId());
         //更新车辆信息
-        editTruck(waybillOrder.getTruckId());
+        editTruck(waybillOrder.getTruckId());**/
 
-        /**5更新承运订单entrustAmount**/
+        /**6更新承运订单entrustAmount
         KwtLogisticsOrder logisticsOrder = logisticsOrderDao.selectById(waybillOrder.getLOrderId());
         //承运订单已装货量=承运订单原装货量+当前车辆运单装货量
         BigDecimal loadAmount = logisticsOrder.getLoadAmount() == null ? new BigDecimal(Global.AMOUNT) : logisticsOrder.getLoadAmount();
         logisticsOrder.setLoadAmount(loadAmount.add(waybillOrder.getLoadAmount()));
         logisticsOrder.setLoadTime(logisticsOrder.getLoadTime() == null ?waybillOrder.getUpdateTime() : logisticsOrder.getLoadTime());
-        logisticsOrderDao.updateById(logisticsOrder);
-
-        //校验当前承运订单是否运输完成(修改状态+统计量)
-        checkLogisticsByStatusV1(waybillOrder.getLOrderId());
+        logisticsOrderDao.updateById(logisticsOrder);**/
 
-        /**6Mongodb数据更新**/
+        /**7Mongodb数据更新**/
         //1车辆运单
         SckwWaybillOrder wOrder = new SckwWaybillOrder();
         wOrder.set_id(waybillOrder.getId());
@@ -1273,12 +1267,12 @@ public class KwtWaybillOrderService {
         editSckwWaybillOrder(wOrder, waybillOrder, 2);
 
         //2承运订单
-        SckwLogisticsOrder lOrder = new SckwLogisticsOrder();
+        /*SckwLogisticsOrder lOrder = new SckwLogisticsOrder();
         lOrder.setLoadTime(logisticsOrder.getLoadTime());
         lOrder.setLoadAmount(logisticsOrder.getLoadAmount());
-        editSckwLogisticsOrder(lOrder, logisticsOrder);
+        editSckwLogisticsOrder(lOrder, logisticsOrder);*/
 
-        /**7发送消息**/
+        /**8发送消息**/
 
         return HttpResult.ok("装货成功!");
     }
@@ -1291,7 +1285,7 @@ public class KwtWaybillOrderService {
      **/
     @Transactional(rollbackFor = Exception.class)
     public HttpResult arriveUnloadLocation(OperateWaybillDto params){
-        /**数据校验**/
+        /**1数据校验**/
         KwtWaybillOrder waybillOrder = waybillOrderDao.selectById(params.getWOrderId());
         if (waybillOrder == null) {
             return HttpResult.error("车辆运单不存在!");
@@ -1301,21 +1295,20 @@ public class KwtWaybillOrderService {
             return HttpResult.error("车辆运单当前状态已不能到达卸货地点!");
         }
 
-        /**业务处理**/
-        /**1更新车辆运单**/
+        /**2更新车辆运单**/
         waybillOrder.setStatus(CarWaybillEnum.WAIT_UNLOADING.getCode());
         waybillOrderDao.updateById(waybillOrder);
 
-        /**2新增运单状态记录**/
+        /**3新增运单状态记录**/
         setWaybillOrderTrack(waybillOrder.getId(), waybillOrder.getStatus(), params.getRemark());
 
-        /**3Mongodb数据更新**/
+        /**4Mongodb数据更新**/
         //1车辆运单
         SckwWaybillOrder wOrder = new SckwWaybillOrder();
         wOrder.set_id(waybillOrder.getId());
         editSckwWaybillOrder(wOrder, waybillOrder, 2);
 
-        /**4发送消息**/
+        /**5发送消息**/
 
         return HttpResult.ok("到达卸货地点成功!");
     }
@@ -1328,7 +1321,7 @@ public class KwtWaybillOrderService {
      **/
     @Transactional(rollbackFor = Exception.class)
     public HttpResult unloading(WaybillOrderTicketDto params){
-        /**数据校验**/
+        /**1数据校验**/
         KwtWaybillOrder waybillOrder = waybillOrderDao.selectById(params.getWOrderId());
         if (waybillOrder == null) {
             return HttpResult.error("车辆运单不存在!");
@@ -1338,9 +1331,8 @@ public class KwtWaybillOrderService {
             return HttpResult.error("车辆运单当前状态已不能装货!");
         }
 
-        /**业务处理**/
+        /**2更新车辆运单**/
         KwtLogisticsOrder logisticsOrder = logisticsOrderDao.selectById(waybillOrder.getLOrderId());
-        /**1更新车辆运单**/
         waybillOrder.setUnloadAmount(params.getAmount());
         waybillOrder.setDeficitAmount(waybillOrder.getLoadAmount().subtract(waybillOrder.getUnloadAmount()));
         BigDecimal deficitPrice = deficitPrice(waybillOrder.getLoadAmount(), waybillOrder.getDeficitAmount(),
@@ -1349,19 +1341,19 @@ public class KwtWaybillOrderService {
         waybillOrder.setStatus(CarWaybillEnum.COMPLETION_UNLOADING.getCode());
         waybillOrderDao.updateById(waybillOrder);
 
-        /**2新增运单状态记录**/
+        /**3新增运单状态记录**/
         setWaybillOrderTrack(waybillOrder.getId(), waybillOrder.getStatus(), params.getRemark());
 
-        /**3新增装卸货榜单信息**/
+        /**4新增装卸货榜单信息**/
         KwtWaybillOrderTicket ticket = new KwtWaybillOrderTicket();
         ticket.setWOrderId(waybillOrder.getId());
         ticket.setType(Global.NUMERICAL_TWO);
         ticket.setAmount(waybillOrder.getUnloadAmount());
         ticket.setUrls(params.getUrls());
-        ticket.setTime(params.getTime());
+        ticket.setOperateTime(params.getOperateTime());
         waybillOrderTicketDao.insert(ticket);
 
-        /**4循环派车重置派车信息kwt_logistics_order_circulate**/
+        /**5循环派车重置派车信息kwt_logistics_order_circulate**/
         if (waybillOrder.getType() == Global.NUMERICAL_TWO) {
             //循环派车信息
             KwtLogisticsOrderCirculate circulate = logisticsOrderCirculateDao.findCirculate(waybillOrder.getLOrderId(),
@@ -1370,13 +1362,13 @@ public class KwtWaybillOrderService {
             logisticsOrderCirculateDao.updateByPrimaryKey(circulate);
         }
 
-        /**5跟新司机/车辆数据**/
+        /**6跟新司机/车辆数据
         //更新司机信息
         editDriver(waybillOrder.getDriverId());
         //更新车辆信息
-        editTruck(waybillOrder.getTruckId());
+        editTruck(waybillOrder.getTruckId());**/
 
-        /**5更新承运订单entrustAmount**/
+        /**7更新承运订单entrustAmount
         //更新卸货量/卸货时间/亏吨/亏吨扣款
         //承运订单卸货量=承运订单原卸货量+当前车辆运单卸货量
         BigDecimal unloadAmount = logisticsOrder.getUnloadAmount() == null ? new BigDecimal(Global.AMOUNT) : logisticsOrder.getUnloadAmount();
@@ -1388,12 +1380,9 @@ public class KwtWaybillOrderService {
         deficitPrice = deficitPrice(logisticsOrder.getLoadAmount(), logisticsOrder.getDeficitAmount(),
                 logisticsOrder.getLoss(), logisticsOrder.getGoodsPrice());
         logisticsOrder.setDeficitPrice(deficitPrice);
-        logisticsOrderDao.updateById(logisticsOrder);
-
-        //校验当前承运订单是否运输完成(修改状态+统计量)
-        checkLogisticsByStatusV1(waybillOrder.getLOrderId());
+        logisticsOrderDao.updateById(logisticsOrder);**/
 
-        /**6Mongodb数据更新**/
+        /**8Mongodb数据更新**/
         //1车辆运单
         SckwWaybillOrder wOrder = new SckwWaybillOrder();
         wOrder.set_id(waybillOrder.getId());
@@ -1405,14 +1394,14 @@ public class KwtWaybillOrderService {
         editSckwWaybillOrder(wOrder, waybillOrder, 2);
 
         //2承运订单
-        SckwLogisticsOrder lOrder = new SckwLogisticsOrder();
+        /*SckwLogisticsOrder lOrder = new SckwLogisticsOrder();
         lOrder.setUnloadTime(logisticsOrder.getUnloadTime());
         lOrder.setUnloadAmount(logisticsOrder.getUnloadAmount());
         lOrder.setDeficitAmount(logisticsOrder.getDeficitAmount());
         lOrder.setDeficitPrice(logisticsOrder.getDeficitPrice());
-        editSckwLogisticsOrder(lOrder, logisticsOrder);
+        editSckwLogisticsOrder(lOrder, logisticsOrder);*/
 
-        /**7发送消息**/
+        /**9发送消息**/
 
         return HttpResult.ok("卸货成功!");
     }
@@ -1435,87 +1424,21 @@ public class KwtWaybillOrderService {
         return deficitPrice;
     }
 
-    /**
-     * @param lOrderId 承运订单ID
-     * @description 校验当前承运订单是否运输完成(修改状态)
-     * @author zk
-     * @date 2023/7/27
-     **/
-    public void checkLogisticsByStatus(Long lOrderId) {
-        /**
-         校验当前承运订单是否运输完成(虑该当前承运订单上下级物流订单)
-         1存在下级分包,下级物流订单和当前物流订单全部运输完成则修改当前物流订单状态为已完成(HAVE_FINISHED)
-         2当前物流订单属于分包:需要判断上级及同级分包全部运输完成修改上级物流订单状态为已完成(HAVE_FINISHED)-一直向上到一级物流订单
-         **/
-        //承运单信息
-        KwtLogisticsOrder logisticsOrder = logisticsOrderDao.selectById(lOrderId);
-        /**校验当前承运订单是否运输完成**/
-        if (logisticsOrder.getAmount().compareTo(logisticsOrder.getLoadAmount()) < 0) {
-            return;
-        }
-
-        /**1存在下级分包**/
-        BigDecimal subcontractAmount = logisticsOrder.getSubcontractAmount() == null ? new BigDecimal(Global.AMOUNT) : logisticsOrder.getSubcontractAmount();
-        if (subcontractAmount.compareTo(new BigDecimal(Global.AMOUNT)) == 0) {
-            List<KwtLogisticsOrder> logisticsOrders = logisticsOrderDao.findLogisticsOrder(
-                    new HashMap(){{put("upperlOrderId", logisticsOrder.getId()); put("ownOrderId", logisticsOrder.getId());}});
-            for (KwtLogisticsOrder logisticsOrder1:logisticsOrders) {
-                if (logisticsOrder1.getStatus() == LogisticsOrderEnum.TO_BE_PLANNED.getCode()
-                        || logisticsOrder1.getStatus() == LogisticsOrderEnum.PENDING_ORDER.getCode()
-                        || logisticsOrder1.getStatus() == LogisticsOrderEnum.WAIT_DELIVERY.getCode()
-                        || logisticsOrder1.getStatus() == LogisticsOrderEnum.IN_TRANSIT.getCode()) {
-                    //下级分包承运订单运输未完成
-                    return;
-                }
-            }
-            /**下级分包承运订单运输完成**/
-            logisticsOrder.setStatus(LogisticsOrderEnum.HAVE_FINISHED.getCode());
-            logisticsOrderDao.updateById(logisticsOrder);
-
-            /**承运订单状态记录**/
-            KwtLogisticsOrderTrack orderTrack = new KwtLogisticsOrderTrack();
-            orderTrack.setLOrderId(logisticsOrder.getId());
-            orderTrack.setStatus(logisticsOrder.getStatus());
-            orderTrack.setRemark(LogisticsOrderEnum.getName(logisticsOrder.getStatus()));
-            logisticsOrderTrackDao.insert(orderTrack);
-
-            /**Mongodb数据更新**/
-            //2承运订单
-            SckwLogisticsOrder lOrder = new SckwLogisticsOrder();
-            editSckwLogisticsOrder(lOrder, logisticsOrder);
-        }
-
-        /**2当前物流订单属于分包(存在上级物流订单)**/
-        //获取所有上级物流订单ID(当前物流订单ID除外)
-        String pids = logisticsOrder.getPids();
-        if (StringUtils.isNotBlank(pids)) {
-            List<Long> idArray = (List)Arrays.asList(pids);
-            for (Long id : idArray) {
-                //当前物流订单ID除外
-                if (id != lOrderId) {
-                    /**校验当前承运订单是否运输完成**/
-                    checkLogisticsByStatus(id);
-                }
-            }
-        }
-    }
-
     /**
      * @param lOrderId 承运订单ID
      * @description 校验当前承运订单是否运输完成(修改状态+统计量)
      * @author zk
      * @date 2023/7/27
      **/
-    public void checkLogisticsByStatusV1(Long lOrderId) {
+    public void checkLogisticsByStatus(Long lOrderId) {
         /**
          校验当前承运订单是否运输完成(虑该当前承运订单上下级物流订单)
          1存在下级分包,下级物流订单和当前物流订单全部运输完成则修改当前物流订单状态为已完成(HAVE_FINISHED)、统计值
          2当前物流订单属于分包:需要判断上级及同级分包全部运输完成修改上级物流订单状态为已完成(HAVE_FINISHED)、统计值-一直向上到一级物流订单
          **/
-        //承运单信息
-        KwtLogisticsOrder logisticsOrder = logisticsOrderDao.selectById(lOrderId);
 
         /**1存在下级分包**/
+        KwtLogisticsOrder logisticsOrder = logisticsOrderDao.selectById(lOrderId);
         boolean subcontractBool = true;
         BigDecimal subcontractAmount = logisticsOrder.getSubcontractAmount() == null ? new BigDecimal(Global.AMOUNT) : logisticsOrder.getSubcontractAmount();
         if (subcontractAmount.compareTo(new BigDecimal(Global.AMOUNT)) > 0) {
@@ -1532,8 +1455,10 @@ public class KwtWaybillOrderService {
         }
 
         /**校验当前承运订单是否运输完成**/
-        WaybillCountVo waybillCount = waybillOrderDao.findWaybillOrderCount( new HashMap(){{put("lOrderId", logisticsOrder.getId());
-            put("passStatus", 1); }});
+        //车辆运单统计
+        WaybillCountVo waybillCount = waybillOrderDao.findWaybillOrderCount( new HashMap(){{put("upperlOrderId", logisticsOrder.getId()); put("passStatus", 1); }});
+        logisticsOrder.setTotalLoadAmount(waybillCount.getLoadAmount());
+        logisticsOrder.setTotalUnloadAmount(waybillCount.getUnloadAmount());
         //物流运单状态(不包含已完成、已对账、已结算)+ 物流订单上级委派量-下游分包总量 <= 自己承运总装货量 + 下级分包全部运输完成
         if (!LogisticsOrderEnum.transportCompleted(logisticsOrder.getStatus())
                 && logisticsOrder.getAmount().subtract(subcontractAmount).compareTo(waybillCount.getLoadAmount()) <= 0
@@ -1568,25 +1493,16 @@ public class KwtWaybillOrderService {
             }
         }
 
-        //车辆运单统计
-        /**1-5Mongodb数据更新**/
-        //车辆运单统计
-        Map queryParams = new HashMap();
-        queryParams.put("lOrderId", logisticsOrder.getId());
-        queryParams.put("unloadCountStatus", 1);
-        queryParams.put("upperlOrderId", logisticsOrder.getId());
-        waybillCount = waybillOrderDao.findWaybillOrderCount(queryParams);
+        /**1-5更新贸易订单总量**/
+        if (logisticsLevel(logisticsOrder) == Global.NUMERICAL_ONE) {
+            //------------------------------------- zk 2023-08-08
+        }
 
+        /**1-6Mongodb数据更新**/
         //承运订单
         SckwLogisticsOrder lOrder = new SckwLogisticsOrder();
-        lOrder.setLoadTime(waybillCount.getLoadTime());
-        lOrder.setUnloadTime(waybillCount.getUnloadTime());
         lOrder.setTotalLoadAmount(waybillCount.getLoadAmount());
         lOrder.setTotalUnloadAmount(waybillCount.getUnloadAmount());
-        lOrder.setDeficitTotalAmount(waybillCount.getDeficitAmount());
-        BigDecimal deficitPrice = deficitPrice(waybillCount.getLoadAmount(), waybillCount.getDeficitAmount(),
-                logisticsOrder.getLoss(), logisticsOrder.getGoodsPrice());
-        lOrder.setDeficitPrice(deficitPrice);
         editSckwLogisticsOrder(lOrder, logisticsOrder);
 
         /**2当前物流订单属于分包(存在上级物流订单)**/
@@ -1599,7 +1515,7 @@ public class KwtWaybillOrderService {
                 //当前物流订单ID除外
                 if (!pid.equals(lOrderId)) {
                     /**校验当前承运订单是否运输完成**/
-                    checkLogisticsByStatusV1(pid);
+                    checkLogisticsByStatus(pid);
                 }
             }
         }
@@ -1636,58 +1552,27 @@ public class KwtWaybillOrderService {
         BeanUtils.copyProperties(params, ticket);
         waybillOrderTicketDao.updateById(ticket);
 
-        /**4跟新司机/车辆数据**/
-        //更新司机信息
-        editDriver(waybillOrder.getDriverId());
-        //更新车辆信息
-        editTruck(waybillOrder.getTruckId());
-
-        /**5更新承运订单信息**/
-        Map queryParams = new HashMap();
-        queryParams.put("lOrderId", waybillOrder.getLOrderId());
-        queryParams.put("loadCountStatus", params.getType() == 1 ? 1 : null);
-        queryParams.put("unloadCountStatus", params.getType() == 2 ? 1 : null);
-        WaybillCountVo waybillCount = waybillOrderDao.findWaybillOrderCount(queryParams);
-
-        //更新卸货量/卸货时间/亏吨/亏吨扣款
-        logisticsOrder.setLoadAmount(waybillCount.getLoadAmount());
-        logisticsOrder.setLoadTime(waybillCount.getLoadTime());
-        logisticsOrder.setUnloadAmount(waybillCount.getUnloadAmount());
-        logisticsOrder.setUnloadTime(waybillCount.getUnloadTime());
-        logisticsOrder.setDeficitAmount(waybillCount.getDeficitAmount());
-        deficitPrice = deficitPrice(waybillCount.getLoadAmount(), waybillCount.getDeficitAmount(),
-                logisticsOrder.getLoss(), logisticsOrder.getGoodsPrice());
-        logisticsOrder.setDeficitPrice(deficitPrice);
-        logisticsOrderDao.updateById(logisticsOrder);
-
-        //有更新装卸货量才会更新物流订单量
-        if (waybillOrder.getLoadAmount().compareTo(params.getAmount()) != 0
-                || waybillOrder.getUnloadAmount().compareTo(params.getAmount()) != 0) {
-            //校验当前承运订单是否运输完成(修改状态+统计量)
-            checkLogisticsByStatusV1(waybillOrder.getLOrderId());
-        }
-
-        /**6Mongodb数据更新**/
+        /**4Mongodb数据更新**/
         //1车辆运单
         SckwWaybillOrder wOrder = new SckwWaybillOrder();
         wOrder.set_id(waybillOrder.getId());
         wOrder.setLoadAmount(waybillOrder.getLoadAmount());
-        wOrder.setLoadTime(params.getType() == 1 ? params.getTime() : null);
+        wOrder.setLoadTime(params.getType() == 1 ? params.getOperateTime() : null);
         wOrder.setUnloadUrls(params.getType() == 1 ? params.getUrls() : null);
         wOrder.setUnloadAmount(waybillOrder.getUnloadAmount());
-        wOrder.setUnloadTime(params.getType() == 2 ? params.getTime() : null);
+        wOrder.setUnloadTime(params.getType() == 2 ? params.getOperateTime() : null);
         wOrder.setLoadUrls(params.getType() == 2 ? params.getUrls() : null);
         wOrder.setDeficitAmount(waybillOrder.getDeficitAmount());
         wOrder.setDeficitPrice(waybillOrder.getDeficitPrice());
         editSckwWaybillOrder(wOrder, waybillOrder, 2);
 
         //2承运订单
-        SckwLogisticsOrder lOrder = new SckwLogisticsOrder();
+        /*SckwLogisticsOrder lOrder = new SckwLogisticsOrder();
         lOrder.setUnloadTime(logisticsOrder.getUnloadTime());
         lOrder.setUnloadAmount(logisticsOrder.getUnloadAmount());
         lOrder.setDeficitAmount(logisticsOrder.getDeficitAmount());
         lOrder.setDeficitPrice(logisticsOrder.getDeficitPrice());
-        editSckwLogisticsOrder(lOrder, logisticsOrder);
+        editSckwLogisticsOrder(lOrder, logisticsOrder);*/
 
         return HttpResult.ok("修改单证成功!");
     }
@@ -1699,7 +1584,7 @@ public class KwtWaybillOrderService {
      * @date 2023/7/26
      **/
     public HttpResult approvalTicket(WaybillOrderApprovalDto params) {
-        /**数据校验**/
+        /**1数据校验**/
         KwtWaybillOrder waybillOrder = waybillOrderDao.selectById(params.getWOrderId());
         if (waybillOrder == null) {
             return HttpResult.error("车辆运单不存在!");
@@ -1714,25 +1599,61 @@ public class KwtWaybillOrderService {
             return HttpResult.error("车辆运单当前状态只能审批通过或审批不通过!");
         }
 
-        /**业务处理**/
-        /**1更新车辆运单**/
+        /**2更新车辆运单**/
         int status = params.getStatus() == Global.NO ? CarWaybillEnum.APPROVAL_PASS.getCode() : CarWaybillEnum.APPROVAL_NO_PASS.getCode();
         waybillOrder.setStatus(status);
         waybillOrderDao.updateById(waybillOrder);
 
-        /**2新增运单状态记录**/
+        /**3新增运单状态记录**/
         setWaybillOrderTrack(waybillOrder.getId(), waybillOrder.getStatus(), params.getRemark());
 
-        /**3Mongodb数据更新**/
+        if (waybillOrder.getStatus() == CarWaybillEnum.APPROVAL_PASS.getCode()) {
+            /**4跟新司机/车辆数据**/
+            //更新司机信息
+            editDriver(waybillOrder.getDriverId());
+            //更新车辆信息
+            editTruck(waybillOrder.getTruckId());
+
+            /**5更新承运订单信息**/
+            Map queryParams = new HashMap();
+            queryParams.put("lOrderId", waybillOrder.getLOrderId());
+            queryParams.put("passStatus", 1);
+            WaybillCountVo waybillCount = waybillOrderDao.findWaybillOrderCount(queryParams);
+
+            //更新卸货量/卸货时间/亏吨/亏吨扣款
+            KwtLogisticsOrder logisticsOrder = logisticsOrderDao.selectById(waybillOrder.getLOrderId());
+            logisticsOrder.setLoadAmount(waybillCount.getLoadAmount());
+            logisticsOrder.setLoadTime(waybillCount.getLoadTime());
+            logisticsOrder.setUnloadAmount(waybillCount.getUnloadAmount());
+            logisticsOrder.setUnloadTime(waybillCount.getUnloadTime());
+            logisticsOrder.setDeficitAmount(waybillCount.getDeficitAmount());
+            BigDecimal deficitPrice = deficitPrice(waybillCount.getLoadAmount(), waybillCount.getDeficitAmount(),
+                    logisticsOrder.getLoss(), logisticsOrder.getGoodsPrice());
+            logisticsOrder.setDeficitPrice(deficitPrice);
+            logisticsOrderDao.updateById(logisticsOrder);
+
+            /**6Mongodb数据更新**/
+            //2承运订单
+            SckwLogisticsOrder lOrder = new SckwLogisticsOrder();
+            lOrder.setLoadAmount(logisticsOrder.getLoadAmount());
+            lOrder.setLoadTime(logisticsOrder.getLoadTime());
+            lOrder.setUnloadAmount(logisticsOrder.getUnloadAmount());
+            lOrder.setUnloadTime(logisticsOrder.getUnloadTime());
+            lOrder.setDeficitAmount(logisticsOrder.getDeficitAmount());
+            lOrder.setDeficitPrice(logisticsOrder.getDeficitPrice());
+            editSckwLogisticsOrder(lOrder, logisticsOrder);
+
+            /**7校验当前承运订单是否运输完成(修改状态+统计量)**/
+            checkLogisticsByStatus(waybillOrder.getLOrderId());
+        }
+
+        /**8Mongodb数据更新**/
         //1车辆运单
         SckwWaybillOrder wOrder = new SckwWaybillOrder();
         wOrder.set_id(waybillOrder.getId());
         editSckwWaybillOrder(wOrder, waybillOrder, 2);
 
-        /**4校验当前承运订单是否运输完成(修改状态+统计量)**/
-        checkLogisticsByStatusV1(waybillOrder.getLOrderId());
-
-        /**4发送消息**/
+        /**8发送消息**/
 
         return HttpResult.ok("车辆运单审核完成!");
     }
@@ -1773,10 +1694,77 @@ public class KwtWaybillOrderService {
         remoteFleetService.updateById(truck);
     }
 
-    /** 当前物流订单是全量下游则只能全量、否则可委托量或全量
+    /** 当前物流订单是全量下游则只能全量可运、否则可委托量或全量
+        校验上游是否全量,并获取全量跟节点物流订单或贸易订单(可委派量)
      1、派车、循环派车接单需校验贸易订单/物流订单是否委派完成;
      2、装货需要统计物流订单总装货量;
      3、卸货需要统计物流订单总卸货量,变更上游状态;
-
      */
+
+    /**
+     * @param lOrderId 物流订单信息ID
+     * @param entrustAmount 委托量
+     * @desc 校验委托量是否大于剩余可运量(趟次派车/循环运单接单、委托/全量可运)
+     * @author zk
+     * @date 2023/8/7
+     **/
+    public boolean checkResidueAmount(Long lOrderId, BigDecimal entrustAmount) {
+        //物流订单
+        KwtLogisticsOrder logisticsOrder = logisticsOrderDao.selectById(lOrderId);
+        /**存在全量可运**/
+        if (isComplete(logisticsOrder)) {
+            //获取所有上级物流订单ID(当前物流订单ID除外)
+            List<Long> idArray = (List)CollectionUtils.toList(logisticsOrder.getPids(), false);
+            for (Long id : idArray) {
+                //当前物流订单ID除外
+                if (id != lOrderId) {
+                    KwtLogisticsOrder order = logisticsOrderDao.selectById(id);
+                    if (!isComplete(order)) {
+
+                    }
+                }
+            }
+
+
+        }
+        return true;
+    }
+
+    /**
+     * @param params 物流订单信息
+     * @desc 校验物流订单是否全量可运
+     * @author zk
+     * @date 2023/8/7
+     **/
+    public boolean isComplete(KwtLogisticsOrder params) {
+        if (params == null) {
+            return true;
+        }
+
+        //全量可运-已委托量(上游给他分配的量)为0
+        BigDecimal entrustAmount = params.getEntrustAmount() == null ? new BigDecimal(Global.AMOUNT) : params.getEntrustAmount();
+        if (entrustAmount.compareTo(new BigDecimal(Global.AMOUNT)) == 0) {
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * @param params 物流订单信息
+     * @desc 校验物流订单是否有分包
+     * @author zk
+     * @date 2023/8/7
+     **/
+    public boolean isSubcontract(KwtLogisticsOrder params) {
+        if (params == null) {
+            return true;
+        }
+
+        //存在下级分包
+        BigDecimal subcontractAmount = params.getSubcontractAmount() == null ? new BigDecimal(Global.AMOUNT) : params.getSubcontractAmount();
+        if (subcontractAmount.compareTo(new BigDecimal(Global.AMOUNT)) > 0) {
+            return true;
+        }
+        return false;
+    }
 }

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

@@ -155,7 +155,7 @@
         count(case when wo.status not in (3, 4, 5, 6) then 1 end) totalExecute,
         IFNULL(SUM(wo.entrust_amount), 0.0) entrustAmount, IFNULL(SUM(wo.load_amount), 0.0) loadAmount,
         IFNULL(SUM(wo.unload_amount), 0.0) unloadAmount, IFNULL(SUM(wo.deficit_amount), 0.0) deficitAmount,
-        MIN(wot1.time) loadTime, MAX(wot2.time) unloadTime
+        MIN(wot1.operate_time) loadTime, MAX(wot2.operate_time) unloadTime
         from kwt_waybill_order wo
         left join kwt_waybill_order_ticket wot1 on wot1.w_order_id = wo.id and wot1.type = 1 and wot1.del_flag = 0
         left join kwt_waybill_order_ticket wot2 on wot2.w_order_id = wo.id and wot2.type = 2 and wot2.del_flag = 0

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

@@ -9,7 +9,7 @@
         <result column="gross_amount" jdbcType="DECIMAL" property="grossAmount" />
         <result column="tare_amount" jdbcType="DECIMAL" property="tareAmount" />
         <result column="urls" jdbcType="VARCHAR" property="urls" />
-        <result column="time" jdbcType="TIMESTAMP" property="time" />
+        <result column="operate_time" jdbcType="TIMESTAMP" property="operateTime" />
         <result column="remark" jdbcType="VARCHAR" property="remark" />
         <result column="status" jdbcType="INTEGER" property="status" />
         <result column="create_by" jdbcType="BIGINT" property="createBy" />
@@ -19,14 +19,14 @@
         <result column="del_flag" jdbcType="INTEGER" property="delFlag" />
     </resultMap>
     <sql id="Base_Column_List">
-        id, w_order_id, `type`, amount, gross_amount, tare_amount, urls, time, remark, `status`,
+        id, w_order_id, `type`, amount, gross_amount, tare_amount, urls, operate_time, remark, `status`,
         create_by, create_time, update_by, update_time, del_flag
     </sql>
 
     <select id="findWaybillOrderTicket" resultType="com.sckw.transport.model.KwtWaybillOrderTicket" >
         select
         id, w_order_id wOrderId, `type`, amount, gross_amount grossAmount, tare_amount tareAmount,
-        urls, time, remark, `status`, create_by createBy, create_time createTime, update_by updateBy,
+        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