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

修改维保备案bug

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