Jelajahi Sumber

Merge remote-tracking branch 'origin/dev' into dev

xucaiqin 2 tahun lalu
induk
melakukan
a3459a807b
25 mengubah file dengan 133 tambahan dan 73 penghapusan
  1. 4 2
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/CommonBusinessService.java
  2. 2 2
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java
  3. 1 3
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsTrackService.java
  4. 2 2
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeService.java
  5. 1 3
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeTrackService.java
  6. 4 4
      sckw-modules/sckw-fleet/src/main/resources/mapper/KwfTruckReportMapper.xml
  7. 8 8
      sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java
  8. 12 4
      sckw-modules/sckw-order/src/main/resources/mapper/KwoWantBuyMapper.xml
  9. 1 1
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/AddGoodsDraftParam.java
  10. 1 6
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/AddGoodsParam.java
  11. 1 1
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/AddressInfo.java
  12. 2 1
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/GoodsImages.java
  13. 1 1
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/UpdateGoodsParam.java
  14. 1 4
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java
  15. 1 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dao/SysAreaDao.java
  16. 16 6
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteSystemServiceImpl.java
  17. 1 2
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/ForgetPasswordReqVo.java
  18. 1 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/UpdatePasswordReqVo.java
  19. 4 4
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java
  20. 1 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/SysAreaService.java
  21. 1 1
      sckw-modules/sckw-system/src/main/resources/mapper/SysAreaDao.xml
  22. 18 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/LogisticsConsignmentController.java
  23. 11 4
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderService.java
  24. 28 7
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/LogisticsConsignmentService.java
  25. 10 4
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/WaybillManagementService.java

+ 4 - 2
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/CommonBusinessService.java

@@ -1,5 +1,6 @@
 package com.sckw.contract.service;
 
