From d17dde4fe0adb550ab6c7fa3725a6e86e24d7f00 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期一, 30 八月 2021 18:36:27 +0800
Subject: [PATCH] 优化代码
---
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowForm/impl/GetOaWorkflowFormBMOImpl.java | 61 ++++++++++++++++++++++++++----
1 files changed, 53 insertions(+), 8 deletions(-)
diff --git a/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowForm/impl/GetOaWorkflowFormBMOImpl.java b/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowForm/impl/GetOaWorkflowFormBMOImpl.java
index 2ff7741..2506888 100644
--- a/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowForm/impl/GetOaWorkflowFormBMOImpl.java
+++ b/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowForm/impl/GetOaWorkflowFormBMOImpl.java
@@ -177,6 +177,14 @@
List<OaWorkflowDto> oaWorkflowDtos = oaWorkflowInnerServiceSMOImpl.queryOaWorkflows(oaWorkflowDto);
Assert.listOnlyOne(oaWorkflowDtos, "娴佺▼涓嶅瓨鍦�");
+ OaWorkflowFormDto oaWorkflowFormDto = new OaWorkflowFormDto();
+ oaWorkflowFormDto.setFlowId(paramIn.get("flowId").toString());
+ oaWorkflowFormDto.setStoreId(paramIn.get("storeId").toString());
+ oaWorkflowFormDto.setRow(1);
+ oaWorkflowFormDto.setPage(1);
+ List<OaWorkflowFormDto> oaWorkflowFormDtos = oaWorkflowFormInnerServiceSMOImpl.queryOaWorkflowForms(oaWorkflowFormDto);
+ Assert.listOnlyOne(oaWorkflowFormDtos, "鏈寘鍚祦绋嬭〃鍗曪紝璇峰厛璁剧疆琛ㄥ崟");
+
AuditUser auditUser = new AuditUser();
auditUser.setProcessDefinitionKey(oaWorkflowDtos.get(0).getProcessDefinitionKey());
auditUser.setFlowId(paramIn.getString("flowId"));
@@ -192,7 +200,7 @@
if (count > 0) {
datas = oaWorkflowUserInnerServiceSMOImpl.getUserTasks(auditUser);
//鍒锋柊 琛ㄥ崟鏁版嵁
- freshFormData(datas, paramIn);
+ freshFormData(datas, paramIn, oaWorkflowFormDtos.get(0));
} else {
datas = new ArrayList<>();
}
@@ -218,6 +226,14 @@
List<OaWorkflowDto> oaWorkflowDtos = oaWorkflowInnerServiceSMOImpl.queryOaWorkflows(oaWorkflowDto);
Assert.listOnlyOne(oaWorkflowDtos, "娴佺▼涓嶅瓨鍦�");
+ OaWorkflowFormDto oaWorkflowFormDto = new OaWorkflowFormDto();
+ oaWorkflowFormDto.setFlowId(paramIn.get("flowId").toString());
+ oaWorkflowFormDto.setStoreId(paramIn.get("storeId").toString());
+ oaWorkflowFormDto.setRow(1);
+ oaWorkflowFormDto.setPage(1);
+ List<OaWorkflowFormDto> oaWorkflowFormDtos = oaWorkflowFormInnerServiceSMOImpl.queryOaWorkflowForms(oaWorkflowFormDto);
+ Assert.listOnlyOne(oaWorkflowFormDtos, "鏈寘鍚祦绋嬭〃鍗曪紝璇峰厛璁剧疆琛ㄥ崟");
+
AuditUser auditUser = new AuditUser();
auditUser.setProcessDefinitionKey(oaWorkflowDtos.get(0).getProcessDefinitionKey());
auditUser.setFlowId(paramIn.getString("flowId"));
@@ -233,7 +249,7 @@
if (count > 0) {
datas = oaWorkflowUserInnerServiceSMOImpl.getUserHistoryTasks(auditUser);
//鍒锋柊 琛ㄥ崟鏁版嵁
- freshFormData(datas, paramIn);
+ freshFormData(datas, paramIn, oaWorkflowFormDtos.get(0));
} else {
datas = new ArrayList<>();
}
@@ -260,15 +276,43 @@
List<OaWorkflowFormDto> oaWorkflowFormDtos = oaWorkflowFormInnerServiceSMOImpl.queryOaWorkflowForms(oaWorkflowFormDto);
Assert.listOnlyOne(oaWorkflowFormDtos, "鏈寘鍚祦绋嬭〃鍗曪紝璇峰厛璁剧疆琛ㄥ崟");
-
- reqJson.put("createUserId", reqJson.getString("userId"));
- boolean isLastTask = oaWorkflowUserInnerServiceSMOImpl.completeTask(reqJson);
- if (isLastTask) {
- reqJson.put("state", "1005");
+ //涓氬姟鍔炵悊
+ if ("1100".equals(reqJson.getString("auditCode"))) { //鍔炵悊鎿嶄綔
+ reqJson.put("nextUserId", reqJson.getString("staffId"));
+ boolean isLastTask = oaWorkflowUserInnerServiceSMOImpl.completeTask(reqJson);
+ if (isLastTask) {
+ reqJson.put("state", "1005");
+ } else {
+ reqJson.put("state", "1002");
+ }
reqJson.put("tableName", oaWorkflowFormDtos.get(0).getTableName());
oaWorkflowFormInnerServiceSMOImpl.updateOaWorkflowFormData(reqJson);
+ } else if ("1300".equals(reqJson.getString("auditCode"))) { //杞崟鎿嶄綔
+ reqJson.put("nextUserId", reqJson.getString("staffId"));
+ oaWorkflowUserInnerServiceSMOImpl.changeTaskToOtherUser(reqJson);
+ reqJson.put("state", "1004");
+ reqJson.put("tableName", oaWorkflowFormDtos.get(0).getTableName());
+ oaWorkflowFormInnerServiceSMOImpl.updateOaWorkflowFormData(reqJson);
+ } else if ("1200".equals(reqJson.getString("auditCode"))
+ || "1400".equals(reqJson.getString("auditCode"))
+ ) { //閫�鍥炴搷浣�
+ reqJson.put("nextUserId", reqJson.getString("staffId"));
+ oaWorkflowUserInnerServiceSMOImpl.completeTask(reqJson);
+ reqJson.put("state", "1003");
+ reqJson.put("tableName", oaWorkflowFormDtos.get(0).getTableName());
+ oaWorkflowFormInnerServiceSMOImpl.updateOaWorkflowFormData(reqJson);
+ } else {
+ throw new IllegalArgumentException("涓嶆敮鎸佺殑绫诲瀷");
}
+
+
return ResultVo.success();
+ }
+
+ @Override
+ public ResponseEntity<String> getNextTask(JSONObject reqJson) {
+ List<JSONObject> tasks = oaWorkflowUserInnerServiceSMOImpl.nextAllNodeTaskList(reqJson);
+ return ResultVo.createResponseEntity(tasks);
}
/**
@@ -276,7 +320,7 @@
*
* @param datas
*/
- private void freshFormData(List<JSONObject> datas, JSONObject paramIn) {
+ private void freshFormData(List<JSONObject> datas, JSONObject paramIn, OaWorkflowFormDto oaWorkflowFormDto) {
List<String> ids = new ArrayList<>();
for (JSONObject data : datas) {
ids.add(data.getString("id"));
@@ -288,6 +332,7 @@
Map paramMap = new HashMap();
paramMap.put("storeId", paramIn.getString("storeId"));
paramMap.put("ids", ids.toArray(new String[ids.size()]));
+ paramMap.put("tableName", oaWorkflowFormDto.getTableName());
paramMap.put("page", 1);
paramMap.put("row", ids.size());
List<Map> formDatas = oaWorkflowFormInnerServiceSMOImpl.queryOaWorkflowFormDatas(paramMap);
--
Gitblit v1.8.0