Commit 6790f81b authored by chenzhao's avatar chenzhao

Merge remote-tracking branch 'origin/develop_tzs_register' into develop_tzs_register

# Conflicts: # amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/service/impl/CommonServiceImpl.java
parents 5406cbfa 7e63b745
package com.yeejoin.amos.boot.module.jg.api.service; package com.yeejoin.amos.boot.module.jg.api.service;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationReformDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationReformDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationReform;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
...@@ -18,7 +21,7 @@ import java.util.Map; ...@@ -18,7 +21,7 @@ import java.util.Map;
public interface IJgChangeRegistrationReformService { public interface IJgChangeRegistrationReformService {
Page<Map<String, Object>> getList(JgChangeRegistrationReformDto dto, Page<Map<String, Object>> page, List<String> roleIds); Page<Map<String, Object>> getList(JgChangeRegistrationReformDto dto, Page<Map<String, Object>> page, List<String> roleIds);
void save(JSONObject map); void save(JSONObject map);
void updateExecuteIds(String instanceId, Long sequenceNbr, String operate); void updateExecuteIds(String instanceId, JgChangeRegistrationReform jgChangeRegistrationReform, String operate, ProcessTaskDTO processTaskDTO);
void flowExecute(Long id, String instanceId, String operate, String comment); void flowExecute(Long id, String instanceId, String operate, String comment);
void withdraw(String instanceId); void withdraw(String instanceId);
void deleteBatch(List<Long> ids); void deleteBatch(List<Long> ids);
......
...@@ -626,16 +626,17 @@ public class CommonServiceImpl implements ICommonService { ...@@ -626,16 +626,17 @@ public class CommonServiceImpl implements ICommonService {
for (Map map : urlList) { 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")) {
model.setRoutePath(map.get("url").toString().replace("{roleIds}", obj.getNextExecuteUser()).replace("{userId}", RequestContext.getExeUserId()) + urlParams); model.setRoutePath(map.get("url").toString().replace("{roleIds}", obj.getNextExecuteUser()).replace("{userId}", RequestContext.getExeUserId()) + urlParams);
break;
} }
} }
model.setFlowStatus(obj.getTaskStatus()); model.setFlowStatus(obj.getTaskStatus());
model.setFlowCode(obj.getTaskStatusLabel()); model.setFlowCode(obj.getTaskStatusLabel());
model.setRoutePath(obj.getRoutePath() + urlParams);
model.setTaskType("0"); model.setTaskType("0");
model.setFlowInstanceId(model.getRelationId()); model.setFlowInstanceId(model.getRelationId());
model.setTaskTitle(obj.getStartUser() + "发起了" + obj.getTaskName()); model.setTaskTitle(obj.getStartUser() + "发起了" + obj.getTaskName());
model.setTaskSource("workFlow"); model.setTaskSource("workFlow");
model.setExtras(JSON.toJSONString(obj.getModel())); model.setExtras(JSON.toJSONString(obj.getModel()));
// model.setTerminal(params.getOrDefault("terminal","WEB").toString());
model.setCreateDate(new Date()); model.setCreateDate(new Date());
model.setRecUserId(RequestContext.getExeUserId()); model.setRecUserId(RequestContext.getExeUserId());
model.setAgencyCode(RequestContext.getAgencyCode()); model.setAgencyCode(RequestContext.getAgencyCode());
......
...@@ -110,8 +110,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -110,8 +110,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void save2(String submitType, JSONObject requestParam) { public void save2(String submitType, JSONObject requestParam) {
Map<String, JSONObject> jgRegistrationInfoMap = requestParam.entrySet().stream(). Map<String, JSONObject> jgRegistrationInfoMap = (Map<String, JSONObject>)JSONObject.parseObject(JSONObject.toJSONString(requestParam),Map.class);
collect(Collectors.toMap(Map.Entry::getKey, entry -> (JSONObject) entry.getValue()));
this.save(submitType, jgRegistrationInfoMap); this.save(submitType, jgRegistrationInfoMap);
} }
...@@ -194,6 +193,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -194,6 +193,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
} }
private void createTaskModel(JgChangeRegistrationName dto, String taskName, String submitType) { private void createTaskModel(JgChangeRegistrationName dto, String taskName, String submitType) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if ("1".equals(submitType)) { if ("1".equals(submitType)) {
TaskModelDto taskModelDto = new TaskModelDto(); TaskModelDto taskModelDto = new TaskModelDto();
taskModelDto.setFlowCreateDate(dto.getApplyDate()); taskModelDto.setFlowCreateDate(dto.getApplyDate());
...@@ -208,7 +208,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -208,7 +208,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
taskModelDto.setTaskStatus(this.getTaskCodeByName(dto.getAuditStatus())); taskModelDto.setTaskStatus(this.getTaskCodeByName(dto.getAuditStatus()));
taskModelDto.setTaskStatusLabel(dto.getAuditStatus()); taskModelDto.setTaskStatusLabel(dto.getAuditStatus());
taskModelDto.setStartUserId(dto.getCreateUserId()); taskModelDto.setStartUserId(dto.getCreateUserId());
taskModelDto.setStartUser(dto.getCreateUserName()); taskModelDto.setStartUser(reginParams.getUserModel().getRealName());
taskModelDto.setStartUserCompanyName(dto.getUseUnitName()); taskModelDto.setStartUserCompanyName(dto.getUseUnitName());
taskModelDto.setNextExecuteUser(dto.getNextExecutorIds()); taskModelDto.setNextExecuteUser(dto.getNextExecutorIds());
taskModelDto.setStartDate(dto.getCreateDate()); taskModelDto.setStartDate(dto.getCreateDate());
......
...@@ -9,7 +9,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -9,7 +9,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jg.api.dto.TaskModelDto;
import com.yeejoin.amos.boot.module.jg.api.dto.WorkflowResultDto;
import com.yeejoin.amos.boot.module.jg.api.entity.*; import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.EquipTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.EquipTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum; 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.mapper.*;
...@@ -17,18 +20,18 @@ import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationReformSe ...@@ -17,18 +20,18 @@ import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationReformSe
import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationReformDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationReformDto;
import com.yeejoin.amos.boot.module.jg.api.service.IJgRegistrationHistoryService; import com.yeejoin.amos.boot.module.jg.api.service.IJgRegistrationHistoryService;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService; import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgUseInfoService; import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgUseInfoService;
import com.yeejoin.amos.boot.module.jg.biz.utils.JsonUtils;
import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService; import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.ymt.api.entity.*; import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*; import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.workflow.Workflow; import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO; import com.yeejoin.amos.feign.workflow.model.*;
import com.yeejoin.amos.feign.workflow.model.AjaxResult;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -61,9 +64,9 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -61,9 +64,9 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
@Autowired @Autowired
RedisUtils redisUtils; RedisUtils redisUtils;
@Autowired @Autowired
ICommonService commonService; CommonServiceImpl commonServiceImpl;
@Autowired @Autowired
private IIdxBizJgUseInfoService useInfoService; ICmWorkflowService iCmWorkflowService;
@Autowired @Autowired
private IdxBizJgUseInfoServiceImpl idxBizJgUseInfoService; private IdxBizJgUseInfoServiceImpl idxBizJgUseInfoService;
@Autowired @Autowired
...@@ -71,10 +74,6 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -71,10 +74,6 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
@Autowired @Autowired
private IdxBizJgFactoryInfoServiceImpl idxBizJgFactoryInfoService; private IdxBizJgFactoryInfoServiceImpl idxBizJgFactoryInfoService;
@Autowired @Autowired
private UseInfoMapper useInfoMapper;
@Autowired
private InspectionDetectionInfoMapper inspectionDetectionInfoMapper;
@Autowired
private OtherInfoMapper otherInfoMapper; private OtherInfoMapper otherInfoMapper;
//改造登记关系表mapper //改造登记关系表mapper
@Autowired @Autowired
...@@ -91,16 +90,12 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -91,16 +90,12 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
private JgUseRegistrationEqMapper jgUseRegistrationEqMapper; private JgUseRegistrationEqMapper jgUseRegistrationEqMapper;
@Autowired @Autowired
private IdxBizJgRegisterInfoMapper idxBizJgRegisterInfoMapper; private IdxBizJgRegisterInfoMapper idxBizJgRegisterInfoMapper;
@Autowired
private IdxBizJgOtherInfoMapper idxBizJgOtherInfoMapper;
//单位变更登记关系表mapper //单位变更登记关系表mapper
@Autowired @Autowired
private JgChangeRegistrationUnitEqMapper jgChangeRegistrationUnitEqMapper; private JgChangeRegistrationUnitEqMapper jgChangeRegistrationUnitEqMapper;
//更名变更登记关系表mapper //更名变更登记关系表mapper
@Autowired @Autowired
private JgChangeRegistrationNameEqMapper jgChangeRegistrationNameEqMapper; private JgChangeRegistrationNameEqMapper jgChangeRegistrationNameEqMapper;
@Autowired
private IJgRegistrationHistoryService jgRegistrationHistoryService;
/** /**
* 分页查询 * 分页查询
...@@ -128,8 +123,8 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -128,8 +123,8 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
OtherInfo otherInfo = otherInfoMapper.selectOne(otherLambda); OtherInfo otherInfo = otherInfoMapper.selectOne(otherLambda);
String supervisoryCode = otherInfo.getSupervisoryCode(); String supervisoryCode = otherInfo.getSupervisoryCode();
jgChangeRegistrationReform.setSupervisoryCode(supervisoryCode); jgChangeRegistrationReform.setSupervisoryCode(supervisoryCode);
jgChangeRegistrationReform.setUseUnitName(ObjectUtils.isEmpty(useInfo.getUseUnitName())?reginParams.getCompany().getCompanyName():useInfo.getUseUnitName()); jgChangeRegistrationReform.setUseUnitName(ObjectUtils.isEmpty(useInfo.getUseUnitName()) ? reginParams.getCompany().getCompanyName() : useInfo.getUseUnitName());
jgChangeRegistrationReform.setUseUnitCreditCode(ObjectUtils.isEmpty(useInfo.getUseUnitCreditCode())?reginParams.getCompany().getCompanyCode():useInfo.getUseUnitCreditCode()); jgChangeRegistrationReform.setUseUnitCreditCode(ObjectUtils.isEmpty(useInfo.getUseUnitCreditCode()) ? reginParams.getCompany().getCompanyCode() : useInfo.getUseUnitCreditCode());
if (!ObjectUtils.isEmpty(map.get("transformationQualityCertificate"))) { if (!ObjectUtils.isEmpty(map.get("transformationQualityCertificate"))) {
jgChangeRegistrationReform.setTransformationQualityCertificate(JSONObject.toJSONString(map.get("transformationQualityCertificate"))); jgChangeRegistrationReform.setTransformationQualityCertificate(JSONObject.toJSONString(map.get("transformationQualityCertificate")));
...@@ -207,65 +202,64 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -207,65 +202,64 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
String instanceId = ""; String instanceId = "";
if (!ObjectUtils.isEmpty(map.get("instanceId"))) { if (!ObjectUtils.isEmpty(map.get("instanceId"))) {
instanceId = map.get("instanceId").toString(); instanceId = map.get("instanceId").toString();
// 如果是旧流程则执行一步
flowExecute(jgChangeRegistrationReform.getSequenceNbr(), instanceId, "0", "");
// updateExecuteIds(instanceId, jgChangeRegistrationReform.getSequenceNbr(), "0");
} else { } else {
// 启动并执行流程 // 如果是新启动的流程开启自动访问
instanceId = startByVariable();
updateExecuteIds(instanceId, jgChangeRegistrationReform.getSequenceNbr(), "0");
}
if (!ObjectUtils.isEmpty(instanceId)) { ProcessTaskDTO processTaskDTO = startByVariable();
// 执行流程 updateExecuteIds(instanceId, jgChangeRegistrationReform, "startWorkfow", processTaskDTO);
flowExecute(jgChangeRegistrationReform.getSequenceNbr(), instanceId, "0", ""); List<TaskModelDto> taskModelDtoList = Arrays.asList(getTaskModelDtoList(jgChangeRegistrationReform, processTaskDTO));
updateExecuteIds(instanceId, jgChangeRegistrationReform.getSequenceNbr(), "0"); // commonServiceImpl.buildTaskModel(taskModelDtoList);
} }
// if (!ObjectUtils.isEmpty(instanceId)) {
// // 执行流程
// flowExecute(jgChangeRegistrationReform.getSequenceNbr(), instanceId, "0", "");
// updateExecuteIds(instanceId, jgChangeRegistrationReform.getSequenceNbr(), "0");
// }
} }
} }
public String startByVariable() { public ProcessTaskDTO startByVariable() {
String instanceId = ""; ProcessTaskDTO processTaskDTO = new ProcessTaskDTO();
//启动流程 //启动流程
try { try {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO(); ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey("renovationRegistrationReviewNew"); dto.setProcessDefinitionKey("renovationRegistrationReviewNew");
dto.setBusinessKey("submit"); dto.setBusinessKey("submit");
AjaxResult ajaxResult = Workflow.taskClient.startByVariable(dto); dto.setCompleteFirstTask(Boolean.TRUE);
instanceId = ((Map) ajaxResult.get("data")).get("id").toString(); List<ActWorkflowStartDTO> actWorkflowStartDTOList = Arrays.asList(dto);
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
actWorkflowBatchDTO.setProcess(actWorkflowStartDTOList);
List<ProcessTaskDTO> result = iCmWorkflowService.startBatch(actWorkflowBatchDTO);
if (!result.isEmpty()) {
processTaskDTO = result.get(0);
}
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return instanceId; return processTaskDTO;
} }
public void updateExecuteIds(String instanceId, Long sequenceNbr, String operate) { public void updateExecuteIds(String instanceId, JgChangeRegistrationReform jgChangeRegistrationReform, String operate, ProcessTaskDTO processTaskDTO) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String role = ""; WorkflowResultDto workflowResultDto = conveterProcessTaskDTO2WorkflowResultDto(processTaskDTO);
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName(); String nextTaskid = Optional.ofNullable(workflowResultDto.getNextTaskId()).orElse("");
ArrayList<String> roleList = new ArrayList<>(); String taskCode =FlowStatusEnum.TO_BE_FINISHED.getName();
JgChangeRegistrationReform jgChangeRegistrationReform = this.getBaseMapper().selectById(sequenceNbr); if(!ObjectUtils.isEmpty(workflowResultDto.getNextTaskCode())){
try { taskCode = Optional.ofNullable(workflowResultDto.getNextTaskCode()).orElse("");
// 查询下节点任务 }
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId); String role =Optional.ofNullable(workflowResultDto.getNextExecutorRoleIds()).orElse("");
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) { if(operate.equals("startWorkfow")){
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data"))); role =Optional.ofNullable(workflowResultDto.getExecutorRoleIds()).orElse("")+","+Optional.ofNullable(workflowResultDto.getNextExecutorRoleIds()).orElse("");
String nextTaskId = nextTask.getString("id"); operate = "0";
FeignClientResult<JSONObject> nodeInfo = workFlowFeginService.getNodeInfo(nextTaskId); instanceId =workflowResultDto.getInstanceId();
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 (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) { if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) {
role = String.join(",", roleList); jgChangeRegistrationReform.setNextTaskId(nextTaskid);
jgChangeRegistrationReform.setNextExecutorIds(role); jgChangeRegistrationReform.setNextExecutorIds(role);
jgChangeRegistrationReform.setPromoter(reginParams.getUserModel().getUserId()); jgChangeRegistrationReform.setPromoter(reginParams.getUserModel().getUserId());
jgChangeRegistrationReform.setInstanceId(instanceId); jgChangeRegistrationReform.setInstanceId(instanceId);
...@@ -284,7 +278,6 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -284,7 +278,6 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
jgChangeRegistrationReform.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject()); jgChangeRegistrationReform.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject());
jgChangeRegistrationReform.setPromoter(null); jgChangeRegistrationReform.setPromoter(null);
} }
} else { } else {
jgChangeRegistrationReform.setAuditPassDate(new Date()); jgChangeRegistrationReform.setAuditPassDate(new Date());
jgChangeRegistrationReform.setAuditStatus(FlowStatusEnum.TO_BE_FINISHED.getName()); jgChangeRegistrationReform.setAuditStatus(FlowStatusEnum.TO_BE_FINISHED.getName());
...@@ -298,11 +291,12 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -298,11 +291,12 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
} }
public void flowExecute(Long id, String instanceId, String operate, String comment) { public void flowExecute(Long id, String instanceId, String operate, String comment) {
try { ProcessTaskDTO processTaskDTO = new ProcessTaskDTO();
JgChangeRegistrationReform jgChangeRegistrationReform = this.getBaseMapper().selectById(id); JgChangeRegistrationReform jgChangeRegistrationReform = this.getBaseMapper().selectById(id);
JSONObject task = workFlowFeginService.getTaskNoAuth(instanceId); try {
JSONObject taskMessage = JSON.parseObject(JSON.toJSONString(task.get("data"))); // JSONObject task = workFlowFeginService.getTaskNoAuth(instanceId);
String taskId = taskMessage.getString("id"); // JSONObject taskMessage = JSON.parseObject(JSON.toJSONString(task.get("data")));
String taskId = jgChangeRegistrationReform.getNextTaskId();
//组装信息 //组装信息
TaskResultDTO dto = new TaskResultDTO(); TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus"); dto.setResultCode("approvalStatus");
...@@ -311,56 +305,36 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -311,56 +305,36 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", operate); map.put("approvalStatus", operate);
//2023年12月27日16点33分 流程状态为起草人撤回或者一级审批驳回时需要将提交时的已同意修改为已提交 //2023年12月27日16点33分 流程状态为起草人撤回或者一级审批驳回时需要将提交时的已同意修改为已提交
if(!ObjectUtils.isEmpty(jgChangeRegistrationReform)&&(jgChangeRegistrationReform.getStatus().equals(WorkFlowStatusEnum.CHANGE_SUBMIT.getRollBack())||jgChangeRegistrationReform.getStatus().equals(WorkFlowStatusEnum.CHANGE_SUBMIT.getReject()))){ if (!ObjectUtils.isEmpty(jgChangeRegistrationReform) && (jgChangeRegistrationReform.getStatus().equals(WorkFlowStatusEnum.CHANGE_SUBMIT.getRollBack()) || jgChangeRegistrationReform.getStatus().equals(WorkFlowStatusEnum.CHANGE_SUBMIT.getReject()))) {
map.put("approvalStatus", "提交"); map.put("approvalStatus", "提交");
} }
dto.setVariable(map); dto.setVariable(map);
//执行流程 //执行流程
Workflow.taskClient.completeByTask(taskId, dto); processTaskDTO = iCmWorkflowService.complete(taskId, dto);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
// 更新下一步执行人 // 更新下一步执行人
updateExecuteIds(instanceId, id, operate); updateExecuteIds(instanceId, jgChangeRegistrationReform, operate, processTaskDTO);
} }
public void withdraw(String instanceId) { public void withdraw(String instanceId) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String taskCode = "";
JgChangeRegistrationReform jgChangeRegistrationReform = new JgChangeRegistrationReform(); JgChangeRegistrationReform jgChangeRegistrationReform = new JgChangeRegistrationReform();
LambdaQueryWrapper<JgChangeRegistrationReform> lambda = new QueryWrapper<JgChangeRegistrationReform>().lambda(); LambdaQueryWrapper<JgChangeRegistrationReform> lambda = new QueryWrapper<JgChangeRegistrationReform>().lambda();
lambda.eq(JgChangeRegistrationReform::getInstanceId, instanceId); lambda.eq(JgChangeRegistrationReform::getInstanceId, instanceId);
ArrayList<String> roleList = new ArrayList<>(); ArrayList<String> roleList = new ArrayList<>();
try { ProcessTaskDTO processTaskDTO = iCmWorkflowService.rollBack(instanceId);
workFlowFeginService.rollBack(instanceId); WorkflowResultDto workflowResultDto = conveterProcessTaskDTO2WorkflowResultDto(processTaskDTO);
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId); String taskCode = Optional.ofNullable(workflowResultDto.getNextTaskCode()).orElse("");
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data"))); String role = Optional.ofNullable(workflowResultDto.getNextExecutorRoleIds()).orElse("");
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)) { if (!ObjectUtils.isEmpty(taskCode)) {
jgChangeRegistrationReform.setAuditStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack()); jgChangeRegistrationReform.setAuditStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack());
jgChangeRegistrationReform.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack()); jgChangeRegistrationReform.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack());
} }
String join = String.join(",", roleList);
jgChangeRegistrationReform.setPromoter(reginParams.getUserModel().getUserId()); jgChangeRegistrationReform.setPromoter(reginParams.getUserModel().getUserId());
jgChangeRegistrationReform.setNextExecutorIds(join); jgChangeRegistrationReform.setNextExecutorIds(role);
this.update(jgChangeRegistrationReform, lambda); this.update(jgChangeRegistrationReform, lambda);
} }
...@@ -540,9 +514,9 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -540,9 +514,9 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
String equList = registerInfo.getEquList();//设备种类 String equList = registerInfo.getEquList();//设备种类
String equCategory = registerInfo.getEquCategory();//设备类别 String equCategory = registerInfo.getEquCategory();//设备类别
String equDefine = registerInfo.getEquDefine();//设备品种 String equDefine = registerInfo.getEquDefine();//设备品种
List<EquipmentCategory> categoryList0 = commonService.getEquipmentCategoryList(equList, null); List<EquipmentCategory> categoryList0 = commonServiceImpl.getEquipmentCategoryList(equList, null);
List<EquipmentCategory> categoryList1 = commonService.getEquipmentCategoryList(equCategory, null); List<EquipmentCategory> categoryList1 = commonServiceImpl.getEquipmentCategoryList(equCategory, null);
List<EquipmentCategory> categoryList2 = commonService.getEquipmentCategoryList(equDefine, null); List<EquipmentCategory> categoryList2 = commonServiceImpl.getEquipmentCategoryList(equDefine, null);
if (CollectionUtils.isNotEmpty(categoryList0)) { if (CollectionUtils.isNotEmpty(categoryList0)) {
if (ValidationUtil.isEmpty(categoryList0.get(0).getName())) { if (ValidationUtil.isEmpty(categoryList0.get(0).getName())) {
throw new BadRequest("使用登记证导出失败,设备种类为空!"); throw new BadRequest("使用登记证导出失败,设备种类为空!");
...@@ -611,7 +585,70 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -611,7 +585,70 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
exportParamsMap.put("factoryNum", factoryInfo.getFactoryNum()); exportParamsMap.put("factoryNum", factoryInfo.getFactoryNum());
} }
//调用生成使用登记证 //调用生成使用登记证
commonService.generateCertificateReport(exportParamsMap, response); commonServiceImpl.generateCertificateReport(exportParamsMap, response);
} }
/**
* @return String
* @deprecated 动态获取
*/
public String getSummaryInfo(JgChangeRegistrationReform jgChangeRegistrationReform) {
String result = "来自%s【%s】的业务办理,【申请单号:%s】";
return String.format("电梯", jgChangeRegistrationReform.getSupervisoryCode(), jgChangeRegistrationReform.getApplyNo());
}
public TaskModelDto getTaskModelDtoList(JgChangeRegistrationReform jgChangeRegistrationReform, ProcessTaskDTO processTaskDTO) {
List<WorkflowResultDto> workflowResultDtoList = commonServiceImpl.buildWorkFlowInfo(Arrays.asList(processTaskDTO));
WorkflowResultDto workflowResultDto = conveterProcessTaskDTO2WorkflowResultDto(processTaskDTO);
TaskModelDto taskModelDto = new TaskModelDto();
//工作流创建时间
taskModelDto.setFlowCreateDate(jgChangeRegistrationReform.getCreateDate());
//工作流返回节点名称
taskModelDto.setTaskName(processTaskDTO.getNextTask().get(0).getName());
//taskCode 使用申请单编号
taskModelDto.setTaskCode(jgChangeRegistrationReform.getApplyNo());
//摘要
taskModelDto.setTaskContent(getSummaryInfo(jgChangeRegistrationReform));
//任务描述-非必填
taskModelDto.setTaskDesc(null);
//任务类型
taskModelDto.setTaskType(BusinessTypeEnum.JG_RENOVATION_REGISTRATION.getCode());
//任务类型名称
taskModelDto.setTaskType(BusinessTypeEnum.JG_RENOVATION_REGISTRATION.getName());
//工作流实例id
taskModelDto.setRelationId(jgChangeRegistrationReform.getInstanceId());
//执行人id
taskModelDto.setExecuteUserIds(workflowResultDto.getExecutorId());
//任务状态code
// taskModelDto.setTaskStatus();
//任务状态名称
taskModelDto.setTaskStatusLabel(jgChangeRegistrationReform.getStatus());
//任务创建人id
taskModelDto.setStartUserId(jgChangeRegistrationReform.getCreateUserId());
//任务创建人名称
taskModelDto.setStartUser(workflowResultDto.getStartUserName());
//任务发起人所在单位
// taskModelDto.setStartUserCompanyName(startUser.getCompanys().get(0).getCompanyName());
//任务发起人发起时间
taskModelDto.setStartDate(new Date());
//跳转路径
// taskModelDto.setRoutePath();
return taskModelDto;
}
/**
* 将processTaskDTO转换成WorkflowResultDto
*
* @param processTaskDTO
* @return
*/
public WorkflowResultDto conveterProcessTaskDTO2WorkflowResultDto(ProcessTaskDTO processTaskDTO) {
List<WorkflowResultDto> workflowResultDtoList = commonServiceImpl.buildWorkFlowInfo(Arrays.asList(processTaskDTO));
WorkflowResultDto workflowResultDto = new WorkflowResultDto();
if (!workflowResultDtoList.isEmpty()) {
workflowResultDto = workflowResultDtoList.get(0);
}
return workflowResultDto;
}
} }
\ No newline at end of file
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