Kaynağa Gözat

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

xucaiqin 2 yıl önce
ebeveyn
işleme
60a691afc0
31 değiştirilmiş dosya ile 157 ekleme ve 67 silme
  1. 11 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/filter/RequestCheckFilter.java
  3. 4 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/constant/Global.java
  4. 5 0
      sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/model/GoodsDetail.java
  5. 5 19
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/CommonBusinessService.java
  6. 11 2
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateApplyService.java
  7. 5 8
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateManageService.java
  8. 11 12
      sckw-modules/sckw-manage/src/main/resources/mapper/KwmCooperateMapper.xml
  9. 6 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/PurchaseOrderDraftParam.java
  10. 4 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/PurchaseOrderParam.java
  11. 0 2
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/ValetOrderDraftParam.java
  12. 0 4
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/ValetOrderParam.java
  13. 5 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/TransportDemandDetailRes.java
  14. 6 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/WantBuyDetailRes.java
  15. 3 3
      sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java
  16. 2 1
      sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTransportDemandService.java
  17. 2 1
      sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwpWantBuyService.java
  18. 5 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/res/GoodsDetail.java
  19. 5 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/res/OperationGoodsDetail.java
  20. 2 1
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java
  21. 1 1
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwWorkService.java
  22. 2 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/pojo/FindMenuTreePojo.java
  23. 8 5
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsMenuService.java
  24. 9 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsRoleService.java
  25. 1 1
      sckw-modules/sckw-system/src/main/resources/mapper/KwsMenuDao.xml
  26. 7 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/AcceptCarriageOrderController.java
  27. 6 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/CarWaybillVO.java
  28. 9 4
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/AcceptCarriageOrderService.java
  29. 16 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/CommonService.java
  30. 2 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ConsignOrderService.java
  31. 3 2
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderService.java

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

