Просмотр исходного кода

根据原型修改日期/时间格式传递

lengfaqiang 2 лет назад
Родитель
Сommit
8a3e854387
16 измененных файлов с 180 добавлено и 186 удалено
  1. 1 1
      sckw-common/sckw-common-mongo/src/main/java/com/sckw/mongo/model/SckwLogisticsOrder.java
  2. 2 3
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwAcceptCarriageService.java
  3. 2 3
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwConsignService.java
  4. 5 3
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/AcceptCarriageOrderController.java
  5. 0 87
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwoTradeOrderAddress.java
  6. 3 2
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrder.java
  7. 5 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderGoods.java
  8. 10 15
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/AddOrderDTO.java
  9. 6 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/StopOrderTakingDTO.java
  10. 13 13
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/SubcontractConsignmentDTO.java
  11. 10 4
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/LogisticsConsignmentParam.java
  12. 7 2
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/OrderDetailVO.java
  13. 90 26
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/AcceptCarriageOrderService.java
  14. 6 5
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ConsignOrderService.java
  15. 18 19
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/LogisticsConsignmentService.java
  16. 2 3
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/TransportCommonService.java

+ 1 - 1
sckw-common/sckw-common-mongo/src/main/java/com/sckw/mongo/model/SckwLogisticsOrder.java

