From 5aec14c5b8733d1e175bb9b7c6415ecadedf4ba9 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期一, 07 七月 2025 21:40:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java |  490 +++++++++++++++--------------------------------------
 1 files changed, 140 insertions(+), 350 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java
index f714e0a..754130c 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java
@@ -6,37 +6,22 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.poi.hssf.usermodel.HSSFSheet;
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.ss.usermodel.*;
-import org.apache.poi.xssf.usermodel.XSSFSheet;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.jeecg.common.api.vo.FileUploadResult;
+
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.constant.CommonConstant;
-import org.jeecg.common.exception.JeecgBootException;
+
 import org.jeecg.common.system.base.controller.JeecgController;
-import org.jeecg.common.util.FileUtil;
 import org.jeecg.modules.eam.constant.BusinessCodeConst;
-import org.jeecg.modules.eam.constant.MaintenanceCategoryEnum;
+
 import org.jeecg.modules.eam.constant.MaintenanceStandardStatusEnum;
-import org.jeecg.modules.eam.dto.MaintenanceStandardImport;
-import org.jeecg.modules.eam.dto.SecondMaintenanceStandardImport;
-import org.jeecg.modules.eam.dto.ThirdMaintenanceStandardImport;
-import org.jeecg.modules.eam.dto.WeekMaintenanceStandardImport;
-import org.jeecg.modules.eam.entity.EamEquipment;
 import org.jeecg.modules.eam.entity.EamMaintenanceStandard;
-import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail;
+
 import org.jeecg.modules.eam.request.EamMaintenanceStandardRequest;
 import org.jeecg.modules.eam.service.IEamEquipmentService;
 import org.jeecg.modules.eam.service.IEamMaintenanceStandardService;
 import org.jeecg.modules.eam.vo.EamMaintenanceStandardVo;
 import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
-import org.jeecgframework.poi.excel.ExcelImportUtil;
-import org.jeecgframework.poi.excel.entity.ImportParams;
-import org.jeecgframework.poi.util.PoiPublicUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -44,10 +29,7 @@
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
 import java.util.*;
-import java.util.stream.Collectors;
 
 /**
  * @Description: 淇濆吇鏍囧噯
@@ -69,24 +51,26 @@
 
     /**
      * 娴佺▼鍚姩,淇濆瓨瀵瑰簲鐨勬暟鎹�
+     *
      * @param id
      * @return
      */
     @ApiOperation(value = "淇濆吇鏍囧噯-娴佺▼鍚姩淇濆瓨瀵瑰簲鐨勬暟鎹�", notes = "淇濆吇鏍囧噯-娴佺▼鍚姩淇濆瓨瀵瑰簲鐨勬暟鎹�")
     @GetMapping(value = "/saveEamMaintenanceStandardProcess")
