Jelajahi Sumber

运输服务增加接口保存物流托运接口-新增保存状态

lengfaqiang 2 tahun lalu
induk
melakukan
2b300574f4

+ 53 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/common/enums/LogisticsOrderEnum.java

@@ -0,0 +1,53 @@
+package com.sckw.transport.common.enums;
+
+/**
+ * @author lfdc
+ * @description 物流订单-单据状态
+ * @date 2023-07-07 14:07:23
+ */
+public enum LogisticsOrderEnum {
+    TO_BE_PLANNED(0, "toBePlanned", "0", "待计划"),
+    PENDING_ORDER(1, "pendingOrder", "1", "待接单"),
+    WAIT_DELIVERY(2, "waitDelivery", "2", "待派车"),
+    IN_TRANSIT(3, "inTransit", "3", "运输中"),
+    WAIT_LOADING(4, "waitLoading", "4", "待装货"),
+    WAIT_UNLOADING(5, "waitUnLoading", "5", "待卸货"),
+    END_LOADING(6, "endLoading", "6", "装货完成"),
+    END_UNLOADING(7, "endUnloading", "7", "卸货完成");
+    private final Integer code;
+    private final String value;
+    private final String status;
+    private final String destination;
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public String getDestination() {
+        return destination;
+    }
+
+    LogisticsOrderEnum(Integer code, String value, String status, String destination) {
+        this.code = code;
+        this.value = value;
+        this.status = status;
+        this.destination = destination;
+    }
+
+    public static String getLogisticsOrderValue(Integer code) {
+        for (LogisticsOrderEnum logisticsOrderEnum : LogisticsOrderEnum.values()) {
+            if (logisticsOrderEnum.getCode().equals(code)) {
+                return logisticsOrderEnum.getValue();
+            }
+        }
+        return null;
+    }
+}

+ 4 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderTrack.java

