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

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

xucaiqin 2 лет назад
Родитель
Сommit
575e3c5765
25 измененных файлов с 477 добавлено и 159 удалено
  1. 5 0
      sckw-auth/src/main/java/com/sckw/auth/model/vo/res/LoginResVo1.java
  2. 1 0
      sckw-auth/src/main/java/com/sckw/auth/service/impl/AuthServiceImpl.java
  3. 1 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/NumberConstant.java
  4. 2 1
      sckw-modules-api/sckw-order-api/src/main/java/com/sckw/order/api/dubbo/TradeOrderStatisticsService.java
  5. 5 0
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/res/KwsUserResDto.java
  6. 9 5
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeMapper.xml
  7. 6 1
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateApplyService.java
  8. 21 7
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateManageService.java
  9. 8 8
      sckw-modules/sckw-manage/src/main/resources/mapper/KwmCooperateMapper.xml
  10. 40 1
      sckw-modules/sckw-order/src/main/java/com/sckw/order/dubbo/TradeOrderInfoServiceImpl.java
  11. 12 5
      sckw-modules/sckw-order/src/main/java/com/sckw/order/dubbo/TradeOrderStatisticsServiceImpl.java
  12. 14 3
      sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderStatisticsService.java
  13. 80 81
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwWorkService.java
  14. 57 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/common/config/MessageUrlConfig.java
  15. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/common/enums/OrderTypeEnum.java
  16. 12 2
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderMapper.java
  17. 15 7
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/LogisticsOrderStatisticsParam.java
  18. 5 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/LogisticsOrderStatisticsVO.java
  19. 29 10
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/AcceptCarriageOrderService.java
  20. 111 8
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/CommonService.java
  21. 11 3
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ConsignOrderService.java
  22. 2 2
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ManagementLogisticsOrderService.java
  23. 2 3
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/TransportCommonService.java
  24. 13 0
      sckw-modules/sckw-transport/src/main/resources/bootstrap-lfdc.yml
  25. 15 10
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml

+ 5 - 0
sckw-auth/src/main/java/com/sckw/auth/model/vo/res/LoginResVo1.java

