|
|
@ -50,7 +50,7 @@ public class BlockChainProjectServiceImpl implements BlockChainProjectService, R |
|
|
|
BlockChainProjectProcessFormDTO process = input.getProcess(); |
|
|
|
List<BlockChainProjectProcessAssignedStaffFormDTO> assignedStaffs = input.getAssignedStaffs(); |
|
|
|
|
|
|
|
fill(project, process, assignedStaffs); |
|
|
|
fill(project, process, assignedStaffs, null); |
|
|
|
|
|
|
|
String projectString = JSON.toJSONString(project); |
|
|
|
String processString = JSON.toJSONString(process); |
|
|
@ -66,7 +66,8 @@ public class BlockChainProjectServiceImpl implements BlockChainProjectService, R |
|
|
|
* @param project |
|
|
|
* @param process |
|
|
|
*/ |
|
|
|
private void fill(BlockChainProjectFormDTO project, BlockChainProjectProcessFormDTO process, List<BlockChainProjectProcessAssignedStaffFormDTO> assignedStaffs) { |
|
|
|
private void fill(BlockChainProjectFormDTO project, BlockChainProjectProcessFormDTO process, |
|
|
|
List<BlockChainProjectProcessAssignedStaffFormDTO> assignedStaffs, BlockChainProjectProcessAssignedStaffFormDTO handledStaff) { |
|
|
|
|
|
|
|
// 一.填充project信息
|
|
|
|
|
|
|
@ -128,42 +129,54 @@ public class BlockChainProjectServiceImpl implements BlockChainProjectService, R |
|
|
|
// 三.填充指派用户信息
|
|
|
|
if (assignedStaffs != null) { |
|
|
|
for (BlockChainProjectProcessAssignedStaffFormDTO assignedStaff : assignedStaffs) { |
|
|
|
// 组织信息
|
|
|
|
if (StringUtils.isNotBlank(assignedStaff.getOrgId())) { |
|
|
|
CustomerAgencyDTO assignedStaffAgencyInfo = getResultDataOrThrowsException(govOrgOpenFeignClient.getAgencyById(assignedStaff.getOrgId()), |
|
|
|
ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "【项目信息上链】查询指派人员组织信息失败"); |
|
|
|
fillAssignedStaffInfo(assignedStaff); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
assignedStaff.setOrgName(assignedStaffAgencyInfo.getOrganizationName()); |
|
|
|
} |
|
|
|
// 4.填充当前处理人信息
|
|
|
|
if (handledStaff != null) { |
|
|
|
fillAssignedStaffInfo(handledStaff); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 网格信息
|
|
|
|
if (StringUtils.isNotBlank(assignedStaff.getGridId())) { |
|
|
|
CustomerGridFormDTO assignedStaffGridFormDTO = new CustomerGridFormDTO(); |
|
|
|
assignedStaffGridFormDTO.setGridId(assignedStaff.getGridId()); |
|
|
|
CustomerGridDTO assignedStaffProcessGridInfo = getResultDataOrThrowsException(govOrgOpenFeignClient.getCustomerGridByGridId(assignedStaffGridFormDTO), |
|
|
|
ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "【项目信息上链】查询指派人员网格信息失败"); |
|
|
|
/** |
|
|
|
* 填充被指派人的信息 |
|
|
|
* @param assignedStaff |
|
|
|
*/ |
|
|
|
private void fillAssignedStaffInfo(BlockChainProjectProcessAssignedStaffFormDTO assignedStaff) { |
|
|
|
// 组织信息
|
|
|
|
if (StringUtils.isNotBlank(assignedStaff.getOrgId())) { |
|
|
|
CustomerAgencyDTO assignedStaffAgencyInfo = getResultDataOrThrowsException(govOrgOpenFeignClient.getAgencyById(assignedStaff.getOrgId()), |
|
|
|
ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "【项目信息上链】查询指派人员组织信息失败"); |
|
|
|
|
|
|
|
Optional.of(assignedStaffProcessGridInfo).ifPresent((gridOfStaff) -> assignedStaff.setGridName(gridOfStaff.getGridName())); |
|
|
|
} |
|
|
|
assignedStaff.setOrgName(assignedStaffAgencyInfo.getOrganizationName()); |
|
|
|
} |
|
|
|
|
|
|
|
// 指派用户
|
|
|
|
CustomerStaffDTO assignedStaffDTO = new CustomerStaffDTO(); |
|
|
|
assignedStaffDTO.setUserId(assignedStaff.getStaffId()); |
|
|
|
CustomerStaffDTO assignedStaffInfo = getResultDataOrThrowsException(userOpenFeignClient.getCustomerStaffInfoByUserId(assignedStaffDTO), |
|
|
|
ServiceConstant.EPMET_USER_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "【项目信息上链】查询指派用户信息失败"); |
|
|
|
// 网格信息
|
|
|
|
if (StringUtils.isNotBlank(assignedStaff.getGridId())) { |
|
|
|
CustomerGridFormDTO assignedStaffGridFormDTO = new CustomerGridFormDTO(); |
|
|
|
assignedStaffGridFormDTO.setGridId(assignedStaff.getGridId()); |
|
|
|
CustomerGridDTO assignedStaffProcessGridInfo = getResultDataOrThrowsException(govOrgOpenFeignClient.getCustomerGridByGridId(assignedStaffGridFormDTO), |
|
|
|
ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "【项目信息上链】查询指派人员网格信息失败"); |
|
|
|
|
|
|
|
assignedStaff.setStaffName(assignedStaffInfo.getRealName()); |
|
|
|
Optional.of(assignedStaffProcessGridInfo).ifPresent((gridOfStaff) -> assignedStaff.setGridName(gridOfStaff.getGridName())); |
|
|
|
} |
|
|
|
|
|
|
|
// 创建者
|
|
|
|
CustomerStaffDTO createStaffDTO = new CustomerStaffDTO(); |
|
|
|
createStaffDTO.setUserId(assignedStaff.getCreatedBy()); |
|
|
|
CustomerStaffDTO createStaffInfo = getResultDataOrThrowsException(userOpenFeignClient.getCustomerStaffInfoByUserId(createStaffDTO), |
|
|
|
ServiceConstant.EPMET_USER_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "【项目信息上链】查询指派用户信息失败"); |
|
|
|
// 指派用户
|
|
|
|
CustomerStaffDTO assignedStaffDTO = new CustomerStaffDTO(); |
|
|
|
assignedStaffDTO.setUserId(assignedStaff.getStaffId()); |
|
|
|
CustomerStaffDTO assignedStaffInfo = getResultDataOrThrowsException(userOpenFeignClient.getCustomerStaffInfoByUserId(assignedStaffDTO), |
|
|
|
ServiceConstant.EPMET_USER_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "【项目信息上链】查询指派用户信息失败"); |
|
|
|
|
|
|
|
Optional.of(createStaffInfo).ifPresent((createStaff) -> assignedStaff.setCreaterName(createStaffInfo.getRealName())); |
|
|
|
assignedStaff.setStaffName(assignedStaffInfo.getRealName()); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
// 创建者
|
|
|
|
CustomerStaffDTO createStaffDTO = new CustomerStaffDTO(); |
|
|
|
createStaffDTO.setUserId(assignedStaff.getCreatedBy()); |
|
|
|
CustomerStaffDTO createStaffInfo = getResultDataOrThrowsException(userOpenFeignClient.getCustomerStaffInfoByUserId(createStaffDTO), |
|
|
|
ServiceConstant.EPMET_USER_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "【项目信息上链】查询指派用户信息失败"); |
|
|
|
|
|
|
|
Optional.of(createStaffInfo).ifPresent((createStaff) -> assignedStaff.setCreaterName(createStaffInfo.getRealName())); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@ -171,13 +184,21 @@ public class BlockChainProjectServiceImpl implements BlockChainProjectService, R |
|
|
|
|
|
|
|
BlockChainProjectProcessFormDTO process = input.getProcess(); |
|
|
|
List<BlockChainProjectProcessAssignedStaffFormDTO> assignedStaffs = input.getAssignedStaffs(); |
|
|
|
BlockChainProjectProcessAssignedStaffFormDTO handledStaff = input.getHandledStaff(); |
|
|
|
|
|
|
|
fill(null, process, assignedStaffs); |
|
|
|
fill(null, process, assignedStaffs, handledStaff); |
|
|
|
|
|
|
|
String processString = JSON.toJSONString(process); |
|
|
|
String assignedStaffsString = JSON.toJSONString(assignedStaffs); |
|
|
|
|
|
|
|
blockChainProducer.sendMsg(BlockChainProducer.TOPIC_PROJECT, BlockChainProducer.TAG_SEND_PROCESS, processString); |
|
|
|
blockChainProducer.sendMsg(BlockChainProducer.TOPIC_PROJECT, BlockChainProducer.TAG_SEND_ASSIGNED_STAFFS, assignedStaffsString); |
|
|
|
|
|
|
|
if (assignedStaffs != null && assignedStaffs.size() > 0) { |
|
|
|
String assignedStaffsString = JSON.toJSONString(assignedStaffs); |
|
|
|
blockChainProducer.sendMsg(BlockChainProducer.TOPIC_PROJECT, BlockChainProducer.TAG_SEND_ASSIGNED_STAFFS, assignedStaffsString); |
|
|
|
} |
|
|
|
|
|
|
|
if (handledStaff != null) { |
|
|
|
String handledStaffString = JSON.toJSONString(handledStaff); |
|
|
|
blockChainProducer.sendMsg(BlockChainProducer.TOPIC_PROJECT, BlockChainProducer.TAG_SEND_HANDLED_STAFF, handledStaffString); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|