From ad8f321d123f7ccf6793e550dd1eff9fc48faa31 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期五, 15 十一月 2024 13:43:13 +0800 Subject: [PATCH] 辐射试验的文件上传csv文件有第二种样式,需要不同形式不同解析 --- inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 23 +- inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java | 30 +- inspect-server/pom.xml | 6 inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java | 379 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 411 insertions(+), 27 deletions(-) diff --git a/inspect-server/pom.xml b/inspect-server/pom.xml index e87287c..952844b 100644 --- a/inspect-server/pom.xml +++ b/inspect-server/pom.xml @@ -77,5 +77,11 @@ <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> </dependency> + + <dependency> + <groupId>com.opencsv</groupId> + <artifactId>opencsv</artifactId> + <version>5.5.2</version> + </dependency> </dependencies> </project> \ No newline at end of file diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java index b4c8a56..32fbe1b 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java @@ -327,7 +327,7 @@ if (!realpath.exists()) { realpath.mkdirs(); } - pathName = file.getOriginalFilename().replace("#","&"); + pathName = file.getOriginalFilename().replace("#", "&"); urlString = realpath + "/" + pathName; file.transferTo(new File(urlString)); insOrderFile.setFileUrl(pathName); @@ -354,7 +354,12 @@ String[] split = filename.split("\\."); if (ObjectUtils.isNotEmpty(sonLaboratory) && (sonLaboratory.equals("杩戝満") || sonLaboratory.equals("杩滃満")) && split[split.length - 1].equals("csv")) { - fuSheUtils.getFuSheWord(sonLaboratory, insOrderFile); + //鍒ゆ柇鏄摢绉峜sv鏂囦欢,鏄惁鏈夆�斺�� + if (!file.getOriginalFilename().contains("鈥斺��")) { + fuSheUtils.getFuSheWord1(sonLaboratory, insOrderFile); + } else { + fuSheUtils.getFuSheWord2(sonLaboratory, insOrderFile); + } } } catch (Exception e) { System.err.println("闄勪欢涓婁紶閿欒"); @@ -826,8 +831,8 @@ insProductResultMapper.delete(Wrappers.<InsProductResult>lambdaQuery() .eq(InsProductResult::getInsProductId, insProductResult.getInsProductId()) .eq(InsProductResult::getNum, insProductResult.getNum())); - insProductResult.setEquipValue("[{\"v\":\""+insProductResult.getEquipValue()+"\"}]"); - insProductResult.setEquipName("[{\"v\":\""+insProductResult.getEquipName()+"\"}]"); + insProductResult.setEquipValue("[{\"v\":\"" + insProductResult.getEquipValue() + "\"}]"); + insProductResult.setEquipName("[{\"v\":\"" + insProductResult.getEquipName() + "\"}]"); insProductResultMapper.insert(insProductResult); return 0; } @@ -1113,7 +1118,7 @@ info.setJumpPath("b1-inspect-order-plan"); informationNotificationService.addInformationNotification(info); // todo 浼佷笟寰俊娑堟伅鎺ㄩ�丂zss - /*HashMap<String, Object> map = new HashMap<>(); + HashMap<String, Object> map = new HashMap<>(); String account = userMapper.selectById(userId).getAccount(); map.put("touser", account);//鎺ユ敹娑堟伅鎴愬憳鐨勮处鍙�'ZT-031292'杩欑绫诲瀷(濡傛灉鏈夊涓敤'|'鍒嗛殧) map.put("toparty", "");//鎺ユ敹閮ㄩ棬id @@ -1126,7 +1131,7 @@ map.put("safe", 0);//鏄惁淇濆瘑娑堟伅.0鍚� map.put("enable_id_trans", 0);//鏄惁寮�鍚痠d杞瘧.0鍚� map.put("enable_duplicate_check", 0);//鏄惁寮�鍚噸澶嶆秷鎭鏌�.0鍚� - qywxApi.send(map);*/ + qywxApi.send(map); // } //澶嶆牳浜�--妫�楠屽崟鐩稿叧璐熻矗浜� InsSampleUser insSampleUser = new InsSampleUser(); @@ -1137,13 +1142,13 @@ insSampleUserMapper.insert(insSampleUser); /*鐢熸垚鐢佃矾璇曢獙鐨勭珯鐐规姤鍛婂苟涓婁紶鍒伴檮浠朵腑*/ if (submitPlanDto.getLaboratory().equals("鐢佃矾璇曢獙")) { - wordUtils.generateWord(submitPlanDto.getTerm(), orderState); + //wordUtils.generateWord(submitPlanDto.getTerm(), orderState); //todo 鐢佃矾绔欑偣鎶ュ憡 姝e紡搴撻儴缃叉斁寮� - /*try { + try { wordUtils.generateWord(submitPlanDto.getTerm(), orderState); } catch (Exception e) { throw new ErrorException("鐢佃矾璇曢獙鐨勭珯鐐规姤鍛婄敓鎴愭湁璇�,璇疯仈绯诲紑鍙戜汉鍛樿皟鏁�!"); - }*/ + } } /*// 鍒犻櫎鏁伴噰閲囬泦娆℃暟 String key = "frequency" + ":" + submitPlanDto.getEntrustCode() + ":*"; diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java index ea5a8f4..c8f9b42 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java @@ -287,6 +287,21 @@ } } } + //todo 鏍规嵁璁㈠崟绫诲瀷鍒ゆ柇鏄惁闇�瑕佹帹閫佷紒涓氬井淇� @zss + if (!insOrder.getFormType().equals("鍏朵粬鎴愬搧")) { + String account = userMapper.selectById(insOrder.getIssueUser()).getAccount(); + HashMap<String, Object> map = new HashMap<>(); + map.put("touser", account);//鎺ユ敹娑堟伅鎴愬憳鐨勮处鍙�'ZT-031292'杩欑绫诲瀷(濡傛灉鏈夊涓敤'|'鍒嗛殧) + map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰 + map.put("agentid", 1000517);//搴旂敤id + HashMap<String, Object> hashMap = new HashMap<>(); + hashMap.put("content", "鎮ㄦ湁涓�鏉¤鍗曢渶瑕佸畬鎴�,璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傝鍗曞彿鏄細"+insOrder.getEntrustCode()+",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>"); + map.put("text", hashMap);//娑堟伅鍐呭 + map.put("safe", 0);//鏄惁淇濆瘑娑堟伅.0鍚� + map.put("enable_id_trans", 0);//鏄惁寮�鍚痠d杞瘧.0鍚� + map.put("enable_duplicate_check", 0);//鏄惁寮�鍚噸澶嶆秷鎭鏌�.0鍚� + qywxApi.send(map); + } return insOrder.getId(); } @@ -329,21 +344,6 @@ //瀹℃牳閫氳繃鎵嶄細鐢熸垚濮旀墭缂栧彿 insOrder.setEntrustCode(giveCode.giveCode2("WT-", "ins_order", "-", "yyMMdd")); insOrder.setSendTime(LocalDateTime.now()); - //todo 鏍规嵁璁㈠崟绫诲瀷鍒ゆ柇鏄惁闇�瑕佹帹閫佷紒涓氬井淇� @zss - /* if (!order.getFormType().equals("鍏朵粬鎴愬搧")) { - String account = userMapper.selectById(order.getIssueUser()).getAccount(); - HashMap<String, Object> map = new HashMap<>(); - map.put("touser", account);//鎺ユ敹娑堟伅鎴愬憳鐨勮处鍙�'ZT-031292'杩欑绫诲瀷(濡傛灉鏈夊涓敤'|'鍒嗛殧) - map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰 - map.put("agentid", 1000517);//搴旂敤id - HashMap<String, Object> hashMap = new HashMap<>(); - hashMap.put("content", "鎮ㄦ湁涓�鏉¤鍗曢渶瑕佸畬鎴�,璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傝鍗曞彿鏄細"+order.getEntrustCode()+",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>"); - map.put("text", hashMap);//娑堟伅鍐呭 - map.put("safe", 0);//鏄惁淇濆瘑娑堟伅.0鍚� - map.put("enable_id_trans", 0);//鏄惁寮�鍚痠d杞瘧.0鍚� - map.put("enable_duplicate_check", 0);//鏄惁寮�鍚噸澶嶆秷鎭鏌�.0鍚� - qywxApi.send(map); - }*/ } return insOrderMapper.updateById(insOrder); } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java b/inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java index 4ac1c70..6249c85 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java @@ -6,6 +6,7 @@ import com.deepoove.poi.data.*; import com.deepoove.poi.data.style.*; import com.deepoove.poi.util.TableTools; +import com.opencsv.CSVReader; import com.yuanchu.mom.dto.Exceldata; import com.yuanchu.mom.exception.ErrorException; import com.yuanchu.mom.mapper.InsOrderFileMapper; @@ -45,7 +46,7 @@ @Resource InsOrderMapper insOrderMapper; - public void getFuSheWord(String sonLaboratory, InsOrderFile insOrderFile) { + public void getFuSheWord1(String sonLaboratory, InsOrderFile insOrderFile) { //璇诲彇excel鏂囦欢鍐呭 String excelFilePath = wordUrl + "/" + insOrderFile.getFileUrl(); // 鏇存柊涓轰綘鐨勬枃浠惰矾寰� FileInputStream fileInputStream = null; @@ -86,7 +87,8 @@ default: System.out.print("NULL\t"); } - } else { + } + else { switch (cell.getCellType()) { case STRING: if (StringUtils.isNotEmpty(s)) { @@ -126,7 +128,6 @@ exceldata.setProject(project); exceldata.setDataRow(datas1); System.out.println(exceldata); - HashMap<String, Object> map = new HashMap<>(); for (String s : datas1.keySet()) { Map<String, List<HashMap<String, Object>>> numbers = (Map<String, List<HashMap<String, Object>>>) datas1.get(s); @@ -186,6 +187,149 @@ e.printStackTrace(); } } + } + + public void getFuSheWord2(String sonLaboratory, InsOrderFile insOrderFile) { + //璇诲彇excel鏂囦欢鍐呭 + String excelFilePath = wordUrl + "/" + insOrderFile.getFileUrl(); // 鏇存柊涓轰綘鐨勬枃浠惰矾寰� + String fileEncoding = "GBK"; // 鎴栧叾浠栫紪鐮佹牸寮忥紝濡侴BK, ISO-8859-1 绛� + Exceldata exceldata = new Exceldata(); + HashMap<Integer, Object> project = new HashMap<>(); + HashMap<String, Object> biaozhun = new HashMap<>(); + HashMap<String, Object> pingjunzhi = new HashMap<>(); + HashMap<String, Object> datas1 = new HashMap<>(); + HashMap<String, Object> map2 = new HashMap<>(); + List<Map<String, Object>> list = new ArrayList<>(); + XWPFDocument document = new XWPFDocument(); + String jiaodu=""; + String port=""; + try (CSVReader reader = new CSVReader(new InputStreamReader(new FileInputStream(excelFilePath), fileEncoding))) { + List<String[]> records = reader.readAll(); + for (int i = 0; i < records.size(); i++) { + HashMap<String, Object> map1 = new HashMap<>(); + HashMap<String, Object> pingjun = new HashMap<>(); + String[] record = records.get(i); + + for (int i1 = 0; i1 < record.length; i1++) { + String value = record[i1]; + if (i == 0) { + project.put(i1,value); + } + if (i == 1) { + biaozhun.put(project.get(i1).toString(),value); + } + if (i>2) { + if (i1==0&&StringUtils.isNotEmpty(value)) { + + if (map2.size() != 0) { + map2.put(port, list); + datas1.put(jiaodu, map2); + map2 = new HashMap<>(); + } + datas1.put(value, ""); + jiaodu=value; + } else if (i1 == 1 && StringUtils.isNotEmpty(value)) { + if (list.size() != 0) { + map2.put(port, list); + list = new ArrayList<>(); + } + map2.put(value, ""); + port=value; + } else if (StringUtils.isNotEmpty(value)) { + if (value.equals("鏈�澶у��")||value.equals("鏈�灏忓��")||value.equals("鎸囨爣")||value.equals("绫诲埆")) { + break; + } else if (value.equals("骞冲潎鍊�")) { + for (int i2 = 0; i2 < record.length; i2++) { + String value1 = record[i2]; + if (value1.equals("骞冲潎鍊�")) { + continue; + } + pingjun.put(project.get(i2).toString(),value1); + } + break; + } + map1.put(project.get(i1).toString(),value); + } + } + System.out.print(value + " "); + } + if (map1.size()!=0) { + list.add(map1); + } + if (pingjun.size()!=0) { + pingjunzhi.put(jiaodu,pingjun); + } + if (i==records.size()-1) { + map2.put(port,list); + datas1.put(jiaodu,map2); + } + System.out.println(); + } + System.out.println("-----------------"); + } catch (Exception e) { + e.printStackTrace(); + } + exceldata.setProject(project); + exceldata.setDataRow(datas1); + System.out.println(exceldata); + + + HashMap<String, Object> map = new HashMap<>(); + for (String s : datas1.keySet()) { + Map<String, List<HashMap<String,Object>>> numbers = (Map<String, List<HashMap<String,Object>>>) datas1.get(s); + for (String s1 : numbers.keySet()) { + List<HashMap<String, Object>> hashMaps = numbers.get(s1); + + List<Integer> floatList = new ArrayList<>(); + for (Map<String, Object> number : hashMaps) { + number.put("绔彛", s1); + floatList.add( Integer.parseInt((String) number.get("娴嬭瘯棰戠巼(MHZ)"))); + } + Integer maxValue = Collections.max(floatList); + Integer minValue = Collections.min(floatList); + + if (map.get(minValue + "-" + maxValue+"-"+s) == null) { + map.put(minValue + "-" + maxValue+"-"+s, s1); + } else { + Object o = map.get(minValue + "-" + maxValue+"-"+s); + map.put(minValue + "-" + maxValue+"-"+s, s1 + "," + o); + } + } + + } + System.out.println(map); + + int size = map.size(); + for (String s1 : map.keySet()) { + String o = map.get(s1).toString(); + + List<String> collect = Arrays.stream(o.split(",")).collect(Collectors.toList()); + int size1 = -1; + + for (String s : datas1.keySet()) { + Map<String, List<HashMap<String,Object>>> o1 = (Map<String, List<HashMap<String,Object>>>)datas1.get(s); + for (String s3 : o1.keySet()) { + List<HashMap<String, Object>> numbers = o1.get(s3); + for (String s2 : collect) { + if (s3.equals(s2)) { + if (numbers.size() > size1) { + size1 = numbers.size(); + } + } + } + map.put(s1, o + "," + size1); + } + } + + } + System.out.println(map); + + try { + createWord2(sonLaboratory,document,exceldata, map,pingjunzhi,biaozhun,insOrderFile); + } catch (IOException e) { + e.printStackTrace(); + } + } @@ -401,6 +545,235 @@ } } + public void createWord2(String sonLaboratory,XWPFDocument document,Exceldata exceldata, HashMap<String, Object> map,HashMap<String,Object> pj,HashMap<String,Object> bz,InsOrderFile insOrderFile) throws IOException { + int size = 1; + for (String s : map.keySet()) { + Map<String, Object> dataRow = exceldata.getDataRow(); + String result = s.substring(s.lastIndexOf("-") + 1); + String result1 = s.substring(0,s.lastIndexOf("-")); + String o = map.get(s).toString(); + String[] split = o.split(","); + Integer s1 = Integer.parseInt(split[split.length - 1]); + Integer i1 = split.length - 1; + int row = 3 + s1; + int cell = 6 + i1; + HashMap<String,Object> o2 =(HashMap<String,Object>) pj.get(result); + + XWPFTable table1 = document.createTable(2, cell); + + mergeCellsHorizontally(table1, 1, 0, cell - 1); + mergeCellsHorizontally(table1, 0, 4, cell - 2); + + XWPFParagraph paragraph12 = table1.getRow(0).getCell(0).getParagraphArray(0); + XWPFRun run12 = paragraph12.createRun(); + run12.setText("搴忓彿"); + + XWPFParagraph paragraph13 = table1.getRow(0).getCell(1).getParagraphArray(0); + XWPFRun run13 = paragraph13.createRun(); + run13.setText("妫�楠岄」鐩�"); + + XWPFParagraph paragraph14 = table1.getRow(0).getCell(2).getParagraphArray(0); + XWPFRun run14 = paragraph14.createRun(); + run14.setText("鍗曚綅"); + + XWPFParagraph paragraph15 = table1.getRow(0).getCell(3).getParagraphArray(0); + XWPFRun run15 = paragraph15.createRun(); + run15.setText("鏍囧噯瑕佹眰"); + + XWPFParagraph paragraph16 = table1.getRow(0).getCell(cell-1).getParagraphArray(0); + XWPFRun run16 = paragraph16.createRun(); + run16.setText("妫�楠岀粨璁�"); + + XWPFParagraph paragraph17 = table1.getRow(0).getCell(4).getParagraphArray(0); + XWPFRun run17 = paragraph17.createRun(); + run17.setText("妫�楠岀粨鏋�"); + + XWPFParagraph paragraph18 = table1.getRow(1).getCell(0).getParagraphArray(0); + XWPFRun run18 = paragraph18.createRun(); + run18.setText("棰戞锛� "+result1+"MHz "+"涓嬪�捐"+result); + + + + List<String> collect = Arrays.stream(split).collect(Collectors.toList()); + + int size1 = 0; + + List<Map<String, Object>> list = new ArrayList<>(); + + + // 瀵规墍鏈夌殑閿仛鍚� + Map<String, List<Map<String, Object>>> aggregatedMap = new HashMap<>(); + + Map<String, List<Map<String, Object>>> o1 = (Map<String, List<Map<String, Object>>>) dataRow.get(result); + for (String s2 : collect) { + if (s2.contains("绔彛")||s2.contains("P")) { + List<Map<String, Object>> mapList = o1.get(s2); + list.addAll(mapList); + } + } + + // 閬嶅巻姣忎竴涓」鐩� + for (Map<String, Object> item : list) { + for (String key : item.keySet()) { + // 濡傛灉璇ラ敭鍦� aggregatedMap 涓笉瀛樺湪锛屽垯鍒涘缓涓�涓柊鐨� List + aggregatedMap.putIfAbsent(key, new ArrayList<>()); + // 灏嗗綋鍓嶉」鐩坊鍔犲埌瀵瑰簲閿殑 List 涓� + aggregatedMap.get(key).add(item); + } + } + + + for (String s2 : aggregatedMap.keySet()) { + if (s2.equals("绔彛")||s2.equals("娴嬭瘯棰戠巼(MHZ)")) { + continue; + } + List<Map<String, Object>> mapList = aggregatedMap.get(s2); + // 鍒涘缓涓�涓〃鏍� + + XWPFTable table = document.createTable(row, cell); + table.setWidth("100%"); + + + + + + /* // 鍚堝苟鍗曞厓鏍� + mergeCellsHorizontally(table, 0, 0, 7);*/ + + + //鍨傜洿 + mergeCellsVertically(table, 0, 0, row - 1); + mergeCellsVertically(table, 1, 0, row - 1); + mergeCellsVertically(table, 2, 0, row - 1); + mergeCellsVertically(table, 3, 0, row - 1); + mergeCellsVertically(table, 4, 0, 1); + mergeCellsVertically(table, cell - 1, 0, 1); + mergeCellsVertically(table, cell - 1, 2, row - 2); + //姘村钩 + mergeCellsHorizontally(table, 0, 5, cell - 2); + mergeCellsHorizontally(table, row - 1, 5, cell - 2); + + // 璁剧疆鍗曞厓鏍兼枃鏈苟灞呬腑 + XWPFParagraph paragraph = table.getRow(0).getCell(0).getParagraphArray(0); + XWPFRun run = paragraph.createRun(); + run.setText(String.valueOf(size)); + + + XWPFParagraph paragraph1 = table.getRow(0).getCell(1).getParagraphArray(0); + XWPFRun run1 = paragraph1.createRun(); + run1.setText(s2); + + // 璋冪敤鏂规硶鎻愬彇绗竴涓嫭鍙峰唴鐨勫唴瀹� + String firstContent = extractFirstContentFromBrackets(s2); + if (firstContent != null) { + XWPFParagraph paragraph2 = table.getRow(0).getCell(2).getParagraphArray(0); + XWPFRun run2 = paragraph2.createRun(); + run2.setText(firstContent); + } else { + System.out.println("娌℃湁鎵惧埌鎷彿鍐呯殑鍐呭銆�"); + } + + + + XWPFParagraph paragraph3 = table.getRow(0).getCell(3).getParagraphArray(0); + XWPFRun run3 = paragraph3.createRun(); + run3.setText(bz.get(s2).toString()); + + XWPFParagraph paragraph4 = table.getRow(0).getCell(4).getParagraphArray(0); + XWPFRun run4 = paragraph4.createRun(); + run4.setText("棰戠巼锛圡Hz锛�"); + + XWPFParagraph paragraph5 = table.getRow(0).getCell(5).getParagraphArray(0); + XWPFRun run5 = paragraph5.createRun(); + run5.setText("绔彛"); + + XWPFParagraph paragraph6 = table.getRow(0).getCell(cell - 1).getParagraphArray(0); + XWPFRun run6 = paragraph6.createRun(); + run6.setText("/"); + + XWPFParagraph paragraph7 = table.getRow(1).getCell(cell - 1).getParagraphArray(0); + XWPFRun run7 = paragraph7.createRun(); + run7.setText("鍚堟牸"); + + + XWPFParagraph paragraph8 = table.getRow(row - 1).getCell(4).getParagraphArray(0); + XWPFRun run8 = paragraph8.createRun(); + run8.setText("骞冲潎鍊�"); + + XWPFParagraph paragraph9 = table.getRow(row - 1).getCell(cell - 1).getParagraphArray(0); + XWPFRun run9 = paragraph9.createRun(); + run9.setText("/"); + + for (int i = 0; i < collect.size(); i++) { + String s3 = collect.get(i); + if (s3.contains("绔彛")||s3.contains("P")) { + XWPFParagraph paragraph10 = table.getRow(1).getCell(5 + i).getParagraphArray(0); + XWPFRun run10 = paragraph10.createRun(); + run10.setText(s3); + } + } + + Map<Integer, List<Map<String, Object>>> group = mapList.stream() + .collect(Collectors.groupingBy(item -> Integer.parseInt(item.get("娴嬭瘯棰戠巼(MHZ)").toString()) )); + + + int hang = 2; + Double count = 0.0; + for (Integer aDouble : group.keySet()) { + List<Map<String, Object>> mapList1 = group.get(aDouble); + for (Map<String, Object> stringObjectMap : mapList1) { + String port = stringObjectMap.get("绔彛").toString(); + for (int i = 5; i < cell - 1; i++) { + String text = table.getRow(1).getCell(i).getText(); + if (text.equals(port)) { + XWPFParagraph paragraph10 = table.getRow(hang).getCell(i).getParagraphArray(0); + XWPFRun run10 = paragraph10.createRun(); + count=Double.parseDouble(stringObjectMap.get(s2).toString())+count; + String project = stringObjectMap.get(s2).toString(); + run10.setText(project); + } + } + } + XWPFParagraph paragraph10 = table.getRow(hang).getCell(4).getParagraphArray(0); + XWPFRun run10 = paragraph10.createRun(); + run10.setText(String.valueOf(aDouble)); + + + hang++; + } + + XWPFParagraph paragraph11 = table.getRow(row-1).getCell(5).getParagraphArray(0); + XWPFRun run11 = paragraph11.createRun(); + double v = count / (Double.parseDouble(s1.toString()) * Double.parseDouble(i1.toString())); + run11.setText(o2.get(s2).toString()); + + size++; + } + } + + + // 杈撳嚭鍒版枃浠� + try { + InsOrder insOrder = insOrderMapper.selectById(insOrderFile.getInsOrderId()); + String[] split = insOrderFile.getFileName().split("\\."); + String name = insOrderFile.getFileName().replace("#","&").substring(0, (insOrderFile.getFileName().length() - split[split.length - 1].length())); + FileOutputStream out = new FileOutputStream(wordUrl + "/" + insOrder.getEntrustCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx"); + document.write(out); + out.close(); + document.close(); + InsOrderFile orderFile = new InsOrderFile(); + orderFile.setInsOrderId(insOrderFile.getInsOrderId()); + orderFile.setFileUrl(insOrder.getEntrustCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx"); + orderFile.setType(2); + orderFile.setFileName(insOrder.getEntrustCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx"); + orderFile.setSonLaboratory(sonLaboratory); + insOrderFileMapper.insert(orderFile); + } catch (IOException e) { + e.printStackTrace(); + } + + } + // 姘村钩鍚堝苟鍗曞厓鏍� private static void mergeCellsHorizontally(XWPFTable table, int row, int fromCol, int toCol) { -- Gitblit v1.9.3