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

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

zk 2 лет назад
Родитель
Сommit
0f4f799c09
38 измененных файлов с 1050 добавлено и 289 удалено
  1. 5 0
      sckw-auth/src/main/java/com/sckw/auth/service/impl/AuthServiceImpl.java
  2. 1 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/OkHttpUtils.java
  3. 5 4
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/constant/HttpStatus.java
  4. 33 18
      sckw-common/sckw-common-stream/src/main/java/com/sckw/stream/enums/MessageEnum.java
  5. 9 0
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/RemoteUserService.java
  6. 54 0
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/res/FindEntUserResDto.java
  7. 10 10
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dubbo/RemoteContractServiceImpl.java
  8. 122 10
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/CommonBusinessService.java
  9. 105 44
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java
  10. 4 2
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsTrackService.java
  11. 101 36
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeService.java
  12. 3 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeTrackService.java
  13. 11 6
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/task/SynchronousContractStatusTask.java
  14. 4 5
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/WorkbenchController.java
  15. 3 1
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpSettlementRecordMapper.java
  16. 27 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/Factor.java
  17. 4 11
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/SettlementRecord.java
  18. 2 10
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/req/FinanceCount.java
  19. 18 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/EChartsVo.java
  20. 10 2
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpSettlementRecordService.java
  21. 52 4
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/WorkbenchService.java
  22. 39 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/utils/DateTimeUtil.java
  23. 18 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/utils/DecimalUtils.java
  24. 86 12
      sckw-modules/sckw-payment/src/main/resources/mapper/KwpSettlementRecordMapper.xml
  25. 13 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteUserServiceImpl.java
  26. 2 2
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/CommonService.java
  27. 1 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java
  28. 2 2
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java
  29. 3 3
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/SysDictService.java
  30. 4 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/OrderCarDTO.java
  31. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/OrderFinishVO.java
  32. 35 19
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/AcceptCarriageOrderService.java
  33. 179 69
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/CommonService.java
  34. 21 4
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ConsignOrderService.java
  35. 49 9
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/LogisticsConsignmentService.java
  36. 12 2
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/TransportCommonService.java
  37. 1 1
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml
  38. 1 0
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderMapper.xml

+ 5 - 0
sckw-auth/src/main/java/com/sckw/auth/service/impl/AuthServiceImpl.java

@@ -577,6 +577,11 @@ public class AuthServiceImpl implements IAuthService {
             //普通用户需要填充数据权限
             //普通用户需要填充数据权限
             if (user.getIsMain().equals(Global.NO)) {
             if (user.getIsMain().equals(Global.NO)) {
                 loginUserInfo.setAuthUserIdList(remoteUserService.queryAuthUserList(user.getId()));
                 loginUserInfo.setAuthUserIdList(remoteUserService.queryAuthUserList(user.getId()));
+            } else {
+                List<FindEntUserResDto> entUser = remoteUserService.findEntUser(user.getEntId());
+                if (CollectionUtils.isNotEmpty(entUser)) {
+                    loginUserInfo.setAuthUserIdList(entUser.stream().map(FindEntUserResDto::getUserId).distinct().toList());
+                }
             }
             }
 
 
             int expireTime = ClientTypeEnum.expireTime(loginBase.getClientType());
             int expireTime = ClientTypeEnum.expireTime(loginBase.getClientType());

+ 1 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/OkHttpUtils.java

@@ -456,7 +456,7 @@ public class OkHttpUtils {
             }
             }
             return respContent;
             return respContent;
         } catch (Exception e) {
         } catch (Exception e) {
-            log.error("网络访问异常,请求url地址={},响应体={},error={}", url, response, e);
+            log.error("网络访问异常,请求url地址={},响应体={},error=", url, response, e);
             throw new RuntimeException();
             throw new RuntimeException();
         } finally {
         } finally {
             log.info("统一外网请求参数打印,post请求url地址={},响应={}", url, respContent);
             log.info("统一外网请求参数打印,post请求url地址={},响应={}", url, respContent);

+ 5 - 4
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/constant/HttpStatus.java

@@ -40,15 +40,11 @@ public class HttpStatus {
     public static final String ACCOUNT_MISSING = "用户账号必填!";
     public static final String ACCOUNT_MISSING = "用户账号必填!";
     public static final String ACCOUNT_FREEZE = "用户账号不能重复冻结!";
     public static final String ACCOUNT_FREEZE = "用户账号不能重复冻结!";
     public static final String ACCOUNT_UNFREEZE = "用户账号不能重复解冻!";
     public static final String ACCOUNT_UNFREEZE = "用户账号不能重复解冻!";
-    public static final String ACCOUNT_EXISTS = "用户账号已存在!";
     public static final String PWD_MISSING = "密码不能为空!";
     public static final String PWD_MISSING = "密码不能为空!";
     public static final String TOKEN_MISSING = "token不能为空!";
     public static final String TOKEN_MISSING = "token不能为空!";
     public static final String TOKEN_INVAILD = "无效token";
     public static final String TOKEN_INVAILD = "无效token";
     public static final String TOKEN_ERROR = "非法token!";
     public static final String TOKEN_ERROR = "非法token!";
     public static final String CAPCHA_ERROR = "验证码无效!";
     public static final String CAPCHA_ERROR = "验证码无效!";
-    public static final String ENT_EXISTS = "企业已存在,不可重复!";
-    public static final String DICTTYPE_EXISTS = "字典类型已存在,不可重复!";
-    public static final String DICT_EXISTS = "字典键值已存在,不可重复!";
     public static final String ADDRESS_EXISTS = "地点已存在,不可重复!";
     public static final String ADDRESS_EXISTS = "地点已存在,不可重复!";
 
 
     /**其他自定义状态码*/
     /**其他自定义状态码*/
@@ -188,4 +184,9 @@ public class HttpStatus {
     public static final String MSG_034 = "您与所选企业存在未完结对账单,当前无法删除!";
     public static final String MSG_034 = "您与所选企业存在未完结对账单,当前无法删除!";
     public static final String MSG_035 = "地址信息已存在";
     public static final String MSG_035 = "地址信息已存在";
 
 
+    public static final String ENT_EXISTS = "企业已存在,不可重复!";
+    public static final String ACCOUNT_EXISTS = "用户账号已存在!";
+    public static final String DICTTYPE_EXISTS = "字典类型已存在,不可重复!";
+    public static final String DICT_EXISTS = "字典键值已存在,不可重复!";
+
 }
 }

+ 33 - 18
sckw-common/sckw-common-stream/src/main/java/com/sckw/stream/enums/MessageEnum.java

@@ -296,30 +296,45 @@ public enum MessageEnum {
             "贵司已发起了对【${company}】的付款操作,请及时确认并联系收款单位;结算单号:${number}", "terminal,ios,android",""),
             "贵司已发起了对【${company}】的付款操作,请及时确认并联系收款单位;结算单号:${number}", "terminal,ios,android",""),
 
 
     /**
     /**
-     * 合同-销售合同、托运合同
+     * 合同-销售合同、托运合同  补充合同
      */
      */
