Commit e9a39c1e authored by suhuiguang's avatar suhuiguang

1.单位更名

parent 991b59ec
......@@ -99,4 +99,11 @@ public class JgChangeRegistrationNameDto extends BaseDto {
// 区分监管和企业
private String type;
/**
* 下一步任务id
*/
private String nextTaskId;
}
......@@ -142,4 +142,11 @@ public class JgChangeRegistrationName extends BaseEntity {
@TableField("instance_status")
private String instanceStatus;
/**
* 下一步任务id
*/
@TableField("next_task_id")
private String nextTaskId;
}
......@@ -630,7 +630,7 @@ public class CommonServiceImpl implements ICommonService {
}
List<Map> urlList = JsonUtils.getResourceList(urlInfo);
for (Map map : urlList) {
if (map.get("type").equals(obj.getTaskType()) && map.get("pageType").equals("look")){
if (map.get("type").equals(obj.getTaskType()) && map.get("pageType").equals("look") && map.get("url") !=null){
model.setRoutePath(map.get("url").toString().replace("{roleIds}",obj.getNextExecuteUser()).replace("{userId}",RequestContext.getExeUserId())+urlParams);
}
}
......
......@@ -2,9 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.map.MapUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
......@@ -21,6 +19,7 @@ import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.*;
import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationNameService;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
......@@ -30,14 +29,10 @@ import com.yeejoin.amos.boot.module.ymt.flc.api.entity.RegUnitInfo;
import com.yeejoin.amos.boot.module.ymt.flc.api.feign.AccessFeignService;
import com.yeejoin.amos.boot.module.ymt.flc.api.mapper.RegUnitInfoMapper;
import com.yeejoin.amos.component.feign.config.InnerInvokException;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.AjaxResult;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.model.*;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
......@@ -49,6 +44,7 @@ import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.*;
......@@ -108,7 +104,8 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
@Autowired
CommonServiceImpl commonService;
@Autowired
ICmWorkflowService cmWorkflowService;
@Transactional(rollbackFor = Exception.class)
......@@ -119,18 +116,11 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
}
public void save(String submitType, Map<String, JSONObject> jgRegistrationInfoMap) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String[] taskName = new String[]{"流程结束"};
JSONObject jgRegistrationInfo = jgRegistrationInfoMap.get("jgRegistrationInfo");
JgChangeRegistrationNameDto model = JSON.parseObject(jgRegistrationInfo.toJSONString(), JgChangeRegistrationNameDto.class);
List<Map<String, Object>> deviceList = jgChangeRegistrationNameMapper.getEquipInfoByOrgCode(reginParams.getCompany().getCompanyCode());
// 获取告知单号
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.GMBG.getCode(), 1);
if (!ObjectUtils.isEmpty(listResponseModel) && listResponseModel.getStatus() != HttpStatus.OK.value()) {
......@@ -141,74 +131,47 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
if (CollectionUtils.isEmpty(applyNoList)) {
return;
}
ArrayList<String> roleListFirst = new ArrayList<>();
ArrayList<String> roleListSecond = new ArrayList<>();
List<ProcessTaskDTO> processTasks = new ArrayList<>();
// 判断当前是否为提交
List<String> instanceIdList = new ArrayList<>();
String instanceId = "";
String nextTaskId = "";
List<String> roleListNext = new ArrayList<>();
List<String> roleListAll = new ArrayList<>();
String applyNo = applyNoList.get(0);
if ("1".equals(submitType)) {
// 发起流程
try {
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey("unitRename");
dto.setBusinessKey("1");
dto.setBusinessKey(applyNo);
dto.setCompleteFirstTask(true);
list.add(dto);
actWorkflowBatchDTO.setProcess(list);
try {
FeignClientResult result = Workflow.taskV2Client.startByVariableBatch(actWorkflowBatchDTO);
List<Object> returnList = (List<Object>) result.getResult();
for (Object obj : returnList) {
JSONObject jsonObject = JSON.parseObject(JSONObject.toJSONString(obj));
String instanceId = jsonObject.getString("id");
instanceIdList.add(instanceId);
// 查询下节点任务
if (returnList.get(0).equals(obj)) {
getNext(roleListFirst, instanceId, taskName);
}
// 推动下一个节点
AjaxResult ajaxResult = Workflow.taskClient.getTask(instanceId);
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
String taskId = dataObject.getString("id");
//组装信息
TaskResultDTO dto2 = new TaskResultDTO();
dto2.setResultCode("approvalStatus");
dto2.setTaskId(taskId);
dto2.setComment("提交流程");
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", "0");
dto2.setVariable(map);
//执行流程
AjaxResult ajaxResult1 = null;
try {
ajaxResult1 = Workflow.taskClient.completeByTask(taskId, dto2);
if (ajaxResult1.get("code").equals(200)) {
getNext(roleListSecond, instanceId, taskName);
roleListFirst.addAll(roleListSecond);
} else {
log.error("提交失败");
}
processTasks = cmWorkflowService.startBatch(actWorkflowBatchDTO);
this.buildRoleList(processTasks, roleListNext, roleListAll);
instanceId = processTasks.get(0).getProcessInstance().getId();
nextTaskId = processTasks.get(0).getNextTask().get(0).getId();
taskName[0] = processTasks.get(0).getNextTask().get(0).getName();
this.buildRoleList(processTasks, roleListNext, roleListAll);
} catch (Exception e) {
log.error("提交失败:{}", e);
throw new BadRequest("提交失败" + e.getMessage());
}
}
} catch (Exception e) {
log.error("提交失败:{}", e);
}
}
JgChangeRegistrationName dto = new JgChangeRegistrationName();
// 字段转换
convertField(model);
BeanUtils.copyProperties(model, dto);
dto.setApplyNo(applyNoList.get(0));
dto.setApplyNo(applyNo);
dto.setCreateDate(new Date());
dto.setNextExecutorIds(String.join(",", roleListSecond));
dto.setInstanceStatus(String.join(",", roleListFirst));
dto.setNextExecutorIds(String.join(",", roleListNext));
dto.setInstanceStatus(String.join(",", roleListAll));
dto.setPromoter(reginParams.getUserModel().getUserId());
if (!CollectionUtils.isEmpty(instanceIdList)) {
dto.setInstanceId(instanceIdList.get(0));
if (!StringUtils.isEmpty(instanceId)) {
dto.setInstanceId(instanceId);
dto.setNextTaskId(nextTaskId);
dto.setAuditStatus(String.valueOf(WorkFlowStatusEnum.UNIT_RENAME_RECEIVE.getPass()));
} else {
dto.setAuditStatus(String.valueOf(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getPass()));
......@@ -218,35 +181,20 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
this.save(dto);
// 创建代办
this.createTaskModel(dto, taskName[0], submitType);
List<JgChangeRegistrationNameEq> equipList = new ArrayList<>();
List<JgRegistrationHistory> list = new ArrayList<>();
deviceList.forEach(obj -> {
JgChangeRegistrationNameEq jgRelationEquip = new JgChangeRegistrationNameEq();
jgRelationEquip.setEquId(String.valueOf(obj.get("equipId")));
jgRelationEquip.setNameChangeRegistrationId(String.valueOf(dto.getSequenceNbr()));
jgRelationEquip.setIsInvalid("0");
jgRelationEquip.setCreateDate(dto.getCreateDate());
jgRelationEquip.setCreateUserId(reginParams.getUserModel().getUserId());
jgRelationEquip.setCreateUserName(reginParams.getUserModel().getRealName());
equipList.add(jgRelationEquip);
JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory();
jgRegistrationHistory.setCreateUserId(reginParams.getUserModel().getUserId());
jgRegistrationHistory.setCreateDate(dto.getCreateDate());
jgRegistrationHistory.setChangeData(JSON.toJSONString(dto));
jgRegistrationHistory.setOldData(JSON.toJSONString(dto));
jgRegistrationHistory.setRegistrationClass("使用单位名称变更登记");
jgRegistrationHistory.setStatus("new");
jgRegistrationHistory.setEquId(String.valueOf(obj.get("equipId")));
jgRegistrationHistory.setSupervisoryCode(String.valueOf(obj.get("supervisoryCode")));
jgRegistrationHistory.setUseRegistrationCode(String.valueOf(obj.get("useOrgCode")));
jgRegistrationHistory.setCurrentDocumentId(dto.getApplyNo());
list.add(jgRegistrationHistory);
}
private void buildRoleList(List<ProcessTaskDTO> processTasks, List<String> roleListNext, List<String> roleListAll) {
processTasks.forEach(p -> {
p.getNextCandidateGroups().values().forEach(e -> {
roleListNext.addAll(e);
roleListAll.addAll(e);
});
roleListAll.addAll(p.getCandidateGroups());
});
jgRegistrationHistoryService.saveBatch(list);
}
private void createTaskModel(JgChangeRegistrationName dto, String taskName, String submitType) {
if("1".equals(submitType)){
if ("1".equals(submitType)) {
TaskModelDto taskModelDto = new TaskModelDto();
taskModelDto.setFlowCreateDate(dto.getApplyDate());
taskModelDto.setTaskName(taskName);
......@@ -262,6 +210,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
taskModelDto.setStartUserId(dto.getCreateUserId());
taskModelDto.setStartUser(dto.getCreateUserName());
taskModelDto.setStartUserCompanyName(dto.getUseUnitName());
taskModelDto.setNextExecuteUser(dto.getNextExecutorIds());
taskModelDto.setStartDate(dto.getCreateDate());
taskModelDto.setModel(dto);
commonService.buildTaskModel(Collections.singletonList(taskModelDto));
......@@ -269,11 +218,12 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
}
private Integer getTaskCodeByName(String auditStatus) {
return null;
return commonService.getDictionaryCodeByName(auditStatus);
}
/**
* 摘要构建
*
* @param dto 业务
* @return 摘要
*/
......@@ -283,89 +233,65 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
public JgChangeRegistrationNameDto updateInfo(String submitType, JgChangeRegistrationNameDto jgChangeRegistrationNameDto, String op) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if (Objects.isNull(jgChangeRegistrationNameDto) || StringUtils.isEmpty(submitType)) {
throw new IllegalArgumentException("参数不能为空");
}
String[] taskName = new String[]{"流程结束"};
// 字段转换
this.convertField(jgChangeRegistrationNameDto);
ArrayList<String> roleListFirst = new ArrayList<>();
ArrayList<String> roleListSecond = new ArrayList<>();
List<String> roleListNext = new ArrayList<>();
List<String> roleListAll = new ArrayList<>();
JgChangeRegistrationName jgChangeRegistrationName = this.getById(jgChangeRegistrationNameDto.getSequenceNbr());
if ("1".equals(submitType)) {
AjaxResult ajaxResult;
// 发起流程
//发起流程
if (!StringUtils.hasText(jgChangeRegistrationNameDto.getInstanceId())) {
try {
List<ProcessTaskDTO> processTasks = new ArrayList<>();
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey("unitRename");
dto.setBusinessKey("1");
try {
ajaxResult = Workflow.taskClient.startByVariable(dto);
String instanceId = ((Map) ajaxResult.get("data")).get("id").toString();
dto.setBusinessKey(jgChangeRegistrationNameDto.getApplyNo());
dto.setCompleteFirstTask(true);
list.add(dto);
actWorkflowBatchDTO.setProcess(list);
processTasks = cmWorkflowService.startBatch(actWorkflowBatchDTO);
String instanceId = processTasks.get(0).getProcessInstance().getId();
String nextTaskId = processTasks.get(0).getNextTask().get(0).getId();
String taskName = processTasks.get(0).getNextTask().get(0).getName();
this.buildRoleList(processTasks, roleListNext, roleListAll);
jgChangeRegistrationNameDto.setInstanceStatus(String.join(",", roleListAll));
jgChangeRegistrationNameDto.setInstanceId(instanceId);
// 查询下节点任务
getNext(roleListFirst, instanceId, taskName);
jgChangeRegistrationNameDto.setInstanceStatus(String.join(",", roleListFirst));
jgChangeRegistrationNameDto.setNextExecutorIds(String.join(",", roleListNext));
jgChangeRegistrationNameDto.setNextTaskId(nextTaskId);
// 创建待办
JgChangeRegistrationName bean = new JgChangeRegistrationName();
BeanUtil.copyProperties(jgChangeRegistrationNameDto, bean);
createTaskModel(bean,taskName,"1");
} catch (Exception e) {
log.error("提交失败:{}", e);
throw new BadRequest("提交失败" + e.getMessage());
}
}
JgChangeRegistrationName jgChangeRegistrationName = this.getById(jgChangeRegistrationNameDto.getSequenceNbr());
BeanUtils.copyProperties(jgChangeRegistrationNameDto, jgChangeRegistrationName);
boolean submit = submit(jgChangeRegistrationName, op);
//删除重新生成 eq表数据
if (!Objects.isNull(jgChangeRegistrationName.getSequenceNbr())) {
jgChangeRegistrationNameMapper.deleteByChangeRegistrationId(jgChangeRegistrationName.getSequenceNbr());
}
if (!Objects.isNull(jgChangeRegistrationName.getApplyNo())) {
jgChangeRegistrationNameMapper.deleteHistoryInfoById(jgChangeRegistrationName.getApplyNo());
}
List<Map<String, Object>> deviceList = jgChangeRegistrationNameMapper.getEquipInfoByOrgCode(reginParams.getCompany().getCompanyCode());
List<JgRegistrationHistory> list = new ArrayList<>();
List<JgChangeRegistrationNameEq> equipList = new ArrayList<>();
deviceList.forEach(obj -> {
JgChangeRegistrationNameEq jgRelationEquip = new JgChangeRegistrationNameEq();
jgRelationEquip.setEquId(String.valueOf(obj.get("equipId")));
jgRelationEquip.setNameChangeRegistrationId(String.valueOf(jgChangeRegistrationName.getSequenceNbr()));
jgRelationEquip.setIsInvalid("0");
jgRelationEquip.setCreateDate(jgChangeRegistrationName.getCreateDate());
jgRelationEquip.setCreateUserId(reginParams.getUserModel().getUserId());
jgRelationEquip.setCreateUserName(reginParams.getUserModel().getRealName());
equipList.add(jgRelationEquip);
JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory();
jgRegistrationHistory.setCreateUserId(reginParams.getUserModel().getUserId());
jgRegistrationHistory.setCreateDate(jgChangeRegistrationName.getCreateDate());
jgRegistrationHistory.setChangeData(JSON.toJSONString(jgChangeRegistrationName));
jgRegistrationHistory.setOldData(JSON.toJSONString(jgChangeRegistrationName));
jgRegistrationHistory.setRegistrationClass("使用单位名称变更登记");
jgRegistrationHistory.setStatus("new");
jgRegistrationHistory.setEquId(String.valueOf(obj.get("equipId")));
jgRegistrationHistory.setSupervisoryCode(String.valueOf(obj.get("supervisoryCode")));
jgRegistrationHistory.setUseRegistrationCode(String.valueOf(obj.get("useOrgCode")));
jgRegistrationHistory.setCurrentDocumentId(jgChangeRegistrationName.getApplyNo());
list.add(jgRegistrationHistory);
});
jgChangeRegistrationNameEqService.saveBatch(equipList);
jgRegistrationHistoryService.saveBatch(list);
if (submit) {
} else {
// 执行一步
ProcessTaskDTO processTaskDTO = submit(op,jgChangeRegistrationName.getNextTaskId());
String nextTaskId = processTaskDTO.getNextTask().get(0).getId();
String taskName = processTaskDTO.getNextTask().get(0).getName();
this.buildRoleList(Collections.singletonList(processTaskDTO), roleListNext, roleListAll);
// 查询下节点任务
getNext(roleListSecond, jgChangeRegistrationName.getInstanceId(), taskName);
String join = String.join(",", roleListSecond);
if (!ObjectUtils.isEmpty(jgChangeRegistrationName.getInstanceStatus())) {
jgChangeRegistrationName.setInstanceStatus(jgChangeRegistrationName.getInstanceStatus() + "," + join);
jgChangeRegistrationName.setInstanceStatus(jgChangeRegistrationName.getInstanceStatus() + "," + String.join("", roleListNext));
} else {
jgChangeRegistrationName.setInstanceStatus(String.join(",", roleListSecond));
jgChangeRegistrationName.setInstanceStatus(String.join(",", roleListAll));
}
jgChangeRegistrationName.setPromoter(RequestContext.getExeUserId());
jgChangeRegistrationName.setNextExecutorIds(String.join(",", roleListSecond));
jgChangeRegistrationName.setNextExecutorIds(String.join(",", roleListNext));
jgChangeRegistrationName.setAuditStatus(String.valueOf(WorkFlowStatusEnum.UNIT_RENAME_RECEIVE.getPass()));
this.updateById(jgChangeRegistrationName);
jgChangeRegistrationName.setNextTaskId(nextTaskId);
executeOneStep(jgChangeRegistrationName);
}
BeanUtils.copyProperties(jgChangeRegistrationNameDto, jgChangeRegistrationName);
this.updateById(jgChangeRegistrationName);
} else {
JgChangeRegistrationName bean = new JgChangeRegistrationName();
BeanUtils.copyProperties(jgChangeRegistrationNameDto, bean);
......@@ -374,12 +300,16 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
return jgChangeRegistrationNameDto;
}
private void executeOneStep(JgChangeRegistrationName jgChangeRegistrationName) {
// 先更新之前的待办
TaskV2Model taskV2Model = updateTaskModel(jgChangeRegistrationName);
// 再插入新代办、数据待定
taskV2Model.setExecuteUserIds(jgChangeRegistrationName.getNextExecutorIds());
Systemctl.taskV2Client.create(taskV2Model);
}
public boolean submit(JgChangeRegistrationName notice, String op) {
AjaxResult ajaxResult = Workflow.taskClient.getTask(notice.getInstanceId());
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
String taskId = dataObject.getString("id");
public ProcessTaskDTO submit(String op,String taskId) {
//组装信息
TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus");
......@@ -388,19 +318,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", op);
dto.setVariable(map);
//执行流程
AjaxResult ajaxResult1 = null;
try {
ajaxResult1 = Workflow.taskClient.completeByTask(taskId, dto);
if (ajaxResult1.get("code").equals(200)) {
return true;
} else {
return false;
}
} catch (Exception e) {
log.error("提交失败:{}", e);
return false;
}
return cmWorkflowService.complete(taskId, dto);
}
private void convertField(JgChangeRegistrationNameDto model) {
......@@ -419,22 +337,6 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
}
void getNext(ArrayList<String> roleListFirst, String instanceId, String[] taskName) {
AjaxResult aj = Workflow.taskClient.getTaskNoAuth(instanceId);
JSONObject taskNoAuth = JSON.parseObject(JSON.toJSONString(aj.get("data")));
if (!ObjectUtils.isEmpty(taskNoAuth)) {
String nextTaskId = taskNoAuth.getString("id");
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
taskName[0] = taskNoAuth.getString("name");
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) {
if (((Map) datum).containsKey("groupId")) {
roleListFirst.add(((Map) datum).get("groupId").toString());
}
}
}
}
public void deleteBatch(List<Long> ids) {
JgChangeRegistrationName jgChangeRegistrationName = new JgChangeRegistrationName();
jgChangeRegistrationName.setIsDelete(true);
......@@ -445,49 +347,35 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
public void revocation(String instanceId) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
// 执行流程
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
JgChangeRegistrationName jgChangeRegistrationName = new JgChangeRegistrationName();
LambdaQueryWrapper<JgChangeRegistrationName> lambda = new QueryWrapper<JgChangeRegistrationName>().lambda();
lambda.eq(JgChangeRegistrationName::getInstanceId, instanceId);
ArrayList<String> roleList = new ArrayList<>();
try {
workFlowFeignService.rollBack(instanceId);
JSONObject taskNoAuth = workFlowFeignService.getTaskNoAuth(instanceId);
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data")));
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) {
String nextTaskId = nextTask.getString("id");
FeignClientResult<JSONObject> nodeInfo = workFlowFeignService.getNodeInfo(nextTaskId);
JSONObject result = nodeInfo.getResult();
Map<String, Object> taskInfo = (Map<String, Object>) result.get("taskInfo");
taskCode = String.valueOf(taskInfo.get("taskDefinitionKey"));
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) {
if (((Map<?, ?>) datum).containsKey("groupId")) {
roleList.add(((Map<?, ?>) datum).get("groupId").toString());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
List<String> roleListNext = new ArrayList<>();
List<String> roleListAll = new ArrayList<>();
ProcessTaskDTO processTaskDTO = cmWorkflowService.rollBack(instanceId);
String nextTaskId = processTaskDTO.getNextTask().get(0).getId();
this.buildRoleList(Collections.singletonList(processTaskDTO), roleListNext, roleListAll);
// 待调整
taskCode = processTaskDTO.getNextTask().get(0).getKey();
if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) {
jgChangeRegistrationName.setAuditStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack());
}
String join = String.join(",", roleList);
jgChangeRegistrationName.setPromoter(reginParams.getUserModel().getUserId());
jgChangeRegistrationName.setNextExecutorIds(join);
jgChangeRegistrationName.setPromoter(RequestContext.getExeUserId());
jgChangeRegistrationName.setNextExecutorIds(String.join(",", roleListNext));
jgChangeRegistrationName.setNextTaskId(nextTaskId);
this.update(jgChangeRegistrationName, lambda);
// 删除待办
commonService.deleteTaskModel(jgChangeRegistrationName.getInstanceId());
commonService.rollbackTask(jgChangeRegistrationName.getInstanceId());
}
public void flowExecute(Long id, String instanceId, String operate, String comment) {
try {
JgChangeRegistrationName jgChangeRegistrationName = this.getBaseMapper().selectById(id);
JSONObject task = workFlowFeignService.getTaskNoAuth(instanceId);
JSONObject taskMessage = JSON.parseObject(JSON.toJSONString(task.get("data")));
String taskId = taskMessage.getString("id");
String taskId = jgChangeRegistrationName.getNextTaskId();
//组装信息
TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus");
......@@ -496,57 +384,39 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", operate);
if (!ObjectUtils.isEmpty(jgChangeRegistrationName.getInstanceStatus()) &&
(jgChangeRegistrationName.getInstanceStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getReject()) ||
jgChangeRegistrationName.getInstanceStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getRollBack()))) {
(jgChangeRegistrationName.getAuditStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getReject()) ||
jgChangeRegistrationName.getAuditStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getRollBack()))) {
map.put("approvalStatus", "提交");
}
dto.setVariable(map);
//执行流程
Workflow.taskClient.completeByTask(taskId, dto);
ProcessTaskDTO processTaskDTO = cmWorkflowService.complete(taskId, dto);
// 更新下一步执行人、创建待办
updateExecuteIds(instanceId, id, operate, processTaskDTO);
} catch (Exception e) {
e.printStackTrace();
}
// 更新下一步执行人
updateExecuteIds(instanceId, id, operate);
}
public void updateExecuteIds(String instanceId, Long sequenceNbr, String operate) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String role = "";
public void updateExecuteIds(String instanceId, Long sequenceNbr, String operate, ProcessTaskDTO processTaskDTO) {
List<String> roleListNext = new ArrayList<>();
List<String> roleListAll = new ArrayList<>();
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
ArrayList<String> roleList = new ArrayList<>();
String taskName = "";
JgChangeRegistrationName jgChangeRegistrationName = this.getBaseMapper().selectById(sequenceNbr);
try {
// 查询下节点任务
JSONObject taskNoAuth = workFlowFeignService.getTaskNoAuth(instanceId);
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) {
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data")));
String nextTaskId = nextTask.getString("id");
FeignClientResult<JSONObject> nodeInfo = workFlowFeignService.getNodeInfo(nextTaskId);
JSONObject result = nodeInfo.getResult();
Map<String, Object> taskInfo = (Map<String, Object>) result.get("taskInfo");
taskCode = String.valueOf(taskInfo.get("taskDefinitionKey"));
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) {
if (((Map) datum).containsKey("groupId")) {
roleList.add(((Map) datum).get("groupId").toString());
}
}
}
} catch (Exception e) {
e.printStackTrace();
if(processTaskDTO != null){
taskCode = processTaskDTO.getNextTask().get(0).getKey();
taskName = processTaskDTO.getNextTask().get(0).getName();
}
if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) {
role = String.join(",", roleList);
jgChangeRegistrationName.setNextExecutorIds(role);
jgChangeRegistrationName.setPromoter(reginParams.getUserModel().getUserId());
this.buildRoleList(Collections.singletonList(processTaskDTO), roleListNext, roleListAll);
jgChangeRegistrationName.setNextExecutorIds(String.join(",",roleListNext));
jgChangeRegistrationName.setPromoter(RequestContext.getExeUserId());
jgChangeRegistrationName.setInstanceId(instanceId);
if (!ObjectUtils.isEmpty(jgChangeRegistrationName.getInstanceStatus())) {
jgChangeRegistrationName.setInstanceStatus(jgChangeRegistrationName.getInstanceStatus() + "," + role);
jgChangeRegistrationName.setInstanceStatus(jgChangeRegistrationName.getInstanceStatus() + "," + String.join(",",roleListNext));
} else {
jgChangeRegistrationName.setInstanceStatus(role);
jgChangeRegistrationName.setInstanceStatus(String.join(",",roleListNext));
}
if ("0".equals(operate)) {
// 通过操作
......@@ -556,16 +426,29 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
jgChangeRegistrationName.setAuditStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject());
jgChangeRegistrationName.setPromoter(null);
}
// 更新上一步待办、创建待办
executeOneStep(jgChangeRegistrationName);
} else {
jgChangeRegistrationName.setAuditStatus(FlowStatusEnum.TO_BE_FINISHED.getName());
jgChangeRegistrationName.setAuditPassDate(new Date());
// 修改业务信息
updateInfoOther(jgChangeRegistrationName);
updateTaskModel(jgChangeRegistrationName);
}
this.getBaseMapper().updateById(jgChangeRegistrationName);
}
private TaskV2Model updateTaskModel(JgChangeRegistrationName jgChangeRegistrationName) {
Map<String, Object> params = new HashMap<>();
params.put("relationId",jgChangeRegistrationName.getInstanceId());
params.put("taskStatus",this.getTaskStatusByName(jgChangeRegistrationName.getAuditStatus()));
params.put("taskStatusLabel",jgChangeRegistrationName.getAuditStatus());
return commonService.updateTaskModel(params);
}
private Integer getTaskStatusByName(String auditStatus) {
return commonService.getDictionaryCodeByName(auditStatus);
}
public void updateInfoOther(JgChangeRegistrationName jgChangeRegistrationName) {
LambdaQueryWrapper<JgChangeRegistrationNameEq> wrapper = new LambdaQueryWrapper<>();
......
......@@ -87,13 +87,13 @@
"type": "108",
"pageType": "look",
"name": "更名变更登记",
"url": ""
"url": "/mixuap?appId=1742358052905971713&id=1739186702624256001&roleIds={roleIds}&userId={userId}&pageType=look"
},
{
"type": "108",
"pageType": "edit",
"name": "更名变更登记",
"url": ""
"url": "/mixuap?appId=1742358052905971713&id=1739186702624256001&roleIds={roleIds}&userId={userId}&pageType=edit"
},
{
"type": "109",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment