Commit cfa58c07 authored by lisong's avatar lisong

机场代码合并

parent 4f0fdc95
...@@ -154,6 +154,8 @@ public class ExcelServiceImpl { ...@@ -154,6 +154,8 @@ public class ExcelServiceImpl {
@Autowired @Autowired
IDutyPersonService iDutyPersonService; IDutyPersonService iDutyPersonService;
@Autowired @Autowired
DataDictionaryServiceImpl dataDictionaryService;
@Autowired
DynamicFormColumnServiceImpl dynamicFormColumnServiceImpl; DynamicFormColumnServiceImpl dynamicFormColumnServiceImpl;
@Autowired @Autowired
LinkageUnitServiceImpl linkageUnitServiceImpl; LinkageUnitServiceImpl linkageUnitServiceImpl;
...@@ -752,107 +754,147 @@ public class ExcelServiceImpl { ...@@ -752,107 +754,147 @@ public class ExcelServiceImpl {
} }
private void excelImportOrgUsrExcelDtoNew(MultipartFile multipartFile) throws Exception { private void excelImportOrgUsrExcelDtoNew(MultipartFile multipartFile) throws Exception {
List<OrgUsrExcelDto> excelDtoList = ExcelUtil.readFirstSheetExcel(multipartFile, OrgUsrExcelDto.class, 1); List<OrgUsrExcelDto> excelDtoList = ExcelUtil.readFirstSheetExcel(multipartFile, OrgUsrExcelDto.class, 1);
if (!ObjectUtils.isEmpty(excelDtoList)) { if (!ObjectUtils.isEmpty(excelDtoList)) {
Set<String> set = new HashSet<>(); Set<String> set = new HashSet<>();
excelDtoList.forEach(orgUsrExcelDto -> { Set<String> set1 = new HashSet<>();
if (orgUsrExcelDto.getParentId() != null) { excelDtoList.forEach(orgUsrExcelDto -> {
String[] certificates = orgUsrExcelDto.getParentId().split("@"); if (orgUsrExcelDto.getParentId() != null) {
orgUsrExcelDto.setParentName(certificates[0]); String[] certificates = orgUsrExcelDto.getParentId().split("@");
orgUsrExcelDto.setParentId(certificates[1]); orgUsrExcelDto.setParentName(certificates[0]);
} orgUsrExcelDto.setParentId(certificates[1]);
// 动态字段填充 }
List<DynamicFormInitDto> dynamicFormColumn = dynamicFormColumnServiceImpl.getFormlist("246"); if (orgUsrExcelDto.getAmosOrgCode() != null) {
Map<String, Object> map = new HashMap<>(); String[] certificates = orgUsrExcelDto.getAmosOrgCode().split("@");
// 获取对象属性和值 orgUsrExcelDto.setAmosOrgId(certificates[0]);
Field[] fields = orgUsrExcelDto.getClass().getDeclaredFields(); orgUsrExcelDto.setAmosOrgCode(certificates[1]);
for (Field field : fields) { }
try{ // 动态字段填充
field.setAccessible(true); List<DynamicFormInitDto> dynamicFormColumn = dynamicFormColumnServiceImpl.getFormlist("246");
Object value = field.get(orgUsrExcelDto); Map<String, Object> map = new HashMap<>();
String name = field.getName(); // 获取对象属性和值
// 解析注解信息 Field[] fields = orgUsrExcelDto.getClass().getDeclaredFields();
ExplicitConstraint explicitConstraint = field.getAnnotation(ExplicitConstraint.class); for (Field field : fields) {
if (!ObjectUtils.isEmpty(explicitConstraint)) { try {
name = name + "@"; field.setAccessible(true);
}
map.put(name, value); Object value = field.get(orgUsrExcelDto);
} catch (Exception ex){
logger.error("获取{}字段值失败, {}", field.getName(), ex); String name = field.getName();
}
} // 解析注解信息
ExplicitConstraint explicitConstraint = field.getAnnotation(ExplicitConstraint.class);
List<DynamicFormInstanceDto> dynamicFormValue = new ArrayList<>(); if (!ObjectUtils.isEmpty(explicitConstraint)) {
List<DynamicFormInstance> dynamicFormInstancelist = new ArrayList<>(); name = name + "@";
}
dynamicFormColumn.forEach(DynamicFormInitDto -> { map.put(name, value);
// 动态标题存在默认值 } catch (Exception ex) {
if ("birthdayTime".equals(DynamicFormInitDto.getKey())) { logger.error("获取{}字段值失败, {}", field.getName(), ex);
DynamicFormInstanceDto formItemDescr = DynamicFormInitDto.getFormItemDescr(); }
formItemDescr.setFieldValue(null); }
DynamicFormInitDto.setFormItemDescr(formItemDescr); String s = JSONObject.toJSONString(orgUsrExcelDto);
} Map map1 = JSONObject.parseObject(s, Map.class);
dynamicFormValue.add(DynamicFormInitDto.getFormItemDescr()); List<DynamicFormInstanceDto> dynamicFormValue = new ArrayList<>();
}); List<DynamicFormInstance> dynamicFormInstancelist = new ArrayList<>();
dynamicFormValue.forEach(dynamicFormInstanceDto -> { dynamicFormColumn.forEach(DynamicFormInitDto -> {
String key = dynamicFormInstanceDto.getFieldCode(); if ("birthdayTime".equals(DynamicFormInitDto.getKey())) {
Object value = map.get(key); DynamicFormInstanceDto formItemDescr = DynamicFormInitDto.getFormItemDescr();
if (value != null) { formItemDescr.setFieldValue(null);
dynamicFormInstanceDto.setFieldValue(value.toString()); DynamicFormInitDto.setFormItemDescr(formItemDescr);
} else { }
Object o = map.get(key + "@"); dynamicFormValue.add(DynamicFormInitDto.getFormItemDescr());
if (!ObjectUtils.isEmpty(o)) {
if (o.toString().contains("@")) { });
String[] certificates = o.toString().split("@"); dynamicFormValue.forEach(dynamicFormInstanceDto -> {
dynamicFormInstanceDto.setFieldValue(certificates[1]); String key = dynamicFormInstanceDto.getFieldCode();
dynamicFormInstanceDto.setFieldValueLabel(certificates[0]); if (map.containsKey(key) && map.get(key) != null) {
} else { String o = map.get(key).toString();
dynamicFormInstanceDto.setFieldValue(o.toString()); if ("birthdayTime".equals(key) && !ObjectUtils.isEmpty(o)) {
} SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
} try {
} String date = ft.format(o);
if ("birthdayTime".equals(key) && !ObjectUtils.isEmpty(value)) { dynamicFormInstanceDto.setFieldValue(date);
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); } catch (Exception e) {
try { logger.error("日期转换失败");
String date = ft.format(value);
dynamicFormInstanceDto.setFieldValue(date); }
} catch (Exception e) { }
logger.error("日期转换失败"); }
} if (map1.containsKey(key)) {
} String value = map1.get(key).toString();
if (value.contains("@")) {
DynamicFormInstance dynamicFormInstance = new DynamicFormInstance(); String[] certificates = value.split("@");
BeanUtils.copyProperties(dynamicFormInstanceDto, dynamicFormInstance); dynamicFormInstanceDto.setFieldValue(certificates[1]);
dynamicFormInstancelist.add(dynamicFormInstance); dynamicFormInstanceDto.setFieldValueLabel(certificates[0]);
}); } else {
dynamicFormInstanceDto.setFieldValue(value);
orgUsrExcelDto.setDynamicFormValue(dynamicFormInstancelist); }
Bean.toPo(getCurrentInfo(), orgUsrExcelDto); }
// 保存动态表单和人员单位表 DynamicFormInstance dynamicFormInstance = new DynamicFormInstance();
if (!ObjectUtils.isEmpty(orgUsrExcelDto.getCertificatesNumber())) { BeanUtils.copyProperties(dynamicFormInstanceDto, dynamicFormInstance);
if (!set.add(orgUsrExcelDto.getCertificatesNumber())) { if ("gender".equals(dynamicFormInstance.getFieldCode())) {
throw new RuntimeException("身份证号码重复!");
} else { dynamicFormInstance.setFieldValueLabel("346".equals(String.valueOf(dynamicFormInstance.getFieldValue())) ? "男" : "女");
boolean b = orgUsrService.checkCertificatesNumber(orgUsrExcelDto.getCertificatesNumber(), null); }
if (b) { if ("positionType".equals(dynamicFormInstance.getFieldCode())) {
throw new RuntimeException("身份证号码重复!"); dynamicFormInstance.setFieldValueLabel(dataDictionaryService.getById(dynamicFormInstance.getFieldValue()).getName());
} }
} String fieldCode = dynamicFormInstance.getFieldCode();
} if (map1.containsKey(fieldCode) && fieldCode.contains("Code")) {
try { String[] split = map1.get(fieldCode).toString().split("@");
OrgUsrDto orgUsrDto = orgUsrService.saveOrgPersonExcel(orgUsrExcelDto); dynamicFormInstance.setFieldValue(split[0]);
if (!ObjectUtils.isEmpty(orgUsrDto)) { }
// 保存其余项 if ("certificatesTypeCode".equals(fieldCode)) {
orgUsrExcelDto.setOrgUsrId(orgUsrDto.getSequenceNbr().toString()); String[] split = map1.get(fieldCode).toString().split("@");
savePeopleItem(orgUsrExcelDto); dynamicFormInstance.setFieldValue(split[1]);
} dynamicFormInstance.setFieldValueLabel(split[0]);
} catch (Exception e) { }
throw new RuntimeException("导入失败!"); if (map1.containsKey(fieldCode.substring(0, fieldCode.length() - 4))) {
}
}); dynamicFormInstance.setFieldValueLabel(map1.get(fieldCode.substring(0, fieldCode.length() - 4)).toString());
} }
} dynamicFormInstancelist.add(dynamicFormInstance);
});
orgUsrExcelDto.setDynamicFormValue(dynamicFormInstancelist);
Bean.toPo(getCurrentInfo(), orgUsrExcelDto);
// 保存动态表单和人员单位表
String[] split55 = orgUsrExcelDto.getCertificatesTypeCode().toString().split("@");
if (!ObjectUtils.isEmpty(orgUsrExcelDto.getCertificatesNumber()) && split55[1].equals("120")) {
if (!set.add(orgUsrExcelDto.getCertificatesNumber())) {
throw new RuntimeException("身份证号码重复!");
} else {
boolean b = orgUsrService.checkCertificatesNumber(orgUsrExcelDto.getCertificatesNumber(), null);
if (b) {
throw new RuntimeException("身份证号码重复!");
}
}
}
//平台用户唯一效验
if (!ObjectUtils.isEmpty(orgUsrExcelDto.getAmosOrgId())) {
if (!set1.add(orgUsrExcelDto.getAmosOrgId())) {
throw new RuntimeException("关联用户" + orgUsrExcelDto.getAmosOrgCode() + "重复!");
} else {
int num = orgUsrMapper.amosIdExist(orgUsrExcelDto.getAmosOrgId(), null);
if (num > 0) {
throw new RuntimeException("关联用户" + orgUsrExcelDto.getAmosOrgCode() + "重复!");
}
}
}
try {
OrgUsrDto orgUsrDto = orgUsrService.saveOrgPersonExcel(orgUsrExcelDto);
if (!ObjectUtils.isEmpty(orgUsrDto)) {
// 保存其余项
orgUsrExcelDto.setOrgUsrId(orgUsrDto.getSequenceNbr().toString());
savePeopleItem(orgUsrExcelDto);
}
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("导入失败!");
}
});
}
}
private void savePeopleItem(OrgUsrExcelDto item) { private void savePeopleItem(OrgUsrExcelDto item) {
FirefightersContacts firefightersContacts = new FirefightersContacts(); FirefightersContacts firefightersContacts = new FirefightersContacts();
......
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