Browse Source

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

xucaiqin 2 years ago
parent
commit
47a8466015
66 changed files with 1190 additions and 466 deletions
  1. 36 31
      sckw-auth/src/main/java/com/sckw/auth/controller/AuthController.java
  2. 0 17
      sckw-auth/src/main/java/com/sckw/auth/service/IAuthService.java
  3. 6 26
      sckw-auth/src/main/java/com/sckw/auth/service/impl/AuthServiceImpl.java
  4. 13 2
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/StringConstant.java
  5. 3 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/filter/RequestCheckFilter.java
  6. 4 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/constant/Global.java
  7. 50 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/OrderGenerateSeqNoUtils.java
  8. 6 0
      sckw-common/sckw-common-redis/src/main/java/com/sckw/redis/constant/RedisConstant.java
  9. 7 7
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/RemoteUserService.java
  10. 10 4
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/req/RegisterReqDto.java
  11. 4 4
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcCarrierController.java
  12. 13 15
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcCheckedController.java
  13. 11 11
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcContractSaleController.java
  14. 1 1
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcOpenapiController.java
  15. 4 4
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcPurchaseController.java
  16. 1 1
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsGoodsService.java
  17. 8 12
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java
  18. 2 2
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsUnitService.java
  19. 1 1
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfDriverDto.java
  20. 1 1
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfTruckLicenseDto.java
  21. 2 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfTruckReportDto.java
  22. 1 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfDriverService.java
  23. 96 50
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfTruckReportService.java
  24. 9 9
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmAddressController.java
  25. 6 6
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmCooperateApplyController.java
  26. 11 11
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmCooperateManageController.java
  27. 1 1
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateApplyService.java
  28. 2 5
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateManageService.java
  29. 8 46
      sckw-modules/sckw-order/src/main/java/com/sckw/order/controller/KwoTradeOrderController.java
  30. 9 33
      sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java
  31. 1 1
      sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderTrackService.java
  32. 2 0
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwTransportService.java
  33. 5 0
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/CarWaybillVo.java
  34. 5 5
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsDeptController.java
  35. 10 10
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsEnterpriseController.java
  36. 5 5
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsMenuController.java
  37. 6 6
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsRoleController.java
  38. 39 10
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsUserController.java
  39. 2 2
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/SysAreaController.java
  40. 9 9
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/SysDictController.java
  41. 1 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/AddEntSettleReqVo.java
  42. 5 5
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsDeptService.java
  43. 13 12
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java
  44. 7 7
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsMenuService.java
  45. 5 5
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsRoleService.java
  46. 21 12
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java
  47. 9 9
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/SysDictService.java
  48. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/KwtWaybillOrderController.java
  49. 61 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/enterpriseApp/AppWayBillController.java
  50. 17 8
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderCirculateMapper.java
  51. 3 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderMapper.java
  52. 8 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtWaybillOrderMapper.java
  53. 7 2
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/WayBillDetailDTO.java
  54. 180 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/AcceptCarriageOrderExcelVo.java
  55. 157 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/CarWaybillAppVo.java
  56. 5 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/WaybillTrackVO.java
  57. 7 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/AcceptCarriageOrderService.java
  58. 41 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/CommonService.java
  59. 1 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ConsignOrderService.java
  60. 43 27
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderService.java
  61. 6 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/LogisticsConsignmentService.java
  62. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/TransportCommonService.java
  63. 154 2
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/WaybillManagementService.java
  64. 4 23
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderCirculateMapper.xml
  65. 3 0
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml
  66. 20 0
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderMapper.xml

+ 36 - 31
sckw-auth/src/main/java/com/sckw/auth/controller/AuthController.java

@@ -4,7 +4,6 @@ import com.sckw.auth.model.vo.req.*;
 import com.sckw.auth.service.IAuthService;
 import com.sckw.core.common.enums.enums.DictEnum;
 import com.sckw.core.exception.SystemException;
-import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.enums.LoginMethodEnum;
 import com.sckw.core.model.enums.SystemTypeEnum;
 import com.sckw.core.utils.RegularUtils;
