Commit 03a9f2a9 authored by 王果's avatar 王果

修改维保备案bug

parent 9644da4a
...@@ -36,6 +36,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -36,6 +36,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
...@@ -81,8 +82,10 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -81,8 +82,10 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
*/ */
public Page<JgMaintenanceContractVo> queryForPage(Page<JgMaintenanceContract> page, int phase, public Page<JgMaintenanceContractVo> queryForPage(Page<JgMaintenanceContract> page, int phase,
Map<String, Object> map, ReginParams reginParams) { Map<String, Object> map, ReginParams reginParams) {
JgMaintenanceContractDto dto = JSON.parseObject(JSON.toJSONString(map.get("jgMaintenanceContractDto")), JgMaintenanceContractDto.class); JgMaintenanceContractDto dto = new JgMaintenanceContractDto();
if(map.containsKey("jgMaintenanceContractDto")){
dto = JSON.parseObject(JSON.toJSONString(map.get("jgMaintenanceContractDto")), JgMaintenanceContractDto.class);
}
Page<JgMaintenanceContractDto> contractList = new Page<>(); Page<JgMaintenanceContractDto> contractList = new Page<>();
Page<JgMaintenanceContractVo> result = new Page<>(); Page<JgMaintenanceContractVo> result = new Page<>();
CompanyBo company = reginParams.getCompany(); CompanyBo company = reginParams.getCompany();
...@@ -213,8 +216,6 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -213,8 +216,6 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
JgMaintenanceContractDto contractDto = JSON.parseObject(JSON.toJSONString(map), JgMaintenanceContractDto.class); JgMaintenanceContractDto contractDto = JSON.parseObject(JSON.toJSONString(map), JgMaintenanceContractDto.class);
List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) map.get("equipmentLists"); List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) map.get("equipmentLists");
CompanyBo company = reginParams.getCompany(); CompanyBo company = reginParams.getCompany();
// JgMaintenanceContract contract = new JgMaintenanceContract();
// BeanUtils.copyProperties(contractDto, contract);
contractDto.setCreateDate(new Date()); contractDto.setCreateDate(new Date());
contractDto.setPromoter(reginParams.getUserModel().getUserId()); contractDto.setPromoter(reginParams.getUserModel().getUserId());
//获取维保备案编号 //获取维保备案编号
...@@ -228,46 +229,61 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -228,46 +229,61 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
contractDto.setUseUnitCode(company.getCompanyCode()); contractDto.setUseUnitCode(company.getCompanyCode());
contractDto.setUseUnitName(company.getCompanyName()); contractDto.setUseUnitName(company.getCompanyName());
//管理员信息 //管理员信息
String[] MaintenanceManager = contractDto.getMaintenanceManagerId().split("_"); if (!StringUtils.isEmpty(contractDto.getMaintenanceManagerId())) {
contractDto.setMaintenanceManagerId(MaintenanceManager[0]); String[] MaintenanceManager = contractDto.getMaintenanceManagerId().split("_");
contractDto.setMaintenanceManagerName(MaintenanceManager[1]); contractDto.setMaintenanceManagerId(MaintenanceManager[0]);
contractDto.setMaintenanceManagerName(MaintenanceManager[1]);
}
//接收机构信息 //接收机构信息
String[] splitReceiveOrgCode = contractDto.getReceiveOrgCode().split("_"); if (!StringUtils.isEmpty(contractDto.getReceiveOrgCode())) {
contractDto.setReceiveOrgCode(splitReceiveOrgCode[0]); String[] splitReceiveOrgCode = contractDto.getReceiveOrgCode().split("_");
contractDto.setReceiveOrgName(splitReceiveOrgCode[1]); contractDto.setReceiveOrgCode(splitReceiveOrgCode[0]);
contractDto.setReceiveOrgName(splitReceiveOrgCode[1]);
}
//维保单位信息 //维保单位信息
String[] splitMaintenanceUnitCode = contractDto.getMaintenanceUnitCode().split("_"); if (!StringUtils.isEmpty(contractDto.getMaintenanceUnitCode())) {
contractDto.setMaintenanceUnitCode(splitMaintenanceUnitCode[0]); String[] splitMaintenanceUnitCode = contractDto.getMaintenanceUnitCode().split("_");
contractDto.setMaintenanceUnitName(splitMaintenanceUnitCode[1]); contractDto.setMaintenanceUnitCode(splitMaintenanceUnitCode[0]);
contractDto.setMaintenanceUnitName(splitMaintenanceUnitCode[1]);
}
contractDto.setApplyStatus(FlowStatusEnum.TO_BE_SUBMITTED.getName()); contractDto.setApplyStatus(FlowStatusEnum.TO_BE_SUBMITTED.getName());
contractDto.setEquNum(equipmentLists.size()); JgMaintenanceContract contract = new JgMaintenanceContract();
JgMaintenanceContract contract = getById(contractDto.getSequenceNbr()); boolean hasId = StringUtils.isEmpty(contractDto.getSequenceNbr());//没有id说明是新增
BeanUtils.copyProperties(contractDto, contract); if (hasId) {
if (!"add".equals(String.valueOf(map.get("pageType")))) { 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());
this.save(contract);
} else {
//删除以前设备关联关系
this.getBaseMapper().updateById(contract); this.getBaseMapper().updateById(contract);
LambdaQueryWrapper<JgMaintenanceContractEq> lambda = new QueryWrapper<JgMaintenanceContractEq>().lambda(); LambdaQueryWrapper<JgMaintenanceContractEq> lambda = new QueryWrapper<JgMaintenanceContractEq>().lambda();
lambda.eq(JgMaintenanceContractEq::getEquipTransferId, contract.getSequenceNbr()); lambda.eq(JgMaintenanceContractEq::getEquipTransferId, contract.getSequenceNbr());
jgMaintenanceContractEqService.getBaseMapper().delete(lambda); jgMaintenanceContractEqService.getBaseMapper().delete(lambda);
} }
//关联设备信息 // 更新关联设备信息
List<JgMaintenanceContractEq> equipList = new ArrayList<>(); if (!CollectionUtils.isEmpty(equipmentLists)) {
equipmentLists.forEach(x -> { contractDto.setEquNum(equipmentLists.size());
JgMaintenanceContractEq equip = new JgMaintenanceContractEq(); List<JgMaintenanceContractEq> equipList = new ArrayList<>();
equip.setEquId(String.valueOf(x.get("SEQUENCE_NBR"))); equipmentLists.forEach(x -> {
equip.setEquipTransferId(contract.getSequenceNbr().toString()); JgMaintenanceContractEq equip = new JgMaintenanceContractEq();
equipList.add(equip); equip.setEquId(String.valueOf(x.get("SEQUENCE_NBR")));
}); equip.setEquipTransferId(contract.getSequenceNbr().toString());
// 保存维保关联设备信息 equipList.add(equip);
jgMaintenanceContractEqService.saveBatch(equipList); });
// 保存关联设备信息
jgMaintenanceContractEqService.saveBatch(equipList);
}
// 判断当前是否为提交 // 判断当前是否为提交
List<String> roleListNext = new ArrayList<>();
List<String> roleListAll = new ArrayList<>();
if (SUBMIT_TYPE_FLOW.equals(submit)) { if (SUBMIT_TYPE_FLOW.equals(submit)) {
if (!StringUtils.isEmpty(contract.getInstanceId())) { List<String> roleListNext = new ArrayList<>();
// 发起流程 List<String> roleListAll = new ArrayList<>();
//新增提交
if (StringUtils.isEmpty(contract.getInstanceId())) {
//没有InstanceId需要发起流程
try { try {
List<ProcessTaskDTO> processTasks = new ArrayList<>();
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO(); ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>(); List<ActWorkflowStartDTO> list = new ArrayList<>();
ActWorkflowStartDTO dto = new ActWorkflowStartDTO(); ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
...@@ -276,7 +292,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -276,7 +292,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
dto.setCompleteFirstTask(true); dto.setCompleteFirstTask(true);
list.add(dto); list.add(dto);
actWorkflowBatchDTO.setProcess(list); actWorkflowBatchDTO.setProcess(list);
processTasks = workflowService.startBatch(actWorkflowBatchDTO); List<ProcessTaskDTO> processTasks = workflowService.startBatch(actWorkflowBatchDTO);
String instanceId = processTasks.get(0).getProcessInstance().getId(); String instanceId = processTasks.get(0).getProcessInstance().getId();
String nextTaskId = processTasks.get(0).getNextTask().get(0).getId(); String nextTaskId = processTasks.get(0).getNextTask().get(0).getId();
String taskName = processTasks.get(0).getNextTask().get(0).getName(); String taskName = processTasks.get(0).getNextTask().get(0).getName();
...@@ -296,7 +312,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -296,7 +312,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
throw new BadRequest("提交失败" + e.getMessage()); throw new BadRequest("提交失败" + e.getMessage());
} }
} else { } else {
// 执行一步 // 有InstanceId,执行一步
ProcessTaskDTO processTaskDTO = this.submit("0", contract.getNextTaskId()); ProcessTaskDTO processTaskDTO = this.submit("0", contract.getNextTaskId());
String nextTaskId = processTaskDTO.getNextTask().get(0).getId(); String nextTaskId = processTaskDTO.getNextTask().get(0).getId();
String taskName = processTaskDTO.getNextTask().get(0).getName(); String taskName = processTaskDTO.getNextTask().get(0).getName();
...@@ -315,12 +331,8 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -315,12 +331,8 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
contract.setNextTaskId(nextTaskId); contract.setNextTaskId(nextTaskId);
executeOneStep(contract, taskName, nextUserIds); executeOneStep(contract, taskName, nextUserIds);
} }
updateById(contract);
} else {
// 新增
contract.setStatus(SUBMIT_DATA.equals(submit) ? WorkFlowStatusEnum.MAIN_SUBMIT.getPass() : WorkFlowStatusEnum.MAIN_RECEIVE.getPass());
this.save(contract);
} }
updateById(contract);
return true; return true;
} }
......
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