From ad853219d4a8c85eaf8c51e66e6efc49df5433bc Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期三, 09 七月 2025 18:51:22 +0800 Subject: [PATCH] art: 技术状态鉴定规范3个导入-接口修改 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardServiceImpl.java | 279 ++++++++++++++++++++++++++++++++++++++- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardDetailServiceImpl.java | 9 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardService.java | 14 ++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardDetailService.java | 9 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationStandardController.java | 82 ++++++++--- 5 files changed, 357 insertions(+), 36 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationStandardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationStandardController.java index d169644..70448c1 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationStandardController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationStandardController.java @@ -15,15 +15,16 @@ import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationStandardRequest; import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationStandardService; import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; +import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.util.HashMap; +import java.util.ArrayList; import java.util.LinkedHashMap; +import java.util.List; import java.util.Map; /** @@ -149,6 +150,7 @@ /** * 鎻愪氦 + * * @param id * @return */ @@ -181,41 +183,45 @@ for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { MultipartFile file = entity.getValue(); String fileName = file.getOriginalFilename(); - Result<?> importResult = eamTechnicalStatusEvaluationStandardService.importSafetyEquipmentCheck(file); - if (importResult.isSuccess()) { - results.put(fileName, "鎴愬姛: " + importResult.getMessage()); successCount++; } else { - results.put(fileName, "澶辫触: " + importResult.getMessage()); + results.put(fileName, importResult.getMessage()); failureCount++; } } // 鏋勫缓鏈�缁堝搷搴� - Map<String, Object> response = new HashMap<>(); - response.put("results", results); - response.put("totalFiles", fileMap.size()); - response.put("successCount", successCount); - response.put("failureCount", failureCount); - - if (failureCount > 0) { - return Result.error("閮ㄥ垎鏂囦欢瀵煎叆澶辫触", response); - } - - return Result.ok("鎵�鏈夋枃浠跺鍏ユ垚鍔�"+response); + return getResult(results, fileMap.size(), successCount, failureCount); } /** * 瀹夊叏瑁呯疆妫�鏌ユ槑缁嗗鍏� * * @param request - * @param response * @return */ @PostMapping(value = "/importPrecisionCheck") - public Result<?> importPrecisionCheck(HttpServletRequest request, HttpServletResponse response) { - return null; + public Result<?> importPrecisionCheck(HttpServletRequest request) { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + Map<String, String> results = new LinkedHashMap<>(); + Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); + // 缁熻瀵煎叆缁撴灉 + int successCount = 0; + int failureCount = 0; + for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { + MultipartFile file = entity.getValue(); + String fileName = file.getOriginalFilename(); + Result<?> importResult = eamTechnicalStatusEvaluationStandardService.importPrecisionCheck(file); + if (importResult.isSuccess()) { + successCount++; + } else { + results.put(fileName, importResult.getMessage()); + failureCount++; + } + } + // 鏋勫缓鏈�缁堝搷搴� + return getResult(results, fileMap.size(), successCount, failureCount); } @@ -223,12 +229,42 @@ * 瀹夊叏瑁呯疆妫�鏌ユ槑缁嗗鍏� * * @param request - * @param response * @return */ @PostMapping(value = "/importOtherCheck") - public Result<?> importOtherCheck(HttpServletRequest request, HttpServletResponse response) { - return null; + public Result<?> importOtherCheck(HttpServletRequest request) { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + Map<String, String> results = new LinkedHashMap<>(); + Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); + // 缁熻瀵煎叆缁撴灉 + int successCount = 0; + int failureCount = 0; + for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { + MultipartFile file = entity.getValue(); + String fileName = file.getOriginalFilename(); + Result<?> importResult = eamTechnicalStatusEvaluationStandardService.importOtherCheck(file); + if (importResult.isSuccess()) { + successCount++; + } else { + results.put(fileName, importResult.getMessage()); + failureCount++; + } + } + // 鏋勫缓鏈�缁堝搷搴� + return getResult(results, fileMap.size(), successCount, failureCount); + } + + @NotNull + private Result<?> getResult(Map<String, String> results, int fileCount, int successCount, int failureCount) { + List<String> response = new ArrayList<>(); + response.add("鎬绘枃浠舵暟锛�" + fileCount); + response.add("鎴愬姛鏁帮細" + successCount); + response.add("澶辫触鏁帮細" + failureCount); + if (failureCount > 0) { + response.add("閿欒淇℃伅锛�" + results.values()); + return Result.error("閮ㄥ垎鏂囦欢瀵煎叆澶辫触锛�" + response); + } + return Result.ok("鎵�鏈夋枃浠跺鍏ユ垚鍔燂細" + response); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardDetailService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardDetailService.java index bb8f85b..30f2ca6 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardDetailService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardDetailService.java @@ -13,7 +13,14 @@ /** * 鏍规嵁瑙勮寖ID鍒犻櫎妫�鏌ラ」 - * @param standardId + * @param standardId 瑙勮寖ID */ void removeByStandardId(String standardId); + + /** + * 鏍规嵁瑙勮寖ID鍒犻櫎妫�鏌ラ」 + * @param standardId 瑙勮寖ID + * @param category 鍒嗙被 + */ + void removeByStandardIdAndCategory(String standardId, String category); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardService.java index 6056f42..4e1a8b7 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardService.java @@ -59,4 +59,18 @@ * @return */ Result<?> importSafetyEquipmentCheck(MultipartFile file); + + /** + * 璁惧绮惧害瀵煎叆 + * @param file + * @return + */ + Result<?> importPrecisionCheck(MultipartFile file); + + /** + * 鍏朵粬妫�鏌ュ鍏� + * @param file + * @return + */ + Result<?> importOtherCheck(MultipartFile file); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardDetailServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardDetailServiceImpl.java index 9710cd8..623c25f 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardDetailServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardDetailServiceImpl.java @@ -25,4 +25,13 @@ wrapper.eq(EamTechnicalStatusEvaluationStandardDetail::getStandardId, standardId); this.getBaseMapper().delete(wrapper); } + + @Override + @Transactional(rollbackFor = Exception.class) + public void removeByStandardIdAndCategory(String standardId, String category) { + LambdaQueryWrapper<EamTechnicalStatusEvaluationStandardDetail> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(EamTechnicalStatusEvaluationStandardDetail::getStandardId, standardId); + wrapper.eq(EamTechnicalStatusEvaluationStandardDetail::getCheckCategory, category); + this.getBaseMapper().delete(wrapper); + } } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardServiceImpl.java index 4c8d7b6..8bb7a21 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardServiceImpl.java @@ -28,7 +28,6 @@ import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationStandardDetail; import org.jeecg.modules.eam.mapper.EamTechnicalStatusEvaluationStandardMapper; import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationStandardRequest; -import org.jeecg.modules.eam.request.ImportException; import org.jeecg.modules.eam.service.IEamEquipmentService; import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationStandardDetailService; import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationStandardService; @@ -342,7 +341,7 @@ builder.append(paragraph.getText().trim()); } }); - if (!checkImportCategory(builder.toString(), TechnicalStatusEvaluationCheckCategoryEnum.SAFETY_EQUIPMENT_CHECK)) { + if (checkImportCategory(builder.toString(), TechnicalStatusEvaluationCheckCategoryEnum.SAFETY_EQUIPMENT_CHECK)) { return Result.error(fileName + ":姝ゆ枃浠朵笉绗﹀悎瀹夊叏瑁呯疆妫�鏌ユā鏉胯鑼冿紝璇锋鏌ワ紒"); } //鑾峰彇璁惧淇℃伅 @@ -350,7 +349,7 @@ //鏌ョ湅鏄惁鏈夋璁惧鍚敤鐨勮鑼冧俊鎭� EamTechnicalStatusEvaluationStandard originalStandard = checkDuplicate(equipment.getId(), null); if (originalStandard != null && TechnicalStatusEvaluationStandardEnum.ENABLE.name().equals(originalStandard.getStandardStatus())) { - return Result.error(fileName + ":姝よ澶囩殑瀹夊叏瑁呯疆妫�鏌ラ」宸叉坊鍔狅紝璇疯繘琛岀紪杈戞垨鍗囩増锛�"); + return Result.error(fileName + ":姝よ澶囧凡瀛樺湪鍚敤鐨勮鑼冿紝璇疯繘琛岀紪杈戞垨鍗囩増锛�"); } //鑾峰彇妫�鏌ラ」淇℃伅 List<EamTechnicalStatusEvaluationStandardDetail> detailList = extractSafetyEquipmentCheckItems(tables); @@ -365,6 +364,9 @@ detailList.forEach(standardDetail -> { standardDetail.setStandardId(originalStandard.getId()); }); + //鍏堝垹闄わ紝鍚庢坊鍔� + standardDetailService.removeByStandardIdAndCategory(originalStandard.getId(), TechnicalStatusEvaluationCheckCategoryEnum.SAFETY_EQUIPMENT_CHECK.name()); + //閲嶆柊娣诲姞 standardDetailService.saveBatch(detailList); }else { String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.TECHNICAL_STATUS_EVALUATION_STANDARD_CODE_RULE); @@ -379,12 +381,9 @@ request.setTableDetailList(detailList); this.addEamTechnicalStatusEvaluationStandard(request); } - } catch (ImportException e) { - log.error(e.getMessage(), e); - return Result.error(fileName + ":" + e.getMessage() + "锛�"); } catch (Exception e) { log.error(e.getMessage(), e); - return Result.error(fileName + ":绯荤粺閿欒-" + e.getMessage() + "锛�"); + return Result.error(fileName + ":" + e.getMessage() + "锛�"); } } else { return Result.error(fileName + ":鏂囦欢鏍煎紡閿欒,鏃犳硶瑙f瀽锛�"); @@ -393,16 +392,170 @@ return Result.OK(fileName + ":瀵煎叆鎴愬姛锛�"); } + @Override + @Transactional(rollbackFor = Exception.class) + public Result<?> importPrecisionCheck(MultipartFile file) { + String fileName = file.getOriginalFilename(); + if (StringUtils.isBlank(fileName)) { + return Result.error(fileName + ":鏂囦欢鏍煎紡閿欒,鏃犳硶瑙f瀽锛�"); + } + String fileSuffix = FileUtil.getFileSuffix(fileName); + //鍙敮鎸� .docx 鐨剋ord鏂囨。 + if ("docx".equals(fileSuffix)) { + try (XWPFDocument doc = new XWPFDocument(file.getInputStream())) { + List<XWPFParagraph> paragraphs = doc.getParagraphs(); + List<XWPFTable> tables = doc.getTables(); + if (CollectionUtil.isEmpty(paragraphs) || CollectionUtil.isEmpty(tables)) { + return Result.error(fileName + ":姝ゆ枃浠朵笉绗﹀悎璁惧绮惧害妫�鏌ユā鏉胯鑼冿紝璇锋鏌ワ紒"); + } + //鑾峰彇鏂囦欢鏍囬 + StringBuilder builder = new StringBuilder(); + paragraphs.forEach(paragraph -> { + if (StringUtils.isNotBlank(paragraph.getText())) { + builder.append(paragraph.getText().trim()); + } + }); + if (checkImportCategory(builder.toString(), TechnicalStatusEvaluationCheckCategoryEnum.PRECISION_CHECK)) { + return Result.error(fileName + ":姝ゆ枃浠朵笉绗﹀悎璁惧绮惧害妫�鏌ユā鏉胯鑼冿紝璇锋鏌ワ紒"); + } + //鑾峰彇璁惧淇℃伅 + EamEquipment equipment = extractEquipmentInfo(tables.get(0)); + //鏌ョ湅鏄惁鏈夋璁惧鍚敤鐨勮鑼冧俊鎭� + EamTechnicalStatusEvaluationStandard originalStandard = checkDuplicate(equipment.getId(), null); + if (originalStandard != null && TechnicalStatusEvaluationStandardEnum.ENABLE.name().equals(originalStandard.getStandardStatus())) { + return Result.error(fileName + ":姝よ澶囧凡瀛樺湪鍚敤鐨勮鑼冿紝璇疯繘琛岀紪杈戞垨鍗囩増锛�"); + } + //鑾峰彇妫�鏌ラ」淇℃伅 + List<EamTechnicalStatusEvaluationStandardDetail> detailList = extractPrecisionCheckItems(tables); + if(CollectionUtil.isEmpty(detailList)){ + return Result.error(fileName + ":鏈В鏋愬埌妫�鏌ラ」鍐呭锛岃妫�鏌ワ紒"); + } + if(originalStandard != null) { + //宸插瓨鍦ㄦ妧鏈姸鎬侀壌瀹氳鑼�,涓旇鑼冪姸鎬佷负宸叉彁浜� + originalStandard.setHasPrecisionCheck(CommonConstant.STATUS_1); + originalStandard.setStandardStatus(TechnicalStatusEvaluationStandardEnum.WAIT_SUBMIT.name()); + super.getBaseMapper().updateById(originalStandard); + detailList.forEach(standardDetail -> { + standardDetail.setStandardId(originalStandard.getId()); + }); + //鍏堝垹闄わ紝鍚庢坊鍔� + standardDetailService.removeByStandardIdAndCategory(originalStandard.getId(), TechnicalStatusEvaluationCheckCategoryEnum.PRECISION_CHECK.name()); + //閲嶆柊娣诲姞 + standardDetailService.saveBatch(detailList); + }else { + String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.TECHNICAL_STATUS_EVALUATION_STANDARD_CODE_RULE); + //鏂板鎶�鏈姸鎬侀壌瀹氳鑼� + EamTechnicalStatusEvaluationStandardRequest request = new EamTechnicalStatusEvaluationStandardRequest(); + request.setEquipmentId(equipment.getId()); + request.setHasSafetyEquipmentCheck(CommonConstant.STATUS_0); + request.setHasOtherCheck(CommonConstant.STATUS_0); + request.setHasPrecisionCheck(CommonConstant.STATUS_1); + request.setStandardCode(codeSeq); + request.setStandardName(equipment.getEquipmentName() + "鎶�鏈姸鎬侀壌瀹氳鑼�"); + request.setTableDetailList(detailList); + this.addEamTechnicalStatusEvaluationStandard(request); + } + } catch (Exception e) { + log.error(e.getMessage(), e); + return Result.error(fileName + ":" + e.getMessage() + "锛�"); + } + } else { + return Result.error(fileName + ":鏂囦欢鏍煎紡閿欒,鏃犳硶瑙f瀽锛�"); + } + + return Result.OK(fileName + ":瀵煎叆鎴愬姛锛�"); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result<?> importOtherCheck(MultipartFile file) { + String fileName = file.getOriginalFilename(); + if (StringUtils.isBlank(fileName)) { + return Result.error(fileName + ":鏂囦欢鏍煎紡閿欒,鏃犳硶瑙f瀽锛�"); + } + String fileSuffix = FileUtil.getFileSuffix(fileName); + //鍙敮鎸� .docx 鐨剋ord鏂囨。 + if ("docx".equals(fileSuffix)) { + try (XWPFDocument doc = new XWPFDocument(file.getInputStream())) { + List<XWPFParagraph> paragraphs = doc.getParagraphs(); + List<XWPFTable> tables = doc.getTables(); + if (CollectionUtil.isEmpty(paragraphs) || CollectionUtil.isEmpty(tables)) { + return Result.error(fileName + ":姝ゆ枃浠朵笉绗﹀悎瀹夊叏瑁呯疆妫�鏌ユā鏉胯鑼冿紝璇锋鏌ワ紒"); + } + //鑾峰彇鏂囦欢鏍囬 + StringBuilder builder = new StringBuilder(); + paragraphs.forEach(paragraph -> { + if (StringUtils.isNotBlank(paragraph.getText())) { + builder.append(paragraph.getText().trim()); + } + }); + if (checkImportCategory(builder.toString(), TechnicalStatusEvaluationCheckCategoryEnum.OTHER_CHECK)) { + return Result.error(fileName + ":姝ゆ枃浠朵笉绗﹀悎鍏朵粬妫�鏌ユā鏉胯鑼冿紝璇锋鏌ワ紒"); + } + //鑾峰彇璁惧淇℃伅 + EamEquipment equipment = extractEquipmentInfo(tables.get(0)); + //鏌ョ湅鏄惁鏈夋璁惧鍚敤鐨勮鑼冧俊鎭� + EamTechnicalStatusEvaluationStandard originalStandard = checkDuplicate(equipment.getId(), null); + if (originalStandard != null && TechnicalStatusEvaluationStandardEnum.ENABLE.name().equals(originalStandard.getStandardStatus())) { + return Result.error(fileName + ":姝よ澶囧凡瀛樺湪鍚敤鐨勮鑼冿紝璇疯繘琛岀紪杈戞垨鍗囩増锛�"); + } + //鑾峰彇妫�鏌ラ」淇℃伅 + List<EamTechnicalStatusEvaluationStandardDetail> detailList = extractOtherCheckItems(tables); + if(CollectionUtil.isEmpty(detailList)){ + return Result.error(fileName + ":鏈В鏋愬埌妫�鏌ラ」鍐呭锛岃妫�鏌ワ紒"); + } + if(originalStandard != null) { + //宸插瓨鍦ㄦ妧鏈姸鎬侀壌瀹氳鑼�,涓旇鑼冪姸鎬佷负宸叉彁浜� + originalStandard.setHasOtherCheck(CommonConstant.STATUS_1); + originalStandard.setStandardStatus(TechnicalStatusEvaluationStandardEnum.WAIT_SUBMIT.name()); + super.getBaseMapper().updateById(originalStandard); + detailList.forEach(standardDetail -> { + standardDetail.setStandardId(originalStandard.getId()); + }); + //鍏堝垹闄わ紝鍚庢坊鍔� + standardDetailService.removeByStandardIdAndCategory(originalStandard.getId(), TechnicalStatusEvaluationCheckCategoryEnum.OTHER_CHECK.name()); + //閲嶆柊娣诲姞 + standardDetailService.saveBatch(detailList); + }else { + String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.TECHNICAL_STATUS_EVALUATION_STANDARD_CODE_RULE); + //鏂板鎶�鏈姸鎬侀壌瀹氳鑼� + EamTechnicalStatusEvaluationStandardRequest request = new EamTechnicalStatusEvaluationStandardRequest(); + request.setEquipmentId(equipment.getId()); + request.setHasSafetyEquipmentCheck(CommonConstant.STATUS_0); + request.setHasOtherCheck(CommonConstant.STATUS_1); + request.setHasPrecisionCheck(CommonConstant.STATUS_0); + request.setStandardCode(codeSeq); + request.setStandardName(equipment.getEquipmentName() + "鎶�鏈姸鎬侀壌瀹氳鑼�"); + request.setTableDetailList(detailList); + this.addEamTechnicalStatusEvaluationStandard(request); + } + } catch (Exception e) { + log.error(e.getMessage(), e); + return Result.error(fileName + ":" + e.getMessage() + "锛�"); + } + } else { + return Result.error(fileName + ":鏂囦欢鏍煎紡閿欒,鏃犳硶瑙f瀽锛�"); + } + + return Result.OK(fileName + ":瀵煎叆鎴愬姛锛�"); + } + + /** + * 妫�鏌ュ鍏ユ枃浠跺垎绫绘槸鍚﹀尮閰� + * @param title 鏍囬娈佃惤瀛楃涓� + * @param category 鍒嗙被 + * @return true 涓嶅尮閰嶏紝 false 鍖归厤 + */ private boolean checkImportCategory(String title, TechnicalStatusEvaluationCheckCategoryEnum category) { switch (category) { case SAFETY_EQUIPMENT_CHECK: - return title.contains("瀹夊叏瑁呯疆妫�鏌�"); + return !title.contains("瀹夊叏瑁呯疆妫�鏌�"); case PRECISION_CHECK: - return title.contains("绮惧害妫�鏌ュ崟"); + return !title.contains("绮惧害妫�鏌ュ崟"); case OTHER_CHECK: - return title.contains("鍏朵粬妫�鏌�"); + return !title.contains("鍏朵粬妫�鏌�"); } - return false; + return true; } @@ -448,7 +601,6 @@ * 鎻愬彇瀹夊叏瑁呯疆妫�鏌ユ槑缁� */ private List<EamTechnicalStatusEvaluationStandardDetail> extractSafetyEquipmentCheckItems(List<XWPFTable> tableList) { - List<EamTechnicalStatusEvaluationStandardDetail> items = new ArrayList<>(); EamTechnicalStatusEvaluationStandardDetail item = null; //瑙f瀽绗竴涓〃鏍硷紝甯﹁澶囦俊鎭� @@ -481,4 +633,107 @@ } return items; } + + /** + * 鎻愬彇鍏朵粬妫�鏌ラ」鏄庣粏鍐呭 + * @param tables + * @return + */ + private List<EamTechnicalStatusEvaluationStandardDetail> extractOtherCheckItems(List<XWPFTable> tables) { + List<EamTechnicalStatusEvaluationStandardDetail> items = new ArrayList<>(); + EamTechnicalStatusEvaluationStandardDetail item = null; + //瑙f瀽绗竴涓〃鏍硷紝甯﹁澶囦俊鎭� + XWPFTable table = tables.get(0); + for (int i = 0; i < table.getNumberOfRows(); i++) { + XWPFTableRow row = table.getRow(i); + if (row == null || CollectionUtil.isEmpty(row.getTableCells()) || row.getTableCells().size() < 2) { + //璇诲彇鍒扮┖row鍊� + continue; + } + //妫�鏌ユ槸鍚﹀埌妫�鏌ラ」搴忓彿 + String firstCell = row.getCell(0).getText().trim(); + Integer itemCode = null; + try { + itemCode = Integer.parseInt(firstCell); + } catch (NumberFormatException e) { + //涓嶆槸妫�鏌ラ」鍐呭锛岃烦杩囨琛� + continue; + } + //鑾峰彇绗簩涓崟鍏冩牸 + String secondCell = row.getCell(1).getText().trim(); + //濡傛灉杩欎竴琛屼负搴忓彿鍒欒В鏋愭暣琛� + if (StringUtils.isNotBlank(secondCell)) { + item = new EamTechnicalStatusEvaluationStandardDetail(); + item.setItemCode(itemCode); + item.setItemName(secondCell); + item.setCheckCategory(TechnicalStatusEvaluationCheckCategoryEnum.OTHER_CHECK.name()); + items.add(item); + } + } + return items; + } + + private List<EamTechnicalStatusEvaluationStandardDetail> extractPrecisionCheckItems(List<XWPFTable> tables) { + List<EamTechnicalStatusEvaluationStandardDetail> items = new ArrayList<>(); + EamTechnicalStatusEvaluationStandardDetail item = null; + //瑙f瀽绗竴涓〃鏍硷紝甯﹁澶囦俊鎭� + XWPFTable table = tables.get(0); + for (int i = 0; i < table.getNumberOfRows(); i++) { + XWPFTableRow row = table.getRow(i); + if (row == null || CollectionUtil.isEmpty(row.getTableCells()) || row.getTableCells().size() < 2) { + //璇诲彇鍒扮┖row鍊� + continue; + } + //妫�鏌ユ槸鍚﹀埌妫�鏌ラ」搴忓彿 + String firstCell = row.getCell(0).getText().trim(); + Integer itemCode = null; + try { + itemCode = Integer.parseInt(firstCell); + } catch (NumberFormatException e) { + //涓嶆槸妫�鏌ラ」鍐呭锛岃烦杩囨琛� + if(item == null) { + continue; + }else { + itemCode = item.getItemCode(); + } + } + //鑾峰彇绗簩涓崟鍏冩牸 + String itemName = row.getCell(1).getText().trim(); + if(StringUtils.isBlank(itemName)) { + if(item != null) { + itemName = item.getItemName(); + }else { + continue; + } + } + String subItemName = null; + String toleranceValue = null; + if(row.getTableCells().size() == 4) { + toleranceValue = row.getCell(2).getText().trim(); + }else if(row.getTableCells().size() == 5) { + subItemName = row.getCell(2).getText().trim(); + toleranceValue = row.getCell(3).getText().trim(); + }else { + continue; + } + if(StringUtils.isBlank(toleranceValue)) { + //鍏佸樊鍊间笉瀛樺湪锛岃烦杩� + if(item != null) { + toleranceValue = item.getToleranceValue(); + }else { + continue; + } + } + //鎷艰鏄庣粏鏁版嵁 + item = new EamTechnicalStatusEvaluationStandardDetail(); + item.setItemCode(itemCode); + item.setItemName(itemName); + item.setSubItemName(subItemName); + item.setToleranceValue(toleranceValue); + item.setCheckCategory(TechnicalStatusEvaluationCheckCategoryEnum.PRECISION_CHECK.name()); + items.add(item); + } + return items; + } + } -- Gitblit v1.9.3