@@ -432,7 +432,7 @@ public class SckwLogisticsOrder {
     /**
      * 分配的承运量
      */
-    private Long carryingCapacity;
+    private BigDecimal carryingCapacity;
 
     /**
      * 计费方式

+ 2 - 3
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwAcceptCarriageService.java

@@ -26,7 +26,6 @@ import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Service;
 
-import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -136,7 +135,7 @@ public class KwAcceptCarriageService {
         // 10. 分页
         query1.with(PageRequest.of(query.getPage() - 1, query.getPageSize(),
                 // 11. 排序list = {ArrayList@27436}  size = 3returnList = {ArrayList@27393}  size = 3
-                Sort.by(Sort.Order.desc("createTime"))));
+                Sort.by(Sort.Direction.DESC,"lOrderId","createTime")));
         // 执行查询
         List<SckwLogisticsOrder> list = mongoTemplate.find(query1, SckwLogisticsOrder.class);
         List<AcceptCarriageOrderVo> returnList = new ArrayList<>();
@@ -255,7 +254,7 @@ public class KwAcceptCarriageService {
             vo.setCarrierOrder(logisticsOrder.getWOrderNo());
             vo.setCarrierPhone(logisticsOrder.getCarrierPhone());
             vo.setCarryingCapacity(logisticsOrder.getCarryingCapacity() == null ?
-                    null : BigDecimal.valueOf(logisticsOrder.getCarryingCapacity()));
+                    null : logisticsOrder.getCarryingCapacity());
             vo.setConsignCompanyId(String.valueOf(logisticsOrder.getCheckEntId()));
             vo.setConsignCompany(logisticsOrder.getCheckFirmName());
             vo.setConsignContacts(logisticsOrder.getCheckContacts());

+ 2 - 3
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwConsignService.java

@@ -26,7 +26,6 @@ import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Service;
 
-import java.math.BigDecimal;
 import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -137,7 +136,7 @@ public class KwConsignService {
         // 10. 分页
         query1.with(PageRequest.of(query.getPage() - 1, query.getPageSize(),
                 // 11. 排序list = {ArrayList@27436}  size = 3returnList = {ArrayList@27393}  size = 3
-                Sort.by(Sort.Order.desc("createTime"))));
+                Sort.by(Sort.Direction.DESC,"lOrderId","createTime")));
         // 执行查询
         List<SckwLogisticsOrder> list = mongoTemplate.find(query1, SckwLogisticsOrder.class);
         List<ConsignOrderVo> returnList = new ArrayList<>();
@@ -165,7 +164,7 @@ public class KwConsignService {
             vo.setCarrierOrder(logisticsOrder.getWOrderNo());
             vo.setCarrierPhone(logisticsOrder.getCarrierPhone());
             vo.setCarryingCapacity(logisticsOrder.getCarryingCapacity() == null ?
-                    null : BigDecimal.valueOf(logisticsOrder.getCarryingCapacity()));
+                    null : logisticsOrder.getCarryingCapacity());
             vo.setConsignCompany(logisticsOrder.getCheckFirmName());
             vo.setConsignContacts(logisticsOrder.getCheckContacts());
             vo.setConsignPhone(logisticsOrder.getCheckPhone());

+ 5 - 3
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/AcceptCarriageOrderController.java

@@ -192,6 +192,7 @@ public class AcceptCarriageOrderController {
      */
     @RequestMapping(value = "/stopDocumentDetail", method = RequestMethod.POST)
     public HttpResult stopDocumentDetail(@Validated @RequestBody DriverParam driverParam) {
+        log.info("承运订单-设置停止接单-查询 请求参数:{}", JSONObject.toJSONString(driverParam));
         try {
             return acceptCarriageOrderService.stopDocumentDetail(driverParam);
         } catch (Exception e) {
@@ -201,17 +202,18 @@ public class AcceptCarriageOrderController {
     }
 
     /**
-     * 承运订单-设置停止接单-提交
+     * 承运订单/托运订单-设置停止接单-提交
      *
      * @param stopOrderTakingDTO
      * @return
      */
     @RequestMapping(value = "/stopDocumentCommit", method = RequestMethod.POST)
     public HttpResult stopDocumentCommit(@Validated @RequestBody StopOrderTakingDTO stopOrderTakingDTO) {
+        log.info("承运订单/托运订单-设置停止接单-提交 请求参数:{}", JSONObject.toJSONString(stopOrderTakingDTO));
         try {
             return acceptCarriageOrderService.stopDocumentCommit(stopOrderTakingDTO);
         } catch (Exception e) {
-            log.error("承运订单-设置停止接单-提交 error:{}", e.getMessage(), e);
+            log.error("承运订单/托运订单-设置停止接单-提交 error:{}", e.getMessage(), e);
             return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
         }
     }
@@ -224,7 +226,7 @@ public class AcceptCarriageOrderController {
      */
     @RequestMapping(value = "/cancelDelivery", method = RequestMethod.GET)
     public HttpResult cancelDelivery(@NotBlank(message = "车辆运单id不能为空") @RequestParam("ids") String ids) {
-        log.info("承运订单-取消派车(撤回派车)/单趟撤回请求参数:{}",ids);
+        log.info("承运订单-取消派车(撤回派车)/单趟撤回请求参数:{}", ids);
         List<String> lists = StringUtils.splitStrToList(ids, ",", String.class);
         try {
             return acceptCarriageOrderService.cancelDelivery(lists);

+ 0 - 87
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwoTradeOrderAddress.java

@@ -1,87 +0,0 @@
-package com.sckw.transport.model;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.sckw.core.model.base.BaseModel;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import lombok.experimental.Accessors;
-
-/**
- * @desc: 交易订单装卸货地址信息
- * @author: yzc
- * @date: 2023-06-25 9:31
- */
-@Getter
-@Setter
-@ToString
-@Accessors(chain = true)
-@TableName("kwo_trade_order_address")
-public class KwoTradeOrderAddress extends BaseModel {
-
-    /**
-     * 交易订单id
-     */
-    private Long tOrderId;
-
-    /**
-     * 订单编号
-     */
-    private String tOrderNo;
-
-    /**
-     * 地址类型(1装货地址、2卸货地址)
-     */
-    private Integer addressType;
-
-    /**
-     * 地址名称
-     */
-    private String name;
-
-    /**
-     * 地址类型
-     */
-    private Long type;
-
-    /**
-     * 联系人姓名
-     */
-    private String contacts;
-
-    /**
-     * 联系电话
-     */
-    private String phone;
-
-    /**
-     * 所在地区
-     */
-    private Integer cityCode;
-
-    /**
-     * 所属区域名称
-     */
-    private String cityName;
-
-    /**
-     * 详细地址
-     */
-    private String detailAddress;
-
-    /**
-     * 纬度
-     */
-    private String lat;
-
-    /**
-     * 经度
-     */
-    private String lng;
-
-    /**
-     * 电子围栏
-     */
-    private String fence;
-
-}

+ 3 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrder.java

@@ -11,6 +11,7 @@ import lombok.Data;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.util.Date;
 import java.util.List;
 
@@ -126,12 +127,12 @@ public class KwtLogisticsOrder implements Serializable {
     /**
      * 计划开始日期
      */
-    private Date startTime;
+    private LocalDate startTime;
 
     /**
      * 计划结束日期
      */
-    private Date endTime;
+    private LocalDate endTime;
 
     /**
      * 分包量

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

@@ -41,6 +41,11 @@ public class KwtLogisticsOrderGoods implements Serializable {
      */
     private String goodsName;
 
+    /**
+     * 货物分类
+     */
+    private String goodsType;
+
     /**
      * sku
      */

+ 10 - 15
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/AddOrderDTO.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import org.hibernate.validator.constraints.Length;
 
 import java.math.BigDecimal;
+import java.time.LocalDate;
 
 /**
  * @author lfdc
@@ -67,6 +68,12 @@ public class AddOrderDTO {
     @NotNull(message = "货物名称不能为空")
     private String goodsName;
 
+    /**
+     * 货物类型
+     */
+    @NotNull(message = "货物类型不能为空")
+    private String goodsType;
+
     /**
      * 计费方式
      */
@@ -126,7 +133,7 @@ public class AddOrderDTO {
     /**
      * 合理损耗
      */
-    @Digits(integer = 7, fraction = 2, message = "合理损耗格式错误")
+    @Digits(integer = 5, fraction = 2, message = "合理损耗格式错误")
     @DecimalMin(value = "0.00", message = "合理损耗最小值为{value}")
     private BigDecimal loss;
 
@@ -153,14 +160,14 @@ public class AddOrderDTO {
      */
     @NotBlank(message = "计划卸货时间不能为空")
     @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
-    private String endTime;
+    private LocalDate endTime;
 
     /**
      * 计划发货时间
      */
     @NotBlank(message = "计划发货时间不能为空")
     @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
-    private String startTime;
+    private LocalDate startTime;
 
     /**
      * 结算周期(周结、月结、季结)
@@ -201,18 +208,6 @@ public class AddOrderDTO {
     @Length(max = 200, message = "单据编号长度错误最大长度:{max}")
     private String remark;
 
-    /**
-     * 联系人
-     */
-    @NotBlank(message = "联系人不能为空")
-    private String contacts;
-
-    /**
-     * 联系电话
-     */
-    @NotBlank(message = "联系电话不能为空")
-    private String phone;
-
     /**
      * 装货城市编码
      */

+ 6 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/StopOrderTakingDTO.java

@@ -23,4 +23,10 @@ public class StopOrderTakingDTO {
     @JsonProperty("lOrderId")
     private String lOrderId;
 
+    /**
+     * 1托运 2承运
+     */
+    @JsonProperty("type")
+    private String type;
+
 }

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

@@ -10,7 +10,7 @@ import org.hibernate.validator.constraints.Length;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.math.BigDecimal;
-import java.util.Date;
+import java.time.LocalDate;
 
 
 /**
@@ -24,11 +24,11 @@ public class SubcontractConsignmentDTO /**implements IdsList*/ {
     /**
      *总量
      */
-    private Long amount;
+    private BigDecimal amount;
     /**
      * 分配承运量
      */
-    private Long carryingCapacity;
+    private BigDecimal carryingCapacity;
     /**
      * 分配承运量使用的单位
      */
@@ -175,20 +175,20 @@ public class SubcontractConsignmentDTO /**implements IdsList*/ {
     private String priceType;
 
     /**
-     * 计划卸货时间
+     * 计划卸货日期
      */
-    @NotNull(message = "计划卸货时间不能为空")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date receiveGoodsDateTime;
+    @NotNull(message = "计划卸货日期不能为空")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private LocalDate receiveGoodsDateTime;
 
     /**
-     * 计划发货时间
+     * 计划发货日期
      */
-    @NotNull(message = "计划发货时间不能为空")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date shipmentsDateTime;
+    @NotNull(message = "计划发货日期不能为空")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private LocalDate shipmentsDateTime;
 
     /**
      * 税率

+ 10 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/LogisticsConsignmentParam.java

@@ -3,12 +3,16 @@ package com.sckw.transport.model.param;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.validation.constraints.DecimalMin;
+import jakarta.validation.constraints.Digits;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.hibernate.validator.constraints.Length;
 
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
 /**
  * @author lfdc
  * @description 物流托运bo
@@ -21,11 +25,13 @@ public class LogisticsConsignmentParam {
     /**
      *总量
      */
-    private Long amount;
+    private BigDecimal amount;
     /**
      * 分配承运量
      */
-    private Long carryingCapacity;
+    @Digits(integer = 10,fraction = 2,message = "分配承运量格式不正确")
+    @DecimalMin(value = "0.00",message = "分配承运量不能小于{value}")
+    private BigDecimal carryingCapacity;
     /**
      * 分配承运量使用的单位(吨、方、箱、件))
      */
@@ -186,14 +192,14 @@ public class LogisticsConsignmentParam {
     @NotNull(message = "计划卸货时间不能为空")
     @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
 //    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private String receiveGoodsDateTime;
+    private LocalDate receiveGoodsDateTime;
     /**
      * 计划发货时间
      */
     @NotNull(message = "计划发货时间不能为空")
     @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
 //    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private String shipmentsDateTime;
+    private LocalDate shipmentsDateTime;
     /**
      * 税率
      */

+ 7 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/OrderDetailVO.java

@@ -1,7 +1,10 @@
 package com.sckw.transport.model.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
+import java.time.LocalDate;
+
 /**
  * @author lfdc
  * @description 订单详情vo
@@ -81,11 +84,13 @@ public class OrderDetailVO {
     /**
      * 计划结束时间
      */
-    private String scheduleEndTime;
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private LocalDate scheduleEndTime;
     /**
      * 计划开始时间
      */
-    private String scheduleStartTime;
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private LocalDate scheduleStartTime;
     /**
      * 结算周期
      */

+ 90 - 26
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/AcceptCarriageOrderService.java

@@ -14,11 +14,13 @@ import com.sckw.core.exception.BusinessException;
 import com.sckw.core.model.enums.CarWaybillEnum;
 import com.sckw.core.model.enums.LogisticsOrderEnum;
 import com.sckw.core.model.page.PageResult;
-import com.sckw.core.utils.*;
+import com.sckw.core.utils.CollectionUtils;
+import com.sckw.core.utils.IdWorker;
+import com.sckw.core.utils.RegularUtils;
+import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.response.HttpResult;
-import com.sckw.excel.utils.DateUtil;
 import com.sckw.excel.utils.ValidUtil;
 import com.sckw.fleet.api.RemoteFleetService;
 import com.sckw.fleet.api.model.vo.RTruckVo;
@@ -49,7 +51,6 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
 import java.math.BigDecimal;
-import java.text.ParseException;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -147,16 +148,16 @@ public class AcceptCarriageOrderService {
         }
         KwtLogisticsOrder order = new KwtLogisticsOrder();
         if (!bo.getIsFullDose()) {
-            Long amount = bo.getAmount();
-            Long carryingCapacity = bo.getCarryingCapacity();
-            if (carryingCapacity > amount) {
+            BigDecimal amount = bo.getAmount();
+            BigDecimal carryingCapacity = bo.getCarryingCapacity();
+            if (carryingCapacity.compareTo(amount) < 0) {
                 log.error("运订单分包托运-可分配量分配错误:{}", bo.getLOrderId());
                 throw new RuntimeException("可分配量分配错误");
             }
             if (ArrayUtil.isEmpty(bo.getCarryingCapacity())) {
                 throw new RuntimeException("不是全量分配时,分配量不能为空!");
             }
-            order.setAmount(new BigDecimal(bo.getCarryingCapacity()));
+            order.setAmount(bo.getCarryingCapacity());
             order.setUnit(bo.getCarryingCapacityUnit());
         } else {
             order.setAmount(new BigDecimal(NumberConstant.ZERO));
@@ -216,7 +217,7 @@ public class AcceptCarriageOrderService {
         insertSubcontractLogisticsOrderAddress(bo, orderId, logisticsOrder);
         insertLogisticsOrderTrack(bo, orderId, orderStatus);
         //修改上级分配量以及可分配量委托量等
-        logisticsOrder.setSubcontractAmount(logisticsOrder.getSubcontractAmount().add(new BigDecimal(bo.getCarryingCapacity())));
+        logisticsOrder.setSubcontractAmount(logisticsOrder.getSubcontractAmount().add(bo.getCarryingCapacity()));
         logisticsOrderMapper.updateById(logisticsOrder);
         //修改父级mongodb数据
         //更新mongodb
@@ -228,7 +229,8 @@ public class AcceptCarriageOrderService {
         lOrder.setUpdateTime(order.getUpdateTime());
         lOrder.setUpdateBy(order.getUpdateBy());
         lOrder.setUpdateByName(LoginUserHolder.getUserName());
-        lOrder.setSubcontractAmount(logisticsOrder.getSubcontractAmount().add(new BigDecimal(bo.getCarryingCapacity())));        //rabbitMq业务汇总数据发送/消费对象
+        lOrder.setSubcontractAmount(logisticsOrder.getSubcontractAmount().add(bo.getCarryingCapacity()));
+        //rabbitMq业务汇总数据发送/消费对象
         SckwBusSum busSum = new SckwBusSum();
         //业务汇总类型
         busSum.setBusSumType(BusinessTypeEnum.LOGISTICS_ORDER_TYPE.getName());
@@ -266,13 +268,13 @@ public class AcceptCarriageOrderService {
             if (ArrayUtil.isEmpty(bo.getCarryingCapacity())) {
                 throw new RuntimeException("不是全量分配时,分配量不能为空!");
             }
-            logisticsOrder.setAmount(new BigDecimal(bo.getCarryingCapacity()));
+            logisticsOrder.setAmount(bo.getCarryingCapacity());
             logisticsOrder.setUnit(bo.getCarryingCapacityUnit());
             logisticsOrder.setCarryingCapacity(bo.getCarryingCapacity());
         } else {
-            logisticsOrder.setAmount(new BigDecimal(NumberConstant.ZERO));
-            logisticsOrder.setSubcontractAmount(new BigDecimal(NumberConstant.ZERO));
-            logisticsOrder.setCarryingCapacity(0L);
+            logisticsOrder.setAmount(new BigDecimal("0.00"));
+            logisticsOrder.setSubcontractAmount(new BigDecimal("0.00"));
+            logisticsOrder.setCarryingCapacity(new BigDecimal("0.00"));
         }
         logisticsOrder.setLoss(bo.getLoss() == null ? null : bo.getLoss());
         logisticsOrder.setLossUnit(bo.getLossUnit());
@@ -522,7 +524,7 @@ public class AcceptCarriageOrderService {
         order.setPrice(new BigDecimal(bo.getPrice()));
         order.setPriceType(remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.PRICE_TYPE.getType(), bo.getPriceType()) == null ?
                 null : Long.parseLong(remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.PRICE_TYPE.getType(), bo.getPriceType()).getValue()));
-        order.setAmount(new BigDecimal(bo.getCarryingCapacity()));
+        order.setAmount(bo.getCarryingCapacity());
         order.setBillingMode(bo.getBillingMode());
         order.setLoss(bo.getLoss());
 //        order.setLossUnit(bo.getLossUnit());
@@ -886,6 +888,23 @@ public class AcceptCarriageOrderService {
         List<String> stringList = StringUtils.splitStrToList(stopOrderTakingDTO.getIds(), ",", String.class);
         List<Long> wOrderIds = logisticsOrderCirculateMapper.selectEntityBylOrderIdAndOrderIds(stopOrderTakingDTO.getLOrderId(), stringList);
         List<JSONObject> list = new ArrayList<>(stringList.size());
+        String type = stopOrderTakingDTO.getType();
+        if (String.valueOf(NumberConstant.TWO).equals(type)){
+            acceptStopDocumentCommit(stopOrderTakingDTO,list,wOrderIds);
+        }else if (String.valueOf(NumberConstant.ONE).equals(type)){
+            consignStopDocumentCommit(stopOrderTakingDTO,list,wOrderIds);
+        }else {
+           return HttpResult.error("单据类型错误!");
+        }
+        return HttpResult.ok(list);
+    }
+
+    /**
+     * 托运订单-设置停止接单
+     * @param stopOrderTakingDTO
+     */
+    private void consignStopDocumentCommit(StopOrderTakingDTO stopOrderTakingDTO,List<JSONObject> list,List<Long> wOrderIds) {
+
         if (CollectionUtils.isNotEmpty(wOrderIds)) {
             wOrderIds.forEach(wOrderId -> {
                 JSONObject jsonObject = new JSONObject();
@@ -897,10 +916,55 @@ public class AcceptCarriageOrderService {
                 } else {
                     logisticsOrderCirculateMapper.update(null, new LambdaUpdateWrapper<KwtLogisticsOrderCirculate>()
                             .set(KwtLogisticsOrderCirculate::getStatus, NumberConstant.ONE)
-                            .eq(KwtLogisticsOrderCirculate::getWOrderId, wOrderId));
+                            .set(KwtLogisticsOrderCirculate::getUpdateBy,LoginUserHolder.getUserId())
+                            .set(KwtLogisticsOrderCirculate::getUpdateTime,new Date())
+                            .eq(KwtLogisticsOrderCirculate::getWOrderId, wOrderId)
+                    );
 //                    /**更新MongoDB*/
                     SckwWaybillOrder order = new SckwWaybillOrder();
                     order.setStatus(NumberConstant.ONE);
+                    order.setUpdateTime(new Date());
+                    order.setUpdateByName(LoginUserHolder.getUserName());
+                    order.setUpdateBy(LoginUserHolder.getUserId());
+                    SckwBusSum busSum = new SckwBusSum();
+                    busSum.setBusSumType(BusinessTypeEnum.WAYBILL_ORDER_TYPE.getName());
+                    busSum.setMethod(NumberConstant.TWO);
+                    busSum.setObject(order);
+                    streamBridge.send("sckw-busSum", com.alibaba.fastjson2.JSON.toJSONString(busSum));
+                    jsonObject.put("status", HttpStatus.SUCCESS_CODE);
+                    jsonObject.put("message", "停止接单成功");
+                }
+                list.add(jsonObject);
+            });
+        }
+    }
+
+    /**
+     * 承运订单设置停止接单
+     * @param stopOrderTakingDTO
+     */
+    private void acceptStopDocumentCommit(StopOrderTakingDTO stopOrderTakingDTO,List<JSONObject> list,List<Long> wOrderIds) {
+        if (CollectionUtils.isNotEmpty(wOrderIds)) {
+            wOrderIds.forEach(wOrderId -> {
+                JSONObject jsonObject = new JSONObject();
+                jsonObject.put("wOrderId", wOrderId);
+                KwtWaybillOrder waybillOrder = waybillOrderMapper.selectOne(new LambdaUpdateWrapper<KwtWaybillOrder>().eq(KwtWaybillOrder::getId, wOrderId));
+                if (waybillOrder == null) {
+                    jsonObject.put("status", HttpStatus.GLOBAL_EXCEPTION_CODE);
+                    jsonObject.put("message", "单据不存在或者单据异常");
+                } else {
+                    logisticsOrderCirculateMapper.update(null, new LambdaUpdateWrapper<KwtLogisticsOrderCirculate>()
+                            .set(KwtLogisticsOrderCirculate::getStatus, NumberConstant.ONE)
+                            .set(KwtLogisticsOrderCirculate::getUpdateBy,LoginUserHolder.getUserId())
+                            .set(KwtLogisticsOrderCirculate::getUpdateTime,new Date())
+                            .eq(KwtLogisticsOrderCirculate::getWOrderId, wOrderId)
+                    );
+//                    /**更新MongoDB*/
+                    SckwWaybillOrder order = new SckwWaybillOrder();
+                    order.setStatus(NumberConstant.ONE);
+                    order.setUpdateTime(new Date());
+                    order.setUpdateByName(LoginUserHolder.getUserName());
+                    order.setUpdateBy(LoginUserHolder.getUserId());
                     SckwBusSum busSum = new SckwBusSum();
                     busSum.setBusSumType(BusinessTypeEnum.WAYBILL_ORDER_TYPE.getName());
                     busSum.setMethod(NumberConstant.TWO);
@@ -912,7 +976,6 @@ public class AcceptCarriageOrderService {
                 list.add(jsonObject);
             });
         }
-        return HttpResult.ok(list);
     }
 
     /**
@@ -976,7 +1039,7 @@ public class AcceptCarriageOrderService {
                 orderTrack.setUpdateBy(LoginUserHolder.getUserId());
                 orderTrack.setUpdateTime(new Date());
                 waybillOrderTrackMapper.insert(orderTrack);
-            }else {
+            } else {
                 waybillOrderTrack.setUpdateTime(new Date());
                 waybillOrderTrack.setUpdateBy(LoginUserHolder.getUserId());
                 waybillOrderTrackMapper.updateById(waybillOrderTrack);
@@ -1245,8 +1308,8 @@ public class AcceptCarriageOrderService {
         orderDetailVO.setUnloadAddressDetail(unloadOrderAddress.getDetailAddress());
         orderDetailVO.setSettlementCycle(logisticsOrder.getSettlementCycle() == null ? null : String.valueOf(logisticsOrder.getSettlementCycle()));
         orderDetailVO.setBillingMode(logisticsOrder.getBillingMode());
-        orderDetailVO.setScheduleStartTime(logisticsOrder.getStartTime() == null ? null : DateUtil.getDateTime(logisticsOrder.getStartTime()));
-        orderDetailVO.setScheduleEndTime(logisticsOrder.getEndTime() == null ? null : DateUtil.getDateTime(logisticsOrder.getEndTime()));
+        orderDetailVO.setScheduleStartTime(logisticsOrder.getStartTime() == null ? null : logisticsOrder.getStartTime());
+        orderDetailVO.setScheduleEndTime(logisticsOrder.getEndTime() == null ? null : logisticsOrder.getEndTime());
         orderDetailVO.setPerformanceAmount(logisticsOrder.getLoadAmount() == null ? null : String.valueOf(logisticsOrder.getLoadAmount()));
         return HttpResult.ok(orderDetailVO);
     }
@@ -1269,7 +1332,7 @@ public class AcceptCarriageOrderService {
      * @return
      */
     @Transactional(rollbackFor = Exception.class)
-    public HttpResult addOrder(AddOrderDTO orderDTO) throws ParseException {
+    public HttpResult addOrder(AddOrderDTO orderDTO) {
         HttpResult httpResult = ValidUtil.serviceValid(orderDTO);
         if (!String.valueOf(HttpStatus.SUCCESS_CODE).equals(String.valueOf(httpResult.getCode()))) {
             return HttpResult.error(httpResult.getMsg());
@@ -1336,6 +1399,7 @@ public class AcceptCarriageOrderService {
         goods.setLOrderNo(lOrderNo);
 //        goods.setGoodsId();
         goods.setGoodsName(orderDTO.getGoodsName());
+        goods.setGoodsType(orderDTO.getGoodsType());
         goods.setStatus(NumberConstant.ZERO);
         goods.setCreateBy(LoginUserHolder.getUserId());
         goods.setCreateTime(new Date());
@@ -1448,7 +1512,7 @@ public class AcceptCarriageOrderService {
         order.setUpdateByName(LoginUserHolder.getUserName());
         order.setUpdateTime(new Date());
         order.setWOrderNo(lOrderNo);
-        order.setCarryingCapacity(orderDTO.getAmount().longValue());
+        order.setCarryingCapacity(orderDTO.getAmount());
         order.setBillingMode(orderDTO.getBillingMode());
         SckwBusSum busSum = new SckwBusSum();
         busSum.setBusSumType(BusinessTypeEnum.LOGISTICS_ORDER_TYPE.getName());
@@ -1596,7 +1660,7 @@ public class AcceptCarriageOrderService {
      * @param orderStatus 订单状态
      * @param lOrderNo    主体订单编号
      */
-    private void saveLogisticsOrder(AddOrderDTO orderDTO, Long lOrderId, Integer orderStatus, String lOrderNo) throws ParseException {
+    private void saveLogisticsOrder(AddOrderDTO orderDTO, Long lOrderId, Integer orderStatus, String lOrderNo) {
         KwtLogisticsOrder order = new KwtLogisticsOrder();
         order.setId(lOrderId);
         order.setEntId(LoginUserHolder.getEntId());
@@ -1614,10 +1678,10 @@ public class AcceptCarriageOrderService {
         order.setLossUnit(orderDTO.getLossUnit());
         order.setGoodsPrice(orderDTO.getGoodsPrice() == null ? null : orderDTO.getGoodsPrice());
         order.setGoodsPriceUnit(orderDTO.getGoodsPriceUnit());
-        order.setStartTime(org.apache.commons.lang3.StringUtils.isBlank(orderDTO.getStartTime()) ?
-                null : DateUtil.stringPatchingStartToDateTime(orderDTO.getStartTime()));
-        order.setEndTime(org.apache.commons.lang3.StringUtils.isBlank(orderDTO.getEndTime()) ?
-                null : DateUtil.stringPatchingEndToDateTime(orderDTO.getEndTime()));
+        order.setStartTime(org.apache.commons.lang3.ObjectUtils.isEmpty(orderDTO.getStartTime()) ?
+                null : orderDTO.getStartTime());
+        order.setEndTime(org.apache.commons.lang3.ObjectUtils.isEmpty(orderDTO.getEndTime()) ?
+                null : orderDTO.getEndTime());
         BigDecimal decimal = new BigDecimal(NumberConstant.ZERO);
         order.setSubcontractAmount(decimal);
         order.setEntrustAmount(decimal);

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

@@ -776,6 +776,7 @@ public class ConsignOrderService {
         goods.setLOrderNo(lOrderNo);
 //        goods.setGoodsId(Long.parseLong(addOrderDTO.getGoodsId()));
         goods.setGoodsName(addOrderDTO.getGoodsName());
+        goods.setGoodsType(addOrderDTO.getGoodsType());
         goods.setStatus(NumberConstant.ZERO);
         goods.setCreateBy(LoginUserHolder.getUserId());
         goods.setCreateTime(new Date());
@@ -810,10 +811,10 @@ public class ConsignOrderService {
         order.setLossUnit(addOrderDTO.getLossUnit());
         order.setGoodsPrice(addOrderDTO.getGoodsPrice() == null ? null : addOrderDTO.getGoodsPrice());
         order.setGoodsPriceUnit(addOrderDTO.getGoodsPriceUnit());
-        order.setStartTime(org.apache.commons.lang3.StringUtils.isBlank(addOrderDTO.getStartTime()) ?
-                null : DateUtil.stringPatchingStartToDateTime(addOrderDTO.getStartTime()));
-        order.setEndTime(org.apache.commons.lang3.StringUtils.isBlank(addOrderDTO.getEndTime()) ?
-                null : DateUtil.stringPatchingEndToDateTime(addOrderDTO.getEndTime()));
+        order.setStartTime(org.apache.commons.lang3.ObjectUtils.isEmpty(addOrderDTO.getStartTime()) ?
+                null : addOrderDTO.getStartTime());
+        order.setEndTime(org.apache.commons.lang3.ObjectUtils.isEmpty(addOrderDTO.getEndTime()) ?
+                null : addOrderDTO.getEndTime());
         BigDecimal decimal = new BigDecimal(NumberConstant.ZERO);
         order.setSubcontractAmount(decimal);
         order.setEntrustAmount(decimal);
@@ -1043,7 +1044,7 @@ public class ConsignOrderService {
         order.setUpdateByName(LoginUserHolder.getUserName());
         order.setUpdateTime(new Date());
         order.setWOrderNo(lOrderNo);
-        order.setCarryingCapacity(addOrderDTO.getAmount().longValue());
+        order.setCarryingCapacity(addOrderDTO.getAmount());
         order.setBillingMode(addOrderDTO.getBillingMode());
         SckwBusSum busSum = new SckwBusSum();
         busSum.setBusSumType(BusinessTypeEnum.LOGISTICS_ORDER_TYPE.getName());

+ 18 - 19
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/LogisticsConsignmentService.java

@@ -19,7 +19,6 @@ import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.response.HttpResult;
-import com.sckw.excel.utils.DateUtil;
 import com.sckw.excel.utils.ValidUtil;
 import com.sckw.fleet.api.RemoteFleetService;
 import com.sckw.fleet.api.model.vo.RTruckVo;
@@ -158,19 +157,19 @@ public class LogisticsConsignmentService {
         }
         KwtLogisticsOrder order = new KwtLogisticsOrder();
         if (!bo.getIsFullDose()) {
-            Long amount = bo.getAmount();
-            Long carryingCapacity = bo.getCarryingCapacity();
-            if (carryingCapacity > amount) {
+            BigDecimal amount = bo.getAmount();
+            BigDecimal carryingCapacity = bo.getCarryingCapacity();
+            if (carryingCapacity.compareTo(amount) < 0) {
                 log.error("可分配量分配错误:{}", bo.getTOrderId());
                 throw new RuntimeException("可分配量分配错误");
             }
             if (ArrayUtil.isEmpty(bo.getCarryingCapacity())) {
                 throw new RuntimeException("不是全量分配时,分配量不能为空!");
             }
-            order.setAmount(new BigDecimal(bo.getCarryingCapacity()));
+            order.setAmount(bo.getCarryingCapacity());
         } else {
-            order.setAmount(new BigDecimal(NumberConstant.ZERO));
-            order.setSubcontractAmount(new BigDecimal(NumberConstant.ZERO));
+            order.setAmount(new BigDecimal("0.00"));
+            order.setSubcontractAmount(new BigDecimal("0.00"));
         }
         String lOrderNo = com.sckw.transport.utils.StringUtils.getLOrderNo();
         Long orderId = new IdWorker(NumberConstant.ONE).nextId();
@@ -186,13 +185,13 @@ public class LogisticsConsignmentService {
         /**将生成的分配量->贸易订单*/
         CreateOrCancelLogisticsOrderParam param = new CreateOrCancelLogisticsOrderParam();
         param.setTOrderId(Long.valueOf(bo.getTOrderId()));
-        param.setEntrustAmount(BigDecimal.valueOf(bo.getCarryingCapacity()));
+        param.setEntrustAmount(bo.getCarryingCapacity());
         param.setUpdateBy(LoginUserHolder.getUserId());
         param.setUpdateByName(LoginUserHolder.getUserName());
         HttpResult httpResult = tradeOrderInfoService.createOrCancelLogisticsOrder(param);
-        if (httpResult.getCode() != HttpStatus.SUCCESS_CODE){
-            log.info("{}生成物流托运失败!,返回信息:{}",bo.getTOrderNo(),JSONObject.toJSONString(httpResult));
-            throw new BusinessException("{}生成物流托运失败!",bo.getTOrderNo());
+        if (httpResult.getCode() != HttpStatus.SUCCESS_CODE) {
+            log.info("{}生成物流托运失败!,返回信息:{}", bo.getTOrderNo(), JSONObject.toJSONString(httpResult));
+            throw new BusinessException("{}生成物流托运失败!", bo.getTOrderNo());
         }
     }
 
@@ -222,13 +221,13 @@ public class LogisticsConsignmentService {
             if (ArrayUtil.isEmpty(bo.getCarryingCapacity())) {
                 throw new RuntimeException("不是全量分配时,分配量不能为空!");
             }
-            logisticsOrder.setAmount(new BigDecimal(bo.getCarryingCapacity()));
+            logisticsOrder.setAmount(bo.getCarryingCapacity());
             logisticsOrder.setUnit(bo.getCarryingCapacityUnit());
             logisticsOrder.setCarryingCapacity(bo.getCarryingCapacity());
         } else {
-            logisticsOrder.setAmount(new BigDecimal(NumberConstant.ZERO));
-            logisticsOrder.setSubcontractAmount(new BigDecimal(NumberConstant.ZERO));
-            logisticsOrder.setCarryingCapacity(0L);
+            logisticsOrder.setAmount(new BigDecimal("0.00"));
+            logisticsOrder.setSubcontractAmount(new BigDecimal("0.00"));
+            logisticsOrder.setCarryingCapacity(new BigDecimal("0.00"));
         }
         logisticsOrder.setLoss(bo.getLoss() == null ? null : new BigDecimal(bo.getLoss()));
         logisticsOrder.setLossUnit(bo.getLossUnit());
@@ -420,8 +419,8 @@ public class LogisticsConsignmentService {
         order.setGoodsPriceUnit(remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.PRICE_TYPE.getType(), bo.getGoodsPriceUnit()) == null ?
                 null : remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.PRICE_TYPE.getType(), bo.getGoodsPriceUnit()).getValue());
         order.setGoodsPriceUnit(bo.getGoodsPriceUnit());
-        order.setStartTime(DateUtil.stringPatchingStartToDateTime(bo.getShipmentsDateTime()));
-        order.setEndTime(DateUtil.stringPatchingStartToDateTime(bo.getReceiveGoodsDateTime()));
+        order.setStartTime(bo.getShipmentsDateTime());
+        order.setEndTime(bo.getReceiveGoodsDateTime());
         order.setRemark(bo.getRemark());
         order.setPayment(Long.parseLong(bo.getPayment()));
         order.setTaxRate(new BigDecimal(bo.getTaxRate()));
@@ -1086,8 +1085,8 @@ public class LogisticsConsignmentService {
         tradeOrder.setUpdateBy(LoginUserHolder.getUserId());
         tradeOrder.setUpdateByName(LoginUserHolder.getUserName());
         HttpResult httpResult = tradeOrderInfoService.completeLogisticsOrder(tradeOrder);
-        if (httpResult.getCode() != HttpStatus.SUCCESS_CODE){
-            log.info("贸易订单手动完结订单异常,传递信息:{},返回信息:{}",JSONObject.toJSONString(tradeOrder),JSONObject.toJSONString(httpResult));
+        if (httpResult.getCode() != HttpStatus.SUCCESS_CODE) {
+            log.info("贸易订单手动完结订单异常,传递信息:{},返回信息:{}", JSONObject.toJSONString(tradeOrder), JSONObject.toJSONString(httpResult));
             throw new BusinessException("单据完结出现错误!");
         }
         //todo 直接订单完结-不递归操作

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

@@ -14,7 +14,6 @@ import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.response.HttpResult;
-import com.sckw.excel.utils.DateUtil;
 import com.sckw.mongo.enums.BusinessTypeEnum;
 import com.sckw.mongo.model.SckwLogisticsOrder;
 import com.sckw.order.api.dubbo.TradeOrderInfoService;
@@ -191,8 +190,8 @@ public class TransportCommonService {
         orderDetailVO.setUnloadAddressDetail(unloadOrderAddress.getDetailAddress());
         orderDetailVO.setSettlementCycle(logisticsOrder.getSettlementCycle() == null ? null : String.valueOf(logisticsOrder.getSettlementCycle()));
         orderDetailVO.setBillingMode(logisticsOrder.getBillingMode());
-        orderDetailVO.setScheduleStartTime(logisticsOrder.getStartTime() == null ? null : DateUtil.getDateTime(logisticsOrder.getStartTime()));
-        orderDetailVO.setScheduleEndTime(logisticsOrder.getEndTime() == null ? null : DateUtil.getDateTime(logisticsOrder.getEndTime()));
+        orderDetailVO.setScheduleStartTime(logisticsOrder.getStartTime() == null ? null : logisticsOrder.getStartTime());
+        orderDetailVO.setScheduleEndTime(logisticsOrder.getEndTime() == null ? null : logisticsOrder.getEndTime());
         orderDetailVO.setPerformanceAmount(logisticsOrder.getLoadAmount() == null ? null : String.valueOf(logisticsOrder.getLoadAmount()));
         return orderDetailVO;
     }