From 842363b7f6aeac9ebb5f5d5b3272f29163b6317d Mon Sep 17 00:00:00 2001 From: value <z1292839451@163.com> Date: 星期三, 12 六月 2024 21:09:29 +0800 Subject: [PATCH] 报告修复 --- cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java | 69 ++++++++++++++++++---------------- 1 files changed, 37 insertions(+), 32 deletions(-) diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java index 2b08ce6..fe1dd1b 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java @@ -3,7 +3,6 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.poi.excel.ExcelUtil; import com.alibaba.excel.util.StringUtils; -import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.annotation.ValueAuth; @@ -24,8 +23,11 @@ import java.io.InputStream; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import java.util.Map; +import java.util.concurrent.atomic.AtomicReference; /** * 妫�楠岄」鐩弬鏁�(StructureItemParameter)琛ㄦ帶鍒跺眰 @@ -167,7 +169,12 @@ @Transactional public Result importData(@RequestParam("file") MultipartFile file) throws Exception { InputStream inputStream = file.getInputStream(); + List<StructureItemParameter> lists = new ArrayList<>(); + AtomicReference<String> sample = new AtomicReference<>(); ExcelUtil.readBySax(inputStream, 0, (i, l, list1) -> { + if(i == 0 && l == 1){ + sample.set(list1.get(1)+""); + } if (i == 0 && l >= 1) { StructureItemParameter str = new StructureItemParameter(); if (list1.get(1) == null) { @@ -195,13 +202,18 @@ str.setSample(builder.toString()); } str.setInspectionItem(list1.get(4).toString()); - + str.setInspectionItemEn(list1.get(5).toString()); if (list1.get(6) == null) { str.setInspectionItemSubclass(null); } else { str.setInspectionItemSubclass(list1.get(6).toString()); } - StructureItemParameter db_str = null; + if (list1.get(7) == null) { + str.setInspectionItemSubclassEn(null); + } else { + str.setInspectionItemSubclassEn(String.valueOf(list1.get(7).toString())); + } + StructureItemParameter db_str; if (StringUtils.isEmpty(str.getInspectionItemSubclass())){ // 姣旇緝涓や釜鏉′欢 db_str = structureItemParameterService.getOne(Wrappers.lambdaQuery(StructureItemParameter.class) @@ -215,14 +227,9 @@ .eq(StructureItemParameter::getInspectionItemSubclass,str.getInspectionItemSubclass()) ); } - str.setInspectionItemEn(list1.get(5).toString()); - - if (list1.get(7) == null) { - str.setInspectionItemSubclassEn(null); - } else { - str.setInspectionItemSubclassEn(String.valueOf(list1.get(7).toString())); + if (ObjectUtils.isNotEmpty(db_str)){ + str.setId(db_str.getId()); } - if (list1.get(8) == null) { str.setMethod(null); } else { @@ -231,7 +238,7 @@ buffer.append("["); String[] values = input.split("銆�"); for (String value : values) { - buffer.append("[\"").append(value.trim()).append("\"],"); + buffer.append("\"").append(value.trim()).append("\","); } buffer.deleteCharAt(buffer.length() - 1); buffer.append("]"); @@ -239,9 +246,9 @@ } if (list1.get(9) == null) { - str.setLaboratory(null); + str.setSonLaboratory(null); } else { - str.setLaboratory(list1.get(9).toString()); + str.setSonLaboratory(list1.get(9).toString()); } if (list1.get(10) == null) { str.setUnit(null); @@ -284,7 +291,7 @@ } else { str.setManDay(Integer.valueOf(list1.get(16).toString())); } - String jy = "0"; + String jy; if (list1.get(17).toString().equals("闈為噰闆嗙被鍨�")) { jy = "0"; } else { @@ -298,37 +305,35 @@ .eq(Enums::getLabel, validateValueType)); str.setInspectionValueType(enums.getValue()); } - int bsm = 0; + int bsm; if (list1.get(19).toString().equals("鍚�")) { bsm = 0; } else { bsm = 1; } str.setBsm(bsm + ""); - StandardTemplate standTempIdByName = standardTemplateService.getStandTempIdByName(String.valueOf(list1.get(20))); + if (list1.get(20) != null) { + str.setDic(list1.get(20) + ""); + } else { + str.setDic(null); + } + StandardTemplate standTempIdByName = standardTemplateService.getStandTempIdByName(String.valueOf(list1.get(21))); if (standTempIdByName != null) { str.setTemplateId(standTempIdByName.getId()); } else { str.setTemplateId(null); } - str.setSonLaboratory(list1.get(21).toString()); - structureItemParameterService.removeNoSample(JSON.toJSONString(list1.get(1))); - System.out.println(JSON.toJSONString(list1.get(1))); - // 濡傛灉鏁版嵁搴撻噷闈㈢殑鏁版嵁瀛樺湪閭d箞灏辨墽琛屾洿鏂版嫹璐濇搷浣� - try { - if (ObjectUtils.isNotEmpty(db_str)){ - str.setId(db_str.getId()); - // 灏� str 杩涜鏇存柊 - structureItemParameterService.updateById(str); - }else{ - structureItemParameterService.save(str); - } - } catch (Exception e) { - e.printStackTrace(); - throw new RuntimeException("鏈嶅姟绔姤閿欏暒!!!"); - } + lists.add(str); } }); + structureItemParameterService.removeNoSample(sample.get()); + // 濡傛灉鏁版嵁搴撻噷闈㈢殑鏁版嵁瀛樺湪閭d箞灏辨墽琛屾洿鏂版嫹璐濇搷浣� + try { + structureItemParameterService.saveBatch(lists); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("鏈嶅姟绔姤閿欏暒!!!"); + } return Result.success(); } } \ No newline at end of file -- Gitblit v1.9.3