Commit 421111c7 authored by tianyiming's avatar tianyiming

启用停用撤回后提交

parent abe2c638
......@@ -598,7 +598,7 @@ public class CommonServiceImpl implements ICommonService {
jgChangeRegistrationNameService.save2(submitType, jsonObject);
} else if (type.equals(ApplicationFormTypeEnum.SBQY.getBusinessCode()) || type.equals(ApplicationFormTypeEnum.SBTY.getBusinessCode())) {
noticeObj.put("submit", submitType);
noticeObj.put("pageType", "add");
noticeObj.put("formType","add");
noticeObj.put("receiveOrgCode", !ObjectUtils.isEmpty(basicObj.get("receiveOrgCreditCode")) ? String.valueOf(basicObj.get("receiveOrgCreditCode")) : String.valueOf(basicObj.get("receiveOrgCreditCode1")));
JSONObject jsonObject = new JSONObject(noticeObj);
jgEnableDisableServiceImpl.saveOrUpdate(jsonObject, reginParams);
......
......@@ -25,6 +25,7 @@ import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.*;
import org.springframework.beans.BeanUtils;
......@@ -81,33 +82,87 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
@Transactional(rollbackFor = Exception.class)
public void saveOrUpdate(JSONObject map, ReginParams reginParams) {
JgEnableDisable jgEnableDisable = new JgEnableDisable();
jgEnableDisable.setApplyDate(new Date());
if(!"null".equals(String.valueOf(map.get("sequenceNbr")))){
jgEnableDisable = this.baseMapper.selectById(String.valueOf(map.get("sequenceNbr")));
}
String submit = String.valueOf(map.get("submit"));
String pageType = String.valueOf(map.get("pageType"));
String pageType = String.valueOf(map.get("formType"));
String record = String.valueOf(map.get("record"));
String businessCode = String.valueOf(map.get("businessCode"));
List<WorkflowResultDto> workflowResultList = new ArrayList<>();
ProcessTaskDTO processTaskDTO = new ProcessTaskDTO();
WorkflowResultDto workflowResultDto = new WorkflowResultDto();
String instanceId = "";
if (map.containsKey("instanceId")) {
instanceId = map.get("instanceId").toString();
// 只调用执行API,返回下个节点信息,用于填充业务字段
//组装信息
TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus");
dto.setTaskId(jgEnableDisable.getNextTaskId());
HashMap<String, Object> commMap = new HashMap<>();
if (FlowStatusEnum.REJECTED.getName().equals(jgEnableDisable.getAuditStatus()) || FlowStatusEnum.ROLLBACK.getName().equals(jgEnableDisable.getAuditStatus())) {
commMap.put("approvalStatus", "提交");
} else {
commMap.put("approvalStatus", submit);
}
dto.setVariable(commMap);
processTaskDTO = iCmWorkflowService.complete(jgEnableDisable.getNextTaskId(), dto);
// 提取节点等信息
workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
if (!ObjectUtils.isEmpty(jgEnableDisable.getExecuteSequence())) {
jgEnableDisable.setExecuteSequence(jgEnableDisable.getExecuteSequence() + "," + workflowResultDto.getNextExecutorRoleIds());
} else {
jgEnableDisable.setExecuteSequence(workflowResultDto.getNextExecutorRoleIds());
}
jgEnableDisable.setEquList(map.get("equListDesc").toString());
jgEnableDisable.setSupervisoryCode(map.get("supervisoryCode").toString());
jgEnableDisable.setPromoter(RequestContext.getExeUserId());
jgEnableDisable.setNextExecutorIds(String.join(",", workflowResultDto.getNextExecutorRoleIds()));
jgEnableDisable.setAuditStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getName()));
jgEnableDisable.setNextTaskId(workflowResultDto.getNextTaskId());
this.baseMapper.updateById(jgEnableDisable);
// 上个代办改为已办
HashMap<String, Object> map1 = new HashMap<>();
map1.put("taskStatus", FlowStatusEnum.TO_BE_PROCESSED.getCode());
map1.put("taskStatusLabel", FlowStatusEnum.TO_BE_PROCESSED.getName());
map1.put("relationId", jgEnableDisable.getInstanceId());
map1.put("flowStatus", FlowStatusEnum.TO_BE_PROCESSED.getCode());
map1.put("flowStatusLabel", FlowStatusEnum.TO_BE_PROCESSED.getName());
TaskV2Model taskV2Model = commonService.updateTaskModel(map1);
if (ObjectUtils.isEmpty(taskV2Model)) {
// 如果为保存并提交,则创建代办
buildTask(Collections.singletonList(jgEnableDisable), businessCode, Collections.singletonList(workflowResultDto));
} else {
TaskModelDto taskModelDto = new TaskModelDto();
BeanUtils.copyProperties(taskV2Model, taskModelDto);
// 创建新的代办
taskModelDto.setModel(jgEnableDisable);
taskModelDto.setTaskName(workflowResultDto.getNextTaskName());
taskModelDto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
taskModelDto.setFlowStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode());
taskModelDto.setFlowStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskModelDto.setFlowCode(jgEnableDisable.getNextTaskId());
taskModelDto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds());
commonService.buildTaskModel(Collections.singletonList(taskModelDto));
}
} else {
// 获取申请编号
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.getCode.get(String.valueOf(map.get("businessCode"))), 1);
jgEnableDisable.setApplyNo(listResponseModel.getResult().get(0));
// 启动工作流并返回信息
workflowResultList = workFlowInfo(submit, record);
//业务数据组装等
businessData(submit, reginParams, jgEnableDisable, map, workflowResultList);
}
// 获取申请编号
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.getCode.get(String.valueOf(map.get("businessCode"))), 1);
//业务数据组装等
if (!ObjectUtils.isEmpty(listResponseModel)) {
jgEnableDisable.setApplyNo(listResponseModel.getResult().get(0));
}
String businessCode = String.valueOf(map.get("businessCode"));
businessData(submit, reginParams, jgEnableDisable, map, workflowResultList);
// 仅保存
if ("add".equals(pageType)) {
this.save(jgEnableDisable);
buildTask(Arrays.asList(jgEnableDisable),businessCode, workflowResultList);
} else {
// 编辑
jgEnableDisable.setSequenceNbr(Long.valueOf(String.valueOf(map.get("sequenceNbr"))));
......@@ -122,12 +177,6 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
jgEnableDisableEq.setEnableDisableApplyId(jgEnableDisable.getSequenceNbr().toString());
jgEnableDisableEqService.save(jgEnableDisableEq);
// 如果为保存并提交,则创建代办
if (SUBMIT_TYPE_FLOW.equals(submit)) {
buildTask(Arrays.asList(jgEnableDisable),businessCode, workflowResultList);
}
}
/**
......@@ -136,6 +185,7 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
private void businessData(String submitType, ReginParams reginParams, JgEnableDisable jgEnableDisable, JSONObject map, List<WorkflowResultDto> workflowResultList) {
// 接收机构
String[] splitMaintenanceUnitCode = String.valueOf(map.getString("receiveOrgCode")).split("_");
jgEnableDisable.setApplyDate(new Date());
jgEnableDisable.setReceiveOrgCode(splitMaintenanceUnitCode[0]);
jgEnableDisable.setReceiveOrgName(splitMaintenanceUnitCode[1]);
jgEnableDisable.setUseUnitCreditCode(reginParams.getCompany().getCompanyCode());
......@@ -155,9 +205,9 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
jgEnableDisable.setSupervisoryCode(map.get("supervisoryCode").toString());
if (!CollectionUtils.isEmpty(workflowResultList)) {
jgEnableDisable.setInstanceId(workflowResultList.get(0).getInstanceId());
jgEnableDisable.setAuditStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
jgEnableDisable.setAuditStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getName()));
} else {
jgEnableDisable.setAuditStatus(String.valueOf(FlowStatusEnum.TO_BE_SUBMITTED.getCode()));
jgEnableDisable.setAuditStatus(String.valueOf(FlowStatusEnum.TO_BE_SUBMITTED.getName()));
}
jgEnableDisable.setCreateUserName(reginParams.getUserModel().getRealName());
jgEnableDisable.setCreateUserId(reginParams.getUserModel().getUserId());
......@@ -279,42 +329,21 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
}
public void withdraw(String instanceId) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String taskCode = "";
JgEnableDisable jgEnableDisable = new JgEnableDisable();
LambdaQueryWrapper<JgEnableDisable> lambda = new QueryWrapper<JgEnableDisable>().lambda();
lambda.eq(JgEnableDisable::getInstanceId, instanceId);
ArrayList<String> roleList = new ArrayList<>();
try {
workFlowFeginService.rollBack(instanceId);
JSONObject taskNoAuth = workFlowFeginService.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 = workFlowFeginService.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 (!ObjectUtils.isEmpty(taskCode)) {
jgEnableDisable.setAuditStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack());
}
String join = String.join(",", roleList);
jgEnableDisable.setPromoter(reginParams.getUserModel().getUserId());
jgEnableDisable.setNextExecutorIds(join);
this.update(jgEnableDisable, lambda);
JgEnableDisable jgEnableDisable = this.baseMapper.selectOne(new QueryWrapper<JgEnableDisable>().lambda().eq(JgEnableDisable::getInstanceId, instanceId));
ProcessTaskDTO processTaskDTO = iCmWorkflowService.rollBack(instanceId);
// 提取节点等信息
WorkflowResultDto workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
jgEnableDisable.setPromoter("");
jgEnableDisable.setExecuteSequence(workflowResultDto.getNextExecutorRoleIds());
jgEnableDisable.setAuditStatus(String.valueOf(FlowStatusEnum.ROLLBACK.getName()));
jgEnableDisable.setNextTaskId(workflowResultDto.getNextTaskId());
updateById(jgEnableDisable);
// 删除待办
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(jgEnableDisable));
jsonObject.put("nextExecuteUser", jgEnableDisable.getNextExecutorIds());
jsonObject.put("taskType", BusinessTypeEnum.JG_MAINTENANCE_NOTIFICATION.getCode());
commonService.rollbackTask(jgEnableDisable.getInstanceId(), jsonObject);
}
......
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