@@ -49,6 +49,11 @@ public class LoginResVo1 implements Serializable {
      */
     private String roleName;
 
+    /**
+     * 机构名称
+     */
+    private String deptName;
+
     /**
      * 是否是企业管理(0是 1否)
      */

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

@@ -436,6 +436,7 @@ public class AuthServiceImpl implements IAuthService {
         loginRes.setIsMain(user.getIsMain());
         loginRes.setStatus(user.getStatus());
         loginRes.setRoleName(user.getRoleName());
+        loginRes.setDeptName(user.getDeptName());
         loginRes.setClientId(user.getClientId());
         loginRes.setEntId(user.getEntId());
         loginRes.setFirmName(enterprise != null ? enterprise.getFirmName() : null);

+ 1 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/NumberConstant.java

@@ -65,6 +65,7 @@ public final class NumberConstant {
     public static final int COOKIE_TIMEN = 300;
 
     public static final BigDecimal ONE_HUNDRED = new BigDecimal("100.00");
+    public static final BigDecimal TEN_THOUSAND = new BigDecimal("10000.00");
 
     public NumberConstant() {
     }

+ 2 - 1
sckw-modules-api/sckw-order-api/src/main/java/com/sckw/order/api/dubbo/TradeOrderStatisticsService.java

@@ -3,6 +3,7 @@ package com.sckw.order.api.dubbo;
 import com.sckw.order.api.model.TradeOrderCountStatisticsDTO;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @desc: 贸易订单统计dubbo接口
@@ -18,5 +19,5 @@ public interface TradeOrderStatisticsService {
      * @Param topEntId:
      * @return: java.util.List<com.sckw.order.api.model.TradeOrderCountStatisticsDTO>
      */
-    List<TradeOrderCountStatisticsDTO> getOrderNumByTopEntId(Long topEntId);
+    Map<Integer, Integer> getOrderNumByTopEntId(Long topEntId);
 }

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

@@ -108,6 +108,11 @@ public class KwsUserResDto implements Serializable {
      */
     private String roleName;
 
+    /**
+     * 机构名称
+     */
+    private String deptName;
+
     /**
      * 企业Id
      */

+ 9 - 5
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeMapper.xml

@@ -93,10 +93,12 @@
           FROM kwc_contract_trade a
           left join kwc_contract_trade_unit b on a.id = b.contract_id
          where a.`status` != 3
-           and b.ent_id in
-            <foreach collection="list" separator="," open="(" close=")" item="item">
-                #{item}
-            </foreach>
+           <if test="list != null and list.size() > 0">
+               and b.ent_id in
+               <foreach collection="list" separator="," open="(" close=")" item="item">
+                   #{item}
+               </foreach>
+           </if>
          GROUP BY b.unit_type
          union all
         SELECT b.unit_type,
@@ -104,10 +106,12 @@
           FROM kwc_contract_logistics a
           left join kwc_contract_logistics_unit b on a.id = b.contract_id
          where a.`status` != 3
-           and b.ent_id in
+        <if test="list != null and list.size() > 0">
+            and b.ent_id in
             <foreach collection="list" separator="," open="(" close=")" item="item">
                 #{item}
             </foreach>
+        </if>
          GROUP BY b.unit_type
     </select>
 

+ 6 - 1
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateApplyService.java

@@ -524,9 +524,14 @@ public class KwmCooperateApplyService {
             item.setUpdateTime(date);
             item.setApprovalRemark(remark);
             List<Integer> currentStatusList = kwmCooperateTypes.stream().map(KwmCooperateType::getStatus).toList();
-            if (type.equals(CooperateStatusEnum.OK.getCode()) || (type.equals(CooperateStatusEnum.CANCEL.getCode()) && !currentStatusList.contains(CooperateStatusEnum.OK.getCode()))) {
+            if (type.equals(CooperateStatusEnum.OK.getCode())) {
                 item.setStatus(type);
             }
+
+            if ((type.equals(CooperateStatusEnum.CANCEL.getCode()) || type.equals(CooperateStatusEnum.REFUSE.getCode())) && !currentStatusList.contains(CooperateStatusEnum.OK.getCode())) {
+                item.setStatus(type);
+            }
+
             if (kwmCooperateMapper.updateById(item) <= 0) {
                 throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
             }

+ 21 - 7
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateManageService.java

@@ -512,6 +512,10 @@ public class KwmCooperateManageService {
             return Collections.emptyList();
         }
 
+        Long entId = reqVo.getEntId();
+        Map<Long, EntCacheResDto> entCacheResDtoMap = remoteSystemService.queryEntTreeByIds(Collections.singletonList(entId));
+        Long topId = entCacheResDtoMap.get(entId).getId();
+
         //获取合作属性
         List<Long> cooperateIdList = kwmCooperates.stream().map(KwmCooperate::getId).toList();
         LambdaQueryWrapper<KwmCooperateType> wrapper = new LambdaQueryWrapper<>();
@@ -556,9 +560,6 @@ public class KwmCooperateManageService {
             String inviteeEntName = Objects.isNull(inviteeEntCacheResDto) ? null : inviteeEntCacheResDto.getFirmName();
 
 
-            Long entId = reqVo.getEntId();
-            Map<Long, EntCacheResDto> entCacheResDtoMap = remoteSystemService.queryEntTreeByIds(Collections.singletonList(entId));
-            Long topId = entCacheResDtoMap.get(entId).getId();
             //设置合作属性
             List<KwmCooperateType> kwmCooperateTypeList = collect.get(kwmCooperate.getId());
             List<Long> userIds = kwmCooperateTypeList.stream().map(KwmCooperateType::getCreateBy).toList();
@@ -567,12 +568,24 @@ public class KwmCooperateManageService {
                 Long createBy = kwmCooperateType.getCreateBy();
                 UserCacheResDto userCacheResDto = userCacheResDtoMap.get(createBy);
                 Long id = userCacheResDto.getEntInfo().getId();
+                Integer type;
                 if (id.equals(topId)) {
-                    cooperateTypeList.add(kwmCooperateType.getType());
+                    type = kwmCooperateType.getType();
                 } else {
-                    cooperateTypeList.add(commonBusinessService.changeCooperateType(kwmCooperateType.getType()));
+                    type = commonBusinessService.changeCooperateType(kwmCooperateType.getType());
+                }
+
+                if (Objects.isNull(reqVo.getCooperateType())) {
+                    cooperateTypeList.add(type);
+                } else if (reqVo.getCooperateType().equals(type)) {
+                    cooperateTypeList.add(type);
                 }
             }
+
+            if (CollectionUtils.isEmpty(cooperateTypeList)) {
+                continue;
+            }
+
             String cooperateTypes = String.join(Global.COMMA, cooperateTypeList.stream().map(String::valueOf).distinct().toList());
             findCooperateByEntResVo.setCooperateTypes(cooperateTypes);
             //设置我方和对方企业信息、联系人
@@ -621,7 +634,7 @@ public class KwmCooperateManageService {
     public List<FindCooperateByEntResVo> findTargetEntCooperateInOur(FindCooperateByEntReqVo reqVo) {
         FindCooperateByEntReqVo param = new FindCooperateByEntReqVo();
         param.setEntId(reqVo.getTargetEntId());
-        param.setCooperateType(reqVo.getCooperateType());
+        param.setCooperateType(commonBusinessService.changeCooperateType(reqVo.getCooperateType()));
         //查对方有哪些合作单位,再筛选出我方的单位(包括我方主体单位)
         List<FindCooperateByEntResVo> cooperateByEnt = findCooperateByEnt(param);
         if (CollectionUtils.isEmpty(cooperateByEnt)) {
@@ -673,6 +686,7 @@ public class KwmCooperateManageService {
             findCooperateByEntResVo.setTargetContactsId(contactsId);
             findCooperateByEntResVo.setTargetContacts(contacts);
             findCooperateByEntResVo.setTargetPhone(phone);
+            findCooperateByEntResVo.setCooperateTypes(commonBusinessService.changeCooperateType(findCooperateByEntResVo.getCooperateTypes()));
         }
         return findCooperateByEntResVos;
     }
@@ -768,7 +782,7 @@ public class KwmCooperateManageService {
             queryAllCooperateInfoResVo.setCreateTime(item.getCreateTime());
 
             UserCacheResDto userCacheResDto = userCacheResDtoMap.get(item.getCreateBy());
-            queryAllCooperateInfoResVo.setCreateByName(Objects.nonNull(userCacheResDto) ? userCacheResDto.getName(): "");
+            queryAllCooperateInfoResVo.setCreateByName(Objects.nonNull(userCacheResDto) ? userCacheResDto.getName() : "");
             queryAllCooperateInfoResVo.setPhone(Objects.nonNull(userCacheResDto) ? userCacheResDto.getPhone() : "");
             queryAllCooperateInfoResVo.setUpdateTime(item.getUpdateTime());
             queryAllCooperateInfoResVo.setRemark(item.getRemark());

+ 8 - 8
sckw-modules/sckw-manage/src/main/resources/mapper/KwmCooperateMapper.xml

@@ -121,14 +121,14 @@
                 </if>
                 ))
 
-            <if test="cooperateType != null">
-                and exists (select 1
-                              from kwm_cooperate_type c
-                             where c.cooperate_id = a.id
-                               and c.del_flag = 0
-                               and c.type = #{cooperateType}
-                            )
-            </if>
+<!--            <if test="cooperateType != null">-->
+<!--                and exists (select 1-->
+<!--                              from kwm_cooperate_type c-->
+<!--                             where c.cooperate_id = a.id-->
+<!--                               and c.del_flag = 0-->
+<!--                               and c.type = #{cooperateType}-->
+<!--                            )-->
+<!--            </if>-->
     </select>
 
     <select id="findManageList" resultType="com.sckw.manage.model.dto.res.CooperateManageQueryResDto">

+ 40 - 1
sckw-modules/sckw-order/src/main/java/com/sckw/order/dubbo/TradeOrderInfoServiceImpl.java

@@ -206,7 +206,46 @@ public class TradeOrderInfoServiceImpl implements TradeOrderInfoService {
 
     @Override
     public HttpResult updateActualAmount(UpdateActualAmountParam param) {
-        return null;
+        Long id = param.getTOrderId();
+        BigDecimal actualLoadAmount = param.getActualLoadAmount();
+        BigDecimal actualUnloadAmount = param.getActualUnloadAmount();
+        Long updateBy = param.getUpdateBy();
+        String updateByName = param.getUpdateByName();
+        if (Objects.isNull(actualLoadAmount) || Objects.isNull(actualUnloadAmount)) {
+            return HttpResult.error("装卸总量不能为空!");
+        }
+        if (Objects.isNull(updateBy) || StringUtils.isBlank(updateByName)) {
+            return HttpResult.error("操作人信息不能为空!");
+        }
+        String lockKey = String.format(RedisConstant.TORDER_UPDATE_AMOUNT_KEY, id);
+        if (Boolean.FALSE.equals(RedissonUtils.tryLock(lockKey, 5L, 10L))) {
+            return HttpResult.error("业务繁忙,请稍后再试!");
+        }
+        try {
+            KwoTradeOrder order = kwoTradeOrderService.getById(id);
+            if (Objects.isNull(order)) {
+                return HttpResult.error("订单不存在!");
+            }
+            if (!Objects.equals(order.getStatus(), OrderStatusEnum.EXECUTING.getCode())) {
+                return HttpResult.error("执行中的订单才可物流托运!");
+            }
+            BigDecimal addActualAmount = Objects.equals(order.getDeliveryType(), DeliveryTypeEnum.ISSUE.getType())
+                    ? actualLoadAmount : actualUnloadAmount;
+            order.setActualAmount(addActualAmount).setUpdateBy(param.getUpdateBy());
+            kwoTradeOrderService.updateById(order);
+            //更新mongodb
+            SckwTradeOrder updateParam = new SckwTradeOrder();
+            updateParam.setTOrderId(order.getId())
+                    .setActualAmount(addActualAmount.doubleValue())
+                    .setStatus(order.getStatus())
+                    .setUpdateBy(param.getUpdateBy())
+                    .setUpdateByName(param.getUpdateByName())
+                    .setUpdateTime(new Date());
+            saveMongoDb(updateParam);
+        } finally {
+            RedissonUtils.unlock(lockKey);
+        }
+        return HttpResult.ok();
     }
 
     @Override

+ 12 - 5
sckw-modules/sckw-order/src/main/java/com/sckw/order/dubbo/TradeOrderStatisticsServiceImpl.java

@@ -1,5 +1,6 @@
 package com.sckw.order.dubbo;
 
+import com.sckw.core.model.constant.Global;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.order.api.dubbo.TradeOrderStatisticsService;
 import com.sckw.order.api.model.TradeOrderCountStatisticsDTO;
@@ -10,7 +11,9 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboService;
 
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @desc: 贸易订单统计dubbo接口实现
@@ -25,14 +28,18 @@ public class TradeOrderStatisticsServiceImpl implements TradeOrderStatisticsServ
     private final KwoTradeOrderService kwoTradeOrderService;
 
     @Override
-    public List<TradeOrderCountStatisticsDTO> getOrderNumByTopEntId(Long topEntId) {
+    public Map<Integer, Integer> getOrderNumByTopEntId(Long topEntId) {
+        Map<Integer, Integer> map = new HashMap<>(Global.NUMERICAL_FOUR);
+        map.put(Global.NUMERICAL_ONE, Global.NUMERICAL_ZERO);
+        map.put(Global.NUMERICAL_TWO, Global.NUMERICAL_ZERO);
         List<TradeOrderCountStatisticsDTO> list = kwoTradeOrderService.getOrderNumByTopEntId(topEntId);
         if (CollectionUtils.isEmpty(list)) {
-            return Collections.emptyList();
+            return map;
         }
-        list.forEach(e -> {
-            e.setName(OrderTypeEnum.getLabel(e.getOrderType()));
+
+        list.forEach(item -> {
+            map.put(item.getOrderType(), item.getNum());
         });
-        return list;
+        return map;
     }
 }

+ 14 - 3
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderStatisticsService.java

@@ -1,5 +1,6 @@
 package com.sckw.order.serivce;
 
+import com.sckw.core.common.enums.NumberConstant;
 import com.sckw.core.exception.BusinessException;
 import com.sckw.core.utils.DateUtils;
 import com.sckw.core.web.context.LoginUserHolder;
@@ -11,6 +12,8 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.temporal.TemporalAdjusters;
@@ -56,11 +59,19 @@ public class KwoTradeOrderStatisticsService {
                 .setStsFactorsTwo(params.getStsFactorsTwo());
         Map<String, WbTOrderExcelStsResDTO> map = kwoTradeOrderService.workbenchExcel(reqDTO).stream()
                 .collect(Collectors.toMap(WbTOrderExcelStsResDTO::getFormatDate, e -> e, (k1, k2) -> k1));
-        res.forEach(e->{
+        res.forEach(e -> {
             WbTOrderExcelStsResDTO dto = map.get(e.getFormatDate());
             if (Objects.nonNull(dto)) {
-                e.setStsFactorsOneValue(dto.getStsFactorsOneValue());
-                e.setStsFactorsTwoValue(dto.getStsFactorsTwoValue());
+                BigDecimal one = dto.getStsFactorsOneValue();
+                if (Objects.equals(params.getStsFactorsOne(), 1)) {
+                    one = one.divide(NumberConstant.TEN_THOUSAND, 2, RoundingMode.HALF_UP);
+                }
+                BigDecimal two = dto.getStsFactorsTwoValue();
+                if (Objects.equals(params.getStsFactorsTwo(), 1)) {
+                    two = two.divide(NumberConstant.TEN_THOUSAND, 2, RoundingMode.HALF_UP);
+                }
+                e.setStsFactorsOneValue(one);
+                e.setStsFactorsTwoValue(two);
             }
         });
         return res;

+ 80 - 81
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwWorkService.java

@@ -4,6 +4,7 @@ import com.sckw.contract.api.RemoteContractService;
 import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.enums.CooperateTypeEnum;
 import com.sckw.core.model.enums.EntTypeEnum;
+import com.sckw.core.model.enums.SystemTypeEnum;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.order.api.dubbo.TradeOrderStatisticsService;
@@ -53,76 +54,77 @@ public class KwWorkService {
      * @date: 2023/9/11
      */
     public List<QueryBusinessStatisticsResVo> queryBusinessStatistics() {
-        EntCacheResDto entCacheResDto = remoteSystemService.queryEntCacheById(LoginUserHolder.getEntId());
-        if(Objects.isNull(entCacheResDto)) {
-            return Collections.emptyList();
+        boolean isSystem = LoginUserHolder.getSystemType().equals(SystemTypeEnum.MANAGE.getCode());
+        Long entId = null;
+        String entTypes = "";
+
+        if (!isSystem) {
+            EntCacheResDto entCacheResDto = remoteSystemService.queryEntCacheById(LoginUserHolder.getEntId());
+            if (Objects.isNull(entCacheResDto)) {
+                return Collections.emptyList();
+            }
+            entId = entCacheResDto.getId();
+            entTypes = entCacheResDto.getEntTypes();
         }
-
-        String entTypes = entCacheResDto.getEntTypes();
         //承运
-        Boolean hasCarrier = entTypes.contains(String.valueOf(EntTypeEnum.LOGISTICS4.getCode())) || entTypes.contains(String.valueOf(EntTypeEnum.LOGISTICS3.getCode()));
+        boolean hasCarrier = entTypes.contains(String.valueOf(EntTypeEnum.LOGISTICS4.getCode())) || entTypes.contains(String.valueOf(EntTypeEnum.LOGISTICS3.getCode()));
         //托运
-        Boolean hasCheck = entTypes.contains(String.valueOf(EntTypeEnum.LOGISTICS3.getCode()));
+        boolean hasCheck = entTypes.contains(String.valueOf(EntTypeEnum.LOGISTICS3.getCode()));
         //采购
-        Boolean hasPurchase = entTypes.contains(String.valueOf(EntTypeEnum.PURCHASER.getCode()));
+        boolean hasPurchase = entTypes.contains(String.valueOf(EntTypeEnum.PURCHASER.getCode()));
         //供应
-        Boolean hasSupplier = entTypes.contains(String.valueOf(EntTypeEnum.SUPPLIER.getCode()));
+        boolean hasSupplier = entTypes.contains(String.valueOf(EntTypeEnum.SUPPLIER.getCode()));
 
         List<QueryBusinessStatisticsResVo> list = new ArrayList<>();
         //合同部分
-        Map<Integer, Integer> contractMap = remoteContractService.queryContractValidCount(entCacheResDto.getId());
-        if (!contractMap.isEmpty()) {
-            if (hasPurchase) {
-                QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-                queryBusinessStatisticsResVo.setType("采购合同");
-                queryBusinessStatisticsResVo.setNum(contractMap.getOrDefault(CooperateTypeEnum.PURCHASER.getCode(), Global.NUMERICAL_ZERO));
-                list.add(queryBusinessStatisticsResVo);
-            }
+        Map<Integer, Integer> contractMap = remoteContractService.queryContractValidCount(entId);
+        if (hasPurchase || isSystem) {
+            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
+            queryBusinessStatisticsResVo.setType("采购合同");
+            queryBusinessStatisticsResVo.setNum(contractMap.getOrDefault(CooperateTypeEnum.PURCHASER.getCode(), Global.NUMERICAL_ZERO));
+            list.add(queryBusinessStatisticsResVo);
+        }
 
-            if (hasSupplier) {
-                QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-                queryBusinessStatisticsResVo.setType("销售合同");
-                queryBusinessStatisticsResVo.setNum(contractMap.getOrDefault(CooperateTypeEnum.SUPPLIER.getCode(), Global.NUMERICAL_ZERO));
-                list.add(queryBusinessStatisticsResVo);
-            }
+        if (hasSupplier || isSystem) {
+            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
+            queryBusinessStatisticsResVo.setType("销售合同");
+            queryBusinessStatisticsResVo.setNum(contractMap.getOrDefault(CooperateTypeEnum.SUPPLIER.getCode(), Global.NUMERICAL_ZERO));
+            list.add(queryBusinessStatisticsResVo);
+        }
 
-            if (hasCarrier) {
-                QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-                queryBusinessStatisticsResVo.setType("承运合同");
-                queryBusinessStatisticsResVo.setNum(contractMap.getOrDefault(CooperateTypeEnum.CARRIAGE.getCode(), Global.NUMERICAL_ZERO));
-                list.add(queryBusinessStatisticsResVo);
-            }
+        if (hasCarrier || isSystem) {
+            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
+            queryBusinessStatisticsResVo.setType("承运合同");
+            queryBusinessStatisticsResVo.setNum(contractMap.getOrDefault(CooperateTypeEnum.CARRIAGE.getCode(), Global.NUMERICAL_ZERO));
+            list.add(queryBusinessStatisticsResVo);
+        }
 
-            if (hasCheck) {
-                QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-                queryBusinessStatisticsResVo.setType("托运合同");
-                queryBusinessStatisticsResVo.setNum(contractMap.getOrDefault(CooperateTypeEnum.CONSIGN.getCode(), Global.NUMERICAL_ZERO));
-                list.add(queryBusinessStatisticsResVo);
-            }
+        if (hasCheck || isSystem) {
+            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
+            queryBusinessStatisticsResVo.setType("托运合同");
+            queryBusinessStatisticsResVo.setNum(contractMap.getOrDefault(CooperateTypeEnum.CONSIGN.getCode(), Global.NUMERICAL_ZERO));
+            list.add(queryBusinessStatisticsResVo);
         }
 
         //订单部分
-        List<TradeOrderCountStatisticsDTO> orderNumByTopEntId = tradeOrderStatisticsService.getOrderNumByTopEntId(entCacheResDto.getId());
-        if (CollectionUtils.isNotEmpty(orderNumByTopEntId)) {
-            Map<Integer, Integer> collect = orderNumByTopEntId.stream().collect(Collectors.toMap(TradeOrderCountStatisticsDTO::getOrderType, TradeOrderCountStatisticsDTO::getNum, (o, n) -> n));
-            if (hasSupplier) {
-                QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-                queryBusinessStatisticsResVo.setType("销售订单");
-                queryBusinessStatisticsResVo.setNum(collect.getOrDefault(Global.NUMERICAL_TWO, Global.NUMERICAL_ZERO));
-                list.add(queryBusinessStatisticsResVo);
-            }
+        Map<Integer, Integer> orderNumByTopEntId = tradeOrderStatisticsService.getOrderNumByTopEntId(entId);
+        if (hasSupplier || isSystem) {
+            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
+            queryBusinessStatisticsResVo.setType("销售订单");
+            queryBusinessStatisticsResVo.setNum(orderNumByTopEntId.get(Global.NUMERICAL_TWO));
+            list.add(queryBusinessStatisticsResVo);
+        }
 
-            if (hasPurchase) {
-                QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-                queryBusinessStatisticsResVo.setType("采购订单");
-                queryBusinessStatisticsResVo.setNum(collect.getOrDefault(Global.NUMERICAL_ONE, Global.NUMERICAL_ZERO));
-                list.add(queryBusinessStatisticsResVo);
-            }
+        if (hasPurchase || isSystem) {
+            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
+            queryBusinessStatisticsResVo.setType("采购订单");
+            queryBusinessStatisticsResVo.setNum(orderNumByTopEntId.get(Global.NUMERICAL_ONE));
+            list.add(queryBusinessStatisticsResVo);
         }
 
         //承运订单
-        Integer integer = transportStatisticsService.statisticsLogistics(entCacheResDto.getId());
-        if (hasCarrier) {
+        Integer integer = transportStatisticsService.statisticsLogistics(entId);
+        if (hasCarrier || isSystem) {
             QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
             queryBusinessStatisticsResVo.setType("承运订单");
             queryBusinessStatisticsResVo.setNum(Objects.isNull(integer) ? Global.NUMERICAL_ZERO : integer);
@@ -130,44 +132,41 @@ public class KwWorkService {
         }
 
         //托运订单
-        Integer integer1 = transportStatisticsService.statisticsPendingVerificationWaybill(entCacheResDto.getId());
-        if (hasCheck) {
+        Integer integer1 = transportStatisticsService.statisticsPendingVerificationWaybill(entId);
+        if (hasCheck || isSystem) {
             QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
             queryBusinessStatisticsResVo.setType("托运订单");
             queryBusinessStatisticsResVo.setNum(Objects.isNull(integer1) ? Global.NUMERICAL_ZERO : integer1);
             list.add(queryBusinessStatisticsResVo);
         }
 
-        LedgerCount ledgerCount = paymentDubboService.countLedger(entCacheResDto.getId());
-        if (Objects.nonNull(ledgerCount)) {
-
-            if (hasSupplier) {
-                QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-                queryBusinessStatisticsResVo.setType("销售对账");
-                queryBusinessStatisticsResVo.setNum(Objects.isNull(ledgerCount.getSell()) ? Global.NUMERICAL_ZERO : ledgerCount.getSell());
-                list.add(queryBusinessStatisticsResVo);
-            }
+        LedgerCount ledgerCount = paymentDubboService.countLedger(entId);
+        if (hasSupplier || isSystem) {
+            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
+            queryBusinessStatisticsResVo.setType("销售对账");
+            queryBusinessStatisticsResVo.setNum(Objects.isNull(ledgerCount.getSell()) ? Global.NUMERICAL_ZERO : ledgerCount.getSell());
+            list.add(queryBusinessStatisticsResVo);
+        }
 
-            if (hasPurchase) {
-                QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-                queryBusinessStatisticsResVo.setType("采购对账");
-                queryBusinessStatisticsResVo.setNum(Objects.isNull(ledgerCount.getPurchase()) ? Global.NUMERICAL_ZERO : ledgerCount.getPurchase());
-                list.add(queryBusinessStatisticsResVo);
-            }
+        if (hasPurchase || isSystem) {
+            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
+            queryBusinessStatisticsResVo.setType("采购对账");
+            queryBusinessStatisticsResVo.setNum(Objects.isNull(ledgerCount.getPurchase()) ? Global.NUMERICAL_ZERO : ledgerCount.getPurchase());
+            list.add(queryBusinessStatisticsResVo);
+        }
 
-            if (hasCarrier) {
-                QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-                queryBusinessStatisticsResVo.setType("承运对账");
-                queryBusinessStatisticsResVo.setNum(Objects.isNull(ledgerCount.getCarrier()) ? Global.NUMERICAL_ZERO : ledgerCount.getCarrier());
-                list.add(queryBusinessStatisticsResVo);
-            }
+        if (hasCarrier || isSystem) {
+            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
+            queryBusinessStatisticsResVo.setType("承运对账");
+            queryBusinessStatisticsResVo.setNum(Objects.isNull(ledgerCount.getCarrier()) ? Global.NUMERICAL_ZERO : ledgerCount.getCarrier());
+            list.add(queryBusinessStatisticsResVo);
+        }
 
-            if (hasCheck) {
-                QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-                queryBusinessStatisticsResVo.setType("托运对账");
-                queryBusinessStatisticsResVo.setNum(Objects.isNull(ledgerCount.getShipper()) ? Global.NUMERICAL_ZERO : ledgerCount.getShipper());
-                list.add(queryBusinessStatisticsResVo);
-            }
+        if (hasCheck || isSystem) {
+            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
+            queryBusinessStatisticsResVo.setType("托运对账");
+            queryBusinessStatisticsResVo.setNum(Objects.isNull(ledgerCount.getShipper()) ? Global.NUMERICAL_ZERO : ledgerCount.getShipper());
+            list.add(queryBusinessStatisticsResVo);
         }
         return list;
     }

+ 57 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/common/config/MessageUrlConfig.java

@@ -0,0 +1,57 @@
+package com.sckw.transport.common.config;
+
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
+import org.springframework.stereotype.Component;
+
+
+/**
+ * @author lfdc
+ * @date 2023-09-17 10:30:51
+ */
+@Getter
+@Setter
+@Component
+@ConfigurationProperties(prefix = "message.logistics.order")
+@RefreshScope
+public class MessageUrlConfig {
+
+
+    private PcMessageUrl pc;
+    private AppMessageUrl app;
+
+    @Data
+    public static class PcMessageUrl {
+
+        /**
+         * 托运订单地址
+         */
+        private String consignLogisticsAddOrderUrl;
+
+        /**
+         * 承运订单地址
+         */
+        private String carriageLogisticsAddOrderUrl;
+
+
+    }
+
+    @Data
+    public static class AppMessageUrl {
+
+        /**
+         * 托运订单地址
+         */
+        private String consignLogisticsAddOrderUrl;
+
+        /**
+         * 承运订单地址
+         */
+        private String carriageLogisticsAddOrderUrl;
+
+    }
+
+}

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/enums/OrderTypeEnum.java → sckw-modules/sckw-transport/src/main/java/com/sckw/transport/common/enums/OrderTypeEnum.java

@@ -1,4 +1,4 @@
-package com.sckw.transport.enums;
+package com.sckw.transport.common.enums;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;

+ 12 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderMapper.java

@@ -372,10 +372,20 @@ public interface KwtLogisticsOrderMapper extends BaseMapper<KwtLogisticsOrder> {
 
     StatisticsByOrderVO selectStatisticsByOrder(@Param("statusList") List<Integer> statusList, @Param("dateStart") String dateStart, @Param("dateEnd") String dateEnd, @Param("topId") Long topId, @Param("unitType") Integer unitType);
 
-    List<LogisticsOrderStatisticsVO> workbenchLogisticsOrderStatisticsByMonth(@Param("id") Long id, @Param("statusList") List<Integer> statusList, @Param("type") Integer type, @Param("dateStart") String dateStart, @Param("dateEnd") String dateEnd);
+    List<LogisticsOrderStatisticsVO> workbenchLogisticsOrderStatisticsByMonth(@Param("id") Long id, @Param("statusList") List<Integer> statusList,
+                                                                              @Param("type") Integer type, @Param("dateStart") String dateStart,
+                                                                              @Param("dateEnd") String dateEnd,
+                                                                              @Param("totalAmount") String totalAmount,
+                                                                              @Param("totalPrice") String totalPrice
+    );
 
 
-    List<LogisticsOrderStatisticsVO> workbenchLogisticsOrderStatisticsByDays(@Param("id") Long id, @Param("statusList") List<Integer> statusList, @Param("type") Integer type, @Param("dateStart") String dateStart, @Param("dateEnd") String dateEnd);
+    List<LogisticsOrderStatisticsVO> workbenchLogisticsOrderStatisticsByDays(@Param("id") Long id, @Param("statusList") List<Integer> statusList,
+                                                                             @Param("type") Integer type, @Param("dateStart") String dateStart,
+                                                                             @Param("dateEnd") String dateEnd,
+                                                                             @Param("totalAmount") String totalAmount,
+                                                                             @Param("totalPrice") String totalPrice
+    );
 
     List<com.sckw.transport.model.dto.LogisticsOrderDTO> selectOrderListByTradeOrderIds(@Param("tradeOrderIds") List<Long> tradeOrderIds, @Param("unitType") String unitType);
 

+ 15 - 7
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/LogisticsOrderStatisticsParam.java

@@ -20,11 +20,19 @@ public class LogisticsOrderStatisticsParam {
     @SerializedName("dateType")
     private String dateType;
 
-//    /**
-//     * 统计因子 1,4,5,6
-//     */
-//    @NotBlank(message = "统计因子")
-//    @JsonProperty("type")
-//    @SerializedName("type")
-//    private String types;
+    /**
+     * 统计因子 1,2,3,4,5,6
+     */
+    @NotBlank(message = "统计因子")
+    @JsonProperty("totalAmount")
+    @SerializedName("totalAmount")
+    private String totalAmount;
+
+    /**
+     * 统计因子 1,2,3,4,5,6
+     */
+    @NotBlank(message = "统计因子")
+    @JsonProperty("totalPrice")
+    @SerializedName("totalPrice")
+    private String totalPrice;
 }

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

@@ -20,7 +20,11 @@ public class LogisticsOrderStatisticsVO {
      */
     private Integer num;
     /**
-     * 统计金额
+     * 统计
      */
     private BigDecimal totalAmount;
+    /**
+     * 统计金额
+     */
+    private BigDecimal totalPrice;
 }

+ 29 - 10
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/AcceptCarriageOrderService.java

@@ -48,8 +48,9 @@ import com.sckw.system.api.RemoteSystemService;
 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.UserCacheResDto;
+import com.sckw.transport.common.config.MessageUrlConfig;
+import com.sckw.transport.common.enums.OrderTypeEnum;
 import com.sckw.transport.dao.*;
-import com.sckw.transport.enums.OrderTypeEnum;
 import com.sckw.transport.model.*;
 import com.sckw.transport.model.dto.*;
 import com.sckw.transport.model.param.AcceptCarriageOrderQuery;
@@ -107,6 +108,9 @@ public class AcceptCarriageOrderService {
     @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 6000)
     PaymentDubboService paymentDubboService;
 
+    @Autowired
+    private MessageUrlConfig messageUrlConfig;
+
     @Autowired
     public CommonService commonService;
 
@@ -1733,14 +1737,14 @@ public class AcceptCarriageOrderService {
             }
         }
         if (unitOne != null) {
-            orderDetailVO.setConsignCompanyId(unitOne.getId());
+            orderDetailVO.setConsignCompanyId(unitOne.getEntId());
             orderDetailVO.setConsignCompany(unitOne.getFirmName());
             orderDetailVO.setConsignContacts(unitOne.getContacts());
             orderDetailVO.setConsignPhone(unitOne.getPhone());
             orderDetailVO.setCollectionCompany(unitOne.getFirmName());
         }
         if (unitTwo != null) {
-            orderDetailVO.setCarrierCompanyId(unitTwo.getId());
+            orderDetailVO.setCarrierCompanyId(unitTwo.getEntId());
             orderDetailVO.setCarrierCompany(unitTwo.getFirmName());
             orderDetailVO.setCarrierContacts(unitTwo.getContacts());
             orderDetailVO.setCarrierPhone(unitTwo.getPhone());
@@ -1924,6 +1928,13 @@ public class AcceptCarriageOrderService {
         System.out.println("承运订单新建订单-消息列表推送 start");
         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
+                , messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl(), messageUrlConfig.getPc().getCarriageLogisticsAddOrderUrl()
+                , messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl(), messageUrlConfig.getApp().getCarriageLogisticsAddOrderUrl()
+        );
+
         System.out.println("承运订单新建订单-消息列表推送 end ");
         return HttpResult.ok();
     }
@@ -2120,7 +2131,7 @@ public class AcceptCarriageOrderService {
         unit.setEntId(Long.parseLong(orderDTO.getAcceptCompanyId()));
         EntCacheResDto ent1 = entMap.get(Long.parseLong(orderDTO.getAcceptCompanyId()));
         if (Objects.isNull(ent1)) {
-            throw new BusinessException("企业:" + orderDTO.getConsignCompany() + "的一级企业信息不存在!");
+            throw new BusinessException("企业:" + orderDTO.getAcceptCompany() + "的一级企业信息不存在!");
         }
         unit.setContactsId(Long.parseLong(orderDTO.getAcceptContactsId()));
         unit.setTopEntId(ent1.getId());
@@ -2751,13 +2762,13 @@ public class AcceptCarriageOrderService {
         vo.setLastTotalPrice(lastWeek.getTotalPrice());
 
         /**计算待承运量*/
-        computeCompareWaitingAmount(resultVO,currentWeek,lastWeek);
+        computeCompareWaitingAmount(resultVO, currentWeek, lastWeek);
 
         /**承运量*/
-        computeCompareAmount(resultVO,currentWeek,lastWeek);
+        computeCompareAmount(resultVO, currentWeek, lastWeek);
 
         /**总金额(费用)*/
-        computeCompareTotalPrice(resultVO,currentWeek,lastWeek);
+        computeCompareTotalPrice(resultVO, currentWeek, lastWeek);
 
         /**待处理的金额*/
         SettlementMoney settlementMoney = paymentDubboService.countCarrier(id, dateType);
@@ -2825,7 +2836,7 @@ public class AcceptCarriageOrderService {
         resultVO.setAmountVO(amountVO);
     }
 
-    private void computeCompareWaitingAmount(StatisticsResultVO resultVO,StatisticsByOrderVO currentWeek,StatisticsByOrderVO lastWeek) {
+    private void computeCompareWaitingAmount(StatisticsResultVO resultVO, StatisticsByOrderVO currentWeek, StatisticsByOrderVO lastWeek) {
         Integer flag = 1;
         BigDecimal chainRatio = new BigDecimal("0.00");
         if (currentWeek.getWaitingAmount().compareTo(new BigDecimal("0.00")) == 0
@@ -2886,7 +2897,11 @@ public class AcceptCarriageOrderService {
             //结束时间
             String dateEnd = cn.hutool.core.date.DateUtil.format(dateTime, DEF_DATE_FORMAT);
 
-            List<LogisticsOrderStatisticsVO> list = logisticsOrderMapper.workbenchLogisticsOrderStatisticsByMonth(id, statusList, OrderTypeEnum.ACCEPT_CARRIAGE_ORDER.getType(), dateStart, dateEnd);
+            List<LogisticsOrderStatisticsVO> list = logisticsOrderMapper.workbenchLogisticsOrderStatisticsByMonth(id, statusList,
+                    OrderTypeEnum.ACCEPT_CARRIAGE_ORDER.getType(), dateStart, dateEnd, logisticsOrderStatistics.getTotalAmount(), logisticsOrderStatistics.getTotalPrice());
+            list.forEach(vo -> {
+                vo.setTotalPrice(vo.getTotalPrice().divide(new BigDecimal("10000.00")));
+            });
             return HttpResult.ok(list);
         } else if (String.valueOf(NumberConstant.ONE).equals(logisticsOrderStatistics.getDateType())) {
             //开始时间
@@ -2899,7 +2914,11 @@ public class AcceptCarriageOrderService {
             }
             //结束时间
             String dateEnd = DateUtil.getLastWeekDateEndToString(0);
-            List<LogisticsOrderStatisticsVO> list = logisticsOrderMapper.workbenchLogisticsOrderStatisticsByDays(id, statusList, OrderTypeEnum.ACCEPT_CARRIAGE_ORDER.getType(), dateStart, dateEnd);
+            List<LogisticsOrderStatisticsVO> list = logisticsOrderMapper.workbenchLogisticsOrderStatisticsByDays(id, statusList,
+                    OrderTypeEnum.ACCEPT_CARRIAGE_ORDER.getType(), dateStart, dateEnd, logisticsOrderStatistics.getTotalAmount(), logisticsOrderStatistics.getTotalPrice());
+            list.forEach(vo -> {
+                vo.setTotalPrice(vo.getTotalPrice().divide(new BigDecimal("10000.00")));
+            });
             return HttpResult.ok(list);
         }
         return null;

+ 111 - 8
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/CommonService.java

@@ -25,6 +25,7 @@ import com.sckw.system.api.RemoteSystemService;
 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.UserCacheResDto;
+import com.sckw.transport.common.config.MessageUrlConfig;
 import com.sckw.transport.dao.KwtLogisticsOrderContractMapper;
 import com.sckw.transport.dao.KwtLogisticsOrderMapper;
 import com.sckw.transport.model.KwtLogisticsOrder;
@@ -55,6 +56,9 @@ public class CommonService {
     @Autowired
     private StreamBridge streamBridge;
 
+    @Autowired
+    private MessageUrlConfig messageUrlConfig;
+
     @Value("${message.logistics.order.consignLogisticsOrderUrl}")
     private String consignLogisticsOrderUrl;
 
@@ -237,23 +241,23 @@ public class CommonService {
     /**
      * 发起物流托运-[贸易订单物流托运确认/承运订单分包托运确认]
      *
-     * @param checkUnit    托运单位
+     * @param consignUnit    托运单位
      * @param carriageUnit 承运单位
      * @param orderNo      单据号
      * @param createBy     创建人
      * @param entId        创建数据的企业id
      */
-    public void initIatingLogisticsConsignment(KwtLogisticsOrderUnit checkUnit, KwtLogisticsOrderUnit carriageUnit, String orderNo, Long createBy, Long entId) {
+    public void initIatingLogisticsConsignment(KwtLogisticsOrderUnit consignUnit, KwtLogisticsOrderUnit carriageUnit, String orderNo, Long createBy, Long entId) {
         boolean flag = false;
-        if (createBy.equals(checkUnit.getContactsId()) || createBy.equals(carriageUnit.getContactsId())) {
+        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(checkUnit.getContactsId())) {
-            sendMessageLogistics(checkUnit, carriageUnit, map);
+        if (flag && createBy.equals(consignUnit.getContactsId())) {
+            sendMessageLogistics(consignUnit, carriageUnit, map);
         } else if (flag && createBy.equals(carriageUnit.getContactsId())) {
-            sendMessageLogistics(checkUnit, carriageUnit, map);
+            sendMessageLogistics(consignUnit, carriageUnit, map);
         } else {
             UserCacheResDto userCacheResDto = remoteSystemService.queryUserCacheById(createBy);
             //给订单创建人发消息
@@ -266,7 +270,9 @@ public class CommonService {
             msg.setRequestId(UUIDUtils.get32UUID())
                     .setMessageEnum(MessageEnum.INITIATING_LOGISTICS_CONSIGNMENT)
                     .setParams(map)
-                    .setMsgUrl(consignLogisticsOrderUrl)
+                    .setMsgUrls(new HashMap<>(NumberConstant.SIXTEEN){
+                        { put("pc", messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl());
+                            put("app", messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl()); }})
                     .setUserInfos(userInfos)
                     .setCreateBy(LoginUserHolder.getUserId());
             log.info("发起物流托运-[贸易订单物流托运确认/承运订单分包托运确认]-创建人:{}", JSON.toJSONString(msg));
@@ -511,7 +517,7 @@ public class CommonService {
         List<UserInfo> list = new ArrayList<>();
         UserInfo userInfo1 = new UserInfo();
         userInfo1.setUserId(consignUnit.getContactsId()).setEntId(consignUnit.getTopEntId());
-        list.add(userInfo);
+        list.add(userInfo1);
         map.put("companyName", consignUnit.getFirmName());
         SckwMessage message = new SckwMessage();
         message.setRequestId(UUIDUtils.get32UUID())
@@ -523,4 +529,101 @@ public class CommonService {
         log.info(MessageEnum.getDesc(consignMessageEnum) + "-[托运方]-业务联系人:{}", JSON.toJSONString(message));
         streamBridge.send("sckw-message", JSON.toJSONString(message));
     }
+
+    /**
+     *
+     * @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,
+                                 MessageEnum consignMessageEnum, MessageEnum carriageMessageEnum,
+                                 String pcConsignLogisticsAddOrderUrl,String pcCarriageLogisticsAddOrderUrl,
+                                 String appConsignLogisticsAddOrderUrl,String appCarriageLogisticsAddOrderUrl
+                                 )  {
+        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())) {
+            sendPushMessageByUrlLogistics(consignUnit, carriageUnit, map, consignMessageEnum,carriageMessageEnum);
+        } else if (flag && createBy.equals(carriageUnit.getContactsId())) {
+            sendPushMessageByUrlLogistics(consignUnit, carriageUnit, map, consignMessageEnum,carriageMessageEnum);
+        } 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(carriageMessageEnum)
+                    .setParams(map)
+                    .setMsgUrls(new HashMap<>(NumberConstant.SIXTEEN){{put("pc",pcCarriageLogisticsAddOrderUrl);put("app",appCarriageLogisticsAddOrderUrl);}})
+                    .setUserInfos(userInfos)
+                    .setCreateBy(LoginUserHolder.getUserId());
+            log.info(MessageEnum.getDesc(consignMessageEnum) + "-创建人:{}", JSON.toJSONString(msg));
+            streamBridge.send("sckw-message", JSON.toJSONString(msg));
+            sendPushMessageByUrlLogistics(consignUnit, carriageUnit, map, consignMessageEnum,carriageMessageEnum);
+    }
+}
+
+    /**
+     *
+     * @param consignUnit 托运单位
+     * @param carriageUnit 承运单位
+     * @param map
+     * @param consignMessageEnum    托运枚举
+     * @param carriageMessageEnum   承运枚
+     */
+    private void sendPushMessageByUrlLogistics(KwtLogisticsOrderUnit consignUnit, KwtLogisticsOrderUnit carriageUnit,
+                                               Map<String, Object> map,
+                                               MessageEnum consignMessageEnum,
+                                               MessageEnum carriageMessageEnum
+                                               ) {
+        //给业务联系人发消息[承运方]
+        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(carriageMessageEnum)
+                .setParams(map)
+                .setMsgUrls(new HashMap<>(){{put("pc",messageUrlConfig.getPc().getCarriageLogisticsAddOrderUrl());put("app",messageUrlConfig.getApp().getCarriageLogisticsAddOrderUrl());}})
+                .setUserInfos(userInfoList)
+                .setCreateBy(LoginUserHolder.getUserId());
+        log.info(MessageEnum.getDesc(carriageMessageEnum) + "-[承运方]-业务联系人:{}", JSON.toJSONString(sckwMessage));
+        streamBridge.send("sckw-message", JSON.toJSONString(sckwMessage));
+
+
+        //给业务联系人发消息[托运方]
+        List<UserInfo> list = new ArrayList<>();
+        UserInfo userInfo1 = new UserInfo();
+        userInfo1.setUserId(consignUnit.getContactsId()).setEntId(consignUnit.getTopEntId());
+        list.add(userInfo1);
+        map.put("companyName", consignUnit.getFirmName());
+        SckwMessage message = new SckwMessage();
+        message.setRequestId(UUIDUtils.get32UUID())
+                .setMessageEnum(consignMessageEnum)
+                .setParams(map)
+                .setMsgUrls(new HashMap<>(){{put("pc",messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl());put("app",messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl());}})
+                .setUserInfos(list)
+                .setCreateBy(LoginUserHolder.getUserId());
+        log.info(MessageEnum.getDesc(consignMessageEnum) + "-[托运方]-业务联系人:{}", JSON.toJSONString(message));
+        streamBridge.send("sckw-message", JSON.toJSONString(message));
+    }
 }

+ 11 - 3
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ConsignOrderService.java

@@ -45,7 +45,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.UserCacheResDto;
 import com.sckw.transport.dao.*;
-import com.sckw.transport.enums.OrderTypeEnum;
+import com.sckw.transport.common.enums.OrderTypeEnum;
 import com.sckw.transport.model.*;
 import com.sckw.transport.model.dto.*;
 import com.sckw.transport.model.param.AcceptCarriageOrderQuery;
@@ -2204,7 +2204,11 @@ public class ConsignOrderService {
             //结束时间
             String dateEnd = cn.hutool.core.date.DateUtil.format(dateTime, DEF_DATE_FORMAT);
 
-            List<LogisticsOrderStatisticsVO> list = kwtLogisticsOrderMapper.workbenchLogisticsOrderStatisticsByMonth(id, statusList, OrderTypeEnum.CONSIGN_ORDER.getType(), dateStart, dateEnd);
+            List<LogisticsOrderStatisticsVO> list = kwtLogisticsOrderMapper.workbenchLogisticsOrderStatisticsByMonth(id, statusList,
+                    OrderTypeEnum.CONSIGN_ORDER.getType(), dateStart, dateEnd,logisticsOrderStatistics.getTotalAmount(),logisticsOrderStatistics.getTotalPrice());
+            list.forEach(vo -> {
+                vo.setTotalPrice(vo.getTotalPrice().divide(new BigDecimal("10000.00")));
+            });
             return HttpResult.ok(list);
         } else if (String.valueOf(NumberConstant.ONE).equals(logisticsOrderStatistics.getDateType())) {
             //开始时间
@@ -2217,7 +2221,11 @@ public class ConsignOrderService {
             }
             //结束时间
             String dateEnd = DateUtil.getLastWeekDateEndToString(0);
-            List<LogisticsOrderStatisticsVO> list = kwtLogisticsOrderMapper.workbenchLogisticsOrderStatisticsByDays(id, statusList, OrderTypeEnum.CONSIGN_ORDER.getType(), dateStart, dateEnd);
+            List<LogisticsOrderStatisticsVO> list = kwtLogisticsOrderMapper.workbenchLogisticsOrderStatisticsByDays(id, statusList,
+                    OrderTypeEnum.CONSIGN_ORDER.getType(), dateStart, dateEnd,logisticsOrderStatistics.getTotalAmount(),logisticsOrderStatistics.getTotalPrice());
+            list.forEach(vo -> {
+                vo.setTotalPrice(vo.getTotalPrice().divide(new BigDecimal("10000.00")));
+            });
             return HttpResult.ok(list);
         }
         return null;

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

@@ -402,14 +402,14 @@ public class ManagementLogisticsOrderService {
             }
         }
         if (unitOne != null) {
-            orderDetailVO.setConsignCompanyId(unitOne.getId());
+            orderDetailVO.setConsignCompanyId(unitOne.getEntId());
             orderDetailVO.setConsignCompany(unitOne.getFirmName());
             orderDetailVO.setConsignContacts(unitOne.getContacts());
             orderDetailVO.setConsignPhone(unitOne.getPhone());
             orderDetailVO.setCollectionCompany(unitOne.getFirmName());
         }
         if (unitTwo != null) {
-            orderDetailVO.setCarrierCompanyId(unitTwo.getId());
+            orderDetailVO.setCarrierCompanyId(unitTwo.getEntId());
             orderDetailVO.setCarrierCompany(unitTwo.getFirmName());
             orderDetailVO.setCarrierContacts(unitTwo.getContacts());
             orderDetailVO.setCarrierPhone(unitTwo.getPhone());

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

@@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.sckw.contract.api.RemoteContractService;
 import com.sckw.contract.api.model.dto.res.ContractCommonInfoResDto;
-import com.sckw.core.annotation.Log;
 import com.sckw.core.common.enums.NumberConstant;
 import com.sckw.core.common.enums.enums.DictEnum;
 import com.sckw.core.common.enums.enums.DictTypeEnum;
@@ -180,14 +179,14 @@ public class TransportCommonService {
             }
         }
         if (unitOne != null) {
-            orderDetailVO.setConsignCompanyId(unitOne.getId());
+            orderDetailVO.setConsignCompanyId(unitOne.getEntId());
             orderDetailVO.setConsignCompany(unitOne.getFirmName());
             orderDetailVO.setConsignContacts(unitOne.getContacts());
             orderDetailVO.setConsignPhone(unitOne.getPhone());
             orderDetailVO.setCollectionCompany(unitOne.getFirmName());
         }
         if (unitTwo != null) {
-            orderDetailVO.setCarrierCompanyId(unitTwo.getId());
+            orderDetailVO.setCarrierCompanyId(unitTwo.getEntId());
             orderDetailVO.setCarrierCompany(unitTwo.getFirmName());
             orderDetailVO.setCarrierContacts(unitTwo.getContacts());
             orderDetailVO.setCarrierPhone(unitTwo.getPhone());

+ 13 - 0
sckw-modules/sckw-transport/src/main/resources/bootstrap-lfdc.yml

@@ -22,6 +22,19 @@ spring:
           - dataId: sckw-common.yml
             group: sckw-service-platform
             refresh: true
+message:
+  logistics:
+    order:
+       pc:
+        #托运订单地址
+         consignLogisticsAddOrderUrl: /orderManagement/consignmentOrder
+        #承运订单地址
+         carriageLogisticsAddOrderUrl: /orderManagement/acceptanceOrder
+       app:
+        #托运订单地址
+         consignLogisticsAddOrderUrl: /pages/order/transportOrderList?type=1
+        #承运订单地址
+         carriageLogisticsAddOrderUrl: /pages/order/transportOrderList?type=2
 #spring:
 #  rabbitmq:
 #    username: admin

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

@@ -1986,7 +1986,7 @@
     </select>
 
     <select id="workbenchLogisticsOrderStatisticsByMonth" resultType="com.sckw.transport.model.vo.LogisticsOrderStatisticsVO">
-        SELECT  A.date_time as dateTime, COALESCE(B.num, 0) as num,IFNULL(B.totalAmount,0) AS totalAmount FROM
+        SELECT  A.date_time as dateTime, COALESCE(B.num, 0) as num,IFNULL(B.totalAmount,0) AS totalAmount , IFNULL(B.totalPrice,0) AS totalPrice FROM
         (
         SELECT
         DATE_FORMAT( DATE_ADD( #{dateStart}, INTERVAL ROW1 MONTH ), '%Y-%m' ) date_time
@@ -2008,7 +2008,13 @@
         ) A
         LEFT JOIN
         (
-        SELECT DATE_FORMAT(a.create_time, '%Y-%m') date_time, COUNT(*) num,sum(a.amount) as totalAmount
+        SELECT DATE_FORMAT(a.create_time, '%Y-%m') date_time, COUNT(*) num,
+        CASE WHEN #{totalAmount} = 1 THEN
+        sum( a.amount )
+        ELSE 0 end AS totalAmount,
+        CASE WHEN #{totalPrice} = 2 THEN
+        sum(a.amount * IFNULL( a.price, 0 ))
+        ELSE 0	end AS totalPrice
         FROM kwt_logistics_order a LEFT JOIN  kwt_logistics_order_unit b ON a.id = b.l_order_id
         WHERE a.del_flag = 0 AND b.unit_type = #{type}
             <if test="statusList != null and statusList.size() > 0">
@@ -2024,7 +2030,7 @@
 
     <select id="workbenchLogisticsOrderStatisticsByDays"
             resultType="com.sckw.transport.model.vo.LogisticsOrderStatisticsVO">
-        SELECT  A.date as dateTime, COALESCE(B.num, 0) as num,IFNULL(B.totalAmount,0) AS totalAmount FROM
+        SELECT  A.date as dateTime, COALESCE(B.num, 0) as num,IFNULL(B.totalAmount,0) AS totalAmount , IFNULL(B.totalPrice,0) AS totalPrice FROM
         (
         select date_add(#{dateStart}, interval row1 DAY) date from
         (
@@ -2040,14 +2046,13 @@
         LEFT JOIN
         (
         SELECT
-<!--        <if test="type == 1">-->
-<!--            COUNT(*) num,-->
-<!--        </if>-->
-<!--        <if test="type == 1">-->
-<!--            sum(a.amount) as totalAmount ,-->
-<!--        </if>-->
         COUNT(*) num,
-        sum(a.amount) as totalAmount ,
+        CASE
+        WHEN #{totalAmount} = 1 THEN
+        sum( a.amount ) ELSE  0 end AS totalAmount,
+        CASE
+        WHEN #{totalPrice} = 2 THEN
+        sum(a.amount * IFNULL( a.price, 0 )) ELSE 0 end AS totalPrice,
         DATE_FORMAT(a.create_time, '%Y-%m-%d') date_time
         FROM kwt_logistics_order a LEFT JOIN  kwt_logistics_order_unit b ON a.id =b.l_order_id
         WHERE a.del_flag = 0 AND b.unit_type = b.unit_type = #{type}