Commit ab3caa06 authored by 刘林's avatar 刘林

fix(jg):车用气瓶历史平台登记功能开发

parent 7ec4bc02
......@@ -20,6 +20,7 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.jg.api.dto.CodeGenerateDto;
import com.yeejoin.amos.boot.module.jg.api.dto.EquipInfoCylinderExcelDto;
import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.ConstructionEnum;
......@@ -28,15 +29,14 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.CommonMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationMapper;
import com.yeejoin.amos.boot.module.jg.biz.config.PressureVesselListener;
import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.*;
import com.yeejoin.amos.boot.module.jg.biz.utils.CodeUtil;
import com.yeejoin.amos.boot.module.ymt.api.dto.IdxBizJgRegisterInfoDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.CategoryOtherInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgRegisterInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.RegistrationInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.SuperviseInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
......@@ -68,7 +68,6 @@ import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.io.IOException;
import java.lang.reflect.Field;
import java.sql.Timestamp;
......@@ -77,9 +76,10 @@ import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
import static com.alibaba.fastjson.JSON.toJSONString;
import static com.yeejoin.amos.boot.module.jg.api.enums.CylinderTypeEnum.SPECIAL_CYLINDER;
import static com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum.XIAN_YANG;
import static com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum.XI_XIAN;
/**
......@@ -213,7 +213,6 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
private JgInstallationNoticeServiceImpl jgInstallationNoticeService;
@Value("${add.equip.dict.code.suffix:CATEGORY_LIST_ADD}")
private String equipAddDictCodeSuffix;
@Autowired
private IdxBizJgDesignInfoServiceImpl idxBizJgDesignInfoService;
@Autowired
......@@ -226,6 +225,10 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
private IdxBizJgInspectionDetectionInfoServiceImpl idxBizJgInspectionDetectionInfoService;
@Autowired
private IIdxBizJgOtherInfoService idxBizJgOtherInfoService;
@Autowired
private CodeUtil codeUtil;
@Autowired
private TzsServiceFeignClient tzsServiceFeignClient;
/**
* 将对象的属性由驼峰转为纯大写下划线格式
......@@ -2068,16 +2071,14 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
}
}
}).headRowNumber(4).sheet().doRead();
// 如果存在错误信息,则抛出 BadRequest 异常
if (!resultError.removeIf(String::isEmpty)) {
throw new BadRequest("校验失败");
}else{
return aircraftList;
if (resultError.stream().anyMatch(input -> !input.isEmpty())) {
throw new BadRequest("上传失败!");
}
return aircraftList;
} catch (Exception e) {
throw new Exception(resultError.stream()
.filter(s -> !s.isEmpty())
.collect(Collectors.joining("\n ")));
.collect(Collectors.joining("<br/>")));
}
}
......@@ -2112,18 +2113,20 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
if (paramMap == null) {
throw new IllegalArgumentException("参数Map不能为空");
}
LinkedHashMap equipmentClassForm = (LinkedHashMap) checkAndCast(paramMap.get(EQUIP_CLASS_FORM_ID));
LinkedHashMap equipmentInfoForm = (LinkedHashMap) checkAndCast(paramMap.get(EQUIP_INFO_FORM_ID));
LinkedHashMap attachmentUpload = (LinkedHashMap) checkAndCast(paramMap.get(ATTACHMENT_UPLOAD));
String equListCode = (String) equipmentClassForm.get("EQU_LIST");
String equCategoryCode = (String) equipmentClassForm.get("EQU_CATEGORY");
String equDefineCode = (String) equipmentClassForm.get("EQU_DEFINE");
String dataSource = (String) equipmentClassForm.get("DATA_SOURCE");
String equListCode = (String) equipmentInfoForm.get("EQU_LIST");
String equCategoryCode = (String) equipmentInfoForm.get("EQU_CATEGORY");
String equDefineCode = (String) equipmentInfoForm.get("EQU_DEFINE");
String dataSource = (String) equipmentInfoForm.get("DATA_SOURCE");
String useOrgCode = (String) equipmentInfoForm.get("USE_ORG_CODE");
String receiveOrgCode = (String) equipmentInfoForm.get("RECEIVE_ORG_CODE");
String possession = (String) equipmentInfoForm.get("VEHICLE_APANAGE");
List<EquipInfoCylinderExcelDto> equipInfoCylinderExcelDtoList =JSON.parseArray(JSON.toJSONString(attachmentUpload.get(EQU_LISTS)), EquipInfoCylinderExcelDto.class);
Date date = new Date();
String record = UUID.randomUUID().toString();
equipInfoCylinderExcelDtoList.forEach(data->{
String record = UUID.randomUUID().toString();
List<Map<String, Object>> fileDataList = (List<Map<String, Object>>)(data.getFileData());
String productPhoto = getUrlByKey(fileDataList,"PRODUCT_PHOTO");
String otherAccessoriesReg = getUrlByKey(fileDataList,"OTHER_ACCESSORIES_REG");
......@@ -2140,9 +2143,9 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
BeanUtils.copyProperties(data, useInfo);
useInfo.setRecord(record);
useInfo.setRecDate(date);
useInfo.setDataSource(dataSource != null ? dataSource : "jg");//区分历史设备和新增设备
useInfo.setDataSource(dataSource.equals("his")? "jg_his" : "jg");//区分历史设备和新增设备
useInfo.setEquState(null);
useInfo.setIsIntoManagement(dataSource != null);//历史气瓶导入为已纳管设备
useInfo.setIsIntoManagement(dataSource.equals("his"));//历史气瓶导入为已纳管设备
// 使用单位信息
if("个人主体".equals(company.getCompanyType())){
useInfo.setUseUnitCreditCode(company.getCompanyCode().split("_")[1]);
......@@ -2192,6 +2195,10 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
registerInfo.setRegisterState(idxBizJgRegisterInfoService.getRegCode());
registerInfo.setProductPhoto(productPhoto);
registerInfo.setOtherAccessoriesReg(otherAccessoriesReg);
registerInfo.setUseOrgCode(useOrgCode);
if (dataSource.equals("his")){
registerInfo.setEquCode(this.getEquCode(registerInfo, factoryInfo, receiveOrgCode));
}
registerInfoList.add(registerInfo);
//检验检测
......@@ -2216,6 +2223,10 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
BeanUtils.copyProperties(data, otherInfo);
otherInfo.setRecord(record);
otherInfo.setRecDate(date);
if (dataSource.equals("his")){
otherInfo.setSupervisoryCode(this.getSupervisoryCode(possession, registerInfo));
otherInfo.setClaimStatus("已认领");
}
otherInfoList.add(otherInfo);
//技术参数
......@@ -2238,6 +2249,11 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
dto.setFACTORY_NUM(factoryInfo.getFactoryNum());
dto.setUSE_INNER_CODE(useInfo.getUseInnerCode());
dto.setEQU_CATEGORY_CODE(equCategoryCode);
dto.setUSE_ORG_CODE(useOrgCode);
dto.setIS_INTO_MANAGEMENT(dataSource.equals("his"));
if (dataSource.equals("his")){
dto.setEQU_CODE(registerInfo.getEquCode());
}
if (CollectionUtils.isNotEmpty(equCategory)) {
dto.setEQU_CATEGORY(equCategory.get(0).getName());
}
......@@ -2379,6 +2395,40 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
}
}
/**
* 生成设备代码
* @param registerInfo registerInfo
* @param factoryInfo factoryInfo
* @param receiveCompanyCode 接收机构
* @return 设备代码
*/
private String getEquCode(IdxBizJgRegisterInfo registerInfo, IdxBizJgFactoryInfo factoryInfo, String receiveCompanyCode) {
CodeGenerateDto codeGenerateDto = new CodeGenerateDto();
codeGenerateDto.setEquList(registerInfo.getEquList());
codeGenerateDto.setEquCategory(registerInfo.getEquCategory());
codeGenerateDto.setEquDefine(registerInfo.getEquDefine());
codeGenerateDto.setProduceDate(factoryInfo.getProduceDate());
codeGenerateDto.setReceiveCompanyCode(receiveCompanyCode);
return codeUtil.generateEquipmentCode(codeGenerateDto);
}
/**
* 生成监管码
*/
private String getSupervisoryCode(String possession, IdxBizJgRegisterInfo registerInfo) {
Map<String, Object> map = new HashMap<>();
boolean isXiXian = XI_XIAN.getCode().equals(possession);
String cityOrCountyCode = isXiXian ? XIAN_YANG.getCode() : possession;
map.put("cityCode", cityOrCountyCode);
map.put("isXiXian", isXiXian ? 1 : 0);
map.put("equCategory", registerInfo.getEquCategory());
map.put("countyCode", cityOrCountyCode);
return Optional.ofNullable(tzsServiceFeignClient.createCode(map).getResult())
.filter(res -> !res.isEmpty())
.map(res -> String.valueOf(res.get("superviseCode")))
.orElse("");
}
// 注入依赖
private void injectDependencies(PressureVesselListener listener, Map<String, Object> paramMap) {
listener.setIdxBizJgRegisterInfoService(idxBizJgRegisterInfoService);
......
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