+import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -143,9 +144,10 @@ public class CommonBusinessService {
     public void approval(ESignCallBackReqVo reqVo) {
         Long contractId = reqVo.getContractId();
         KwcContractTrade kwcContractTrade = kwcContractTradeMapper.selectById(contractId);
+        Date date = DateUtil.offsetSecond(new Date(), Global.NUMERICAL_TWO);
         if (Objects.nonNull(kwcContractTrade)) {
             kwcContractTradeService.approval(reqVo.getContractId(), reqVo.getStatus(), reqVo.getRemark());
-            kwcContractTradeTrackService.saveContractTradeTrack(contractId, reqVo.getStatus());
+            kwcContractTradeTrackService.saveContractTradeTrack(contractId, reqVo.getStatus(), date);
             notifyOrder(contractId, kwcContractTrade.getCreateBy());
             sendTradePassMessage(kwcContractTrade);
             return;
@@ -154,7 +156,7 @@ public class CommonBusinessService {
         KwcContractLogistics kwcContractLogistics = kwcContractLogisticsMapper.selectById(contractId);
         if (Objects.nonNull(kwcContractLogistics)) {
             kwcContractLogisticsService.approval(reqVo.getContractId(), reqVo.getStatus(), reqVo.getRemark());
-            kwcContractLogisticsTrackService.saveContractLogisticsTrack(contractId, reqVo.getStatus());
+            kwcContractLogisticsTrackService.saveContractLogisticsTrack(contractId, reqVo.getStatus(), date);
             notifyOrder(contractId, kwcContractLogistics.getCreateBy());
             sendLogisticsPassMessage(kwcContractLogistics);
             return;

+ 2 - 2
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java

@@ -520,7 +520,7 @@ public class KwcContractLogisticsService {
         if (kwcContractLogisticsMapper.updateById(kwcContractLogistics) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
         }
-        kwcContractLogisticsTrackService.saveContractLogisticsTrack(id, ContractTrackEnum.SIGNING.getCode());
+        kwcContractLogisticsTrackService.saveContractLogisticsTrack(id, ContractTrackEnum.SIGNING.getCode(), new Date());
     }
 
 
@@ -627,7 +627,7 @@ public class KwcContractLogisticsService {
         if (kwcContractLogisticsMapper.updateById(kwcContractLogistic) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
         }
-        kwcContractLogisticsTrackService.saveContractLogisticsTrack(kwcContractLogistic.getId(), ContractTrackEnum.OVER.getCode());
+        kwcContractLogisticsTrackService.saveContractLogisticsTrack(kwcContractLogistic.getId(), ContractTrackEnum.OVER.getCode(), new Date());
 
 
         //发送消息

+ 1 - 3
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsTrackService.java

@@ -50,10 +50,8 @@ public class KwcContractLogisticsTrackService {
      * @author: czh
      * @date: 2023/7/14
      */
-    public void saveContractLogisticsTrack(Long contractId, Integer status) {
+    public void saveContractLogisticsTrack(Long contractId, Integer status, Date date) {
         KwcContractLogisticsTrack kwcContractLogisticsTrack = new KwcContractLogisticsTrack();
-        Date date = new Date();
-        date = DateUtil.offsetSecond(date, Global.NUMERICAL_TWO);
         kwcContractLogisticsTrack.setId(new IdWorker(1L).nextId());
         kwcContractLogisticsTrack.setContractId(contractId);
         kwcContractLogisticsTrack.setType(status);

+ 2 - 2
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeService.java

@@ -599,7 +599,7 @@ public class KwcContractTradeService {
         if (kwcContractTradeMapper.updateById(kwcContractTrade) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
         }
-        kwcContractTradeTrackService.saveContractTradeTrack(id, code);
+        kwcContractTradeTrackService.saveContractTradeTrack(id, code, new Date());
     }
 
     /**
@@ -704,7 +704,7 @@ public class KwcContractTradeService {
         if (kwcContractTradeMapper.updateById(kwcContractTrade) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
         }
-        kwcContractTradeTrackService.saveContractTradeTrack(kwcContractTrade.getId(), ContractTrackEnum.OVER.getCode());
+        kwcContractTradeTrackService.saveContractTradeTrack(kwcContractTrade.getId(), ContractTrackEnum.OVER.getCode(), new Date());
 
         //完结相关订单
         ContractSignCompletedParam contractSignCompletedParam = new ContractSignCompletedParam();

+ 1 - 3
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeTrackService.java

@@ -44,9 +44,7 @@ public class KwcContractTradeTrackService {
     @DubboReference(version = "1.0.0", group = "design", check = false)
     private RemoteSystemService remoteSystemService;
 
-    public void saveContractTradeTrack(Long contractId, Integer status) {
-        Date date = new Date();
-        date = DateUtil.offsetSecond(date, Global.NUMERICAL_TWO);
+    public void saveContractTradeTrack(Long contractId, Integer status, Date date) {
         KwcContractTradeTrack kwcContractTradeTrack = new KwcContractTradeTrack();
         kwcContractTradeTrack.setId(new IdWorker(1L).nextId());
         kwcContractTradeTrack.setContractId(contractId);

+ 4 - 4
sckw-modules/sckw-fleet/src/main/resources/mapper/KwfTruckReportMapper.xml

@@ -43,13 +43,13 @@
             <choose>
                 <when test="entIds != null and entIds != '' and entIds.size() > 0">
                     or (
-                        trr.truck_id in (select truck_id from kwf_truck_ent where del_flag = 0 and ent_id in
+                        trr.truck_id in (select id from kwf_truck where del_flag = 0 and ent_id in
                         <foreach collection="entIds" item="id" open="(" close=")" separator=",">
                             #{id,jdbcType=BIGINT}
                         </foreach>
                         )
                         or
-                        trr.driver_id in (select driver_id from kwf_driver_ent where del_flag = 0 and ent_id in
+                        trr.driver_id in (select id from kwf_driver where del_flag = 0 and ent_id in
                         <foreach collection="entIds" item="id" open="(" close=")" separator=",">
                             #{id,jdbcType=BIGINT}
                         </foreach>
@@ -128,13 +128,13 @@
             <choose>
                 <when test="entIds != null and entIds != '' and entIds.size() > 0">
                     or (
-                        trr.truck_id in (select truck_id from kwf_truck_ent where del_flag = 0 and ent_id in
+                        trr.truck_id in (select id from kwf_truck where del_flag = 0 and ent_id in
                         <foreach collection="entIds" item="id" open="(" close=")" separator=",">
                             #{id,jdbcType=BIGINT}
                         </foreach>
                         )
                         or
-                        trr.driver_id in (select driver_id from kwf_driver_ent where del_flag = 0 and ent_id in
+                        trr.driver_id in (select id from kwf_driver where del_flag = 0 and ent_id in
                         <foreach collection="entIds" item="id" open="(" close=")" separator=",">
                             #{id,jdbcType=BIGINT}
                         </foreach>

+ 8 - 8
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java

@@ -432,7 +432,11 @@ public class KwoTradeOrderService {
         BigDecimal amount = param.getAmount();
         String trading = param.getTrading();
         BigDecimal price = param.getPrice();
-        if (!isAcceptanceOrder) {
+        KwpGoods goods = goodsInfoService.getGoodsById(param.getGoodsId());
+        if (Objects.isNull(goods) || Objects.equals(goods.getDelFlag(), Global.YES) ) {
+            throw new BusinessException("商品不存在!");
+        }
+        if (Boolean.FALSE.equals(isAcceptanceOrder)) {
             if (price.compareTo(amount.multiply(param.getUnitPrice())) != 0) {
                 throw new BusinessException("订单总金额不等于商品单价*订单总量!");
             }
@@ -447,13 +451,9 @@ public class KwoTradeOrderService {
             if (CollectionUtils.isEmpty(entCooperate)) {
                 throw new BusinessException("供采双方企业无合作关系!");
             }
-        }
-        KwpGoods goods = goodsInfoService.getGoodsById(param.getGoodsId());
-        if (Objects.isNull(goods) || Objects.equals(goods.getDelFlag(), Global.YES) || !Objects.equals(goods.getStatus(), 1)) {
-            throw new BusinessException("商品不存在或已下架!");
-        }
-        if (goods.getAmount().compareTo(amount) < 0) {
-            throw new BusinessException("商品库存不足,请联系供应方!");
+            if (goods.getAmount().compareTo(amount) < 0) {
+                throw new BusinessException("商品库存不足,请联系供应方!");
+            }
         }
         //支付方式预付款校验
         if (trading.startsWith("1")) {

+ 12 - 4
sckw-modules/sckw-order/src/main/resources/mapper/KwoWantBuyMapper.xml

@@ -57,11 +57,19 @@
 <!--                #{item,jdbcType=VARCHAR}-->
 <!--            </foreach>-->
             <!-- 使用 AND 条件 -->
-            and (
-            <foreach collection="wantBuyReq.tradings" item="item" separator=" and ">
-                kt.trading = #{item,jdbcType=VARCHAR}
+<!--            and (-->
+<!--            <foreach collection="wantBuyReq.tradings" item="item" separator=" and ">-->
+<!--                kt.trading = #{item,jdbcType=VARCHAR}-->
+<!--            </foreach>-->
+<!--            )-->
+            <foreach collection="wantBuyReq.tradings" item="value" separator="">
+                AND EXISTS (
+                SELECT 1
+                FROM kwo_want_buy_trading kt2
+                WHERE kt2.want_buy_id = kb.id
+                AND kt2.trading = #{value}
+                )
             </foreach>
-            )
         </if>
         <if test="wantBuyReq.wantBuyIds != null and wantBuyReq.wantBuyIds.size() > 0">
             and kb.id in

+ 1 - 1
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/AddGoodsDraftParam.java

@@ -2,12 +2,12 @@ package com.sckw.product.model.vo.req;
 
 import jakarta.validation.Valid;
 import jakarta.validation.constraints.DecimalMin;
+import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Size;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
-import org.apache.logging.log4j.core.config.plugins.validation.constraints.NotBlank;
 import org.hibernate.validator.constraints.Length;
 import org.hibernate.validator.constraints.Range;
 

+ 1 - 6
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/AddGoodsParam.java

@@ -1,14 +1,10 @@
 package com.sckw.product.model.vo.req;
 
 import jakarta.validation.Valid;
-import jakarta.validation.constraints.DecimalMin;
-import jakarta.validation.constraints.NotEmpty;
-import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Size;
+import jakarta.validation.constraints.*;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
-import org.apache.logging.log4j.core.config.plugins.validation.constraints.NotBlank;
 import org.hibernate.validator.constraints.Length;
 import org.hibernate.validator.constraints.Range;
 
@@ -46,7 +42,6 @@ public class AddGoodsParam {
     /**
      * 规格尺寸
      */
-    @NotBlank(message = "规格尺寸不能为空")
     @Length(max = 20, message = "规格尺寸最多支持20字")
     private String spec;
 

+ 1 - 1
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/AddressInfo.java

@@ -1,11 +1,11 @@
 package com.sckw.product.model.vo.req;
 
+import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Pattern;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
-import org.apache.logging.log4j.core.config.plugins.validation.constraints.NotBlank;
 import org.hibernate.validator.constraints.Length;
 
 /**

+ 2 - 1
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/GoodsImages.java

@@ -1,10 +1,11 @@
 package com.sckw.product.model.vo.req;
 
+import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
-import org.apache.logging.log4j.core.config.plugins.validation.constraints.NotBlank;
+
 
 /**
  * @desc: 商品图片

+ 1 - 1
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/UpdateGoodsParam.java

@@ -2,12 +2,12 @@ package com.sckw.product.model.vo.req;
 
 import jakarta.validation.Valid;
 import jakarta.validation.constraints.DecimalMin;
+import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Size;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
-import org.apache.logging.log4j.core.config.plugins.validation.constraints.NotBlank;
 import org.hibernate.validator.constraints.Length;
 import org.hibernate.validator.constraints.Range;
 

+ 1 - 4
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java

@@ -316,7 +316,7 @@ public class KwpGoodsService {
      */
     @Transactional(rollbackFor = Exception.class)
     public void update(UpdateGoodsParam param) {
-        if (nameDuplicationJudgment(param.getName(), param.getSupplyEntId(), param.getId())) {
+        if (Boolean.TRUE.equals(nameDuplicationJudgment(param.getName(), param.getSupplyEntId(), param.getId()))) {
             throw new BusinessException("已存在相同商品名称!");
         }
         KwpGoods goods = getGoodsById(param.getId());
@@ -428,9 +428,6 @@ public class KwpGoodsService {
         if (StringUtils.isBlank(param.getUnit())) {
             return "计量单位不能为空!";
         }
-        if (StringUtils.isBlank(param.getSpec())) {
-            return "规格尺寸不能为空!";
-        }
         if (Objects.isNull(param.getAmount())) {
             return "库存数量不能为空!";
         }

+ 1 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/dao/SysAreaDao.java

@@ -15,7 +15,7 @@ import java.util.Map;
 @Mapper
 public interface SysAreaDao {
 
-    List<Map<String, Object>> findList(Map<String, Object> params);
+    List<SysArea> findList(Map<String, Object> params);
 
     SysArea selectById(Integer code);
 

+ 16 - 6
sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteSystemServiceImpl.java

@@ -721,16 +721,26 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
         if (Objects.isNull(code)) {
             return Collections.emptyList();
         }
-        Map<String, Object> params = new HashMap<>(1);
-        params.put("pcode", code);
-        List<Map<String, Object>> list = sysAreaService.findList(params);
+
+        List<SysArea> list = sysAreaService.findList(null);
         if (CollectionUtils.isEmpty(list)) {
-            return null;
+            return Collections.emptyList();
         }
 
-        List<FindAreaTreeResVo> result = BeanUtils.copyToList(list, FindAreaTreeResVo.class);
+        return getAreaChild(BeanUtils.copyToList(list, FindAreaTreeResVo.class), code);
+    }
+
+    private List<FindAreaTreeResVo> getAreaChild(List<FindAreaTreeResVo> findAreaTreeResVoList, Integer code) {
+        List<FindAreaTreeResVo> result = findAreaTreeResVoList.stream().filter(item -> item.getPcode().equals(code)).collect(Collectors.toList());
+        if (CollectionUtils.isEmpty(result)) {
+            return null;
+        }
         for (FindAreaTreeResVo findAreaTreeResVo : result) {
-            findAreaTreeResVo.setChild(queryAreaGroup(findAreaTreeResVo.getCode()));
+            if (findAreaTreeResVo.getLevel().equals(Global.NUMERICAL_THREE)) {
+                continue;
+            }
+
+            findAreaTreeResVo.setChild(getAreaChild(findAreaTreeResVoList, findAreaTreeResVo.getCode()));
         }
         return result;
     }

+ 1 - 2
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/ForgetPasswordReqVo.java

@@ -1,8 +1,7 @@
 package com.sckw.system.model.vo.req;
 
-import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
-import org.apache.logging.log4j.core.config.plugins.validation.constraints.NotBlank;
 
 import java.io.Serial;
 import java.io.Serializable;

+ 1 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/UpdatePasswordReqVo.java

@@ -1,8 +1,8 @@
 package com.sckw.system.model.vo.req;
 
+import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import lombok.Data;
-import org.apache.logging.log4j.core.config.plugins.validation.constraints.NotBlank;
 
 import java.io.Serial;
 import java.io.Serializable;

+ 4 - 4
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java

@@ -148,9 +148,6 @@ public class KwsEnterpriseService {
         kwsRoleService.deleteByDeptIds(list);
     }
 
-    public static void main(String[] args) {
-    }
-
     /**
      * @param reqVo 更新记录入参
      * @desc: 更新记录, 有的是更新有的是新增, 两种情况
@@ -324,7 +321,9 @@ public class KwsEnterpriseService {
         kwsEnterprise.setOrgCode("");
         kwsEnterprise.setRegTime(date);
         kwsEnterprise.setUpdateBy(LoginUserHolder.getUserId());
-        kwsEnterprise.setApproval(kwsEnterprise.getApproval().equals(ApprovalEnum.OK.getCode()) ? ApprovalEnum.REFRESH.getCode() : ApprovalEnum.PROCESS.getCode());
+
+        List<KwsEntCheckTrack> list = kwsEntCheckTrackDao.findList(entId);
+        kwsEnterprise.setApproval(list.stream().anyMatch(item -> item.getStatus().equals(Global.NO)) ? ApprovalEnum.REFRESH.getCode() : ApprovalEnum.PROCESS.getCode());
         if (kwsEnterpriseDao.update(kwsEnterprise) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
         }
@@ -432,6 +431,7 @@ public class KwsEnterpriseService {
     private void checkRegisterParam(EntRegisterReqVo reqVo) {
     }
 
+
     /**
      * 企业审批
      */

+ 1 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/SysAreaService.java

@@ -28,7 +28,7 @@ public class SysAreaService {
      * @param params
      * @return
      */
-    public List<Map<String, Object>> findList(Map<String, Object> params) {
+    public List<SysArea> findList(Map<String, Object> params) {
         return sysAreaDao.findList(params);
     }
 

+ 1 - 1
sckw-modules/sckw-system/src/main/resources/mapper/SysAreaDao.xml

@@ -31,7 +31,7 @@
     del_flag
   </sql>
 
-  <select id="findList" resultType="java.util.Map" parameterType="java.util.Map" >
+  <select id="findList" resultType="com.sckw.system.model.SysArea" parameterType="java.util.Map" >
     SELECT
     code , pcode , name, code, hot, level, lng, lat, letter, merger_name mergerName,
     short_name shortName

+ 18 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/LogisticsConsignmentController.java

@@ -137,6 +137,24 @@ public class LogisticsConsignmentController {
         }
     }
 
+    /**
+     * 采购/销售订单-完成车次统计
+     *
+     * @param tradeOrderId
+     * @return
+     */
+    @Validated
+    @RequestMapping(value = "/statisticsWaybillCount", method = RequestMethod.GET)
+    public HttpResult statisticsWaybillCount(@NotBlank(message = "单据号不能为空") @RequestParam("tradeOrderId")  String tradeOrderId) {
+        log.info("采购/销售订单-完成车次统计 传递参数信息:{}", tradeOrderId);
+        try {
+            return HttpResult.ok(logisticsConsignmentService.statisticsWaybillCount(tradeOrderId));
+        } catch (Exception e) {
+            log.error("采购/销售订单-完成车次统计 error :{}", e.getMessage(), e);
+            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
+        }
+    }
+
     /**
      * 采购订单-托运订单列表-订单完结-数据查询
      *

+ 11 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderService.java

@@ -511,7 +511,7 @@ public class KwtWaybillOrderService {
                     String wOrderNo = getRedisGenerateWaybillOrderNo(RedisOrderGenerateEnum.WAYBILL_ORDER, OrderRuleEnum.WAYBILL_ORDER, logisticsOrder.getLOrderNo());
                     waybillOrder.setId(null);
                     waybillOrder.setWOrderNo(wOrderNo);
-                    ranksSave(waybillOrder, loadAddress, unloadAddress);
+                    ranksSave(waybillOrder, loadAddress, unloadAddress, null);
 
                     /**SckwWaybillOrder数据组装**/
                     SckwWaybillOrder mongoOrder = setSckwWaybillOrder(sendCarDto, waybillOrder, logisticsOrder, loadAddress,
@@ -581,7 +581,8 @@ public class KwtWaybillOrderService {
      * @author zk
      * @date 2023/7/21
      **/
-    public void ranksSave(KwtWaybillOrder waybillOrder, KwtWaybillOrderAddress loadAddress, KwtWaybillOrderAddress unloadAddress) {
+    public void ranksSave(KwtWaybillOrder waybillOrder, KwtWaybillOrderAddress loadAddress,
+                          KwtWaybillOrderAddress unloadAddress, Date operateTime) {
         /**车辆运单信息**/
         waybillOrderDao.insert(waybillOrder);
 
@@ -598,7 +599,8 @@ public class KwtWaybillOrderService {
         waybillOrderAddressDao.insert(unloadAddress);
 
         /**车辆运单状态记录**/
-        this.setWaybillOrderTrack(waybillOrder.getId(), waybillOrder.getUpdateTime(), waybillOrder.getStatus(), null);
+        this.setWaybillOrderTrack(waybillOrder.getId(), operateTime != null ? operateTime : waybillOrder.getUpdateTime(),
+                waybillOrder.getStatus(), null);
     }
 
     /**
@@ -619,6 +621,11 @@ public class KwtWaybillOrderService {
             int count = logisticsOrderCirculateDao.insert(circulate);
             return count > 0 ? circulate : null;
         } else {
+            //有效循环单不做新增处理、已撤回/拒绝出车更新循环单信息
+            if (circulate.getStatus() == Global.NO) {
+                return null;
+            }
+
             //更新原循环单ID
             Long newId = new IdWorker(Global.NUMERICAL_ONE).nextId();
             logisticsOrderCirculateDao.updateIdByKey(newId, null, circulate.getId(), LoginUserHolder.getUserId(), new Date());
@@ -1252,7 +1259,7 @@ public class KwtWaybillOrderService {
             KwtWaybillOrder waybillOrder = setKwtWaybillOrder(circulate, params, wOrderNo);
 
             /**2车辆运单存储**/
-            ranksSave(waybillOrder, loadAddress, unloadAddress);
+            ranksSave(waybillOrder, loadAddress, unloadAddress, params.getOperateTime());
             //补上车辆运单待接单状态
             setWaybillOrderTrack(circulate, waybillOrder.getId());
 

+ 28 - 7
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/LogisticsConsignmentService.java

@@ -236,17 +236,17 @@ public class LogisticsConsignmentService {
 
         checkUnit.setUnitType(1);
         checkUnit.setFirmName(bo.getCheckCompany());
-        checkUnit.setEntId(Long.parseLong(bo.getCheckCompanyId()));
-        checkUnit.setTopEntId(checkentMap == null ? null : checkentMap.getId());
-        checkUnit.setContactsId(Long.parseLong(bo.getCheckContactsId()));
+        checkUnit.setEntId(Long.parseLong(bo.getConsignCompanyId()));
+        checkUnit.setTopEntId(consignentMap == null ? null : consignentMap.getId());
+        checkUnit.setContactsId(Long.parseLong(bo.getConsignContactsId()));
 
         //承运单位
         KwtLogisticsOrderUnit carriageUnit = new KwtLogisticsOrderUnit();
         carriageUnit.setUnitType(2);
         carriageUnit.setFirmName(bo.getConsignCompany());
-        carriageUnit.setEntId(Long.parseLong(bo.getConsignCompanyId()));
-        carriageUnit.setTopEntId(consignentMap == null ? null : consignentMap.getId());
-        carriageUnit.setContactsId(Long.parseLong(bo.getConsignContactsId()));
+        carriageUnit.setEntId(Long.parseLong(bo.getCheckCompanyId()));
+        carriageUnit.setTopEntId(checkentMap == null ? null : checkentMap.getId());
+        carriageUnit.setContactsId(Long.parseLong(bo.getCheckContactsId()));
 
 //        commonService.initIatingLogisticsConsignment(checkUnit, carriageUnit, lOrderNo, LoginUserHolder.getUserId(), LoginUserHolder.getEntId());
         commonService.newSendLogisticsOrderToMessage(checkUnit, carriageUnit, lOrderNo, LoginUserHolder.getUserId(), LoginUserHolder.getEntId(),
@@ -2111,5 +2111,26 @@ public class LogisticsConsignmentService {
         return HttpResult.ok();
     }
 
-
+    /**
+     * 采购/销售订单-完成车次统计
+     *
+     * @param tradeOrderId 贸易订单id
+     * @return
+     */
+    public Long statisticsWaybillCount(String tradeOrderId) {
+        Long count = 0L;
+        List<KwtLogisticsOrder> orderList = kwtLogisticsOrderMapper.selectList(new LambdaQueryWrapper<KwtLogisticsOrder>()
+                .eq(KwtLogisticsOrder::getTOrderId, tradeOrderId).eq(KwtLogisticsOrder::getDelFlag, NumberConstant.ZERO));
+        if (org.springframework.util.CollectionUtils.isEmpty(orderList)) {
+            return count;
+        }
+        List<Long> longList = orderList.stream().map(KwtLogisticsOrder::getId).collect(Collectors.toList());
+        if (org.springframework.util.CollectionUtils.isEmpty(longList)) {
+            return count;
+        }
+        count = waybillOrderMapper.selectCount(new LambdaQueryWrapper<KwtWaybillOrder>()
+                .eq(KwtWaybillOrder::getStatus, CarWaybillEnum.APPROVAL_PASS.getCode())
+                .in(KwtWaybillOrder::getLOrderId, longList));
+        return count;
+    }
 }

+ 10 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/WaybillManagementService.java

@@ -121,10 +121,16 @@ public class WaybillManagementService {
             wayBillDetailDTO.setEndTime(info.getEndTime());
             wayBillDetailDTO.setCreateBy(info.getCreateByName());
             wayBillDetailDTO.setGoodsName(info.getGoodsName());
-//            wayBillDetailDTO.setLoadDetailAddress(info.getLoadCityName().concat(info.getLoadDetailAddress()));
-//            wayBillDetailDTO.setUnloadDetailAddress(info.getUnloadCityName().concat(info.getUnloadDetailAddress()));
-            wayBillDetailDTO.setLoadDetailAddress(info.getLoadDetailAddress());
-            wayBillDetailDTO.setUnloadDetailAddress(info.getUnloadDetailAddress());
+            if (info.getLoadDetailAddress().contains(info.getLoadCityName())){
+                wayBillDetailDTO.setLoadDetailAddress(info.getLoadDetailAddress());
+            }else {
+                wayBillDetailDTO.setLoadDetailAddress(info.getLoadCityName().concat(info.getLoadDetailAddress()));
+            }
+            if (info.getUnloadDetailAddress().contains(info.getUnloadCityName())){
+                wayBillDetailDTO.setUnloadDetailAddress(info.getUnloadDetailAddress());
+            }else {
+                wayBillDetailDTO.setUnloadDetailAddress(info.getUnloadCityName().concat(info.getUnloadDetailAddress()));
+            }
             wayBillDetailDTO.setLoadName(info.getLoadName());
             wayBillDetailDTO.setUnloadName(info.getUnloadName());
             wayBillDetailDTO.setCarrierFirmName(info.getCarrierFirmName());