Commit 52aba08c authored by tianyiming's avatar tianyiming

台套历史设备使用登记

parent 5c85f1f4
...@@ -260,4 +260,16 @@ public class JgUseRegistrationController extends BaseController { ...@@ -260,4 +260,16 @@ public class JgUseRegistrationController extends BaseController {
jgUseRegistrationServiceImpl.handleErrorForm(applyNo); jgUseRegistrationServiceImpl.handleErrorForm(applyNo);
return ResponseHelper.buildResponse("申请单【"+applyNo+"】处理成功"); return ResponseHelper.buildResponse("申请单【"+applyNo+"】处理成功");
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/saveHistoryEquip")
@ApiOperation(httpMethod = "POST", value = "新增历史设备登记", notes = "新增历史设备登记")
public ResponseModel<Object> saveHistoryEquip(@RequestBody JSONObject map) {
JSONObject firstMap = JSONObject.parseObject(JSONObject.toJSONString(map.get("first")));
JSONObject secondMap = JSONObject.parseObject(JSONObject.toJSONString(map.get("second")));
secondMap.put("type",firstMap.get("type"));
return ResponseHelper.buildResponse(jgUseRegistrationServiceImpl.saveHistoryEquip(secondMap));
}
} }
...@@ -2353,4 +2353,192 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -2353,4 +2353,192 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
} }
} }
} }
/**
* 按单位办理或按台套办理
*
* @param map map
* @return list
*/
@Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public List<Map<String, Object>> saveHistoryEquip(JSONObject map) {
Map<String, Function<JSONObject, List<Map<String, Object>>>> functionMap = MapBuilder.<String, Function<JSONObject, List<Map<String, Object>>>>create()
.put("unit", this::handleUnitHistoryEquip).build();
Function<JSONObject, List<Map<String, Object>>> function = functionMap.getOrDefault(map.getString("manageType"), this::handleHistoryEquip);
return function.apply(map);
}
/**
* 按单位新增历史设备
* @param jsonObject
* @return
*/
private List<Map<String, Object>> handleUnitHistoryEquip(JSONObject jsonObject) {
return null;
}
/**
* 按台套新增历史设备
* @param map
* @return
*/
private List<Map<String, Object>> handleHistoryEquip(JSONObject map) {
try {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
CompanyBo company = reginParams.getCompany();
// 使用登记信息
JgUseRegistration jgUseRegistration = new JgUseRegistration();
jgUseRegistration.setRegDate(new Date());
LambdaQueryWrapper<IdxBizJgOtherInfo> otherLambda = new QueryWrapper<IdxBizJgOtherInfo>().lambda();
otherLambda.eq(IdxBizJgOtherInfo::getRecord, map.get("equipId"));
IdxBizJgOtherInfo otherInfo = otherInfoMapper.selectOne(otherLambda);
String supervisoryCode = otherInfo.getSupervisoryCode();
jgUseRegistration.setSupervisoryCode(supervisoryCode);
if (!ObjectUtils.isEmpty(map.get("otherAccessories"))) {
jgUseRegistration.setOtherAccessories(JSONObject.toJSONString(map.get("otherAccessories")));
}
if (map.containsKey("receiveOrgCode")) {
// 接收单位信息
String[] splitMaintenanceUnitCode = String.valueOf(map.getString("receiveOrgCode")).split("_");
jgUseRegistration.setReceiveCompanyCode(splitMaintenanceUnitCode[0]);
jgUseRegistration.setReceiveOrgName(splitMaintenanceUnitCode[1]);
jgUseRegistration.setReceiveCompanyOrgCode(commonService.getOneCompany(jgUseRegistration.getReceiveCompanyCode()).getOrgCode());
}
// 安全管理员
if (map.containsKey("safetyManager")) {
String[] data = String.valueOf(map.getString("safetyManager")).split("_");
map.put("safetyManagerId", data[0]);
map.put("safetyManagerName", data[1]);
}
// 使用单位提交
jgUseRegistration.setUseUnitName(CompanyTypeEnum.INDIVIDUAL.getName().equals(company.getCompanyType()) ?
company.getCompanyName().split("_")[1] : company.getCompanyName());
jgUseRegistration.setUseUnitCreditCode(CompanyTypeEnum.INDIVIDUAL.getName().equals(company.getCompanyType()) ?
company.getCompanyCode().split("_")[1] : company.getCompanyCode());
jgUseRegistration.setCreateUserId(reginParams.getUserModel().getUserId());
if (!ObjectUtils.isEmpty(map.get("inspectUnitCreditCode"))) {
jgUseRegistration.setInspectUnitCreditCode(map.get("inspectUnitCreditCode").toString());
}
if (!ObjectUtils.isEmpty(map.get("inspectOrgName"))) {
jgUseRegistration.setInspectUnitName(map.get("inspectOrgName").toString());
}
// 是否西咸
if (!ObjectUtils.isEmpty(map.get("isXixian"))) {
jgUseRegistration.setIsXixian(String.valueOf(map.get("isXixian")));
}
// 使用地点
// 市
List<LinkedHashMap> city = (List<LinkedHashMap>) redisUtils.get("CITY");
// 区
List<LinkedHashMap> region = (List<LinkedHashMap>) redisUtils.get("REGION");
// 街道
List<LinkedHashMap> street = (List<LinkedHashMap>) redisUtils.get("STREET");
jgUseRegistration.setUseAddress("陕西省");
// 城市
if (!ObjectUtils.isEmpty(map.get("city")) && !ObjectUtils.isEmpty(city)) {
JSONObject finalMap = map;
city.forEach(item -> {
if (String.valueOf(item.get("regionCode")).equals(String.valueOf(finalMap.get("city")))) {
jgUseRegistration.setUseAddress(jgUseRegistration.getUseAddress() + item.get("regionName"));
}
});
}
// 区县
if (!ObjectUtils.isEmpty(map.get("county")) && !ObjectUtils.isEmpty(city)) {
JSONObject finalMap1 = map;
region.forEach(item -> {
if (String.valueOf(item.get("regionCode")).equals(String.valueOf(finalMap1.get("county")))) {
jgUseRegistration.setUseAddress(jgUseRegistration.getUseAddress() + item.get("regionName"));
}
});
}
// 街道
if (!ObjectUtils.isEmpty(map.get("factoryUseSiteStreet")) && !ObjectUtils.isEmpty(city)) {
JSONObject finalMap2 = map;
street.forEach(item -> {
if (String.valueOf(item.get("regionCode")).equals(String.valueOf(finalMap2.get("factoryUseSiteStreet")))) {
jgUseRegistration.setUseAddress(jgUseRegistration.getUseAddress() + item.get("regionName"));
}
});
}
jgUseRegistration.setUseAddress(jgUseRegistration.getUseAddress() + map.get("address"));
if (map.containsKey("edit") && "1".equals(String.valueOf(map.get("edit")))) {
jgUseRegistration.setUseUnitCreditCode(null);
jgUseRegistration.setSequenceNbr(Long.valueOf(String.valueOf(map.get("sequenceNbr"))));
this.getBaseMapper().updateById(jgUseRegistration);
// 更新设备关联表
LambdaQueryWrapper<JgUseRegistrationEq> lambda = new QueryWrapper<JgUseRegistrationEq>().lambda();
lambda.eq(JgUseRegistrationEq::getEquipTransferId, jgUseRegistration.getSequenceNbr());
JgUseRegistrationEq jgUseRegistrationEq = new JgUseRegistrationEq();
jgUseRegistrationEq.setEquId(map.get("equipId").toString());
jgRelationEquipMapper.update(jgUseRegistrationEq, lambda);
} else {
// 业务管理设备信息保存
JgUseRegistrationEq jgRelationEquip = new JgUseRegistrationEq();
jgRelationEquip.setEquId(map.get("equipId").toString());
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.getCode.get(String.valueOf(map.get("type"))), 1);
if (!ObjectUtils.isEmpty(listResponseModel)) {
jgUseRegistration.setApplyNo(listResponseModel.getResult().get(0));
}
jgUseRegistration.setAuditPassDate(new Date());
jgUseRegistration.setAuditStatus(FlowStatusEnum.TO_BE_FINISHED.getName());
jgUseRegistration.setStatus(FlowStatusEnum.TO_BE_FINISHED.getName());
this.save(jgUseRegistration);
jgRelationEquip.setEquipTransferId(jgUseRegistration.getSequenceNbr().toString());
jgRelationEquipMapper.insert(jgRelationEquip);
// 暂存历史表
updateHistory(map, map.get("equipId").toString(), String.valueOf(jgUseRegistration.getSequenceNbr()), jgUseRegistration.getSupervisoryCode());
LambdaQueryWrapper<JgRegistrationHistory> lambdaSelect = new QueryWrapper<JgRegistrationHistory>().lambda();
lambdaSelect.eq(JgRegistrationHistory::getCurrentDocumentId, jgUseRegistration.getSequenceNbr());
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.getBaseMapper().selectOne(lambdaSelect);
JSONObject mapData = JSONObject.parseObject(jgRegistrationHistory.getChangeData());
TaskV2Model taskV2Model = new TaskV2Model();
taskV2Model.setRoutePath("");
// 登记证记录主键
Long changeRecordId= sequence.nextId();
// 注册信息
LambdaQueryWrapper<IdxBizJgRegisterInfo> lambdaReg = new QueryWrapper<IdxBizJgRegisterInfo>().lambda();
lambdaReg.eq(IdxBizJgRegisterInfo::getRecord, jgRelationEquip.getEquId());
IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoMapper.selectOne(lambdaReg);
processMapData(null, mapData, jgUseRegistration, jgRegistrationHistory, registerInfo, taskV2Model, map, Boolean.FALSE, null);
// 生成证书管理表记录
generateRegistrationManage(jgUseRegistration, registerInfo, Boolean.FALSE, null);
// 生成一条使用登记证变更记录
generateCertificateChangeRecord(jgUseRegistration, registerInfo, changeRecordId, taskV2Model, Boolean.FALSE);
// 查询设备制造信息
LambdaQueryWrapper<IdxBizJgFactoryInfo> factoryInfoWrapper = new LambdaQueryWrapper<>();
factoryInfoWrapper.eq(IdxBizJgFactoryInfo::getRecord, jgRelationEquip.getEquId());
IdxBizJgFactoryInfo idxBizJgFactoryInfo = idxBizJgFactoryInfoService.getOne(factoryInfoWrapper);
// 生成tzs_jg_certificate_change_record_eq记录
JgCertificateChangeRecordEq changeRecordEq = new JgCertificateChangeRecordEq();
changeRecordEq.setChangeRecordId(String.valueOf(changeRecordId));//登记证记录主键
changeRecordEq.setEquId(registerInfo.getRecord());//设备主键
changeRecordEq.setProductCode(idxBizJgFactoryInfo.getFactoryNum());
certificateChangeRecordEqService.save(changeRecordEq);
}
return this.baseMapper.getDetailById(jgUseRegistration.getSequenceNbr());
} catch (BadRequest | LocalBadRequest e) {
log.error(e.getMessage(), e);
this.rollBackForDelRedisData();
throw e;
} catch (Exception e) {
log.error(e.getMessage(), e);
this.rollBackForDelRedisData();
throw new BadRequest("使用登记保存失败!");
} finally {
FlowingEquipRedisContext.clean();
}
}
} }
\ 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