Commit aa657eed authored by tianyiming's avatar tianyiming

维修告知、启用停用修改

1、暂存和撤回 2、增加接收机构参数用于执行人过滤
parent f12170ea
......@@ -36,7 +36,7 @@
</if>
<if test="type != 'company'">
AND isn.instance_id is not null
AND isn.receive_org_code = #{orgCode}
AND isn.receive_company_code = #{orgCode}
</if>
<if test="type == 'company'">
AND isn.install_unit_credit_code = #{orgCode}
......
......@@ -96,6 +96,8 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
String pageType = String.valueOf(map.get("formType"));
String record = String.valueOf(map.get("record"));
String businessCode = String.valueOf(map.get("businessCode"));
// 接收机构
String[] receiveOrgCode = String.valueOf(map.getString("receiveOrgCode")).split("_");
List<WorkflowResultDto> workflowResultList = new ArrayList<>();
ProcessTaskDTO processTaskDTO = new ProcessTaskDTO();
......@@ -111,9 +113,14 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
HashMap<String, Object> commMap = new HashMap<>();
if (FlowStatusEnum.REJECTED.getName().equals(jgEnableDisable.getAuditStatus()) || FlowStatusEnum.ROLLBACK.getName().equals(jgEnableDisable.getAuditStatus())) {
commMap.put("approvalStatus", "提交");
//下一节点执行人单位(下节点接收机构code)
dto.setNextExecuteUserCompanyCode(jgEnableDisable.getUseUnitCreditCode());
} else {
commMap.put("approvalStatus", submit);
//下一节点执行人单位(下节点接收机构code)
dto.setNextExecuteUserCompanyCode(jgEnableDisable.getReceiveCompanyCode());
}
dto.setVariable(commMap);
processTaskDTO = iCmWorkflowService.complete(jgEnableDisable.getNextTaskId(), dto);
// 提取节点等信息
......@@ -142,7 +149,7 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
TaskV2Model taskV2Model = commonService.updateTaskModel(map1);
if (ObjectUtils.isEmpty(taskV2Model)) {
// 如果为保存并提交,则创建代办
buildTask(Collections.singletonList(jgEnableDisable), businessCode, Collections.singletonList(workflowResultDto));
buildTask(Collections.singletonList(jgEnableDisable), businessCode, Collections.singletonList(workflowResultDto),Boolean.TRUE);
} else {
TaskModelDto taskModelDto = new TaskModelDto();
BeanUtils.copyProperties(taskV2Model, taskModelDto);
......@@ -163,7 +170,7 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
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);
workflowResultList = workFlowInfo(submit, record,receiveOrgCode[0]);
//业务数据组装等
businessData(submit, reginParams, jgEnableDisable, map, workflowResultList);
}
......@@ -172,7 +179,11 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
// 仅保存
if ("add".equals(pageType)) {
this.save(jgEnableDisable);
buildTask(Arrays.asList(jgEnableDisable),businessCode, workflowResultList);
buildTask(Arrays.asList(jgEnableDisable),businessCode, workflowResultList,Boolean.FALSE);
if(!SUBMIT_TYPE_FLOW.equals(submit)){
// 暂存任务
buildTaskDraft(jgEnableDisable);
}
} else {
// 编辑
jgEnableDisable.setSequenceNbr(Long.valueOf(String.valueOf(map.get("sequenceNbr"))));
......@@ -190,13 +201,38 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
}
/**
* 暂存任务生成待办
* @param jgEnableDisable 业务信息
*/
private void buildTaskDraft(JgEnableDisable jgEnableDisable) {
List<TaskModelDto> modelDtos = new ArrayList<>();
TaskModelDto dto = new TaskModelDto();
//行数据
TaskMessageDto taskMessageDto = new TaskMessageDto();
BeanUtils.copyProperties(jgEnableDisable, taskMessageDto);
dto.setModel(taskMessageDto);
//摘要 按原有规则组装
dto.setTaskContent(String.format("来自%s【%s】的业务办理,【申请单号:%s】", jgEnableDisable.getEquList(), jgEnableDisable.getSequenceNbr(), jgEnableDisable.getApplyNo()));
//申请单号
dto.setTaskCode(jgEnableDisable.getApplyNo());
//业务类型枚举code值
dto.setTaskType(BusinessTypeEnum.JG_INSTALLATION_NOTIFICATION.getCode());
////业务主键
dto.setRelationId(jgEnableDisable.getSequenceNbr() + "");
modelDtos.add(dto);
commonService.buildTaskModel(modelDtos);
}
/**
* 组装业务数据
*/
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.setReceiveCompanyCode(splitMaintenanceUnitCode[0]);
jgEnableDisable.setReceiveOrgName(splitMaintenanceUnitCode[1]);
jgEnableDisable.setUseUnitCreditCode(reginParams.getCompany().getCompanyCode());
jgEnableDisable.setUseUnitName(reginParams.getCompany().getCompanyName());
......@@ -222,14 +258,13 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
}
jgEnableDisable.setCreateUserName(reginParams.getUserModel().getRealName());
jgEnableDisable.setCreateUserId(reginParams.getUserModel().getUserId());
}
/**
* 插入代办
*/
private void buildTask(List<JgEnableDisable> list,String businessCode, List<WorkflowResultDto> workflowResultList) {
private void buildTask(List<JgEnableDisable> list,String businessCode, List<WorkflowResultDto> workflowResultList,Boolean bool) {
String taskType = businessCode.equals(ApplicationFormTypeEnum.SBQY.getBusinessCode())?BusinessTypeEnum.JG_EQUIPMENT_START.getCode():BusinessTypeEnum.JG_EQUIPMENT_STOP.getCode();
String taskTypeLabel = businessCode.equals(ApplicationFormTypeEnum.SBQY.getBusinessCode())?BusinessTypeEnum.JG_EQUIPMENT_START.getName():BusinessTypeEnum.JG_EQUIPMENT_STOP.getName();
List<TaskModelDto> taskModelDtoList = new ArrayList<>();
......@@ -257,6 +292,10 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
taskModelDto.setNextExecuteUser(item.getExecuteSequence());
taskModelDto.setTaskContent(String.format("来自%s【%s】的业务办理,【申请单号:%s】", item.getEquList(), item.getSupervisoryCode(), item.getApplyNo()));
taskModelDtoList.add(taskModelDto);
if (bool) {
// 删除暂存时生成的待办
commonService.deleteTaskModel(item.getSequenceNbr()+"");
}
});
commonService.buildTaskModel(taskModelDtoList);
}
......@@ -293,7 +332,7 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
* @param record 设备record
* @return 工作流返回相关数据
*/
private List<WorkflowResultDto> workFlowInfo(String submitType, String record) {
private List<WorkflowResultDto> workFlowInfo(String submitType, String record,String receiveOrgCode) {
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
......@@ -301,6 +340,7 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
dto.setProcessDefinitionKey(PROCESS_DEFINITION_KEY);
dto.setBusinessKey(record);
dto.setCompleteFirstTask(Boolean.TRUE);
dto.setNextExecuteUserCompanyCode(receiveOrgCode);
list.add(dto);
actWorkflowBatchDTO.setProcess(list);
......@@ -424,6 +464,7 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
commMap.put("approvalStatus", op);
workDto.setVariable(commMap);
workDto.setComment(opinion);
workDto.setNextExecuteUserCompanyCode("1".equals(op) ? jgEnableDisable.getUseUnitCreditCode() : jgEnableDisable.getReceiveCompanyCode());
processTaskDTO = iCmWorkflowService.complete(jgEnableDisable.getNextTaskId(), workDto);
// 提取节点等信息
workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
......
......@@ -13,10 +13,7 @@ import com.yeejoin.amos.boot.biz.common.service.IDataDictionaryService;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jg.api.dto.*;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintainNotice;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintainNoticeEq;
import com.yeejoin.amos.boot.module.jg.api.entity.JgTransferNotice;
import com.yeejoin.amos.boot.module.jg.api.entity.JgTransferNoticeEq;
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.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintainNoticeEqMapper;
......@@ -176,6 +173,8 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
dto.setProcessDefinitionKey(PROCESS_DEFINITION_KEY);
dto.setBusinessKey(noticeDto.getSequenceNbr().toString());
dto.setCompleteFirstTask(Boolean.TRUE);
//下一节点执行人单位(下节点接收机构code)
dto.setNextExecuteUserCompanyCode(notice.getReceiveCompanyCode());
list.add(dto);
actWorkflowBatchDTO.setProcess(list);
processTaskDTO = cmWorkflowService.startBatch(actWorkflowBatchDTO).get(0);
......@@ -193,7 +192,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
notice.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
jgMaintainNoticeMapper.updateById(notice);
// 如果为保存并提交,则创建代办
buildTask(Collections.singletonList(notice), Collections.singletonList(workflowResultDto));
buildTask(Collections.singletonList(notice), Collections.singletonList(workflowResultDto),Boolean.TRUE);
} else {
// 只调用执行API,返回下个节点信息,用于填充业务字段
//组装信息
......@@ -206,6 +205,8 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
} else {
commMap.put("approvalStatus", op);
}
//下一节点执行人单位(下节点接收机构code)
dto.setNextExecuteUserCompanyCode(notice.getReceiveCompanyCode());
dto.setVariable(commMap);
processTaskDTO = cmWorkflowService.complete(notice.getNextTaskId(), dto);
// 提取节点等信息
......@@ -232,7 +233,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
TaskV2Model taskV2Model = commonService.updateTaskModel(map);
if (ObjectUtils.isEmpty(taskV2Model)) {
// 如果为保存并提交,则创建代办
buildTask(Collections.singletonList(notice), Collections.singletonList(workflowResultDto));
buildTask(Collections.singletonList(notice), Collections.singletonList(workflowResultDto), Boolean.FALSE);
} else {
TaskModelDto taskModelDto = new TaskModelDto();
BeanUtils.copyProperties(taskV2Model, taskModelDto);
......@@ -413,7 +414,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
}
List<String> applyNoList = applyNoResult.getResult();
List<WorkflowResultDto> workflowResultDtoList = workFlowInfo(submitType, deviceList);
List<WorkflowResultDto> workflowResultDtoList = workFlowInfo(submitType, deviceList,model.getReceiveCompanyCode());
List<JgMaintainNotice> list = new ArrayList<>();
List<JgMaintainNoticeEq> equipList = new ArrayList<>();
......@@ -454,7 +455,10 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
});
jgMaintainNoticeMapper.insertBatchSomeColumn(list);
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
buildTask(list, workflowResultDtoList);
buildTask(list, workflowResultDtoList, Boolean.TRUE);
} else {
// 暂存任务
buildTaskDraft(list);
}
List<JgMaintainNoticeEq> jgRelationEquipList = equipList.stream().map(jgRelationEquip -> {
......@@ -465,12 +469,35 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
jgMaintainNoticeEqMapper.insertBatchSomeColumn(jgRelationEquipList);
}
/**
* 暂存任务生成待办
* @param list 业务信息
*/
private void buildTaskDraft(List<JgMaintainNotice> list) {
List<TaskModelDto> modelDtos = new ArrayList<>();
list.forEach(obj -> {
TaskModelDto dto = new TaskModelDto();
//行数据
TaskMessageDto taskMessageDto = new TaskMessageDto();
BeanUtils.copyProperties(obj, taskMessageDto);
dto.setModel(taskMessageDto);
//摘要 按原有规则组装
dto.setTaskContent(String.format("来自%s【%s】的业务办理,【申请单号:%s】", obj.getEquList(), obj.getSupervisoryCode(), obj.getApplyNo()));
//申请单号
dto.setTaskCode(obj.getApplyNo());
//业务类型枚举code值
dto.setTaskType(BusinessTypeEnum.JG_INSTALLATION_NOTIFICATION.getCode());
////业务主键
dto.setRelationId(obj.getSequenceNbr() + "");
modelDtos.add(dto);
});
commonService.buildTaskModel(modelDtos);
}
/**
* 插入代办
*/
private void buildTask(List<JgMaintainNotice> list, List<WorkflowResultDto> workflowResultList) {
private void buildTask(List<JgMaintainNotice> list, List<WorkflowResultDto> workflowResultList, Boolean bool) {
List<TaskModelDto> taskModelDtoList = new ArrayList<>();
WorkflowResultDto workflowResultDto = workflowResultList.get(0);
list.forEach(item -> {
......@@ -496,12 +523,16 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
taskModelDto.setNextExecuteUser(item.getNextExecuteIds());
taskModelDto.setTaskContent(String.format("来自%s【%s】的业务办理,【申请单号:%s】", item.getEquList(), item.getSupervisoryCode(), item.getApplyNo()));
taskModelDtoList.add(taskModelDto);
if (bool) {
// 删除暂存时生成的待办
commonService.deleteTaskModel(item.getSequenceNbr()+"");
}
});
commonService.buildTaskModel(taskModelDtoList);
}
private List<WorkflowResultDto> workFlowInfo(String submitType,List<Map<String, Object>> deviceList) {
private List<WorkflowResultDto> workFlowInfo(String submitType,List<Map<String, Object>> deviceList,String receiveCompanyCode) {
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
// 发起流程
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
......@@ -510,6 +541,8 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(PROCESS_DEFINITION_KEY);
dto.setBusinessKey(item.get("SEQUENCE_NBR").toString());
//下一节点执行人单位(下节点接收机构code)
dto.setNextExecuteUserCompanyCode(receiveCompanyCode);
dto.setCompleteFirstTask(Boolean.TRUE);
list.add(dto);
});
......@@ -601,7 +634,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
if (!ObjectUtils.isEmpty(receiveOrgId)) {
String[] receiveOrgIdList = receiveOrgId.split("_");
if (receiveOrgIdList.length > 1) {
model.setReceiveOrgCode(receiveOrgIdList[0]);
model.setReceiveCompanyCode(receiveOrgIdList[0]);
model.setReceiveOrgName(receiveOrgIdList[1]);
}
}
......@@ -789,6 +822,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
}
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", op);
taskResultDTO.setNextExecuteUserCompanyCode("1".equals(op) ? jgMaintainNotice.getInstallUnitCreditCode() : jgMaintainNotice.getReceiveCompanyCode());
taskResultDTO.setVariable(map);
return taskResultDTO;
}
......
......@@ -49,6 +49,12 @@
},
{
"type": "104",
"pageType": "draft",
"name": "维修告知",
"url": "/mixuap?appId=1742358052905971713&id=1736722439125102594&roleIds={roleIds}&userId={userId}&formType=edit"
},
{
"type": "104",
"pageType": "look",
"name": "维修告知",
"url": "/mixuap?appId=1742358052905971713&id=1736722439125102594&roleIds={roleIds}&userId={userId}&formType=look"
......@@ -181,6 +187,12 @@
},
{
"type": "112-1",
"pageType": "draft",
"name": "设备启用",
"url": "mixuap?appId=1742358052905971713&id=1737383754143395841&roleIds={roleIds}&userId={userId}&formType=edit"
},
{
"type": "112-1",
"pageType": "look",
"name": "设备启用",
"url": "mixuap?appId=1742358052905971713&id=1737383754143395841&roleIds={roleIds}&userId={userId}&formType=look"
......@@ -193,6 +205,12 @@
},
{
"type": "112-2",
"pageType": "draft",
"name": "设备停用",
"url": "mixuap?appId=1742358052905971713&id=1737383754143395841&roleIds={roleIds}&userId={userId}&formType=edit"
},
{
"type": "112-2",
"pageType": "look",
"name": "设备停用",
"url": "mixuap?appId=1742358052905971713&id=1737383754143395841&roleIds={roleIds}&userId={userId}&formType=look"
......
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