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

流程定义加上过滤条件

hym 4 éve
szülő
commit
f615abee9f

+ 10 - 7
operation_manager/src/main/java/com/huaxu/process/service/impl/WorkFlowServiceImpl.java

@@ -148,7 +148,8 @@ public class WorkFlowServiceImpl implements WorkFlowService {
     @Override
     public IPage<ProcessDefinitionDTO> selectPage(ProcessDefinition processDefinition, IPage<ProcessDefinitionDTO> iPage) {
         LoginUser loginUser = UserUtil.getCurrentUser();
-
+        processDefinition.setTenantId(loginUser.getTenantId());
+        processDefinition.setCompanyOrgId(loginUser.getCompanyId());
         IPage<ProcessDefinitionDTO> processDefinitionDTOIPage = processDefinitionMapper.selectPage(iPage, processDefinition);
         return processDefinitionDTOIPage;
     }
@@ -156,14 +157,16 @@ public class WorkFlowServiceImpl implements WorkFlowService {
     @Override
     public void saveProcessDefinition(ProcessDefinition processDefinition) {
         log.info("begin add ProcessDefinition processDefinition:" + JSON.toJSONString(processDefinition));
-        String tenantId = UserUtil.getCurrentUser().getTenantId();
-        int uniqueCount = processDefinitionMapper.checkProcessUnique(null, tenantId,
-                processDefinition.getCompanyOrgId(),processDefinition.getTaskType());
-        if (uniqueCount > 0) {
-            throw new ServiceException(ResultStatus.PROCESS_ALREADY_EXISTS);
-        }
+        LoginUser currentUser = UserUtil.getCurrentUser();
+        String tenantId =currentUser.getTenantId();
+
         List<Integer> companyIds = processDefinition.getCompanyIds();
         companyIds.forEach(id->{
+            int uniqueCount = processDefinitionMapper.checkProcessUnique(null, tenantId,
+                    id,processDefinition.getTaskType());
+            if (uniqueCount > 0) {
+                throw new ServiceException(ResultStatus.PROCESS_ALREADY_EXISTS);
+            }
             processDefinition.setVersion(1);
             processDefinition.setRunningVersion(0);
             processDefinition.setTenantId(tenantId);

+ 1 - 1
operation_manager/src/main/resources/mapper/ProcessDefinitionMapper.xml

@@ -241,7 +241,7 @@
         <include refid="Base_Column_List"/>
         from sc_process_definition
         <where>
-            status =1
+            status =1 and
             <if test="processDefinition.id != null">
                 and id = #{processDefinition.id}
             </if>