inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
@@ -225,10 +225,24 @@ } @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "æ«ç æ¥æ£") @ApiOperation(value = "æ«ç æ¥æ£(å ¥åº)") @PostMapping("/scanInsOrderState") public Result scanInsOrderState(String sonLaboratory,String sampleCode) { return Result.success(insOrderPlanService.scanInsOrderState(sonLaboratory,sampleCode)); public Result scanInsOrderState(String sonLaboratory,String sampleCode,String trees) { return Result.success(insOrderPlanService.scanInsOrderState(sonLaboratory,sampleCode,trees)); } @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "æ«ç åºåº") @PostMapping("/outInsOrderState") public Result outInsOrderState(String sonLaboratory,String sampleCode) { return Result.success(insOrderPlanService.outInsOrderState(sonLaboratory,sampleCode)); } @ValueAuth @PostMapping("/preview") @ApiOperation("é¢è§æä»¶") public Result<?> preview(Integer id)throws Exception { return Result.success(insOrderPlanService.preview(id)); } } inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java
@@ -249,5 +249,8 @@ @ApiModelProperty("ä¸å对象(é¤äºå ¶ä»æåå¤è¿ä¸ªåæ®µå¿ é,ç¨äºä¼ä¸å¾®ä¿¡æ¨é)") private Integer issueUser; @ApiModelProperty("é¶ä»¶å·(å ¶ä»æåè¿ä¸ªå段éè¦å¡«åçä¿¡æ¯)") private String partNo; } inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult2.java
@@ -74,7 +74,7 @@ @ApiModelProperty("å¼") private String value; @ApiModelProperty("ç»è®º 0ä¸åæ ¼ 1åæ ¼") @ApiModelProperty("ç»è®º 0ä¸åæ ¼ 1åæ ¼ 3ä¸å¤å®") private Integer result; /** inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
@@ -51,8 +51,14 @@ int deleteInsContext(InsProductResultVo insProductResultVo); //æ«ç æ¥æ£ int scanInsOrderState(String sonLaboratory, String sampleCode); //æ«ç æ¥æ£(å ¥åº) int scanInsOrderState(String sonLaboratory, String sampleCode,String trees); //æ«ç åºåº int outInsOrderState(String sonLaboratory, String sampleCode); List<InsOrderUser> getInsOrderUserList(Integer insOrderStateId); //é¢è§æä»¶ Object preview(Integer id) throws Exception; } inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -37,6 +37,7 @@ import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xwpf.usermodel.*; import org.springframework.beans.factory.annotation.Value; @@ -95,11 +96,17 @@ @Resource private WarehouseHistoryMapper warehouseHistoryMapper; @Resource private WarehouseService warehouseService; @Value("${wordUrl}") private String wordUrl; @Value("${twoCode}") private String twoCode; @Resource WordUtils wordUtils; @Resource private InsReportMapper insReportMapper; @@ -142,13 +149,9 @@ Map<String, Object> map = new HashMap<>(); map.put("head", PrintChina.printChina(InsOrderPlanVO.class)); Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null); User user = userMapper.selectById(map1.get("userId"));//å½åç»å½ç人 String laboratory = null; String userName = null; Integer userId = null; if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId())) { userId = map1.get("userId"); userName = userMapper.selectById(map1.get("userId")).getName(); insOrderPlanDTO.setUserId(null); } @@ -340,7 +343,10 @@ //æ«ç æ¥æ£ @Override public int scanInsOrderState(String sonLaboratory, String sampleCode) { public int scanInsOrderState(String sonLaboratory, String sampleCode, String trees) { /*æ ·åå ¥åº*/ warehouseService.inWarehouse(trees, sampleCode); /*æ°å¢æ£éªä»»å¡*/ //å å¤æè¯¥è®¢åæ¯å¦æè¿ä¸ªç«ç¹çé¡¹ç® InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getSampleCode, sampleCode)); List<Integer> sampleIds = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery() @@ -367,9 +373,9 @@ orderState.setInsState(0); orderState.setNum(orderState.getNum() + 1);//éå¢ insOrderStateMapper.updateById(orderState); } else { } /*else { throw new ErrorException("该订åç«ç¹çä»»å¡å·²å建,æ æ³å次å建!"); } }*/ } else { InsOrderState insOrderState = new InsOrderState(); insOrderState.setInsOrderId(insSample.getInsOrderId()); @@ -381,9 +387,90 @@ return 1; } //æ«ç åºåº @Override public int outInsOrderState(String sonLaboratory, String sampleCode) { //å¤æè¯¥æ ·åçæ£éªä»»å¡æ¯å¦å·²ç»ç»æ(ç»§ç»è¯éªæè æ¯ç»æè¯éª) //å å¤æè¯¥è®¢åæ¯å¦æè¿ä¸ªç«ç¹çé¡¹ç® InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getSampleCode, sampleCode)); List<Integer> sampleIds = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery() .eq(InsSample::getInsOrderId, insSample.getInsOrderId())).stream().map(InsSample::getId).collect(Collectors.toList()); List<String> collect = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() .eq(InsProduct::getState, 1) .in(InsProduct::getInsSampleId, sampleIds)).stream().map(InsProduct::getSonLaboratory).collect(Collectors.toList()); if (!collect.contains(sonLaboratory)) { throw new ErrorException("è¯¥è®¢åæ²¡æ" + sonLaboratory + "ç«ç¹çç¸å ³é¡¹ç®,请æ¥çä¸å详æ !"); } //å¤æè¯¥è®¢åæ¯å¦ç«ç¹ä»»å¡æ(ç»§ç»è¯éªæè æ¯ç»æè¯éª) List<InsOrderState> orderStates = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery() .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) .and(wrapper -> wrapper .eq(InsOrderState::getInsState, 5) .or() .eq(InsOrderState::getInsState, 6) )); if (CollectionUtils.isEmpty(orderStates)) { throw new ErrorException("è¯¥æ ·åçæ£éªä»»å¡è¿æ²¡æç»æè¯éª,ææ¶æ æ³åºåº!"); } warehouseService.outWarehouse(sampleCode); return 0; } @Override public List<InsOrderUser> getInsOrderUserList(Integer insOrderStateId) { return insOrderUserMapper.getInsOrderUserList(insOrderStateId); } private static final String splitIdentifier = "@-@"; // èªå®ä¹å¯ä¸æ è¯åå²ç¬¦ //é¢è§æä»¶ @Override public Object preview(Integer id) throws Exception { InsOrderFile insOrderFile = insOrderFileMapper.selectById(id); File file = new File(wordUrl + "/" + insOrderFile.getFileUrl()); StringBuilder stringBuilder = new StringBuilder(); // å建 reader try (BufferedReader br = Files.newBufferedReader(file.toPath())) { // CSVæä»¶çåé符 String DELIMITER = ","; // æè¡è¯»å String line; while ((line = br.readLine()) != null) { // åå² String[] columns = line.split(DELIMITER); // æå°è¡ stringBuilder.append(String.join(splitIdentifier, columns)).append("\n"); } } catch (Exception ex) { List<Object> list = new ArrayList<>(); //å建工ä½ç°¿å¯¹è±¡ XSSFWorkbook xssfWorkbook = new XSSFWorkbook(new FileInputStream(file)); //è·åå·¥ä½ç°¿ä¸sheetçä¸ªæ° åªè¯»å第ä¸ä¸ªsheet int sheetNum = xssfWorkbook.getNumberOfSheets(); //éåå·¥ä½ç°¿ä¸çæææ°æ® for (int i = 0; i < sheetNum; i++) { Map<String, Object> map = new HashMap<>(); StringBuilder result = new StringBuilder(); XSSFSheet sheet = xssfWorkbook.getSheetAt(i); //è·åæåä¸è¡çnumï¼å³æ»è¡æ°ãæ¤å¤ä»0å¼å§ int maxRow = sheet.getLastRowNum(); for (int row = 0; row <= maxRow; row++) { //è·åæååå æ ¼numï¼å³æ»åå æ ¼æ° ***注æï¼æ¤å¤ä»1å¼å§è®¡æ°*** int maxRol = sheet.getRow(row).getLastCellNum(); StringBuilder aLine = new StringBuilder(); for (int rol = 0; rol < maxRol; rol++) { aLine.append(sheet.getRow(row).getCell(rol)).append(","); } String substring = aLine.substring(0, aLine.length() - 1); result.append(substring).append("\n"); } map.put("sheetName", sheet.getSheetName()); map.put("content", result.toString()); list.add(map); } return list; } return stringBuilder.toString(); } @@ -662,6 +749,9 @@ int ressult = 1; String valueStr = insProductResult2.getValue(); if (!insProduct.getAsk().contains(",")) { if (insProduct.getAsk().equals("/")) { ressult = 3; //ä¸å¤å® } if (!isValueValid(valueStr, new String[]{insProduct.getAsk()})) { ressult = 0; //ä¸åæ ¼ } @@ -673,7 +763,6 @@ String[] askSplit = s.split("°"); String angleKey = askSplit[0]; String angleValue = askSplit[1]; for (int i = 0; i < angles.length; i++) { if (angles[i].split("°")[0].equals(angleKey)) { try { @@ -692,7 +781,6 @@ } finally { continue; } } } } @@ -918,8 +1006,7 @@ .set(InsOrderUser::getTell, tell)); switch (type) { case 0: /*忬¡è¯éª:该ååéåå°æ£éªç¶æ(æåºæ¹æå½åçæå),次æ°éå¢(ä¿ç以åçæ°æ®)ï¼*/ //æ´æ°åæ¥çæ£éªä»»å¡ //忬¡è¯éª:该ååéåå°æ£éªç¶æ(æåºæ¹æå½åçæå),次æ°éå¢(ä¿ç以åçæ°æ®)ï¼ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() .eq(InsOrderState::getId, record.getId()) .set(InsOrderState::getInsTime, now) @@ -930,7 +1017,7 @@ .set(InsOrderState::getCreateTime, LocalDateTime.now())); break; case 1: //ç»§ç»è¯éª:åç»§ç»å°æ£éªä»»å¡è½¬æ¥è³ä¸ä¸ç«ç¹ï¼ //ç»§ç»è¯éª:该ç«ç¹ä»»å¡ç»æ(å¯ä»¥å次æ«ç æ£éª)ï¼ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() .eq(InsOrderState::getInsOrderId, orderId) .eq(InsOrderState::getLaboratory, laboratory) @@ -940,7 +1027,7 @@ .set(InsOrderState::getVerifyUser, userId)); break; case 2: //ç»æè¯éª:æ¤å§æå忢è¯éªï¼ç´æ¥çææç»æ¥ååè´¹ç¨ç»è®¡ã //ç»æè¯éª:æ¤å§æå忢è¯éª(æ æ³å次æ£éª)ã insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() .eq(InsOrderState::getInsOrderId, orderId) .eq(InsOrderState::getLaboratory, laboratory) @@ -957,52 +1044,7 @@ break; } } /*夿 ¸å®æä¹åçæä»èªå·±çç«ç¹æ¥å(ä» éè¾å°è¯éªæ£æµ(è¿åº,è¿åº)åçµè·¯è¯éª)*/ /*switch (laboratory) { case "è¿åº": uploadFile(orderId, null); break; case "è¿åº": uploadFile(orderId, null); break; case "çµè·¯è¯éª": uploadFile(orderId, generateExcelFile(orderId,laboratory)); break; default: break; }*/ return 1; } //çæçµè·¯è¯éªçexcelæä»¶ private MultipartFile generateExcelFile(Integer orderId, String laboratory) throws IOException { // å建ä¸ä¸ªWorkbook对象 Workbook workbook = new XSSFWorkbook(); // å建第ä¸ä¸ªSheet Sheet sheet1 = workbook.createSheet("Sheet1"); Row row1 = sheet1.createRow(0); Cell cell1 = row1.createCell(0); cell1.setCellValue("Hello, Sheet1"); // å建第äºä¸ªSheet Sheet sheet2 = workbook.createSheet("Sheet2"); Row row2 = sheet2.createRow(0); Cell cell2 = row2.createCell(0); cell2.setCellValue("Hello, Sheet2"); // å°Workbookåå ¥å°åèæ°ç»ä¸ ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); workbook.write(outputStream); workbook.close(); byte[] excelBytes = outputStream.toByteArray(); // å建MultipartFile对象 MultipartFile multipartFile = new MockMultipartFile( "file", "example.xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", new ByteArrayInputStream(excelBytes)); return multipartFile; } private void getTemplateThing(Set<Integer> set, Map<Integer, String> map2, List<InsProduct> insProducts) { @@ -1094,15 +1136,15 @@ .set(InsOrderState::getInsTime, LocalDateTime.now()) .set(InsOrderState::getInsState, 3) .set(InsOrderState::getVerifyUser, verifyUser)); /*妿æ¯C类订å䏿¯ä¸åå°è´¨éé¨,åç´æ¥å¤æ ¸éè¿(ç»æè¯éª)*/ InsOrder insOrder = insOrderMapper.selectById(orderId); if (insOrder.getOrderType().equals("C") && insOrder.getDepartmentLims().equals("è´¨éé¨")) { try { verifyPlan(orderId, laboratory, 2, null); } catch (IOException e) { e.printStackTrace(); } } else { /*è¿ä¸ªæ åµå å ³é----妿æ¯C类订å䏿¯ä¸åå°è´¨éé¨,åç´æ¥å¤æ ¸éè¿(ç»æè¯éª)*/ // InsOrder insOrder = insOrderMapper.selectById(orderId); // if (insOrder.getOrderType().equals("C") && insOrder.getDepartmentLims().equals("è´¨éé¨")) { // try { // verifyPlan(orderId, laboratory, 2, null); // } catch (IOException e) { // e.printStackTrace(); // } // } else { Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); //LIMSç³»ç»æ¶æ¯æ¨é InformationNotification info = new InformationNotification(); @@ -1130,7 +1172,7 @@ map.put("enable_id_trans", 0);//æ¯å¦å¼å¯id转è¯.0å¦ map.put("enable_duplicate_check", 0);//æ¯å¦å¼å¯é夿¶æ¯æ£æ¥.0å¦ qywxApi.send(map);*/ } // } //夿 ¸äºº--æ£éªåç¸å ³è´è´£äºº InsSampleUser insSampleUser = new InsSampleUser(); insSampleUser.setUserId(verifyUser); @@ -1153,6 +1195,11 @@ } return null; }); /*çæçµè·¯è¯éªçç«ç¹æ¥åå¹¶ä¸ä¼ å°éä»¶ä¸*/ /*if (laboratory.equals("çµè·¯è¯éª")) { MultipartFile file = wordUtils.generateWord(note, term, orderState); uploadFile(orderId,file); }*/ // å 餿°éé鿬¡æ° String key = "frequency" + ":" + entrustCode + ":*"; RedisUtil.delsLike(key); @@ -1194,4 +1241,6 @@ return "æªç¥"; } } } inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -124,7 +124,7 @@ public int upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId, String sonLaboratory) { InsOrder insOrder = new InsOrder(); insOrder.setId(orderId); insOrder.setAppointed(LocalDate.parse(appointed)); //insOrder.setAppointed(LocalDate.parse(appointed)); insOrder.setSendTime(LocalDateTime.now()); insOrderMapper.updateById(insOrder); //ä¿®æ¹æåªç»å½åéæ©çè¯éªå®¤ä¸ååå @@ -271,9 +271,9 @@ if (insOrder.getState() == 1) { //å®¡æ ¸éè¿æä¼çæå§æç¼å· insOrder.setEntrustCode(giveCode.giveCode2("WT-", "ins_order", "-", "yyMMdd")); int day = insProductService.selectOrderManDay(insOrder.getId());//é¢è®¡å®ææ¶é´ //ç¡®å®è®¢åçä¸åæ¶é´åçº¦å®æ¶é´ insOrder.setAppointed(LocalDate.parse(LocalDateTime.now().plusHours(day).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))); //int day = insProductService.selectOrderManDay(insOrder.getId());//é¢è®¡å®ææ¶é´ //insOrder.setAppointed(LocalDate.parse(LocalDateTime.now().plusHours(day).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))); insOrder.setSendTime(LocalDateTime.now()); /*todo æ ¹æ®è®¢åç±»å夿æ¯å¦éè¦æ¨éä¼ä¸å¾®ä¿¡ @zss*/ if (!order.getFormType().equals("å ¶ä»æå")) { inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,215 @@ package com.yuanchu.mom.utils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yuanchu.mom.controller.InsOrderPlanController; import com.yuanchu.mom.mapper.*; import com.yuanchu.mom.pojo.InsOrderState; import com.yuanchu.mom.pojo.InsProduct; import com.yuanchu.mom.pojo.InsProductResult2; import com.yuanchu.mom.pojo.InsSample; import com.yuanchu.mom.service.impl.InsOrderPlanServiceImpl; import org.apache.poi.xwpf.usermodel.*; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTcPr; import org.openxmlformats.schemas.wordprocessingml.x2006.main.STMerge; import org.springframework.mock.web.MockMultipartFile; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @Component public class WordUtils { @Resource private InsOrderMapper insOrderMapper; @Resource private InsOrderStateMapper insOrderStateMapper; @Resource private InsSampleMapper insSampleMapper; @Resource private InsProductMapper insProductMapper; @Resource private InsProductResult2Mapper insProductResult2Mapper; private void writeText(XWPFParagraph xwpfParagraph, String text, Integer size, String bold) { // å建æ°çææ¬è¿è¡ XWPFRun run = xwpfParagraph.createRun(); // 设置æ°çæ°æ® run.setText(text); if (ObjectUtils.isNotEmpty(size)) { run.setFontSize(size); } if (ObjectUtils.isNotEmpty(bold)) { run.setBold(true); } } //çæçµè·¯è¯éªçç«ç¹æ¥å public MultipartFile generateWord(String note, String term, InsOrderState insOrderState) { AtomicInteger index = new AtomicInteger(); // å建ä¸ä¸ªç©ºçWordææ¡£ XWPFDocument document = new XWPFDocument(); //å建ä¸ä¸ªæ®µè½æ é¢ XWPFParagraph paragraph = document.createParagraph(); writeText(paragraph, term + "çµè·¯åæ°", 20, "å ç²"); //æ¥è¯¢æ ·å List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insOrderState.getInsOrderId())); insSamples.forEach(insSample -> { //æ¥è¯¢é¡¹ç® List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() .eq(InsProduct::getInsSampleId, insSample.getId()) .eq(InsProduct::getSonLaboratory, "çµè·¯è¯éª")); //è·åæå¤§ç«¯å£æ°é,è§åº¦æ°é,颿®µæ°é List<InsProductResult2> insProductResult2s = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery() .eq(InsProductResult2::getNum, insOrderState.getNum()) .in(InsProductResult2::getInsProductId, insProducts.stream().map(InsProduct::getId).collect(Collectors.toList()))); int ports = 0; int angles = 0; for (InsProductResult2 insProductResult2 : insProductResult2s) { if (insProductResult2.getPort().split(",").length > ports) { ports = insProductResult2.getPort().split(",").length; } if (insProductResult2.getAngle().split(",").length > angles) { angles = insProductResult2.getAngle().split(",").length; } } List<String> frequencyses = insProductResult2s.stream().map(InsProductResult2::getFrequency).distinct().collect(Collectors.toList()); int frequencys = frequencyses.size(); List<String> inspectionItemSubclass = insProducts.stream().map(InsProduct::getInspectionItemSubclass).collect(Collectors.toList()); //å 夿æ¯1ç®åçè¿æ¯0夿ç if (insOrderState.getVersion() == 1) { //(åæ°æ¯ç«¯å£æ°+6,è¡æ°æ¯(驻波æ¯*2+é离度+äºè°*(è§åº¦+1)+1)*颿®µ+1) int portRow = ports % 8 == 0 ? ports / 8 : ports / 8 + 1; //è¡æ° int rows = 0; if (inspectionItemSubclass.contains("çµå驻波æ¯")) { rows += 2 * portRow; } if (inspectionItemSubclass.contains("åæåé离度")) { rows += 1 * portRow; } if (inspectionItemSubclass.contains("弿åé离度")) { rows += 1 * portRow; } if (inspectionItemSubclass.contains("äºè°")) { rows += (angles + 1) * portRow; } //åæ° int cols = ports > 8 ? 14 : ports + 6; //å建ä¸ä¸ªè¡¨æ ¼ XWPFTable table = document.createTable((rows + 1) * frequencys + 1, cols); // å¡«å è¡¨æ ¼å 容 for (int rowIndex = 0; rowIndex < (rows + 1) * frequencys + 1; rowIndex++) { XWPFTableRow row = table.getRow(rowIndex); for (int colIndex = 0; colIndex < cols; colIndex++) { XWPFTableCell cell = row.getCell(colIndex); if (rowIndex == 0) { //第ä¸è¡ if (colIndex == 0) { //第ä¸å cell.setText("åºå·"); } else if (colIndex == 1) { //第äºå cell.setText("æ£éªé¡¹ç®"); } else if (colIndex == 2) { //第ä¸å cell.setText("åä½"); } else if (colIndex == 3) { //第åå cell.setText("æ åä¸è¦æ±"); } else if (colIndex == cols - 1) { //æåä¸å cell.setText("æ£éªç»è®º"); } else if (colIndex == 4){ //å ¶ä½å cell.setText("æ£éªç»æ"); } } else if (rowIndex == 1 || rowIndex % (rows + 1) == 1) { if (colIndex==0) { //颿®µæå¨è¡ cell.setText("颿®µï¼" + frequencyses.get(rowIndex / (rows + 1))); } } else { //portRow端å£è¡æ° if (inspectionItemSubclass.contains("çµå驻波æ¯")) { } if (inspectionItemSubclass.contains("åæåé离度")) { } if (inspectionItemSubclass.contains("弿åé离度")) { } if (inspectionItemSubclass.contains("äºè°")) { } } } if (rowIndex == 0) { //第ä¸è¡ç横ååå¹¶ mergeCellsHorizontal(row, 4, cols - 2); } else if (rowIndex == 1 || rowIndex % (rows + 1) == 1) { //颿®µè¡ç横ååå¹¶ mergeCellsHorizontal(row, 0, cols - 1); } } } else { } }); // åå ¥å°æä»¶ ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); try { document.write(outputStream); } catch (IOException e) { e.printStackTrace(); } byte[] bytes = outputStream.toByteArray(); return new MockMultipartFile(term + "çµè·¯åæ°", term + "çµè·¯åæ°.docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", bytes); } // ç«ååå¹¶åå æ ¼ private static void mergeCellsVertical(XWPFTable table, int columnIndex, int fromRow, int toRow) { for (int rowIndex = fromRow; rowIndex <= toRow; rowIndex++) { if (rowIndex == fromRow) { // 第ä¸ä¸ªåå æ ¼ä¿çï¼è®¾ä¸ºåå¹¶èµ·å§ CTTcPr tcPr = table.getRow(rowIndex).getCell(columnIndex).getCTTc().addNewTcPr(); tcPr.addNewVMerge().setVal(STMerge.RESTART); } else { // é第ä¸ä¸ªåå æ ¼è®¾ä¸ºåå¹¶ç»§ç» CTTcPr tcPr = table.getRow(rowIndex).getCell(columnIndex).getCTTc().addNewTcPr(); tcPr.addNewVMerge().setVal(STMerge.CONTINUE); } } } // 横ååå¹¶åå æ ¼ private static void mergeCellsHorizontal(XWPFTableRow row, int fromCell, int toCell) { for (int cellIndex = fromCell; cellIndex <= toCell; cellIndex++) { if (cellIndex == fromCell) { // 第ä¸ä¸ªåå æ ¼ä¿çï¼è®¾ä¸ºåå¹¶èµ·å§ CTTcPr tcPr = row.getCell(cellIndex).getCTTc().addNewTcPr(); tcPr.addNewHMerge().setVal(STMerge.RESTART); } else { // é第ä¸ä¸ªåå æ ¼è®¾ä¸ºåå¹¶ç»§ç» CTTcPr tcPr = row.getCell(cellIndex).getCTTc().addNewTcPr(); tcPr.addNewHMerge().setVal(STMerge.CONTINUE); } } } } user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
@@ -153,8 +153,8 @@ @ValueClassify("客æ·ç®¡ç") @ApiOperation(value = "å é¤å®¢æ·ä¿¡æ¯") @PostMapping("/delCustomById") public Result<?> delCustomById(Integer id) { return Result.success(customService.delCustomById(id)); public Result<?> delCustomById(Long id) { return Result.success(customService.removeById(id)); } @ValueClassify("客æ·ç®¡ç") @ApiOperation(value = "æ°å¢å®¢æ·ä¿¡æ¯") user-server/src/main/java/com/yuanchu/mom/service/CustomService.java
@@ -16,7 +16,7 @@ Map<String, Object> selectCustomPageList(IPage<Custom> page, Custom custom); int delCustomById(Integer id); int delCustomById(Long id); int addCustom(Custom custom); user-server/src/main/java/com/yuanchu/mom/service/impl/CustomServiceImpl.java
@@ -41,7 +41,7 @@ } @Override public int delCustomById(Integer id) { public int delCustomById(Long id) { return customMapper.deleteById(id); }