@@ -399,6 +399,7 @@ public class AuthServiceImpl implements IAuthService {
     public HttpResult commonAuth(LoginBase loginBase) {
         /**查询用户信息**/
         KwsUserResDto user = systemService.queryUserDetails(loginBase.getAccount(), loginBase.getSystemType());
+
         /**信息校验**/
         if (user == null) {
             return HttpResult.error(HttpStatus.QUERY_FAIL_CODE, "账号不存在,请检查并重新输入!");
@@ -407,9 +408,19 @@ public class AuthServiceImpl implements IAuthService {
                 && !PasswordUtils.validatePassword(loginBase.getPassword(), user.getPassword())) {
             return HttpResult.error(HttpStatus.CODE_10301, "密码不正确,请检查并重新输入!");
         }
+
+        if (loginBase.getLoginMethod() == LoginMethodEnum.SMS.getValue()) {
+            String key = StringUtils.format(RedisConstant.MESSAGE_SMS_VERIFY_CODE_VALUE_KEY, DictEnum.SMS_LOGIN.getValue(), loginBase.getAccount());
+            String sms = RedissonUtils.getString(key);
+            if (!loginBase.getCaptcha().equals(sms)) {
+                throw new SystemException(HttpStatus.CODE_10301, HttpStatus.CAPTCHA_ERROR);
+            }
+        }
+
         if (user.getStatus() == Global.YES) {
             return HttpResult.error(HttpStatus.CODE_10301, "您的账号已冻结,如需帮助,请致电平台客服!");
         }
+
         //企业信息
         EntCacheResDto enterprise = systemService.queryEntDetails(user.getEntId());
         if (loginBase.getSystemType() == SystemTypeEnum.COMPANY.getCode() && enterprise == null) {

+ 1 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/filter/RequestCheckFilter.java

@@ -128,7 +128,7 @@ public class RequestCheckFilter implements Filter {
         String loginEntStr = RedissonUtils.getString(Global.getFullUserEntKey(loginUserInfo.getEntId()));
         LoginEntInfo loginEntInfo = StringUtils.isNotBlank(loginEntStr) ? JSON.parseObject(loginEntStr, LoginEntInfo.class) : null;
 
-        if (loginUserInfo.getIsMain() == Global.YES && SystemTypeEnum.MANAGE.getCode().equals(Integer.parseInt(systemType))) {
+        if (SystemTypeEnum.MANAGE.getCode().equals(Integer.parseInt(systemType))) {
             LoginUserHolder.set(loginUserInfo);
             LoginEntHolder.set(loginEntInfo);
             RedissonUtils.putString(Global.getFullUserTokenKey(clientType, userId), token, ClientTypeEnum.expireTime(clientType));

+ 4 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/constant/Global.java

@@ -136,6 +136,10 @@ public class Global {
 
     /**逗号-中文*/
     public static final String COMMA1 = ",";
+    /**
+     * 右斜杠
+     */
+    public static final String RIGHT_SLASH = "/";
 
     /**点*/
     public static final String DOT = ".";

+ 5 - 0
sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/model/GoodsDetail.java

@@ -75,6 +75,11 @@ public class GoodsDetail implements Serializable {
      */
     private String goodsTypeLabel;
 
+    /**
+     * 商品类型labs
+     */
+    private String goodsTypeLabels;
+
     /**
      * 库存数量
      */

+ 5 - 19
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/CommonBusinessService.java

@@ -57,6 +57,9 @@ public class CommonBusinessService {
     @Resource
     private StreamBridge streamBridge;
 
+    @Autowired
+    private CommonBusinessService commonBusinessService;
+
 
     /**
      * @param keywords 关键字 resDto查询结果集
@@ -210,26 +213,9 @@ public class CommonBusinessService {
             cooperateManageQueryResVo.setEntId(cooperateManageQueryResDto.getOurEntId());
             cooperateManageQueryResVo.setEntName(entMap.get(cooperateManageQueryResDto.getOurEntId()));
             cooperateManageQueryResVo.setApprovalRemark(cooperateManageQueryResDto.getApprovalRemark());
-
             UserCacheResDto userCacheResDto = userCacheResDtoMap.get(cooperateManageQueryResDto.getCreateBy());
             cooperateManageQueryResVo.setCreateByName(userCacheResDto.getName());
 
-            String typesStr = cooperateManageQueryResDto.getTypes();
-            List<Integer> typelist = new ArrayList<>();
-            String[] split = typesStr.split(Global.COMMA);
-            for (String typeStr : split) {
-                String[] split1 = typeStr.split(Global.POUND);
-                Integer type = Integer.valueOf(split1[0]);
-                Long userId = Long.valueOf(split1[1]);
-                UserCacheResDto userCacheResDto1 = userCacheResDtoMap.get(userId);
-                if (userCacheResDto1.getEntInfo().getId().equals(entId)) {
-                    typelist.add(type);
-                } else {
-                    typelist.add(changeAttribute(type));
-                }
-            }
-            cooperateManageQueryResVo.setCooperateTypes(String.join(Global.COMMA, typelist.stream().distinct().map(String::valueOf).toList()));
-
             //我方是发起方
             if (entId.equals(cooperateManageQueryResDto.getEntId())) {
                 cooperateManageQueryResVo.setContacts(cooperateManageQueryResDto.getInviteeContacts());
@@ -238,7 +224,7 @@ public class CommonBusinessService {
                 cooperateManageQueryResVo.setManager(cooperateManageQueryResDto.getInviterContacts());
                 cooperateManageQueryResVo.setManagerPhone(cooperateManageQueryResDto.getInviterPhone());
                 cooperateManageQueryResVo.setManagerId(cooperateManageQueryResDto.getInviterContactsId());
-
+                cooperateManageQueryResVo.setCooperateTypes(cooperateManageQueryResDto.getTypes());
             } else {
                 cooperateManageQueryResVo.setContacts(cooperateManageQueryResDto.getInviterContacts());
                 cooperateManageQueryResVo.setPhone(cooperateManageQueryResDto.getInviterPhone());
@@ -246,8 +232,8 @@ public class CommonBusinessService {
                 cooperateManageQueryResVo.setManager(cooperateManageQueryResDto.getInviteeContacts());
                 cooperateManageQueryResVo.setManagerPhone(cooperateManageQueryResDto.getInviteePhone());
                 cooperateManageQueryResVo.setManagerId(cooperateManageQueryResDto.getInviteeContactsId());
+                cooperateManageQueryResVo.setCooperateTypes(commonBusinessService.changeCooperateType(cooperateManageQueryResDto.getTypes()));
             }
-
             result.add(cooperateManageQueryResVo);
         }
         return result;

+ 11 - 2
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateApplyService.java

@@ -157,7 +157,7 @@ public class KwmCooperateApplyService {
                 cooperateManageQueryResVo.setManager(cooperateManageQueryResDto.getInviterContacts());
                 cooperateManageQueryResVo.setManagerPhone(cooperateManageQueryResDto.getInviterPhone());
                 cooperateManageQueryResVo.setManagerId(cooperateManageQueryResDto.getInviterContactsId());
-                cooperateManageQueryResVo.setCooperateTypes(cooperateManageQueryResDto.getTypes());
+
             } else {
                 cooperateManageQueryResVo.setContacts(cooperateManageQueryResDto.getInviterContacts());
                 cooperateManageQueryResVo.setPhone(cooperateManageQueryResDto.getInviterPhone());
@@ -165,9 +165,15 @@ public class KwmCooperateApplyService {
                 cooperateManageQueryResVo.setManager(cooperateManageQueryResDto.getInviteeContacts());
                 cooperateManageQueryResVo.setManagerPhone(cooperateManageQueryResDto.getInviteePhone());
                 cooperateManageQueryResVo.setManagerId(cooperateManageQueryResDto.getInviteeContactsId());
+            }
+
+            if (entId.equals(cooperateManageQueryResDto.getEntId())) {
+                cooperateManageQueryResVo.setCooperateTypes(cooperateManageQueryResDto.getTypes());
+            } else {
                 cooperateManageQueryResVo.setCooperateTypes(commonBusinessService.changeCooperateType(cooperateManageQueryResDto.getTypes()));
             }
 
+
             result.add(cooperateManageQueryResVo);
         }
         return result;
@@ -335,7 +341,6 @@ public class KwmCooperateApplyService {
             kwmCooperate.setInviteeEntId(reqVo.getTargetEntId());
 
             //我方联系人
-
             UserCacheResDto contactDto = remoteSystemService.queryUserCacheById(reqVo.getUserId());
             if (Objects.nonNull(contactDto)) {
                 kwmCooperate.setInviterContactsId(contactDto.getId());
@@ -364,10 +369,14 @@ public class KwmCooperateApplyService {
             }
         }
 
+        KwmCooperate kwmCooperate = kwmCooperateMapper.selectById(id);
         for (Integer item : chooseCooperateTypes) {
             KwmCooperateType kwmCooperateType = new KwmCooperateType();
             kwmCooperateType.setId(new IdWorker(1L).nextId());
             kwmCooperateType.setCooperateId(id);
+            if (!kwmCooperate.getEntId().equals(LoginUserHolder.getEntId())) {
+                item = commonBusinessService.changeCooperateType(item);
+            }
             kwmCooperateType.setType(item);
             kwmCooperateType.setStatus(CooperateStatusEnum.PROCESS.getCode());
             kwmCooperateType.setCreateBy(LoginUserHolder.getUserId());

+ 5 - 8
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateManageService.java

@@ -435,10 +435,13 @@ public class KwmCooperateManageService {
             return Collections.emptyList();
         }
 
+        EntCacheResDto topEnt = remoteSystemService.queryEntTreeById(id);
+        Long topEntId = topEnt.getId();
         List<KwmCooperateType> kwmCooperateTypeList = new ArrayList<>();
         for (KwmCooperate kwmCooperate : kwmCooperates) {
             Integer type = reqVo.getCooperateType();
-            if (kwmCooperate.getInviteeEntId().equals(reqVo.getId())) {
+            //不是我方发起
+            if (!topEntId.equals(kwmCooperate.getEntId())) {
                 type = commonBusinessService.changeCooperateType(type);
             }
             LambdaQueryWrapper<KwmCooperateType> kwmCooperateTypeLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -568,17 +571,11 @@ public class KwmCooperateManageService {
             String inviterEntName = Objects.isNull(inviterEntCacheResDto) ? null : inviterEntCacheResDto.getFirmName();
             String inviteeEntName = Objects.isNull(inviteeEntCacheResDto) ? null : inviteeEntCacheResDto.getFirmName();
 
-
             //设置合作属性
             List<KwmCooperateType> kwmCooperateTypeList = collect.get(kwmCooperate.getId());
-            List<Long> userIds = kwmCooperateTypeList.stream().map(KwmCooperateType::getCreateBy).toList();
-            Map<Long, UserCacheResDto> userCacheResDtoMap = remoteSystemService.queryUserCacheMapByIds(userIds);
             for (KwmCooperateType kwmCooperateType : kwmCooperateTypeList) {
-                Long createBy = kwmCooperateType.getCreateBy();
-                UserCacheResDto userCacheResDto = userCacheResDtoMap.get(createBy);
-                Long id = userCacheResDto.getEntInfo().getId();
                 Integer type;
-                if (id.equals(topId)) {
+                if (kwmCooperate.getEntId().equals(topId)) {
                     type = kwmCooperateType.getType();
                 } else {
                     type = commonBusinessService.changeCooperateType(kwmCooperateType.getType());

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

@@ -83,7 +83,7 @@
                                    and c.status = b.status
                                    and c.del_flag = 0
                                    and c.type = #{item}
-                    )
+                                )
                 </foreach>
            </if>
 
@@ -140,7 +140,7 @@
     <select id="findManageList" resultType="com.sckw.manage.model.dto.res.CooperateManageQueryResDto">
         SELECT a.id,
                 min(a.status) status,
-                group_concat(concat(b.type, '#', b.create_by)) types,
+                group_concat(b.type) types,
                 min(a.ent_id) entId,
                 min(a.invitee_ent_id) inviteeEntId,
                 min(a.inviter_ent_id) inviterEntId,
@@ -279,16 +279,15 @@
          WHERE a.del_flag = 0
            and a.status in (1,2)
         <if test="reqDto.cooperateTypes != null and reqDto.cooperateTypes.size() > 0">
-            and exists (select 1
-                          from kwm_cooperate_type c
-                         where c.cooperate_id = a.id
-                           and c.status = b.status
-                           and c.del_flag = 0
-                           and c.type in
-                        <foreach collection="reqDto.cooperateTypes" item="item" open="(" close=")" separator=",">
-                            #{item}
-                        </foreach>
-                        )
+            <foreach collection="reqDto.cooperateTypes" item="item">
+                and exists (select 1
+                            from kwm_cooperate_type c
+                            where c.cooperate_id = a.id
+                            and c.status = b.status
+                            and c.del_flag = 0
+                            and c.type = #{item}
+                )
+            </foreach>
         </if>
         <if test="reqDto.startTime != null">
             and b.create_time >= #{reqDto.startTime}

+ 6 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/PurchaseOrderDraftParam.java

@@ -67,6 +67,12 @@ public class PurchaseOrderDraftParam {
      * 交易方式(预付款、货到付款)
      */
     private String trading;
+
+    /**
+     * 交付类型
+     */
+    private String deliveryType;
+
     /**
      * 备注
      */

+ 4 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/PurchaseOrderParam.java

@@ -79,6 +79,10 @@ public class PurchaseOrderParam {
      */
     @NotBlank(message = "交易方式不能为空")
     private String trading;
+
+    @NotBlank(message = "交付类型不能为空")
+    private String deliveryType;
+
     /**
      * 备注
      */

+ 0 - 2
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/ValetOrderDraftParam.java

@@ -14,8 +14,6 @@ import lombok.ToString;
 @ToString
 public class ValetOrderDraftParam extends PurchaseOrderDraftParam {
 
-    private String deliveryType;
-
     private ContractInfo contractInfo;
 
 }

+ 0 - 4
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/ValetOrderParam.java

@@ -1,7 +1,6 @@
 package com.sckw.order.model.vo.req;
 
 import jakarta.validation.Valid;
-import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import lombok.Getter;
 import lombok.Setter;
@@ -17,9 +16,6 @@ import lombok.ToString;
 @ToString
 public class ValetOrderParam extends PurchaseOrderParam {
 
-    @NotBlank(message = "交付类型不能为空")
-    private String deliveryType;
-
     @NotNull(message = "合同信息不能为空")
     @Valid
     private ContractInfo contractInfo;

+ 5 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/TransportDemandDetailRes.java

@@ -48,6 +48,11 @@ public class TransportDemandDetailRes implements Serializable {
      */
     private String goodsTypeLabel;
 
+    /**
+     * 商品类型labs
+     */
+    private String goodsTypeLabels;
+
     /**
      * 商品规格
      */

+ 6 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/WantBuyDetailRes.java

@@ -50,6 +50,12 @@ public class WantBuyDetailRes implements Serializable {
      * 商品类型label
      */
     private String goodsTypeLabel;
+
+    /**
+     * 商品类型labs
+     */
+    private String goodsTypeLabels;
+
     /**
      * 商品规格
      */

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

@@ -828,11 +828,11 @@ public class KwoTradeOrderService {
         if (Objects.isNull(param.getEndTime())) {
             throw new BusinessException("结束时间不能为空!");
         }
+        if (StringUtils.isBlank(param.getDeliveryType())) {
+            throw new BusinessException("交付类型不能为空!");
+        }
         ContractInfo contractInfo = param.getContractInfo();
         if (Objects.equals(source, OrderSourceEnum.SALE.getType())) {
-            if (StringUtils.isBlank(param.getDeliveryType())) {
-                throw new BusinessException("交付类型不能为空!");
-            }
             if (Objects.isNull(contractInfo)) {
                 throw new BusinessException("代客下单合同信息不能为空");
             }

+ 2 - 1
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTransportDemandService.java

@@ -113,7 +113,8 @@ public class KwoTransportDemandService {
         TransportDemandDetailRes res = BeanUtils.copyProperties(transportDemand, TransportDemandDetailRes.class);
         List<SysDictResDto> types = remoteSystemService.queryDictFrontAll(DictTypeEnum.PRODUCT_NAME_TYPE.getType(), res.getGoodsType());
         if (CollectionUtils.isNotEmpty(types)) {
-            res.setGoodsTypes(types.stream().map(SysDictResDto::getValue).toList());
+            res.setGoodsTypes(types.stream().map(SysDictResDto::getValue).toList())
+                    .setGoodsTypeLabels(String.join(Global.RIGHT_SLASH, types.stream().map(SysDictResDto::getLabel).toList()));
         }
         res.setGoodsTypeLabel(productNameMap.get(res.getGoodsType()))
                 .setTradingLabel(tradeMap.get(res.getTrading()))

+ 2 - 1
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwpWantBuyService.java

@@ -378,7 +378,8 @@ public class KwpWantBuyService {
         }
         List<SysDictResDto> types = remoteSystemService.queryDictFrontAll(DictTypeEnum.PRODUCT_NAME_TYPE.getType(), responseData.getGoodsType());
         if (CollectionUtils.isNotEmpty(types)) {
-            responseData.setGoodsTypes(types.stream().map(SysDictResDto::getValue).toList());
+            responseData.setGoodsTypes(types.stream().map(SysDictResDto::getValue).toList())
+                    .setGoodsTypeLabels(String.join(Global.RIGHT_SLASH, types.stream().map(SysDictResDto::getLabel).toList()));
         }
         responseData.setGoodsTypeLabel(productNameMap.get(responseData.getGoodsType()))
                 .setStatusLabel(wantBuyStatusMap.get(String.valueOf(responseData.getStatus())));

+ 5 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/res/GoodsDetail.java

@@ -86,6 +86,11 @@ public class GoodsDetail {
      */
     private String goodsTypeLabel;
 
+    /**
+     * 商品类型labs
+     */
+    private String goodsTypeLabels;
+
     /**
      * 库存数量
      */

+ 5 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/res/OperationGoodsDetail.java

@@ -91,6 +91,11 @@ public class OperationGoodsDetail implements Serializable {
      */
     private String goodsTypeLabel;
 
+    /**
+     * 商品类型labs
+     */
+    private String goodsTypeLabels;
+
     /**
      * 库存数量
      */

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

@@ -268,7 +268,8 @@ public class KwpGoodsService {
         }
         List<SysDictResDto> types = remoteSystemService.queryDictFrontAll(DictTypeEnum.PRODUCT_NAME_TYPE.getType(), detail.getGoodsType());
         if (CollectionUtils.isNotEmpty(types)) {
-            detail.setGoodsTypes(types.stream().map(SysDictResDto::getValue).toList());
+            detail.setGoodsTypes(types.stream().map(SysDictResDto::getValue).toList())
+                    .setGoodsTypeLabels(String.join(Global.RIGHT_SLASH, types.stream().map(SysDictResDto::getLabel).toList()));
         }
         detail.setGoodsTypeLabel(CollectionUtils.isNotEmpty(productNameMap) ? productNameMap.get(detail.getGoodsType()) : null)
                 .setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(detail.getUnit()) : null)

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

@@ -132,7 +132,7 @@ public class KwWorkService {
         }
 
         //托运订单
-        Integer integer1 = transportStatisticsService.statisticsPendingVerificationWaybill(entId);
+        Integer integer1 = transportStatisticsService.statisticsLogisticsByConsign(entId);
         if (hasCheck || isSystem) {
             QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
             queryBusinessStatisticsResVo.setType("托运订单");

+ 2 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/pojo/FindMenuTreePojo.java

@@ -47,4 +47,6 @@ public class FindMenuTreePojo {
      */
     private Integer systemType;
 
+    private Integer isMain;
+
 }

+ 8 - 5
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsMenuService.java

@@ -266,15 +266,15 @@ public class KwsMenuService {
         BeanUtils.copyProperties(reqVo, findMenuTreePojo);
 
         //填充用户参数
-        extracted(reqVo.getUserId(), findMenuTreePojo);
+        extracted(reqVo.getUserId(), reqVo.getClientType(), findMenuTreePojo);
 
         List<KwsMenuResVo> menuList = kwsMenuDao.findList(findMenuTreePojo);
         if (CollectionUtils.isEmpty(menuList)) {
             return Collections.emptyList();
         }
 
-        List<KwsMenuResVo> finalList = new ArrayList<>();
         //app菜单特殊处理
+        List<KwsMenuResVo> finalList = new ArrayList<>();
         if (SystemTypeEnum.COMPANY.getCode().equals(LoginUserHolder.getSystemType()) &&
                 ClientTypeEnum.app.getValue().equals(LoginUserHolder.getClientType()) &&
                 Objects.equals(LoginUserHolder.getIsMain(), Global.NO)) {
@@ -318,12 +318,14 @@ public class KwsMenuService {
         return kwsMenuDao.findList(findMenuTreePojo);
     }
 
-    private void extracted(Long userId, FindMenuTreePojo findMenuTreePojo) {
+    private void extracted(Long userId, String clientType, FindMenuTreePojo findMenuTreePojo) {
         findMenuTreePojo.setSystemType(LoginUserHolder.getSystemType());
+        findMenuTreePojo.setIsMain(LoginUserHolder.getIsMain());
         //运营端的管理员不做过滤
-        if (Objects.equals(LoginUserHolder.getSystemType(), SystemTypeEnum.MANAGE.getCode())) {
+        if (Objects.equals(LoginUserHolder.getSystemType(), SystemTypeEnum.MANAGE.getCode()) && Objects.equals(LoginUserHolder.getIsMain(), Global.YES)) {
             return;
         }
+
         if (Objects.equals(LoginUserHolder.getIsMain(), Global.YES)) {
             Long entId = LoginUserHolder.getEntId();
             List<KwsEntType> listByEntId = kwsEntTypeDao.findListByEntId(entId);
@@ -344,8 +346,9 @@ public class KwsMenuService {
         if (CollectionUtils.isEmpty(allByUserId)) {
             throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.ROLE_NOT_EXISTS);
         }
+
         //特殊处理,员工账号先查pc端的菜单,后面会做菜单关联
-        findMenuTreePojo.setClientType(SystemTypeEnum.COMPANY.getCode());
+        findMenuTreePojo.setClientType(Integer.valueOf(clientType));
         findMenuTreePojo.setRoleIds(allByUserId.stream().map(KwsUserRole::getRoleId).toList());
     }
 

+ 9 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsRoleService.java

@@ -7,6 +7,7 @@ import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.constant.Global;
+import com.sckw.core.model.enums.MenuTypeEnum;
 import com.sckw.core.model.enums.SystemTypeEnum;
 import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageResult;
@@ -38,6 +39,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 /**
@@ -73,6 +75,9 @@ public class KwsRoleService {
     @Autowired
     KwsMenuService kwsMenuService;
 
+    @Autowired
+    KwsMenuDao kwsMenuDao;
+
     @Autowired
     KwsMenuRightsDao kwsMenuRightsDao;
 
@@ -370,6 +375,10 @@ public class KwsRoleService {
 
         List<KwsMenuRights> kwsMenuRights = kwsMenuRightsDao.selectByRoleIds(roleIdList);
         if (CollectionUtils.isNotEmpty(kwsMenuRights)) {
+            List<Long> menuIdList = kwsMenuRights.stream().map(KwsMenuRights::getMenuId).toList();
+            List<KwsMenu> kwsMenus = kwsMenuDao.selectByKeys(menuIdList);
+            List<Long> collect = kwsMenus.stream().filter(item -> item.getType().equals(MenuTypeEnum.BUTTON.getCode())).map(KwsMenu::getId).toList();
+            kwsMenuRights = kwsMenuRights.stream().filter(item -> collect.contains(item.getMenuId())).toList();
             Map<Long, List<KwsMenuRights>> collectKwsMenuRights = kwsMenuRights.stream().collect(Collectors.groupingBy(KwsMenuRights::getRoleId));
             roleResVos.forEach(item -> {
                 List<KwsMenuRights> kwsMenuRightsList = collectKwsMenuRights.get(item.getId());

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

@@ -270,7 +270,7 @@
     from kws_menu sm
     left join kws_menu_rights smr on sm.id = smr.menu_id
     where sm.del_flag = 0
-      <if test="systemType != 1 and clientType != 3">
+      <if test="(systemType != 1 and clientType != 3) or (systemType == 1 and isMain == 0)">
         and smr.del_flag = 0
       </if>
     <if test="clientType != null">

+ 7 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/AcceptCarriageOrderController.java

@@ -1,6 +1,7 @@
 package com.sckw.transport.controller;
 
 import com.alibaba.fastjson.JSONObject;
+import com.sckw.core.annotation.RepeatSubmit;
 import com.sckw.core.exception.CustomPromptException;
 import com.sckw.core.model.enums.OrderRuleEnum;
 import com.sckw.core.model.enums.RedisOrderGenerateEnum;
@@ -89,6 +90,7 @@ public class AcceptCarriageOrderController {
      * @param query 查询参数
      * @return
      */
+    @RepeatSubmit(interval = 3000,message ="两次请求间隔未超过3秒")
     @RequestMapping(value = "/acceptCarriageOrderExport", method = RequestMethod.POST)
     public void exportAcceptCarriage(@Validated @RequestBody AcceptCarriageOrderQuery query) {
         HttpServletResponse response = RequestHolder.getResponse();
@@ -105,6 +107,7 @@ public class AcceptCarriageOrderController {
      * @param dto
      * @return
      */
+    @RepeatSubmit(interval = 3000,message ="两次请求间隔未超过3秒")
     @RequestMapping(value = "/getOrderDetail", method = RequestMethod.POST)
     public HttpResult getOrderDetail(@Validated @RequestBody DocumentParamDTO dto) {
         log.info("获取订单详情参数:{}", JSONObject.toJSONString(dto));
@@ -123,6 +126,7 @@ public class AcceptCarriageOrderController {
      * @param contractParam 请求参数
      * @return
      */
+    @RepeatSubmit(interval = 3000,message ="两次请求间隔未超过3秒")
     @RequestMapping(value = "/getLogisticsOrderContract", method = RequestMethod.POST)
     public HttpResult getLogisticsOrderContract(@Valid @RequestBody ContractParam contractParam) {
         try {
@@ -139,6 +143,7 @@ public class AcceptCarriageOrderController {
      * @param orderDto
      * @return
      */
+    @RepeatSubmit(interval = 3000,message ="两次请求间隔未超过3秒")
     @RequestMapping(value = "/cancelConsign", method = RequestMethod.POST)
     public HttpResult cancelConsign(@Validated @RequestBody CancelOrderDTO orderDto) {
         try {
@@ -184,6 +189,7 @@ public class AcceptCarriageOrderController {
      * @param query 请求参数
      * @return
      */
+    @RepeatSubmit(interval = 3000,message ="两次请求间隔未超过3秒")
     @RequestMapping(value = "/subcontractConsignment", method = RequestMethod.POST)
     public HttpResult subcontractConsignment(@RequestBody SubcontractConsignmentDTO query) {
         try {
@@ -372,6 +378,7 @@ public class AcceptCarriageOrderController {
      * @param addOrderDTO 页面传递参数
      * @return
      */
+    @RepeatSubmit(interval = 3000,message ="两次请求间隔未超过3秒")
     @RequestMapping(value = "/addOrder", method = RequestMethod.POST)
     public HttpResult addOrder(@Valid @RequestBody AddOrderDTO addOrderDTO) {
         log.info("承运订单-页面新建订单 add {}", JSONObject.toJSONString(addOrderDTO));

+ 6 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/CarWaybillVO.java

@@ -63,6 +63,12 @@ public class CarWaybillVO {
      * 司机
      */
     private String driverName;
+
+    /**
+     * 司机电话
+     */
+    private String driverPhone;
+
     /**
      * 承运车队
      */

+ 9 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/AcceptCarriageOrderService.java

@@ -308,7 +308,7 @@ public class AcceptCarriageOrderService {
         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,
+                MessageEnum.NEW_CARRIAGE_ORDER,MessageEnum.INITIATING_LOGISTICS_CONSIGNMENT,
                 "1");
 
         //修改父级mongodb数据
@@ -1036,7 +1036,7 @@ public class AcceptCarriageOrderService {
                 subcontractConsignmentVO.setLoadAddressDetail(subcontractConsignmentVO.getLoadCityName() + subcontractConsignmentVO.getLoadAddress());
                 subcontractConsignmentVO.setUnloadAddressDetail(subcontractConsignmentVO.getUnloadCityName() + subcontractConsignmentVO.getUnloadAddress());
                 subcontractConsignmentVO.setOrderSourceLabel(orderSource == null ? null : orderSource.get(subcontractConsignmentVO.getOrderSource()));
-                subcontractConsignmentVO.setTaxRateLabel(subcontractConsignmentVO.getTaxRate()+"%");
+                subcontractConsignmentVO.setTaxRateLabel(subcontractConsignmentVO.getTaxRate() + "%");
             }
             allList.addAll(voList);
         }
@@ -1832,6 +1832,11 @@ public class AcceptCarriageOrderService {
         KwtLogisticsOrderGoods orderGoods = kwtLogisticsOrderGoodsMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderGoods>()
                 .eq(StringUtils.isNotBlank(logisticsOrder.getId()), KwtLogisticsOrderGoods::getLOrderId, logisticsOrder.getId()));
         OrderDetailVO orderDetailVO = new OrderDetailVO();
+        orderDetailVO.setRemark(logisticsOrder.getRemark());
+        orderDetailVO.setTaxRate(logisticsOrder.getTaxRate());
+        orderDetailVO.setTaxRateLabel(logisticsOrder.getTaxRate() + "%");
+        orderDetailVO.setLoadName(loadOrderAddress.getName());
+        orderDetailVO.setUnloadName(unloadOrderAddress.getName());
         orderDetailVO.setId(String.valueOf(logisticsOrder.getId()));
         if (contract != null) {
             orderDetailVO.setContractId(contract.getContractId() == null ? null : String.valueOf(contract.getContractId()));
@@ -1865,11 +1870,11 @@ public class AcceptCarriageOrderService {
         orderDetailVO.setLoadAddress(loadOrderAddress.getName());
         orderDetailVO.setLoadContacts(loadOrderAddress.getContacts());
         orderDetailVO.setLoadPhone(loadOrderAddress.getPhone());
-        orderDetailVO.setLoadAddressDetail(loadOrderAddress.getDetailAddress());
+        orderDetailVO.setLoadAddressDetail(loadOrderAddress.getCityName() + loadOrderAddress.getDetailAddress());
         orderDetailVO.setUnloadAddress(unloadOrderAddress.getName());
         orderDetailVO.setUnloadContacts(unloadOrderAddress.getContacts());
         orderDetailVO.setUnloadPhone(unloadOrderAddress.getPhone());
-        orderDetailVO.setUnloadAddressDetail(unloadOrderAddress.getDetailAddress());
+        orderDetailVO.setUnloadAddressDetail(unloadOrderAddress.getCityName() + unloadOrderAddress.getDetailAddress());
         orderDetailVO.setSettlementCycle(logisticsOrder.getSettlementCycle() == null ? null : String.valueOf(logisticsOrder.getSettlementCycle()));
         orderDetailVO.setBillingMode(logisticsOrder.getBillingMode());
         orderDetailVO.setScheduleStartTime(logisticsOrder.getStartTime() == null ? null : logisticsOrder.getStartTime());

+ 16 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/CommonService.java

@@ -312,6 +312,14 @@ public class CommonService {
         streamBridge.send("sckw-message", JSON.toJSONString(msg));
     }
 
+    /**
+     * 给业务联系人发消息[承运方]
+     * @param carriageUnit
+     * @param map
+     * @param pcUrl
+     * @param appUrl
+     * @param messageEnum
+     */
     private void sendLogisticsCarriageMessage(KwtLogisticsOrderUnit carriageUnit, Map<String, Object> map, String pcUrl, String appUrl, MessageEnum messageEnum) {
         //给业务联系人发消息[承运方]
         List<UserInfo> userInfoList = new ArrayList<>();
@@ -333,6 +341,14 @@ public class CommonService {
         streamBridge.send("sckw-message", JSON.toJSONString(sckwMessage));
     }
 
+    /**
+     * 给业务联系人发消息[托运方]
+     * @param consignUnit
+     * @param map
+     * @param pcUrl
+     * @param appUrl
+     * @param messageEnum
+     */
     private void sendLogisticsConsignMessage(KwtLogisticsOrderUnit consignUnit, Map<String, Object> map, String pcUrl, String appUrl, MessageEnum messageEnum) {
         //给业务联系人发消息[托运方]
         List<UserInfo> list = new ArrayList<>();

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

@@ -390,6 +390,7 @@ public class ConsignOrderService {
                     carWaybillVo.setStatusLabel(CarWaybillEnum.getName(kwtWaybillOrder.getStatus()));
                     carWaybillVo.setWaybillType(kwtWaybillOrder.getType());
                     carWaybillVo.setDriverName(kwtWaybillOrder.getDriverName());
+                    carWaybillVo.setDriverPhone(kwtWaybillOrder.getDriverPhone());
                     //todo 取mongo
 //                SckwWaybillOrder sckwWaybillOrder = mongoTemplate.findById(kwtWaybillOrder.getId(), SckwWaybillOrder.class);
                     /** 2023-07-24 原值为承运车队-去除后更换展示为承运公司*/
@@ -665,6 +666,7 @@ public class ConsignOrderService {
                     carWaybillVo.setStatusLabel(CarWaybillEnum.getName(kwtWaybillOrder.getStatus()));
                     carWaybillVo.setWaybillType(kwtWaybillOrder.getType());
                     carWaybillVo.setDriverName(kwtWaybillOrder.getDriverName());
+                    carWaybillVo.setDriverPhone(kwtWaybillOrder.getDriverPhone());
                     //todo 取mongo
 //                SckwWaybillOrder sckwWaybillOrder = mongoTemplate.findById(kwtWaybillOrder.getId(), SckwWaybillOrder.class);
                     /** 2023-07-24 原值为承运车队-去除后更换展示为承运公司*/

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

@@ -1616,7 +1616,7 @@ public class KwtWaybillOrderService {
         SckwWaybillOrder wOrder = new SckwWaybillOrder();
         wOrder.set_id(waybillOrder.getId());
         wOrder.setLoadAmount(waybillOrder.getLoadAmount());
-        wOrder.setLoadUrls(params.getUrls());
+        wOrder.setLoadUrls(FileUtils.replaceAllBatch(params.getUrls()));
         wOrder.setLoadTime(params.getOperateTime());
         editSckwWaybillOrder(wOrder, waybillOrder, 2);
 
@@ -1751,7 +1751,7 @@ public class KwtWaybillOrderService {
         wOrder.setUnloadAmount(waybillOrder.getUnloadAmount());
         wOrder.setDeficitAmount(waybillOrder.getDeficitAmount());
         wOrder.setDeficitPrice(waybillOrder.getDeficitPrice());
-        wOrder.setUnloadUrls(params.getUrls());
+        wOrder.setUnloadUrls(FileUtils.replaceAllBatch(params.getUrls()));
         wOrder.setUnloadTime(params.getOperateTime());
         editSckwWaybillOrder(wOrder, waybillOrder, 2);
 
@@ -2062,6 +2062,7 @@ public class KwtWaybillOrderService {
 
         /**3更新榜单信息**/
         BeanUtils.copyProperties(params, ticket);
+        ticket.setUrls(FileUtils.replaceAllBatch(ticket.getUrls()));
         waybillOrderTicketDao.updateById(ticket);
 
         /**4Mongodb数据更新**/