|
@@ -1,15 +1,17 @@
|
|
|
package com.ruoyi.execution.produce.utils;
|
|
|
|
|
|
-import com.alibaba.fastjson2.JSON;
|
|
|
-import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.ruoyi.execution.produce.dispersed.entity.BpmExecuteNode;
|
|
|
+import com.ruoyi.execution.produce.dispersed.entity.runbpm.BpmRunNodeFormFilterConditionsVo;
|
|
|
+import com.ruoyi.execution.produce.dispersed.entity.runbpm.BpmRunNodeFromVo;
|
|
|
import com.ruoyi.execution.produce.dispersed.mapper.BpmExecuteNodeFormMapper;
|
|
|
import com.ruoyi.execution.produce.dispersed.mapper.BpmExecuteNodeMapper;
|
|
|
import com.ruoyi.system.entity.CommonEntity;
|
|
|
+import com.ruoyi.system.mapper.CommonMapper;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.atomic.AtomicReference;
|
|
|
|
|
|
/**
|
|
|
* 离散型流程回显表单数据
|
|
@@ -27,6 +29,8 @@ public class EchoNodeFormData {
|
|
|
@Autowired
|
|
|
private BpmExecuteNodeMapper executeNodeMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private CommonMapper commonMapper;
|
|
|
|
|
|
// BpmRunNodeFromVo bpmRunNodeFromVo
|
|
|
|
|
@@ -37,24 +41,32 @@ public class EchoNodeFormData {
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
- public CommonEntity getEchoNodeFormData(CommonEntity commonEntity) {
|
|
|
- //拿到这个节点的 task_process_key【流程key】 task_node_key【节点key】 task_script_key【脚本key】
|
|
|
- String taskProcessKey = commonEntity.getQueryMap().get("taskProcessKey").toString();
|
|
|
- String taskNodeKey = commonEntity.getQueryMap().get("taskNodeKey").toString();
|
|
|
- String tableName = commonEntity.getBasicMap().get("tableName").toString();
|
|
|
- String taskScriptKey = commonEntity.getQueryMap().get("taskScriptKey").toString();
|
|
|
- String taskPlanKey = commonEntity.getQueryMap().get("taskPlanKey").toString();
|
|
|
- //查询节点上包含的数量记录(件数)---重量记录(重量)查询执行节点对应的表单数据信息
|
|
|
- BpmExecuteNode bpmExecuteNode = executeNodeMapper.queryBpmExecuteNodeBytaskNodeKey(taskProcessKey, taskNodeKey);
|
|
|
- HashMap bpmExecuteNodeMap = new HashMap();
|
|
|
+ public CommonEntity getEchoNodeFormData(BpmRunNodeFromVo bpmRunNodeFromVo) {
|
|
|
+ //返回的东西定义
|
|
|
+ AtomicReference<CommonEntity> commonEntity= new AtomicReference<>(new CommonEntity());
|
|
|
+ //默认查询的节点重量数据
|
|
|
+ BpmExecuteNode bpmExecuteNode = executeNodeMapper
|
|
|
+ .queryBpmExecuteNodeBytaskNodeKey(bpmRunNodeFromVo.getTaskProcessKey(), bpmRunNodeFromVo.getTaskNodeKey());
|
|
|
+ //到时候默认回显的数据
|
|
|
+ HashMap<String,String> bpmExecuteNodeMap = new HashMap();
|
|
|
bpmExecuteNodeMap.put("taskNodeNumber", bpmExecuteNode.getTaskNodeNumber());
|
|
|
bpmExecuteNodeMap.put("taskNodeWeight", bpmExecuteNode.getTaskNodeWeight());
|
|
|
- //拿到前端传回来的条件
|
|
|
- Map<String, Object> conditions = JSONObject.parseObject(JSON.toJSONString(commonEntity.getConditionMap()));
|
|
|
- //通用的查询接口
|
|
|
- CommonEntity commonEntityRt = bpmExecuteNodeFormMapper.getInfoById(tableName, conditions);
|
|
|
- //件数信息-重量信息放进去
|
|
|
- commonEntityRt.getResultMap().put("bpmExecuteNode", bpmExecuteNodeMap);
|
|
|
- return commonEntityRt;
|
|
|
+ commonEntity.get().getResultMap().put("bpmExecuteNode",bpmExecuteNodeMap);
|
|
|
+ //查询表名、条件封装的集合
|
|
|
+ List<BpmRunNodeFormFilterConditionsVo> formDataVoList = bpmRunNodeFromVo.getFormDataVoList();
|
|
|
+ formDataVoList.forEach(item->{
|
|
|
+ //是否是节点回填数据(默认是true)
|
|
|
+ String listKey = item.getListKey();
|
|
|
+ if(listKey!=null){
|
|
|
+ //下拉框查询
|
|
|
+ List<Map<String, Object>> maps = commonMapper.selectDropDownListNotWhere(item.getTableName());
|
|
|
+ commonEntity.get().getResultMap().put(item.getListKey(),maps);
|
|
|
+ }else {
|
|
|
+ //表单回填数据查询
|
|
|
+ CommonEntity common = commonMapper.selectOne(item.getTableName(), item.getCondition());
|
|
|
+ commonEntity.get().getResultMap().putAll(common.getResultMap());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return commonEntity.get();
|
|
|
}
|
|
|
}
|