[修改] 标签回显

This commit is contained in:
bupengxiang
2023-05-09 14:15:40 +08:00
parent 8df19abcef
commit a06a6e93f1
28 changed files with 180 additions and 45 deletions
@@ -8,6 +8,7 @@ import com.adc.da.wkflow.business_activiti.service.ActivitDefineService;
import com.adc.da.wkflow.business_main.entity.BusProcessName;
import com.adc.da.wkflow.business_main.service.IBusProcessApproveService;
import com.adc.da.wkflow.business_main.service.IBusProcessNameService;
import com.adc.da.wkflow.dto.StartProcessEO;
import com.adc.da.wkflow.enums.SubmitStatusEnum;
import com.adc.da.wkflow.util.ImpulseSenderUtils;
import com.adc.da.wkflow.util.activiti.ActivitiTools;
@@ -143,13 +144,7 @@ public class ActivitDefineController {
Map<String, Object> prcNameAndPrcNum = createPrcNameAndPrcNum(prcType);
jsonObject.put("id",prcNameAndPrcNum.get("id"));
/**
* String id,
* String userId,
* String bpnId,
* String prcType,
* String msg
*/
String id = jsonObject.getString("id");
String userId = jsonObject.getString("loginUserId");
String bpnId = jsonObject.getString("bpnId");
@@ -225,7 +220,100 @@ public class ActivitDefineController {
log.info("启动流程实例,获取id-->{},实例名称-->{}", pi.getId(), pd.getName());
return WrapMapper.ok(task.getId());
}
@ApiOperation(value = "启动流程-以流程定义id")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "流程定义Id"),
@ApiImplicitParam(name = "userId", value = "流程发起人Id"),
@ApiImplicitParam(name = "bpnId", value = "流程表单ID"),
@ApiImplicitParam(name = "prcType", value = "流程类型"),
@ApiImplicitParam(name = "prcName", value = "流程名称"),
})
@PostMapping("/batchStartProcess")
public Wrapper<String> batchStartProcess(@RequestBody List<StartProcessEO> startProcessEOList) {
List<BusProcessName> busProcessNames = new ArrayList<>();
StringBuilder stringBuilder = new StringBuilder();
for (StartProcessEO startProcessEO : startProcessEOList) {
startProcessEO.setLoginUserId(UserUtils.getUserId());
if(com.adc.da.util.utils.StringUtils.isNotEmpty(startProcessEO.getId())){
startProcessEO.setBpnId(startProcessEO.getId());
}
String prcType = startProcessEO.getPrcType();
Map<String, Object> prcNameAndPrcNum = createPrcNameAndPrcNum(prcType);
startProcessEO.setId((String) prcNameAndPrcNum.get("id"));
String id = startProcessEO.getId();
String userId = startProcessEO.getUserId();
String bpnId = startProcessEO.getBpnId();
// 创建查询对象
ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery();
// 使用流程定义的名称模糊查询
long total = processDefinitionQuery.count();
List<ProcessDefinition> list = processDefinitionQuery.orderByProcessDefinitionKey().asc().list();
List<Map<String, Object>> definitions = ActivitiTools.turnProcessDefinitions(list);
String pid = "";
for(Map<String, Object> map:definitions){
if(map.get("key").toString().equals(id)){
pid = map.get("id").toString();
}
}
ProcessDefinition pd = repositoryService.createProcessDefinitionQuery().processDefinitionId(pid).singleResult();
ProcessInstance pi = runtimeService.startProcessInstanceById(pid);
Task task = taskService.createTaskQuery().processInstanceId(pi.getId()).singleResult();
task.setAssignee(userId);
taskService.saveTask(task);
stringBuilder.append(","+task.getId());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if(StringUtils.isEmpty(bpnId)) {
BusProcessName busProcessName = new BusProcessName();
busProcessName.setPrcId(pi.getId());
busProcessName.setCreatTime(sdf.format(new Date()));
busProcessName.setCreatUser(userId);
UserEO byId = userEoService.getUserById(userId);
busProcessName.setCreatUserName(byId.getUsname());
busProcessName.setPrcNum((String) prcNameAndPrcNum.get("prcNum"));
busProcessName.setPrcType(prcType);
// String data = JSON.toJSONString(dataMsg, SerializerFeature.DisableCircularReferenceDetect);
// String dateId = activitDefineService.saveOrUpdateDate(prcType,data,task.getId(),pi.getId(),reportId);
// busProcessName.setDataId(dateId);
// busProcessName.setPrcName((String) prcNameAndPrcNum.get("prcName"));
busProcessName.setPrcName(startProcessEO.getPrcName());
busProcessName.setSubmitStatus(SubmitStatusEnum.SUBMIT.getValue());
busProcessNames.add(busProcessName);
}else{
// 删除重新增加的目的是为了留下历史的流程编号,方便发号器生成
QueryWrapper<BusProcessName> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("ID", bpnId);
BusProcessName one = ibusprocessnameService.getOne(queryWrapper);
one.setSubmitStatus(SubmitStatusEnum.DELETE.getValue());
ibusprocessnameService.saveOrUpdate(one);
String newId = UUID.randomUUID().toString().replace("-", "");
one.setId(newId);
one.setPrcNum((String) prcNameAndPrcNum.get("prcNum"));
// one.setPrcName((String) prcNameAndPrcNum.get("prcName"));
one.setPrcName(startProcessEO.getPrcName());
one.setPrcId(pi.getId());
one.setSubmitStatus(SubmitStatusEnum.SUBMIT.getValue());
one.setCreatTime(sdf.format(new Date()));
// String data = JSON.toJSONString(dataMsg, SerializerFeature.DisableCircularReferenceDetect);
// String dateId = activitDefineService.saveOrUpdateDate(prcType,data,task.getId(),pi.getId(),reportId);
// one.setDataId(dateId);
busProcessNames.add(one);
}
log.info("启动流程实例,获取id-->{},实例名称-->{}", pi.getId(), pd.getName());
}
ibusprocessnameService.saveBatch(busProcessNames);
String substring = stringBuilder.toString().substring(1, stringBuilder.length() - 1);
return WrapMapper.ok(substring);
}
@ApiOperation(value = "判断流程定义key的唯一性")
@GetMapping("/check_define_key")
@@ -9,6 +9,7 @@ import com.adc.da.report.eo.TtReportManageAct;
import com.adc.da.report.service.IPowerApplyActService;
import com.adc.da.report.service.IReportLabelService;
import com.adc.da.report.service.ITtReportManageActService;
import com.adc.da.util.utils.CollectionUtils;
import com.adc.da.util.utils.StringUtils;
import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger;
@@ -69,11 +70,13 @@ public class ActivitDefineService {
//插入报表标签关系表
//修改报表标签关系表(先删后增)
iReportLabelService.deleteReportLabelByReportId(new String[]{reportId});
ttReportManageAct.getLabelList().forEach((label) -> {
ReportLabelEntity reportLabelEntity = new ReportLabelEntity(com.adc.da.util.utils.UUID.randomUUID10()
,ttReportManageAct.getDataId(), label);
reportLabelDao.insert(reportLabelEntity);
});
if (CollectionUtils.isNotEmpty(ttReportManageAct.getLabelList())){
ttReportManageAct.getLabelList().forEach((label) -> {
ReportLabelEntity reportLabelEntity = new ReportLabelEntity(com.adc.da.util.utils.UUID.randomUUID10()
,ttReportManageAct.getDataId(), label);
reportLabelDao.insert(reportLabelEntity);
});
}
}
return reportId;
}
@@ -3,6 +3,7 @@ package com.adc.da.wkflow.business_activiti.task;
import cn.hutool.core.util.StrUtil;
import com.adc.da.login.util.UserUtils;
import com.adc.da.report.dao.mysql.PowerApplyActDao;
import com.adc.da.report.dao.mysql.TreeLabelDao;
import com.adc.da.report.dao.mysql.TtReportManageActDao;
import com.adc.da.report.eo.TtReportManageAct;
import com.adc.da.report.vo.PowerApplyActPageVO;
@@ -114,6 +115,9 @@ public class TodoTaskController {
@Autowired
private TtReportManageActDao ttReportManageActDao;
@Autowired
private TreeLabelDao treeLableDao;
@ApiOperation(value = "我的待办任务列表")
@ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"),
@ApiImplicitParam(name = "current", value = "当前页"),
@@ -478,6 +482,8 @@ public class TodoTaskController {
}else {
ttReportManageAct = ttReportManageActDao.selectByPrcId(pId);
}
List<String> labelList = treeLableDao.selectIdByReport(ttReportManageAct.getDataId());
ttReportManageAct.setLabelList(labelList);
String string = JSONArray.toJSONString(ttReportManageAct);
//去对应的 数据表查数据
busProcessNewVO.setDataJson(string);
@@ -0,0 +1,24 @@
package com.adc.da.wkflow.dto;
import com.alibaba.fastjson.JSON;
import lombok.Data;
@Data
public class StartProcessEO {
private String prcName;
private String prcType;
private String userId;
private JSON approveData;
private JSON dataMsg;
private String loginUserId;
private String bpnId;
private String id;
}