@@ -140,12 +139,45 @@ public class AuthController {
     @PostMapping("/login")
     public HttpResult login(@Valid @RequestBody LoginReqVo reqVo,
                             @RequestHeader(name = "Client-Type", required = true) String clientType,
-                            @RequestHeader(name = "System-Type", required = true) int systemType) throws SystemException {
+                            @RequestHeader(name = "System-Type", required = true) int systemType) {
+//        reqVo.setSystemType(systemType);
+//        reqVo.setClientType(clientType);
+//        LoginBase loginBase = new LoginBase();
+//        loginBase.setAccount(reqVo.getAccount());
+//        loginBase.setPassword(reqVo.getPassword());
+//        loginBase.setCaptcha(reqVo.getCaptcha());
+//        loginBase.setSystemType(systemType);
+//        loginBase.setClientType(clientType);
+//
+//        loginBase.setLoginMethod(LoginMethodEnum.ORDINARY.getValue());
+//        if (StringUtils.isNotBlank(loginBase.getCaptcha())) {
+//            loginBase.setLoginMethod(LoginMethodEnum.SMS.getValue());
+//        }
+//
+//        /**参数校验**/
+//        HttpResult result = checkParams(loginBase);
+//        if (result.getCode() != HttpStatus.SUCCESS_CODE) {
+//            return result;
+//        }
+//
+//        /**运营端/企业端登录(PC/APP)**/
+//        if (loginBase.getSystemType() == SystemTypeEnum.MANAGE.getCode()
+//                || loginBase.getSystemType() == SystemTypeEnum.COMPANY.getCode()) {
+//            return authService.commonAuth(loginBase);
+//        }
+//
+//        /**司机端**/
+//        if (loginBase.getSystemType() == SystemTypeEnum.DRIVER.getCode()) {
+//            return authService.driverAuth(loginBase);
+//        }
+//
+//        return HttpResult.error(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.GLOBAL_EXCEPTION_MESSAGE);
         reqVo.setSystemType(systemType);
         reqVo.setClientType(clientType);
         return HttpResult.ok(authService.login(reqVo));
     }
 
+
     /**
      * @param reqVo 注册
      * @return HttpResult
@@ -155,7 +187,7 @@ public class AuthController {
      */
     @PostMapping("/register")
     public HttpResult register(@Valid @RequestBody RegisterReqVo reqVo,
-                               @RequestHeader(name = "System-Type", required = true) int systemType) throws SystemException {
+                               @RequestHeader(name = "System-Type", required = true) int systemType) {
         reqVo.setSystemType(systemType);
         authService.register(reqVo);
         return HttpResult.ok(HttpStatus.MSG_007);
@@ -170,25 +202,12 @@ public class AuthController {
      */
     @PostMapping("/forgetPassword")
     public HttpResult forgetPassword(@Valid @RequestBody ForgetPasswordReqVo reqVo,
-                                     @RequestHeader(name = "System-Type", required = true) int systemType) throws SystemException {
+                                     @RequestHeader(name = "System-Type", required = true) int systemType) {
         reqVo.setSystemType(systemType);
         authService.forgetPassword(reqVo);
         return HttpResult.ok(HttpStatus.MSG_002);
     }
 
-    /**
-     * @param {password 旧密码、newPassword 新密码、account 账号}
-     * @description 修改密码
-     * @author zk
-     * @date 2023/06/02
-     **/
-    @PostMapping("/updatePassword")
-    public HttpResult updatePassword(@Valid @RequestBody UpdatePasswordReqVo reqVo,
-                                     @RequestHeader(name = "System-Type", required = true) int systemType) {
-        reqVo.setSystemType(systemType);
-        authService.updatePassword(reqVo);
-        return HttpResult.ok(HttpStatus.MSG_002);
-    }
 
     /**
      * @param id 主键ID
@@ -202,18 +221,4 @@ public class AuthController {
         return HttpResult.ok(HttpStatus.MSG_001);
     }
 
-    /**
-     * @desc: 获取验证码
-     * @param: reqVo 入参
-     * @author: czh
-     * @date 2023/7/23
-     * @return HttpResult
-     */
-    @PostMapping("getRegisterSms")
-    public HttpResult getRegisterSms(@Valid @RequestBody GetRegisterSmsReqVo reqVo,
-                                   @RequestHeader(name = "System-Type", required = true) int systemType) {
-        reqVo.setSystemType(systemType);
-        return HttpResult.ok(authService.getRegisterSms(reqVo));
-    }
-
 }

+ 0 - 17
sckw-auth/src/main/java/com/sckw/auth/service/IAuthService.java

@@ -33,14 +33,6 @@ public interface IAuthService {
      */
     void forgetPassword(ForgetPasswordReqVo reqDto);
 
-    /**
-     * @param reqVo 修改密码入参
-     * @desc: 修改密码
-     * @author: czh
-     * @date: 2023/7/3
-     */
-    void updatePassword(UpdatePasswordReqVo reqVo);
-
     /**
      * @param id 用户id
      * @desc: 重置密码
@@ -49,15 +41,6 @@ public interface IAuthService {
      */
     void resetPassword(Long id);
 
-    /**
-     * @desc: 获取验证码
-     * @param: reqVo 入参
-     * @author: czh
-     * @date 2023/7/23
-     * @return String
-     */
-    String getRegisterSms(GetRegisterSmsReqVo reqVo);
-
     /**
      * 司机端登录
      * @param loginBase

+ 6 - 26
sckw-auth/src/main/java/com/sckw/auth/service/impl/AuthServiceImpl.java

@@ -8,6 +8,7 @@ import com.sckw.auth.model.vo.res.EntInfoResVo;
 import com.sckw.auth.model.vo.res.LoginResVo;
 import com.sckw.auth.model.vo.res.LoginResVo1;
 import com.sckw.auth.util.AsyncFactory;
+import com.sckw.core.common.enums.enums.DictEnum;
 import com.sckw.core.model.enums.ClientTypeEnum;
 import com.sckw.core.model.enums.LoginMethodEnum;
 import com.sckw.core.model.enums.SystemTypeEnum;
@@ -59,7 +60,7 @@ public class AuthServiceImpl implements IAuthService {
     private RemoteFleetService fleetService;
 
     @Override
-    public LoginResVo login(LoginReqVo reqDto) throws SystemException {
+    public LoginResVo login(LoginReqVo reqDto) {
         /*1、根据账号密码或者手机号校验码登录, 手机号后面处理*/
         KwsUserResDto kwsUser = checkLogin(reqDto);
         LoginResVo loginResVo = new LoginResVo();
@@ -138,7 +139,7 @@ public class AuthServiceImpl implements IAuthService {
         return loginResVo;
     }
 
-    private KwsUserResDto checkLogin(LoginReqVo reqDto) throws SystemException {
+    private KwsUserResDto checkLogin(LoginReqVo reqDto) {
         List<KwsUserResDto> kwsUsers = remoteUserService.checkUserBase(reqDto.getAccount(), reqDto.getSystemType());
         KwsUserResDto kwsUser = kwsUsers.get(0);
         //密码校验、验证码
@@ -177,15 +178,11 @@ public class AuthServiceImpl implements IAuthService {
     @Transactional(rollbackFor = {})
     public void register(RegisterReqVo reqVo) {
         /*校验验证码*/
-        String key = Global.USER_LOGIN_CAPTCHA + reqVo.getPhone() + Global.COLON + reqVo.getSystemType();
+        String key = StringUtils.format(RedisConstant.MESSAGE_SMS_VERIFY_CODE_VALUE_KEY, DictEnum.SMS_REGISTER.getValue(), reqVo.getPhone());
         String sms = RedissonUtils.getString(key);
-//        if (!reqVo.getCaptcha().equals(sms)) {
-//            throw new SystemException(HttpStatus.CODE_10301, HttpStatus.CAPTCHA_ERROR);
-//        }
-        if (!"12345".equals(reqVo.getCaptcha())) {
+        if (!reqVo.getCaptcha().equals(sms)) {
             throw new SystemException(HttpStatus.CODE_10301, HttpStatus.CAPTCHA_ERROR);
         }
-
         RegisterReqDto registerReqDto = new RegisterReqDto();
         BeanUtils.copyProperties(reqVo, registerReqDto);
         remoteUserService.register(registerReqDto);
@@ -194,34 +191,17 @@ public class AuthServiceImpl implements IAuthService {
 
 
     @Override
-    public void forgetPassword(ForgetPasswordReqVo reqDto) throws SystemException {
+    public void forgetPassword(ForgetPasswordReqVo reqDto) {
         ForgetPasswordReqDto forgetPasswordReqDto = new ForgetPasswordReqDto();
         BeanUtils.copyProperties(reqDto, forgetPasswordReqDto);
         remoteUserService.forgetPassword(forgetPasswordReqDto);
     }
 
-    @Override
-    public void updatePassword(UpdatePasswordReqVo reqVo) throws SystemException {
-        UpdatePasswordReqDto updatePassword = new UpdatePasswordReqDto();
-        BeanUtils.copyProperties(reqVo, updatePassword);
-        remoteUserService.updatePassword(updatePassword);
-    }
-
     @Override
     public void resetPassword(Long id) {
         remoteUserService.resetPassword(id);
     }
 
-    @Override
-    public String getRegisterSms(GetRegisterSmsReqVo reqVo) {
-        String code = "";
-        remoteUserService.checkRegisterParam(reqVo.getEntName(), reqVo.getPhone(), reqVo.getSystemType());
-        String key = Global.USER_LOGIN_CAPTCHA + reqVo.getPhone() + Global.COLON + reqVo.getSystemType();
-        RedissonUtils.put(key, code, 30L);
-        return code;
-    }
-
-
     static class AsyncProcess implements Runnable {
 
         private final LoginResVo loginResVo;

+ 13 - 2
sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/StringConstant.java

@@ -3,7 +3,7 @@ package com.sckw.core.common.enums;
 import java.time.format.DateTimeFormatter;
 
 /**
- * @description:    定义字符串常量
+ * @description: 定义字符串常量
  * @author: LengFaQiang
  * @copyright
  * @create: 2022-01-27 16:02
@@ -15,7 +15,18 @@ public final class StringConstant {
     public static final String COLON = ":";
     public static final String SEMICOLON = ";";
     public static final String POINT = ".";
-    public static final String COMMA=",";
+
+    public static final String COMMA = ",";
+
+    /**
+     * 中横线
+     */
+    public static final String HYPHEN = "-";
+
+    /**
+     * 下划线
+     */
+    public static final String UNDERLINE = "_";
     public static final String HTTP_STRING = "http";
     public static final String HTTPS_STRING = "https";
     public static final String B = "B";

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

@@ -39,6 +39,8 @@ public class RequestCheckFilter implements Filter {
 
     private static final List<String> EXCLUDEPATH = new ArrayList<>();
 
+    private static final String REGISTER = "/kwsEnt/register";
+
     /**
      * @desc: 初始化放行路径
      * @author: czh
@@ -124,7 +126,7 @@ public class RequestCheckFilter implements Filter {
             }
 
             //校验用户企业审批状态
-            if (!loginEntInfo.getValid()) {
+            if (!loginEntInfo.getValid() && !REGISTER.equals(requestUri)) {
                 ResponseUtil.writer(response, HttpResult.error(HttpStatus.QUERY_FAIL_CODE, HttpStatus.ENTCERTIFICATES_INVAILD));
                 return;
             }

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

@@ -36,7 +36,7 @@ public class Global {
     public static final int SHOW = 1;
     public static final int HIDE = 0;
     public static final int MINUS_ONE = -1;
-    /*正常/删除*/
+    /**正常/删除*/
     public static final int DELETED = 1;
     public static final int UN_DELETED = 0;
     /**是/否*/
@@ -244,6 +244,9 @@ public class Global {
     public static final String CYCLE_MONTH = "月";
     public static final String CYCLE_YEAR = "年";
 
+    /**重量单位*/
+    public static final String UNIT_TON = "吨";
+    public static final String UNIT_KG = "千克";
 
     /**未读*/
     public static final Integer UN_READ = 0;

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

@@ -1,10 +1,12 @@
 package com.sckw.core.utils;
 
+import com.sckw.core.common.enums.StringConstant;
 import com.sckw.core.model.enums.OrderRuleEnum;
 import com.sckw.core.model.enums.RedisOrderGenerateEnum;
 import com.sckw.redis.utils.RedissonUtils;
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.data.redis.support.atomic.RedisAtomicLong;
 import org.springframework.stereotype.Component;
@@ -26,6 +28,8 @@ public class OrderGenerateSeqNoUtils {
     private RedisTemplate redisTemplate;
 
     /**
+     * 物流订单编号生成
+     *
      * @param redisOrderGenerateEnum 传入指定枚举的key
      * @param prefix                 业务类别
      * @param orderType              单据创建类型
@@ -70,6 +74,25 @@ public class OrderGenerateSeqNoUtils {
         return appendKey.toString();
     }
 
+    /**
+     * 拼接redis key 公共key+[业务标识]不携带日期
+     *
+     * @param redisOrderGenerateEnum
+     * @param prefix
+     * @param str
+     * @return
+     */
+    public static String getKeyNotDate(RedisOrderGenerateEnum redisOrderGenerateEnum, OrderRuleEnum prefix, String str) {
+        StringBuilder stringBuilder = new StringBuilder();
+        StringBuilder appendKey = new StringBuilder();
+        if (StringUtils.isNotEmpty(str)) {
+            appendKey = stringBuilder.append(redisOrderGenerateEnum.getKey()).append(prefix.getCode()).append(str);
+        } else {
+            appendKey = stringBuilder.append(redisOrderGenerateEnum.getKey()).append(prefix.getCode());
+        }
+        return appendKey.toString();
+    }
+
     /**
      * //返回当前redis中的key的最大值
      *
@@ -96,7 +119,7 @@ public class OrderGenerateSeqNoUtils {
      * @return
      */
     public static long generate(String key, Long expireTime) {
-                //RedisAtomicLong counter = new RedisAtomicLong(key, redisTemplate.getConnectionFactory());
+        //RedisAtomicLong counter = new RedisAtomicLong(key, redisTemplate.getConnectionFactory());
 //        //设置过期时间
 //        counter.expireAt(expireTime);
 //        //返回redis中key的值,内部实现下面详细说明
@@ -107,6 +130,7 @@ public class OrderGenerateSeqNoUtils {
 
     /**
      * redis 根据key需要减一
+     *
      * @param redisOrderGenerateEnum
      * @param prefix
      * @return
@@ -140,6 +164,8 @@ public class OrderGenerateSeqNoUtils {
 
 
     /**
+     * 贸易订单/对账/结算生成规则
+     *
      * @param redisOrderGenerateEnum 传入枚举指定的key
      * @param prefix                 业务类别
      * @return
@@ -160,4 +186,27 @@ public class OrderGenerateSeqNoUtils {
         log.info("KEY:{}, 序列号生成:{}, 过期时间:{}秒", appendKey, seqNo, secondsDay);
         return seqNo;
     }
+
+
+    /**
+     * 车辆运单编号规则生成
+     *
+     * @param redisOrderGenerateEnum 传入枚举指定的key
+     * @param prefix                 业务类别
+     * @return
+     */
+    public static String getWaybillSeqNo(RedisOrderGenerateEnum redisOrderGenerateEnum, OrderRuleEnum prefix, String pidOrderNo) {
+        if (Objects.isNull(prefix)) {
+            throw new RuntimeException("Order Generate SeqNo Error");
+        }
+        String appendKey = getKeyNotDate(redisOrderGenerateEnum, prefix, pidOrderNo);
+        //设置过期时间,这里设置为当天的23:59:59
+        Long secondsDay = DateUtils.getSecondsDay();
+        Long seq = generate(appendKey, secondsDay);
+        String sequence = com.sckw.core.utils.StringUtils.addZeroForNum(seq.toString(), 3);
+        /**拼接业务编号*/
+        String seqNo = pidOrderNo + StringConstant.HYPHEN + sequence;
+        log.info("KEY:{}, 序列号生成:{}, 过期时间:{}秒", appendKey, seqNo, secondsDay);
+        return seqNo;
+    }
 }

+ 6 - 0
sckw-common/sckw-common-redis/src/main/java/com/sckw/redis/constant/RedisConstant.java

@@ -56,6 +56,12 @@ public class RedisConstant {
      */
     public static final String TORDER_NO_GENERATE_KEY = "order:trade:no:generate:%s";
 
+    /**
+     * 生成物流订单号锁key
+     */
+    public static final String LOGISTICS_NO_GENERATE_KEY = "order:logistics:no:generate:%s";
+
+
     /**
      * 消费请求有效时间(秒)
      */

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

@@ -90,21 +90,21 @@ public interface RemoteUserService {
 
 
     /**
-     * @param reqDto 忘记密码入参
-     * @desc: 忘记密码
+     * @param userLoginReqDto  用户登录信息
+     * @desc: 保存用户登录信息
      * @author: czh
      * @date: 2023/6/19
      */
-    void forgetPassword(ForgetPasswordReqDto reqDto);
+    void saveUserLogin(UserLoginReqDto userLoginReqDto);
+
 
     /**
-     * @param userLoginReqDto  用户登录信息
-     * @desc: 保存用户登录信息
+     * @param reqDto 忘记密码入参
+     * @desc: 忘记密码
      * @author: czh
      * @date: 2023/6/19
      */
-    void saveUserLogin(UserLoginReqDto userLoginReqDto);
-
+    void forgetPassword(ForgetPasswordReqDto reqDto);
 
     /**
      * @param userId 用户id

+ 10 - 4
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/req/RegisterReqDto.java

@@ -32,18 +32,24 @@ public class RegisterReqDto implements Serializable {
     private String phone;
 
     /**
-     * 是否是企业管理(1是 0否)
+     * 系统类型(1运营端、2企业开户)
      */
-    private Integer isMain;
+    private Integer systemType;
 
     /**
-     *系统类型(1运营端、2企业开户)
+     * 验证码
      */
-    private Integer systemType;
+    private String captcha;
+
+    /**
+     * 是否是企业管理(1是 0否)
+     */
+    private Integer isMain;
 
     /**
      * 密码
      */
     private String password;
 
+
 }

+ 4 - 4
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcCarrierController.java

@@ -33,7 +33,7 @@ public class KwcCarrierController {
      * @return HttpResult
      */
     @RequestMapping("queryListByPage")
-    public HttpResult queryListByPage(@RequestBody QueryListReqVo reqVo) throws SystemException {
+    public HttpResult queryListByPage(@RequestBody QueryListReqVo reqVo) {
         reqVo.setEntType(EntTypeEnum.LOGISTICS4.getCode());
         return HttpResult.ok(kwcContractLogisticsService.queryListByPage(reqVo));
     }
@@ -46,7 +46,7 @@ public class KwcCarrierController {
      * @return HttpResult
      */
     @PostMapping("detail")
-    public HttpResult detail(@Valid @RequestBody IdReqVo reqVo) throws SystemException {
+    public HttpResult detail(@Valid @RequestBody IdReqVo reqVo) {
         return HttpResult.ok(kwcContractLogisticsService.detail(reqVo.getId()));
     }
 
@@ -57,7 +57,7 @@ public class KwcCarrierController {
      * @date 2023/7/17
      */
     @PostMapping("export")
-    public void export(@Valid @RequestBody QueryListReqVo reqVo) throws SystemException {
+    public void export(@Valid @RequestBody QueryListReqVo reqVo) {
         reqVo.setEntType(EntTypeEnum.LOGISTICS4.getCode());
         kwcContractLogisticsService.export(reqVo);
     }
@@ -70,7 +70,7 @@ public class KwcCarrierController {
      * @date: 2023/7/18
      */
     @PostMapping("findListGroup")
-    public HttpResult findListGroup(@RequestBody QueryListReqVo reqVo) throws SystemException {
+    public HttpResult findListGroup(@RequestBody QueryListReqVo reqVo) {
         reqVo.setEntType(EntTypeEnum.LOGISTICS4.getCode());
         return HttpResult.ok(kwcContractLogisticsService.findListGroup(reqVo));
     }

+ 13 - 15
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcCheckedController.java

@@ -7,7 +7,6 @@ import com.sckw.core.model.enums.EntTypeEnum;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.response.HttpResult;
 import jakarta.validation.Valid;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -34,7 +33,7 @@ public class KwcCheckedController {
      * @return HttpResult
      */
     @RequestMapping("queryListByPage")
-    public HttpResult queryListByPage(@RequestBody QueryListReqVo reqVo) throws SystemException {
+    public HttpResult queryListByPage(@RequestBody QueryListReqVo reqVo) {
         reqVo.setEntType(EntTypeEnum.LOGISTICS3.getCode());
         return HttpResult.ok(kwcContractLogisticsService.queryListByPage(reqVo));
     }
@@ -47,7 +46,7 @@ public class KwcCheckedController {
      * @date 2023/7/13
      */
     @RequestMapping("add")
-    public HttpResult addCheckedContract(@RequestBody ContractLogisticsReqVo reqVo) throws SystemException {
+    public HttpResult addCheckedContract(@RequestBody ContractLogisticsReqVo reqVo) {
         kwcContractLogisticsService.addCheckedContract(reqVo);
         return HttpResult.ok(HttpStatus.MSG_003);
     }
@@ -59,7 +58,7 @@ public class KwcCheckedController {
      * @date: 2023/7/14
      */
     @PostMapping("supplement")
-    public HttpResult supplement(@Valid @RequestBody ContractLogisticsReqVo reqVo) throws SystemException {
+    public HttpResult supplement(@Valid @RequestBody ContractLogisticsReqVo reqVo) {
         kwcContractLogisticsService.supplement(reqVo);
         return HttpResult.ok(HttpStatus.MSG_003);
     }
@@ -72,7 +71,7 @@ public class KwcCheckedController {
      * @return HttpResult
      */
     @PostMapping("detail")
-    public HttpResult detail(@Valid @RequestBody IdReqVo reqVo) throws SystemException {
+    public HttpResult detail(@Valid @RequestBody IdReqVo reqVo) {
         return HttpResult.ok(kwcContractLogisticsService.detail(reqVo.getId()));
     }
 
@@ -84,7 +83,7 @@ public class KwcCheckedController {
      * @return HttpResult
      */
     @PostMapping("submit")
-    public HttpResult submit(@Valid @RequestBody ContractLogisticsReqVo reqVo) throws SystemException {
+    public HttpResult submit(@Valid @RequestBody ContractLogisticsReqVo reqVo) {
         return HttpResult.ok(kwcContractLogisticsService.submit(reqVo));
     }
 
@@ -96,7 +95,7 @@ public class KwcCheckedController {
      * @return HttpResult
      */
     @PostMapping("update")
-    public HttpResult update(@Valid @RequestBody ContractLogisticsReqVo reqVo) throws SystemException {
+    public HttpResult update(@Valid @RequestBody ContractLogisticsReqVo reqVo) {
         kwcContractLogisticsService.update(reqVo);
         return HttpResult.ok();
     }
@@ -110,7 +109,7 @@ public class KwcCheckedController {
      * @return HttpResult
      */
     @PostMapping("complete")
-    public HttpResult complete(@Valid @RequestBody CompleteReqVo reqVo) throws SystemException {
+    public HttpResult complete(@Valid @RequestBody CompleteReqVo reqVo) {
         kwcContractLogisticsService.complete(reqVo);
         return HttpResult.ok();
     }
@@ -124,7 +123,7 @@ public class KwcCheckedController {
      * @return HttpResult
      */
     @PostMapping("delete")
-    public HttpResult delete(@Valid @RequestBody IdsReqVo reqVo) throws SystemException {
+    public HttpResult delete(@Valid @RequestBody IdsReqVo reqVo) {
         kwcContractLogisticsService.delete(reqVo.getIds());
         return HttpResult.ok();
     }
@@ -137,7 +136,7 @@ public class KwcCheckedController {
      * @date 2023/7/17
      */
     @PostMapping("export")
-    public void export(@Valid @RequestBody QueryListReqVo reqVo) throws SystemException {
+    public void export(@Valid @RequestBody QueryListReqVo reqVo) {
         reqVo.setEntType(EntTypeEnum.LOGISTICS3.getCode());
         kwcContractLogisticsService.export(reqVo);
     }
@@ -150,7 +149,7 @@ public class KwcCheckedController {
      * @date: 2023/7/18
      */
     @PostMapping("queryCurrentEntCheckedContractList")
-    public HttpResult queryCurrentEntCheckedContractList() throws SystemException {
+    public HttpResult queryCurrentEntCheckedContractList() {
         return HttpResult.ok(kwcContractLogisticsService.queryCurrentEntCheckedContractList());
     }
 
@@ -161,15 +160,14 @@ public class KwcCheckedController {
      * @date: 2023/7/18
      */
     @PostMapping("findListGroup")
-    public HttpResult findListGroup(@RequestBody QueryListReqVo reqVo) throws SystemException {
+    public HttpResult findListGroup(@RequestBody QueryListReqVo reqVo) {
         reqVo.setEntType(EntTypeEnum.LOGISTICS3.getCode());
         return HttpResult.ok(kwcContractLogisticsService.findListGroup(reqVo));
     }
 
 
     @PostMapping("test")
-    public HttpResult test() throws SystemException {
-        kwcContractLogisticsService.test();
-        return HttpResult.ok();
+    public HttpResult test() {
+        return HttpResult.ok(kwcContractLogisticsService.test());
     }
 }

+ 11 - 11
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcContractSaleController.java

@@ -34,7 +34,7 @@ public class KwcContractSaleController {
      * @return HttpResult
      */
     @RequestMapping("queryListByPage")
-    public HttpResult queryListByPage(@Valid @RequestBody QueryListReqVo reqVo) throws SystemException {
+    public HttpResult queryListByPage(@Valid @RequestBody QueryListReqVo reqVo) {
         reqVo.setEntType(EntTypeEnum.SUPPLIER.getCode());
         return HttpResult.ok(kwcContractTradeService.queryListByPage(reqVo));
     }
@@ -47,7 +47,7 @@ public class KwcContractSaleController {
      * @date: 2023/7/18
      */
     @RequestMapping("add")
-    public HttpResult addTradeContract(@RequestBody ContractTradeReqVo reqVo) throws SystemException {
+    public HttpResult addTradeContract(@RequestBody ContractTradeReqVo reqVo) {
         kwcContractTradeService.addTradeContract(reqVo);
         return HttpResult.ok(HttpStatus.MSG_003);
     }
@@ -59,7 +59,7 @@ public class KwcContractSaleController {
      * @date: 2023/7/14
      */
     @PostMapping("supplement")
-    public HttpResult supplement(@Valid @RequestBody ContractTradeReqVo reqVo) throws SystemException {
+    public HttpResult supplement(@Valid @RequestBody ContractTradeReqVo reqVo) {
         kwcContractTradeService.supplement(reqVo);
         return HttpResult.ok(HttpStatus.MSG_003);
     }
@@ -72,7 +72,7 @@ public class KwcContractSaleController {
      * @return HttpResult
      */
     @PostMapping("detail")
-    public HttpResult detail(@Valid @RequestBody IdReqVo reqVo) throws SystemException {
+    public HttpResult detail(@Valid @RequestBody IdReqVo reqVo) {
         return HttpResult.ok(kwcContractTradeService.detail(reqVo.getId()));
     }
 
@@ -85,7 +85,7 @@ public class KwcContractSaleController {
      * @return HttpResult
      */
     @PostMapping("submit")
-    public HttpResult submit(@Valid @RequestBody ContractTradeReqVo reqVo) throws SystemException {
+    public HttpResult submit(@Valid @RequestBody ContractTradeReqVo reqVo) {
         return HttpResult.ok(kwcContractTradeService.submit(reqVo));
     }
 
@@ -97,7 +97,7 @@ public class KwcContractSaleController {
      * @return HttpResult
      */
     @PostMapping("update")
-    public HttpResult update(@Valid @RequestBody ContractTradeReqVo reqVo) throws SystemException {
+    public HttpResult update(@Valid @RequestBody ContractTradeReqVo reqVo) {
         kwcContractTradeService.update(reqVo);
         return HttpResult.ok();
     }
@@ -111,7 +111,7 @@ public class KwcContractSaleController {
      * @return HttpResult
      */
     @PostMapping("complete")
-    public HttpResult complete(@Valid @RequestBody CompleteReqVo reqVo) throws SystemException {
+    public HttpResult complete(@Valid @RequestBody CompleteReqVo reqVo) {
         kwcContractTradeService.complete(reqVo);
         return HttpResult.ok();
     }
@@ -125,7 +125,7 @@ public class KwcContractSaleController {
      * @return HttpResult
      */
     @PostMapping("delete")
-    public HttpResult delete(@Valid @RequestBody IdsReqVo reqVo) throws SystemException {
+    public HttpResult delete(@Valid @RequestBody IdsReqVo reqVo) {
         kwcContractTradeService.delete(reqVo.getIds());
         return HttpResult.ok();
     }
@@ -138,7 +138,7 @@ public class KwcContractSaleController {
      * @date 2023/7/17
      */
     @PostMapping("export")
-    public void export(@Valid @RequestBody QueryListReqVo reqVo) throws SystemException {
+    public void export(@Valid @RequestBody QueryListReqVo reqVo) {
         reqVo.setEntType(EntTypeEnum.SUPPLIER.getCode());
         kwcContractTradeService.export(reqVo);
     }
@@ -150,7 +150,7 @@ public class KwcContractSaleController {
      * @date: 2023/7/18
      */
     @PostMapping("queryCurrentEntSaleContractList")
-    public HttpResult queryCurrentEntSaleContractList() throws SystemException {
+    public HttpResult queryCurrentEntSaleContractList() {
         return HttpResult.ok(kwcContractTradeService.queryCurrentEntSaleContractList());
     }
 
@@ -161,7 +161,7 @@ public class KwcContractSaleController {
      * @date: 2023/7/18
      */
     @PostMapping("findListGroup")
-    public HttpResult findListGroup(@RequestBody QueryListReqVo reqVo) throws SystemException {
+    public HttpResult findListGroup(@RequestBody QueryListReqVo reqVo) {
         reqVo.setEntType(EntTypeEnum.SUPPLIER.getCode());
         return HttpResult.ok(kwcContractTradeService.findListGroup(reqVo));
     }

+ 1 - 1
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcOpenapiController.java

@@ -31,7 +31,7 @@ public class KwcOpenapiController {
      * @return HttpResult
      */
     @RequestMapping("eSignCallBack")
-    public HttpResult eSignCallBack(@Valid @RequestBody ESignCallBackReqVo reqVo) throws SystemException {
+    public HttpResult eSignCallBack(@Valid @RequestBody ESignCallBackReqVo reqVo) {
         kwcOpenapiService.eSignCallBack(reqVo);
         return HttpResult.ok();
     }

+ 4 - 4
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcPurchaseController.java

@@ -33,7 +33,7 @@ public class KwcPurchaseController {
      * @return HttpResult
      */
     @RequestMapping("queryListByPage")
-    public HttpResult queryListByPage(@Valid @RequestBody QueryListReqVo reqVo) throws SystemException {
+    public HttpResult queryListByPage(@Valid @RequestBody QueryListReqVo reqVo) {
         reqVo.setEntType(EntTypeEnum.PURCHASER.getCode());
         return HttpResult.ok(kwcContractTradeService.queryListByPage(reqVo));
     }
@@ -46,7 +46,7 @@ public class KwcPurchaseController {
      * @return HttpResult
      */
     @PostMapping("detail")
-    public HttpResult detail(@Valid @RequestBody IdReqVo reqVo) throws SystemException {
+    public HttpResult detail(@Valid @RequestBody IdReqVo reqVo) {
         return HttpResult.ok(kwcContractTradeService.detail(reqVo.getId()));
     }
 
@@ -58,7 +58,7 @@ public class KwcPurchaseController {
      * @date 2023/7/17
      */
     @PostMapping("export")
-    public void export(@Valid @RequestBody QueryListReqVo reqVo) throws SystemException {
+    public void export(@Valid @RequestBody QueryListReqVo reqVo) {
         reqVo.setEntType(EntTypeEnum.PURCHASER.getCode());
         kwcContractTradeService.export(reqVo);
     }
@@ -70,7 +70,7 @@ public class KwcPurchaseController {
      * @date: 2023/7/18
      */
     @PostMapping("findListGroup")
-    public HttpResult findListGroup(@RequestBody QueryListReqVo reqVo) throws SystemException {
+    public HttpResult findListGroup(@RequestBody QueryListReqVo reqVo) {
         reqVo.setEntType(EntTypeEnum.PURCHASER.getCode());
         return HttpResult.ok(kwcContractTradeService.findListGroup(reqVo));
     }

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

@@ -43,7 +43,7 @@ public class KwcContractLogisticsGoodsService {
      * @author: czh
      * @date: 2023/7/14
      */
-    public void saveContractLogisticsGoods(Long contractId, List<LogisticsGoodsInfoReqVo> goodsInfoList) throws SystemException {
+    public void saveContractLogisticsGoods(Long contractId, List<LogisticsGoodsInfoReqVo> goodsInfoList) {
         //todo 调dubbo接口返回商品详情 填充sku
 //        List<Long> goodsIdList = goodsInfoList.stream().map(LogisticsGoodsInfoReqVo::getGoodsId).toList();
 //        Map<Long, KwpGoods> goodsMap = goodsInfoService.getGoodsByIds(goodsIdList);

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

@@ -1,22 +1,15 @@
 package com.sckw.contract.service;
 
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.sckw.contract.dao.KwcContractLogisticsMapper;
-import com.sckw.contract.dao.KwcContractTradeMapper;
 import com.sckw.contract.dubbo.RemoteContractServiceImpl;
-import com.sckw.contract.factory.AsyncFactory;
-import com.sckw.contract.model.dto.req.EsignGetFlowReqDto;
 import com.sckw.contract.model.dto.req.QueryListReqDto;
-import com.sckw.contract.model.dto.res.ESignSubmitResDto;
 import com.sckw.contract.model.dto.res.QueryListResDto;
 import com.sckw.contract.model.entity.KwcContractLogistics;
 import com.sckw.contract.model.entity.KwcContractLogisticsGoods;
 import com.sckw.contract.model.entity.KwcContractLogisticsUnit;
-import com.sckw.contract.model.entity.KwcContractTrade;
 import com.sckw.contract.model.vo.req.*;
 import com.sckw.contract.model.vo.res.*;
 import com.sckw.core.common.enums.enums.DictEnum;
@@ -47,7 +40,6 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.io.*;
 import java.math.BigDecimal;
-import java.net.URL;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -81,6 +73,9 @@ public class KwcContractLogisticsService {
     @DubboReference(version = "1.0.0", group = "design", check = false)
     private RemoteSystemService remoteSystemService;
 
+    @DubboReference(version = "1.0.0", group = "design", check = false)
+    private RemoteUserService remoteUserService;
+
     @DubboReference(version = "1.0.0", group = "design", check = false)
     private GoodsInfoService goodsInfoService;
 
@@ -186,7 +181,7 @@ public class KwcContractLogisticsService {
      * @author: czh
      * @date: 2023/7/14
      */
-    public void supplement(ContractLogisticsReqVo reqVo) throws SystemException {
+    public void supplement(ContractLogisticsReqVo reqVo) {
         Long id = reqVo.getPid();
         KwcContractLogistics kwcContractLogistics = kwcContractLogisticsMapper.selectById(id);
         if (Objects.isNull(kwcContractLogistics)) {
@@ -346,7 +341,7 @@ public class KwcContractLogisticsService {
      * @date 2023/7/17
      */
     @Transactional(rollbackFor = {})
-    public Long submit(ContractLogisticsReqVo reqVo) throws SystemException {
+    public Long submit(ContractLogisticsReqVo reqVo) {
         Long id = reqVo.getId();
         //直接签约先存草稿再修改状态
         if (Objects.isNull(id)) {
@@ -701,8 +696,9 @@ public class KwcContractLogisticsService {
         return list;
     }
 
-    public void test() {
-        remoteContractService.queryContractBaseInfo(Collections.singletonList(165121415794659328L));
+    public String test() {
+        remoteUserService.checkUserBase("123123asdgasdg", 2);
+        return null;
     }
 
     @Transactional(rollbackFor = {})

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

@@ -38,7 +38,7 @@ public class KwcContractLogisticsUnitService {
      * @author: czh
      * @date 2023/7/16
      */
-    public void saveContractLogisticsUnit(Long contractId, LogisticsBaseInfoReqVo baseInfo) throws SystemException {
+    public void saveContractLogisticsUnit(Long contractId, LogisticsBaseInfoReqVo baseInfo) {
         List<Long> entIdList = new ArrayList<>();
         if (Objects.nonNull(baseInfo.getCheckedEntId())) {
             entIdList.add(baseInfo.getCheckedEntId());
@@ -62,7 +62,7 @@ public class KwcContractLogisticsUnitService {
      * @author: czh
      * @date 2023/7/16
      */
-    private void saveCheckAndCarrier(Long contractId, Map<Long, EntCacheResDto> entCacheResDtoMap, LogisticsBaseInfoReqVo logisticsBaseInfoReqVo) throws SystemException {
+    private void saveCheckAndCarrier(Long contractId, Map<Long, EntCacheResDto> entCacheResDtoMap, LogisticsBaseInfoReqVo logisticsBaseInfoReqVo) {
         Date date = new Date();
         //存托运企业
         Long checkedEntId = logisticsBaseInfoReqVo.getCheckedEntId();

+ 1 - 1
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfDriverDto.java

@@ -21,7 +21,7 @@ public class KwfDriverDto {
      * 司机名称
      */
     @NotBlank(message = "司机姓名不能为空!")
-    @Size(max=10, message = "司机姓名长度不能大于10个字符!")
+    @Size(max=25, message = "司机姓名长度不能大于25个字符!")
     private String name;
 
     /**

+ 1 - 1
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfTruckLicenseDto.java

@@ -40,7 +40,7 @@ public class KwfTruckLicenseDto {
     /**
      * 车辆所有人
      */
-    @Size(max=10, message = "车辆所有人长度不能大于10个字符!")
+    @Size(max=25, message = "车辆所有人长度不能大于25个字符!")
     private String owner;
 
     /**

+ 2 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfTruckReportDto.java

@@ -48,4 +48,6 @@ public class KwfTruckReportDto {
      */
     @NotBlank(message = "标准荷载不能为空!")
     private BigDecimal actualWeight;
+
+    private String remark;
 }

+ 1 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfDriverService.java

@@ -126,6 +126,7 @@ public class KwfDriverService {
                         put("truckId", report.get("truckId"));
                         put("truckNo", report.get("truckNo"));
                         put("trailerNo", report.get("truckTrailerNo"));
+                        put("authStatus", report.get("authStatus"));
                     }});
                 }
                 driverDetailVo.setTrucks(trucks);

+ 96 - 50
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfTruckReportService.java

@@ -521,59 +521,54 @@ public class KwfTruckReportService {
         //有效上报信息
         List<KwfTruckReportDto> effective = new ArrayList();
         //已有运力/识别失败
-        int haveCount = Global.NUMERICAL_ZERO, errorCount = Global.NUMERICAL_ZERO;
+        int haveCount = Global.NUMERICAL_ZERO, errorCount = Global.NUMERICAL_ZERO,
+            rowIndex = Global.NUMERICAL_ZERO, repeatCount = Global.NUMERICAL_ZERO;
+        List<String> errorMsg = new ArrayList<>();
+        List<String> haveMsg = new ArrayList<>();
+        List<String> repeatMsg = new ArrayList<>();
+        List<String> valueStr = new ArrayList<>();
         for (String str:params){
+            rowIndex ++;
             /**识别上报数据**/
             KwfTruckReportDto reportDto = analysis(str);
-            if (reportDto == null) {
+            if (reportDto == null || StringUtils.isNotBlank(reportDto.getRemark())) {
                 errorCount ++;
+                errorMsg.add("第" + rowIndex + "行数据有误," + reportDto.getRemark());
                 continue;
             }
 
-            /**车辆信息**/
-            //校验车辆档案是否存在
-            List<KwfTruck> trucks = truckDao.findTruck(new HashMap<>(Global.NUMERICAL_SIXTEEN) {{put("truckNo", reportDto.getTruckNo());}});
-            if (!CollectionUtils.isEmpty(trucks)) {
-                //校验车辆是否已上报
-                KwfTruck truck = trucks.get(Global.NUMERICAL_ZERO);
-                List<Map<String, Object>> reports = truckReportDao.findList(new HashMap<>(Global.NUMERICAL_SIXTEEN) {{
-                    put("truckId", truck.getId());
-                    put("entId", LoginUserHolder.getEntId());
-                }});
-                if (!CollectionUtils.isEmpty(reports)) {
-                    haveCount ++;
-                    continue;
-                }
+            /**校验车/司机是否已上报**/
+            String haveMessage = chenkHave(reportDto);
+            if (StringUtils.isNotBlank(haveMessage)) {
+                haveCount ++;
+                haveMsg.add("第" + rowIndex + "行数据," + haveMessage);
+                continue;
             }
 
-            /**档案信息**/
-            //校验司机档案是否存在
-            List<KwfDriver> drivers = driverDao.findDriver(new HashMap<>(Global.NUMERICAL_SIXTEEN) {{ put("phone", reportDto.getPhone()); }});
-            if (!CollectionUtils.isEmpty(drivers)) {
-                //校验司机是否已上报
-                KwfDriver driver = drivers.get(Global.NUMERICAL_ZERO);
-                List<Map<String, Object>> reports = truckReportDao.findList(new HashMap<>(Global.NUMERICAL_SIXTEEN) {{
-                    put("driverId", driver.getId());
-                    put("entId", LoginUserHolder.getEntId());
-                }});
-                if (!CollectionUtils.isEmpty(reports)) {
-                    haveCount ++;
-                    continue;
-                }
+            /**校验重复数据*/
+            if (valueStr.contains(reportDto.getTruckNo()+reportDto.getPhone())) {
+                repeatCount ++;
+                repeatMsg.add("第" + rowIndex + "行数据重复!");
+                continue;
+            } else {
+                valueStr.add(reportDto.getTruckNo() + reportDto.getPhone());
             }
-
             effective.add(reportDto);
         }
 
         /**返回数据**/
         Map<String, Object> resultMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
         resultMap.put("haveCount", haveCount);
+        resultMap.put("haveMsg", haveMsg);
         resultMap.put("errorCount", errorCount);
+        resultMap.put("errorMsg", errorMsg);
+        resultMap.put("repeatCount", repeatCount);
+        resultMap.put("repeatMsg", repeatMsg);
         resultMap.put("fail", haveCount + errorCount);
         resultMap.put("success", effective.size());
         resultMap.put("list", effective);
-
         return HttpResult.ok(resultMap);
+
     }
 
     /**
@@ -622,58 +617,109 @@ public class KwfTruckReportService {
      * @date 2023/7/18
      **/
     public KwfTruckReportDto analysis(String str) {
+        StringBuilder msg = new StringBuilder();
         /**识别上报数据**/
         KwfTruckReportDto reportDto = new KwfTruckReportDto();
         //非控校验
         if (StringUtils.isBlank(str) || StringUtils.isBlank(str.trim())) {
-            return null;
+            msg.append("数据为空!");
+            reportDto.setRemark(msg.toString());
+            return reportDto;
         }
         //字符截取-英文逗号/中文逗号
-        String[] strArray = str.split(Global.COMMA1);
-        strArray = (strArray == null || strArray.length <= 1) ? str.split(Global.COMMA) : strArray;
+        str = str.replaceAll(Global.COMMA1, Global.COMMA);
+        String[] strArray = str.split(Global.COMMA);
         if (strArray == null || strArray.length <= 1 || strArray.length != 5 ) {
-            return null;
+            msg.append("数据格式不正确!");
+            reportDto.setRemark(msg.toString());
+            return reportDto;
         }
 
         /**数据校验**/
         //车牌号-非空/长度为7
         String truckNo = strArray[0];
         if (StringUtils.isBlank(truckNo) || truckNo.trim().length() != 7) {
-            return null;
+            msg.append("车牌号格式不正确!");
         }
 
         //司机姓名-非空
         String name = strArray[1];
-        if (StringUtils.isBlank(name) || name.trim().length() == 0) {
-            return null;
+        if (StringUtils.isBlank(name) || name.trim().length() == 0 || name.trim().length() > 25) {
+            msg.append("司机姓名格式不正确!");
         }
 
         //司机电话-非空/手机号正则校验
         String phone = strArray[2];
-        if (StringUtils.isBlank(phone) || !RegularUtils.matchs(RegularUtils.PHONE_REG, phone)) {
-            return null;
+        if (StringUtils.isBlank(phone) || !RegularUtils.matchs(RegularUtils.PHONE_REG, phone.trim())) {
+            msg.append("司机电话格式不正确!");
         }
 
         //身份证号-非空/身份证正则校验
         String idcard = strArray[3];
-        if (StringUtils.isBlank(idcard) || !RegularUtils.matchs(RegularUtils.IDCARD, idcard)) {
-            return null;
+        if (StringUtils.isBlank(idcard) || !RegularUtils.matchs(RegularUtils.IDCARD, idcard.trim())) {
+            msg.append("身份证号格式不正确!");
         }
 
         //核定载量/吨-非空/数值正则校验
         String actualWeight = strArray[4];
-        if (StringUtils.isBlank(actualWeight) || !RegularUtils.matchs(RegularUtils.DECIMAL_REG, actualWeight)) {
-            return null;
+        actualWeight = StringUtils.isNotBlank(actualWeight) ? actualWeight.replaceAll(Global.UNIT_TON, Global.EMPTY_STRING) : actualWeight;
+        if (StringUtils.isBlank(actualWeight) || !RegularUtils.matchs(RegularUtils.DECIMAL_REG, actualWeight.trim())) {
+            msg.append("核定载量格式不正确!");
         }
 
-        reportDto.setTruckNo(truckNo);
-        reportDto.setName(name);
-        reportDto.setPhone(phone);
-        reportDto.setIdcard(idcard);
-        reportDto.setActualWeight(new BigDecimal(actualWeight));
+        if (msg.length() > Global.NUMERICAL_ZERO) {
+            reportDto.setRemark(msg.toString());
+            return reportDto;
+        }
+        reportDto.setTruckNo(truckNo.trim());
+        reportDto.setName(name.trim());
+        reportDto.setPhone(phone.trim());
+        reportDto.setIdcard(idcard.trim());
+        reportDto.setActualWeight(new BigDecimal(actualWeight.trim()));
         return reportDto;
     }
 
+    /**
+     * @param reportDto 上报对象
+     * @desc 校验车/司机是否已上报
+     * @author zk
+     * @date 2023/8/29
+     **/
+    public String chenkHave(KwfTruckReportDto reportDto){
+        /**车辆信息**/
+        //校验车辆档案是否存在
+        StringBuilder haveMsg = new StringBuilder();
+        List<KwfTruck> trucks = truckDao.findTruck(new HashMap<>(Global.NUMERICAL_SIXTEEN) {{put("truckNo", reportDto.getTruckNo());}});
+        if (!CollectionUtils.isEmpty(trucks)) {
+            //校验车辆是否已上报
+            KwfTruck truck = trucks.get(Global.NUMERICAL_ZERO);
+            List<Map<String, Object>> reports = truckReportDao.findList(new HashMap<>(Global.NUMERICAL_SIXTEEN) {{
+                put("truckId", truck.getId());
+                put("entId", LoginUserHolder.getEntId());
+            }});
+            if (!CollectionUtils.isEmpty(reports)) {
+                haveMsg.append(truck.getTruckNo() + "已上报!");
+            }
+        }
+
+        /**档案信息**/
+        //校验司机档案是否存在
+        List<KwfDriver> drivers = driverDao.findDriver(new HashMap<>(Global.NUMERICAL_SIXTEEN) {{ put("phone", reportDto.getPhone()); }});
+        if (!CollectionUtils.isEmpty(drivers)) {
+            //校验司机是否已上报
+            KwfDriver driver = drivers.get(Global.NUMERICAL_ZERO);
+            List<Map<String, Object>> reports = truckReportDao.findList(new HashMap<>(Global.NUMERICAL_SIXTEEN) {{
+                put("driverId", driver.getId());
+                put("entId", LoginUserHolder.getEntId());
+            }});
+            if (!CollectionUtils.isEmpty(reports)) {
+                haveMsg.append(driver.getPhone() + "已上报!");
+            }
+        }
+
+        return haveMsg.toString();
+    }
+
     /**
      * @param file 上传文件
      * @desc 参数校验

+ 9 - 9
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmAddressController.java

@@ -32,7 +32,7 @@ public class KwmAddressController {
      * @date: 2023/7/12
      */
     @PostMapping("/queryByPage")
-    public HttpResult queryByPage(@RequestBody AddressQueryReqVo reqVo) throws SystemException {
+    public HttpResult queryByPage(@RequestBody AddressQueryReqVo reqVo) {
         return HttpResult.ok(kwmAddressService.queryByPage(reqVo));
     }
 
@@ -45,7 +45,7 @@ public class KwmAddressController {
      * @date: 2023/7/12
      */
     @PostMapping("/bindDefault")
-    public HttpResult bindDefault(@Valid @RequestBody BindDefaultReqVo reqVo) throws SystemException {
+    public HttpResult bindDefault(@Valid @RequestBody BindDefaultReqVo reqVo) {
         kwmAddressService.bindDefault(reqVo);
         return HttpResult.ok(HttpStatus.MSG_005);
     }
@@ -58,7 +58,7 @@ public class KwmAddressController {
      * @date: 2023/7/12
      */
     @PostMapping("/update")
-    public HttpResult update(@Valid @RequestBody AddressUpdateReqVo reqVo) throws SystemException {
+    public HttpResult update(@Valid @RequestBody AddressUpdateReqVo reqVo) {
         kwmAddressService.update(reqVo);
         return HttpResult.ok(HttpStatus.MSG_005);
     }
@@ -71,7 +71,7 @@ public class KwmAddressController {
      * @date: 2023/7/12
      */
     @PostMapping("/add")
-    public HttpResult add(@Valid @RequestBody AddressAddReqVo reqVo) throws SystemException {
+    public HttpResult add(@Valid @RequestBody AddressAddReqVo reqVo) {
         kwmAddressService.add(reqVo);
         return HttpResult.ok(HttpStatus.MSG_003);
     }
@@ -84,7 +84,7 @@ public class KwmAddressController {
      * @date: 2023/7/12
      */
     @PostMapping("/delete")
-    public HttpResult delete(@Valid @RequestBody IdsReqVo reqVo) throws SystemException {
+    public HttpResult delete(@Valid @RequestBody IdsReqVo reqVo) {
         kwmAddressService.delete(reqVo.getIds());
         return HttpResult.ok(HttpStatus.MSG_008);
     }
@@ -97,7 +97,7 @@ public class KwmAddressController {
      * @date: 2023/7/12
      */
     @PostMapping("/export")
-    public void export(@Valid @RequestBody AddressQueryReqVo reqVo) throws SystemException {
+    public void export(@Valid @RequestBody AddressQueryReqVo reqVo) {
         kwmAddressService.export(reqVo);
     }
 
@@ -109,7 +109,7 @@ public class KwmAddressController {
      * @return HttpResult
      */
     @PostMapping("queryByEnt")
-    public HttpResult queryByEnt(@RequestBody QueryByEntReqVo reqVo) throws SystemException {
+    public HttpResult queryByEnt(@RequestBody QueryByEntReqVo reqVo) {
         return HttpResult.ok(kwmAddressService.queryByEnt(reqVo));
     }
 
@@ -121,12 +121,12 @@ public class KwmAddressController {
      * @date: 2023/7/25
      */
     @PostMapping("detail")
-    public HttpResult detail(@RequestBody IdsReqVo reqVo) throws SystemException {
+    public HttpResult detail(@RequestBody IdsReqVo reqVo) {
         return HttpResult.ok(kwmAddressService.detail(reqVo.getId()));
     }
 
     @PostMapping("test")
-    public HttpResult test(@RequestBody IdsReqVo reqVo) throws SystemException {
+    public HttpResult test(@RequestBody IdsReqVo reqVo) {
         return HttpResult.ok(kwmAddressService.test(reqVo.getId()));
     }
 

+ 6 - 6
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmCooperateApplyController.java

@@ -35,7 +35,7 @@ public class KwmCooperateApplyController {
      * @date: 2023/7/10
      */
     @PostMapping("/queryByPage")
-    public HttpResult queryByPage(@Valid @RequestBody CooperateApplyQueryReqVo reqVo) throws SystemException {
+    public HttpResult queryByPage(@Valid @RequestBody CooperateApplyQueryReqVo reqVo) {
         return HttpResult.ok(kwmCooperateApplyService.queryByPage(reqVo));
     }
 
@@ -47,7 +47,7 @@ public class KwmCooperateApplyController {
      * @date: 2023/7/11
      */
     @PostMapping("/initiate")
-    public HttpResult initiate(@Valid @RequestBody InitiateReqVo reqVo) throws SystemException {
+    public HttpResult initiate(@Valid @RequestBody InitiateReqVo reqVo) {
         kwmCooperateApplyService.initiate(reqVo);
         return HttpResult.ok(HttpStatus.MSG_017);
     }
@@ -60,7 +60,7 @@ public class KwmCooperateApplyController {
      * @date: 2023/7/11
      */
     @PostMapping("/cancel")
-    public HttpResult cancel(@Valid @RequestBody IdsReqVo reqVo) throws SystemException {
+    public HttpResult cancel(@Valid @RequestBody IdsReqVo reqVo) {
         kwmCooperateApplyService.cancel(reqVo);
         return HttpResult.ok(HttpStatus.MSG_018);
     }
@@ -73,7 +73,7 @@ public class KwmCooperateApplyController {
      * @date: 2023/7/11
      */
     @PostMapping("/approve")
-    public HttpResult approve(@Valid @RequestBody CooperateApproveReqVo reqVo) throws SystemException {
+    public HttpResult approve(@Valid @RequestBody CooperateApproveReqVo reqVo) {
         kwmCooperateApplyService.approve(reqVo);
         return HttpResult.ok(HttpStatus.MSG_004);
     }
@@ -85,7 +85,7 @@ public class KwmCooperateApplyController {
      * @date: 2023/7/11
      */
     @PostMapping("/export")
-    public void export(@Valid @RequestBody CooperateApplyQueryReqVo reqVo) throws SystemException {
+    public void export(@Valid @RequestBody CooperateApplyQueryReqVo reqVo) {
         kwmCooperateApplyService.export(reqVo);
     }
 
@@ -98,7 +98,7 @@ public class KwmCooperateApplyController {
      * @date: 2023/7/17
      */
     @PostMapping("/findListGroup")
-    public HttpResult findListGroup(@Valid @RequestBody CooperateApplyQueryReqVo reqVo) throws SystemException {
+    public HttpResult findListGroup(@Valid @RequestBody CooperateApplyQueryReqVo reqVo) {
         return HttpResult.ok(kwmCooperateApplyService.findListGroup(reqVo));
     }
 

+ 11 - 11
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmCooperateManageController.java

@@ -33,7 +33,7 @@ public class KwmCooperateManageController {
      * @date: 2023/7/10
      */
     @PostMapping("/queryByPage")
-    public HttpResult queryByPage(@Valid @RequestBody CooperateManageQueryReqVo reqVo) throws SystemException {
+    public HttpResult queryByPage(@Valid @RequestBody CooperateManageQueryReqVo reqVo) {
         return HttpResult.ok(kwmCooperateManageService.queryByPage(reqVo));
     }
 
@@ -45,7 +45,7 @@ public class KwmCooperateManageController {
      * @date: 2023/7/10
      */
     @PostMapping("queryDetail")
-    public HttpResult queryDetail(@Valid @RequestBody QueryDetailReqVo reqVo) throws SystemException {
+    public HttpResult queryDetail(@Valid @RequestBody QueryDetailReqVo reqVo) {
         return HttpResult.ok(kwmCooperateManageService.queryDetail(reqVo.getEntId()));
     }
 
@@ -57,7 +57,7 @@ public class KwmCooperateManageController {
      * @date: 2023/7/10
      */
     @PostMapping("bindManager")
-    public HttpResult bindManager(@Valid @RequestBody BindManagerReqVo reqVo) throws SystemException {
+    public HttpResult bindManager(@Valid @RequestBody BindManagerReqVo reqVo) {
         kwmCooperateManageService.bindManager(reqVo);
         return HttpResult.ok(HttpStatus.MSG_010);
     }
@@ -70,7 +70,7 @@ public class KwmCooperateManageController {
      * @date: 2023/7/11
      */
     @PostMapping("dissolve")
-    public HttpResult dissolve(@Valid @RequestBody IdsReqVo reqVo) throws SystemException {
+    public HttpResult dissolve(@Valid @RequestBody IdsReqVo reqVo) {
         kwmCooperateManageService.dissolve(reqVo.getIds(), CooperateStatusEnum.PASS.getCode());
         return HttpResult.ok(HttpStatus.MSG_023);
     }
@@ -83,7 +83,7 @@ public class KwmCooperateManageController {
      * @date: 2023/7/11
      */
     @PostMapping("restore")
-    public HttpResult restore(@Valid @RequestBody IdsReqVo reqVo) throws SystemException {
+    public HttpResult restore(@Valid @RequestBody IdsReqVo reqVo) {
         kwmCooperateManageService.restore(reqVo.getIds(), CooperateStatusEnum.OK.getCode());
         return HttpResult.ok(HttpStatus.MSG_005);
     }
@@ -97,7 +97,7 @@ public class KwmCooperateManageController {
      * @date: 2023/7/11
      */
     @PostMapping("delete")
-    public HttpResult delete(@Valid @RequestBody IdsReqVo reqVo) throws SystemException {
+    public HttpResult delete(@Valid @RequestBody IdsReqVo reqVo) {
         kwmCooperateManageService.delete(reqVo.getIds());
         return HttpResult.ok(HttpStatus.MSG_008);
     }
@@ -109,7 +109,7 @@ public class KwmCooperateManageController {
      * @date: 2023/7/11
      */
     @PostMapping("export")
-    public void export(@Valid @RequestBody CooperateManageQueryReqVo reqVo) throws SystemException {
+    public void export(@Valid @RequestBody CooperateManageQueryReqVo reqVo) {
         kwmCooperateManageService.export(reqVo);
     }
 
@@ -121,7 +121,7 @@ public class KwmCooperateManageController {
      * @date: 2023/7/17
      */
     @PostMapping("/findListGroup")
-    public HttpResult findListGroup(@Valid @RequestBody CooperateManageQueryReqVo reqVo) throws SystemException {
+    public HttpResult findListGroup(@Valid @RequestBody CooperateManageQueryReqVo reqVo) {
         return HttpResult.ok(kwmCooperateManageService.findListGroup(reqVo));
     }
 
@@ -133,7 +133,7 @@ public class KwmCooperateManageController {
      * @date: 2023/7/22
      */
     @PostMapping("findEntCooperate")
-    public HttpResult findEntCooperate(@RequestBody FindEntCooperateReqVo reqVo) throws SystemException {
+    public HttpResult findEntCooperate(@RequestBody FindEntCooperateReqVo reqVo) {
         return HttpResult.ok(kwmCooperateManageService.findEntCooperate(reqVo));
     }
 
@@ -146,7 +146,7 @@ public class KwmCooperateManageController {
      * @date: 2023/8/1
      */
     @PostMapping("findCooperateByEnt")
-    public HttpResult findCooperateByEnt(@RequestBody FindCooperateByEntReqVo reqVo) throws SystemException {
+    public HttpResult findCooperateByEnt(@RequestBody FindCooperateByEntReqVo reqVo) {
         return HttpResult.ok(kwmCooperateManageService.findCooperateByEnt(reqVo));
     }
 
@@ -158,7 +158,7 @@ public class KwmCooperateManageController {
      * @date: 2023/7/22
      */
     @PostMapping("findTargetEntCooperateInOur")
-    public HttpResult findTargetEntCooperateInOur(@RequestBody FindCooperateByEntReqVo reqVo) throws SystemException {
+    public HttpResult findTargetEntCooperateInOur(@RequestBody FindCooperateByEntReqVo reqVo) {
         return HttpResult.ok(kwmCooperateManageService.findTargetEntCooperateInOur(reqVo));
     }
 

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

@@ -272,7 +272,7 @@ public class KwmCooperateApplyService {
      * @author: czh
      * @date: 2023/7/11
      */
-    public void saveInitiate(InitiateReqVo reqVo, Long currentEntId, List<Integer> chooseCooperateTypes) throws SystemException {
+    public void saveInitiate(InitiateReqVo reqVo, Long currentEntId, List<Integer> chooseCooperateTypes) {
         Date date = new Date();
         Long id = reqVo.getId();
         if (Objects.isNull(reqVo.getId())) {

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

@@ -171,7 +171,7 @@ public class KwmCooperateManageService {
      * @author: czh
      * @date: 2023/7/10
      */
-    public void bindManager(BindManagerReqVo reqVo) throws SystemException {
+    public void bindManager(BindManagerReqVo reqVo) {
         commonBusinessService.bingManager(reqVo.getUserId(), reqVo.getId());
     }
 
@@ -183,9 +183,6 @@ public class KwmCooperateManageService {
      */
     @Transactional(rollbackFor = {})
     public void dissolve(String ids, Integer type) {
-        //todo 判断是否可以解除(若和所选企业有未完结的业务单据(销售订单/采购订单、托运订单/承运订单、对账单、结算单),不支持解除合作)
-
-        //提示:您与所选企业存在未完结业务,当前无法删除!
         List<KwmCooperate> kwmCooperates = kwmCooperateMapper.selectBatchIds(Arrays.asList(ids.split(Global.COMMA)));
         if (CollectionUtils.isEmpty(kwmCooperates)) {
             throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.COOPERATE_NOT_EXISTS);
@@ -287,7 +284,7 @@ public class KwmCooperateManageService {
      * @author: czh
      * @date: 2023/7/11
      */
-    public void export(CooperateManageQueryReqVo reqVo) throws SystemException {
+    public void export(CooperateManageQueryReqVo reqVo) {
         CooperateManageQueryReqDto reqDto = buildQueryParam(reqVo);
         List<CooperateManageQueryResDto> list = kwmCooperateMapper.findManageList(reqDto);
         if (CollectionUtils.isEmpty(list)) {

+ 8 - 46
sckw-modules/sckw-order/src/main/java/com/sckw/order/controller/KwoTradeOrderController.java

@@ -1,15 +1,10 @@
 package com.sckw.order.controller;
 
-import com.sckw.core.exception.BusinessException;
-import com.sckw.core.model.enums.OrderRuleEnum;
-import com.sckw.core.model.enums.RedisOrderGenerateEnum;
-import com.sckw.core.utils.OrderGenerateSeqNoUtils;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.order.model.vo.req.*;
 import com.sckw.order.serivce.KwoTradeOrderService;
 import io.seata.spring.annotation.GlobalTransactional;
 import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
 import org.springframework.http.MediaType;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -22,7 +17,6 @@ import org.springframework.web.bind.annotation.*;
 @RestController
 @RequestMapping(value = "/kwoTradeOrder")
 @RequiredArgsConstructor
-@Slf4j
 public class KwoTradeOrderController {
 
     private final KwoTradeOrderService kwoTradeOrderService;
@@ -37,16 +31,8 @@ public class KwoTradeOrderController {
     @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/addPurchaseOrderDraft", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult addPurchaseOrderDraft(@RequestBody @Validated PurchaseOrderDraftParam param) {
-        try {
-            return kwoTradeOrderService.addPurchaseOrderDraft(param);
-        } catch (Exception e) {
-            OrderGenerateSeqNoUtils.getSeqNoMinusOne(RedisOrderGenerateEnum.TRADE_ORDER, OrderRuleEnum.TRADE_ORDER);
-            log.error("采购下单草稿 error:{}", e.getMessage(), e);
-            if (e instanceof BusinessException){
-                throw new BusinessException(e.getMessage());
-            }
-            throw new BusinessException("采购下单草稿提交失败!");
-        }
+        kwoTradeOrderService.addPurchaseOrderDraft(param);
+        return HttpResult.ok("采购下单草稿保存成功");
     }
 
     /**
@@ -59,16 +45,8 @@ public class KwoTradeOrderController {
     @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/addPurchaseOrderSubmit", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult addPurchaseOrderSubmit(@RequestBody @Validated PurchaseOrderParam purchaseOrderParam) {
-        try {
-            return kwoTradeOrderService.addPurchaseOrderSubmit(purchaseOrderParam);
-        } catch (Exception e) {
-            OrderGenerateSeqNoUtils.getSeqNoMinusOne(RedisOrderGenerateEnum.TRADE_ORDER, OrderRuleEnum.TRADE_ORDER);
-            log.error("采购下单提交 error:{}", e.getMessage(), e);
-            if (e instanceof BusinessException){
-                throw new BusinessException(e.getMessage());
-            }
-            throw new BusinessException("采购下单提交失败!");
-        }
+        kwoTradeOrderService.addPurchaseOrderSubmit(purchaseOrderParam);
+        return HttpResult.ok("采购下单提交成功");
     }
 
     /**
@@ -81,16 +59,8 @@ public class KwoTradeOrderController {
     @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/addValetOrderDraft", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult addValetOrderDraft(@RequestBody @Validated ValetOrderDraftParam param) {
-        try {
-            return kwoTradeOrderService.addValetOrderDraft(param);
-        } catch (Exception e) {
-            OrderGenerateSeqNoUtils.getSeqNoMinusOne(RedisOrderGenerateEnum.TRADE_ORDER, OrderRuleEnum.TRADE_ORDER);
-            log.error("代客下单草稿 error:{}", e.getMessage(), e);
-            if (e instanceof BusinessException){
-                throw new BusinessException(e.getMessage());
-            }
-            throw new BusinessException("代客下单草稿提交失败!");
-        }
+        kwoTradeOrderService.addValetOrderDraft(param);
+        return HttpResult.ok("代客下单草稿保存成功");
     }
 
 
@@ -104,16 +74,8 @@ public class KwoTradeOrderController {
     @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/addValetOrderSubmit", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult addValetOrderSubmit(@RequestBody @Validated ValetOrderParam valetOrderParam) {
-        try {
-            return kwoTradeOrderService.addValetOrderSubmit(valetOrderParam);
-        } catch (Exception e) {
-            OrderGenerateSeqNoUtils.getSeqNoMinusOne(RedisOrderGenerateEnum.TRADE_ORDER, OrderRuleEnum.TRADE_ORDER);
-            log.error("代客下单提交 error:{}", e.getMessage(), e);
-            if (e instanceof BusinessException){
-                throw new BusinessException(e.getMessage());
-            }
-            throw new BusinessException("代客下单提交失败!");
-        }
+        kwoTradeOrderService.addValetOrderSubmit(valetOrderParam);
+        return HttpResult.ok("代客下单提交成功");
     }
 
     /**

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

@@ -95,18 +95,13 @@ public class KwoTradeOrderService {
      * @Param param:
      * @return: void
      */
-    public HttpResult addPurchaseOrderDraft(PurchaseOrderDraftParam param) {
-        String orderNo = getOrderNo();
-        if (StringUtils.isBlank(orderNo)) {
-            return HttpResult.error("采购下单草稿生成订单号异常!");
-        }
+    public void addPurchaseOrderDraft(PurchaseOrderDraftParam param) {
         KwoTradeOrder order = BeanUtils.copyProperties(param, KwoTradeOrder.class);
-        order.setEntId(LoginUserHolder.getEntId()).setTOrderNo(orderNo)
+        order.setEntId(LoginUserHolder.getEntId()).setTOrderNo(getOrderNo())
                 .setUnit(Objects.nonNull(param.getGoodsInfo()) ? param.getGoodsInfo().getUnit() : null)
                 .setSource(DictEnum.TORDER_SOURCE_1.getValue()).setStatus(Integer.valueOf(DictEnum.TORDER_STATUS_0.getValue()));
         kwoTradeOrderMapper.insert(order);
         addOtherOrderInfo(order, BeanUtils.copyProperties(param, ValetOrderParam.class), false);
-        return HttpResult.ok("采购下单草稿保存成功!");
     }
 
     /**
@@ -234,18 +229,13 @@ public class KwoTradeOrderService {
      * @Param param:
      * @return: void
      */
-    public HttpResult addValetOrderDraft(ValetOrderDraftParam param) {
-        String orderNo = getOrderNo();
-        if (StringUtils.isBlank(orderNo)) {
-            return HttpResult.error("代客下单草稿生成订单号异常!");
-        }
+    public void addValetOrderDraft(ValetOrderDraftParam param) {
         KwoTradeOrder order = BeanUtils.copyProperties(param, KwoTradeOrder.class);
-        order.setEntId(LoginUserHolder.getEntId()).setTOrderNo(orderNo)
+        order.setEntId(LoginUserHolder.getEntId()).setTOrderNo(getOrderNo())
                 .setUnit(Objects.nonNull(param.getGoodsInfo()) ? param.getGoodsInfo().getUnit() : null)
                 .setSource(DictEnum.TORDER_SOURCE_2.getValue()).setStatus(Integer.valueOf(DictEnum.TORDER_STATUS_0.getValue()));
         kwoTradeOrderMapper.insert(order);
         addOtherOrderInfo(order, BeanUtils.copyProperties(param, ValetOrderParam.class), false);
-        return HttpResult.ok("代客下单草稿保存成功!");
     }
 
     /**
@@ -255,11 +245,7 @@ public class KwoTradeOrderService {
      * @Param param:
      * @return: void
      */
-    public HttpResult addPurchaseOrderSubmit(PurchaseOrderParam param) {
-        String orderNo = getOrderNo();
-        if (StringUtils.isBlank(orderNo)) {
-            return HttpResult.error("采购下单提交生成订单号异常!");
-        }
+    public void addPurchaseOrderSubmit(PurchaseOrderParam param) {
         GoodsInfo goodsInfo = param.getGoodsInfo();
         if (Objects.isNull(goodsInfo.getPriceRangeId())) {
             throw new BusinessException("采购下单价格梯度信息不能为空!");
@@ -270,7 +256,7 @@ public class KwoTradeOrderService {
                 .setOrderSource(DictEnum.TORDER_SOURCE_1.getValue());
         orderCheck(orderCheckDTO, false);
         KwoTradeOrder order = BeanUtils.copyProperties(param, KwoTradeOrder.class);
-        order.setEntId(LoginUserHolder.getEntId()).setTOrderNo(orderNo)
+        order.setEntId(LoginUserHolder.getEntId()).setTOrderNo(getOrderNo())
                 .setUnit(param.getGoodsInfo().getUnit()).setSource(DictEnum.TORDER_SOURCE_1.getValue())
                 .setStatus(Integer.valueOf(DictEnum.TORDER_STATUS_1.getValue()));
         kwoTradeOrderMapper.insert(order);
@@ -280,7 +266,6 @@ public class KwoTradeOrderService {
             throw new BusinessException(updateResult.getMsg());
         }
         addOtherOrderInfo(order, BeanUtils.copyProperties(param, ValetOrderParam.class), false);
-        return HttpResult.ok("采购下单提交成功!");
     }
 
     /**
@@ -375,11 +360,7 @@ public class KwoTradeOrderService {
      * @Param param:
      * @return: void
      */
-    public HttpResult addValetOrderSubmit(ValetOrderParam param) {
-        String orderNo = getOrderNo();
-        if (StringUtils.isBlank(orderNo)) {
-            return HttpResult.error("代客下单提交生成订单号异常!");
-        }
+    public void addValetOrderSubmit(ValetOrderParam param) {
         OrderCheckDTO orderCheck = BeanUtils.copyProperties(param, OrderCheckDTO.class);
         getTopEnt(orderCheck, param.getUnitInfo());
         orderCheck.setGoodsId(param.getGoodsInfo().getGoodsId()).setUnitPrice(param.getGoodsInfo().getUnitPrice())
@@ -389,7 +370,7 @@ public class KwoTradeOrderService {
         contractCheck(contract);
         param.setContractInfo(contract);
         KwoTradeOrder order = BeanUtils.copyProperties(param, KwoTradeOrder.class);
-        order.setEntId(LoginUserHolder.getEntId()).setTOrderNo(orderNo)
+        order.setEntId(LoginUserHolder.getEntId()).setTOrderNo(getOrderNo())
                 .setUnit(param.getGoodsInfo().getUnit()).setSource(DictEnum.TORDER_SOURCE_2.getValue());
         String contractStatus = contract.getContractStatus();
         if (Objects.equals(contractStatus, DictEnum.CONTRACT_STATUS_0.getValue())) {
@@ -406,7 +387,6 @@ public class KwoTradeOrderService {
             throw new BusinessException(updateResult.getMsg());
         }
         addOtherOrderInfo(order, BeanUtils.copyProperties(param, ValetOrderParam.class), false);
-        return HttpResult.ok("代客下单提交成功!");
     }
 
 
@@ -418,8 +398,8 @@ public class KwoTradeOrderService {
     private String getOrderNo() {
         Date date = new Date();
         String lockKey = String.format(RedisConstant.TORDER_NO_GENERATE_KEY, DateUtils.formatDateToYYMMDD(date));
+        String key = OrderGenerateSeqNoUtils.getKey(RedisOrderGenerateEnum.TRADE_ORDER, OrderRuleEnum.TRADE_ORDER, date);
         try {
-            String key = OrderGenerateSeqNoUtils.getKey(RedisOrderGenerateEnum.TRADE_ORDER, OrderRuleEnum.TRADE_ORDER, date);
             if (Boolean.FALSE.equals(RedissonUtils.exists(key))) {
                 if (Boolean.FALSE.equals(RedissonUtils.tryLock(lockKey, 5L, 10L))) {
                     throw new BusinessException("业务繁忙,请稍后再试!");
@@ -432,10 +412,6 @@ public class KwoTradeOrderService {
                 }
             }
             return OrderGenerateSeqNoUtils.getOtherSeqNo(RedisOrderGenerateEnum.TRADE_ORDER, OrderRuleEnum.TRADE_ORDER);
-
-        } catch (Exception e) {
-            log.error("生成贸易订单号异常:{}",e.getMessage(),e);
-            return null;
         } finally {
             RedissonUtils.unlock(lockKey);
         }

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

@@ -43,7 +43,7 @@ public class KwoTradeOrderTrackService {
      */
     public List<KwoTradeOrderTrack> getByOrderId(Long orderId) {
         LambdaQueryWrapper<KwoTradeOrderTrack> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(KwoTradeOrderTrack::getTOrderId,orderId).eq(KwoTradeOrderTrack::getDelFlag, Global.NO).last("LIMIT 1");
+        wrapper.eq(KwoTradeOrderTrack::getTOrderId,orderId).eq(KwoTradeOrderTrack::getDelFlag, Global.NO);
         List<KwoTradeOrderTrack> list = kwoTradeOrderTrackMapper.selectList(wrapper);
         return CollectionUtils.emptyIfNull(list);
     }

+ 2 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwTransportService.java

@@ -200,6 +200,7 @@ public class KwTransportService {
                 statuses.add(CarWaybillEnum.REJECT_ORDER.getCode().longValue());
                 statuses.add(CarWaybillEnum.REFUSE_TRAFFIC.getCode().longValue());
                 statuses.add(CarWaybillEnum.REVOKED.getCode().longValue());
+                statuses.add(CarWaybillEnum.APPROVAL_NO_PASS.getCode().longValue());
                 criteria.and("status").in(statuses);
             } else if (!query.getStatus().equals("all")) {
                 criteria.and("status").is(Integer.valueOf(query.getStatus()));
@@ -383,6 +384,7 @@ public class KwTransportService {
                 vo.setStatus(waybillOrder.getStatus() == null ?
                         null : String.valueOf(waybillOrder.getStatus()));
             }
+            vo.setStatusLabel(CarWaybillEnum.getName(waybillOrder.getStatus()));
             vo.setSendCarTime(waybillOrder.getCreateTime() == null ?
                     null : DateUtil.getDateTime(waybillOrder.getCreateTime()));
             vo.setStartTime(waybillOrder.getStartTime() == null ?

+ 5 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/CarWaybillVo.java

@@ -57,6 +57,11 @@ public class CarWaybillVo implements Serializable {
      */
     private String  status;
 
+    /**
+     * 运单状态字符
+     */
+    private String  statusLabel;
+
     /**
      * 承运车队
      */

+ 5 - 5
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsDeptController.java

@@ -29,7 +29,7 @@ public class KwsDeptController {
      * @date 2023/5/30
      **/
     @GetMapping("/detail")
-    public HttpResult selectByKey(@RequestParam Long id) throws SystemException {
+    public HttpResult selectByKey(@RequestParam Long id) {
         int i = 1 / 0;
         KwsDept sysDict = kwsDeptService.selectByKey(id);
         return HttpResult.ok(sysDict);
@@ -43,7 +43,7 @@ public class KwsDeptController {
      * @date 2023/5/30
      **/
     @PostMapping("/findDeptTree")
-    public HttpResult findPage(@RequestBody KwsDept params) throws SystemException {
+    public HttpResult findPage(@RequestBody KwsDept params) {
         return HttpResult.ok(kwsDeptService.findTree(params));
     }
 
@@ -55,7 +55,7 @@ public class KwsDeptController {
      * @date 2023/5/30
      **/
     @PostMapping("/add")
-    public HttpResult add(@Valid @RequestBody KwsDept params) throws SystemException {
+    public HttpResult add(@Valid @RequestBody KwsDept params) {
         kwsDeptService.add(params);
         return HttpResult.ok(HttpStatus.MSG_003);
     }
@@ -68,7 +68,7 @@ public class KwsDeptController {
      * @date 2023/5/30
      **/
     @PostMapping("/update")
-    public HttpResult update(@Valid @RequestBody KwsDept params) throws SystemException {
+    public HttpResult update(@Valid @RequestBody KwsDept params) {
         kwsDeptService.update(params);
         return HttpResult.ok(HttpStatus.MSG_005);
     }
@@ -81,7 +81,7 @@ public class KwsDeptController {
      * @date 2023/5/30
      **/
     @PostMapping("/dels")
-    public HttpResult del(@RequestParam String ids) throws SystemException {
+    public HttpResult del(@RequestParam String ids) {
         kwsDeptService.deleteByKey(ids);
         return HttpResult.ok(HttpStatus.MSG_008);
     }

+ 10 - 10
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsEnterpriseController.java

@@ -32,7 +32,7 @@ public class KwsEnterpriseController {
      * @date 2023/06/02
      **/
     @GetMapping("/detail")
-    public HttpResult detail(@RequestParam Long id) throws SystemException {
+    public HttpResult detail(@RequestParam Long id) {
         return HttpResult.ok(kwsEntService.detail(id));
     }
 
@@ -44,7 +44,7 @@ public class KwsEnterpriseController {
      * @date 2023/5/30
      **/
     @PostMapping("/findPage")
-    public HttpResult findPage(@RequestBody EntFindPageReqVo pageReqVo) throws SystemException {
+    public HttpResult findPage(@RequestBody EntFindPageReqVo pageReqVo) {
         return HttpResult.ok(kwsEntService.findPage(pageReqVo));
     }
 
@@ -56,7 +56,7 @@ public class KwsEnterpriseController {
      * @date 2023/5/30
      **/
     @PostMapping("/findListGroup")
-    public HttpResult findListGroup(@RequestBody EntFindPageReqVo pageReqVo) throws SystemException {
+    public HttpResult findListGroup(@RequestBody EntFindPageReqVo pageReqVo) {
         return HttpResult.ok(kwsEntService.findListGroup(pageReqVo));
     }
 
@@ -68,7 +68,7 @@ public class KwsEnterpriseController {
      * @date 2023/06/02
      **/
     @GetMapping("/certificate")
-    public HttpResult certificate(@RequestParam Long id) throws SystemException {
+    public HttpResult certificate(@RequestParam Long id) {
         return HttpResult.ok(kwsEntService.certificate(id));
     }
 
@@ -92,7 +92,7 @@ public class KwsEnterpriseController {
      * @date: 2023/6/19
      */
     @PostMapping("/addEntSettle")
-    public HttpResult addEntSettle(@Valid @RequestBody AddEntSettleReqVo reqVo) throws SystemException {
+    public HttpResult addEntSettle(@Valid @RequestBody AddEntSettleReqVo reqVo) {
         kwsEntService.addEntSettle(reqVo);
         return HttpResult.ok(HttpStatus.MSG_003);
     }
@@ -106,7 +106,7 @@ public class KwsEnterpriseController {
      **/
     @PostMapping("/add")
     @Deprecated
-    public HttpResult add(@RequestBody KwsEnterprise params) throws SystemException {
+    public HttpResult add(@RequestBody KwsEnterprise params) {
         kwsEntService.add(params);
         return HttpResult.ok(HttpStatus.MSG_003);
     }
@@ -119,7 +119,7 @@ public class KwsEnterpriseController {
      **/
     @Deprecated
     @PostMapping("/update")
-    public HttpResult update(@RequestBody UpdateEntInfoReqVo reqVo) throws SystemException {
+    public HttpResult update(@RequestBody UpdateEntInfoReqVo reqVo) {
         kwsEntService.update(reqVo);
         return HttpResult.ok(HttpStatus.MSG_005);
     }
@@ -131,7 +131,7 @@ public class KwsEnterpriseController {
      * @date 2023/06/02
      **/
     @PostMapping("/updateCertificate")
-    public HttpResult updateCertificate(@RequestBody UpdateCertificateReqVo reqVo) throws SystemException {
+    public HttpResult updateCertificate(@RequestBody UpdateCertificateReqVo reqVo) {
         kwsEntService.updateCertificate(reqVo);
         return HttpResult.ok(HttpStatus.MSG_005);
     }
@@ -146,7 +146,7 @@ public class KwsEnterpriseController {
      * @date 2023/06/02
      **/
     @PostMapping("/dels")
-    public HttpResult del(@RequestBody IdReqVo reqVo) throws SystemException {
+    public HttpResult del(@RequestBody IdReqVo reqVo) {
         kwsEntService.deleteByKey(reqVo.getIds());
         return HttpResult.ok();
     }
@@ -172,7 +172,7 @@ public class KwsEnterpriseController {
      * @date 2023/06/02
      **/
     @GetMapping("/entCheck")
-    public HttpResult entCheck(@RequestParam Long entId) throws SystemException {
+    public HttpResult entCheck(@RequestParam Long entId) {
         return HttpResult.ok(kwsEntService.entCheck(entId));
     }
 

+ 5 - 5
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsMenuController.java

@@ -30,7 +30,7 @@ public class KwsMenuController {
      * @date 2023/5/30
      **/
     @GetMapping("/detail")
-    public HttpResult selectByKey(@RequestParam("id") Long id) throws SystemException {
+    public HttpResult selectByKey(@RequestParam("id") Long id) {
         return HttpResult.ok(kwsMenuService.selectByKey(id));
     }
 
@@ -42,7 +42,7 @@ public class KwsMenuController {
      * @date 2023/5/30
      **/
     @PostMapping("/findMenuTree")
-    public HttpResult findTree(@RequestBody FindMenuTreeReqVo reqVo) throws SystemException {
+    public HttpResult findTree(@RequestBody FindMenuTreeReqVo reqVo) {
         return HttpResult.ok(kwsMenuService.findTree(reqVo));
     }
 
@@ -56,7 +56,7 @@ public class KwsMenuController {
      * @date 2023/5/30
      **/
     @PostMapping("/add")
-    public HttpResult add(@Valid @RequestBody KwsMenu params) throws SystemException {
+    public HttpResult add(@Valid @RequestBody KwsMenu params) {
         kwsMenuService.add(params);
         return HttpResult.ok(HttpStatus.MSG_003);
     }
@@ -70,7 +70,7 @@ public class KwsMenuController {
      * @date 2023/5/30
      **/
     @PostMapping("/update")
-    public HttpResult update(@Valid @RequestBody KwsMenu params) throws SystemException {
+    public HttpResult update(@Valid @RequestBody KwsMenu params) {
         kwsMenuService.update(params);
         return HttpResult.ok(HttpStatus.MSG_005);
     }
@@ -83,7 +83,7 @@ public class KwsMenuController {
      * @date 2023/5/30
      **/
     @PostMapping("/dels")
-    public HttpResult del(@Valid @RequestBody DelsMenuReqVo ids) throws SystemException {
+    public HttpResult del(@Valid @RequestBody DelsMenuReqVo ids) {
         kwsMenuService.deleteByKey(ids.getIds());
         return HttpResult.ok(HttpStatus.MSG_008);
     }

+ 6 - 6
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsRoleController.java

@@ -31,7 +31,7 @@ public class KwsRoleController {
      * @date 2023/5/30
      **/
     @GetMapping("/detail")
-    public HttpResult selectByKey(Long id) throws SystemException {
+    public HttpResult selectByKey(Long id) {
         return HttpResult.ok(kwsRoleService.selectByKey(id));
     }
 
@@ -43,7 +43,7 @@ public class KwsRoleController {
      * @date 2023/5/30
      **/
     @PostMapping("/select")
-    public HttpResult select(@RequestBody HashMap params) throws SystemException {
+    public HttpResult select(@RequestBody HashMap params) {
         return HttpResult.ok(kwsRoleService.findPage(params));
     }
 
@@ -55,7 +55,7 @@ public class KwsRoleController {
      * @date 2023/5/30
      **/
     @PostMapping("/add")
-    public HttpResult add(@Valid @RequestBody EditRoleReqVo reqVo) throws SystemException {
+    public HttpResult add(@Valid @RequestBody EditRoleReqVo reqVo) {
         kwsRoleService.add(reqVo);
         return HttpResult.ok(HttpStatus.MSG_003);
     }
@@ -68,7 +68,7 @@ public class KwsRoleController {
      * @date 2023/5/30
      **/
     @PostMapping("/update")
-    public HttpResult update(@Valid @RequestBody EditRoleReqVo reqVo) throws SystemException {
+    public HttpResult update(@Valid @RequestBody EditRoleReqVo reqVo) {
         kwsRoleService.update(reqVo);
         return HttpResult.ok(HttpStatus.MSG_005);
     }
@@ -81,7 +81,7 @@ public class KwsRoleController {
      * @date 2023/5/30
      **/
     @PostMapping("/dels")
-    public HttpResult del(@RequestParam String ids) throws SystemException {
+    public HttpResult del(@RequestParam String ids) {
         kwsRoleService.deleteByKey(ids);
         return HttpResult.ok(HttpStatus.MSG_008);
     }
@@ -94,7 +94,7 @@ public class KwsRoleController {
      * @date: 2023/6/13
      */
     @PostMapping("userBindRole")
-    public HttpResult userBindRole(@RequestBody UserBindRoleReqVo reqVo) throws SystemException {
+    public HttpResult userBindRole(@RequestBody UserBindRoleReqVo reqVo) {
         kwsRoleService.userBindRole(reqVo);
         return HttpResult.ok(HttpStatus.MSG_010);
     }

+ 39 - 10
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsUserController.java

@@ -8,11 +8,12 @@ import com.sckw.core.model.page.PageResult;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.response.HttpResult;
+import com.sckw.system.api.model.dto.req.RegisterReqDto;
 import com.sckw.system.model.KwsUser;
+import com.sckw.system.model.vo.req.ForgetPasswordReqVo;
 import com.sckw.system.model.vo.req.ResetPasswordReqVo;
 import com.sckw.system.model.vo.req.UserAddReqVo;
 import com.sckw.system.model.vo.res.KwsUserResVo;
-import com.sckw.system.service.CommonService;
 import com.sckw.system.service.KwsUserService;
 import jakarta.validation.Valid;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -24,7 +25,6 @@ import java.util.List;
 
 /**
  * 用户
- *
  * @author zk
  * @date 2023-05-30
  */
@@ -35,9 +35,6 @@ public class KwsUserController {
     @Autowired
     private KwsUserService kwsUserService;
 
-    @Autowired
-    private CommonService commonService;
-
     /**
      * @param id 主键ID
      * @description 根据主键查询
@@ -45,7 +42,7 @@ public class KwsUserController {
      * @date 2023/5/30
      **/
     @GetMapping("/detail")
-    public HttpResult selectByKey(Long id) throws SystemException {
+    public HttpResult selectByKey(Long id) {
         return HttpResult.ok(kwsUserService.selectByKey(id));
     }
 
@@ -56,7 +53,7 @@ public class KwsUserController {
      * @date 2023/5/30
      **/
     @PostMapping("/select")
-    public HttpResult findPage(@RequestBody HashMap params) throws SystemException {
+    public HttpResult findPage(@RequestBody HashMap params) {
         // 设置分页参数
         PageHelper.startPage(PageResult.getPage(params), PageResult.getPageSize(params));
         params.put("entId", LoginUserHolder.getEntId());
@@ -72,7 +69,7 @@ public class KwsUserController {
      * @date 2023/5/30
      **/
     @PostMapping("/findList")
-    public HttpResult findList(@RequestBody KwsUser params) throws SystemException {
+    public HttpResult findList(@RequestBody KwsUser params) {
         return HttpResult.ok(kwsUserService.findList(params));
     }
 
@@ -97,7 +94,7 @@ public class KwsUserController {
      * @date 2023/5/30
      **/
     @PostMapping("/update")
-    public HttpResult update(@Valid @RequestBody UserAddReqVo params) throws SystemException {
+    public HttpResult update(@Valid @RequestBody UserAddReqVo params) {
         kwsUserService.update(params);
         return HttpResult.ok(HttpStatus.MSG_005);
     }
@@ -121,11 +118,27 @@ public class KwsUserController {
      * @date 2023/5/30
      **/
     @PostMapping("/dels")
-    public HttpResult del(@RequestParam String ids) throws SystemException {
+    public HttpResult del(@RequestParam String ids) {
         kwsUserService.deleteByKey(ids);
         return HttpResult.ok(HttpStatus.MSG_008);
     }
 
+
+    /**
+     * @param reqVo 忘记密码入参
+     * @return HttpResult
+     * @desc: 忘记密码
+     * @author: czh
+     * @date: 2023/6/19
+     */
+    @PostMapping("/forgetPassword")
+    public HttpResult forgetPassword(@Valid @RequestBody ForgetPasswordReqVo reqVo,
+                                     @RequestHeader(name = "System-Type", required = true) int systemType) {
+        reqVo.setSystemType(systemType);
+        kwsUserService.forgetPassword(reqVo);
+        return HttpResult.ok(HttpStatus.MSG_002);
+    }
+
     /**
      * @param reqVo 重置入参
      * @return HttpResult
@@ -139,6 +152,22 @@ public class KwsUserController {
         return HttpResult.ok(HttpStatus.MSG_005);
     }
 
+
+    /**
+     * @param reqVo 注册
+     * @return HttpResult
+     * @desc: 用户注册
+     * @author: czh
+     * @date: 2023/6/16
+     */
+    @PostMapping("/register")
+    public HttpResult register(@Valid @RequestBody RegisterReqDto reqVo,
+                               @RequestHeader(name = "System-Type", required = true) int systemType) {
+        reqVo.setSystemType(systemType);
+        kwsUserService.register(reqVo);
+        return HttpResult.ok(HttpStatus.MSG_007);
+    }
+
     /**
      * @param ids 主键
      * @return HttpResult

+ 2 - 2
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/SysAreaController.java

@@ -29,7 +29,7 @@ public class SysAreaController {
      * @date 2023/5/30
      **/
     @PostMapping("/findList")
-    public HttpResult findList(@RequestBody HashMap params) throws Exception {
+    public HttpResult findList(@RequestBody HashMap params) {
         List<Map<String, Object>> list = sysAreaService.findList(params);
         return HttpResult.ok(list);
     }
@@ -42,7 +42,7 @@ public class SysAreaController {
      * @date: 2023/7/31
      */
     @PostMapping("/findTree")
-    public HttpResult findTree(@RequestBody FindAreaTreeReqVo reqVo) throws Exception {
+    public HttpResult findTree(@RequestBody FindAreaTreeReqVo reqVo) {
         return HttpResult.ok(sysAreaService.findTree(reqVo));
     }
 

+ 9 - 9
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/SysDictController.java

@@ -38,7 +38,7 @@ public class SysDictController {
      * @date 2023/5/30
      **/
     @PostMapping("/addType")
-    public HttpResult addType(@RequestBody SysDictType params) throws SystemException {
+    public HttpResult addType(@RequestBody SysDictType params) {
         sysDictService.addType(params);
         return HttpResult.ok();
     }
@@ -51,7 +51,7 @@ public class SysDictController {
      * @date 2023/5/30
      **/
     @PostMapping("/updateType")
-    public HttpResult updateType(@RequestBody SysDictType params) throws SystemException {
+    public HttpResult updateType(@RequestBody SysDictType params) {
         sysDictService.updateType(params);
         return HttpResult.ok();
     }
@@ -64,7 +64,7 @@ public class SysDictController {
      * @date 2023/5/30
      **/
     @PostMapping("/select")
-    public HttpResult findPage(@RequestBody HashMap params) throws SystemException {
+    public HttpResult findPage(@RequestBody HashMap params) {
         // 设置分页参数
         PageHelper.startPage(PageResult.getPage(params), PageResult.getPageSize(params));
         List<SysDict> list = sysDictService.findPage(params);
@@ -80,7 +80,7 @@ public class SysDictController {
      * @date 2023/5/30
      **/
     @GetMapping("/detail")
-    public HttpResult selectByKey(Long id) throws SystemException {
+    public HttpResult selectByKey(Long id) {
         SysDict sysDict = sysDictService.selectByKey(id);
         return HttpResult.ok(sysDict);
     }
@@ -93,7 +93,7 @@ public class SysDictController {
      * @date 2023/5/30
      **/
     @PostMapping("/findList")
-    public HttpResult findList(@RequestBody HashMap params) throws SystemException {
+    public HttpResult findList(@RequestBody HashMap params) {
         return HttpResult.ok(sysDictService.findList(params));
     }
 
@@ -105,7 +105,7 @@ public class SysDictController {
      * @date 2023/5/30
      **/
     @PostMapping("/findDictTree")
-    public HttpResult findList(@RequestBody SysDict params) throws SystemException {
+    public HttpResult findList(@RequestBody SysDict params) {
         return HttpResult.ok(sysDictService.findDictTree(params.getType(), params.getValue()));
     }
 
@@ -117,7 +117,7 @@ public class SysDictController {
      * @date 2023/5/30
      **/
     @PostMapping("/add")
-    public HttpResult add(@RequestBody SysDict params) throws SystemException {
+    public HttpResult add(@RequestBody SysDict params) {
         sysDictService.add(params);
         return HttpResult.ok();
     }
@@ -130,7 +130,7 @@ public class SysDictController {
      * @date 2023/5/30
      **/
     @PostMapping("/update")
-    public HttpResult update(@RequestBody SysDict params) throws SystemException {
+    public HttpResult update(@RequestBody SysDict params) {
         sysDictService.update(params);
         return HttpResult.ok();
     }
@@ -143,7 +143,7 @@ public class SysDictController {
      * @date 2023/5/30
      **/
     @DeleteMapping("/dels")
-    public HttpResult del(@RequestParam String ids) throws SystemException {
+    public HttpResult del(@RequestParam String ids) {
         sysDictService.deleteByKey(ids);
         return HttpResult.ok();
     }

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

@@ -88,7 +88,7 @@ public class AddEntSettleReqVo implements Serializable {
     /**
      * 企业地址
      */
-    @NotNull(message = "企业地址编码不能为空")
+//    @NotNull(message = "企业地址编码不能为空")
     private Integer cityCode;
 
     /**

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

@@ -93,7 +93,7 @@ public class KwsDeptService {
      * @author: czh
      * @date: 2023/7/3
      */
-    public void deleteByKey(String ids) throws SystemException {
+    public void deleteByKey(String ids) {
         List<Long> list = Arrays.stream(ids.split(",")).map(Long::parseLong).toList();
         List<FindDeptUserPojo> findDeptUserPojoList = kwsDeptDao.findDeptUserByDeptIds(list);
         if (CollectionUtils.isNotEmpty(findDeptUserPojoList)) {
@@ -108,7 +108,7 @@ public class KwsDeptService {
      * @author: czh
      * @date: 2023/6/28
      */
-    public void deleteDept(List<KwsDept> kwsDepts) throws SystemException {
+    public void deleteDept(List<KwsDept> kwsDepts) {
         if (CollectionUtils.isEmpty(kwsDepts)) {
             return;
         }
@@ -130,7 +130,7 @@ public class KwsDeptService {
      * @return
      * @throws Exception
      */
-    public void update(KwsDept params) throws SystemException {
+    public void update(KwsDept params) {
         if(kwsDeptDao.update(params) <= 0){
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
         }
@@ -142,7 +142,7 @@ public class KwsDeptService {
      * @return
      * @throws Exception
      */
-    public KwsDept selectByKey(Long key) throws SystemException {
+    public KwsDept selectByKey(Long key) {
         return kwsDeptDao.selectByKey(key);
     }
 
@@ -152,7 +152,7 @@ public class KwsDeptService {
      * @return
      * @throws Exception
      */
-    public List<KwsDeptResVo> findTree(KwsDept params) throws SystemException {
+    public List<KwsDeptResVo> findTree(KwsDept params) {
         //机构数据
         List<KwsDeptResVo> deptList = findList(params);
         //跟节点

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

@@ -77,7 +77,7 @@ public class KwsEnterpriseService {
      * @author: czh
      * @date: 2023/6/19
      */
-    public void add(KwsEnterprise params) throws SystemException {
+    public void add(KwsEnterprise params) {
         if (kwsEnterpriseDao.insert(params) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
         }
@@ -92,7 +92,7 @@ public class KwsEnterpriseService {
      * @date: 2023/6/19
      */
     @Transactional(rollbackFor = {})
-    public void deleteByKey(String ids) throws SystemException {
+    public void deleteByKey(String ids) {
         //校验,有员工还在企业下则不能删除
         List<Long> list = Arrays.stream(ids.split(",")).map(Long::parseLong).toList();
         List<KwsEnterprise> kwsEnterprises = kwsEnterpriseDao.selectAllByKeys(list);
@@ -130,7 +130,7 @@ public class KwsEnterpriseService {
      * @date: 2023/6/19
      */
     @Transactional(rollbackFor = Exception.class)
-    public void update(UpdateEntInfoReqVo reqVo) throws SystemException {
+    public void update(UpdateEntInfoReqVo reqVo) {
         /*1、更新企业信息表*/
         KwsEnterprise kwsEnterprise = checkKwsEnterpriseById(LoginUserHolder.getEntId());
         commonService.checkEntRepeat(reqVo.getFirmName(), "");
@@ -153,7 +153,7 @@ public class KwsEnterpriseService {
      * @author: czh
      * @date: 2023/7/26
      */
-    public KwsEntCertificate checkEntCertificate(long id) throws SystemException {
+    public KwsEntCertificate checkEntCertificate(long id) {
         KwsEntCertificate kwsEntCertificate = kwsEntCertificateDao.selectByKey(id);
         if (Objects.isNull(kwsEntCertificate) || kwsEntCertificate.getDelFlag() == Global.YES) {
             throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.ENTCERTIFICATES_NOT_EXISTS);
@@ -181,7 +181,7 @@ public class KwsEnterpriseService {
      * @author: czh
      * @date: 2023/6/9
      */
-    public PageResult findPage(EntFindPageReqVo reqVo) throws SystemException {
+    public PageResult findPage(EntFindPageReqVo reqVo) {
         PageHelper.startPage(reqVo.getPage(), reqVo.getPageSize());
         List<FindEntListPojo> list = findPojo(reqVo);
         List<EntFindPageResVo> result = new ArrayList<>();
@@ -252,7 +252,7 @@ public class KwsEnterpriseService {
      * 新增企业(注册)
      */
     @Transactional(rollbackFor = Exception.class)
-    public void register(EntRegisterReqVo reqVo) throws SystemException {
+    public void register(EntRegisterReqVo reqVo) {
         checkRegisterParam(reqVo);
 
         /*1、存企业信息表*/
@@ -376,7 +376,7 @@ public class KwsEnterpriseService {
      * 企业审批
      */
     @Transactional(rollbackFor = Exception.class)
-    public void approval(ApprovalReqVo reqVo) throws SystemException {
+    public void approval(ApprovalReqVo reqVo) {
         Integer status = reqVo.getStatus();
         Long entId = reqVo.getEntId();
         List<KwsEntCertificate> kwsEntCertificateList = kwsEntCertificateDao.selectByEntId(entId);
@@ -446,7 +446,7 @@ public class KwsEnterpriseService {
      * @author: czh
      * @date: 2023/7/26
      */
-    private KwsEnterprise checkKwsEnterpriseById(long id) throws SystemException {
+    private KwsEnterprise checkKwsEnterpriseById(long id) {
         KwsEnterprise kwsEnterprise = queryKwsEnterpriseById(id);
         if (Objects.isNull(kwsEnterprise) || kwsEnterprise.getDelFlag() == Global.YES) {
             throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.ENT_NOT_EXISTS);
@@ -468,7 +468,7 @@ public class KwsEnterpriseService {
     /**
      * 企业冻结/解冻
      */
-    public void freeze(FreezeReqVo reqVo) throws SystemException {
+    public void freeze(FreezeReqVo reqVo) {
         KwsEnterprise kwsEnterprise = checkKwsEnterpriseById(reqVo.getId());
         kwsEnterprise.setStatus(reqVo.getStatus());
         if (kwsEnterpriseDao.update(kwsEnterprise) <= 0) {
@@ -479,7 +479,7 @@ public class KwsEnterpriseService {
     /**
      * 企业证件信息
      */
-    public List<CertificateResVo> certificate(Long entId) throws SystemException {
+    public List<CertificateResVo> certificate(Long entId) {
         /*查企业资质*/
         List<KwsEntCertificate> kwsEntCertificates = kwsEntCertificateDao.selectByEntId(entId);
         if (CollectionUtils.isEmpty(kwsEntCertificates)) {
@@ -500,7 +500,7 @@ public class KwsEnterpriseService {
     /**
      * 企业证件信息
      */
-    public List<CertificateResVo> queryCertificate(Long entId) throws SystemException {
+    public List<CertificateResVo> queryCertificate(Long entId) {
         /*查企业资质*/
         List<KwsEntCertificate> kwsEntCertificates = kwsEntCertificateDao.selectByEntId(entId);
         if (CollectionUtils.isEmpty(kwsEntCertificates)) {
@@ -536,7 +536,7 @@ public class KwsEnterpriseService {
      * @date: 2023/6/19
      */
     @Transactional(rollbackFor = {})
-    public void addEntSettle(AddEntSettleReqVo reqVo) throws SystemException {
+    public void addEntSettle(AddEntSettleReqVo reqVo) {
         checkAddEntSettleParam(reqVo);
         //运营端新增企业入驻,直接通过
         if (Objects.isNull(reqVo.getEntPid())) {
@@ -575,6 +575,7 @@ public class KwsEnterpriseService {
         kwsEnterprise.setPhone(reqVo.getPhone());
         kwsEnterprise.setCreateBy(LoginUserHolder.getUserId());
         kwsEnterprise.setUpdateBy(LoginUserHolder.getUserId());
+        kwsEnterprise.setCityCode(reqVo.getCityCode());
         if (kwsEnterpriseDao.insert(kwsEnterprise) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
         }

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

@@ -53,7 +53,7 @@ public class KwsMenuService {
      * @date: 2023/7/7
      */
     @Transactional(rollbackFor = {})
-    public void add(KwsMenu params) throws SystemException {
+    public void add(KwsMenu params) {
         Long parentId = params.getParentId();
         KwsMenu parent = null;
         if (!Objects.isNull(parentId) && parentId.compareTo(0L) != 0) {
@@ -160,7 +160,7 @@ public class KwsMenuService {
      * @author: czh
      * @date: 2023/6/25
      */
-    public void deleteByKey(String ids) throws SystemException {
+    public void deleteByKey(String ids) {
         List<Long> list = Arrays.stream(ids.split(Global.COMMA)).map(Long::parseLong).toList();
         /*1、删除菜单*/
         List<KwsMenu> kwsMenus = kwsMenuDao.selectByKeys(list);
@@ -185,7 +185,7 @@ public class KwsMenuService {
      * @author: czh
      * @date: 2023/6/25
      */
-    public void deleteMenuRightsByMenuIds(List<Long> menuIdList) throws SystemException {
+    public void deleteMenuRightsByMenuIds(List<Long> menuIdList) {
         deleteMenuRights(kwsMenuRightsDao.selectByMenuIds(menuIdList));
     }
 
@@ -195,7 +195,7 @@ public class KwsMenuService {
      * @author: czh
      * @date: 2023/6/25
      */
-    public void deleteMenuRightsByRoleIds(List<Long> roleIdList) throws SystemException {
+    public void deleteMenuRightsByRoleIds(List<Long> roleIdList) {
         deleteMenuRights(kwsMenuRightsDao.selectByRoleIds(roleIdList));
     }
 
@@ -219,7 +219,7 @@ public class KwsMenuService {
      * @author: czh
      * @date: 2023/7/3
      */
-    public void update(KwsMenu params) throws SystemException {
+    public void update(KwsMenu params) {
         if (kwsMenuDao.update(params) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
         }
@@ -232,7 +232,7 @@ public class KwsMenuService {
      * @author: czh
      * @date: 2023/7/7
      */
-    public MenuDetailResVo selectByKey(Long key) throws SystemException {
+    public MenuDetailResVo selectByKey(Long key) {
         KwsMenu kwsMenu = kwsMenuDao.selectByKey(key);
         //前端特殊处理,当父id为0时,设成null
         if (kwsMenu.getParentId().compareTo(0L) == 0) {
@@ -251,7 +251,7 @@ public class KwsMenuService {
      * @author: czh
      * @date: 2023/7/7
      */
-    public List<FindMenuTreeResVo> findTree(FindMenuTreeReqVo reqVo) throws SystemException {
+    public List<FindMenuTreeResVo> findTree(FindMenuTreeReqVo reqVo) {
         FindMenuTreePojo findMenuTreePojo = new FindMenuTreePojo();
         BeanUtils.copyProperties(reqVo, findMenuTreePojo);
 

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

@@ -179,7 +179,7 @@ public class KwsRoleService {
      * @author: czh
      * @date: 2023/6/25
      */
-    public void deleteByDeptIds(List<Long> unitIdList) throws SystemException {
+    public void deleteByDeptIds(List<Long> unitIdList) {
         List<KwsRole> kwsRoles = kwsRoleDao.selectBatchByUnitIds(unitIdList);
         if (CollectionUtils.isEmpty(kwsRoles)) {
             return;
@@ -192,7 +192,7 @@ public class KwsRoleService {
      *
      * @param ids 主键
      */
-    public void deleteByKey(String ids) throws SystemException {
+    public void deleteByKey(String ids) {
         List<Long> idList = Arrays.stream(ids.split(",")).map(Long::parseLong).toList();
         List<KwsRole> kwsRoles = kwsRoleDao.selectBatchByKeys(idList);
         if (CollectionUtils.isEmpty(kwsRoles)) {
@@ -213,7 +213,7 @@ public class KwsRoleService {
      * @date: 2023/6/28
      */
     @Transactional(rollbackFor = {})
-    public void deleteRole(List<KwsRole> kwsRoles) throws SystemException {
+    public void deleteRole(List<KwsRole> kwsRoles) {
         /*1、删角色*/
         for (KwsRole kwsRole : kwsRoles) {
             kwsRole.setDelFlag(Global.YES);
@@ -250,7 +250,7 @@ public class KwsRoleService {
      * 更新记录
      */
     @Transactional(rollbackFor = {})
-    public void update(EditRoleReqVo reqVo) throws SystemException {
+    public void update(EditRoleReqVo reqVo) {
         KwsRole kwsRole = kwsRoleDao.selectByKey(reqVo.getId());
         if (Objects.isNull(kwsRole)) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
@@ -333,7 +333,7 @@ public class KwsRoleService {
      * @param params 分页入参
      * @return List
      */
-    public PageResult findPage(Map<String, Object> params) throws SystemException {
+    public PageResult findPage(Map<String, Object> params) {
         PageHelper.startPage(PageResult.getPage(params), PageResult.getPageSize(params));
         params.put("entId", LoginUserHolder.getEntId());
         List<RoleResVo> roleResVos = kwsRoleDao.findPage(params);

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

@@ -1,5 +1,6 @@
 package com.sckw.system.service;
 
+import com.sckw.core.common.enums.enums.DictEnum;
 import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.enums.ApprovalEnum;
@@ -7,6 +8,7 @@ import com.sckw.core.model.enums.SystemTypeEnum;
 import com.sckw.core.utils.*;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
+import com.sckw.redis.constant.RedisConstant;
 import com.sckw.redis.utils.RedissonUtils;
 import com.sckw.system.api.model.dto.req.RegisterReqDto;
 import com.sckw.system.api.model.dto.req.UpdatePasswordReqDto;
@@ -110,7 +112,13 @@ public class KwsUserService {
      * @date: 2023/7/7
      */
     @Transactional(rollbackFor = {})
-    public RegisterResDto register(RegisterReqDto reqDto) throws SystemException {
+    public RegisterResDto register(RegisterReqDto reqDto) {
+//        String key = StringUtils.format(RedisConstant.MESSAGE_SMS_VERIFY_CODE_VALUE_KEY, DictEnum.SMS_REGISTER.getValue(), reqDto.getPhone());
+//        String sms = RedissonUtils.getString(key);
+//        if (!reqDto.getCaptcha().equals(sms)) {
+//            throw new SystemException(HttpStatus.CODE_10301, HttpStatus.CAPTCHA_ERROR);
+//        }
+
         commonService.checkEntRepeat(reqDto.getEntName(), reqDto.getPhone());
         /*1、数据校验*/
         checkAccountValid(reqDto.getPhone(), reqDto.getSystemType());
@@ -248,7 +256,7 @@ public class KwsUserService {
      * 删除记录-根据主键
      */
     @Transactional(rollbackFor = {})
-    public void deleteByKey(String ids) throws SystemException {
+    public void deleteByKey(String ids) {
         /*1.数据校验*/
         if (StringUtils.isBlank(ids)) {
             throw new SystemException(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.ACCOUNT_MISSING);
@@ -275,7 +283,7 @@ public class KwsUserService {
      * @param params KwsUser
      */
     @Transactional(rollbackFor = {})
-    public void update(UserAddReqVo params) throws SystemException {
+    public void update(UserAddReqVo params) {
         commonService.checkPhone(params.getAccount());
         KwsUser kwsUser = kwsUserDao.selectByKey(params.getId());
         if (Objects.isNull(kwsUser)) {
@@ -353,14 +361,14 @@ public class KwsUserService {
     /**
      * 分页查询
      */
-    public List<KwsUserResVo> findPage(Map<String, Object> params) throws SystemException {
+    public List<KwsUserResVo> findPage(Map<String, Object> params) {
         return kwsUserDao.findPage(params);
     }
 
     /**
      * 查询
      */
-    public List<KwsUserResVo> findList(KwsUser params) throws SystemException {
+    public List<KwsUserResVo> findList(KwsUser params) {
         return kwsUserDao.findList(params);
     }
 
@@ -405,7 +413,7 @@ public class KwsUserService {
         updatePwd(newPassword, kwsUser);
     }
 
-    private void updatePwd(String newPassword, KwsUser kwsUser) throws SystemException {
+    private void updatePwd(String newPassword, KwsUser kwsUser) {
         kwsUser.setPassword(PasswordUtils.entryptPassword(newPassword));
         kwsUser.setSalt(PasswordUtils.getSaltSubPwd(kwsUser.getPassword()));
         if (kwsUserDao.update(kwsUser) <= 0) {
@@ -416,13 +424,13 @@ public class KwsUserService {
     /**
      * 忘记密码
      */
-    public void forgetPassword(ForgetPasswordReqVo reqVo) throws SystemException {
+    public void forgetPassword(ForgetPasswordReqVo reqVo) {
         //查用户信息
         KwsUser kwsUser = checkUserBase(reqVo.getAccount(), reqVo.getSystemType());
 
         //从缓存中取出验证码,校验
-        String sms = "12345";
-//        String sms = RedissonUtils.getString(Global.getForgetKey(reqVo.getSystemType(), reqVo.getAccount()));
+        String key = StringUtils.format(RedisConstant.MESSAGE_SMS_VERIFY_CODE_VALUE_KEY, DictEnum.SMS_REGISTER.getValue(), reqVo.getAccount());
+        String sms = RedissonUtils.getString(key);
         if (!reqVo.getCaptcha().equals(sms)) {
             throw new SystemException(HttpStatus.CODE_10301, HttpStatus.CAPTCHA_ERROR);
         }
@@ -438,9 +446,9 @@ public class KwsUserService {
      * @author: czh
      * @date: 2023/6/16
      */
-    public KwsUser checkUserBase(String account, int systemType) throws SystemException {
+    public KwsUser checkUserBase(String account, int systemType) {
         KwsUser kwsUser = getUserByAccount(account, systemType);
-        if (Objects.isNull(kwsUser)) {
+        if (Objects.isNull(kwsUser) || kwsUser.getStatus().equals(Global.YES)) {
             throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.ACCOUNT_NOT_EXISTS);
         }
         return kwsUser;
@@ -463,7 +471,7 @@ public class KwsUserService {
      * @param password   入参传的密码
      * @param currentPwd 当前用户的密码
      */
-    public void checkPassword(String password, String currentPwd) throws SystemException {
+    public void checkPassword(String password, String currentPwd) {
         if (!PasswordUtils.validatePassword(password, currentPwd)) {
             throw new SystemException(HttpStatus.CODE_10301, HttpStatus.PASSWD_ERROR);
         }
@@ -552,6 +560,7 @@ public class KwsUserService {
             if (kwsUserDao.update(kwsUser) <= 0) {
                 throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
             }
+            RedissonUtils.remove(Global.getFullUserLoginKey(kwsUser.getSystemType(), kwsUser.getId()));
         }
     }
 

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

@@ -46,7 +46,7 @@ public class SysDictService {
      * @author: czh
      * @date: 2023/7/7
      */
-    public void addType(SysDictType params) throws SystemException {
+    public void addType(SysDictType params) {
         checkType(params.getType());
         if (sysDictTypeDao.insert(params) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
@@ -74,7 +74,7 @@ public class SysDictService {
      * @author: czh
      * @date: 2023/7/7
      */
-    public void updateType(SysDictType params) throws SystemException {
+    public void updateType(SysDictType params) {
         checkType(params.getType());
         if (sysDictTypeDao.update(params) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
@@ -86,7 +86,7 @@ public class SysDictService {
 
      * @return SysDict
      */
-    public List<SysDict> findPage(Map<String, Object> params) throws SystemException {
+    public List<SysDict> findPage(Map<String, Object> params) {
         return sysDictDao.findPage(params);
     }
 
@@ -94,7 +94,7 @@ public class SysDictService {
      * @param params 实体
      * @desc: 添加新纪录
      */
-    public void add(SysDict params) throws SystemException {
+    public void add(SysDict params) {
         checkDict(params.getDictId(), params.getValue(), params.getLabel());
         if (sysDictDao.insert(params) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
@@ -107,7 +107,7 @@ public class SysDictService {
      * @author: czh
      * @date: 2023/7/7
      */
-    public void checkDict(Long dictTypeId, String value, String label) throws SystemException {
+    public void checkDict(Long dictTypeId, String value, String label) {
         SysDict sysDict = sysDictDao.queryUnitDict(dictTypeId, value, label);
         if (!Objects.isNull(sysDict)) {
             throw new SystemException(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.DICT_EXISTS);
@@ -120,7 +120,7 @@ public class SysDictService {
      * @author: czh
      * @date: 2023/7/7
      */
-    public void deleteByKey(String ids) throws SystemException {
+    public void deleteByKey(String ids) {
         /*1.数据校验*/
         if (StringUtils.isBlank(ids)) {
             throw new SystemException(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.ID_MISSING);
@@ -144,7 +144,7 @@ public class SysDictService {
      * @author: czh
      * @date: 2023/7/7
      */
-    public void update(SysDict params) throws SystemException {
+    public void update(SysDict params) {
         checkDict(params.getDictId(), params.getValue(), params.getLabel());
         if (sysDictDao.update(params) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
@@ -160,7 +160,7 @@ public class SysDictService {
      * @author: czh
      * @date: 2023/7/7
      */
-    public SysDict selectByKey(Long key) throws SystemException {
+    public SysDict selectByKey(Long key) {
         return sysDictDao.selectByKey(key);
     }
 
@@ -169,7 +169,7 @@ public class SysDictService {
      * @param params map
      * @return List
      */
-    public List<Map<String, Object>> findList(Map<String, Object> params) throws SystemException {
+    public List<Map<String, Object>> findList(Map<String, Object> params) {
         return sysDictDao.findList(params);
     }
 

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/KwtWaybillOrderController.java

@@ -171,7 +171,7 @@ public class KwtWaybillOrderController {
      **/
     @PostMapping("/cancelSendCar")
     public HttpResult cancelSendCar(@RequestBody List<Long> ids){
-        return waybillOrderService.cancelSendCar(ids);
+        return waybillOrderService.cancelSendCarV1(ids);
     }
 
     /**

+ 61 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/enterpriseApp/AppWayBillController.java

@@ -0,0 +1,61 @@
+package com.sckw.transport.controller.enterpriseApp;
+
+import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.response.HttpResult;
+import com.sckw.transport.service.WaybillManagementService;
+import jakarta.validation.Valid;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author jc
+ * @description 企业端app运单controller
+ * @date 2023-08-21 16:08:41
+ */
+@Slf4j
+@RestController
+@RequestMapping("/appKwtWayBill")
+public class AppWayBillController {
+
+    @Autowired
+    WaybillManagementService waybillManagementService;
+
+    /**
+     * APP 运单统计分类 - [运输中|已完成]
+     * @param keyword
+     * @return
+     */
+    @Valid
+    @RequestMapping(name = "APP运单统计分类", value = "/waybillStatistic", method = RequestMethod.GET)
+    public HttpResult waybillStatistic(@RequestParam("keyword") String keyword) {
+        try {
+            return waybillManagementService.waybillDataStatisticApp(keyword);
+        } catch (Exception e) {
+            log.error("APP运单统计分类:订单id {},error {} ", keyword, e.getMessage(), e);
+            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
+        }
+    }
+
+    /**
+     * APP 运单列表 - [运输中|已完成]
+     * @param keyword 搜索关键字
+     * @param status 分类状态
+     * @return
+     */
+    @Valid
+    @RequestMapping(name = "APP运单列表", value = "/waybillData", method = RequestMethod.GET)
+    public HttpResult waybillData(
+            @RequestParam("keyword") String keyword,
+            @RequestParam("status") String status,
+            @RequestParam("page") Integer page,
+            @RequestParam("pageSize") Integer pageSize
+            ) {
+        try {
+            return waybillManagementService.waybillDataApp(status, page, pageSize, keyword);
+        } catch (Exception e) {
+            log.error("APP运单列表:订单id {},error {} ", keyword, e.getMessage(), e);
+            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
+        }
+    }
+}

+ 17 - 8
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderCirculateMapper.java

@@ -5,22 +5,31 @@ import com.sckw.transport.model.KwtLogisticsOrderCirculate;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.Date;
+import java.util.Map;
 import java.util.List;
 
 @Mapper
 public interface KwtLogisticsOrderCirculateMapper extends BaseMapper<KwtLogisticsOrderCirculate> {
-    int deleteByPrimaryKey(Long id);
 
+    /**
+     * 新增
+     * @param params 新增信息
+     * @return
+     */
     @Override
-    int insert(KwtLogisticsOrderCirculate record);
-
-    int insertSelective(KwtLogisticsOrderCirculate record);
+    int insert(KwtLogisticsOrderCirculate params);
 
-    KwtLogisticsOrderCirculate selectByPrimaryKey(Long id);
-
-    int updateByPrimaryKeySelective(KwtLogisticsOrderCirculate record);
+    /**
+     * 更新
+     * @param newId 车辆运单ID
+     * @param wOrderId 车辆运单ID
+     * @param id 循环单ID
+     * @return
+     */
+    int updateIdByKey(@Param("newId") Long newId, @Param("wOrderId") Long wOrderId, @Param("id") Long id,
+                      @Param("updateBy") Long updateBy, @Param("updateTime") Date updateTime);
 
-    int updateByPrimaryKey(KwtLogisticsOrderCirculate record);
     /**
      * 查询循环单-根据司机id单据状态-联查表
      * @param id

+ 3 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderMapper.java

@@ -17,6 +17,7 @@ import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -223,6 +224,8 @@ public interface KwtLogisticsOrderMapper extends BaseMapper<KwtLogisticsOrder> {
      */
     Integer selectCountByLorderId(@Param("orderId") String orderId, @Param("orderStatusList") List<Integer> orderStatusList);
 
+    String getMaxOrderNoByDate(@Param("date") Date date);
+
 //    List<TableTops> countAppLogisticsOrderListByStatus(@Param("type") String type,@Param("entId") Long entId
 //    );
 }

+ 8 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtWaybillOrderMapper.java

@@ -123,4 +123,12 @@ public interface KwtWaybillOrderMapper extends BaseMapper<KwtWaybillOrder> {
      * @return
      */
     List<OrderCarDTO> selectWaybillOrderCarListNotPage(@Param("id") String id);
+
+    /**
+     * 按状态统计运单
+     * @param entId 企业ID
+     * @param statuses 查询状态
+     * @return
+     */
+    Long selectWaybillOrderCountByStatus(@Param("entId") Long entId, @Param("statuses") List<Integer> statuses, @Param("keyword") String keyword);
 }

+ 7 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/WayBillDetailDTO.java

@@ -1,8 +1,11 @@
 package com.sckw.transport.model.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Data;
 
+import java.util.Date;
+
 /**
  * @author JC
  * @version 1.0
@@ -88,12 +91,14 @@ public class WayBillDetailDTO{
     /**
      * 计划开始时间
      */
-    private String startTime;
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date startTime;
 
     /**
      * 计划结束时间
      */
-    private String endTime;
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date endTime;
 
     /**
      * 创建人

+ 180 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/AcceptCarriageOrderExcelVo.java

@@ -0,0 +1,180 @@
+package com.sckw.transport.model.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.sckw.excel.annotation.ExcelContext;
+import lombok.Data;
+
+/**
+ * @author lfdc
+ * @description 承运订单导出vo
+ * @date 2023-07-24 13:07:44
+ */
+@Data
+@ExcelContext(fileName = "承运订单列表", sheetName = "承运订单列表")
+public class AcceptCarriageOrderExcelVo {
+    /**
+     * 结算周期
+     */
+    @ExcelProperty(value = "结算周期")
+    private String accountsCycle;
+    /**
+     * 发起人
+     */
+    @ExcelProperty(value = "发起人")
+    private String appointor;
+    /**
+     * 计费方式
+     */
+    @ExcelProperty(value = "计费方式")
+    private String billingMode;
+    /**
+     * 承运单位
+     */
+    @ExcelProperty(value = "承运单位")
+    private String carrierCompany;
+    /**
+     * 承运联系人
+     */
+    @ExcelProperty(value = "承运联系人")
+    private String carrierContacts;
+    /**
+     * 承运订单
+     */
+    @ExcelProperty(value = "承运订单")
+    private String carrierOrder;
+    /**
+     * 承运联系电话
+     */
+    @ExcelProperty(value = "承运联系电话")
+    private String carrierPhone;
+    /**
+     * 分配承运量
+     */
+    @ExcelProperty(value = "分配承运量")
+    private String carryingCapacity;
+    /**
+     * 托运单位
+     */
+    @ExcelProperty(value = "托运单位")
+    private String consignCompany;
+    /**
+     * 托运联系人
+     */
+    @ExcelProperty(value = "托运联系人")
+    private String consignContacts;
+    /**
+     * 托运联系电话
+     */
+    @ExcelProperty(value = "托运联系电话")
+    private String consignPhone;
+    /**
+     * 合同
+     */
+    @ExcelProperty(value = "合同")
+    private String contract;
+    /**
+     * 扣亏货值/元/吨
+     */
+    @ExcelProperty(value = "扣亏货值/元/吨")
+    private String deficitAmount;
+    /**
+     * 货物名称
+     */
+    @ExcelProperty(value = "货物名称")
+    private String goodsName;
+    /**
+     * 装货地点
+     */
+    @ExcelProperty(value = "装货地点")
+    private String loadAddress;
+    /**
+     * 数据库id
+     */
+    private String lOrderId;
+    /**
+     * 托运订单号
+     */
+    @ExcelProperty(value = "托运订单号")
+    private String lOrderNo;
+    /**
+     * 合理损耗
+     */
+    @ExcelProperty(value = "合理损耗")
+    private String loss;
+    /**
+     * 计划时间
+     */
+    @ExcelProperty(value = "计划时间")
+    private String plannedDateTime;
+    /**
+     * 运价
+     */
+    @ExcelProperty(value = "运价")
+    private String price;
+    /**
+     * 收货联系人
+     */
+    @ExcelProperty(value = "收货联系人")
+    private String receiveGoodsContacts;
+    /**
+     * 计划收货时间
+     */
+    @ExcelProperty(value = "计划收货时间")
+    private String receiveGoodsDateTime;
+    /**
+     * 收货电话
+     */
+    @ExcelProperty(value = "收货电话")
+    private String receiveGoodsPhone;
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+    /**
+     * 发货联系人
+     */
+    @ExcelProperty(value = "发货联系人")
+    private String shipmentsContacts;
+    /**
+     * 计划发货时间
+     */
+    @ExcelProperty(value = "计划发货时间")
+    private String shipmentsDateTime;
+    /**
+     * 发货电话
+     */
+    @ExcelProperty(value = "发货电话")
+    private String shipmentsPhone;
+    /**
+     * 签约方式
+     */
+    @ExcelProperty(value = "签约方式")
+    private String signing;
+    /**
+     * 状态
+     */
+    @ExcelProperty(value = "状态")
+    private String status;
+    /**
+     * 卸货地点
+     */
+    @ExcelProperty(value = "卸货地点")
+    private String unloadAddress;
+    /**
+     * 关联承运订单号
+     */
+    @ExcelProperty(value = "关联承运订单号")
+    private String wOrderNo;
+    /**
+     * 创建时间
+     */
+    @ExcelProperty(value = "创建时间")
+    private String createTime;
+    /**
+     * 修改时间
+     */
+    @ExcelProperty(value = "修改时间")
+    private String updateTime;
+
+}

+ 157 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/CarWaybillAppVo.java

@@ -0,0 +1,157 @@
+package com.sckw.transport.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author lfdc
+ * @description 车辆运单
+ * @date 2023-06-27 11:06:08
+ */
+@Data
+@Accessors(chain = true)
+public class CarWaybillAppVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 4526063761808958350L;
+    /**
+     * 物流订单id
+     */
+    @JsonProperty(value="wOrderId")
+    private String wOrderId;
+
+    /**
+     * 物流订单号
+     */
+    @JsonProperty(value="wOrderNo")
+    private String wOrderNo;
+
+    /**
+     * 车辆牌照
+     */
+    private String truckNo;
+
+    /**
+     * 司机
+     */
+    private String driverName;
+
+    /**
+     * 运单类型数字
+     */
+    private String type;
+
+    /**
+     * 运单类型字符
+     */
+    private String typeLabel;
+
+    /**
+     * 运单状态
+     */
+    private String  status;
+    /**
+     * 运单状态字符
+     */
+    private String  statusLabel;
+
+    /**
+     * 承运车队
+     */
+    private String firmName;
+
+
+    /**
+     * 派车时间
+     */
+    private String sendCarTime;
+
+    /**
+     * 计划开始时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date startTime;
+
+    /**
+     * 计划结束时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date endTime;
+
+    /**
+     * 派单量/吨
+     */
+    private String entrustAmount;
+
+    /**
+     * 装货地点名称
+     */
+    private String loadName;
+
+    /**
+     * 装货地点
+     */
+    private String loadAddress;
+
+    /**
+     * 卸货地点点名称
+     */
+    private String unloadName;
+
+    /**
+     * 卸货地点
+     */
+    private String unloadAddress;
+
+    /**
+     * 实装量/吨
+     */
+    private String loadAmount;
+
+    /**
+     * 实卸量/吨
+     */
+    private String unloadAmount;
+
+    /**
+     * 装货时间
+     */
+    private String loadDateTime;
+
+    /**
+     * 卸货时间
+     */
+    private String unloadDateTime;
+
+    /**
+     * 亏吨重量
+     */
+    private String deficitAmount;
+
+    /**
+     * 扣亏损值(合理损耗-(实装-实卸))-单位
+     */
+    private String goodsPriceUnit;
+
+    /**
+     * 扣亏量(合理损耗-(实装-实卸))-单位
+     */
+    private String deficitRealAmount;
+
+    /**
+     * 创建时间
+     */
+    private String createTime;
+
+    /**
+     * 更新时间
+     */
+    private String updateTime;
+
+}

+ 5 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/WaybillTrackVO.java

@@ -24,6 +24,11 @@ public class WaybillTrackVO {
      * 状态
      */
     private String status;
+
+    /**
+     * 状态文本
+     */
+    private String statusLabel;
     /**
      * 操作员名
      */

+ 7 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/AcceptCarriageOrderService.java

@@ -1668,6 +1668,7 @@ public class AcceptCarriageOrderService {
      */
     @Transactional(rollbackFor = Exception.class)
     public HttpResult addOrder(AddOrderDTO orderDTO) {
+        commonService.getRedisGenerateOrderNo();
         /**生成订单编号*/
         String lOrderNo = OrderGenerateSeqNoUtils.getSeqNo(RedisOrderGenerateEnum.LOGISTICS_ORDER, OrderRuleEnum.LOGISTICS_ORDER, "2", "0", "0");
         HttpResult httpResult = ValidUtil.serviceValid(orderDTO);
@@ -2075,6 +2076,12 @@ public class AcceptCarriageOrderService {
         logisticsOrderMapper.insert(order);
     }
 
+    /**
+     * 承运订单首页条件查询
+     * @param query
+     * @param type
+     * @return
+     */
     public PageRes selectLogisticsOrderList(AcceptCarriageOrderQuery query, String type) {
         Long entId = LoginUserHolder.getEntId();
         PageHelper.startPage(query.getPage(), query.getPageSize());

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

@@ -1,14 +1,25 @@
 package com.sckw.transport.service;
 
+import cn.hutool.core.date.DateTime;
 import cn.hutool.core.util.ObjectUtil;
 import com.sckw.core.common.enums.NumberConstant;
+import com.sckw.core.exception.BusinessException;
 import com.sckw.core.model.enums.LogisticsOrderEnum;
+import com.sckw.core.model.enums.OrderRuleEnum;
+import com.sckw.core.model.enums.RedisOrderGenerateEnum;
 import com.sckw.core.utils.CollectionUtils;
+import com.sckw.core.utils.DateUtils;
+import com.sckw.core.utils.OrderGenerateSeqNoUtils;
+import com.sckw.core.utils.StringUtils;
 import com.sckw.mongo.model.TableTops;
+import com.sckw.redis.constant.RedisConstant;
+import com.sckw.redis.utils.RedissonUtils;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.model.dto.res.SysDictResDto;
+import com.sckw.transport.dao.KwtLogisticsOrderMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
@@ -26,6 +37,9 @@ public class CommonService {
     @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 8000)
     RemoteSystemService remoteSystemService;
 
+    @Autowired
+    private KwtLogisticsOrderMapper logisticsOrderMapper;
+
     /**
      * 组装返回数据
      *
@@ -105,4 +119,31 @@ public class CommonService {
         }
         return maps;
     }
+
+    /**
+     * 获取生成单据号最大值处理(处理redis宕机或者重启情况)
+     */
+    public void getRedisGenerateOrderNo() {
+        Date date = new Date();
+        String lockKey = String.format(RedisConstant.LOGISTICS_NO_GENERATE_KEY, DateUtils.formatDateToYYMMDD(date));
+        try {
+            String key = OrderGenerateSeqNoUtils.getKey(RedisOrderGenerateEnum.LOGISTICS_ORDER, OrderRuleEnum.LOGISTICS_ORDER, date);
+            if (Boolean.FALSE.equals(RedissonUtils.exists(key))) {
+                if (Boolean.FALSE.equals(RedissonUtils.tryLock(lockKey, 5L, 10L))) {
+                    throw new BusinessException("业务繁忙,请稍后再试!");
+                }
+                DateTime dateTime = DateUtils.beginOfDay(date);
+                String maxOrderNo = logisticsOrderMapper.getMaxOrderNoByDate(dateTime);
+                if (StringUtils.isNotBlank(maxOrderNo)) {
+                    String substring = maxOrderNo.substring(0, 11);
+                    Long maxNum = Long.valueOf(StringUtils.subStrFromIndexToEnd(substring, 4));
+                    RedissonUtils.setAtomicLong(key, maxNum, DateUtils.getSecondsDay());
+                }
+            }
+        } catch (Exception e) {
+            log.error("物流订单获取生成单据号最大值处理异常:{}", e.getMessage(), e);
+        } finally {
+            RedissonUtils.unlock(lockKey);
+        }
+    }
 }

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

@@ -1094,6 +1094,7 @@ public class ConsignOrderService {
      */
     @Transactional(rollbackFor = Exception.class)
     public HttpResult addOrder(AddOrderDTO addOrderDTO) {
+        commonService.getRedisGenerateOrderNo();
         /**生成订单编号*/
         String lOrderNo = OrderGenerateSeqNoUtils.getSeqNo(RedisOrderGenerateEnum.LOGISTICS_ORDER, OrderRuleEnum.LOGISTICS_ORDER, "2", "0", "0");
         HttpResult httpResult = ValidUtil.serviceValid(addOrderDTO);

+ 43 - 27
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderService.java

@@ -6,6 +6,8 @@ import com.sckw.core.exception.BusinessException;
 import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.enums.CarWaybillEnum;
 import com.sckw.core.model.enums.LogisticsOrderEnum;
+import com.sckw.core.model.enums.OrderRuleEnum;
+import com.sckw.core.model.enums.RedisOrderGenerateEnum;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.utils.*;
 import com.sckw.core.web.constant.HttpStatus;
@@ -161,7 +163,7 @@ public class KwtWaybillOrderService {
         result.put("wOrderId", wOrderId);
         if (waybillOrder != null) {
             result.put("wOrderNo", waybillOrder.getWOrderNo());
-            result.put("status", waybillOrder.getStatus());
+            result.put("statusName", CarWaybillEnum.getName(waybillOrder.getStatus()));
             result.put("truckNo", waybillOrder.getTruckNo());
             result.put("truckId", waybillOrder.getTruckId());
 
@@ -170,7 +172,8 @@ public class KwtWaybillOrderService {
             result.put("driverIdcard", waybillOrder.getDriverIdcard());
             result.put("driverName", waybillOrder.getDriverName());
         } else {
-            result.put("status", circulate.getStatus());
+            result.put("status", CarWaybillEnum.PENDING_ORDER.getCode());
+            result.put("statusName", CarWaybillEnum.PENDING_ORDER.getDestination());
             result.put("truckNo", circulate.getTruckNo());
             result.put("truckId", circulate.getTruckId());
             result.put("driverId", circulate.getDriverId());
@@ -179,6 +182,7 @@ public class KwtWaybillOrderService {
             result.put("driverName", circulate.getDriverName());
         }
 
+
         Object truckId = result.get("truckId");
         if (truckId != null) {
             RTruckVo truck = findTruck(Long.parseLong(String.valueOf(truckId)));
@@ -467,8 +471,8 @@ public class KwtWaybillOrderService {
         List<SckwWaybillOrder> sckwWaybillOrders = new ArrayList();
         for (SendCarDto1 sendCarDto : params) {
             /**KwtWaybillOrder数据组装**/
-            KwtWaybillOrder waybillOrder = this.setKwtWaybillOrder(sendCarDto);
-
+            String wOrderNo = OrderGenerateSeqNoUtils.getWaybillSeqNo(RedisOrderGenerateEnum.WAYBILL_ORDER, OrderRuleEnum.WAYBILL_ORDER, logisticsOrder.getLOrderNo());
+            KwtWaybillOrder waybillOrder = this.setKwtWaybillOrder(sendCarDto, wOrderNo);
             /**数据存储**/
             if (sendCarDto.getType() == Global.NUMERICAL_ONE) {
                 for (int i = 0; i < sendCarDto.getCount(); i++) {
@@ -520,7 +524,6 @@ public class KwtWaybillOrderService {
      **/
     public void ranksSave(KwtWaybillOrder waybillOrder, KwtWaybillOrderAddress loadAddress, KwtWaybillOrderAddress unloadAddress) {
         /**车辆运单信息**/
-        waybillOrder.setId(null);
         waybillOrderDao.insert(waybillOrder);
 
         /**车辆运单地址信息**/
@@ -609,15 +612,15 @@ public class KwtWaybillOrderService {
 
     /**
      * @param sendCarDto 派车请求参数
-     * @desc 车辆运单对象赋值
+     * @desc 车辆运单对象赋值-趟次
      * @author zk
      * @date 2023/7/20
      **/
-    public KwtWaybillOrder setKwtWaybillOrder(SendCarDto1 sendCarDto) {
+    public KwtWaybillOrder setKwtWaybillOrder(SendCarDto1 sendCarDto, String wOrderNo) {
         KwtWaybillOrder waybillOrder = new KwtWaybillOrder();
         waybillOrder.setEntId(LoginUserHolder.getEntId());
         waybillOrder.setLOrderId(sendCarDto.getLOrderId());
-        waybillOrder.setWOrderNo("xxxxx");
+        waybillOrder.setWOrderNo(wOrderNo);
         waybillOrder.setType(sendCarDto.getType());
         waybillOrder.setStartTime(sendCarDto.getLoadDateTime());
         waybillOrder.setEndTime(sendCarDto.getUnloadDateTime());
@@ -635,6 +638,32 @@ public class KwtWaybillOrderService {
         return waybillOrder;
     }
 
+    /**
+     * @param sendCarDto 派车请求参数
+     * @desc 车辆运单对象赋值-循环
+     * @author zk
+     * @date 2023/7/20
+     **/
+    public KwtWaybillOrder setKwtWaybillOrder(KwtLogisticsOrderCirculate circulate, OperateSendCarDto params) {
+        KwtWaybillOrder waybillOrder = new KwtWaybillOrder();
+        waybillOrder.setId(circulate.getId());
+        waybillOrder.setEntId(LoginUserHolder.getEntId());
+        waybillOrder.setLOrderId(circulate.getLOrderId());
+        waybillOrder.setWOrderNo("xxxxxx");
+        waybillOrder.setType(params.getType());
+        waybillOrder.setStartTime(circulate.getStartTime());
+        waybillOrder.setEndTime(circulate.getEndTime());
+        waybillOrder.setTruckId(circulate.getTruckId());
+        waybillOrder.setTruckNo(circulate.getTruckNo());
+        waybillOrder.setDriverId(circulate.getDriverId());
+        waybillOrder.setDriverName(circulate.getDriverName());
+        waybillOrder.setDriverPhone(circulate.getDriverPhone());
+        waybillOrder.setDriverIdcard(circulate.getDriverIdcard());
+        waybillOrder.setEntrustAmount(circulate.getEntrustAmount());
+        waybillOrder.setStatus(CarWaybillEnum.PENDING_VEHICLE.getCode());
+        return waybillOrder;
+    }
+
     /**
      * @param sendCarDto     派车请求参数
      * @param logisticsOrder 承运订单
@@ -1068,21 +1097,7 @@ public class KwtWaybillOrderService {
             //卸货地址
             KwtWaybillOrderAddress unloadAddress = this.getAddress(circulate.getLOrderId(), Global.NUMERICAL_TWO, Global.NUMERICAL_ONE);
             //KwtWaybillOrder数据组装
-            KwtWaybillOrder waybillOrder = new KwtWaybillOrder();
-            waybillOrder.setEntId(LoginUserHolder.getEntId());
-            waybillOrder.setLOrderId(circulate.getLOrderId());
-            waybillOrder.setWOrderNo("xxxxxx");
-            waybillOrder.setType(params.getType());
-            waybillOrder.setStartTime(circulate.getStartTime());
-            waybillOrder.setEndTime(circulate.getEndTime());
-            waybillOrder.setTruckId(circulate.getTruckId());
-            waybillOrder.setTruckNo(circulate.getTruckNo());
-            waybillOrder.setDriverId(circulate.getDriverId());
-            waybillOrder.setDriverName(circulate.getDriverName());
-            waybillOrder.setDriverPhone(circulate.getDriverPhone());
-            waybillOrder.setDriverIdcard(circulate.getDriverIdcard());
-            waybillOrder.setEntrustAmount(circulate.getEntrustAmount());
-            waybillOrder.setStatus(CarWaybillEnum.PENDING_VEHICLE.getCode());
+            KwtWaybillOrder waybillOrder = setKwtWaybillOrder(circulate, params);
 
             /**2车辆运单存储**/
             ranksSave(waybillOrder, loadAddress, unloadAddress);
@@ -1103,8 +1118,7 @@ public class KwtWaybillOrderService {
             /**5Mongodb数据更新**/
             //1车辆订单
             SckwWaybillOrder wOrder = new SckwWaybillOrder();
-            wOrder.set_id(circulate.getId());
-            editSckwWaybillOrder(wOrder, waybillOrder, 3);
+            editSckwWaybillOrder(wOrder, waybillOrder, 2);
 
             //2承运订单
             SckwLogisticsOrder lOrder = new SckwLogisticsOrder();
@@ -1491,8 +1505,10 @@ public class KwtWaybillOrderService {
             //循环派车信息
             KwtLogisticsOrderCirculate circulate = logisticsOrderCirculateDao.findCirculate(waybillOrder.getLOrderId(),
                     waybillOrder.getTruckId(), waybillOrder.getDriverId(), 0);
-            circulate.setWOrderId(null);
-            logisticsOrderCirculateDao.updateById(circulate);
+            /*circulate.setWOrderId(null);
+            logisticsOrderCirculateDao.updateById(circulate);*/
+            Long wOrderId = new IdWorker(Global.NUMERICAL_ONE).nextId();
+            logisticsOrderCirculateDao.updateIdByKey(wOrderId, null, circulate.getId(), waybillOrder.getUpdateBy(), waybillOrder.getUpdateTime());
         }
 
         /**6跟新司机/车辆数据

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

@@ -73,6 +73,9 @@ public class LogisticsConsignmentService {
     @Autowired
     RedisLockUtil redisLockUtil;
 
+    @Autowired
+    public CommonService commonService;
+
     @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 6000)
     RemoteSystemService remoteSystemService;
 
@@ -164,6 +167,7 @@ public class LogisticsConsignmentService {
     }
 
     void logisticsConsignmentInsert(LogisticsConsignmentParam bo) {
+        commonService.getRedisGenerateOrderNo();
         Long count = kwtLogisticsOrderMapper.selectCount(new LambdaQueryWrapper<KwtLogisticsOrder>().eq(KwtLogisticsOrder::getTOrderId, bo.getTOrderId()));
         String lOrderNo = OrderGenerateSeqNoUtils.getSeqNo(RedisOrderGenerateEnum.LOGISTICS_ORDER, OrderRuleEnum.LOGISTICS_ORDER, "1", "0", String.valueOf(count + 1));
         OrderDetailRes tradeOrder = tradeOrderInfoService.getOrderDetailById(Long.parseLong(bo.getTOrderId()));
@@ -1884,6 +1888,8 @@ public class LogisticsConsignmentService {
     }
 
     public HttpResult addWaybillNumberDemo() {
+        String seqNo = OrderGenerateSeqNoUtils.getWaybillSeqNo(RedisOrderGenerateEnum.WAYBILL_ORDER, OrderRuleEnum.WAYBILL_ORDER, "T2308290001101");
+        System.out.println(seqNo);
         return HttpResult.ok();
     }
 

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

@@ -304,7 +304,7 @@ public class TransportCommonService {
             result.setMsg("单据不存在");
             return result;
         }
-        if (!LogisticsOrderEnum.PENDING_ORDER.getCode().equals(logisticsOrder.getStatus())) {
+        if (!LogisticsOrderEnum.PENDING_ORDER.getStatus().equals(String.valueOf(logisticsOrder.getStatus()))) {
             result.setCode(HttpStatus.GLOBAL_EXCEPTION_CODE);
             result.setMsg("待接单才允许撤销托运");
             return result;

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

@@ -37,6 +37,7 @@ import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.regex.Pattern;
 
@@ -107,8 +108,8 @@ public class WaybillManagementService {
             wayBillDetailDTO.setEntrustAmount(String.valueOf(info.getEntrustAmount()));
             wayBillDetailDTO.setType(String.valueOf(info.getType()));
             wayBillDetailDTO.setTypeLabel(info.getType().equals(NumberConstant.ONE) ? "趟次" : "循环");
-            wayBillDetailDTO.setStartTime(DateUtil.getDateTime(info.getStartTime()));
-            wayBillDetailDTO.setEndTime(DateUtil.getDateTime(info.getEndTime()));
+            wayBillDetailDTO.setStartTime(info.getStartTime());
+            wayBillDetailDTO.setEndTime(info.getEndTime());
             wayBillDetailDTO.setCreateBy(info.getCreateByName());
             wayBillDetailDTO.setGoodsName(info.getGoodsName());
             wayBillDetailDTO.setLoadDetailAddress(info.getLoadCityName().concat(info.getLoadDetailAddress()));
@@ -189,6 +190,7 @@ public class WaybillManagementService {
                 waybillTrackVO.setId(String.valueOf(kwtWaybillOrderTrack.getId()))
                         .setRemark(kwtWaybillOrderTrack.getRemark())
                         .setStatus(String.valueOf(kwtWaybillOrderTrack.getStatus()))
+                        .setStatusLabel(CarWaybillEnum.getName(kwtWaybillOrderTrack.getStatus()))
                         .setCreateBy(usersMap.get(kwtWaybillOrderTrack.getCreateBy()) == null
                                 ? null : usersMap.get(kwtWaybillOrderTrack.getCreateBy()).getName())
                         .setCreateByPhone(usersMap.get(kwtWaybillOrderTrack.getCreateBy()) == null
@@ -495,4 +497,154 @@ public class WaybillManagementService {
         listMap.get("all").setTotal(listMap.values().parallelStream().mapToInt(e -> e.getTotal()).sum());
         return HttpResult.ok(listMap.values());
     }
+
+    /**
+     * app 运单分类统计数据 [运输中|已完成]
+     * @param keyword
+     * @return
+     */
+    public HttpResult waybillDataStatisticApp(String keyword){
+        Long entId = LoginUserHolder.getEntId();
+        // 运输途中
+        List<Integer> onWayStates = getWallBillStatues("onway");
+        Long onWayCount = kwtWaybillOrderMapper.selectWaybillOrderCountByStatus(entId, onWayStates, keyword);
+        // 已完成
+        List<Integer> finishStates = getWallBillStatues("finish");
+        Long finishCount = kwtWaybillOrderMapper.selectWaybillOrderCountByStatus(entId, finishStates, keyword);
+        Map<String, Long> statistic = new HashMap<>();
+        statistic.put("onway", onWayCount);
+        statistic.put("finish", finishCount);
+        return HttpResult.ok(statistic);
+    }
+
+    /**
+     * app 运单分类统计数据 [运输中|已完成]
+     * @param keyword
+     * @return
+     */
+    public HttpResult waybillDataApp(String status, Integer page, Integer pageSize, String keyword){
+        List<Integer> _statuses = getWallBillStatues(status);
+        Criteria criteria = new Criteria();
+        criteria.and("entId").is(LoginUserHolder.getEntId());
+        criteria.and("delFlag").is(NumberConstant.ZERO);
+        // 多条件模糊查询
+        List<Criteria> orCriteria = new ArrayList<>();
+        if (StringUtils.isNotBlank(keyword)) {
+            Pattern pattern = Pattern.compile("^.*" + keyword + ".*$", Pattern.CASE_INSENSITIVE);
+            orCriteria.add(Criteria.where("wOrderNo").regex(pattern));
+            orCriteria.add(Criteria.where("truckNo").regex(pattern));
+            orCriteria.add(Criteria.where("driverName").regex(pattern));
+            orCriteria.add(Criteria.where("firmName").regex(pattern));
+            criteria.orOperator(orCriteria);
+        }
+        Query queryFormat = new Query(criteria);
+        // in查询
+        if (CollectionUtils.isNotEmpty(_statuses)) {
+            queryFormat.addCriteria(Criteria.where("status").in(_statuses));
+        }
+        // 总记录数
+        long total = mongoTemplate.count(queryFormat, SckwWaybillOrder.class);
+        queryFormat.with(PageRequest.of(page - 1, pageSize,
+                Sort.by(Sort.Order.desc("createTime"))));
+        // 执行查询
+        List<SckwWaybillOrder> list = mongoTemplate.find(queryFormat, SckwWaybillOrder.class);
+        List<CarWaybillAppVo> returnList = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(list)) {
+            packageWayBillReturnList(list, returnList);
+        }
+        PageResult build = PageResult.build(page, pageSize, total, returnList);
+        return HttpResult.ok(build);
+    }
+
+    /**
+     * 运单处理运单查询结果
+     *
+     * @param list
+     * @param returnList
+     */
+    private void packageWayBillReturnList(List<SckwWaybillOrder> list, List<CarWaybillAppVo> returnList) {
+        for (SckwWaybillOrder waybillOrder : list) {
+            CarWaybillAppVo vo = new CarWaybillAppVo();
+            vo.setWOrderNo(waybillOrder.getWOrderNo() == null ?
+                    null : String.valueOf(waybillOrder.getWOrderNo()));
+            vo.setWOrderId(waybillOrder.getWOrderId() == null ?
+                    String.valueOf(waybillOrder.get_id()) : String.valueOf(waybillOrder.getWOrderId()));
+            vo.setTruckNo(waybillOrder.getTruckNo());
+            vo.setDriverName(waybillOrder.getDriverName() == null ?
+                    null : String.valueOf(waybillOrder.getDriverName()));
+            vo.setType(String.valueOf(waybillOrder.getType()));
+            String typeString = "";
+            if (waybillOrder.getType().equals(NumberConstant.ONE)) {
+                typeString = "趟次";
+            }
+            if (waybillOrder.getType().equals(NumberConstant.TWO)) {
+                typeString = "循环";
+            }
+            vo.setTypeLabel(typeString);
+            vo.setStatus(waybillOrder.getStatus() == null ?
+                        null : String.valueOf(waybillOrder.getStatus()));
+            vo.setStatusLabel(CarWaybillEnum.getName(waybillOrder.getStatus()));
+            vo.setSendCarTime(waybillOrder.getCreateTime() == null ?
+                    null : DateUtil.getDateTime(waybillOrder.getCreateTime()));
+            vo.setStartTime(waybillOrder.getStartTime() == null ?
+                    null : waybillOrder.getStartTime());
+            vo.setEndTime(waybillOrder.getEndTime() == null ?
+                    null : waybillOrder.getEndTime());
+            vo.setEntrustAmount(String.valueOf(waybillOrder.getEntrustAmount()));
+            vo.setLoadName(waybillOrder.getLoadName() == null ?
+                    null : waybillOrder.getLoadName());
+            vo.setLoadAddress((waybillOrder.getLoadCityName() == null ? "" : waybillOrder.getLoadCityName())
+                    .concat(waybillOrder.getLoadDetailAddress() == null ? "" : waybillOrder.getLoadDetailAddress()));
+            vo.setUnloadName(waybillOrder.getUnloadName() == null ?
+                    null : waybillOrder.getUnloadName());
+            vo.setUnloadAddress((waybillOrder.getUnloadCityName() == null ? "" : waybillOrder.getUnloadCityName())
+                    .concat(waybillOrder.getUnloadDetailAddress() == null ? "" : waybillOrder.getUnloadDetailAddress()));
+            vo.setLoadAmount(waybillOrder.getLoadAmount() == null ?
+                    null : String.valueOf(waybillOrder.getLoadAmount()));
+            vo.setUnloadAmount(waybillOrder.getUnloadAmount() == null ?
+                    null : String.valueOf(waybillOrder.getUnloadAmount()));
+            vo.setLoadDateTime(waybillOrder.getLoadTime() == null ?
+                    null : DateUtil.getDateTime(waybillOrder.getLoadTime()));
+            vo.setUnloadDateTime(waybillOrder.getUnloadTime() == null ?
+                    null : DateUtil.getDateTime(waybillOrder.getUnloadTime()));
+            vo.setCreateTime(waybillOrder.getCreateTime() == null ?
+                    null : DateUtil.getDateTime(waybillOrder.getCreateTime()));
+            vo.setUpdateTime(waybillOrder.getUpdateTime() == null ?
+                    null : DateUtil.getDateTime(waybillOrder.getUpdateTime()));
+            vo.setDeficitAmount(waybillOrder.getDeficitAmount() == null ?
+                    null : String.valueOf(waybillOrder.getDeficitAmount()));
+            BigDecimal deficitLoss = waybillOrder.getLoss() == null ? BigDecimal.valueOf(0) : waybillOrder.getLoss();
+            BigDecimal deficitAmount = waybillOrder.getDeficitAmount() == null ? BigDecimal.valueOf(0) : waybillOrder.getDeficitAmount();
+            BigDecimal deficitRealAmount = BigDecimal.valueOf(0);
+            if(deficitAmount.compareTo(BigDecimal.valueOf(0)) > 0) {
+                deficitRealAmount = deficitLoss.subtract(deficitAmount);
+            }
+            vo.setDeficitRealAmount(deficitRealAmount.toString());
+            vo.setGoodsPriceUnit(waybillOrder.getGoodsPriceUnit() == null ?
+                    null : String.valueOf(waybillOrder.getGoodsPriceUnit()));
+            returnList.add(vo);
+        }
+    }
+
+    /**
+     * 获取 [运输中|已完成] 状态列表
+     * @param status
+     * @return
+     */
+    public List<Integer> getWallBillStatues(String status) {
+        List<Integer> _list = new ArrayList<>();
+        if(status.equals("onway")) {
+            _list.add(CarWaybillEnum.PENDING_ORDER.getCode());
+            _list.add(CarWaybillEnum.PENDING_VEHICLE.getCode());
+            _list.add(CarWaybillEnum.EXIT_COMPLETED.getCode());
+            _list.add(CarWaybillEnum.WAIT_LOADING.getCode());
+            _list.add(CarWaybillEnum.COMPLETION_LOADING.getCode());
+            _list.add(CarWaybillEnum.WAIT_UNLOADING.getCode());
+        }
+        if(status.equals("finish")) {
+            _list.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode());
+            _list.add(CarWaybillEnum.APPROVAL_PASS.getCode());
+        }
+        return _list;
+    }
 }

+ 4 - 23
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderCirculateMapper.xml

@@ -31,30 +31,11 @@
         `remark`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`
     </sql>
 
-    <update id="updateByPrimaryKey" parameterType="com.sckw.transport.model.KwtLogisticsOrderCirculate">
+    <update id="updateIdByKey">
         UPDATE kwt_logistics_order_circulate
-        <set>
-            ent_id = #{entId},
-            l_order_id = #{lOrderId},
-            w_order_id = #{wOrderId},
-            type = #{type},
-            truck_id = #{truckId},
-            truck_no = #{truckNo},
-            driver_id = #{driverId},
-            driver_name = #{driverName},
-            driver_phone = #{driverPhone},
-            driver_idcard = #{driverIdcard},
-            start_time = #{startTime},
-            end_time = #{endTime},
-            entrust_amount = #{entrustAmount},
-            remark = #{remark},
-            status = #{status},
-            create_by = #{createBy},
-            create_time = #{createTime},
-            update_by = #{updateBy},
-            update_time = #{updateTime},
-            del_flag = #{delFlag}
-        </set>
+        set
+        id = #{newId}, w_order_id = #{wOrderId},
+        update_by = #{updateBy}, update_time = #{updateTime}
         WHERE id = #{id}
     </update>
 

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

@@ -883,4 +883,7 @@
             </foreach>
         </if>
     </select>
+    <select id="getMaxOrderNoByDate" resultType="java.lang.String">
+        SELECT MAX(l_order_no) FROM kwt_logistics_order WHERE create_time &gt;= #{date};
+    </select>
 </mapper>

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

@@ -424,4 +424,24 @@
           and b.del_flag = '0'
           and b.t_order_id = #{id,jdbcType=VARCHAR}
     </select>
+    <select id="selectWaybillOrderCountByStatus">
+        SELECT COUNT(id)
+        FROM kwt_waybill_order
+        WHERE ent_id = #{entId}
+        AND del_flag = 0
+        <if test="keyword != null and keyword != ''">
+            AND (
+                `w_order_no` LIKE concat('%',#{keyword},'%')
+                OR `truck_no` LIKE concat('%',#{keyword},'%')
+                OR `driver_name` LIKE concat('%',#{keyword},'%')
+                OR `driver_phone` LIKE concat('%',#{keyword},'%')
+            )
+        </if>
+        <if test="statuses != null and statuses.size() > 0">
+            AND `status` IN
+            <foreach collection="statuses" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+    </select>
 </mapper>