Commit 33e2b468 authored by 王果's avatar 王果

维保备案代办格式,修改bug

parent 59ff38c0
......@@ -167,11 +167,13 @@
jui.USE_INNER_CODE,
jfi.FACTORY_NUM,
jui.ADDRESS as ADDRESS,
other.SUPERVISORY_CODE,
(SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY) as EQU_CATEGORY
from tzs_jg_maintenance_contract_eq mc
LEFT JOIN idx_biz_jg_use_info jui on mc.equ_id = jui.RECORD
LEFT JOIN idx_biz_jg_factory_info jfi on mc.equ_id = jfi.RECORD
left JOIN idx_biz_jg_register_info jri on mc.equ_id = jri.RECORD
LEFT JOIN idx_biz_jg_other_info other on other.RECORD = jui.RECORD
WHERE mc.equip_transfer_id = #{id}
</select>
</mapper>
......@@ -84,7 +84,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
public Page<JgMaintenanceContractVo> queryForPage(Page<JgMaintenanceContract> page, int phase,
Map<String, Object> map, ReginParams reginParams) {
JgMaintenanceContractDto dto = new JgMaintenanceContractDto();
if(map.containsKey("jgMaintenanceContractDto")){
if (map.containsKey("jgMaintenanceContractDto")) {
dto = JSON.parseObject(JSON.toJSONString(map.get("jgMaintenanceContractDto")), JgMaintenanceContractDto.class);
}
Page<JgMaintenanceContractDto> contractList = new Page<>();
......@@ -178,6 +178,37 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
return true;
}
private void executeOneStep(JgMaintenanceContract contract, String taskName, String nextUserIds, String operate) {
// 先更新之前的待办
TaskV2Model taskV2Model = updateTaskModel(contract, operate);
taskV2Model.setTaskDesc("");
taskV2Model.setTaskContent(this.buildTaskContent(contract));
taskV2Model.setTaskName(taskName);
taskV2Model.setTaskDesc("");
taskV2Model.setTaskCode(contract.getApplyNo());
taskV2Model.setExecuteUserIds(nextUserIds);
taskV2Model.setRelationId(contract.getInstanceId());
FlowStatusEnum flowStatusEnum = this.getTaskStatus(operate);
taskV2Model.setTaskStatus(flowStatusEnum.getCode());
taskV2Model.setTaskStatusLabel(flowStatusEnum.getName());
taskV2Model.setFlowStatus(this.getTaskStatusByName(contract.getApplyStatus()));
taskV2Model.setFlowStatusLabel(contract.getApplyStatus());
taskV2Model.setTaskType(BusinessTypeEnum.JG_NAME_CHANGE_REGISTRATION.getCode());
taskV2Model.setStartUser(contract.getCreateUserName());
taskV2Model.setTaskTypeLabel(BusinessTypeEnum.JG_NAME_CHANGE_REGISTRATION.getName());
taskV2Model.setStartDate(contract.getCreateDate());
taskV2Model.setStartUserId(contract.getCreateUserId());
taskV2Model.setStartUserCompanyName(contract.getUseUnitName());
taskV2Model.setExecuteUserIds(nextUserIds);
TaskModelDto modelDto = new TaskModelDto();
BeanUtil.copyProperties(taskV2Model, modelDto);
modelDto.setNextExecuteUser(contract.getNextExecuteIds());
modelDto.setModel(contract);
// 再插入新代办、数据待定
commonService.buildTaskModel(Collections.singletonList(modelDto));
}
/**
* 维保合同撤回
*/
......@@ -196,6 +227,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
String taskCode = processTaskDTO.getNextTask().get(0).getKey();
if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) {
contract.setApplyStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack());
contract.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack());
}
contract.setPromoter(RequestContext.getExeUserId());
contract.setNextExecuteIds(String.join(",", roleListNext));
......@@ -205,9 +237,10 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(contract));
jsonObject.put("nextTaskId", contract.getNextTaskId());
jsonObject.put("nextExecuteUser", contract.getNextExecuteIds());
jsonObject.put("taskType",BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode());
jsonObject.put("taskType", BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode());
commonService.rollbackTask(instanceId, jsonObject);
}
/**
* 新增维保合同
*/
......@@ -249,8 +282,8 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
contractDto.setApplyStatus(FlowStatusEnum.TO_BE_SUBMITTED.getName());
JgMaintenanceContract contract = new JgMaintenanceContract();
boolean hasId = StringUtils.isEmpty(contractDto.getSequenceNbr());//没有id说明是新增
BeanUtils.copyProperties(contractDto, contract);
if (hasId) {
BeanUtils.copyProperties(contractDto, contract);
contract.setCreateUserId(reginParams.getUserModel().getUserId());
contract.setCreateUserName(reginParams.getUserModel().getRealName());
contract.setStatus(SUBMIT_DATA.equals(submit) ? WorkFlowStatusEnum.MAIN_SUBMIT.getPass() : WorkFlowStatusEnum.MAIN_RECEIVE.getPass());
......@@ -292,7 +325,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
dto.setCompleteFirstTask(true);
list.add(dto);
actWorkflowBatchDTO.setProcess(list);
List<ProcessTaskDTO> processTasks = workflowService.startBatch(actWorkflowBatchDTO);
List<ProcessTaskDTO> processTasks = workflowService.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();
......@@ -328,8 +361,9 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
contract.setPromoter(RequestContext.getExeUserId());
contract.setNextExecuteIds(String.join(",", roleListNext));
contract.setApplyStatus(String.valueOf(WorkFlowStatusEnum.MAIN_RECEIVE.getPass()));
contract.setStatus(String.valueOf(WorkFlowStatusEnum.MAIN_RECEIVE.getPass()));
contract.setNextTaskId(nextTaskId);
executeOneStep(contract, taskName, nextUserIds,"0");
executeOneStep(contract, taskName, nextUserIds, "0");
}
}
updateById(contract);
......@@ -357,6 +391,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
roleListAll.addAll(p.getCandidateGroups());
});
}
@Transactional
public void updateExecuteIds(String instanceId, Long sequenceNbr, String operate, ProcessTaskDTO processTaskDTO) {
List<String> roleListNext = new ArrayList<>();
......@@ -391,47 +426,34 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
contract.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject());
contract.setPromoter(null);
}
executeOneStep(contract, taskName, nextUserIds,operate);
executeOneStep(contract, taskName, nextUserIds, operate);
} else {
contract.setApplyDate(new Date());
contract.setStatus(taskCode);
updateTaskModel(contract,operate);
updateTaskModel(contract, operate);
}
this.getBaseMapper().updateById(contract);
}
private void executeOneStep(JgMaintenanceContract contract, String taskName, String nextUserIds, String operate) {
// 先更新之前的待办
TaskV2Model taskV2Model = updateTaskModel(contract,operate);
// 再插入新代办、数据待定
taskV2Model.setTaskName(taskName);
taskV2Model.setExecuteUserIds(nextUserIds);
taskV2Model.setTaskStatus(this.getTaskStatusByName(contract.getApplyStatus()));
taskV2Model.setTaskStatusLabel(contract.getApplyStatus());
TaskModelDto modelDto = new TaskModelDto();
BeanUtil.copyProperties(taskV2Model, modelDto);
modelDto.setNextExecuteUser(contract.getNextExecuteIds());
modelDto.setModel(contract);
commonService.buildTaskModel(Collections.singletonList(modelDto));
}
private TaskV2Model updateTaskModel(JgMaintenanceContract contract, String operate) {
Map<String, Object> params = new HashMap<>();
FlowStatusEnum flowStatusEnum = this.getTaskStatus(operate);
params.put("relationId",contract.getInstanceId());
params.put("relationId", contract.getInstanceId());
params.put("taskStatus", flowStatusEnum.getCode());
params.put("taskStatusLabel", flowStatusEnum.getName());
params.put("flowStatus",this.getTaskStatusByName(contract.getApplyStatus()));
params.put("flowStatusLabel",contract.getApplyStatus());
return commonService.updateTaskModel(params);
params.put("flowStatus", this.getTaskStatusByName(contract.getApplyStatus()));
params.put("flowStatusLabel", contract.getApplyStatus());
return commonService.updateTaskModelNew(params);
}
private FlowStatusEnum getTaskStatus(String operate) {
if("0".equals(operate)){
if ("0".equals(operate)) {
return FlowStatusEnum.TO_BE_FINISHED;
} else {
return FlowStatusEnum.REJECTED;
}
}
private Integer getTaskStatusByName(String auditStatus) {
return commonService.getDictionaryCodeByName(auditStatus);
}
......@@ -472,7 +494,19 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
* @return 摘要
*/
private String buildTaskContent(JgMaintenanceContract dto) {
return "申请单号:" + dto.getApplyNo() + "的业务办理";
List<Map<String, Object>> list = maintenanceContractMapper.selectEquipList(dto.getSequenceNbr());
String supervisoryCode = "";
String equList = "";
if (!CollectionUtils.isEmpty(list)) {
Map<String, Object> map = list.get(0);
if (map.containsKey("EQU_LIST")) {
equList = map.get("EQU_LIST").toString();
}
if (map.containsKey("SUPERVISORY_CODE")) {
supervisoryCode = map.get("SUPERVISORY_CODE").toString();
}
}
String format = String.format("来自%s【%s】等的业务办理,【申请单号:%s】等", equList, supervisoryCode, dto.getApplyNo());
return format;
}
}
\ 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