-    public Result<?> saveEamMaintenanceStandardProcess(String id){
-        return Result.OK(eamMaintenanceStandardService.saveEamMaintenanceStandardProcess(id));
+    public Result<?> saveEamMaintenanceStandardProcess(String id) {
+        return eamMaintenanceStandardService.saveEamMaintenanceStandardProcess(id);
     }
 
     /**
      * 娴佺▼瀹℃牳
+     *
      * @param eamMaintenanceStandardVo
      * @return
      */
     @ApiOperation(value = "淇濆吇鏍囧噯-娴佺▼瀹℃牳", notes = "淇濆吇鏍囧噯-娴佺▼瀹℃牳")
     @PostMapping(value = "/audit")
-    public Result<?> auditEamMaintenanceStandard(EamMaintenanceStandardVo eamMaintenanceStandardVo){
-        return Result.OK(eamMaintenanceStandardService.auditEamMaintenanceStandard(eamMaintenanceStandardVo));
+    public Result<?> auditEamMaintenanceStandard(@RequestBody EamMaintenanceStandardVo eamMaintenanceStandardVo) {
+        return eamMaintenanceStandardService.auditEamMaintenanceStandard(eamMaintenanceStandardVo);
     }
 
     /**
@@ -166,7 +150,7 @@
      */
     @AutoLog(value = "淇濆吇鏍囧噯-鍗囩増")
     @ApiOperation(value = "淇濆吇鏍囧噯-鍗囩増", notes = "淇濆吇鏍囧噯-鍗囩増")
-    @RequestMapping(value = "/upgrade", method = {RequestMethod.PUT, RequestMethod.POST})
+    @PutMapping(value = "/upgrade")
     public Result<?> upgrade(@RequestBody EamMaintenanceStandardRequest standardRequest) {
         if (standardRequest == null) {
             return Result.error("娣诲姞鐨勫璞′笉鑳戒负绌猴紒");
@@ -185,7 +169,8 @@
 
     /**
      * 鏌ヨ鏍囧噯鍒楄〃-鍓嶇灞曠ず璇ョ敤鎴锋嫢鏈夌殑鏍囧噯
-     * @param keyword 璁惧缂栧彿
+     *
+     * @param keyword             璁惧缂栧彿
      * @param maintenanceCategory 淇濆吇绫诲瀷
      * @return
      */
@@ -249,7 +234,8 @@
         List<String> list = Arrays.asList(ids.split(","));
         list.forEach(id -> {
             EamMaintenanceStandard entity = eamMaintenanceStandardService.getById(id);
-            if (entity != null) {
+            if (entity != null&&entity.getStandardStatus().equals(MaintenanceStandardStatusEnum.WAIT_SUBMIT.name())) {
+                //鍙垹闄ょ姸鎬佷负寰呮彁浜ょ殑
                 entity.setDelFlag(CommonConstant.DEL_FLAG_1);
                 eamMaintenanceStandardService.updateById(entity);
             }
@@ -282,345 +268,149 @@
     }
 
     /**
-     * 閫氳繃excel瀵煎叆鏁版嵁
-     *
-     * @param request
-     * @param response
-     * @return
-     */
-    @RequestMapping(value = "/inspectionImportExcel", method = RequestMethod.POST)
-    public Result<?> inspectionImportExcel(HttpServletRequest request, HttpServletResponse response) {
-        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
-        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
-        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-            // 鑾峰彇涓婁紶鏂囦欢瀵硅薄
-            MultipartFile file = entity.getValue();
-            ImportParams params = new ImportParams();
-            params.setTitleRows(2);
-            params.setHeadRows(1);
-            params.setSheetNum(1);
-            params.setNeedSave(true);
-            EamMaintenanceStandardRequest standardRequest = new EamMaintenanceStandardRequest();
-            try {
-                //璇诲彇璁惧缂栧彿锛屽浘鐗囩瓑
-                readExcel(file, standardRequest);
-                EamEquipment equipment = eamEquipmentService.selectByEquipmentCode(standardRequest.getEquipmentCode());
-                if(equipment == null) {
-                    log.error("璁惧涓嶅瓨鍦細{}", standardRequest.getEquipmentCode());
-                    continue;
-                }
-                standardRequest.setStandardName(standardRequest.getEquipmentName() + "鐐规鏍囧噯");
-                standardRequest.setMaintenanceCategory(MaintenanceCategoryEnum.POINT_INSPECTION.name());
-                standardRequest.setEquipmentId(equipment.getId());
-                //璇诲彇淇濆吇鏄庣粏鍐呭
-                List<MaintenanceStandardImport> list = ExcelImportUtil.importExcel(file.getInputStream(), MaintenanceStandardImport.class, params);
-                //鏄庣粏椤�
-                List<EamMaintenanceStandardDetail> tableList = list.stream().map(EamMaintenanceStandardDetail::new).collect(Collectors.toList());
-                standardRequest.setTableDetailList(tableList);
-                String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.MAINTENANCE_STANDARD_CODE_RULE);
-                standardRequest.setStandardCode(codeSeq);
-                boolean b = eamMaintenanceStandardService.addMaintenanceStandard(standardRequest);
-                if (!b) {
-                    log.error("淇濆瓨澶辫触锛� {}", standardRequest.getEquipmentCode());
-                }
-            } catch (Exception e) {
-                //update-begin-author:taoyan date:20211124 for: 瀵煎叆鏁版嵁閲嶅澧炲姞鎻愮ず
-                String msg = e.getMessage();
-                log.error("鏂囦欢 {} 澶勭悊寮傚父锛� {}", file.getOriginalFilename(), msg, e);
-                //update-end-author:taoyan date:20211124 for: 瀵煎叆鏁版嵁閲嶅澧炲姞鎻愮ず
-            } finally {
-                try {
-                    file.getInputStream().close();
-                } catch (IOException e) {
-                    log.error(e.getMessage(), e);
-                }
-            }
-        }
-        return Result.ok("鏂囦欢瀵煎叆瀹屾垚锛�");
-    }
-
-    /**
-     * 閫氳繃excel瀵煎叆鏁版嵁
-     *
-     * @param request
-     * @param response
-     * @return
-     */
-    @RequestMapping(value = "/weekMaintenanceImportExcel", method = RequestMethod.POST)
-    public Result<?> weekMaintenanceImportExcel(HttpServletRequest request, HttpServletResponse response) {
-        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
-        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
-        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-            // 鑾峰彇涓婁紶鏂囦欢瀵硅薄
-            MultipartFile file = entity.getValue();
-            ImportParams params = new ImportParams();
-            params.setTitleRows(2);
-            params.setHeadRows(1);
-            params.setSheetNum(1);
-            params.setNeedSave(true);
-            EamMaintenanceStandardRequest standardRequest = new EamMaintenanceStandardRequest();
-            try {
-                //璇诲彇璁惧缂栧彿锛屽浘鐗囩瓑
-                readWeekExcel(file, standardRequest);
-                EamEquipment equipment = eamEquipmentService.selectByEquipmentCode(standardRequest.getEquipmentCode());
-                if(equipment == null) {
-                    log.error("璁惧涓嶅瓨鍦細{}", standardRequest.getEquipmentCode());
-                    continue;
-                }
-                standardRequest.setStandardName(standardRequest.getEquipmentName() + "鍛ㄤ繚鏍囧噯");
-                standardRequest.setMaintenanceCategory(MaintenanceCategoryEnum.WEEK_MAINTENANCE.name());
-                standardRequest.setEquipmentId(equipment.getId());
-                //璇诲彇淇濆吇鏄庣粏鍐呭
-                List<WeekMaintenanceStandardImport> list = ExcelImportUtil.importExcel(file.getInputStream(), WeekMaintenanceStandardImport.class, params);
-                //鏄庣粏椤�
-                List<EamMaintenanceStandardDetail> tableList = list.stream().map(EamMaintenanceStandardDetail::new).collect(Collectors.toList());
-                standardRequest.setTableDetailList(tableList);
-                String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.MAINTENANCE_STANDARD_CODE_RULE);
-                standardRequest.setStandardCode(codeSeq);
-                boolean b = eamMaintenanceStandardService.addMaintenanceStandard(standardRequest);
-                if (!b) {
-                    log.error("淇濆瓨澶辫触锛� {}", standardRequest.getEquipmentCode());
-                }
-            } catch (Exception e) {
-                //update-begin-author:taoyan date:20211124 for: 瀵煎叆鏁版嵁閲嶅澧炲姞鎻愮ず
-                String msg = e.getMessage();
-                log.error("鏂囦欢 {} 澶勭悊寮傚父锛� {}", file.getOriginalFilename(), msg, e);
-                //update-end-author:taoyan date:20211124 for: 瀵煎叆鏁版嵁閲嶅澧炲姞鎻愮ず
-            } finally {
-                try {
-                    file.getInputStream().close();
-                } catch (IOException e) {
-                    log.error(e.getMessage(), e);
-                }
-            }
-        }
-        return Result.ok("鏂囦欢瀵煎叆瀹屾垚锛�");
-    }
-
-    /**
-     * 閫氳繃excel瀵煎叆鏁版嵁
-     *
-     * @param request
-     * @param response
-     * @return
-     */
-    @RequestMapping(value = "/secondMaintenanceImportExcel", method = RequestMethod.POST)
-    public Result<?> secondMaintenanceImportExcel(HttpServletRequest request, HttpServletResponse response) {
-        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
-        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
-        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-            // 鑾峰彇涓婁紶鏂囦欢瀵硅薄
-            MultipartFile file = entity.getValue();
-            ImportParams params = new ImportParams();
-            params.setTitleRows(2);
-            params.setHeadRows(1);
-            params.setSheetNum(1);
-            params.setNeedSave(true);
-            EamMaintenanceStandardRequest standardRequest = new EamMaintenanceStandardRequest();
-            try {
-                //璇诲彇璁惧缂栧彿锛屽浘鐗囩瓑
-                readWeekExcel(file, standardRequest);
-                EamEquipment equipment = eamEquipmentService.selectByEquipmentCode(standardRequest.getEquipmentCode());
-                if(equipment == null) {
-                    log.error("璁惧涓嶅瓨鍦細{}", standardRequest.getEquipmentCode());
-                    continue;
-                }
-                standardRequest.setStandardName(standardRequest.getEquipmentName() + "浜屼繚鏍囧噯");
-                standardRequest.setMaintenanceCategory(MaintenanceCategoryEnum.SECOND_MAINTENANCE.name());
-                standardRequest.setEquipmentId(equipment.getId());
-                //璇诲彇淇濆吇鏄庣粏鍐呭
-                List<SecondMaintenanceStandardImport> list = ExcelImportUtil.importExcel(file.getInputStream(), SecondMaintenanceStandardImport.class, params);
-                //鏄庣粏椤�
-                List<EamMaintenanceStandardDetail> tableList = list.stream().map(EamMaintenanceStandardDetail::new).collect(Collectors.toList());
-                standardRequest.setTableDetailList(tableList);
-                String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.MAINTENANCE_STANDARD_CODE_RULE);
-                standardRequest.setStandardCode(codeSeq);
-                boolean b = eamMaintenanceStandardService.addMaintenanceStandard(standardRequest);
-                if (!b) {
-                    log.error("淇濆瓨澶辫触锛� {}", standardRequest.getEquipmentCode());
-                }
-            } catch (Exception e) {
-                //update-begin-author:taoyan date:20211124 for: 瀵煎叆鏁版嵁閲嶅澧炲姞鎻愮ず
-                String msg = e.getMessage();
-                log.error("鏂囦欢 {} 澶勭悊寮傚父锛� {}", file.getOriginalFilename(), msg, e);
-                //update-end-author:taoyan date:20211124 for: 瀵煎叆鏁版嵁閲嶅澧炲姞鎻愮ず
-            } finally {
-                try {
-                    file.getInputStream().close();
-                } catch (IOException e) {
-                    log.error(e.getMessage(), e);
-                }
-            }
-        }
-        return Result.ok("鏂囦欢瀵煎叆瀹屾垚锛�");
-    }
-
-    /**
-     * 閫氳繃excel瀵煎叆鏁版嵁
-     *
-     * @param request
-     * @param response
-     * @return
-     */
-    @RequestMapping(value = "/thirdMaintenanceImportExcel", method = RequestMethod.POST)
-    public Result<?> thirdMaintenanceImportExcel(HttpServletRequest request, HttpServletResponse response) {
-        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
-        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
-        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-            // 鑾峰彇涓婁紶鏂囦欢瀵硅薄
-            MultipartFile file = entity.getValue();
-            ImportParams params = new ImportParams();
-            params.setTitleRows(2);
-            params.setHeadRows(1);
-            params.setSheetNum(1);
-            params.setNeedSave(true);
-            EamMaintenanceStandardRequest standardRequest = new EamMaintenanceStandardRequest();
-            try {
-                //璇诲彇璁惧缂栧彿锛屽浘鐗囩瓑
-                readWeekExcel(file, standardRequest);
-                EamEquipment equipment = eamEquipmentService.selectByEquipmentCode(standardRequest.getEquipmentCode());
-                if(equipment == null) {
-                    log.error("璁惧涓嶅瓨鍦細{}", standardRequest.getEquipmentCode());
-                    continue;
-                }
-                standardRequest.setStandardName(standardRequest.getEquipmentName() + "涓変繚鏍囧噯");
-                standardRequest.setMaintenanceCategory(MaintenanceCategoryEnum.THIRD_MAINTENANCE.name());
-                standardRequest.setEquipmentId(equipment.getId());
-                //璇诲彇淇濆吇鏄庣粏鍐呭
-                List<ThirdMaintenanceStandardImport> list = ExcelImportUtil.importExcel(file.getInputStream(), ThirdMaintenanceStandardImport.class, params);
-                //鏄庣粏椤�
-                List<EamMaintenanceStandardDetail> tableList = list.stream().map(EamMaintenanceStandardDetail::new).collect(Collectors.toList());
-                standardRequest.setTableDetailList(tableList);
-                String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.MAINTENANCE_STANDARD_CODE_RULE);
-                standardRequest.setStandardCode(codeSeq);
-                boolean b = eamMaintenanceStandardService.addMaintenanceStandard(standardRequest);
-                if (!b) {
-                    log.error("淇濆瓨澶辫触锛� {}", standardRequest.getEquipmentCode());
-                }
-            } catch (Exception e) {
-                //update-begin-author:taoyan date:20211124 for: 瀵煎叆鏁版嵁閲嶅澧炲姞鎻愮ず
-                String msg = e.getMessage();
-                log.error("鏂囦欢 {} 澶勭悊寮傚父锛� {}", file.getOriginalFilename(), msg, e);
-                //update-end-author:taoyan date:20211124 for: 瀵煎叆鏁版嵁閲嶅澧炲姞鎻愮ず
-            } finally {
-                try {
-                    file.getInputStream().close();
-                } catch (IOException e) {
-                    log.error(e.getMessage(), e);
-                }
-            }
-        }
-        return Result.ok("鏂囦欢瀵煎叆瀹屾垚锛�");
-    }
-
-    /**
-     * 璇诲彇Excel 绗竴琛岋紝 绗簩琛岀殑淇℃伅锛屽寘鎷浘鐗囦俊鎭�
-     * @param file
-     * @param request
-     */
-    private void readExcel(MultipartFile file, EamMaintenanceStandardRequest request) {
-        Workbook book = null;
-        boolean isXSSFWorkbook = false;
+     * 鐐规瀵煎叆
+    */
+    @PostMapping("/importPointInspection")
+    public Result<?> importPointInspectionExcel(HttpServletRequest request) {
         try {
-            book = WorkbookFactory.create(file.getInputStream());
-            if (book instanceof XSSFWorkbook) {
-                isXSSFWorkbook = true;
+            MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+            Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+
+            Map<String, String> results = new LinkedHashMap<>();
+            int successCount = 0;
+            int failureCount = 0;
+
+            for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+                MultipartFile file = entity.getValue();
+                String fileName = file.getOriginalFilename();
+
+                Result<?> importResult = eamMaintenanceStandardService.importPointInspectionExcel(file);
+
+                if (importResult.isSuccess()) {
+                    results.put(fileName, "鎴愬姛: " + importResult.getMessage());
+                    successCount++;
+                } else {
+                    results.put(fileName, "澶辫触: " + importResult.getMessage());
+                    failureCount++;
+                }
             }
 
-            Sheet sheet = book.getSheetAt(0);
-            //绗竴琛岃鍙�
-            Row row = sheet.getRow(0);
-            //璁惧缂栫爜
-            Cell equipmentCode = row.getCell(15);
-            if(CellType.NUMERIC.equals(equipmentCode.getCellType())) {
-                request.setEquipmentCode(String.valueOf((int) equipmentCode.getNumericCellValue()));
-            }else if(CellType.STRING.equals(equipmentCode.getCellType())) {
-                request.setEquipmentCode(equipmentCode.getStringCellValue());
-            }
-            if (StringUtils.isBlank(request.getEquipmentCode())) {
-                throw new JeecgBootException("Excel銆� " + file.getOriginalFilename() + "銆戞病鏈夎鍙栧埌璁惧缂栧彿锛屽鍏ュけ璐ワ紒");
-            }
-            //鍒濆鏃ユ湡
-            Cell initialDate = row.getCell(11);
-            if (DateUtil.isCellDateFormatted(initialDate)) {
-                request.setInitialDate(initialDate.getDateCellValue());
-            } else {
-                request.setInitialDate(new Date());
-            }
-            //璁惧鍚嶇О
-            Cell equipmentName = row.getCell(13);
-            request.setEquipmentName(equipmentName.getStringCellValue());
+            // 鏋勫缓鍝嶅簲
+            Map<String, Object> response = new HashMap<>();
+            response.put("results", results);
+            response.put("totalFiles", fileMap.size());
+            response.put("successCount", successCount);
+            response.put("failureCount", failureCount);
 
-            //绗簩琛岃鍙�
-            row = sheet.getRow(1);
-            //淇濆吇鍛ㄦ湡
-            Cell period = row.getCell(11);
-            if (CellType.NUMERIC.equals(period.getCellType())) {
-                request.setMaintenancePeriod((int) period.getNumericCellValue());
+            if (failureCount == 0) {
+                return Result.ok("鎵�鏈夌偣妫�鏂囦欢瀵煎叆鎴愬姛"+response);
+            } else if (successCount == 0) {
+                return Result.error("鎵�鏈夌偣妫�鏂囦欢瀵煎叆澶辫触", response);
             } else {
-                //榛樿鐐规鍛ㄦ湡 1
-                request.setMaintenancePeriod(1);
+                return Result.error("閮ㄥ垎鐐规鏂囦欢瀵煎叆澶辫触", response);
             }
-            //鏂囦欢缂栫爜
-            Cell fileCode = row.getCell(13);
-            request.setFileCode(fileCode.getStringCellValue());
+
         } catch (Exception e) {
-            log.error("璇诲彇Excel淇℃伅澶辫触锛歿}", e.getMessage(), e);
+            log.error("鐐规瀵煎叆澶勭悊寮傚父", e);
+            return Result.error("鐐规瀵煎叆澶勭悊澶辫触: " + e.getMessage());
+        }
+    }
+
+
+    /**
+     * 浜屼繚瀵煎叆
+     */
+    @PostMapping("/importSecondMaintenanceStandard")
+    public Result<?> importSecondMaintenanceStandard(HttpServletRequest request) {
+        try {
+            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 = eamMaintenanceStandardService.importMaintenanceStandard(file, "SECOND");
+
+                if (importResult.isSuccess()) {
+                    results.put(fileName, "鎴愬姛: " + importResult.getMessage());
+                    successCount++;
+                } else {
+                    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);
+
+        } catch (Exception e) {
+            log.error("瀵煎叆澶勭悊寮傚父", e);
+            return Result.error("瀵煎叆澶勭悊澶辫触: " + e.getMessage());
         }
     }
 
     /**
-     * 璇诲彇Excel 绗竴琛岋紝 绗簩琛岀殑淇℃伅
-     * @param file
-     * @param request
+     * 涓変繚瀵煎叆
      */
-    public void readWeekExcel(MultipartFile file, EamMaintenanceStandardRequest request) {
-        Workbook book = null;
-        boolean isXSSFWorkbook = false;
+    @PostMapping("/importThirdMaintenanceStandard")
+    public Result<?> importThirdMaintenanceStandard(HttpServletRequest request) {
         try {
-            book = WorkbookFactory.create(file.getInputStream());
-            if (book instanceof XSSFWorkbook) {
-                isXSSFWorkbook = true;
+            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 = eamMaintenanceStandardService.importMaintenanceStandard(file, "THIRD");
+
+                if (importResult.isSuccess()) {
+                    results.put(fileName, "鎴愬姛: " + importResult.getMessage());
+                    successCount++;
+                } else {
+                    results.put(fileName, "澶辫触: " + importResult.getMessage());
+                    failureCount++;
+                }
             }
 
-            Sheet sheet = book.getSheetAt(0);
-            //绗竴琛岃鍙�
-            Row row = sheet.getRow(0);
-            //璁惧缂栫爜
-            Cell equipmentCode = row.getCell(10);
-            if(CellType.NUMERIC.equals(equipmentCode.getCellType())) {
-                request.setEquipmentCode(String.valueOf((int) equipmentCode.getNumericCellValue()));
-            }else if(CellType.STRING.equals(equipmentCode.getCellType())) {
-                request.setEquipmentCode(equipmentCode.getStringCellValue());
-            }
-            if (StringUtils.isBlank(request.getEquipmentCode())) {
-                throw new JeecgBootException("Excel銆� " + file.getOriginalFilename() + "銆戞病鏈夎鍙栧埌璁惧缂栧彿锛屽鍏ュけ璐ワ紒");
-            }
-            //鍒濆鏃ユ湡
-            Cell initialDate = row.getCell(6);
-            if (DateUtil.isCellDateFormatted(initialDate)) {
-                request.setInitialDate(initialDate.getDateCellValue());
-            } else {
-                request.setInitialDate(new Date());
-            }
-            //璁惧鍚嶇О
-            Cell equipmentName = row.getCell(8);
-            request.setEquipmentName(equipmentName.getStringCellValue());
+            // 鏋勫缓鏈�缁堝搷搴�
+            Map<String, Object> response = new HashMap<>();
+            response.put("results", results);
+            response.put("totalFiles", fileMap.size());
+            response.put("successCount", successCount);
+            response.put("failureCount", failureCount);
 
-            //绗簩琛岃鍙�
-            row = sheet.getRow(1);
-            //淇濆吇鍛ㄦ湡
-            Cell period = row.getCell(6);
-            if (CellType.NUMERIC.equals(period.getCellType())) {
-                request.setMaintenancePeriod((int) period.getNumericCellValue());
-            } else {
-                request.setMaintenancePeriod(null);
+            if (failureCount > 0) {
+                return Result.error("閮ㄥ垎鏂囦欢瀵煎叆澶辫触", response);
             }
-            //鏂囦欢缂栫爜
-            Cell fileCode = row.getCell(8);
-            request.setFileCode(fileCode.getStringCellValue());
+
+            return Result.ok("鎵�鏈夋枃浠跺鍏ユ垚鍔�"+response);
+
         } catch (Exception e) {
-            log.error("璇诲彇Excel淇℃伅澶辫触锛歿}", e.getMessage(), e);
+            log.error("瀵煎叆澶勭悊寮傚父", e);
+            return Result.error("瀵煎叆澶勭悊澶辫触: " + e.getMessage());
         }
     }
+
 }

--
Gitblit v1.9.3