@@ -1,5 +1,6 @@
 package com.sckw.transport.model;
 
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
@@ -33,7 +34,7 @@ public class KwtLogisticsOrderTrack implements Serializable {
     /**
      * 用户状态(待受理、待运输、运输中、已完成、已取消)
      */
-    private Integer status;
+    private Integer status = 0;
 
     private Long createBy;
 
@@ -49,7 +50,8 @@ public class KwtLogisticsOrderTrack implements Serializable {
     /**
      * 是否删除(0未删除,1删除)
      */
-    private Integer delFlag;
+    @TableLogic("0")
+    private Integer delFlag = 0;
 
     private static final long serialVersionUID = 1L;
 }

+ 6 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderUnit.java

@@ -1,7 +1,9 @@
 package com.sckw.transport.model;
 
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
+import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -13,6 +15,7 @@ import java.util.Date;
  * @date 2023-06-26 16:06:12
  */
 @Data
+@Accessors(chain = true)
 @TableName("sckw_transport.kwt_logistics_order_unit")
 public class KwtLogisticsOrderUnit implements Serializable {
     /**
@@ -58,7 +61,7 @@ public class KwtLogisticsOrderUnit implements Serializable {
     /**
      * 用户状态(0正常、1已锁)
      */
-    private Integer status;
+    private Integer status = 0;
 
     private Long createBy;
 
@@ -74,7 +77,8 @@ public class KwtLogisticsOrderUnit implements Serializable {
     /**
      * 是否删除(0未删除,1删除)
      */
-    private Integer delFlag;
+    @TableLogic("0")
+    private Integer delFlag = 0;
 
     private static final long serialVersionUID = 1L;
 }

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

@@ -19,6 +19,25 @@ public class LogisticsConsignmentParam {
      * 分配承运量
      */
     private Long carryingCapacity;
+
+    /**
+     * 托运单位
+     */
+    private String checkCompany;
+    /**
+     * 托运单位id
+     */
+    private String checkCompanyId;
+
+    /**
+     * 联系电话
+     */
+    private String checkContactPhone;
+    /**
+     * 联系人
+     */
+    private String checkContacts;
+
     /**
      * 合理损耗
      */
@@ -43,17 +62,24 @@ public class LogisticsConsignmentParam {
     private String consignCompany;
 
     /**
-     * 结算周期(周结、月结、季结)
+     * 承运单位ID
      */
-    private Long settlementCycle;
+    @NotBlank(message = "承运单位ID不能为空")
+    private String consignCompanyId;
+
     /**
      * 联系电话
      */
-    private String contactPhone;
+    private String consignContactPhone;
     /**
      * 联系人
      */
-    private String contacts;
+    private String consignContacts;
+
+    /**
+     * 结算周期(周结、月结、季结)
+     */
+    private Long settlementCycle;
     /**
      * 合同
      */
@@ -70,6 +96,16 @@ public class LogisticsConsignmentParam {
      * 货物名称
      */
     private String goodsName;
+
+    /**
+     * 货物id
+     */
+    private String goodsId;
+
+    /**
+     * skuId
+     */
+    private String skuId;
     /**
      * 是否全量
      */

+ 96 - 6
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/LogisticsConsignmentService.java

@@ -8,6 +8,7 @@ import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.excel.utils.DateUtil;
+import com.sckw.transport.common.enums.LogisticsOrderEnum;
 import com.sckw.transport.dao.*;
 import com.sckw.transport.model.*;
 import com.sckw.transport.model.param.LogisticsConsignmentParam;
@@ -45,6 +46,12 @@ public class LogisticsConsignmentService {
     @Autowired
     public KwtLogisticsOrderAddressMapper kwtLogisticsOrderAddressMapper;
 
+    @Autowired
+    public KwtLogisticsOrderTrackMapper kwtLogisticsOrderTrackMapper;
+
+    @Autowired
+    public KwtLogisticsOrderUnitMapper kwtLogisticsOrderUnitMapper;
+
 
     @Transactional(rollbackFor = Exception.class)
     public HttpResult purchaseLogisticsConsignment(LogisticsConsignmentParam bo) {
@@ -75,21 +82,95 @@ public class LogisticsConsignmentService {
             order.setSubcontractAmount(new BigDecimal(NumberConstant.ZERO));
         }
         String waybillNo = "";
-        insertLogisticsGoods(bo,waybillNo);
-        insertLogisticsOrder(bo,waybillNo,order,tradeOrder);
+        insertLogisticsGoods(bo, waybillNo);
+        insertLogisticsOrder(bo, waybillNo, order, tradeOrder);
         insertLogisticsOrderContract(bo);
-        insertOrderAddress(bo, waybillNo);
+        insertLogisticsOrderUnit(bo,waybillNo);
+        insertLogisticsOrderAddress(bo, waybillNo);
+        insertLogisticsOrderTrack(bo, waybillNo);
+    }
+
+    /**
+     * 物流订单-企业信息
+     * @param bo
+     * @param waybillNo
+     */
+    private void insertLogisticsOrderUnit(LogisticsConsignmentParam bo, String waybillNo) {
+        KwtLogisticsOrderUnit checkUnit = new KwtLogisticsOrderUnit()
+                .setOrderId(Long.parseLong(waybillNo))
+                .setId(new IdWorker(NumberConstant.ONE).nextId())
+                .setUnitType(NumberConstant.ONE)
+                .setFirmName(bo.getCheckCompany())
+                .setRemark(bo.getRemark())
+                .setEntId(Long.parseLong(bo.getCheckCompanyId()))
+                .setContacts(bo.getCheckContacts())
+                .setPhone(bo.getCheckContactPhone())
+                .setCreateBy(LoginUserHolder.getUserId())
+                .setCreateTime(new Date())
+                .setUpdateBy(LoginUserHolder.getUserId())
+                .setUpdateTime(new Date());
+        kwtLogisticsOrderUnitMapper.insert(checkUnit);
+
+        KwtLogisticsOrderUnit consignUnit = new KwtLogisticsOrderUnit()
+                .setOrderId(Long.parseLong(waybillNo))
+                .setId(new IdWorker(NumberConstant.ONE).nextId())
+                .setUnitType(NumberConstant.TWO)
+                .setFirmName(bo.getConsignCompany())
+                .setRemark(bo.getRemark())
+                .setEntId(Long.parseLong(bo.getConsignCompanyId()))
+                .setContacts(bo.getConsignContacts())
+                .setPhone(bo.getConsignContactPhone())
+                .setCreateBy(LoginUserHolder.getUserId())
+                .setCreateTime(new Date())
+                .setUpdateBy(LoginUserHolder.getUserId())
+                .setUpdateTime(new Date());
+        kwtLogisticsOrderUnitMapper.insert(consignUnit);
+    }
+
+    /**
+     * 物流订单-状态
+     * @param bo
+     * @param waybillNo
+     */
+    private void insertLogisticsOrderTrack(LogisticsConsignmentParam bo, String waybillNo) {
+        KwtLogisticsOrderTrack entity = new KwtLogisticsOrderTrack();
+        entity.setId(new IdWorker(NumberConstant.ONE).nextId());
+        entity.setOrderId(Long.parseLong(waybillNo));
+        entity.setStatus(LogisticsOrderEnum.PENDING_ORDER.getCode());
+        entity.setCreateTime(new Date());
+        entity.setUpdateTime(new Date());
+        entity.setCreateBy(LoginUserHolder.getUserId());
+        entity.setUpdateBy(LoginUserHolder.getUserId());
+        entity.setRemark(bo.getRemark());
+        kwtLogisticsOrderTrackMapper.insert(entity);
     }
 
+    /**
+     * 物流订单-商品信息
+     * @param bo
+     * @param waybillNo
+     */
     private void insertLogisticsGoods(LogisticsConsignmentParam bo, String waybillNo) {
         KwtLogisticsOrderGoods kwtLogisticsOrderGoods = new KwtLogisticsOrderGoods();
         kwtLogisticsOrderGoods.setId(new IdWorker(NumberConstant.ONE).nextId());
-        kwtLogisticsOrderGoods.setGoodsId(45646565L);
+        kwtLogisticsOrderGoods.setGoodsId(Long.parseLong(bo.getGoodsId()));
+        kwtLogisticsOrderGoods.setSkuId(Long.parseLong(bo.getSkuId()));
         kwtLogisticsOrderGoods.setLOrderId(Long.parseLong(bo.getLOrderId()));
-        kwtLogisticsOrderGoods.setLOrderNo(bo.getLOrderNo());
+        kwtLogisticsOrderGoods.setLOrderNo(waybillNo);
+        kwtLogisticsOrderGoods.setUpdateBy(LoginUserHolder.getUserId());
+        kwtLogisticsOrderGoods.setUpdateTime(new Date());
+        kwtLogisticsOrderGoods.setCreateBy(LoginUserHolder.getUserId());
+        kwtLogisticsOrderGoods.setCreateTime(new Date());
         kwtLogisticsOrderGoodsMapper.insert(kwtLogisticsOrderGoods);
     }
 
+    /**
+     * 物流订单-主体
+     * @param bo
+     * @param waybillNo
+     * @param order
+     * @param tradeOrder
+     */
     private void insertLogisticsOrder(LogisticsConsignmentParam bo, String waybillNo, KwtLogisticsOrder order, KwoTradeOrder tradeOrder) {
         order.setId(new IdWorker(NumberConstant.ONE).nextId());
         order.setEntId(LoginUserHolder.getEntId());
@@ -118,6 +199,10 @@ public class LogisticsConsignmentService {
         kwtLogisticsOrderMapper.insert(order);
     }
 
+    /**
+     * 物流订单-合同
+     * @param bo
+     */
     private void insertLogisticsOrderContract(LogisticsConsignmentParam bo) {
         KwtLogisticsOrderContract kwtLogisticsOrderContract = new KwtLogisticsOrderContract();
         kwtLogisticsOrderContract.setId(new IdWorker(NumberConstant.ONE).nextId());
@@ -131,7 +216,12 @@ public class LogisticsConsignmentService {
         kwtLogisticsOrderContractMapper.insert(kwtLogisticsOrderContract);
     }
 
-    private void insertOrderAddress(LogisticsConsignmentParam bo, String waybillNo) {
+    /**
+     * 物流订单-装修货地址
+     * @param bo
+     * @param waybillNo
+     */
+    private void insertLogisticsOrderAddress(LogisticsConsignmentParam bo, String waybillNo) {
         KwtLogisticsOrderAddress loadOrderAddress = new KwtLogisticsOrderAddress();
         KwtLogisticsOrderAddress unloadOrderAddress = new KwtLogisticsOrderAddress();
         KwoTradeOrderAddress loadkwoTradeOrderAddress = kwoTradeOrderAddressMapper.selectOne(new LambdaQueryWrapper<KwoTradeOrderAddress>()

+ 0 - 17
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/OutboundHeadServiceImpl.java

@@ -1,17 +0,0 @@
-//package com.sckw.transport.service;
-//
-//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-//import com.sckw.transport.dao.KwoTradeOrderMapper;
-//import com.sckw.transport.dao.repository.KwoTradeOrderRepository;
-//import com.sckw.transport.model.KwoTradeOrder;
-//import org.springframework.stereotype.Service;
-//
-///**
-// * @author lfdc
-// * @description
-// * @date 2023-07-06 17:07:40
-// */
-//@Service
-//public class OutboundHeadServiceImpl extends ServiceImpl<KwoTradeOrderMapper, KwoTradeOrder> implements KwoTradeOrderRepository {
-//
-//}