From 6bc9483b5bf1d72f6365e23ebcd5703a180bbb90 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期一, 30 一月 2023 02:33:42 +0800
Subject: [PATCH] 优化配置
---
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowForm/impl/GetOaWorkflowFormBMOImpl.java | 133 ++++++++++++++++++++++++++++++++++++--------
1 files changed, 108 insertions(+), 25 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 a5a29e4..36bed36 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
@@ -1,18 +1,25 @@
package com.java110.oa.bmo.oaWorkflowForm.impl;
import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Transactional;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.oaWorkflow.OaWorkflowDto;
import com.java110.dto.oaWorkflowData.OaWorkflowDataDto;
import com.java110.dto.oaWorkflowForm.OaWorkflowFormDto;
import com.java110.dto.user.UserDto;
+import com.java110.dto.workflowDataFile.WorkflowDataFileDto;
import com.java110.entity.audit.AuditUser;
-import com.java110.intf.common.IOaWorkflowUserInnerServiceSMO;
+import com.java110.intf.common.IOaWorkflowActivitiInnerServiceSMO;
import com.java110.intf.oa.IOaWorkflowDataInnerServiceSMO;
import com.java110.intf.oa.IOaWorkflowFormInnerServiceSMO;
import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
+import com.java110.intf.oa.IWorkflowDataFileV1InnerServiceSMO;
import com.java110.intf.user.IUserInnerServiceSMO;
import com.java110.oa.bmo.oaWorkflowForm.IGetOaWorkflowFormBMO;
+import com.java110.po.workflowDataFile.WorkflowDataFilePo;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.MappingConstant;
+import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.DateUtil;
@@ -41,10 +48,13 @@
private IUserInnerServiceSMO userInnerServiceSMOImpl;
@Autowired
- private IOaWorkflowUserInnerServiceSMO oaWorkflowUserInnerServiceSMOImpl;
+ private IOaWorkflowActivitiInnerServiceSMO oaWorkflowUserInnerServiceSMOImpl;
@Autowired
private IOaWorkflowDataInnerServiceSMO oaWorkflowDataInnerServiceSMOImpl;
+
+ @Autowired
+ private IWorkflowDataFileV1InnerServiceSMO workflowDataFileV1InnerServiceSMOImpl;
/**
@@ -103,15 +113,40 @@
List<Map> datas = null;
if (count > 0) {
datas = oaWorkflowFormInnerServiceSMOImpl.queryOaWorkflowFormDatas(paramIn);
+
} else {
datas = new ArrayList<>();
}
+
+ //鏌ヨfile
+ queryFilesFromData(datas);
ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (int) paramIn.get("row")), count, datas);
ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
return responseEntity;
+ }
+
+ private void queryFilesFromData(List<Map> datas) {
+ if (datas.size() != 1) {
+ return;
+ }
+
+ WorkflowDataFileDto workflowDataFileDto = new WorkflowDataFileDto();
+ workflowDataFileDto.setId(datas.get(0).get("id").toString());
+ workflowDataFileDto.setStoreId(datas.get(0).get("store_id").toString());
+ List<WorkflowDataFileDto> workflowDataFileDtos = workflowDataFileV1InnerServiceSMOImpl.queryWorkflowDataFiles(workflowDataFileDto);
+
+ if (workflowDataFileDtos == null || workflowDataFileDtos.size() < 1) {
+ return;
+ }
+ String imgUrl = MappingCache.getValue(MappingConstant.FILE_DOMAIN,"IMG_PATH");
+ for(WorkflowDataFileDto tmpWorkflowDataFileDto: workflowDataFileDtos){
+ tmpWorkflowDataFileDto.setRealFileName(imgUrl + tmpWorkflowDataFileDto.getRealFileName());
+ }
+
+ datas.get(0).put("files",workflowDataFileDtos);
}
/**
@@ -164,10 +199,37 @@
throw new IllegalArgumentException("淇濆瓨澶辫触");
}
+ //鍒ゆ柇鏄惁鏈夐檮浠�
+ saveOaWorkflowFile(reqJson);
+
reqJson.put("processDefinitionKey", oaWorkflowDtos.get(0).getProcessDefinitionKey());
oaWorkflowUserInnerServiceSMOImpl.startProcess(reqJson);
return ResultVo.success();
+ }
+
+ private void saveOaWorkflowFile(JSONObject reqJson) {
+ if (!reqJson.containsKey("fileName")) {
+ return;
+ }
+
+ String fileName = reqJson.getString("fileName");
+ if (StringUtil.isEmpty(fileName)) {
+ return;
+ }
+
+ WorkflowDataFilePo workflowDataFilePo = new WorkflowDataFilePo();
+ workflowDataFilePo.setCreateUserId(reqJson.getString("userId"));
+ workflowDataFilePo.setCreateUserName(reqJson.getString("createUserName"));
+ workflowDataFilePo.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
+ workflowDataFilePo.setFileName(reqJson.getString("fileName"));
+ workflowDataFilePo.setId(reqJson.getString("id"));
+ workflowDataFilePo.setRealFileName(reqJson.getString("realFileName"));
+ workflowDataFilePo.setStoreId(reqJson.getString("storeId"));
+ int flag = workflowDataFileV1InnerServiceSMOImpl.saveWorkflowDataFile(workflowDataFilePo);
+ if (flag < 1) {
+ throw new CmdException("淇濆瓨闄勪欢澶辫触");
+ }
}
/**
@@ -269,6 +331,7 @@
}
@Override
+ @Java110Transactional
public ResponseEntity<String> auditOaWorkflow(JSONObject reqJson) {
//鏌ヨ娴佺▼鏄惁瀛樺湪
OaWorkflowDto oaWorkflowDto = new OaWorkflowDto();
@@ -300,7 +363,8 @@
reqJson.put("startUserId", formDatas.get(0).get("create_user_id"));
//涓氬姟鍔炵悊
- if ("1100".equals(reqJson.getString("auditCode"))) { //鍔炵悊鎿嶄綔
+ if ("1100".equals(reqJson.getString("auditCode"))
+ || "1500".equals(reqJson.getString("auditCode"))) { //鍔炵悊鎿嶄綔
reqJson.put("nextUserId", reqJson.getString("staffId"));
boolean isLastTask = oaWorkflowUserInnerServiceSMOImpl.completeTask(reqJson);
if (isLastTask) {
@@ -329,6 +393,9 @@
}
+
+
+
return ResultVo.success();
}
@@ -346,12 +413,12 @@
Map paramMap = new HashMap();
paramMap.put("storeId", reqJson.getString("storeId"));
paramMap.put("id", reqJson.getString("id"));
- paramMap.put("tableName", oaWorkflowFormDto.getTableName());
+ paramMap.put("tableName", oaWorkflowFormDtos.get(0).getTableName());
paramMap.put("page", 1);
paramMap.put("row", 1);
List<Map> formDatas = oaWorkflowFormInnerServiceSMOImpl.queryOaWorkflowFormDatas(paramMap);
Assert.listOnlyOne(formDatas, "琛ㄥ崟鏁版嵁涓嶅瓨鍦�");
- reqJson.put("startUserId",formDatas.get(0).get("create_user_id"));
+ reqJson.put("startUserId", formDatas.get(0).get("create_user_id"));
List<JSONObject> tasks = oaWorkflowUserInnerServiceSMOImpl.nextAllNodeTaskList(reqJson);
return ResultVo.createResponseEntity(tasks);
}
@@ -370,7 +437,8 @@
oaWorkflowFormDto.setRow(1);
oaWorkflowFormDto.setPage(1);
List<OaWorkflowFormDto> oaWorkflowFormDtos = oaWorkflowFormInnerServiceSMOImpl.queryOaWorkflowForms(oaWorkflowFormDto);
- Assert.listOnlyOne(oaWorkflowFormDtos, "鏈寘鍚祦绋嬭〃鍗曪紝璇峰厛璁剧疆琛ㄥ崟");
+ //Assert.listOnlyOne(oaWorkflowFormDtos, "鏈寘鍚祦绋嬭〃鍗曪紝璇峰厛璁剧疆琛ㄥ崟");
+ OaWorkflowFormDto tmpOaWorkflowFormDto = (oaWorkflowFormDtos == null || oaWorkflowFormDtos.size() < 1)?null:oaWorkflowFormDtos.get(0);
OaWorkflowDataDto oaWorkflowDataDto = new OaWorkflowDataDto();
oaWorkflowDataDto.setFlowId(paramIn.getString("flowId"));
@@ -389,7 +457,7 @@
datas.add(BeanConvertUtil.beanCovertJson(oaWorkflowDataDto1));
}
//鍒锋柊 琛ㄥ崟鏁版嵁
- freshFormData(datas, paramIn, oaWorkflowFormDtos.get(0));
+ freshFormData(datas, paramIn, tmpOaWorkflowFormDto);
}
ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) paramIn.getInteger("row")), count, datas);
@@ -404,33 +472,19 @@
* @param datas
*/
private void freshFormData(List<JSONObject> datas, JSONObject paramIn, OaWorkflowFormDto oaWorkflowFormDto) {
- List<String> ids = new ArrayList<>();
+
List<String> userIds = new ArrayList<>();
for (JSONObject data : datas) {
- ids.add(data.getString("id"));
if (!StringUtil.isEmpty(data.getString("staffId"))) {
userIds.add(data.getString("staffId"));
}
}
- if (ids.size() < 1) {
- return;
- }
- 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);
+ //杈撳叆formData
+ refreshFormData(oaWorkflowFormDto,datas,paramIn);
+
long duration = 0L;
for (JSONObject data : datas) {
- for (Map form : formDatas) {
- if (data.getString("id").equals(form.get("id"))) {
- data.putAll(form);
- }
- }
-
if (data.containsKey("startTime") && data.containsKey("endTime")) {
try {
if (data.getString("endTime") == null) {
@@ -465,6 +519,35 @@
}
}
+ private void refreshFormData(OaWorkflowFormDto oaWorkflowFormDto, List<JSONObject> datas, JSONObject paramIn) {
+ if(oaWorkflowFormDto == null){
+ return ;
+ }
+
+ List<String> ids = new ArrayList<>();
+ for (JSONObject data : datas) {
+ ids.add(data.getString("id"));
+ }
+ if (ids.size() < 1) {
+ return;
+ }
+
+ 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);
+ for (JSONObject data : datas) {
+ for (Map form : formDatas) {
+ if (data.getString("id").equals(form.get("id"))) {
+ data.putAll(form);
+ }
+ }
+ }
+ }
+
public String getCostTime(Long time) {
if (time == null) {
return "00:00";
--
Gitblit v1.8.0