Browse Source

表单发送接口

guarantee-lsq 7 months ago
parent
commit
6b0c08e5aa

+ 7 - 4
platform-service/src/main/java/com/platform/service/custom/impl/CustomFormDataServiceImpl.java

@@ -88,20 +88,20 @@ public class CustomFormDataServiceImpl extends BaseServiceImpl<CustomFormDataMap
     public CustomFormData saveByDTO(CustomFormDataDTO record) {
         log.info("新增dataJson===" + record.getJsonString());
         checkPreview(record);
-        CustomForm form = customFormMapper.selectByPrimaryKey(record.getFormId());
+        //CustomForm form = customFormMapper.selectByPrimaryKey(record.getFormId());
         // 新增data
         CustomFormData data = BeanConverterUtil.copyObjectProperties(record, CustomFormData.class);
         packageData(data);
         // 获取的查询字段值
-        CustomFormBomField fieldQuery = new CustomFormBomField();
+        /*CustomFormBomField fieldQuery = new CustomFormBomField();
         fieldQuery.setFormId(record.getFormId());
         List<CustomFormBomField> fieldList = customFormBomFieldMapper.select(fieldQuery);
         // 新增bom表(存储查询的value值)
-        CustomFormBom bom = addBom(data,fieldList,form);
+        CustomFormBom bom = addBom(data,fieldList,form);*/
         // 流程ID不为空处理
         handleFlow(data);
         mapper.insert(data);
-        customFormBomMapper.insert(bom);
+        //customFormBomMapper.insert(bom);
         return data;
     }
 
@@ -168,6 +168,9 @@ public class CustomFormDataServiceImpl extends BaseServiceImpl<CustomFormDataMap
         node.setFlowId(bom.getFlowId());
         node.setNodeLevel(YesNoEnum.YES.getValue());
         node = workflowNodeMapper.selectOne(node);
+        if(node == null){
+            throw new DeniedException("流程节点为空,请检查work_flow_node");
+        }
         task.setFrontId(node.getFrontId());
         workflowTaskMapper.insert(task);
     }

+ 28 - 27
platform-service/src/main/java/com/platform/service/workflow/impl/WorkflowServiceImpl.java

@@ -68,6 +68,7 @@ public class WorkflowServiceImpl extends BaseServiceImpl<WorkflowMapper, Workflo
         // 解析json,生成workflowNode,发起表单或者其他审批根据workflowNode来生成任务
         parseJson(array,flow,nodeList);
         mapper.insert(flow);
+        workflowNodeMapper.insertListforComplex(nodeList);
         return flow;
     }
 
@@ -95,6 +96,7 @@ public class WorkflowServiceImpl extends BaseServiceImpl<WorkflowMapper, Workflo
         workflow.setUpdateUserId(SecurityUtils.getUserInfo().getUserId());
         workflow.setUpdateUserName(SecurityUtils.getUserInfo().getRealName());
         mapper.updateByPrimaryKeySelective(workflow);
+        workflowNodeMapper.insertListforComplex(nodeList);
     }
 
     private void parseJson(JSONArray array,Workflow record,List<WorkflowNode> nodeList) {
@@ -105,34 +107,33 @@ public class WorkflowServiceImpl extends BaseServiceImpl<WorkflowMapper, Workflo
             if(sortNum > maxNodeNum) {
                 maxNodeNum = sortNum;
             }
-            if(sortNum > 1) {
-                int type = jsonObject.getInteger("type");
-                // 存储节点
-                WorkflowNode node = new WorkflowNode();
-                node.setId(IdGeneratorUtils.getObjectId());
-                node.setNodeLevel(sortNum);
-                node.setType(type);
-                node.setCreatedTime(LocalDateTime.now());
-                node.setCreatedUserId(SecurityUtils.getUserInfo().getUserId());
-                node.setCreatedUserName(SecurityUtils.getUserInfo().getRealName());
-                node.setFrontId(jsonObject.getString("id"));
-                node.setFrontParentId(jsonObject.getString("parentId"));
-                switch(type) {
-                    case CommonConstants.CONDITION_TYPE: // 条件分支
-                        JSONObject condition = new JSONObject();
-                        condition.put("value", jsonObject.getString("handleConditionValue"));
-                        condition.put("symbol", jsonObject.getString("handleConditionType"));
-                        condition.put("fieldName",jsonObject.getString("titleColumnCode"));
-                        node.setSwitchJson(condition.toJSONString());
-                        node.setSwitchHandleId(jsonObject.getString("handleNameId"));
-                        break;
-                    case CommonConstants.VERIFY_USER_TYPE: // 审核人
-                        node.setUserId(jsonObject.getString("verifier"));
-                        node.setUserName(jsonObject.getString("userName"));
-                        break;
-                }
-                nodeList.add(node);
+            int type = jsonObject.getInteger("type");
+            // 存储节点
+            WorkflowNode node = new WorkflowNode();
+            node.setId(IdGeneratorUtils.getObjectId());
+            node.setNodeLevel(sortNum);
+            node.setType(type);
+            node.setCreatedTime(LocalDateTime.now());
+            node.setCreatedUserId(SecurityUtils.getUserInfo().getUserId());
+            node.setCreatedUserName(SecurityUtils.getUserInfo().getRealName());
+            node.setFrontId(jsonObject.getString("id"));
+            node.setFrontParentId(jsonObject.getString("parentId"));
+            node.setFlowId(record.getId());
+            switch(type) {
+                case CommonConstants.CONDITION_TYPE: // 条件分支
+                    JSONObject condition = new JSONObject();
+                    condition.put("value", jsonObject.getString("handleConditionValue"));
+                    condition.put("symbol", jsonObject.getString("handleConditionType"));
+                    condition.put("fieldName",jsonObject.getString("titleColumnCode"));
+                    node.setSwitchJson(condition.toJSONString());
+                    node.setSwitchHandleId(jsonObject.getString("handleNameId"));
+                    break;
+                case CommonConstants.VERIFY_USER_TYPE: // 审核人
+                    node.setUserId(jsonObject.getString("verifier"));
+                    node.setUserName(jsonObject.getString("userName"));
+                    break;
             }
+            nodeList.add(node);
         }
         record.setLevelNode(maxNodeNum);
     }

+ 2 - 1
platform-service/src/main/java/com/platform/service/workflow/impl/WorkflowTaskBomServiceImpl.java

@@ -16,6 +16,7 @@ import com.platform.dao.entity.workflow.WorkflowTask;
 import com.platform.dao.entity.workflow.WorkflowTaskBom;
 import com.platform.dao.entity.workflow.WorkflowTaskRecord;
 import com.platform.dao.enums.FlowTaskStatusEnum;
+import com.platform.dao.enums.TaskRecordStatusEnum;
 import com.platform.dao.enums.YesNoEnum;
 import com.platform.dao.mapper.custom.CustomClassNameMapper;
 import com.platform.dao.mapper.custom.CustomFormDataMapper;
@@ -151,7 +152,7 @@ public class WorkflowTaskBomServiceImpl extends BaseServiceImpl<WorkflowTaskBomM
         // 修改任务
         workflowTaskMapper.updateByPrimaryKeySelective(updTask);
         // 存储处理记录
-        saveTaskRecord(FlowTaskStatusEnum.VERIFYING.getValue(),SecurityUtils.getUserInfo().getRealName() + "发送任务",updTask.getId());
+        saveTaskRecord(TaskRecordStatusEnum.APPLY_SUCCESS.getValue(),SecurityUtils.getUserInfo().getRealName() + "发送任务",updTask.getId());
     }
 
     private void saveTaskRecord(Integer status,String remark,String taskId) {