-    SAELCONTRACT_SUBMIT_DATA("BUSINESS", "SAELCONTRACT_SUBMIT_DATA", "发起补充合同签约",
-            "贵司新建了补充合同并发起与【${entName}】的合同签约流程,请留意电话短信;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
+    SAELCONTRACT_SUBMIT_DATA("BUSINESS", "SAELCONTRACT_SUBMIT_DATA", "发起补充合同签约", "贵司新建了补充合同并发起与【${entName}】的合同签约流程,请留意电话短信;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
 
 
-    SAELCONTRACT_COMPLETE_CONTRACT("BUSINESS", "SAELCONTRACT_COMPLETE_CONTRACT", "完结合同",
-            "贵司已完结了与【${entName}】间的签约合同,请及时通知合作单位;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
 
 
-    SAELCONTRACT_SEND_CONTRACT("BUSINESS", "SAELCONTRACT_SEND_CONTRACT", "发起合同签约",
-            "贵司新建了合同并发起与【${entName}】的合同签约流程,请留意电话短信;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
-    SAELCONTRACT_SUCCESS_CONTRACT("BUSINESS", "SAELCONTRACT_SUCCESS_CONTRACT", "合同签约成功",
-            "贵司已成功与【${entName}】签约合同;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
     /**
     /**
-     * 合同-采购合同、承运合同
+     * 完结合同
      */
      */
-    BUYCONTRACT_PROCESS_SEND("BUSINESS", "SAELCONTRACT_SUBMIT_DATA", "合同签约流程已发起",
-            "【${entName}】新建合同并发起签约流程,请留意电话短信;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
-    BUYCONTRACT_SUPPLYPROCESS_SEND("BUSINESS", "BUYCONTRACT_SUPPLYPROCESS_SEND", "补充合同签约流程已发起",
-            "【${entName}】新建补充合同并发起签约流程,请留意电话短信;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
-    BUYCONTRACT_SUCCESS_CONTRACT("BUSINESS", "BUYCONTRACT_SUCCESS_CONTRACT", "合同签约成功",
-            "贵司已成功与【${entName}】签约合同;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
-    BUYCONTRACT_COMPLETE_CONTRACT("BUSINESS", "BUYCONTRACT_COMPLETE_CONTRACT", "合同被完结",
-            "【${entName}】完结了与贵司签约的合同,请及时联系确认;;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
+    SAELCONTRACT_COMPLETE_CONTRACT("BUSINESS", "SAELCONTRACT_COMPLETE_CONTRACT", "完结合同","贵司已完结了与【${entName}】间的签约合同,请及时通知合作单位;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
 
 
+    /**
+     * 发起
+     */
+    SAELCONTRACT_SEND_CONTRACT("BUSINESS", "SAELCONTRACT_SEND_CONTRACT", "发起合同签约","贵司新建了合同并发起与【${entName}】的合同签约流程,请留意电话短信;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
+
+    /**
+     * 合同签约成功
+     */
+    SAELCONTRACT_SUCCESS_CONTRACT("BUSINESS", "SAELCONTRACT_SUCCESS_CONTRACT", "合同签约成功", "贵司已成功与【${entName}】签约合同;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
+
+    /**
+     * 合同-采购合同、承运合同  对方已发起签约
+     */
+    BUYCONTRACT_PROCESS_SEND("BUSINESS", "SAELCONTRACT_SUBMIT_DATA", "合同签约流程已发起", "【${entName}】新建合同并发起签约流程,请留意电话短信;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
+
+    /**
+     * 补充合同签约流程已发起
+     */
+    BUYCONTRACT_SUPPLYPROCESS_SEND("BUSINESS", "BUYCONTRACT_SUPPLYPROCESS_SEND", "补充合同签约流程已发起", "【${entName}】新建补充合同并发起签约流程,请留意电话短信;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
+
+    /**
+     * 合同签约成功
+     */
+    BUYCONTRACT_SUCCESS_CONTRACT("BUSINESS", "BUYCONTRACT_SUCCESS_CONTRACT", "合同签约成功", "贵司已成功与【${entName}】签约合同;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
+
+    /**
+     * 合同被完结
+     */
+    BUYCONTRACT_COMPLETE_CONTRACT("BUSINESS", "BUYCONTRACT_COMPLETE_CONTRACT", "合同被完结", "【${entName}】完结了与贵司签约的合同,请及时联系确认;;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
 
 
 
 
     ;
     ;

+ 9 - 0
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/RemoteUserService.java

@@ -202,4 +202,13 @@ public interface RemoteUserService {
      * @date: 2023/9/4
      * @date: 2023/9/4
      */
      */
     List<Long> queryAuthUserList(Long id);
     List<Long> queryAuthUserList(Long id);
+
+    /**
+     * @param entId 企业id
+     * @return FindEntUserResDto
+     * @desc: 查企业下的员工
+     * @author: czh
+     * @date: 2023/9/20
+     */
+    List<FindEntUserResDto> findEntUser(Long entId);
 }
 }

+ 54 - 0
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/res/FindEntUserResDto.java

@@ -0,0 +1,54 @@
+package com.sckw.system.api.model.dto.res;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author czh
+ * @desc 员工信息
+ * @date 2023/9/20
+ */
+@Data
+public class FindEntUserResDto implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1899047398204218528L;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 企业名
+     */
+    private String entName;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 用户账号
+     */
+    private String account;
+
+    /**
+     * 用户姓名
+     */
+    private String name;
+
+    /**
+     * 手机号
+     */
+    private String phone;
+
+    /**
+     * 角色名
+     */
+    private String roleName;
+
+}

+ 10 - 10
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dubbo/RemoteContractServiceImpl.java

@@ -111,17 +111,17 @@ public class RemoteContractServiceImpl implements RemoteContractService {
      */
      */
     @Override
     @Override
     public Map<Integer, Integer> queryContractValidCount(Long entId) {
     public Map<Integer, Integer> queryContractValidCount(Long entId) {
-        EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(entId);
-        if (Objects.isNull(entCacheResDto)) {
-            return Collections.emptyMap();
-        }
-
         List<Long> entIdList = new ArrayList<>();
         List<Long> entIdList = new ArrayList<>();
-        entIdList.add(entId);
-
-        List<EntCacheResDto> child = entCacheResDto.getChild();
-        if (CollectionUtils.isNotEmpty(child)) {
-            entIdList.addAll(child.stream().map(EntCacheResDto::getId).toList());
+        if (Objects.nonNull(entId)) {
+            EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(entId);
+            if (Objects.isNull(entCacheResDto)) {
+                return Collections.emptyMap();
+            }
+            entIdList.add(entId);
+            List<EntCacheResDto> child = entCacheResDto.getChild();
+            if (CollectionUtils.isNotEmpty(child)) {
+                entIdList.addAll(child.stream().map(EntCacheResDto::getId).toList());
+            }
         }
         }
 
 
         List<QueryContractValidCountResDto> queryContractValidCountResDtos = kwcContractTradeMapper.queryContractValidCount(entIdList);
         List<QueryContractValidCountResDto> queryContractValidCountResDtos = kwcContractTradeMapper.queryContractValidCount(entIdList);

+ 122 - 10
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/CommonBusinessService.java

@@ -9,9 +9,14 @@ import com.sckw.contract.factory.AsyncFactory;
 import com.sckw.contract.model.dto.req.EsignGetFlowReqDto;
 import com.sckw.contract.model.dto.req.EsignGetFlowReqDto;
 import com.sckw.contract.model.dto.res.ESignSubmitResDto;
 import com.sckw.contract.model.dto.res.ESignSubmitResDto;
 import com.sckw.contract.model.entity.KwcContractLogistics;
 import com.sckw.contract.model.entity.KwcContractLogistics;
+import com.sckw.contract.model.entity.KwcContractLogisticsUnit;
 import com.sckw.contract.model.entity.KwcContractTrade;
 import com.sckw.contract.model.entity.KwcContractTrade;
+import com.sckw.contract.model.entity.KwcContractTradeUnit;
 import com.sckw.contract.model.vo.req.ESignCallBackReqVo;
 import com.sckw.contract.model.vo.req.ESignCallBackReqVo;
 import com.sckw.core.exception.SystemException;
 import com.sckw.core.exception.SystemException;
+import com.sckw.core.model.constant.Global;
+import com.sckw.core.model.enums.ClientTypeEnum;
+import com.sckw.core.model.enums.CooperateTypeEnum;
 import com.sckw.core.utils.AsyncThreadUtils;
 import com.sckw.core.utils.AsyncThreadUtils;
 import com.sckw.core.utils.BeanUtils;
 import com.sckw.core.utils.BeanUtils;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
@@ -39,10 +44,9 @@ import com.sckw.stream.model.UserInfo;
 import java.io.*;
 import java.io.*;
 import java.net.URL;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
 import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 
 
 
 @Slf4j
 @Slf4j
@@ -77,11 +81,50 @@ public class CommonBusinessService {
     @Autowired
     @Autowired
     private KwcContractTradeTrackService kwcContractTradeTrackService;
     private KwcContractTradeTrackService kwcContractTradeTrackService;
 
 
+    @Autowired
+    private KwcContractLogisticsUnitService kwcContractLogisticsUnitService;
+
+    @Autowired
+    private KwcContractTradeUnitService kwcContractTradeUnitService;
+
     private  final StreamBridge streamBridge;
     private  final StreamBridge streamBridge;
 
 
     @Value("${eSignUrl}")
     @Value("${eSignUrl}")
     private String eSignUrl;
     private String eSignUrl;
 
 
+    /**销售合同*/
+    @Value(value = "${jumpUrl.saleSendContract}")
+    private String saleSendContract;
+
+    /**采购合同*/
+    @Value(value = "${jumpUrl.purchaseSendContract}")
+    private String purchaseSendContract;
+
+    /**托运合同*/
+    @Value(value = "${jumpUrl.consignmentSendContract}")
+    private String consignmentSendContract;
+
+    /**承运合同*/
+    @Value(value = "${jumpUrl.acceptanceSendContract}")
+    private String acceptanceSendContract;
+
+    /**app销售合同*/
+    @Value(value = "${jumpUrl.appSaleSendContract}")
+    private String appSaleSendContract;
+
+    /**app采购合同*/
+    @Value(value = "${jumpUrl.appPurchaseSendContract}")
+    private String appPurchaseSendContract;
+
+    /**app托运合同*/
+    @Value(value = "${jumpUrl.appConsignmentSendContract}")
+    private String appConsignmentSendContract;
+
+    /**app承运合同*/
+    @Value(value = "${jumpUrl.appAcceptanceSendContract}")
+    private String appAcceptanceSendContract;
+
+
     /**
     /**
      * @return Map
      * @return Map
      * @desc: 查企业
      * @desc: 查企业
@@ -107,6 +150,7 @@ public class CommonBusinessService {
             kwcContractTradeService.approval(reqVo.getContractId(), reqVo.getStatus(), reqVo.getRemark());
             kwcContractTradeService.approval(reqVo.getContractId(), reqVo.getStatus(), reqVo.getRemark());
             kwcContractTradeTrackService.saveContractTradeTrack(contractId, reqVo.getStatus());
             kwcContractTradeTrackService.saveContractTradeTrack(contractId, reqVo.getStatus());
             notifyOrder(contractId, kwcContractTrade.getCreateBy());
             notifyOrder(contractId, kwcContractTrade.getCreateBy());
+            sendTradePassMessage(kwcContractTrade);
             return;
             return;
         }
         }
 
 
@@ -115,11 +159,73 @@ public class CommonBusinessService {
             kwcContractLogisticsService.approval(reqVo.getContractId(), reqVo.getStatus(), reqVo.getRemark());
             kwcContractLogisticsService.approval(reqVo.getContractId(), reqVo.getStatus(), reqVo.getRemark());
             kwcContractLogisticsTrackService.saveContractLogisticsTrack(contractId, reqVo.getStatus());
             kwcContractLogisticsTrackService.saveContractLogisticsTrack(contractId, reqVo.getStatus());
             notifyOrder(contractId, kwcContractLogistics.getCreateBy());
             notifyOrder(contractId, kwcContractLogistics.getCreateBy());
+            sendLogisticsPassMessage(kwcContractLogistics);
             return;
             return;
         }
         }
         throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.CONTRACT_NOT_EXISTS);
         throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.CONTRACT_NOT_EXISTS);
     }
     }
 
 
+
+    public void sendLogisticsPassMessage(KwcContractLogistics kwcContractLogistics) {
+        List<KwcContractLogisticsUnit> kwcContractLogisticsUnits = kwcContractLogisticsUnitService.queryByContractId(kwcContractLogistics.getId());
+        Map<Integer, KwcContractLogisticsUnit> collect = kwcContractLogisticsUnits.stream().collect(Collectors.toMap(KwcContractLogisticsUnit::getUnitType, Function.identity()));
+
+        KwcContractLogisticsUnit kwcContractLogisticsUnit = collect.get(CooperateTypeEnum.CARRIAGE.getCode());
+        Long entId1 = kwcContractLogisticsUnit.getEntId();
+
+        EntCacheResDto entCacheResDto1 = remoteSystemService.queryEntCacheById(entId1);
+        Map<String, Object> map = new HashMap<>();
+        map.put("entName", entCacheResDto1.getFirmName());
+        map.put("contract_no", kwcContractLogistics.getContractNo());
+        map.put("name", kwcContractLogistics.getName());
+        sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(kwcContractLogistics.getCreateBy()).setEntId(kwcContractLogistics.getEntId())),
+                MessageEnum.SAELCONTRACT_SUCCESS_CONTRACT,
+                map,
+                consignmentSendContract,
+                appConsignmentSendContract);
+
+        EntCacheResDto entCacheResDto = remoteSystemService.queryEntCacheById(entId1);
+        KwcContractLogisticsUnit kwcContractLogisticsUnit2 = collect.get(CooperateTypeEnum.CONSIGN.getCode());
+        EntCacheResDto entCacheResDto2 = remoteSystemService.queryEntCacheById(kwcContractLogisticsUnit2.getEntId());
+        map.put("entName", entCacheResDto2.getFirmName());
+        sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(entCacheResDto.getContactsId()).setEntId(entCacheResDto.getId())),
+                MessageEnum.BUYCONTRACT_SUCCESS_CONTRACT,
+                map,
+                acceptanceSendContract,
+                appAcceptanceSendContract);
+    }
+
+
+
+    public void sendTradePassMessage(KwcContractTrade kwcContractTrade) {
+        List<KwcContractTradeUnit> kwcContractTradeUnits = kwcContractTradeUnitService.queryByContractId(kwcContractTrade.getId());
+        Map<Integer, KwcContractTradeUnit> collect = kwcContractTradeUnits.stream().collect(Collectors.toMap(KwcContractTradeUnit::getUnitType, Function.identity()));
+
+        KwcContractTradeUnit kwcContractTradeUnit = collect.get(CooperateTypeEnum.PURCHASER.getCode());
+        Long entId1 = kwcContractTradeUnit.getEntId();
+
+        EntCacheResDto entCacheResDto1 = remoteSystemService.queryEntCacheById(entId1);
+        Map<String, Object> map = new HashMap<>();
+        map.put("entName", entCacheResDto1.getFirmName());
+        map.put("contract_no", kwcContractTrade.getContractNo());
+        map.put("name", kwcContractTrade.getName());
+        sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(kwcContractTrade.getCreateBy()).setEntId(kwcContractTrade.getEntId())),
+                MessageEnum.SAELCONTRACT_SUCCESS_CONTRACT,
+                map,
+                saleSendContract,
+                appSaleSendContract);
+
+        EntCacheResDto entCacheResDto = remoteSystemService.queryEntCacheById(entId1);
+        KwcContractTradeUnit kwcContractTradeUnit2 = collect.get(CooperateTypeEnum.SUPPLIER.getCode());
+        EntCacheResDto entCacheResDto2 = remoteSystemService.queryEntCacheById(kwcContractTradeUnit2.getEntId());
+        map.put("entName", entCacheResDto2.getFirmName());
+        sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(entCacheResDto.getContactsId()).setEntId(entCacheResDto.getId())),
+                MessageEnum.BUYCONTRACT_SUCCESS_CONTRACT,
+                map,
+                purchaseSendContract,
+                appPurchaseSendContract);
+    }
+
     /**
     /**
      * @param contractId 合同id   userId用户id
      * @param contractId 合同id   userId用户id
      * @desc: 通知订单模块更新状态
      * @desc: 通知订单模块更新状态
@@ -155,19 +261,22 @@ public class CommonBusinessService {
      * @author: czh
      * @author: czh
      * @date: 2023/8/14
      * @date: 2023/8/14
      */
      */
-    public void postToEsign(String firstAccount, String secondAccount, Long orgFirst, Long orgSeconId, String contractFile, Long id, String contractName) {
-        AsyncFactory.execute(new AsyncProcess(firstAccount, secondAccount, orgFirst, orgSeconId, contractFile, id, contractName, remoteSystemService, eSignUrl, kwcContractLogisticsMapper, kwcContractTradeMapper));
+    public void postToEsign(String firstAccount, String secondAccount, Long orgFirst, Long orgSeconId, String contractFile, Long id, String contractName, String filePathPrefix) {
+        AsyncFactory.execute(new AsyncProcess(firstAccount, secondAccount, orgFirst, orgSeconId, contractFile, id, contractName, remoteSystemService, eSignUrl, kwcContractLogisticsMapper, kwcContractTradeMapper, filePathPrefix));
     }
     }
 
 
 
 
 
 
 
 
-    public void sendSystemMessage(List<UserInfo> userInfos, MessageEnum messageEnum, Map<String, Object> map, String msgUrl) {
+    public void sendSystemMessage(List<UserInfo> userInfos, MessageEnum messageEnum, Map<String, Object> map, String msgUrl, String appMsgUrl) {
         SckwMessage msg = new SckwMessage();
         SckwMessage msg = new SckwMessage();
+        Map<String, String> msgUrls = new HashMap<>(Global.NUMERICAL_FOUR);
+        msgUrls.put(ClientTypeEnum.pc.getValue(), msgUrl);
+        msgUrls.put(ClientTypeEnum.app.getValue(), appMsgUrl);
         msg.setRequestId(UUIDUtils.get32UUID())
         msg.setRequestId(UUIDUtils.get32UUID())
                 .setMessageEnum(messageEnum)
                 .setMessageEnum(messageEnum)
                 .setParams(map)
                 .setParams(map)
-                .setMsgUrl(msgUrl)
+                .setMsgUrls(msgUrls)
                 .setUserInfos(userInfos)
                 .setUserInfos(userInfos)
                 .setCreateBy(LoginUserHolder.getUserId());
                 .setCreateBy(LoginUserHolder.getUserId());
         AsyncThreadUtils.submit(new AsyncProcessMessage(msg, streamBridge));
         AsyncThreadUtils.submit(new AsyncProcessMessage(msg, streamBridge));
@@ -199,6 +308,7 @@ public class CommonBusinessService {
         private final String contractFile;
         private final String contractFile;
         private final Long id;
         private final Long id;
         private final String contractName;
         private final String contractName;
+        private final String filePathPrefix;
 
 
         private RemoteSystemService remoteSystemService;
         private RemoteSystemService remoteSystemService;
         private String eSignUrl;
         private String eSignUrl;
@@ -215,7 +325,8 @@ public class CommonBusinessService {
                             RemoteSystemService remoteSystemService,
                             RemoteSystemService remoteSystemService,
                             String eSignUrl,
                             String eSignUrl,
                             KwcContractLogisticsMapper kwcContractLogisticsMapper,
                             KwcContractLogisticsMapper kwcContractLogisticsMapper,
-                            KwcContractTradeMapper kwcContractTradeMapper) {
+                            KwcContractTradeMapper kwcContractTradeMapper,
+                            String filePathPrefix) {
             this.firstAccount = firstAccount;
             this.firstAccount = firstAccount;
             this.secondAccount = secondAccount;
             this.secondAccount = secondAccount;
             this.orgFirst = orgFirst;
             this.orgFirst = orgFirst;
@@ -227,6 +338,7 @@ public class CommonBusinessService {
             this.eSignUrl = eSignUrl;
             this.eSignUrl = eSignUrl;
             this.kwcContractLogisticsMapper = kwcContractLogisticsMapper;
             this.kwcContractLogisticsMapper = kwcContractLogisticsMapper;
             this.kwcContractTradeMapper = kwcContractTradeMapper;
             this.kwcContractTradeMapper = kwcContractTradeMapper;
+            this.filePathPrefix = filePathPrefix;
         }
         }
 
 
         @Override
         @Override
@@ -235,7 +347,7 @@ public class CommonBusinessService {
             JSONArray jsonArray = JSONArray.parseArray(contractFile);
             JSONArray jsonArray = JSONArray.parseArray(contractFile);
             JSONObject jsonObject = jsonArray.getJSONObject(0);
             JSONObject jsonObject = jsonArray.getJSONObject(0);
             String fileName = jsonObject.getString("name");
             String fileName = jsonObject.getString("name");
-            String url = jsonObject.getString("url");
+            String url = filePathPrefix + jsonObject.getString("url");
             File file = getFileByHttpURL(url, fileName);
             File file = getFileByHttpURL(url, fileName);
             List<Long> entIds = new ArrayList<>(2);
             List<Long> entIds = new ArrayList<>(2);
             entIds.add(orgFirst);
             entIds.add(orgFirst);

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

@@ -1,4 +1,5 @@
 package com.sckw.contract.service;
 package com.sckw.contract.service;
+
 import java.util.Date;
 import java.util.Date;
 
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
@@ -50,6 +51,7 @@ import org.springframework.transaction.annotation.Transactional;
 import java.io.*;
 import java.io.*;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.*;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 /**
 /**
@@ -73,9 +75,6 @@ public class KwcContractLogisticsService {
     @Autowired
     @Autowired
     private KwcContractLogisticsUnitService kwcContractLogisticsUnitService;
     private KwcContractLogisticsUnitService kwcContractLogisticsUnitService;
 
 
-    //@Autowired
-    //private RemoteContractServiceImpl remoteContractService;
-
     @Autowired
     @Autowired
     private CommonBusinessService commonBusinessService;
     private CommonBusinessService commonBusinessService;
 
 
@@ -88,8 +87,41 @@ public class KwcContractLogisticsService {
     @DubboReference(version = "1.0.0", group = "design", check = false)
     @DubboReference(version = "1.0.0", group = "design", check = false)
     private GoodsInfoService goodsInfoService;
     private GoodsInfoService goodsInfoService;
 
 
-    @Value(value = "${jumpUrl.tradeSendContract}")
-    private String  tradeSendContract;
+    //销售合同
+    @Value(value = "${jumpUrl.saleSendContract}")
+    private String saleSendContract;
+
+    //采购合同
+    @Value(value = "${jumpUrl.purchaseSendContract}")
+    private String purchaseSendContract;
+
+    //托运合同
+    @Value(value = "${jumpUrl.consignmentSendContract}")
+    private String consignmentSendContract;
+
+    //承运合同
+    @Value(value = "${jumpUrl.acceptanceSendContract}")
+    private String acceptanceSendContract;
+
+    //app销售合同
+    @Value(value = "${jumpUrl.appSaleSendContract}")
+    private String appSaleSendContract;
+
+    //app采购合同
+    @Value(value = "${jumpUrl.appPurchaseSendContract}")
+    private String appPurchaseSendContract;
+
+    //app托运合同
+    @Value(value = "${jumpUrl.appConsignmentSendContract}")
+    private String appConsignmentSendContract;
+
+    //app承运合同
+    @Value(value = "${jumpUrl.appAcceptanceSendContract}")
+    private String appAcceptanceSendContract;
+
+
+    @Value(value = "${filePathPrefix}")
+    private String filePathPrefix;
 
 
     /**
     /**
      * @param reqVo 新增入参
      * @param reqVo 新增入参
@@ -125,24 +157,6 @@ public class KwcContractLogisticsService {
 
 
         //存单位信息
         //存单位信息
         kwcContractLogisticsUnitService.saveContractLogisticsUnit(kwcContractLogistics.getId(), baseInfo);
         kwcContractLogisticsUnitService.saveContractLogisticsUnit(kwcContractLogistics.getId(), baseInfo);
-
-        //发送消息
-        Long entId = kwcContractLogistics.getEntId();
-        EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(entId);
-        Map<String, Object> map = new HashMap<>();
-        map.put("entName", entCacheResDto.getFirmName());
-        map.put("contract_no", baseInfo.getContractCode());
-        map.put("name", baseInfo.getContractName());
-        MessageEnum messageEnum;
-        if (Objects.nonNull(reqVo.getPid())) {
-            messageEnum = MessageEnum.SAELCONTRACT_SUBMIT_DATA;//检测到PID时为补充合同
-        }else{
-            messageEnum = MessageEnum.SAELCONTRACT_SEND_CONTRACT;
-        }
-        commonBusinessService.sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(kwcContractLogistics.getCreateBy()).setEntId(entId)),
-                messageEnum,
-                map,
-                tradeSendContract);
         return contactId;
         return contactId;
     }
     }
 
 
@@ -393,6 +407,7 @@ public class KwcContractLogisticsService {
      * @date: 2023/8/18
      * @date: 2023/8/18
      */
      */
     private void sign(ContractLogisticsReqVo reqVo, Long id) {
     private void sign(ContractLogisticsReqVo reqVo, Long id) {
+        KwcContractLogistics kwcContractLogistics = kwcContractLogisticsMapper.selectById(id);
         if (DictEnum.SIGNING_WAY_1.getValue().equals(String.valueOf(reqVo.getBaseInfo().getSigningWay()))) {
         if (DictEnum.SIGNING_WAY_1.getValue().equals(String.valueOf(reqVo.getBaseInfo().getSigningWay()))) {
             commonBusinessService.postToEsign(reqVo.getBaseInfo().getCheckedPhone(),
             commonBusinessService.postToEsign(reqVo.getBaseInfo().getCheckedPhone(),
                     reqVo.getBaseInfo().getCarrierPhone(),
                     reqVo.getBaseInfo().getCarrierPhone(),
@@ -400,7 +415,10 @@ public class KwcContractLogisticsService {
                     reqVo.getBaseInfo().getCarrierEntId(),
                     reqVo.getBaseInfo().getCarrierEntId(),
                     reqVo.getContractFile(),
                     reqVo.getContractFile(),
                     id,
                     id,
-                    reqVo.getBaseInfo().getContractName());
+                    reqVo.getBaseInfo().getContractName(),
+                    filePathPrefix);
+            //发送消息
+            sendLogisticsMessage(kwcContractLogistics);
         }
         }
 
 
         //线下签约直接通过
         //线下签约直接通过
@@ -409,22 +427,51 @@ public class KwcContractLogisticsService {
             eSignCallBackReqVo.setContractId(id);
             eSignCallBackReqVo.setContractId(id);
             eSignCallBackReqVo.setStatus(ContractStatusEnum.SIGNED.getCode());
             eSignCallBackReqVo.setStatus(ContractStatusEnum.SIGNED.getCode());
             commonBusinessService.approval(eSignCallBackReqVo);
             commonBusinessService.approval(eSignCallBackReqVo);
-
             //发送消息
             //发送消息
-            KwcContractLogistics kwcContractLogistic = kwcContractLogisticsMapper.selectById(id);
-            Long entId = kwcContractLogistic.getEntId();
-            EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(entId);
-            Map<String, Object> map = new HashMap<>();
-            map.put("entName", entCacheResDto.getFirmName());
-            map.put("contract_no", kwcContractLogistic.getContractNo());
-            map.put("name", kwcContractLogistic.getName());
-            MessageEnum messageEnum = MessageEnum.SAELCONTRACT_COMPLETE_CONTRACT;
-
-            commonBusinessService.sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(kwcContractLogistic.getCreateBy()).setEntId(entId)),
-                    messageEnum,
-                    map,
-                    tradeSendContract);
+            sendLogisticsMessage(kwcContractLogistics);
+            commonBusinessService.sendLogisticsPassMessage(kwcContractLogistics);
+        }
+
+    }
+
+
+
+    private void sendLogisticsMessage(KwcContractLogistics kwcContractLogistics) {
+        List<KwcContractLogisticsUnit> kwcContractLogisticsUnits = kwcContractLogisticsUnitService.queryByContractId(kwcContractLogistics.getId());
+        Map<Integer, KwcContractLogisticsUnit> collect = kwcContractLogisticsUnits.stream().collect(Collectors.toMap(KwcContractLogisticsUnit::getUnitType, Function.identity()));
+        KwcContractLogisticsUnit kwcContractLogisticsUnit = collect.get(CooperateTypeEnum.CARRIAGE.getCode());
+        EntCacheResDto entCacheResDto = remoteSystemService.queryEntCacheById(kwcContractLogisticsUnit.getEntId());
+        Map<String, Object> map = new HashMap<>();
+        map.put("entName", entCacheResDto.getFirmName());
+        map.put("contract_no", kwcContractLogistics.getContractNo());
+        map.put("name", kwcContractLogistics.getName());
+        MessageEnum messageEnum;
+        if (Objects.nonNull(kwcContractLogistics.getContractPid())) {
+            messageEnum = MessageEnum.SAELCONTRACT_SUBMIT_DATA;
+        } else {
+            messageEnum = MessageEnum.SAELCONTRACT_SEND_CONTRACT;
         }
         }
+        commonBusinessService.sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(kwcContractLogistics.getCreateBy()).setEntId(kwcContractLogistics.getEntId())),
+                messageEnum,
+                map,
+                consignmentSendContract,
+                appConsignmentSendContract);
+
+
+        if (Objects.nonNull(kwcContractLogistics.getContractPid())) {
+            messageEnum = MessageEnum.BUYCONTRACT_SUPPLYPROCESS_SEND;
+        } else {
+            messageEnum = MessageEnum.BUYCONTRACT_PROCESS_SEND;
+        }
+
+        EntCacheResDto entCacheResDto2 = remoteSystemService.queryEntTreeById(kwcContractLogisticsUnit.getEntId());
+        EntCacheResDto entCacheResDto1 = remoteSystemService.queryEntCacheById(kwcContractLogistics.getEntId());
+        map.put("entName", entCacheResDto1.getFirmName());
+        commonBusinessService.sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(entCacheResDto2.getContactsId()).setEntId(entCacheResDto2.getId())),
+                messageEnum,
+                map,
+                acceptanceSendContract,
+                appAcceptanceSendContract);
     }
     }
 
 
 
 
@@ -548,19 +595,33 @@ public class KwcContractLogisticsService {
 
 
 
 
         //发送消息
         //发送消息
-        Long entId = kwcContractLogistic.getEntId();
-        EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(entId);
+        List<KwcContractLogisticsUnit> kwcContractLogisticsUnits = kwcContractLogisticsUnitService.queryByContractId(kwcContractLogistic.getId());
+        Map<Integer, KwcContractLogisticsUnit> collect = kwcContractLogisticsUnits.stream().collect(Collectors.toMap(KwcContractLogisticsUnit::getUnitType, Function.identity()));
+        KwcContractLogisticsUnit kwcContractLogisticsUnit = collect.get(CooperateTypeEnum.CARRIAGE.getCode());
+        Long entId = kwcContractLogisticsUnit.getEntId();
+        EntCacheResDto entCacheResDto = remoteSystemService.queryEntCacheById(entId);
         Map<String, Object> map = new HashMap<>();
         Map<String, Object> map = new HashMap<>();
         map.put("entName", entCacheResDto.getFirmName());
         map.put("entName", entCacheResDto.getFirmName());
         map.put("contract_no", kwcContractLogistic.getContractNo());
         map.put("contract_no", kwcContractLogistic.getContractNo());
         map.put("name", kwcContractLogistic.getName());
         map.put("name", kwcContractLogistic.getName());
-        MessageEnum messageEnum = MessageEnum.SAELCONTRACT_COMPLETE_CONTRACT;
 
 
-        commonBusinessService.sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(kwcContractLogistic.getCreateBy()).setEntId(entId)),
-                messageEnum,
+        commonBusinessService.sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(kwcContractLogistic.getCreateBy()).setEntId(kwcContractLogistic.getEntId())),
+                MessageEnum.SAELCONTRACT_COMPLETE_CONTRACT,
                 map,
                 map,
-                tradeSendContract);
+                consignmentSendContract,
+                appConsignmentSendContract);
 
 
+
+        KwcContractLogisticsUnit kwcContractLogisticsUnit2 = collect.get(CooperateTypeEnum.CONSIGN.getCode());
+        Long entId1 = kwcContractLogisticsUnit2.getEntId();
+        EntCacheResDto entCacheResDto1 = remoteSystemService.queryEntCacheById(entId1);
+        EntCacheResDto entCacheResDto2 = remoteSystemService.queryEntTreeById(entId);
+        map.put("entName", entCacheResDto1.getFirmName());
+        commonBusinessService.sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(entCacheResDto2.getContactsId()).setEntId(entCacheResDto2.getId())),
+                MessageEnum.BUYCONTRACT_COMPLETE_CONTRACT,
+                map,
+                acceptanceSendContract,
+                appAcceptanceSendContract);
     }
     }
 
 
 
 

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

@@ -2,6 +2,7 @@ package com.sckw.contract.service;
 
 
 import java.util.*;
 import java.util.*;
 
 
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.sckw.contract.dao.KwcContractLogisticsMapper;
 import com.sckw.contract.dao.KwcContractLogisticsMapper;
 import com.sckw.contract.dao.KwcContractLogisticsTrackMapper;
 import com.sckw.contract.dao.KwcContractLogisticsTrackMapper;
@@ -52,6 +53,7 @@ public class KwcContractLogisticsTrackService {
     public void saveContractLogisticsTrack(Long contractId, Integer status) {
     public void saveContractLogisticsTrack(Long contractId, Integer status) {
         KwcContractLogisticsTrack kwcContractLogisticsTrack = new KwcContractLogisticsTrack();
         KwcContractLogisticsTrack kwcContractLogisticsTrack = new KwcContractLogisticsTrack();
         Date date = new Date();
         Date date = new Date();
+        date = DateUtil.offsetSecond(date, Global.NUMERICAL_TWO);
         kwcContractLogisticsTrack.setId(new IdWorker(1L).nextId());
         kwcContractLogisticsTrack.setId(new IdWorker(1L).nextId());
         kwcContractLogisticsTrack.setContractId(contractId);
         kwcContractLogisticsTrack.setContractId(contractId);
         kwcContractLogisticsTrack.setType(status);
         kwcContractLogisticsTrack.setType(status);
@@ -113,9 +115,9 @@ public class KwcContractLogisticsTrackService {
             ContractTrackResVo contractTrackResVo = new ContractTrackResVo();
             ContractTrackResVo contractTrackResVo = new ContractTrackResVo();
             contractTrackResVo.setCreateTime(item.getCreateTime());
             contractTrackResVo.setCreateTime(item.getCreateTime());
             contractTrackResVo.setTrackName(ContractTrackEnum.getName(item.getType()).getName());
             contractTrackResVo.setTrackName(ContractTrackEnum.getName(item.getType()).getName());
-            if (ContractTrackEnum.SIGNING.getCode() == item.getType()) {
+            if (item.getType().equals(ContractTrackEnum.SIGNING.getCode())) {
                 contractTrackResVo.setEntName(initiateEntName);
                 contractTrackResVo.setEntName(initiateEntName);
-            } else if (ContractTrackEnum.SIGNED.getCode() == item.getType()) {
+            } else if (item.getType().equals(ContractTrackEnum.SIGNED.getCode())) {
                 contractTrackResVo.setEntName(targetEntName);
                 contractTrackResVo.setEntName(targetEntName);
             } else {
             } else {
                 UserCacheResDto userCacheResDto = remoteSystemService.queryUserCacheById(item.getCreateBy());
                 UserCacheResDto userCacheResDto = remoteSystemService.queryUserCacheById(item.getCreateBy());

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

@@ -21,6 +21,7 @@ import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.enums.ContractStatusEnum;
 import com.sckw.core.model.enums.ContractStatusEnum;
 import com.sckw.core.model.enums.ContractTrackEnum;
 import com.sckw.core.model.enums.ContractTrackEnum;
+import com.sckw.core.model.enums.CooperateTypeEnum;
 import com.sckw.core.model.enums.EntTypeEnum;
 import com.sckw.core.model.enums.EntTypeEnum;
 import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.model.page.PageResult;
@@ -49,6 +50,7 @@ import com.sckw.system.api.RemoteSystemService;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.*;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 import com.sckw.contract.dao.KwcContractTradeMapper;
 import com.sckw.contract.dao.KwcContractTradeMapper;
@@ -87,10 +89,41 @@ public class KwcContractTradeService {
     @DubboReference(version = "1.0.0", group = "design", check = false)
     @DubboReference(version = "1.0.0", group = "design", check = false)
     private TradeOrderInfoService tradeOrderInfoService;
     private TradeOrderInfoService tradeOrderInfoService;
 
 
+    /**销售合同*/
     @Value(value = "${jumpUrl.saleSendContract}")
     @Value(value = "${jumpUrl.saleSendContract}")
     private String saleSendContract;
     private String saleSendContract;
 
 
+    /**采购合同*/
+    @Value(value = "${jumpUrl.purchaseSendContract}")
+    private String purchaseSendContract;
 
 
+    /**托运合同*/
+    @Value(value = "${jumpUrl.consignmentSendContract}")
+    private String consignmentSendContract;
+
+    /**承运合同*/
+    @Value(value = "${jumpUrl.acceptanceSendContract}")
+    private String acceptanceSendContract;
+
+    /**app销售合同*/
+    @Value(value = "${jumpUrl.appSaleSendContract}")
+    private String appSaleSendContract;
+
+    /**app采购合同*/
+    @Value(value = "${jumpUrl.appPurchaseSendContract}")
+    private String appPurchaseSendContract;
+
+    /**app托运合同*/
+    @Value(value = "${jumpUrl.appConsignmentSendContract}")
+    private String appConsignmentSendContract;
+
+    /**app承运合同*/
+    @Value(value = "${jumpUrl.appAcceptanceSendContract}")
+    private String appAcceptanceSendContract;
+
+
+    @Value(value = "${filePathPrefix}")
+    private String filePathPrefix;
 
 
     /**
     /**
      * @return PageResult
      * @return PageResult
@@ -198,23 +231,6 @@ public class KwcContractTradeService {
 
 
         //存单位信息
         //存单位信息
         kwcContractTradeUnitService.saveContractTradeUnit(contactId, baseInfo);
         kwcContractTradeUnitService.saveContractTradeUnit(contactId, baseInfo);
-        //发送消息
-        Long entId = kwcContractTrade.getEntId();
-        EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(entId);
-        Map<String, Object> map = new HashMap<>();
-        map.put("entName", entCacheResDto.getFirmName());
-        map.put("contract_no", baseInfo.getContractCode());
-        map.put("name", baseInfo.getContractName());
-        MessageEnum messageEnum;
-        if (Objects.nonNull(reqVo.getPid())) {
-            messageEnum = MessageEnum.SAELCONTRACT_SUBMIT_DATA;//检测到PID时为补充合同
-        }else{
-            messageEnum = MessageEnum.SAELCONTRACT_SEND_CONTRACT;
-        }
-        commonBusinessService.sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(kwcContractTrade.getCreateBy()).setEntId(entId)),
-                messageEnum,
-                map,
-                saleSendContract);
         return contactId;
         return contactId;
     }
     }
 
 
@@ -459,6 +475,7 @@ public class KwcContractTradeService {
      * @date: 2023/8/18
      * @date: 2023/8/18
      */
      */
     private void sign(ContractTradeReqVo reqVo, Long id) {
     private void sign(ContractTradeReqVo reqVo, Long id) {
+        KwcContractTrade kwcContractTrade = kwcContractTradeMapper.selectById(id);
         if (DictEnum.SIGNING_WAY_1.getValue().equals(String.valueOf(reqVo.getBaseInfo().getSigningWay()))) {
         if (DictEnum.SIGNING_WAY_1.getValue().equals(String.valueOf(reqVo.getBaseInfo().getSigningWay()))) {
             commonBusinessService.postToEsign(reqVo.getBaseInfo().getProvidePhone(),
             commonBusinessService.postToEsign(reqVo.getBaseInfo().getProvidePhone(),
                     reqVo.getBaseInfo().getPurchasePhone(),
                     reqVo.getBaseInfo().getPurchasePhone(),
@@ -466,7 +483,9 @@ public class KwcContractTradeService {
                     reqVo.getBaseInfo().getPurchaseEntId(),
                     reqVo.getBaseInfo().getPurchaseEntId(),
                     reqVo.getContractFile(),
                     reqVo.getContractFile(),
                     id,
                     id,
-                    reqVo.getBaseInfo().getContractName());
+                    reqVo.getBaseInfo().getContractName(),
+                    filePathPrefix);
+            sendTradeMessage(kwcContractTrade);
         }
         }
 
 
         //线下签约直接通过
         //线下签约直接通过
@@ -476,22 +495,53 @@ public class KwcContractTradeService {
             eSignCallBackReqVo.setStatus(ContractStatusEnum.SIGNED.getCode());
             eSignCallBackReqVo.setStatus(ContractStatusEnum.SIGNED.getCode());
             commonBusinessService.approval(eSignCallBackReqVo);
             commonBusinessService.approval(eSignCallBackReqVo);
             //发送消息
             //发送消息
-            Long entId = reqVo.getBaseInfo().getProvideEntId();
-            EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(entId);
-            Map<String, Object> map = new HashMap<>();
-            map.put("entName", entCacheResDto.getFirmName());
-            map.put("contract_no", reqVo.getBaseInfo().getContractCode());
-            map.put("name", reqVo.getBaseInfo().getContractName());
-            MessageEnum messageEnum = MessageEnum.SAELCONTRACT_SUCCESS_CONTRACT;
-            KwcContractTrade kwcContractTrade = kwcContractTradeMapper.selectById(id);
-            commonBusinessService.sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(kwcContractTrade.getCreateBy()).setEntId(entId)),
-                    messageEnum,
-                    map,
-                    saleSendContract);
+            sendTradeMessage(kwcContractTrade);
+            commonBusinessService.sendTradePassMessage(kwcContractTrade);
         }
         }
     }
     }
 
 
 
 
+    private void sendTradeMessage(KwcContractTrade kwcContractTrade) {
+        List<KwcContractTradeUnit> kwcContractTradeUnits = kwcContractTradeUnitService.queryByContractId(kwcContractTrade.getId());
+        Map<Integer, KwcContractTradeUnit> collect = kwcContractTradeUnits.stream().collect(Collectors.toMap(KwcContractTradeUnit::getUnitType, Function.identity()));
+        KwcContractTradeUnit kwcContractTradeUnit = collect.get(CooperateTypeEnum.PURCHASER.getCode());
+        EntCacheResDto entCacheResDto = remoteSystemService.queryEntCacheById(kwcContractTradeUnit.getEntId());
+        Map<String, Object> map = new HashMap<>();
+        map.put("entName", entCacheResDto.getFirmName());
+        map.put("contract_no", kwcContractTrade.getContractNo());
+        map.put("name", kwcContractTrade.getName());
+        MessageEnum messageEnum;
+        if (Objects.nonNull(kwcContractTrade.getContractPid())) {
+            messageEnum = MessageEnum.SAELCONTRACT_SUBMIT_DATA;
+        } else {
+            messageEnum = MessageEnum.SAELCONTRACT_SEND_CONTRACT;
+        }
+        commonBusinessService.sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(kwcContractTrade.getCreateBy()).setEntId(kwcContractTrade.getEntId())),
+                messageEnum,
+                map,
+                saleSendContract,
+                appSaleSendContract);
+
+
+        if (Objects.nonNull(kwcContractTrade.getContractPid())) {
+            messageEnum = MessageEnum.BUYCONTRACT_SUPPLYPROCESS_SEND;
+        } else {
+            messageEnum = MessageEnum.BUYCONTRACT_PROCESS_SEND;
+        }
+
+        EntCacheResDto entCacheResDto2 = remoteSystemService.queryEntTreeById(kwcContractTradeUnit.getEntId());
+        KwcContractTradeUnit kwcContractTradeUnit2 = collect.get(CooperateTypeEnum.SUPPLIER.getCode());
+        EntCacheResDto entCacheResDto1 = remoteSystemService.queryEntCacheById(kwcContractTradeUnit2.getEntId());
+        map.put("entName", entCacheResDto1.getFirmName());
+        commonBusinessService.sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(entCacheResDto2.getContactsId()).setEntId(entCacheResDto2.getId())),
+                messageEnum,
+                map,
+                purchaseSendContract,
+                appPurchaseSendContract);
+    }
+
+
+
     /**
     /**
      * @param id 合同id
      * @param id 合同id
      * @desc: 更新合同为发起
      * @desc: 更新合同为发起
@@ -617,18 +667,33 @@ public class KwcContractTradeService {
         tradeOrderInfoService.contractSignCompleted(contractSignCompletedParam);
         tradeOrderInfoService.contractSignCompleted(contractSignCompletedParam);
 
 
         //发送消息
         //发送消息
-        Long entId = kwcContractTrade.getEntId();
-        EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(entId);
+        List<KwcContractTradeUnit> kwcContractTradeUnits = kwcContractTradeUnitService.queryByContractId(kwcContractTrade.getId());
+        Map<Integer, KwcContractTradeUnit> collect = kwcContractTradeUnits.stream().collect(Collectors.toMap(KwcContractTradeUnit::getUnitType, Function.identity()));
+        KwcContractTradeUnit kwcContractTradeUnit = collect.get(CooperateTypeEnum.CARRIAGE.getCode());
+        Long entId = kwcContractTradeUnit.getEntId();
+        EntCacheResDto entCacheResDto = remoteSystemService.queryEntCacheById(entId);
         Map<String, Object> map = new HashMap<>();
         Map<String, Object> map = new HashMap<>();
         map.put("entName", entCacheResDto.getFirmName());
         map.put("entName", entCacheResDto.getFirmName());
         map.put("contract_no", kwcContractTrade.getContractNo());
         map.put("contract_no", kwcContractTrade.getContractNo());
         map.put("name", kwcContractTrade.getName());
         map.put("name", kwcContractTrade.getName());
-        MessageEnum messageEnum = MessageEnum.SAELCONTRACT_COMPLETE_CONTRACT;
 
 
-        commonBusinessService.sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(kwcContractTrade.getCreateBy()).setEntId(entId)),
-                messageEnum,
+        commonBusinessService.sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(kwcContractTrade.getCreateBy()).setEntId(kwcContractTrade.getEntId())),
+                MessageEnum.SAELCONTRACT_COMPLETE_CONTRACT,
+                map,
+                saleSendContract,
+                appSaleSendContract);
+
+
+        KwcContractTradeUnit kwcContractTradeUnit2 = collect.get(CooperateTypeEnum.CONSIGN.getCode());
+        Long entId1 = kwcContractTradeUnit2.getEntId();
+        EntCacheResDto entCacheResDto1 = remoteSystemService.queryEntCacheById(entId1);
+        EntCacheResDto entCacheResDto2 = remoteSystemService.queryEntTreeById(entId);
+        map.put("entName", entCacheResDto1.getFirmName());
+        commonBusinessService.sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(entCacheResDto2.getContactsId()).setEntId(entCacheResDto2.getId())),
+                MessageEnum.BUYCONTRACT_COMPLETE_CONTRACT,
                 map,
                 map,
-                saleSendContract);
+                purchaseSendContract,
+                appPurchaseSendContract);
     }
     }
 
 
 
 

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

@@ -1,5 +1,7 @@
 package com.sckw.contract.service;
 package com.sckw.contract.service;
 
 
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.sckw.contract.dao.KwcContractLogisticsTrackMapper;
 import com.sckw.contract.dao.KwcContractLogisticsTrackMapper;
 import com.sckw.contract.dao.KwcContractTradeMapper;
 import com.sckw.contract.dao.KwcContractTradeMapper;
@@ -44,6 +46,7 @@ public class KwcContractTradeTrackService {
 
 
     public void saveContractTradeTrack(Long contractId, Integer status) {
     public void saveContractTradeTrack(Long contractId, Integer status) {
         Date date = new Date();
         Date date = new Date();
+        date = DateUtil.offsetSecond(date, Global.NUMERICAL_TWO);
         KwcContractTradeTrack kwcContractTradeTrack = new KwcContractTradeTrack();
         KwcContractTradeTrack kwcContractTradeTrack = new KwcContractTradeTrack();
         kwcContractTradeTrack.setId(new IdWorker(1L).nextId());
         kwcContractTradeTrack.setId(new IdWorker(1L).nextId());
         kwcContractTradeTrack.setContractId(contractId);
         kwcContractTradeTrack.setContractId(contractId);

+ 11 - 6
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/task/SynchronousContractStatusTask.java

@@ -8,6 +8,7 @@ import com.sckw.contract.dao.KwcContractLogisticsMapper;
 import com.sckw.contract.dao.KwcContractTradeMapper;
 import com.sckw.contract.dao.KwcContractTradeMapper;
 import com.sckw.contract.model.entity.KwcContractLogistics;
 import com.sckw.contract.model.entity.KwcContractLogistics;
 import com.sckw.contract.model.entity.KwcContractTrade;
 import com.sckw.contract.model.entity.KwcContractTrade;
+import com.sckw.contract.model.vo.req.ESignCallBackReqVo;
 import com.sckw.contract.service.CommonBusinessService;
 import com.sckw.contract.service.CommonBusinessService;
 import com.sckw.core.model.enums.ContractStatusEnum;
 import com.sckw.core.model.enums.ContractStatusEnum;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.utils.CollectionUtils;
@@ -69,9 +70,11 @@ public class SynchronousContractStatusTask {
                     //合同签署状态 0 - 草稿  1 - 签署中 2 - 完成   3 - 撤销   5 - 过期(签署截至日期到期后触发)  - 拒签
                     //合同签署状态 0 - 草稿  1 - 签署中 2 - 完成   3 - 撤销   5 - 过期(签署截至日期到期后触发)  - 拒签
                     Integer signFlowStatus = data.getInteger("signFlowStatus");
                     Integer signFlowStatus = data.getInteger("signFlowStatus");
                     if (signFlowStatus.equals(2)) {
                     if (signFlowStatus.equals(2)) {
-                        kwcContractTrade.setStatus(ContractStatusEnum.SIGNED.getCode());
-                        kwcContractTradeMapper.updateById(kwcContractTrade);
-                        commonBusinessService.notifyOrder(kwcContractTrade.getId(), kwcContractTrade.getCreateBy());
+                        ESignCallBackReqVo eSignCallBackReqVo = new ESignCallBackReqVo();
+                        eSignCallBackReqVo.setContractId(kwcContractTrade.getId());
+                        eSignCallBackReqVo.setStatus(ContractStatusEnum.SIGNED.getCode());
+                        eSignCallBackReqVo.setRemark("定时任务轮询更新");
+                        commonBusinessService.approval(eSignCallBackReqVo);
                     }
                     }
                 }
                 }
             }
             }
@@ -97,9 +100,11 @@ public class SynchronousContractStatusTask {
                     //合同签署状态 0 - 草稿  1 - 签署中 2 - 完成   3 - 撤销   5 - 过期(签署截至日期到期后触发)  - 拒签
                     //合同签署状态 0 - 草稿  1 - 签署中 2 - 完成   3 - 撤销   5 - 过期(签署截至日期到期后触发)  - 拒签
                     Integer signFlowStatus = data.getInteger("signFlowStatus");
                     Integer signFlowStatus = data.getInteger("signFlowStatus");
                     if (signFlowStatus.equals(2)) {
                     if (signFlowStatus.equals(2)) {
-                        kwcContractLogistics.setStatus(ContractStatusEnum.SIGNED.getCode());
-                        kwcContractLogisticsMapper.updateById(kwcContractLogistics);
-                        commonBusinessService.notifyOrder(kwcContractLogistics.getId(), kwcContractLogistics.getCreateBy());
+                        ESignCallBackReqVo eSignCallBackReqVo = new ESignCallBackReqVo();
+                        eSignCallBackReqVo.setContractId(kwcContractLogistics.getId());
+                        eSignCallBackReqVo.setStatus(ContractStatusEnum.SIGNED.getCode());
+                        eSignCallBackReqVo.setRemark("定时任务轮询更新");
+                        commonBusinessService.approval(eSignCallBackReqVo);
                     }
                     }
                 }
                 }
             }
             }

+ 4 - 5
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/WorkbenchController.java

@@ -4,11 +4,10 @@ import com.sckw.core.web.response.HttpResult;
 import com.sckw.payment.model.vo.req.FinanceCount;
 import com.sckw.payment.model.vo.req.FinanceCount;
 import com.sckw.payment.service.WorkbenchService;
 import com.sckw.payment.service.WorkbenchService;
 import jakarta.annotation.Resource;
 import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 
 /**
 /**
  * 工作台
  * 工作台
@@ -29,8 +28,8 @@ public class WorkbenchController {
      *
      *
      * @return
      * @return
      */
      */
-    @GetMapping("finance")
-    public HttpResult finance(FinanceCount financeCount) {
+    @PostMapping("finance")
+    public HttpResult finance(@Valid @RequestBody FinanceCount financeCount) {
         return HttpResult.ok(workbenchService.financeCount(financeCount));
         return HttpResult.ok(workbenchService.financeCount(financeCount));
     }
     }
 
 

+ 3 - 1
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpSettlementRecordMapper.java

@@ -16,5 +16,7 @@ import java.util.List;
 public interface KwpSettlementRecordMapper extends BaseMapper<KwpSettlementRecord> {
 public interface KwpSettlementRecordMapper extends BaseMapper<KwpSettlementRecord> {
     void insertBatch(@Param("list") List<KwpSettlementRecord> list);
     void insertBatch(@Param("list") List<KwpSettlementRecord> list);
 
 
-    List<SettlementRecord> countByDay(@Param("time") List<String> time, @Param("entId")Long entId);
+    List<SettlementRecord> countByDay(@Param("timeAll") List<String> timeAll, @Param("time") List<String> time, @Param("entId") Long entId);
+
+    List<SettlementRecord> countMonth(@Param("timeAll") List<String> timeAll, @Param("time") List<String> time, @Param("entId") Long entId);
 }
 }

+ 27 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/Factor.java

@@ -0,0 +1,27 @@
+package com.sckw.payment.model.dto;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 统计因子
+ *
+ * @author xucaiqin
+ * @date 2023-09-20 09:03:38
+ */
+@Getter
+@Setter
+public class Factor {
+
+    /**
+     * 统计因子 1,2,3
+     */
+    @NotBlank(message = "统计因子1不能为空")
+    private String factorOne;
+    /**
+     * 统计因子 1,2,3
+     */
+    @NotBlank(message = "统计因子2不能为空")
+    private String factorTwo;
+}

+ 4 - 11
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/SettlementRecord.java

@@ -1,10 +1,8 @@
 package com.sckw.payment.model.vo;
 package com.sckw.payment.model.vo;
 
 
-import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.Data;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
-import java.time.LocalDate;
 
 
 /**
 /**
  * 结算统计
  * 结算统计
@@ -14,10 +12,6 @@ import java.time.LocalDate;
  */
  */
 @Data
 @Data
 public class SettlementRecord {
 public class SettlementRecord {
-    /**
-     * 企业id
-     */
-    private Long entId;
 
 
     /**
     /**
      * 总应收金额
      * 总应收金额
@@ -25,17 +19,17 @@ public class SettlementRecord {
     private BigDecimal totalReceiveMoney;
     private BigDecimal totalReceiveMoney;
 
 
     /**
     /**
-     * 待收金额
+     * 待收金额(未回款金额)
      */
      */
     private BigDecimal exactMoney;
     private BigDecimal exactMoney;
 
 
     /**
     /**
-     * 已收金额(累加金额)
+     * 已收金额(回款金额)
      */
      */
     private BigDecimal receivedMoney;
     private BigDecimal receivedMoney;
 
 
     /**
     /**
-     * 逾期待收金额
+     * 逾期待收金额(逾期未回款金额)
      */
      */
     private BigDecimal overdueExactMoney;
     private BigDecimal overdueExactMoney;
 
 
@@ -62,6 +56,5 @@ public class SettlementRecord {
     /**
     /**
      * 创建日期
      * 创建日期
      */
      */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    private LocalDate createTime;
+    private String createTime;
 }
 }

+ 2 - 10
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/req/FinanceCount.java

@@ -1,12 +1,10 @@
 package com.sckw.payment.model.vo.req;
 package com.sckw.payment.model.vo.req;
 
 
+import com.sckw.payment.model.dto.Factor;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Size;
 import lombok.Getter;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.Setter;
 
 
-import java.util.List;
-
 /**
 /**
  * 财务统计
  * 财务统计
  *
  *
@@ -15,7 +13,7 @@ import java.util.List;
  */
  */
 @Getter
 @Getter
 @Setter
 @Setter
-public class FinanceCount {
+public class FinanceCount extends Factor {
     /**
     /**
      * 周期维度 1-日、2-周、3-月 4-年
      * 周期维度 1-日、2-周、3-月 4-年
      */
      */
@@ -31,11 +29,5 @@ public class FinanceCount {
      */
      */
 //    @NotBlank(message = "周期维度不能为空")
 //    @NotBlank(message = "周期维度不能为空")
     private String endTime;
     private String endTime;
-    /**
-     * 统计因子
-     */
-    @Size(message = "统计因子不能为空", min = 1)
-    @NotNull(message = "统计因子不能为空")
-    private List<Integer> factor;
 
 
 }
 }

+ 18 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/EChartsVo.java

@@ -0,0 +1,18 @@
+package com.sckw.payment.model.vo.res;
+
+import com.sckw.payment.model.dto.Factor;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author xucaiqin
+ * @date 2023-09-20 08:44:40
+ */
+@Getter
+@Setter
+public class EChartsVo extends Factor {
+    /**
+     * 创建日期
+     */
+    private String createTime;
+}

+ 10 - 2
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpSettlementRecordService.java

@@ -2,6 +2,7 @@ package com.sckw.payment.service;
 
 
 import com.sckw.payment.dao.KwpSettlementRecordMapper;
 import com.sckw.payment.dao.KwpSettlementRecordMapper;
 import com.sckw.payment.model.vo.SettlementRecord;
 import com.sckw.payment.model.vo.SettlementRecord;
+import com.sckw.payment.utils.DateTimeUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
@@ -21,7 +22,14 @@ public class KwpSettlementRecordService {
     private final KwpSettlementRecordMapper kwpSettlementRecordMapper;
     private final KwpSettlementRecordMapper kwpSettlementRecordMapper;
 
 
 
 
-    public List<SettlementRecord> financeCount(List<String> financeCount, Long entId) {
-        return kwpSettlementRecordMapper.countByDay(financeCount,entId);
+    public List<SettlementRecord> financeCount(List<String> financeCount, Long entId, Integer circle) {
+        //3-月
+        if (circle == 3) {
+            List<String> timeAll = DateTimeUtil.generateMonthRange(DateTimeUtil.parseYMD(financeCount.get(0)), DateTimeUtil.parseYMD(financeCount.get(1)));
+            return kwpSettlementRecordMapper.countMonth(timeAll, financeCount, entId);
+        } else {
+            List<String> timeAll = DateTimeUtil.generateDateRange(DateTimeUtil.parseYMD(financeCount.get(0)), DateTimeUtil.parseYMD(financeCount.get(1)));
+            return kwpSettlementRecordMapper.countByDay(timeAll, financeCount, entId);
+        }
     }
     }
 }
 }

+ 52 - 4
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/WorkbenchService.java

@@ -1,16 +1,22 @@
 package com.sckw.payment.service;
 package com.sckw.payment.service;
 
 
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.context.LoginUserHolder;
+import com.sckw.payment.model.vo.SettlementRecord;
 import com.sckw.payment.model.vo.req.FinanceCount;
 import com.sckw.payment.model.vo.req.FinanceCount;
+import com.sckw.payment.model.vo.res.EChartsVo;
 import com.sckw.payment.utils.DateTimeUtil;
 import com.sckw.payment.utils.DateTimeUtil;
+import com.sckw.payment.utils.DecimalUtils;
 import jakarta.annotation.Resource;
 import jakarta.annotation.Resource;
-import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.DecimalFormat;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * 工作台
  * 工作台
@@ -20,7 +26,6 @@ import java.util.List;
  */
  */
 @Slf4j
 @Slf4j
 @Service
 @Service
-@RequiredArgsConstructor
 public class WorkbenchService {
 public class WorkbenchService {
 
 
     @Resource
     @Resource
@@ -33,7 +38,7 @@ public class WorkbenchService {
 
 
         //时间参数为空,按照默认维度统计
         //时间参数为空,按照默认维度统计
         if (StringUtils.isBlank(financeCount.getStartTime()) && StringUtils.isBlank(financeCount.getEndTime())) {
         if (StringUtils.isBlank(financeCount.getStartTime()) && StringUtils.isBlank(financeCount.getEndTime())) {
-            //按照周期维度生成时间段
+            //按照周期维度生成时间段2
             if (circle == 1) {
             if (circle == 1) {
                 //从今天倒推15天
                 //从今天倒推15天
                 time.add(DateTimeUtil.getComputeDaysStr(-14));
                 time.add(DateTimeUtil.getComputeDaysStr(-14));
@@ -54,6 +59,49 @@ public class WorkbenchService {
             }
             }
         }
         }
         Long entId = LoginUserHolder.getEntId();
         Long entId = LoginUserHolder.getEntId();
-        return kwpSettlementRecordService.financeCount(time,entId);
+        DecimalFormat df = new DecimalFormat("0.00");
+        //获取数据,按照统计因子进行处理,并转换成万元
+        List<SettlementRecord> settlementRecords = kwpSettlementRecordService.financeCount(time, entId, circle);
+        return settlementRecords.stream().map(a -> {
+            EChartsVo eChartsVo = new EChartsVo();
+            eChartsVo.setCreateTime(a.getCreateTime());
+            switch (financeCount.getFactorOne()) {
+                case "1" ->
+                        eChartsVo.setFactorOne(df.format(a.getReceivedMoney().divide(new BigDecimal("10000.0"), 2, RoundingMode.HALF_UP)));
+                case "2" ->
+                        eChartsVo.setFactorOne(df.format(a.getExactMoney().divide(new BigDecimal("10000.0"), 2, RoundingMode.HALF_UP)));
+                case "3" ->
+                        eChartsVo.setFactorOne(df.format(a.getOverdueExactMoney().divide(new BigDecimal("10000.0"), 2, RoundingMode.HALF_UP)));
+                case "4" -> {
+                    BigDecimal overdueExactMoney = a.getOverdueExactMoney();
+                    //总应收金额
+                    BigDecimal totalReceiveMoney = a.getTotalReceiveMoney();
+                    if (totalReceiveMoney.compareTo(new BigDecimal("0.0")) <= 0) {
+                        eChartsVo.setFactorOne("0.00%");
+                    } else {
+                        eChartsVo.setFactorOne(DecimalUtils.financePercent(overdueExactMoney, totalReceiveMoney));
+                    }
+                }
+            }
+            switch (financeCount.getFactorTwo()) {
+                case "1" ->
+                        eChartsVo.setFactorTwo(df.format(a.getReceivedMoney().divide(new BigDecimal("10000.0"), 2, RoundingMode.HALF_UP)));
+                case "2" ->
+                        eChartsVo.setFactorTwo(df.format(a.getExactMoney().divide(new BigDecimal("10000.0"), 2, RoundingMode.HALF_UP)));
+                case "3" ->
+                        eChartsVo.setFactorTwo(df.format(a.getOverdueExactMoney().divide(new BigDecimal("10000.0"), 2, RoundingMode.HALF_UP)));
+                case "4" ->{
+                    BigDecimal overdueExactMoney = a.getOverdueExactMoney();
+                    //总应收金额
+                    BigDecimal totalReceiveMoney = a.getTotalReceiveMoney();
+                    if (totalReceiveMoney.compareTo(new BigDecimal("0.0")) <= 0) {
+                        eChartsVo.setFactorTwo("0.00%");
+                    } else {
+                        eChartsVo.setFactorTwo(DecimalUtils.financePercent(overdueExactMoney, totalReceiveMoney));
+                    }
+                }
+            }
+            return eChartsVo;
+        }).collect(Collectors.toList());
     }
     }
 }
 }

+ 39 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/utils/DateTimeUtil.java

@@ -5,7 +5,10 @@ import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
 import java.time.format.DateTimeFormatter;
+import java.time.temporal.ChronoUnit;
 import java.time.temporal.TemporalAdjusters;
 import java.time.temporal.TemporalAdjusters;
+import java.util.ArrayList;
+import java.util.List;
 
 
 /**
 /**
  * @description: 时间工具类
  * @description: 时间工具类
@@ -15,10 +18,12 @@ import java.time.temporal.TemporalAdjusters;
  **/
  **/
 public class DateTimeUtil {
 public class DateTimeUtil {
     public static final String YMD = "yyyy-MM-dd";
     public static final String YMD = "yyyy-MM-dd";
+    public static final String YM = "yyyy-MM";
     public static final String HMS = "HH:mm:ss";
     public static final String HMS = "HH:mm:ss";
     public static final DateTimeFormatter YYYY_MM_DD_HH_MM_SS = DateTimeFormatter.ofPattern(YMD + " " + HMS);
     public static final DateTimeFormatter YYYY_MM_DD_HH_MM_SS = DateTimeFormatter.ofPattern(YMD + " " + HMS);
     public static final DateTimeFormatter YYYYMMDDHHMMSS = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
     public static final DateTimeFormatter YYYYMMDDHHMMSS = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
     public static final DateTimeFormatter YYYY_MM_DD = DateTimeFormatter.ofPattern(YMD);
     public static final DateTimeFormatter YYYY_MM_DD = DateTimeFormatter.ofPattern(YMD);
+    public static final DateTimeFormatter YYYY_MM = DateTimeFormatter.ofPattern(YM);
     public static final DateTimeFormatter HH_MM_SS = DateTimeFormatter.ofPattern(HMS);
     public static final DateTimeFormatter HH_MM_SS = DateTimeFormatter.ofPattern(HMS);
 
 
     public static LocalDateTime parse(String date) {
     public static LocalDateTime parse(String date) {
@@ -39,6 +44,10 @@ public class DateTimeUtil {
         return YYYY_MM_DD_HH_MM_SS.format(localDateTime);
         return YYYY_MM_DD_HH_MM_SS.format(localDateTime);
     }
     }
 
 
+    public static String formatYM(LocalDate localDate) {
+        return YYYY_MM.format(localDate);
+    }
+
     public static String formatYMD(LocalDate localDate) {
     public static String formatYMD(LocalDate localDate) {
         return YYYY_MM_DD.format(localDate);
         return YYYY_MM_DD.format(localDate);
     }
     }
@@ -242,6 +251,36 @@ public class DateTimeUtil {
         return LocalDateTime.of(LocalDate.now(), LocalTime.MAX);
         return LocalDateTime.of(LocalDate.now(), LocalTime.MAX);
     }
     }
 
 
+
+    public static List<String> generateDateRange(LocalDate startDate, LocalDate endDate) {
+        List<String> dateRange = new ArrayList<>();
+        LocalDate currentDate = startDate;
+
+        while (!currentDate.isAfter(endDate)) {
+            dateRange.add(formatYMD(currentDate));
+            currentDate = currentDate.plus(1, ChronoUnit.DAYS); // 增加一天
+        }
+        return dateRange;
+    }
+
+    /**
+     * 根据开始时间结束时间 格式化时间范围内的时间
+     *
+     * @param startDate
+     * @param endDate
+     * @return
+     */
+    public static List<String> generateMonthRange(LocalDate startDate, LocalDate endDate) {
+        List<String> dateRange = new ArrayList<>();
+        LocalDate currentDate = startDate;
+
+        while (!currentDate.isAfter(endDate)) {
+            dateRange.add(formatYM(currentDate));
+            currentDate = currentDate.plus(1, ChronoUnit.MONTHS);
+        }
+        return dateRange;
+    }
+
     public static void main(String[] args) {
     public static void main(String[] args) {
 
 
         System.out.println(parse("2023-12-11"));
         System.out.println(parse("2023-12-11"));

+ 18 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/utils/DecimalUtils.java

@@ -34,4 +34,22 @@ public class DecimalUtils {
         }
         }
         return df.format(dividend.divide(divisor, 6, RoundingMode.HALF_UP).multiply(new BigDecimal("100.0")).abs()) + "%";
         return df.format(dividend.divide(divisor, 6, RoundingMode.HALF_UP).multiply(new BigDecimal("100.0")).abs()) + "%";
     }
     }
+
+    public static String financePercent(BigDecimal dividend, BigDecimal divisor) {
+        if (Objects.isNull(dividend)) {
+            dividend = new BigDecimal("0.00");
+        }
+        //除数为0
+        if (Objects.isNull(divisor)) {
+            divisor = new BigDecimal("0.00");
+        }
+
+        if (BigDecimal.ZERO.compareTo(dividend) != 0 && BigDecimal.ZERO.compareTo(divisor) == 0) {
+            return "100.00%";
+        }
+        if (BigDecimal.ZERO.compareTo(dividend) == 0 && BigDecimal.ZERO.compareTo(divisor) == 0) {
+            return "0.00%";
+        }
+        return df.format(dividend.divide(divisor, 6, RoundingMode.HALF_UP).multiply(new BigDecimal("100.0")).abs()) + "%";
+    }
 }
 }

+ 86 - 12
sckw-modules/sckw-payment/src/main/resources/mapper/KwpSettlementRecordMapper.xml

@@ -58,19 +58,92 @@
         </foreach>
         </foreach>
     </insert>
     </insert>
     <select id="countByDay" resultType="com.sckw.payment.model.vo.SettlementRecord">
     <select id="countByDay" resultType="com.sckw.payment.model.vo.SettlementRecord">
-        select sum(ksr.total_pay_money)     totalPayMoney,
-               sum(ksr.exact_money)         exactMoney,
-               sum(ksr.received_money)      receivedMoney,
-               sum(ksr.overdue_exact_money) overdueExactMoney,
-               sum(ksr.total_pay_money)     totalPayMoney,
-               sum(ksr.unpaid_money)        unpaidMoney,
-               sum(ksr.paid_money)          paidMoney,
-               sum(ksr.overdue_paid_money)  overduePaidMoney
-        from kwp_settlement_record ksr
+        SELECT temp.date                               createTime,
+               ifnull(sum(ksr.total_receive_money), 0) totalReceiveMoney,
+               ifnull(sum(ksr.exact_money), 0)         exactMoney,
+               ifnull(sum(ksr.received_money), 0)      receivedMoney,
+               ifnull(sum(ksr.overdue_exact_money), 0) overdueExactMoney,
+               ifnull(sum(ksr.total_pay_money), 0)     totalPayMoney,
+               ifnull(sum(ksr.unpaid_money), 0)        unpaidMoney,
+               ifnull(sum(ksr.paid_money), 0)          paidMoney,
+               ifnull(sum(ksr.overdue_paid_money), 0)  overduePaidMoney
+        FROM (
+        <foreach collection="timeAll" item="date" separator="UNION ALL">
+            SELECT #{date} AS date
+        </foreach>
+        ) AS temp
+            left join
+        kwp_settlement_record ksr on temp.date = ksr.create_time and ksr.ent_id = #{entId,jdbcType=BIGINT}
+        <where>
+            <if test="time != null and time.size() != 0">
+                temp.date between
+                <foreach collection="time" open=" " separator="and" close=" " item="item">
+                    #{item,jdbcType=TIMESTAMP}
+                </foreach>
+            </if>
+        </where>
+        group by temp.date
+        order by temp.date
+    </select>
+    <!--原方案 按月统计-->
+    <select id="countMonth2" resultType="com.sckw.payment.model.vo.SettlementRecord">
+        SELECT temp.date                               createTime,
+               ifnull(sum(ksr.total_receive_money), 0) totalReceiveMoney,
+               ifnull(sum(ksr.exact_money), 0)         exactMoney,
+               ifnull(sum(ksr.received_money), 0)      receivedMoney,
+               ifnull(sum(ksr.overdue_exact_money), 0) overdueExactMoney,
+               ifnull(sum(ksr.total_pay_money), 0)     totalPayMoney,
+               ifnull(sum(ksr.unpaid_money), 0)        unpaidMoney,
+               ifnull(sum(ksr.paid_money), 0)          paidMoney,
+               ifnull(sum(ksr.overdue_paid_money), 0)  overduePaidMoney
+        FROM (
+        <foreach collection="timeAll" item="date" separator="UNION ALL">
+            SELECT #{date} AS date
+        </foreach>
+        ) AS temp
+            left join
+        kwp_settlement_record ksr
+        on temp.date = date_format(ksr.create_time, '%Y-%m') and ksr.ent_id = #{entId,jdbcType=BIGINT}
         <where>
         <where>
-            <if test="entId != null">
-                and ksr.ent_id = #{entId,jdbcType=BIGINT}
+            <if test="time != null and time.size() != 0">
+                temp.date between
+                <foreach collection="time" open=" " separator="and" close=" " item="item">
+                    #{item,jdbcType=TIMESTAMP}
+                </foreach>
             </if>
             </if>
+        </where>
+        group by temp.date
+        order by temp.date
+    </select>
+    <!--    支持时间范围筛选的按月统计-->
+    <select id="countMonth" resultType="com.sckw.payment.model.vo.SettlementRecord">
+        select tmpd.createTime,
+               tmpd.totalReceiveMoney,
+               tmpd.exactMoney,
+               tmpd.receivedMoney,
+               tmpd.overdueExactMoney,
+               tmpd.totalPayMoney,
+               tmpd.unpaidMoney,
+               tmpd.paidMoney,
+               tmpd.overduePaidMoney
+        FROM (
+        <foreach collection="timeAll" item="date" separator="UNION ALL">
+            SELECT #{date} AS date
+        </foreach>
+        ) AS temp
+            left join
+        (SELECT date_format(ksr.create_time, '%Y-%m')   createTime,
+                ifnull(sum(ksr.total_receive_money), 0) totalReceiveMoney,
+                ifnull(sum(ksr.exact_money), 0)         exactMoney,
+                ifnull(sum(ksr.received_money), 0)      receivedMoney,
+                ifnull(sum(ksr.overdue_exact_money), 0) overdueExactMoney,
+                ifnull(sum(ksr.total_pay_money), 0)     totalPayMoney,
+                ifnull(sum(ksr.unpaid_money), 0)        unpaidMoney,
+                ifnull(sum(ksr.paid_money), 0)          paidMoney,
+                ifnull(sum(ksr.overdue_paid_money), 0)  overduePaidMoney
+         FROM kwp_settlement_record ksr
+        <where>
+            ksr.ent_id = #{entId,jdbcType=BIGINT}
             <if test="time != null and time.size() != 0">
             <if test="time != null and time.size() != 0">
                 and ksr.create_time between
                 and ksr.create_time between
                 <foreach collection="time" open=" " separator="and" close=" " item="item">
                 <foreach collection="time" open=" " separator="and" close=" " item="item">
@@ -78,6 +151,7 @@
                 </foreach>
                 </foreach>
             </if>
             </if>
         </where>
         </where>
-        group by ksr.create_time
+        group by date_format(ksr.create_time, '%Y-%m')) as tmpd on temp.date = tmpd.createTime
+        order by temp.date
     </select>
     </select>
 </mapper>
 </mapper>

+ 13 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteUserServiceImpl.java

@@ -17,7 +17,9 @@ import com.sckw.system.dao.KwsEnterpriseDao;
 import com.sckw.system.dao.KwsUserLoginDao;
 import com.sckw.system.dao.KwsUserLoginDao;
 import com.sckw.system.dao.SysDictDao;
 import com.sckw.system.dao.SysDictDao;
 import com.sckw.system.model.*;
 import com.sckw.system.model.*;
+import com.sckw.system.model.pojo.FindEntUserPojo;
 import com.sckw.system.model.pojo.FindMenuTreePojo;
 import com.sckw.system.model.pojo.FindMenuTreePojo;
+import com.sckw.system.model.vo.req.FindListReqVo;
 import com.sckw.system.model.vo.req.ForgetPasswordReqVo;
 import com.sckw.system.model.vo.req.ForgetPasswordReqVo;
 import com.sckw.system.model.vo.res.KwsMenuResVo;
 import com.sckw.system.model.vo.res.KwsMenuResVo;
 import com.sckw.system.model.vo.res.KwsUserResVo;
 import com.sckw.system.model.vo.res.KwsUserResVo;
@@ -223,6 +225,17 @@ public class RemoteUserServiceImpl implements RemoteUserService {
         return list;
         return list;
     }
     }
 
 
+    @Override
+    public List<FindEntUserResDto> findEntUser(Long entId) {
+        FindListReqVo findListReqVo = new FindListReqVo();
+        findListReqVo.setId(entId);
+        List<FindEntUserPojo> entUser = kwsEnterpriseService.findEntUser(findListReqVo);
+        if(CollectionUtils.isEmpty(entUser)) {
+            return Collections.emptyList();
+        }
+        return BeanUtils.copyToList(entUser,FindEntUserResDto.class);
+    }
+
 
 
     /**
     /**
      * 根据用户名查用户信息
      * 根据用户名查用户信息

+ 2 - 2
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/CommonService.java

@@ -75,11 +75,11 @@ public class CommonService {
                 String firmName = kwsEnterprise.getFirmName();
                 String firmName = kwsEnterprise.getFirmName();
                 String phone1 = kwsEnterprise.getPhone();
                 String phone1 = kwsEnterprise.getPhone();
                 if (entName.equals(firmName)) {
                 if (entName.equals(firmName)) {
-                    throw new SystemException(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.ENT_EXISTS);
+                    throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.ENT_EXISTS);
                 }
                 }
 
 
                 if (StringUtils.isNotBlank(phone) && phone.equals(phone1)) {
                 if (StringUtils.isNotBlank(phone) && phone.equals(phone1)) {
-                    throw new SystemException(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.ACCOUNT_EXISTS);
+                    throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.ACCOUNT_EXISTS);
                 }
                 }
             }
             }
         }
         }

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

@@ -157,7 +157,7 @@ public class KwsEnterpriseService {
         List<KwsEnterprise> list = kwsEnterpriseDao.checkEntRepeat(reqVo.getFirmName(), "");
         List<KwsEnterprise> list = kwsEnterpriseDao.checkEntRepeat(reqVo.getFirmName(), "");
         if (CollectionUtils.isNotEmpty(list)) {
         if (CollectionUtils.isNotEmpty(list)) {
             if (!list.get(0).getId().equals(kwsEnterprise.getId())) {
             if (!list.get(0).getId().equals(kwsEnterprise.getId())) {
-                throw new SystemException(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.ENT_EXISTS);
+                throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.ENT_EXISTS);
             }
             }
         }
         }
         SysArea sysArea = sysAreaDao.selectById(reqVo.getCityCode());
         SysArea sysArea = sysAreaDao.selectById(reqVo.getCityCode());

+ 2 - 2
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java

@@ -266,7 +266,7 @@ public class KwsUserService {
     public void deleteByKey(String ids) {
     public void deleteByKey(String ids) {
         /*1.数据校验*/
         /*1.数据校验*/
         if (StringUtils.isBlank(ids)) {
         if (StringUtils.isBlank(ids)) {
-            throw new SystemException(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.ACCOUNT_MISSING);
+            throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.ACCOUNT_MISSING);
         }
         }
 
 
         String[] idArray = ids.split(",");
         String[] idArray = ids.split(",");
@@ -515,7 +515,7 @@ public class KwsUserService {
      */
      */
     public void checkAccountValid(String account, Integer systemType) {
     public void checkAccountValid(String account, Integer systemType) {
         if (Objects.nonNull(getUserByAccount(account, systemType))) {
         if (Objects.nonNull(getUserByAccount(account, systemType))) {
-            throw new SystemException(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.ACCOUNT_EXISTS);
+            throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.ACCOUNT_EXISTS);
         }
         }
     }
     }
 
 

+ 3 - 3
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/SysDictService.java

@@ -64,7 +64,7 @@ public class SysDictService {
         sysDictType.setType(type);
         sysDictType.setType(type);
         List<SysDictType> list = sysDictTypeDao.select(sysDictType);
         List<SysDictType> list = sysDictTypeDao.select(sysDictType);
         if (!CollectionUtils.isEmpty(list)) {
         if (!CollectionUtils.isEmpty(list)) {
-            throw new SystemException(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.DICTTYPE_EXISTS);
+            throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.DICTTYPE_EXISTS);
         }
         }
     }
     }
 
 
@@ -110,7 +110,7 @@ public class SysDictService {
     public void checkDict(Long dictTypeId, String value, String label) {
     public void checkDict(Long dictTypeId, String value, String label) {
         SysDict sysDict = sysDictDao.queryUnitDict(dictTypeId, value, label);
         SysDict sysDict = sysDictDao.queryUnitDict(dictTypeId, value, label);
         if (!Objects.isNull(sysDict)) {
         if (!Objects.isNull(sysDict)) {
-            throw new SystemException(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.DICT_EXISTS);
+            throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.DICT_EXISTS);
         }
         }
     }
     }
 
 
@@ -123,7 +123,7 @@ public class SysDictService {
     public void deleteByKey(String ids) {
     public void deleteByKey(String ids) {
         /*1.数据校验*/
         /*1.数据校验*/
         if (StringUtils.isBlank(ids)) {
         if (StringUtils.isBlank(ids)) {
-            throw new SystemException(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.ID_MISSING);
+            throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.ID_MISSING);
         }
         }
 
 
         String[] idArray = ids.split(",");
         String[] idArray = ids.split(",");

+ 4 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/OrderCarDTO.java

@@ -11,6 +11,10 @@ import lombok.Data;
 @Data
 @Data
 public class OrderCarDTO {
 public class OrderCarDTO {
 
 
+    private Integer status;
+
+    private String statusLabel;
+
     /**
     /**
      * 物流订单id
      * 物流订单id
      */
      */

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

@@ -19,7 +19,7 @@ public class OrderFinishVO {
     /**
     /**
      * 运输
      * 运输
      */
      */
-    /*private BigDecimal amount;*/
+    private BigDecimal amount;
 
 
     /**
     /**
      * 总卸货量
      * 总卸货量

+ 35 - 19
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/AcceptCarriageOrderService.java

@@ -305,7 +305,12 @@ public class AcceptCarriageOrderService {
         carriageUnit.setFirmName(bo.getConsignCompany());
         carriageUnit.setFirmName(bo.getConsignCompany());
         carriageUnit.setTopEntId(consignentMap == null ? null : consignentMap.getId());
         carriageUnit.setTopEntId(consignentMap == null ? null : consignentMap.getId());
 
 
-        commonService.initIatingLogisticsConsignment(checkUnit, carriageUnit, logisticsOrder.getLOrderNo(), logisticsOrder.getCreateBy(), logisticsOrder.getEntId());
+//        commonService.initIatingLogisticsConsignment(checkUnit, carriageUnit, logisticsOrder.getLOrderNo(), logisticsOrder.getCreateBy(), logisticsOrder.getEntId());
+        commonService.newSendLogisticsOrderToMessage(checkUnit,carriageUnit,logisticsOrder.getLOrderNo(), logisticsOrder.getCreateBy(), logisticsOrder.getEntId(),
+                messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl(), messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl(),
+                messageUrlConfig.getPc().getCarriageLogisticsAddOrderUrl(), messageUrlConfig.getApp().getCarriageLogisticsAddOrderUrl(),
+                MessageEnum.INITIATING_LOGISTICS_CONSIGNMENT,MessageEnum.NEW_CARRIAGE_ORDER,
+                "1");
 
 
         //修改父级mongodb数据
         //修改父级mongodb数据
         //更新mongodb
         //更新mongodb
@@ -775,9 +780,14 @@ public class AcceptCarriageOrderService {
             KwtLogisticsOrderUnit carriageOrderUnit = logisticsOrderUnitMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
             KwtLogisticsOrderUnit carriageOrderUnit = logisticsOrderUnitMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
                     .eq(KwtLogisticsOrderUnit::getLOrderId, id)
                     .eq(KwtLogisticsOrderUnit::getLOrderId, id)
                     .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.TWO));
                     .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.TWO));
-            commonService.publicLogisticsConsignmentPushMessage(consignOrderUnit, carriageOrderUnit, logisticsOrder.getLOrderNo(),
+//            commonService.publicLogisticsConsignmentPushMessage(consignOrderUnit, carriageOrderUnit, logisticsOrder.getLOrderNo(),
+//                    logisticsOrder.getCreateBy(), logisticsOrder.getEntId(),
+//                    MessageEnum.CONSIGN_ACCEPT_LOGISTICS, MessageEnum.CARRIAGE_ACCEPT_LOGISTICS);
+            commonService.newSendLogisticsOrderToMessage(consignOrderUnit,carriageOrderUnit,logisticsOrder.getLOrderNo(),
                     logisticsOrder.getCreateBy(), logisticsOrder.getEntId(),
                     logisticsOrder.getCreateBy(), logisticsOrder.getEntId(),
-                    MessageEnum.CONSIGN_ACCEPT_LOGISTICS, MessageEnum.CARRIAGE_ACCEPT_LOGISTICS);
+                    messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl(),messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl(),
+                    messageUrlConfig.getPc().getCarriageLogisticsAddOrderUrl(),messageUrlConfig.getApp().getCarriageLogisticsAddOrderUrl(),
+                    MessageEnum.CONSIGN_ACCEPT_LOGISTICS, MessageEnum.CARRIAGE_ACCEPT_LOGISTICS,"1");
         } else {
         } else {
             orderStatus = LogisticsOrderEnum.REJECT_ORDER.getCode();
             orderStatus = LogisticsOrderEnum.REJECT_ORDER.getCode();
             //todo 改为拒绝接单  数据统计在页面已退回状态中
             //todo 改为拒绝接单  数据统计在页面已退回状态中
@@ -838,10 +848,14 @@ public class AcceptCarriageOrderService {
             KwtLogisticsOrderUnit carriageOrderUnit = logisticsOrderUnitMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
             KwtLogisticsOrderUnit carriageOrderUnit = logisticsOrderUnitMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
                     .eq(KwtLogisticsOrderUnit::getLOrderId, id)
                     .eq(KwtLogisticsOrderUnit::getLOrderId, id)
                     .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.TWO));
                     .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.TWO));
-            commonService.publicLogisticsConsignmentPushMessage(consignOrderUnit, carriageOrderUnit, logisticsOrder.getLOrderNo(),
+//            commonService.publicLogisticsConsignmentPushMessage(consignOrderUnit, carriageOrderUnit, logisticsOrder.getLOrderNo(),
+//                    logisticsOrder.getCreateBy(), logisticsOrder.getEntId(),
+//                    MessageEnum.REJECT_ORDER, MessageEnum.CARRIAGE_DISALLOTMENT);
+            commonService.newSendLogisticsOrderToMessage(consignOrderUnit,carriageOrderUnit,logisticsOrder.getLOrderNo(),
                     logisticsOrder.getCreateBy(), logisticsOrder.getEntId(),
                     logisticsOrder.getCreateBy(), logisticsOrder.getEntId(),
-                    MessageEnum.REJECT_ORDER, MessageEnum.CARRIAGE_DISALLOTMENT);
-
+                    messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl(),messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl(),
+                    messageUrlConfig.getPc().getCarriageLogisticsAddOrderUrl(),messageUrlConfig.getApp().getCarriageLogisticsAddOrderUrl(),
+                    MessageEnum.REJECT_ORDER, MessageEnum.CARRIAGE_DISALLOTMENT,"1");
         }
         }
         //状态表新增状态数据
         //状态表新增状态数据
         KwtLogisticsOrderTrack track = logisticsOrderTrackMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderTrack>()
         KwtLogisticsOrderTrack track = logisticsOrderTrackMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderTrack>()
@@ -1412,6 +1426,7 @@ public class AcceptCarriageOrderService {
         statusList.add(CarWaybillEnum.COMPLETION_LOADING.getCode());
         statusList.add(CarWaybillEnum.COMPLETION_LOADING.getCode());
         statusList.add(CarWaybillEnum.WAIT_UNLOADING.getCode());
         statusList.add(CarWaybillEnum.WAIT_UNLOADING.getCode());
         statusList.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode());
         statusList.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode());
+        statusList.add(CarWaybillEnum.APPROVAL_IN.getCode());
         int count = waybillOrderMapper.selectDataByLorderId(id, statusList);
         int count = waybillOrderMapper.selectDataByLorderId(id, statusList);
         if (count > NumberConstant.ZERO) {
         if (count > NumberConstant.ZERO) {
             throw new RuntimeException("检测您现在有运单正在执行中,该订单目前不可完结,请先将运单执行完毕");
             throw new RuntimeException("检测您现在有运单正在执行中,该订单目前不可完结,请先将运单执行完毕");
@@ -1483,7 +1498,7 @@ public class AcceptCarriageOrderService {
             HttpResult result1 = tradeOrderInfoService.createOrCancelLogisticsOrder(param);
             HttpResult result1 = tradeOrderInfoService.createOrCancelLogisticsOrder(param);
             if (result1.getCode() != HttpStatus.SUCCESS_CODE) {
             if (result1.getCode() != HttpStatus.SUCCESS_CODE) {
                 log.info("{}拒绝接单->贸易订单失败!,返回信息:{}", "id:" + logisticsOrder.getTOrderId() + "orderNo" + logisticsOrder.getTOrderNo(), JSONObject.toJSONString(result1));
                 log.info("{}拒绝接单->贸易订单失败!,返回信息:{}", "id:" + logisticsOrder.getTOrderId() + "orderNo" + logisticsOrder.getTOrderNo(), JSONObject.toJSONString(result1));
-                throw new BusinessException("{" + logisticsOrder.getTOrderNo() + "} 拒绝接单->贸易订单失败!");
+                throw new BusinessException("{" + logisticsOrder.getTOrderNo() + "} 拒绝接单->贸易订单失败!" + result1.getMsg());
             }
             }
         }
         }
 
 
@@ -1943,13 +1958,14 @@ public class AcceptCarriageOrderService {
         carriageUnit.setFirmName(orderDTO.getAcceptCompany());
         carriageUnit.setFirmName(orderDTO.getAcceptCompany());
         carriageUnit.setContactsId(Long.parseLong(orderDTO.getAcceptContactsId()));
         carriageUnit.setContactsId(Long.parseLong(orderDTO.getAcceptContactsId()));
         System.out.println("承运订单新建订单-消息列表推送 start");
         System.out.println("承运订单新建订单-消息列表推送 start");
-        commonService.publicLogisticsConsignmentPushMessage(consignUnit, carriageUnit, lOrderNo, LoginUserHolder.getUserId(), LoginUserHolder.getEntId()
-                , MessageEnum.CARRIAGE_NEW_LOGISTICS, MessageEnum.CARRIAGE_NEW_LOGISTICS_ORDER);
+//        commonService.publicLogisticsConsignmentPushMessage(consignUnit, carriageUnit, lOrderNo, LoginUserHolder.getUserId(), LoginUserHolder.getEntId()
+//                , MessageEnum.CARRIAGE_NEW_LOGISTICS, MessageEnum.CARRIAGE_NEW_LOGISTICS_ORDER);
 
 
-        commonService.pushMessageByUrl(consignUnit, carriageUnit, lOrderNo, LoginUserHolder.getUserId(), LoginUserHolder.getEntId()
-                , MessageEnum.CARRIAGE_NEW_LOGISTICS, MessageEnum.CARRIAGE_NEW_LOGISTICS_ORDER
+        commonService.newSendLogisticsOrderToMessage(consignUnit, carriageUnit, lOrderNo, LoginUserHolder.getUserId(), LoginUserHolder.getEntId()
                 , messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl(), messageUrlConfig.getPc().getCarriageLogisticsAddOrderUrl()
                 , messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl(), messageUrlConfig.getPc().getCarriageLogisticsAddOrderUrl()
                 , messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl(), messageUrlConfig.getApp().getCarriageLogisticsAddOrderUrl()
                 , messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl(), messageUrlConfig.getApp().getCarriageLogisticsAddOrderUrl()
+                , MessageEnum.NEW_LOGISTICS_ORDER, MessageEnum.NEW_CARRIAGE_ORDER
+                ,"1"
         );
         );
 
 
         System.out.println("承运订单新建订单-消息列表推送 end ");
         System.out.println("承运订单新建订单-消息列表推送 end ");
@@ -2916,15 +2932,15 @@ public class AcceptCarriageOrderService {
 
 
             List<LogisticsOrderStatisticsVO> list = logisticsOrderMapper.workbenchLogisticsOrderStatisticsByMonth(id, statusList,
             List<LogisticsOrderStatisticsVO> list = logisticsOrderMapper.workbenchLogisticsOrderStatisticsByMonth(id, statusList,
                     OrderTypeEnum.ACCEPT_CARRIAGE_ORDER.getType(), dateStart, dateEnd, logisticsOrderStatistics.getTypeOne(), logisticsOrderStatistics.getTypeTwo());
                     OrderTypeEnum.ACCEPT_CARRIAGE_ORDER.getType(), dateStart, dateEnd, logisticsOrderStatistics.getTypeOne(), logisticsOrderStatistics.getTypeTwo());
-            if (logisticsOrderStatistics.getTypeOne().equals("2")){
+            if (logisticsOrderStatistics.getTypeOne().equals("2")) {
                 list.forEach(vo -> {
                 list.forEach(vo -> {
-                    vo.setTypeTwo(vo.getTypeTwo().setScale(2,RoundingMode.HALF_UP));
+                    vo.setTypeTwo(vo.getTypeTwo().setScale(2, RoundingMode.HALF_UP));
                     vo.setTypeOne(vo.getTypeOne().divide(new BigDecimal("10000")).setScale(2, RoundingMode.HALF_UP));
                     vo.setTypeOne(vo.getTypeOne().divide(new BigDecimal("10000")).setScale(2, RoundingMode.HALF_UP));
                 });
                 });
             }
             }
-            if (logisticsOrderStatistics.getTypeTwo().equals("2")){
+            if (logisticsOrderStatistics.getTypeTwo().equals("2")) {
                 list.forEach(vo -> {
                 list.forEach(vo -> {
-                    vo.setTypeOne(vo.getTypeOne().setScale(2,RoundingMode.HALF_UP));
+                    vo.setTypeOne(vo.getTypeOne().setScale(2, RoundingMode.HALF_UP));
                     vo.setTypeTwo(vo.getTypeTwo().divide(new BigDecimal("10000")).setScale(2, RoundingMode.HALF_UP));
                     vo.setTypeTwo(vo.getTypeTwo().divide(new BigDecimal("10000")).setScale(2, RoundingMode.HALF_UP));
                 });
                 });
             }
             }
@@ -2942,15 +2958,15 @@ public class AcceptCarriageOrderService {
             String dateEnd = DateUtil.getLastWeekDateEndToString(0);
             String dateEnd = DateUtil.getLastWeekDateEndToString(0);
             List<LogisticsOrderStatisticsVO> list = logisticsOrderMapper.workbenchLogisticsOrderStatisticsByDays(id, statusList,
             List<LogisticsOrderStatisticsVO> list = logisticsOrderMapper.workbenchLogisticsOrderStatisticsByDays(id, statusList,
                     OrderTypeEnum.ACCEPT_CARRIAGE_ORDER.getType(), dateStart, dateEnd, logisticsOrderStatistics.getTypeOne(), logisticsOrderStatistics.getTypeTwo());
                     OrderTypeEnum.ACCEPT_CARRIAGE_ORDER.getType(), dateStart, dateEnd, logisticsOrderStatistics.getTypeOne(), logisticsOrderStatistics.getTypeTwo());
-            if (logisticsOrderStatistics.getTypeOne().equals("2")){
+            if (logisticsOrderStatistics.getTypeOne().equals("2")) {
                 list.forEach(vo -> {
                 list.forEach(vo -> {
-                    vo.setTypeTwo(vo.getTypeTwo().setScale(2,RoundingMode.HALF_UP));
+                    vo.setTypeTwo(vo.getTypeTwo().setScale(2, RoundingMode.HALF_UP));
                     vo.setTypeOne(vo.getTypeOne().divide(new BigDecimal("10000")).setScale(2, RoundingMode.HALF_UP));
                     vo.setTypeOne(vo.getTypeOne().divide(new BigDecimal("10000")).setScale(2, RoundingMode.HALF_UP));
                 });
                 });
             }
             }
-            if (logisticsOrderStatistics.getTypeTwo().equals("2")){
+            if (logisticsOrderStatistics.getTypeTwo().equals("2")) {
                 list.forEach(vo -> {
                 list.forEach(vo -> {
-                    vo.setTypeOne(vo.getTypeOne().setScale(2,RoundingMode.HALF_UP));
+                    vo.setTypeOne(vo.getTypeOne().setScale(2, RoundingMode.HALF_UP));
                     vo.setTypeTwo(vo.getTypeTwo().divide(new BigDecimal("10000")).setScale(2, RoundingMode.HALF_UP));
                     vo.setTypeTwo(vo.getTypeTwo().divide(new BigDecimal("10000")).setScale(2, RoundingMode.HALF_UP));
                 });
                 });
             }
             }

+ 179 - 69
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/CommonService.java

@@ -242,6 +242,119 @@ public class CommonService {
      * 发起物流托运-[贸易订单物流托运确认/承运订单分包托运确认]
      * 发起物流托运-[贸易订单物流托运确认/承运订单分包托运确认]
      *
      *
      * @param consignUnit    托运单位
      * @param consignUnit    托运单位
+     * @param carriageUnit   承运单位
+     * @param orderNo        单据号
+     * @param createBy       创建人
+     * @param entId          创建数据的企业id
+     * @param pcConsignUrl   PC托运地址
+     * @param appConsignUrl  app托运地址
+     * @param pcCarriageUrl  PC承运地址
+     * @param appCarriageUrl app承运地址
+     * @param type 1代表给托运创建人发 2代表给承运创建人发
+     */
+    public void newSendLogisticsOrderToMessage(KwtLogisticsOrderUnit consignUnit, KwtLogisticsOrderUnit carriageUnit,
+                                               String orderNo, Long createBy, Long entId,
+                                               String pcConsignUrl, String appConsignUrl,
+                                               String pcCarriageUrl, String appCarriageUrl,
+                                               MessageEnum consignMessageEnum, MessageEnum carriageMessageEnum,
+                                               String type
+    ) {
+        boolean flag = false;
+        if (createBy.equals(consignUnit.getContactsId()) || createBy.equals(carriageUnit.getContactsId())) {
+            flag = true;
+        }
+        Map<String, Object> map = new HashMap<>(NumberConstant.SIXTEEN);
+        map.put("orderNo", orderNo);
+        if (flag && createBy.equals(consignUnit.getContactsId())) {
+            sendLogisticsConsignMessage(consignUnit, map, pcConsignUrl, appConsignUrl,consignMessageEnum);
+            sendLogisticsCarriageMessage(carriageUnit, map, pcCarriageUrl, appCarriageUrl,carriageMessageEnum);
+        } else if (flag && createBy.equals(carriageUnit.getContactsId())) {
+            sendLogisticsCarriageMessage(carriageUnit, map, pcCarriageUrl, appCarriageUrl,carriageMessageEnum);
+            sendLogisticsConsignMessage(consignUnit, map, pcConsignUrl, appConsignUrl,consignMessageEnum);
+        } else {
+            sendLogisticsConsignMessage(consignUnit, map, pcConsignUrl, appConsignUrl,consignMessageEnum);
+            sendLogisticsCarriageMessage(carriageUnit, map, pcCarriageUrl, appCarriageUrl,carriageMessageEnum);
+            if (type.equals("1")) {
+                sendLogisticsCreateByMessage(createBy, entId, map,pcConsignUrl,appConsignUrl,consignMessageEnum);
+            } else {
+                sendLogisticsCreateByMessage(createBy, entId, map, pcCarriageUrl, appCarriageUrl,carriageMessageEnum);
+            }
+
+        }
+
+    }
+
+    private void sendLogisticsCreateByMessage(Long createBy, Long entId, Map<String, Object> map, String pcUrl, String appUrl,MessageEnum messageEnum) {
+        UserCacheResDto userCacheResDto = remoteSystemService.queryUserCacheById(createBy);
+        //给订单创建人发消息
+        List<UserInfo> userInfos = new ArrayList<>();
+        UserInfo createUser = new UserInfo();
+        createUser.setUserId(createBy).setEntId(entId);
+        userInfos.add(createUser);
+        map.put("companyName", userCacheResDto == null ? null : userCacheResDto.getEntInfo().getFirmName());
+        SckwMessage msg = new SckwMessage();
+        msg.setRequestId(UUIDUtils.get32UUID())
+                .setMessageEnum(messageEnum)
+                .setParams(map)
+                .setMsgUrls(new HashMap<>(NumberConstant.SIXTEEN) {
+                    {
+                        put("pc", pcUrl);
+                        put("app", appUrl);
+                    }
+                })
+                .setUserInfos(userInfos)
+                .setCreateBy(LoginUserHolder.getUserId());
+        log.info("发起物流托运-[贸易订单物流托运确认/承运订单分包托运确认]-创建人:{}", JSON.toJSONString(msg));
+        streamBridge.send("sckw-message", JSON.toJSONString(msg));
+    }
+
+    private void sendLogisticsCarriageMessage(KwtLogisticsOrderUnit carriageUnit, Map<String, Object> map, String pcUrl, String appUrl,MessageEnum messageEnum) {
+        //给业务联系人发消息[承运方]
+        List<UserInfo> userInfoList = new ArrayList<>();
+        UserInfo userInfo = new UserInfo();
+        userInfo.setUserId(carriageUnit.getContactsId()).setEntId(carriageUnit.getTopEntId());
+        userInfoList.add(userInfo);
+        map.put("companyName", carriageUnit.getFirmName());
+        SckwMessage sckwMessage = new SckwMessage();
+        sckwMessage.setRequestId(UUIDUtils.get32UUID())
+                .setMessageEnum(messageEnum)
+                .setParams(map)
+                .setMsgUrls(new HashMap<>() {{
+                    put("pc", pcUrl);
+                    put("app", appUrl);
+                }})
+                .setUserInfos(userInfoList)
+                .setCreateBy(LoginUserHolder.getUserId());
+        log.info("发起物流托运-[贸易订单物流托运确认/承运订单分包托运确认]-[承运方]-业务联系人:{}", JSON.toJSONString(sckwMessage));
+        streamBridge.send("sckw-message", JSON.toJSONString(sckwMessage));
+    }
+
+    private void sendLogisticsConsignMessage(KwtLogisticsOrderUnit consignUnit, Map<String, Object> map, String pcUrl, String appUrl,MessageEnum messageEnum) {
+        //给业务联系人发消息[托运方]
+        List<UserInfo> list = new ArrayList<>();
+        UserInfo userInfo = new UserInfo();
+        userInfo.setUserId(consignUnit.getContactsId()).setEntId(consignUnit.getTopEntId());
+        list.add(userInfo);
+        map.put("companyName", consignUnit.getFirmName());
+        SckwMessage message = new SckwMessage();
+        message.setRequestId(UUIDUtils.get32UUID())
+                .setMessageEnum(messageEnum)
+                .setParams(map)
+                .setMsgUrls(new HashMap<>() {{
+                    put("pc", pcUrl);
+                    put("app", appUrl);
+                }})
+                .setUserInfos(list)
+                .setCreateBy(LoginUserHolder.getUserId());
+        log.info("发起物流托运-[贸易订单物流托运确认/承运订单分包托运确认]-[托运方]-业务联系人:{}", JSON.toJSONString(message));
+        streamBridge.send("sckw-message", JSON.toJSONString(message));
+    }
+
+
+    /**
+     * 发起物流托运-[贸易订单物流托运确认/承运订单分包托运确认]
+     *
+     * @param consignUnit  托运单位
      * @param carriageUnit 承运单位
      * @param carriageUnit 承运单位
      * @param orderNo      单据号
      * @param orderNo      单据号
      * @param createBy     创建人
      * @param createBy     创建人
@@ -270,9 +383,12 @@ public class CommonService {
             msg.setRequestId(UUIDUtils.get32UUID())
             msg.setRequestId(UUIDUtils.get32UUID())
                     .setMessageEnum(MessageEnum.INITIATING_LOGISTICS_CONSIGNMENT)
                     .setMessageEnum(MessageEnum.INITIATING_LOGISTICS_CONSIGNMENT)
                     .setParams(map)
                     .setParams(map)
-                    .setMsgUrls(new HashMap<>(NumberConstant.SIXTEEN){
-                        { put("pc", messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl());
-                            put("app", messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl()); }})
+                    .setMsgUrls(new HashMap<>(NumberConstant.SIXTEEN) {
+                        {
+                            put("pc", messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl());
+                            put("app", messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl());
+                        }
+                    })
                     .setUserInfos(userInfos)
                     .setUserInfos(userInfos)
                     .setCreateBy(LoginUserHolder.getUserId());
                     .setCreateBy(LoginUserHolder.getUserId());
             log.info("发起物流托运-[贸易订单物流托运确认/承运订单分包托运确认]-创建人:{}", JSON.toJSONString(msg));
             log.info("发起物流托运-[贸易订单物流托运确认/承运订单分包托运确认]-创建人:{}", JSON.toJSONString(msg));
@@ -300,7 +416,7 @@ public class CommonService {
         sckwMessage.setRequestId(UUIDUtils.get32UUID())
         sckwMessage.setRequestId(UUIDUtils.get32UUID())
                 .setMessageEnum(MessageEnum.INITIATING_LOGISTICS_CONSIGNMENT)
                 .setMessageEnum(MessageEnum.INITIATING_LOGISTICS_CONSIGNMENT)
                 .setParams(map)
                 .setParams(map)
-                .setMsgUrl(carriageLogisticsOrderUrl)
+                .setMsgUrls(new HashMap<>(){{put("app",consignLogisticsOrderUrl);put("pc",carriageLogisticsOrderUrl);}})
                 .setUserInfos(userInfoList)
                 .setUserInfos(userInfoList)
                 .setCreateBy(LoginUserHolder.getUserId());
                 .setCreateBy(LoginUserHolder.getUserId());
         log.info("发起物流托运-[贸易订单物流托运确认/承运订单分包托运确认]-[承运方]-业务联系人:{}", JSON.toJSONString(sckwMessage));
         log.info("发起物流托运-[贸易订单物流托运确认/承运订单分包托运确认]-[承运方]-业务联系人:{}", JSON.toJSONString(sckwMessage));
@@ -316,7 +432,7 @@ public class CommonService {
         message.setRequestId(UUIDUtils.get32UUID())
         message.setRequestId(UUIDUtils.get32UUID())
                 .setMessageEnum(MessageEnum.NEW_CARRIAGE_ORDER)
                 .setMessageEnum(MessageEnum.NEW_CARRIAGE_ORDER)
                 .setParams(map)
                 .setParams(map)
-                .setMsgUrl(carriageLogisticsOrderUrl)
+                .setMsgUrls(new HashMap<>(){{put("app",consignLogisticsOrderUrl);put("pc",carriageLogisticsOrderUrl);}})
                 .setUserInfos(list)
                 .setUserInfos(list)
                 .setCreateBy(LoginUserHolder.getUserId());
                 .setCreateBy(LoginUserHolder.getUserId());
         log.info("发起物流托运-[贸易订单物流托运确认/承运订单分包托运确认]-[托运方]-业务联系人:{}", JSON.toJSONString(message));
         log.info("发起物流托运-[贸易订单物流托运确认/承运订单分包托运确认]-[托运方]-业务联系人:{}", JSON.toJSONString(message));
@@ -344,36 +460,11 @@ public class CommonService {
         carriageUnit.setContactsId(Long.parseLong(addOrderDTO.getAcceptContactsId()));
         carriageUnit.setContactsId(Long.parseLong(addOrderDTO.getAcceptContactsId()));
         carriageUnit.setFirmName(addOrderDTO.getConsignCompany());
         carriageUnit.setFirmName(addOrderDTO.getConsignCompany());
         carriageUnit.setTopEntId(acceptMap == null ? null : acceptMap.getId());
         carriageUnit.setTopEntId(acceptMap == null ? null : acceptMap.getId());
-        boolean flag = false;
-        if (createBy.equals(checkUnit.getContactsId()) || createBy.equals(carriageUnit.getContactsId())) {
-            flag = true;
-        }
-        Map<String, Object> map = new HashMap<>(NumberConstant.SIXTEEN);
-        map.put("orderNo", lOrderNo);
-        if (flag && createBy.equals(checkUnit.getContactsId())) {
-            sendMessageNewLogisticsOrder(checkUnit, map, MessageEnum.NEW_LOGISTICS_ORDER, consignLogisticsOrderUrl);
-        } else if (flag && createBy.equals(carriageUnit.getContactsId())) {
-            sendMessageNewLogisticsOrder(carriageUnit, map, MessageEnum.NEW_CARRIAGE_ORDER, carriageLogisticsOrderUrl);
-        } else {
-            UserCacheResDto userCacheResDto = remoteSystemService.queryUserCacheById(createBy);
-            //给订单创建人发消息
-            List<UserInfo> userInfos = new ArrayList<>();
-            UserInfo createUser = new UserInfo();
-            createUser.setUserId(createBy).setEntId(entId);
-            userInfos.add(createUser);
-            map.put("companyName", userCacheResDto == null ? null : userCacheResDto.getEntInfo().getFirmName());
-            SckwMessage msg = new SckwMessage();
-            msg.setRequestId(UUIDUtils.get32UUID())
-                    .setMessageEnum(MessageEnum.NEW_LOGISTICS_ORDER)
-                    .setParams(map)
-                    .setMsgUrl(consignLogisticsOrderUrl)
-                    .setUserInfos(userInfos)
-                    .setCreateBy(LoginUserHolder.getUserId());
-            log.info("托运订单/承运订单自建物流订单-创建人:{}", JSON.toJSONString(msg));
-            streamBridge.send("sckw-message", JSON.toJSONString(msg));
-            sendMessageNewLogisticsOrder(checkUnit, map, MessageEnum.NEW_LOGISTICS_ORDER, consignLogisticsOrderUrl);
-            sendMessageNewLogisticsOrder(carriageUnit, map, MessageEnum.NEW_CARRIAGE_ORDER, carriageLogisticsOrderUrl);
-        }
+        newSendLogisticsOrderToMessage(checkUnit,carriageUnit,lOrderNo,createBy,entId
+                ,messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl(),messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl(),
+                messageUrlConfig.getPc().getCarriageLogisticsAddOrderUrl(),messageUrlConfig.getApp().getCarriageLogisticsAddOrderUrl(),
+                MessageEnum.NEW_LOGISTICS_ORDER,MessageEnum.NEW_CARRIAGE_ORDER,"1"
+        );
 
 
     }
     }
 
 
@@ -397,7 +488,7 @@ public class CommonService {
         sckwMessage.setRequestId(UUIDUtils.get32UUID())
         sckwMessage.setRequestId(UUIDUtils.get32UUID())
                 .setMessageEnum(messageEnum)
                 .setMessageEnum(messageEnum)
                 .setParams(map)
                 .setParams(map)
-                .setMsgUrl(consignLogisticsOrderUrl)
+                .setMsgUrls(new HashMap<>(){{put("app",consignLogisticsOrderUrl);put("pc",carriageLogisticsOrderUrl);}})
                 .setUserInfos(userInfoList)
                 .setUserInfos(userInfoList)
                 .setCreateBy(LoginUserHolder.getUserId());
                 .setCreateBy(LoginUserHolder.getUserId());
         log.info("托运订单/承运订单自建物流订单-业务联系人:{}", JSON.toJSONString(sckwMessage));
         log.info("托运订单/承运订单自建物流订单-业务联系人:{}", JSON.toJSONString(sckwMessage));
@@ -440,12 +531,15 @@ public class CommonService {
             msg.setRequestId(UUIDUtils.get32UUID())
             msg.setRequestId(UUIDUtils.get32UUID())
                     .setMessageEnum(consignMessageEnum)
                     .setMessageEnum(consignMessageEnum)
                     .setParams(map)
                     .setParams(map)
-                    .setMsgUrl(consignLogisticsOrderUrl)
+                    .setMsgUrls(new HashMap<>() {{
+                        put("pc", consignLogisticsOrderUrl);
+                        put("app", carriageLogisticsOrderUrl);
+                    }})
                     .setUserInfos(userInfos)
                     .setUserInfos(userInfos)
                     .setCreateBy(LoginUserHolder.getUserId());
                     .setCreateBy(LoginUserHolder.getUserId());
             log.info(MessageEnum.getDesc(consignMessageEnum) + "-创建人:{}", JSON.toJSONString(msg));
             log.info(MessageEnum.getDesc(consignMessageEnum) + "-创建人:{}", JSON.toJSONString(msg));
             streamBridge.send("sckw-message", JSON.toJSONString(msg));
             streamBridge.send("sckw-message", JSON.toJSONString(msg));
-            sendMessagePublicLogistics(consignUnit, carriageUnit, map,consignMessageEnum);
+            sendMessagePublicLogistics(consignUnit, carriageUnit, map, consignMessageEnum);
         }
         }
     }
     }
 
 
@@ -485,7 +579,10 @@ public class CommonService {
             msg.setRequestId(UUIDUtils.get32UUID())
             msg.setRequestId(UUIDUtils.get32UUID())
                     .setMessageEnum(consignMessageEnum)
                     .setMessageEnum(consignMessageEnum)
                     .setParams(map)
                     .setParams(map)
-                    .setMsgUrl(consignLogisticsOrderUrl)
+                    .setMsgUrls(new HashMap<>() {{
+                        put("pc", consignLogisticsOrderUrl);
+                        put("app", carriageLogisticsOrderUrl);
+                    }})
                     .setUserInfos(userInfos)
                     .setUserInfos(userInfos)
                     .setCreateBy(LoginUserHolder.getUserId());
                     .setCreateBy(LoginUserHolder.getUserId());
             log.info(MessageEnum.getDesc(consignMessageEnum) + "-创建人:{}", JSON.toJSONString(msg));
             log.info(MessageEnum.getDesc(consignMessageEnum) + "-创建人:{}", JSON.toJSONString(msg));
@@ -506,7 +603,10 @@ public class CommonService {
         sckwMessage.setRequestId(UUIDUtils.get32UUID())
         sckwMessage.setRequestId(UUIDUtils.get32UUID())
                 .setMessageEnum(consignMessageEnum)
                 .setMessageEnum(consignMessageEnum)
                 .setParams(map)
                 .setParams(map)
-                .setMsgUrl(carriageLogisticsOrderUrl)
+                .setMsgUrls(new HashMap<>() {{
+                    put("pc", consignLogisticsOrderUrl);
+                    put("app", carriageLogisticsOrderUrl);
+                }})
                 .setUserInfos(userInfoList)
                 .setUserInfos(userInfoList)
                 .setCreateBy(LoginUserHolder.getUserId());
                 .setCreateBy(LoginUserHolder.getUserId());
         log.info(MessageEnum.getDesc(consignMessageEnum) + "-[承运方]-业务联系人:{}", JSON.toJSONString(sckwMessage));
         log.info(MessageEnum.getDesc(consignMessageEnum) + "-[承运方]-业务联系人:{}", JSON.toJSONString(sckwMessage));
@@ -523,7 +623,10 @@ public class CommonService {
         message.setRequestId(UUIDUtils.get32UUID())
         message.setRequestId(UUIDUtils.get32UUID())
                 .setMessageEnum(MessageEnum.NEW_CARRIAGE_ORDER)
                 .setMessageEnum(MessageEnum.NEW_CARRIAGE_ORDER)
                 .setParams(map)
                 .setParams(map)
-                .setMsgUrl(carriageLogisticsOrderUrl)
+                .setMsgUrls(new HashMap<>() {{
+                    put("pc", consignLogisticsOrderUrl);
+                    put("app", carriageLogisticsOrderUrl);
+                }})
                 .setUserInfos(list)
                 .setUserInfos(list)
                 .setCreateBy(LoginUserHolder.getUserId());
                 .setCreateBy(LoginUserHolder.getUserId());
         log.info(MessageEnum.getDesc(consignMessageEnum) + "-[托运方]-业务联系人:{}", JSON.toJSONString(message));
         log.info(MessageEnum.getDesc(consignMessageEnum) + "-[托运方]-业务联系人:{}", JSON.toJSONString(message));
@@ -531,24 +634,23 @@ public class CommonService {
     }
     }
 
 
     /**
     /**
-     *
-     * @param consignUnit 托运单位
-     * @param carriageUnit  承运单位
-     * @param orderNo   单据号
-     * @param createBy  创建人
-     * @param entId 企业id
-     * @param consignMessageEnum 托运消息体
-     * @param carriageMessageEnum   承运消息体
-     * @param pcConsignLogisticsAddOrderUrl pc托运url
-     * @param pcCarriageLogisticsAddOrderUrl    pc承运url
-     * @param appConsignLogisticsAddOrderUrl    app托运url
-     * @param appCarriageLogisticsAddOrderUrl   app承运url
+     * @param consignUnit                     托运单位
+     * @param carriageUnit                    承运单位
+     * @param orderNo                         单据号
+     * @param createBy                        创建人
+     * @param entId                           企业id
+     * @param consignMessageEnum              托运消息体
+     * @param carriageMessageEnum             承运消息体
+     * @param pcConsignLogisticsAddOrderUrl   pc托运url
+     * @param pcCarriageLogisticsAddOrderUrl  pc承运url
+     * @param appConsignLogisticsAddOrderUrl  app托运url
+     * @param appCarriageLogisticsAddOrderUrl app承运url
      */
      */
     public void pushMessageByUrl(KwtLogisticsOrderUnit consignUnit, KwtLogisticsOrderUnit carriageUnit, String orderNo, Long createBy, Long entId,
     public void pushMessageByUrl(KwtLogisticsOrderUnit consignUnit, KwtLogisticsOrderUnit carriageUnit, String orderNo, Long createBy, Long entId,
                                  MessageEnum consignMessageEnum, MessageEnum carriageMessageEnum,
                                  MessageEnum consignMessageEnum, MessageEnum carriageMessageEnum,
-                                 String pcConsignLogisticsAddOrderUrl,String pcCarriageLogisticsAddOrderUrl,
-                                 String appConsignLogisticsAddOrderUrl,String appCarriageLogisticsAddOrderUrl
-                                 )  {
+                                 String pcConsignLogisticsAddOrderUrl, String pcCarriageLogisticsAddOrderUrl,
+                                 String appConsignLogisticsAddOrderUrl, String appCarriageLogisticsAddOrderUrl
+    ) {
         boolean flag = false;
         boolean flag = false;
         if (createBy.equals(consignUnit.getContactsId()) || createBy.equals(carriageUnit.getContactsId())) {
         if (createBy.equals(consignUnit.getContactsId()) || createBy.equals(carriageUnit.getContactsId())) {
             flag = true;
             flag = true;
@@ -556,9 +658,9 @@ public class CommonService {
         Map<String, Object> map = new HashMap<>(NumberConstant.SIXTEEN);
         Map<String, Object> map = new HashMap<>(NumberConstant.SIXTEEN);
         map.put("orderNo", orderNo);
         map.put("orderNo", orderNo);
         if (flag && createBy.equals(consignUnit.getContactsId())) {
         if (flag && createBy.equals(consignUnit.getContactsId())) {
-            sendPushMessageByUrlLogistics(consignUnit, carriageUnit, map, consignMessageEnum,carriageMessageEnum);
+            sendPushMessageByUrlLogistics(consignUnit, carriageUnit, map, consignMessageEnum, carriageMessageEnum);
         } else if (flag && createBy.equals(carriageUnit.getContactsId())) {
         } else if (flag && createBy.equals(carriageUnit.getContactsId())) {
-            sendPushMessageByUrlLogistics(consignUnit, carriageUnit, map, consignMessageEnum,carriageMessageEnum);
+            sendPushMessageByUrlLogistics(consignUnit, carriageUnit, map, consignMessageEnum, carriageMessageEnum);
         } else {
         } else {
             UserCacheResDto userCacheResDto = remoteSystemService.queryUserCacheById(createBy);
             UserCacheResDto userCacheResDto = remoteSystemService.queryUserCacheById(createBy);
             //给订单创建人发消息
             //给订单创建人发消息
@@ -571,28 +673,30 @@ public class CommonService {
             msg.setRequestId(UUIDUtils.get32UUID())
             msg.setRequestId(UUIDUtils.get32UUID())
                     .setMessageEnum(carriageMessageEnum)
                     .setMessageEnum(carriageMessageEnum)
                     .setParams(map)
                     .setParams(map)
-                    .setMsgUrls(new HashMap<>(NumberConstant.SIXTEEN){{put("pc",pcCarriageLogisticsAddOrderUrl);put("app",appCarriageLogisticsAddOrderUrl);}})
+                    .setMsgUrls(new HashMap<>(NumberConstant.SIXTEEN) {{
+                        put("pc", pcCarriageLogisticsAddOrderUrl);
+                        put("app", appCarriageLogisticsAddOrderUrl);
+                    }})
                     .setUserInfos(userInfos)
                     .setUserInfos(userInfos)
                     .setCreateBy(LoginUserHolder.getUserId());
                     .setCreateBy(LoginUserHolder.getUserId());
             log.info(MessageEnum.getDesc(consignMessageEnum) + "-创建人:{}", JSON.toJSONString(msg));
             log.info(MessageEnum.getDesc(consignMessageEnum) + "-创建人:{}", JSON.toJSONString(msg));
             streamBridge.send("sckw-message", JSON.toJSONString(msg));
             streamBridge.send("sckw-message", JSON.toJSONString(msg));
-            sendPushMessageByUrlLogistics(consignUnit, carriageUnit, map, consignMessageEnum,carriageMessageEnum);
+            sendPushMessageByUrlLogistics(consignUnit, carriageUnit, map, consignMessageEnum, carriageMessageEnum);
+        }
     }
     }
-}
 
 
     /**
     /**
-     *
-     * @param consignUnit 托运单位
-     * @param carriageUnit 承运单位
+     * @param consignUnit         托运单位
+     * @param carriageUnit        承运单位
      * @param map
      * @param map
-     * @param consignMessageEnum    托运枚举
-     * @param carriageMessageEnum   承运枚
+     * @param consignMessageEnum  托运枚举
+     * @param carriageMessageEnum 承运枚
      */
      */
     private void sendPushMessageByUrlLogistics(KwtLogisticsOrderUnit consignUnit, KwtLogisticsOrderUnit carriageUnit,
     private void sendPushMessageByUrlLogistics(KwtLogisticsOrderUnit consignUnit, KwtLogisticsOrderUnit carriageUnit,
                                                Map<String, Object> map,
                                                Map<String, Object> map,
                                                MessageEnum consignMessageEnum,
                                                MessageEnum consignMessageEnum,
                                                MessageEnum carriageMessageEnum
                                                MessageEnum carriageMessageEnum
-                                               ) {
+    ) {
         //给业务联系人发消息[承运方]
         //给业务联系人发消息[承运方]
         List<UserInfo> userInfoList = new ArrayList<>();
         List<UserInfo> userInfoList = new ArrayList<>();
         UserInfo userInfo = new UserInfo();
         UserInfo userInfo = new UserInfo();
@@ -603,7 +707,10 @@ public class CommonService {
         sckwMessage.setRequestId(UUIDUtils.get32UUID())
         sckwMessage.setRequestId(UUIDUtils.get32UUID())
                 .setMessageEnum(carriageMessageEnum)
                 .setMessageEnum(carriageMessageEnum)
                 .setParams(map)
                 .setParams(map)
-                .setMsgUrls(new HashMap<>(){{put("pc",messageUrlConfig.getPc().getCarriageLogisticsAddOrderUrl());put("app",messageUrlConfig.getApp().getCarriageLogisticsAddOrderUrl());}})
+                .setMsgUrls(new HashMap<>() {{
+                    put("pc", messageUrlConfig.getPc().getCarriageLogisticsAddOrderUrl());
+                    put("app", messageUrlConfig.getApp().getCarriageLogisticsAddOrderUrl());
+                }})
                 .setUserInfos(userInfoList)
                 .setUserInfos(userInfoList)
                 .setCreateBy(LoginUserHolder.getUserId());
                 .setCreateBy(LoginUserHolder.getUserId());
         log.info(MessageEnum.getDesc(carriageMessageEnum) + "-[承运方]-业务联系人:{}", JSON.toJSONString(sckwMessage));
         log.info(MessageEnum.getDesc(carriageMessageEnum) + "-[承运方]-业务联系人:{}", JSON.toJSONString(sckwMessage));
@@ -620,7 +727,10 @@ public class CommonService {
         message.setRequestId(UUIDUtils.get32UUID())
         message.setRequestId(UUIDUtils.get32UUID())
                 .setMessageEnum(consignMessageEnum)
                 .setMessageEnum(consignMessageEnum)
                 .setParams(map)
                 .setParams(map)
-                .setMsgUrls(new HashMap<>(){{put("pc",messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl());put("app",messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl());}})
+                .setMsgUrls(new HashMap<>() {{
+                    put("pc", messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl());
+                    put("app", messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl());
+                }})
                 .setUserInfos(list)
                 .setUserInfos(list)
                 .setCreateBy(LoginUserHolder.getUserId());
                 .setCreateBy(LoginUserHolder.getUserId());
         log.info(MessageEnum.getDesc(consignMessageEnum) + "-[托运方]-业务联系人:{}", JSON.toJSONString(message));
         log.info(MessageEnum.getDesc(consignMessageEnum) + "-[托运方]-业务联系人:{}", JSON.toJSONString(message));

+ 21 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ConsignOrderService.java

@@ -34,6 +34,7 @@ import com.sckw.mongo.model.SckwWaybillOrder;
 import com.sckw.mongo.model.TableTops;
 import com.sckw.mongo.model.TableTops;
 import com.sckw.order.api.dubbo.TradeOrderInfoService;
 import com.sckw.order.api.dubbo.TradeOrderInfoService;
 import com.sckw.order.api.model.CompleteLogisticsOrderParam;
 import com.sckw.order.api.model.CompleteLogisticsOrderParam;
+import com.sckw.order.api.model.CreateOrCancelLogisticsOrderParam;
 import com.sckw.order.api.model.OrderDetailRes;
 import com.sckw.order.api.model.OrderDetailRes;
 import com.sckw.order.api.model.UnitInfoDetailRes;
 import com.sckw.order.api.model.UnitInfoDetailRes;
 import com.sckw.payment.api.dubbo.PaymentDubboService;
 import com.sckw.payment.api.dubbo.PaymentDubboService;
@@ -145,7 +146,10 @@ public class ConsignOrderService {
     public KwtLogisticsOrderCirculateMapper kwtLogisticsOrderCirculateMapper;
     public KwtLogisticsOrderCirculateMapper kwtLogisticsOrderCirculateMapper;
 
 
     @Autowired
     @Autowired
-    TransportCommonService transportCommonService;
+    public TransportCommonService transportCommonService;
+
+    @Autowired
+    KwtWaybillOrderService waybillOrderService;
 
 
 
 
     /**
     /**
@@ -644,7 +648,7 @@ public class ConsignOrderService {
                     //扣亏量/吨
                     //扣亏量/吨
                     BigDecimal deduct = defectiveWeigh.compareTo(new BigDecimal("0.00")) == 0 ? new BigDecimal("0.00") : defectiveWeigh.subtract(multiply);
                     BigDecimal deduct = defectiveWeigh.compareTo(new BigDecimal("0.00")) == 0 ? new BigDecimal("0.00") : defectiveWeigh.subtract(multiply);
                     carWaybillVo.setWOrderId(String.valueOf(kwtWaybillOrder.getId()));
                     carWaybillVo.setWOrderId(String.valueOf(kwtWaybillOrder.getId()));
-                    carWaybillVo.setWOrderNo(order.getLOrderNo());
+                    carWaybillVo.setWOrderNo(kwtWaybillOrder.getWOrderNo());
                     carWaybillVo.setTruckNo(kwtWaybillOrder.getTruckNo());
                     carWaybillVo.setTruckNo(kwtWaybillOrder.getTruckNo());
                     carWaybillVo.setStatus(String.valueOf(kwtWaybillOrder.getStatus()));
                     carWaybillVo.setStatus(String.valueOf(kwtWaybillOrder.getStatus()));
                     carWaybillVo.setStatusLabel(CarWaybillEnum.getName(kwtWaybillOrder.getStatus()));
                     carWaybillVo.setStatusLabel(CarWaybillEnum.getName(kwtWaybillOrder.getStatus()));
@@ -860,6 +864,16 @@ public class ConsignOrderService {
                 log.info("贸易订单手动完结订单异常,传递信息:{},返回信息:{}", JSONObject.toJSONString(tradeOrder), JSONObject.toJSONString(httpResult));
                 log.info("贸易订单手动完结订单异常,传递信息:{},返回信息:{}", JSONObject.toJSONString(tradeOrder), JSONObject.toJSONString(httpResult));
                 throw new BusinessException("单据完结出现错误!" + httpResult.getMsg());
                 throw new BusinessException("单据完结出现错误!" + httpResult.getMsg());
             }
             }
+            CreateOrCancelLogisticsOrderParam param = new CreateOrCancelLogisticsOrderParam();
+            param.setTOrderId(Long.valueOf(logisticsOrder.getTOrderId()));
+            param.setEntrustAmount(orderFinishDTO.getLoadAmount().subtract(logisticsOrder.getAmount()));
+            param.setUpdateBy(LoginUserHolder.getUserId());
+            param.setUpdateByName(LoginUserHolder.getUserName());
+            HttpResult result1 = tradeOrderInfoService.createOrCancelLogisticsOrder(param);
+            if (result1.getCode() != HttpStatus.SUCCESS_CODE) {
+                log.info("托运订单手动完结订单-完结订单,返回信息:{}", "id:" + logisticsOrder.getTOrderId() + "orderNo" + logisticsOrder.getTOrderNo(), JSONObject.toJSONString(result1));
+                throw new BusinessException("{" + logisticsOrder.getTOrderNo() + "} 托运订单手动完结订单-完结订单!"+result1.getMsg());
+            }
         }
         }
 
 
         //修改合同履约量
         //修改合同履约量
@@ -874,6 +888,7 @@ public class ConsignOrderService {
         }
         }
 
 
         transportCommonService.closeHandle(logisticsOrder.getId());
         transportCommonService.closeHandle(logisticsOrder.getId());
+        waybillOrderService.cancelSendCar(logisticsOrder.getId());
         return HttpResult.ok("托运订单-完结订单成功");
         return HttpResult.ok("托运订单-完结订单成功");
     }
     }
 
 
@@ -959,13 +974,14 @@ public class ConsignOrderService {
     private boolean judgmentWaybillOrderIsFinish(String id) {
     private boolean judgmentWaybillOrderIsFinish(String id) {
         boolean flag = false;
         boolean flag = false;
         List<Integer> statusList = new ArrayList<>();
         List<Integer> statusList = new ArrayList<>();
-        statusList.add(CarWaybillEnum.PENDING_ORDER.getCode());
+//        statusList.add(CarWaybillEnum.PENDING_ORDER.getCode());
         statusList.add(CarWaybillEnum.PENDING_VEHICLE.getCode());
         statusList.add(CarWaybillEnum.PENDING_VEHICLE.getCode());
         statusList.add(CarWaybillEnum.EXIT_COMPLETED.getCode());
         statusList.add(CarWaybillEnum.EXIT_COMPLETED.getCode());
         statusList.add(CarWaybillEnum.WAIT_LOADING.getCode());
         statusList.add(CarWaybillEnum.WAIT_LOADING.getCode());
         statusList.add(CarWaybillEnum.COMPLETION_LOADING.getCode());
         statusList.add(CarWaybillEnum.COMPLETION_LOADING.getCode());
         statusList.add(CarWaybillEnum.WAIT_UNLOADING.getCode());
         statusList.add(CarWaybillEnum.WAIT_UNLOADING.getCode());
         statusList.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode());
         statusList.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode());
+        statusList.add(CarWaybillEnum.APPROVAL_IN.getCode());
 //        statusList.add(CarWaybillEnum.APPROVAL_PASS.getCode());
 //        statusList.add(CarWaybillEnum.APPROVAL_PASS.getCode());
         int count = kwtWaybillOrderMapper.selectDataByLorderId(id, statusList);
         int count = kwtWaybillOrderMapper.selectDataByLorderId(id, statusList);
         if (count > NumberConstant.ZERO) {
         if (count > NumberConstant.ZERO) {
@@ -1163,7 +1179,7 @@ public class ConsignOrderService {
      * @return
      * @return
      */
      */
     public HttpResult consignOrderFinishDetail(String orderId) {
     public HttpResult consignOrderFinishDetail(String orderId) {
-//        OrderFinishVO orderFinishVO = kwtLogisticsOrderMapper.selectOrderFinishData(orderId);
+        OrderFinishVO finishVO = kwtLogisticsOrderMapper.selectOrderFinishData(orderId);
         Map<String, Object> map = new HashMap(NumberConstant.SIXTEEN);
         Map<String, Object> map = new HashMap(NumberConstant.SIXTEEN);
         map.put("upperlOrderId", orderId);
         map.put("upperlOrderId", orderId);
         //随意给个值 主要是传递不为null
         //随意给个值 主要是传递不为null
@@ -1173,6 +1189,7 @@ public class ConsignOrderService {
         orderFinishVO.setLoadAmount(waybillOrderCount == null ? new BigDecimal("0.00") : waybillOrderCount.getLoadAmount());
         orderFinishVO.setLoadAmount(waybillOrderCount == null ? new BigDecimal("0.00") : waybillOrderCount.getLoadAmount());
         orderFinishVO.setUnloadAmount(waybillOrderCount == null ? new BigDecimal("0.00") : waybillOrderCount.getUnloadAmount());
         orderFinishVO.setUnloadAmount(waybillOrderCount == null ? new BigDecimal("0.00") : waybillOrderCount.getUnloadAmount());
         orderFinishVO.setNumber(waybillOrderCount == null ? NumberConstant.ZERO : waybillOrderCount.getTotalComplete());
         orderFinishVO.setNumber(waybillOrderCount == null ? NumberConstant.ZERO : waybillOrderCount.getTotalComplete());
+        orderFinishVO.setAmount(finishVO.getAmount());
         return HttpResult.ok(orderFinishVO);
         return HttpResult.ok(orderFinishVO);
     }
     }
 
 

+ 49 - 9
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/LogisticsConsignmentService.java

@@ -33,6 +33,7 @@ import com.sckw.stream.enums.MessageEnum;
 import com.sckw.stream.model.SckwBusSum;
 import com.sckw.stream.model.SckwBusSum;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
+import com.sckw.transport.common.config.MessageUrlConfig;
 import com.sckw.transport.dao.*;
 import com.sckw.transport.dao.*;
 import com.sckw.transport.model.*;
 import com.sckw.transport.model.*;
 import com.sckw.transport.model.dto.LogisticsOrderDTO;
 import com.sckw.transport.model.dto.LogisticsOrderDTO;
@@ -73,6 +74,15 @@ public class LogisticsConsignmentService {
     @Autowired
     @Autowired
     RedisLockUtil redisLockUtil;
     RedisLockUtil redisLockUtil;
 
 
+    @Autowired
+    public TransportCommonService transportCommonService;
+
+    @Autowired
+    KwtWaybillOrderService waybillOrderService;
+
+    @Autowired
+    MessageUrlConfig messageUrlConfig;
+
     @Autowired
     @Autowired
     public CommonService commonService;
     public CommonService commonService;
 
 
@@ -233,7 +243,11 @@ public class LogisticsConsignmentService {
         carriageUnit.setTopEntId(consignentMap == null ? null : consignentMap.getId());
         carriageUnit.setTopEntId(consignentMap == null ? null : consignentMap.getId());
         carriageUnit.setContactsId(Long.parseLong(bo.getConsignContactsId()));
         carriageUnit.setContactsId(Long.parseLong(bo.getConsignContactsId()));
 
 
-        commonService.initIatingLogisticsConsignment(checkUnit, carriageUnit, lOrderNo, LoginUserHolder.getUserId(), LoginUserHolder.getEntId());
+//        commonService.initIatingLogisticsConsignment(checkUnit, carriageUnit, lOrderNo, LoginUserHolder.getUserId(), LoginUserHolder.getEntId());
+        commonService.newSendLogisticsOrderToMessage(checkUnit, carriageUnit, lOrderNo, LoginUserHolder.getUserId(), LoginUserHolder.getEntId(),
+                messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl(),messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl(),
+                messageUrlConfig.getPc().getCarriageLogisticsAddOrderUrl(),messageUrlConfig.getApp().getCarriageLogisticsAddOrderUrl(),
+                MessageEnum.INITIATING_LOGISTICS_CONSIGNMENT,MessageEnum.NEW_CARRIAGE_ORDER,"1");
     }
     }
 
 
     /**
     /**
@@ -800,7 +814,7 @@ public class LogisticsConsignmentService {
             List<LogisticsOrderDTO> list = new ArrayList<>();
             List<LogisticsOrderDTO> list = new ArrayList<>();
             if (flag) {
             if (flag) {
                 /**数据展示*/
                 /**数据展示*/
-                list = kwtLogisticsOrderMapper.selectOrderListNotPage(id, type);
+                list = kwtLogisticsOrderMapper.selectOrderListNotPage(id, "2");
                 /**计量单位*/
                 /**计量单位*/
                 Map<String, String> unitTypeDictData = commonService.getDictData(DictTypeEnum.UNIT_TYPE.getType());
                 Map<String, String> unitTypeDictData = commonService.getDictData(DictTypeEnum.UNIT_TYPE.getType());
                 /**运价方式*/
                 /**运价方式*/
@@ -885,6 +899,7 @@ public class LogisticsConsignmentService {
 //            orderCarDTO.setDriverName(orderCarDTO.getDriverName());
 //            orderCarDTO.setDriverName(orderCarDTO.getDriverName());
 //            orderCarDTO.setDriverPhone(orderCarDTO.getDriverPhone());
 //            orderCarDTO.setDriverPhone(orderCarDTO.getDriverPhone());
 //            orderCarDTO.setDriverCard(orderCarDTO.getDriverCard());
 //            orderCarDTO.setDriverCard(orderCarDTO.getDriverCard());
+                    orderCarDTO.setStatusLabel(CarWaybillEnum.getName(orderCarDTO.getStatus()));
                     orderCarDTO.setLoadAmount(truck.get(orderCarDTO.getTruckNo()) == null ?
                     orderCarDTO.setLoadAmount(truck.get(orderCarDTO.getTruckNo()) == null ?
                             null : (truck.get(orderCarDTO.getTruckNo()).getActualWeight() == null ?
                             null : (truck.get(orderCarDTO.getTruckNo()).getActualWeight() == null ?
                             null : (String.valueOf(truck.get(orderCarDTO.getTruckNo()).getActualWeight()))));
                             null : (String.valueOf(truck.get(orderCarDTO.getTruckNo()).getActualWeight()))));
@@ -943,6 +958,7 @@ public class LogisticsConsignmentService {
 //            orderCarDTO.setDriverName(orderCarDTO.getDriverName());
 //            orderCarDTO.setDriverName(orderCarDTO.getDriverName());
 //            orderCarDTO.setDriverPhone(orderCarDTO.getDriverPhone());
 //            orderCarDTO.setDriverPhone(orderCarDTO.getDriverPhone());
 //            orderCarDTO.setDriverCard(orderCarDTO.getDriverCard());
 //            orderCarDTO.setDriverCard(orderCarDTO.getDriverCard());
+                    orderCarDTO.setStatusLabel(CarWaybillEnum.getName(orderCarDTO.getStatus()));
                     orderCarDTO.setLoadAmount(truck.get(orderCarDTO.getTruckNo()) == null ?
                     orderCarDTO.setLoadAmount(truck.get(orderCarDTO.getTruckNo()) == null ?
                             null : (truck.get(orderCarDTO.getTruckNo()).getActualWeight() == null ?
                             null : (truck.get(orderCarDTO.getTruckNo()).getActualWeight() == null ?
                             null : (String.valueOf(truck.get(orderCarDTO.getTruckNo()).getActualWeight()))));
                             null : (String.valueOf(truck.get(orderCarDTO.getTruckNo()).getActualWeight()))));
@@ -1090,8 +1106,14 @@ public class LogisticsConsignmentService {
                         new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
                         new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
                                 .eq(KwtLogisticsOrderUnit::getLOrderId, kwtLogisticsOrder.getId())
                                 .eq(KwtLogisticsOrderUnit::getLOrderId, kwtLogisticsOrder.getId())
                                 .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.TWO));
                                 .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.TWO));
-                commonService.cancelLogisticsConsignment(consignUnit, carriageUnit, kwtLogisticsOrder.getLOrderNo(), kwtLogisticsOrder.getCreateBy(),
-                        kwtLogisticsOrder.getEntId(), MessageEnum.CANCELLATION_LOGISTICS, MessageEnum.CARRIAGE_CANCELLATION_LOGISTICS);
+//                commonService.cancelLogisticsConsignment(consignUnit, carriageUnit, kwtLogisticsOrder.getLOrderNo(), kwtLogisticsOrder.getCreateBy(),
+//                        kwtLogisticsOrder.getEntId(), MessageEnum.CANCELLATION_LOGISTICS, MessageEnum.CARRIAGE_CANCELLATION_LOGISTICS);
+                commonService.newSendLogisticsOrderToMessage(consignUnit, carriageUnit, kwtLogisticsOrder.getLOrderNo(), kwtLogisticsOrder.getCreateBy(),
+                        kwtLogisticsOrder.getEntId(),
+                        messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl(),messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl(),
+                        messageUrlConfig.getPc().getCarriageLogisticsAddOrderUrl(),messageUrlConfig.getApp().getCarriageLogisticsAddOrderUrl(),
+                        MessageEnum.CANCELLATION_LOGISTICS, MessageEnum.CARRIAGE_CANCELLATION_LOGISTICS,
+                        "1");
             } else {
             } else {
                 result.setMsg("操作失败:" + httpResult.getMsg());
                 result.setMsg("操作失败:" + httpResult.getMsg());
                 result.setCode(HttpStatus.GLOBAL_EXCEPTION_CODE);
                 result.setCode(HttpStatus.GLOBAL_EXCEPTION_CODE);
@@ -1184,8 +1206,13 @@ public class LogisticsConsignmentService {
                         new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
                         new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
                                 .eq(KwtLogisticsOrderUnit::getLOrderId, id)
                                 .eq(KwtLogisticsOrderUnit::getLOrderId, id)
                                 .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.TWO));
                                 .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.TWO));
-                commonService.cancelLogisticsConsignment(consignUnit, carriageUnit, kwtLogisticsOrder.getLOrderNo(), kwtLogisticsOrder.getCreateBy(),
-                        kwtLogisticsOrder.getEntId(), MessageEnum.CANCELLATION_LOGISTICS, MessageEnum.CARRIAGE_CANCELLATION_LOGISTICS);
+//                commonService.cancelLogisticsConsignment(consignUnit, carriageUnit, kwtLogisticsOrder.getLOrderNo(), kwtLogisticsOrder.getCreateBy(),
+//                        kwtLogisticsOrder.getEntId(), MessageEnum.CANCELLATION_LOGISTICS, MessageEnum.CARRIAGE_CANCELLATION_LOGISTICS);
+                commonService.newSendLogisticsOrderToMessage(consignUnit, carriageUnit, kwtLogisticsOrder.getLOrderNo(), kwtLogisticsOrder.getCreateBy(),
+                        kwtLogisticsOrder.getEntId(),
+                        messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl(),messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl(),
+                        messageUrlConfig.getPc().getCarriageLogisticsAddOrderUrl(),messageUrlConfig.getApp().getCarriageLogisticsAddOrderUrl(),
+                        MessageEnum.CANCELLATION_LOGISTICS, MessageEnum.CARRIAGE_CANCELLATION_LOGISTICS,"1");
             } else {
             } else {
                 result.setCode(HttpStatus.GLOBAL_EXCEPTION_CODE);
                 result.setCode(HttpStatus.GLOBAL_EXCEPTION_CODE);
                 result.setMsg("操作失败:" + httpResult.getMsg());
                 result.setMsg("操作失败:" + httpResult.getMsg());
@@ -1328,6 +1355,18 @@ public class LogisticsConsignmentService {
             log.info("贸易订单-采购订单/销售订单-手动完结订单异常,传递信息:{},返回信息:{}", JSONObject.toJSONString(tradeOrder), JSONObject.toJSONString(httpResult));
             log.info("贸易订单-采购订单/销售订单-手动完结订单异常,传递信息:{},返回信息:{}", JSONObject.toJSONString(tradeOrder), JSONObject.toJSONString(httpResult));
             throw new BusinessException("单据完结出现错误!" + httpResult.getMsg());
             throw new BusinessException("单据完结出现错误!" + httpResult.getMsg());
         }
         }
+        CreateOrCancelLogisticsOrderParam param = new CreateOrCancelLogisticsOrderParam();
+        param.setTOrderId(Long.valueOf(logisticsOrder.getTOrderId()));
+        param.setEntrustAmount(orderFinishDTO.getLoadAmount().subtract(logisticsOrder.getAmount()));
+        param.setUpdateBy(LoginUserHolder.getUserId());
+        param.setUpdateByName(LoginUserHolder.getUserName());
+        HttpResult result1 = tradeOrderInfoService.createOrCancelLogisticsOrder(param);
+        if (result1.getCode() != HttpStatus.SUCCESS_CODE) {
+            log.info("采购订单/销售订单完结订单,返回信息:{}", "id:" + logisticsOrder.getTOrderId() + "orderNo" + logisticsOrder.getTOrderNo(), JSONObject.toJSONString(result1));
+            throw new BusinessException("{" + logisticsOrder.getTOrderNo() + "} 采购订单/销售订单完结订单失败!"+result1.getMsg());
+        }
+        transportCommonService.closeHandle(logisticsOrder.getId());
+        waybillOrderService.cancelSendCar(logisticsOrder.getId());
         //todo 直接订单完结-不递归操作
         //todo 直接订单完结-不递归操作
 //
 //
 //        //存在子集
 //        //存在子集
@@ -1710,14 +1749,15 @@ public class LogisticsConsignmentService {
     private boolean judgmentWaybillOrderIsFinish(String id) {
     private boolean judgmentWaybillOrderIsFinish(String id) {
         boolean flag = false;
         boolean flag = false;
         List<Integer> statusList = new ArrayList<>();
         List<Integer> statusList = new ArrayList<>();
-        statusList.add(CarWaybillEnum.PENDING_ORDER.getCode());
+//        statusList.add(CarWaybillEnum.PENDING_ORDER.getCode());
         statusList.add(CarWaybillEnum.PENDING_VEHICLE.getCode());
         statusList.add(CarWaybillEnum.PENDING_VEHICLE.getCode());
         statusList.add(CarWaybillEnum.EXIT_COMPLETED.getCode());
         statusList.add(CarWaybillEnum.EXIT_COMPLETED.getCode());
         statusList.add(CarWaybillEnum.WAIT_LOADING.getCode());
         statusList.add(CarWaybillEnum.WAIT_LOADING.getCode());
         statusList.add(CarWaybillEnum.COMPLETION_LOADING.getCode());
         statusList.add(CarWaybillEnum.COMPLETION_LOADING.getCode());
         statusList.add(CarWaybillEnum.WAIT_UNLOADING.getCode());
         statusList.add(CarWaybillEnum.WAIT_UNLOADING.getCode());
         statusList.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode());
         statusList.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode());
-        statusList.add(CarWaybillEnum.APPROVAL_PASS.getCode());
+//        statusList.add(CarWaybillEnum.APPROVAL_PASS.getCode());
+        statusList.add(CarWaybillEnum.APPROVAL_IN.getCode());
         int count = waybillOrderMapper.selectDataByLorderId(id, statusList);
         int count = waybillOrderMapper.selectDataByLorderId(id, statusList);
         if (count > NumberConstant.ZERO) {
         if (count > NumberConstant.ZERO) {
             flag = true;
             flag = true;
@@ -1734,7 +1774,7 @@ public class LogisticsConsignmentService {
      */
      */
     public void judgmentLogisticsOrderIsFinish(KwtLogisticsOrder logisticsOrder) {
     public void judgmentLogisticsOrderIsFinish(KwtLogisticsOrder logisticsOrder) {
         //查询是否存在进行中的车辆运单 取至 CarWaybillEnum 枚举类
         //查询是否存在进行中的车辆运单 取至 CarWaybillEnum 枚举类
-        long[] waybillStatus = {1, 2, 3, 4, 5, 6, 7, 8};
+        long[] waybillStatus = {1, 2, 3, 4, 5, 6, 7, 13};
         List<KwtWaybillOrder> waybillOrders = waybillOrderMapper.selectList(new LambdaQueryWrapper<KwtWaybillOrder>()
         List<KwtWaybillOrder> waybillOrders = waybillOrderMapper.selectList(new LambdaQueryWrapper<KwtWaybillOrder>()
                 .eq(KwtWaybillOrder::getLOrderId, logisticsOrder.getId())
                 .eq(KwtWaybillOrder::getLOrderId, logisticsOrder.getId())
                 .in(KwtWaybillOrder::getStatus, waybillStatus));
                 .in(KwtWaybillOrder::getStatus, waybillStatus));

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

@@ -32,6 +32,7 @@ import com.sckw.system.api.model.dto.res.EntCacheResDto;
 import com.sckw.system.api.model.dto.res.SysDictResDto;
 import com.sckw.system.api.model.dto.res.SysDictResDto;
 import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import com.sckw.transport.api.model.vo.LogisticsOrderVO;
 import com.sckw.transport.api.model.vo.LogisticsOrderVO;
+import com.sckw.transport.common.config.MessageUrlConfig;
 import com.sckw.transport.dao.*;
 import com.sckw.transport.dao.*;
 import com.sckw.transport.model.*;
 import com.sckw.transport.model.*;
 import com.sckw.transport.model.dto.CancelOrderDTO;
 import com.sckw.transport.model.dto.CancelOrderDTO;
@@ -70,6 +71,9 @@ public class TransportCommonService {
     @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 6000)
     @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 6000)
     RemoteContractService remoteContractService;
     RemoteContractService remoteContractService;
 
 
+    @Autowired
+    MessageUrlConfig messageUrlConfig;
+
     @Autowired
     @Autowired
     public CommonService commonService;
     public CommonService commonService;
 
 
@@ -463,8 +467,14 @@ public class TransportCommonService {
                 new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
                 new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
                         .eq(KwtLogisticsOrderUnit::getLOrderId, id)
                         .eq(KwtLogisticsOrderUnit::getLOrderId, id)
                         .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.TWO));
                         .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.TWO));
-        commonService.cancelLogisticsConsignment(consignUnit, carriageUnit, logisticsOrder.getLOrderNo(), logisticsOrder.getCreateBy(),
-                logisticsOrder.getEntId(), MessageEnum.CANCELLATION_LOGISTICS, MessageEnum.CARRIAGE_CANCELLATION_LOGISTICS);
+//        commonService.cancelLogisticsConsignment(consignUnit, carriageUnit, logisticsOrder.getLOrderNo(), logisticsOrder.getCreateBy(),
+//                logisticsOrder.getEntId(), MessageEnum.CANCELLATION_LOGISTICS, MessageEnum.CARRIAGE_CANCELLATION_LOGISTICS);
+        commonService.newSendLogisticsOrderToMessage(consignUnit, carriageUnit, logisticsOrder.getLOrderNo(), logisticsOrder.getCreateBy(),
+                logisticsOrder.getEntId(),
+                messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl(),messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl(),
+                messageUrlConfig.getPc().getCarriageLogisticsAddOrderUrl(),messageUrlConfig.getApp().getCarriageLogisticsAddOrderUrl(),
+                MessageEnum.CANCELLATION_LOGISTICS, MessageEnum.CARRIAGE_CANCELLATION_LOGISTICS,
+                "1");
         return result;
         return result;
     }
     }
 
 

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

@@ -2016,7 +2016,7 @@
         ELSE 0 end AS typeOne,
         ELSE 0 end AS typeOne,
         CASE WHEN #{typeTwo} = 2 THEN
         CASE WHEN #{typeTwo} = 2 THEN
         sum(a.amount * IFNULL( a.price, 0 ))
         sum(a.amount * IFNULL( a.price, 0 ))
-        CASE WHEN #{typeTwo} = 1 THEN
+        WHEN #{typeTwo} = 1 THEN
         sum( a.amount )
         sum( a.amount )
         ELSE 0	end AS typeTwo
         ELSE 0	end AS typeTwo
         FROM kwt_logistics_order a LEFT JOIN  kwt_logistics_order_unit b ON a.id = b.l_order_id
         FROM kwt_logistics_order a LEFT JOIN  kwt_logistics_order_unit b ON a.id = b.l_order_id

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

@@ -476,6 +476,7 @@
                a.driver_phone  as driverPhone,
                a.driver_phone  as driverPhone,
                a.driver_idcard as driverCard,
                a.driver_idcard as driverCard,
                a.truck_no      as truckNo,
                a.truck_no      as truckNo,
+               a.status        as status,
                a.l_order_id    as lOrderId,
                a.l_order_id    as lOrderId,
                b.l_order_no    as lOrderNo,
                b.l_order_no    as lOrderNo,
                b.t_order_id    as tOrderId,
                b.t_order_id    as tOrderId,