Explorar o código

加入考勤异常申请补卡次数校验和sop申请状态校验

wangliang hai 1 ano
pai
achega
70deedf760

+ 5 - 0
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBDingApplyServiceImpl.java

@@ -92,6 +92,11 @@ public class TBDingApplyServiceImpl extends ServiceImpl<TBDingApplyMapper, TBDin
         TBDing tbDing = tbDingService.getById(tbDingApply.getDingId());
         String sopNo = Objects.nonNull(tbDing) ? tbDing.getSopNo() : tbDingApply.getSopNo();
         String crmNo = Objects.nonNull(tbDing) ? tbDing.getCrmNo() : tbDingApply.getCrmNo();
+
+        int count = tbDingService.findRemainCount(tbDingApply.getCreateId(), sopNo);
+        if (count == 0) {
+            throw ExceptionResultEnum.ERROR.exception("该用户剩余补卡次数为0");
+        }
         CrmProjectResult crmProjectResult = tbCrmService.findCrmProjectBySopNoOrCrmNo(sopNo, crmNo);
         Optional.ofNullable(crmProjectResult).orElseThrow(() -> ExceptionResultEnum.CRM_NO_NO_DATA.exception());
 

+ 13 - 0
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBSopInfoServiceImpl.java

@@ -91,6 +91,9 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
     @Resource
     SysUserRoleService sysUserRoleService;
 
+    @Resource
+    TBServiceService tbServiceService;
+
     /**
      * 查询动态sop表名是否存在
      *
@@ -696,6 +699,16 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
         Optional.ofNullable(crmProjectResult).orElseThrow(() -> ExceptionResultEnum.CRM_NO_NO_DATA.exception());
         Optional.ofNullable(crmProjectResult.getRegionManagerId()).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("crm大区经理数据为空"));
 
+        TBService tbService = tbServiceService.getById(crmProjectResult.getServiceUnitId());
+        Optional.ofNullable(tbService).orElseThrow(() -> ExceptionResultEnum.SERVICE_NO_DATA.exception());
+
+        if (Objects.isNull(tbService.getEnable()) || !tbService.getEnable()) {
+            throw ExceptionResultEnum.ERROR.exception("服务单元已作废");
+        }
+        if (Objects.nonNull(tbService.getStatus()) && tbService.getStatus() != ServiceStatusEnum.PUBLISH) {
+            throw ExceptionResultEnum.ERROR.exception("只有发布状态的服务单元才能新增sop");
+        }
+
         TFCustomFlow tfCustomFlow = null;
         TBSopInfoDetail tbSopInfoDetail = null;
         List<String> approveUserIds = new ArrayList<>();

+ 1 - 0
sop-common/src/main/java/com/qmth/sop/common/enums/ExceptionResultEnum.java

@@ -117,6 +117,7 @@ public enum ExceptionResultEnum {
 
     WX_APP_LOGIN_ERROR(HttpStatus.INTERNAL_SERVER_ERROR, 5000044, "对不起,您的角色无法登录移动端,请您通过PC端访问平台!"),
 
+    SERVICE_NO_DATA(HttpStatus.INTERNAL_SERVER_ERROR, 5000045, "没有服务单元数据"),
     /**
      * 401
      */