Forráskód Böngészése

项目计划变更流程修改

wangliang 1 éve
szülő
commit
f0f9797ad9

+ 2 - 3
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBDingApplyServiceImpl.java

@@ -238,9 +238,8 @@ public class TBDingApplyServiceImpl extends ServiceImpl<TBDingApplyMapper, TBDin
      */
     @Override
     public Boolean taskApprove(Long taskId, Long userId, DingExceptionApproveEnum dingExceptionApprove) throws InterruptedException {
-        if (Objects.isNull(taskId)) {
-            throw ExceptionResultEnum.FLOW_TASK_ID_IS_NULL.exception();
-        }
+        Optional.ofNullable(taskId).orElseThrow(() -> ExceptionResultEnum.FLOW_TASK_ID_IS_NULL.exception());
+
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         Task task = taskService.createTaskQuery().taskId(String.valueOf(taskId)).singleResult();
         Optional.ofNullable(task).orElseThrow(() -> ExceptionResultEnum.FLOW_TASK_NO_DATA.exception());

+ 23 - 5
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBProjectExchangeServiceImpl.java

@@ -4,12 +4,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.sop.business.activiti.service.ActivitiService;
+import com.qmth.sop.business.bean.dto.UserDto;
 import com.qmth.sop.business.bean.params.FlowApproveParam;
 import com.qmth.sop.business.bean.result.ProjectExchangeResult;
 import com.qmth.sop.business.entity.SysUser;
 import com.qmth.sop.business.entity.TBProjectExchange;
 import com.qmth.sop.business.entity.TFCustomFlowEntity;
 import com.qmth.sop.business.mapper.TBProjectExchangeMapper;
+import com.qmth.sop.business.service.SysUserRoleService;
 import com.qmth.sop.business.service.TBProjectExchangeService;
 import com.qmth.sop.business.service.TFCustomFlowEntityService;
 import com.qmth.sop.common.contant.SystemConstant;
@@ -22,10 +24,8 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -50,6 +50,9 @@ public class TBProjectExchangeServiceImpl extends ServiceImpl<TBProjectExchangeM
     @Resource
     TBProjectExchangeService tbProjectExchangeService;
 
+    @Resource
+    SysUserRoleService sysUserRoleService;
+
     /**
      * 新增项目变更计划申请
      *
@@ -60,8 +63,19 @@ public class TBProjectExchangeServiceImpl extends ServiceImpl<TBProjectExchangeM
     @Override
     @Transactional
     public Boolean saveProjectExchange(TBProjectExchange tbProjectExchange) throws InterruptedException {
+        if (tbProjectExchange.getFlowApprove() != FlowApprovePassEnum.START && tbProjectExchange.getFlowApprove() != FlowApprovePassEnum.DRAFT) {
+            throw ExceptionResultEnum.PARAMS_ERROR.exception("项目计划变更申请只能为提交或草稿");
+        }
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        Map<String, Object> map = activitiService.taskApprove(new FlowApproveParam(tbProjectExchange.getFlowDeploymentId(), FlowApprovePassEnum.START, !CollectionUtils.isEmpty(tbProjectExchange.getApproveUserIds()) ? tbProjectExchange.getApproveUserIds() : Arrays.asList(String.valueOf(sysUser.getId())), tbProjectExchange.getCrmNo()));
+        //查询所有QA角色
+        List<UserDto> userDtoList = sysUserRoleService.userListByRoleType(RoleTypeEnum.QA);
+        if (CollectionUtils.isEmpty(userDtoList)) {
+            throw ExceptionResultEnum.ERROR.exception("系统中没有QA角色的用户");
+        }
+        List<String> approveUserIds = userDtoList.stream().map(s -> String.valueOf(s.getId())).collect(Collectors.toList());
+        FlowApproveParam flowApproveParam = new FlowApproveParam(tbProjectExchange.getFlowDeploymentId(), tbProjectExchange.getFlowApprove(), approveUserIds, tbProjectExchange.getCrmNo());
+        flowApproveParam.setApproveRemark(tbProjectExchange.getFlowApprove().getTitle());
+        Map<String, Object> map = activitiService.taskApprove(flowApproveParam);
         TFCustomFlowEntity tfCustomFlowEntity = (TFCustomFlowEntity) map.get(SystemConstant.FLOW_ENTITY);
         tbProjectExchange.setCode(tfCustomFlowEntity.getCode(), sysUser.getId());
         tfCustomFlowEntity.setObjId(tbProjectExchange.getId());
@@ -105,6 +119,10 @@ public class TBProjectExchangeServiceImpl extends ServiceImpl<TBProjectExchangeM
     @Override
     @Transactional
     public Boolean flowApprove(Long taskId, FlowApprovePassEnum flowApprove, ProjectExchangeApproveEnum projectExchangeApprove, String remark, Long userId) throws InterruptedException {
+        Optional.ofNullable(taskId).orElseThrow(() -> ExceptionResultEnum.FLOW_TASK_ID_IS_NULL.exception());
+        if (flowApprove != FlowApprovePassEnum.PASS && flowApprove != FlowApprovePassEnum.DRAFT) {
+            throw ExceptionResultEnum.PARAMS_ERROR.exception("项目计划变更审批只能为通过或草稿");
+        }
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         userId = Objects.nonNull(sysUser) ? sysUser.getId() : userId;
         Task task = taskService.createTaskQuery().taskId(String.valueOf(taskId)).singleResult();

+ 3 - 7
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBQualityProblemApplyServiceImpl.java

@@ -81,7 +81,7 @@ public class TBQualityProblemApplyServiceImpl extends ServiceImpl<TBQualityProbl
     @Transactional
     public Boolean saveTBQualityProblemApply(TBQualityProblemApply tbQualityProblemApply) throws InterruptedException {
         if (tbQualityProblemApply.getFlowApprove() != FlowApprovePassEnum.START && tbQualityProblemApply.getFlowApprove() != FlowApprovePassEnum.DRAFT) {
-            throw ExceptionResultEnum.PARAMS_ERROR.exception("流程审批只能为提交或草稿");
+            throw ExceptionResultEnum.PARAMS_ERROR.exception("质量问题反馈申请只能为提交或草稿");
         }
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
 
@@ -117,15 +117,11 @@ public class TBQualityProblemApplyServiceImpl extends ServiceImpl<TBQualityProbl
      */
     @Override
     public Boolean flowApprove(FlowApproveParam flowApproveParam) throws InterruptedException {
-        if (Objects.isNull(flowApproveParam.getTaskId())) {
-            throw ExceptionResultEnum.FLOW_TASK_ID_IS_NULL.exception();
-        }
+        Optional.ofNullable(flowApproveParam.getTaskId()).orElseThrow(() -> ExceptionResultEnum.FLOW_TASK_ID_IS_NULL.exception());
         if (flowApproveParam.getApprove() != FlowApprovePassEnum.PASS && flowApproveParam.getApprove() != FlowApprovePassEnum.REJECT && flowApproveParam.getApprove() != FlowApprovePassEnum.DRAFT) {
             throw ExceptionResultEnum.PARAMS_ERROR.exception("质量问题反馈审核只能为通过或驳回或草稿");
         }
-        if (Objects.isNull(flowApproveParam.getFormProperties())) {
-            throw ExceptionResultEnum.FLOW_FORM_PROPERTIES_IS_NULL.exception();
-        }
+        Optional.ofNullable(flowApproveParam.getFormProperties()).orElseThrow(() -> ExceptionResultEnum.FLOW_FORM_PROPERTIES_IS_NULL.exception());
         if (flowApproveParam.getApprove() == FlowApprovePassEnum.REJECT && Objects.isNull(flowApproveParam.getSetup())) {
             throw ExceptionResultEnum.FLOW_REJECT_SETUP_IS_NULL.exception();
         }

+ 2 - 6
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBSopInfoServiceImpl.java

@@ -213,15 +213,11 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
     @Override
     @Transactional
     public Boolean sopApprove(FlowApproveParam flowApproveParam) throws InterruptedException {
-        if (Objects.isNull(flowApproveParam.getTaskId())) {
-            throw ExceptionResultEnum.FLOW_TASK_ID_IS_NULL.exception();
-        }
+        Optional.ofNullable(flowApproveParam.getTaskId()).orElseThrow(() -> ExceptionResultEnum.FLOW_TASK_ID_IS_NULL.exception());
         if (flowApproveParam.getApprove() != FlowApprovePassEnum.PASS && flowApproveParam.getApprove() != FlowApprovePassEnum.REJECT && flowApproveParam.getApprove() != FlowApprovePassEnum.DRAFT) {
             throw ExceptionResultEnum.PARAMS_ERROR.exception("sop填报只能为通过或驳回或草稿");
         }
-        if (Objects.isNull(flowApproveParam.getFormProperties())) {
-            throw ExceptionResultEnum.FLOW_FORM_PROPERTIES_IS_NULL.exception();
-        }
+        Optional.ofNullable(flowApproveParam.getFormProperties()).orElseThrow(() -> ExceptionResultEnum.FLOW_FORM_PROPERTIES_IS_NULL.exception());
         if (flowApproveParam.getApprove() == FlowApprovePassEnum.REJECT && Objects.isNull(flowApproveParam.getSetup())) {
             throw ExceptionResultEnum.FLOW_REJECT_SETUP_IS_NULL.exception();
         }

+ 4 - 1
sop-business/src/main/resources/db/log/wangliang_update_log.sql

@@ -1070,4 +1070,7 @@ WHERE id=130;
 
 INSERT INTO sys_privilege
 (id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
-VALUES(3044, '质量问题反馈审核', '/api/admin/tb/quality/problem/apply/approve', 'URL', 21, 2, 'AUTH', NULL, 1, 1, 0);
+VALUES(3044, '质量问题反馈审核', '/api/admin/tb/quality/problem/apply/approve', 'URL', 21, 2, 'AUTH', NULL, 1, 1, 0);
+
+--2023.9.5update
+ALTER TABLE t_b_project_exchange MODIFY COLUMN enable tinyint DEFAULT 1 NOT NULL COMMENT '是否启用,0:停用,1:启用';

+ 0 - 6
sop-server/src/main/java/com/qmth/sop/server/api/TBProjectExchangeController.java

@@ -45,9 +45,6 @@ public class TBProjectExchangeController {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
         }
-        if (tbProjectExchange.getFlowApprove() != FlowApprovePassEnum.START && tbProjectExchange.getFlowApprove() != FlowApprovePassEnum.DRAFT) {
-            throw ExceptionResultEnum.PARAMS_ERROR.exception("流程审批只能为提交或草稿");
-        }
         return ResultUtil.ok(tbProjectExchangeService.saveProjectExchange(tbProjectExchange));
     }
 
@@ -76,9 +73,6 @@ public class TBProjectExchangeController {
                               @ApiParam(value = "审核结果", required = true) @RequestParam ProjectExchangeApproveEnum projectExchangeApprove,
                               @ApiParam(value = "flow备注") @RequestParam(required = false) String remark,
                               @ApiParam(value = "审核用户id") @RequestParam(required = false) Long userId) throws InterruptedException {
-        if (flowApprove != FlowApprovePassEnum.PASS && flowApprove != FlowApprovePassEnum.DRAFT) {
-            throw ExceptionResultEnum.PARAMS_ERROR.exception("流程审批只能为通过或草稿");
-        }
         return ResultUtil.ok(tbProjectExchangeService.flowApprove(taskId, flowApprove, projectExchangeApprove, remark, userId));
     }