From 6cfacfa1c68c60f524354ac99ffb8a036478f85f Mon Sep 17 00:00:00 2001
From: “linengliang” <vanSuperEnergy@163.com>
Date: 星期三, 13 十二月 2023 14:55:58 +0800
Subject: [PATCH] 设备

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java |  292 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 287 insertions(+), 5 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java
index 5abbfad..5426b62 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java
@@ -9,6 +9,9 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.apache.poi.xwpf.usermodel.*;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
@@ -18,15 +21,21 @@
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.eam.entity.*;
+import org.jeecg.modules.eam.model.MaintenanceCycleVo;
 import org.jeecg.modules.eam.service.*;
+import org.jeecgframework.poi.excel.entity.ImportParams;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.InputStream;
 import java.math.BigDecimal;
 import java.util.Arrays;
 import java.util.Date;
@@ -64,6 +73,19 @@
     @Autowired
     @Lazy
     private IMaintenanceStandardWorkInstructionService maintenanceStandardWorkInstructionService;
+
+    @Autowired
+    private IMaintenanceProjectService maintenanceProjectService;
+
+    @Autowired
+    @Lazy
+    private IdentityService sysIdentityService;
+    @Autowired
+    @Lazy
+    private IMaintenanceProjectCategoryService maintenanceProjectCategoryService;
+    @Lazy
+    @Autowired
+    private IMaintenanceCycleService maintenanceCycleService;
 
 
 
@@ -115,12 +137,22 @@
 
 
     /**
-     * 鏃ュ父淇濆吇宸ュ崟鍒涘缓  缁勪欢閫氳繃浣跨敤閮ㄩ棬杩囨护鑾峰彇淇濆吇鏍囧噯
+     * 浜屼繚  缁勪欢閫氳繃浣跨敤閮ㄩ棬杩囨护鑾峰彇淇濆吇鏍囧噯
      * qsw 2023-4-26
      */
     @GetMapping("getMaintenanceStandard2List")
     public Result<?> getMaintenanceStandard2List(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) {
         IPage<Map<String, Object>> maintenanceStandardList = maintenanceStandardService.getMaintenanceStandard2List(pageNo, pageSize, params);
+        return Result.ok(maintenanceStandardList);
+    }
+
+    /**
+     * 涓変繚  缁勪欢閫氳繃浣跨敤閮ㄩ棬杩囨护鑾峰彇淇濆吇鏍囧噯
+     * qsw 2023-12-12
+     */
+    @GetMapping("getMaintenanceStandard3List")
+    public Result<?> getMaintenanceStandard3List(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) {
+        IPage<Map<String, Object>> maintenanceStandardList = maintenanceStandardService.getMaintenanceStandard3List(pageNo, pageSize, params);
         return Result.ok(maintenanceStandardList);
     }
 
@@ -139,9 +171,16 @@
 //        maintenanceStandard.setType("daily");
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         maintenanceStandard.setWritePerson(sysUser.getRealname());
+        maintenanceStandard.setAssignMode("1");
         maintenanceStandardService.save(maintenanceStandard);
+
+        Equipment equipment = equipmentService.getById(maintenanceStandard.getEquipmentId());
+        List<MaintenanceCycleVo> maintenanceCycle = maintenanceStandardService.getPeriodicMaintenanceCycle(equipment.getEquipmentImportanceId(), maintenanceStandard.getMaintenanceType());
         List<MaintenanceStandardDetail> maintenanceStandardDetaillist = maintenanceStandard.getMaintenanceStandardDetaillist();
         for (MaintenanceStandardDetail maintenanceStandardDetail : maintenanceStandardDetaillist) {
+            if(maintenanceCycle.size() > 0){
+                maintenanceStandardDetail.setMaintenanceCycleId(maintenanceCycle.get(0).getValue());
+            }
             maintenanceStandardDetail.setMaintenanceStandardId(maintenanceStandard.getId());
             maintenanceStandardDetail.setPhoto(maintenanceStandardDetail.getPhoto());
             maintenanceStandardDetailService.saveOrUpdate(maintenanceStandardDetail);
@@ -169,8 +208,13 @@
             maintenanceStandardDetailService.updateById(dailyInspectionStandardDetail);
         }
         //2.閲嶆柊鎸佷箙淇濆吇椤圭洰
+        Equipment equipment = equipmentService.getById(maintenanceStandard.getEquipmentId());
+        List<MaintenanceCycleVo> maintenanceCycle = maintenanceStandardService.getPeriodicMaintenanceCycle(equipment.getEquipmentImportanceId(), maintenanceStandard.getMaintenanceType());
         List<MaintenanceStandardDetail> maintenanceStandardDetails = maintenanceStandard.getMaintenanceStandardDetaillist();
         for (MaintenanceStandardDetail maintenanceStandardDetail : maintenanceStandardDetails) {
+            if(maintenanceCycle.size() > 0){
+                maintenanceStandardDetail.setMaintenanceCycleId(maintenanceCycle.get(0).getValue());
+            }
             maintenanceStandardDetail.setMaintenanceStandardId(maintenanceStandard.getId());
             maintenanceStandardDetailService.saveOrUpdate(maintenanceStandardDetail);
         }
@@ -251,9 +295,236 @@
      * @param response
      * @return
      */
-    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        return super.importExcel(request, response, MaintenanceStandard.class);
+    @RequestMapping(value = "/importExcelOfTwoMaintenance", method = RequestMethod.POST)
+    public Result<?> importExcelOfTwoMaintenance(HttpServletRequest request, HttpServletResponse response) {
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+        LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+        String exceptionInfo = "";
+        int exceptionNum = 0;
+        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+            MultipartFile file = entity.getValue();
+            try {
+                InputStream fis = file.getInputStream();
+                XWPFDocument document = new XWPFDocument(fis);
+                XWPFParagraph mainTitleParagraph = document.getParagraphs().get(0);
+                if (mainTitleParagraph != null) {
+                    // 鑾峰彇涓绘爣棰樻枃鏈唴瀹�
+                    String mainTitle = mainTitleParagraph.getText();
+                    if(mainTitle.equals("鐢熶骇璁惧浜岀骇淇濆吇瑙勮寖")){
+                        for (XWPFTable table : document.getTables()) {
+                            // 閬嶅巻琛ㄦ牸涓殑鎵�鏈夎
+                            int rowNumber = 0;
+                            String equipmentNum = "";
+                            Equipment equipment = null;
+                            MaintenanceStandard maintenanceStandard = null;
+                            XWPFTableRow row0= table.getRow(0);
+                            if(ObjectUtils.isNotNull(row0)){
+                                XWPFTableCell cellEquipmentNum = row0.getCell(3);
+                                if(ObjectUtils.isNotNull(cellEquipmentNum)){
+                                    equipmentNum =cellEquipmentNum.getText();
+                                    equipment = equipmentService.getOne(new QueryWrapper<Equipment>().eq("num",equipmentNum).eq("del_flag",0),false);
+                                    if(ObjectUtils.isNotNull(equipment)){
+                                        maintenanceStandard = maintenanceStandardService.getOne(new QueryWrapper<MaintenanceStandard>().eq("version_status","2").eq("del_flag",0).eq("equipment_id",equipment.getId()),false);
+                                        if(ObjectUtils.isNull(maintenanceStandard)){
+                                            maintenanceStandard = new MaintenanceStandard();
+                                            maintenanceStandard.setNum(sysIdentityService.getNumByTypeAndLength("DailyMaintenanceStandard",4));
+                                            maintenanceStandard.setEquipmentId(equipment.getId());
+                                            maintenanceStandard.setAssignMode("1");
+                                            maintenanceStandard.setVersion("1.0");
+                                            maintenanceStandard.setType("daily");
+                                            maintenanceStandard.setVersionStatus("2");
+                                            maintenanceStandard.setDelFlag(0);
+                                            maintenanceStandard.setApprovalStatus("5");
+                                            maintenanceStandardService.save(maintenanceStandard);
+                                        }
+                                        else {
+                                            continue;
+                                        }
+                                    }
+                                    else {
+                                        continue;
+                                    }
+                                }
+                                else {
+                                    continue;
+                                }
+                            }
+                            else {
+                                continue;
+                            }
+                            String role0 = "";
+                            for (XWPFTableRow row : table.getRows()) {
+                                XWPFTableCell cell0 = row.getCell(0);
+                                XWPFTableCell cell2 = row.getCell(2);
+                                if(rowNumber>1){
+                                    String role = cell0.getText();
+                                    if(StringUtils.isNotBlank(role)){
+                                        role0=role;
+                                    }
+                                }
+                                if(rowNumber>2){
+                                    String projectName = cell2.getText();
+                                    MaintenanceStandardDetail maintenanceStandardDetail = new MaintenanceStandardDetail();
+                                    MaintenanceProjectCategory maintenanceProjectCategory = maintenanceProjectCategoryService.getOne(new QueryWrapper<MaintenanceProjectCategory>().eq("name","浜岀骇淇濆吇").eq("del_flag",0),false);
+                                    if(ObjectUtils.isNotNull(maintenanceProjectCategory)){
+                                        MaintenanceProject maintenanceProject = maintenanceProjectService.getOne(new QueryWrapper<MaintenanceProject>().eq("name",projectName).eq("del_flag",0).eq("maintenance_project_category_id",maintenanceProjectCategory.getId()),false);
+                                        MaintenanceCycle maintenanceCycle = maintenanceCycleService.getOne(new QueryWrapper<MaintenanceCycle>().eq("name","6鏈�").eq("version_status",2).eq("del_flag",0),false);
+                                        if (!ObjectUtils.isNotNull(maintenanceProject)) {
+                                            maintenanceProject = new MaintenanceProject();
+                                            maintenanceProject.setNum(sysIdentityService.getNumByTypeAndLength("MainOfTwo", 4));
+                                            maintenanceProject.setName(projectName);
+                                            maintenanceProject.setMaintenanceProjectCategoryId(maintenanceProjectCategory.getId());
+                                            maintenanceProject.setDelFlag(0);
+                                            maintenanceProjectService.save(maintenanceProject);
+                                        }
+                                        maintenanceStandardDetail.setMaintenanceProjectId(maintenanceProject.getId());
+                                        if(role0.equals("缁翠慨浜哄憳淇濆吇鍐呭")){
+                                            maintenanceStandardDetail.setMaintenanceRole("maintenance");
+                                        } else if(role0.equals("鎿嶄綔浜哄憳淇濆吇鍐呭")){
+                                            maintenanceStandardDetail.setMaintenanceRole("operator");
+                                        }
+                                        if(ObjectUtils.isNotNull(maintenanceCycle)){
+                                            maintenanceStandardDetail.setMaintenanceCycleId(maintenanceCycle.getId());
+                                        }
+                                        maintenanceStandardDetail.setDelFlag(0);
+                                        maintenanceStandardDetail.setMaintenanceStandardId(maintenanceStandard.getId());
+                                        maintenanceStandardDetailService.save(maintenanceStandardDetail);
+
+                                    }
+
+                                }
+                                rowNumber++;
+                            }
+                        }
+                    }
+                    return Result.OK("瀵煎叆鎴愬姛");
+                } else {
+                    System.out.println("鏃犳硶瑙f瀽璇ユ枃浠�");
+                }
+
+               fis.close();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+
+        }
+        return Result.error("鏂囦欢瀵煎叆澶辫触锛�");
+    }
+    /**
+     * 閫氳繃excel瀵煎叆鏁版嵁
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/importExcelOfThreeMaintenance", method = RequestMethod.POST)
+    public Result<?> importExcelOfThreeMaintenance(HttpServletRequest request, HttpServletResponse response) {
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+        LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+        String exceptionInfo = "";
+        int exceptionNum = 0;
+        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+            MultipartFile file = entity.getValue();
+            try {
+                InputStream fis = file.getInputStream();
+                XWPFDocument document = new XWPFDocument(fis);
+                XWPFParagraph mainTitleParagraph = document.getParagraphs().get(0);
+                if (mainTitleParagraph != null) {
+                    // 鑾峰彇涓绘爣棰樻枃鏈唴瀹�
+                    String mainTitle = mainTitleParagraph.getText();
+                    if(mainTitle.equals("鐢熶骇璁惧涓夌骇淇濆吇瑙勮寖")){
+                        for (XWPFTable table : document.getTables()) {
+                            // 閬嶅巻琛ㄦ牸涓殑鎵�鏈夎
+                            int rowNumber = 0;
+                            String equipmentNum = "";
+                            Equipment equipment = null;
+                            MaintenanceStandard maintenanceStandard = null;
+                            XWPFTableRow row0= table.getRow(0);
+                            if(ObjectUtils.isNotNull(row0)){
+                                XWPFTableCell cellEquipmentNum = row0.getCell(3);
+                                if(ObjectUtils.isNotNull(cellEquipmentNum)){
+                                    equipmentNum =cellEquipmentNum.getText();
+                                    equipment = equipmentService.getOne(new QueryWrapper<Equipment>().eq("num",equipmentNum).eq("del_flag",0),false);
+                                    if(ObjectUtils.isNotNull(equipment)){
+                                        maintenanceStandard = maintenanceStandardService.getOne(new QueryWrapper<MaintenanceStandard>().eq("version_status",2).eq("del_flag",0).eq("equipment_id",equipment.getId()),false);
+                                        if(ObjectUtils.isNull(maintenanceStandard)){
+                                            maintenanceStandard = new MaintenanceStandard();
+                                            maintenanceStandard.setNum(sysIdentityService.getNumByTypeAndLength("DailyMaintenanceStandard",4));
+                                            maintenanceStandard.setEquipmentId(equipment.getId());
+                                            maintenanceStandard.setAssignMode("1");
+                                            maintenanceStandard.setVersion("1.0");
+                                            maintenanceStandard.setVersionStatus("2");
+                                            maintenanceStandard.setType("daily");
+                                            maintenanceStandard.setApprovalStatus("5");
+                                            maintenanceStandardService.save(maintenanceStandard);
+                                        }
+                                        else {
+                                            continue;
+                                        }
+                                    }
+                                    else {
+                                        continue;
+                                    }
+                                }
+                                else {
+                                    continue;
+                                }
+                            }
+                            else {
+                                continue;
+                            }
+                            for (XWPFTableRow row : table.getRows()) {
+                                XWPFTableCell cell0 = row.getCell(0);
+                                XWPFTableCell cell1 = row.getCell(1);
+                                XWPFTableCell cell2 = row.getCell(2);
+                                if(rowNumber>2){
+                                    String location = getMergedCellValue(cell0);
+                                    String projectName = cell1.getText();
+                                    String projectStandard = cell2.getText();
+                                    MaintenanceStandardDetail maintenanceStandardDetail = new MaintenanceStandardDetail();
+                                    MaintenanceProjectCategory maintenanceProjectCategory = maintenanceProjectCategoryService.getOne(new QueryWrapper<MaintenanceProjectCategory>().eq("name","涓夌骇淇濆吇").eq("del_flag",0),false);
+                                    if(ObjectUtils.isNotNull(maintenanceProjectCategory)){
+                                        MaintenanceProject maintenanceProject = maintenanceProjectService.getOne(new QueryWrapper<MaintenanceProject>().eq("name",projectName).eq("standard",projectStandard).eq("del_flag",0).eq("maintenance_project_category_id",maintenanceProjectCategory.getId()),false);
+                                        MaintenanceCycle maintenanceCycle = null;
+                                        if(equipment.getEquipmentImportanceId().equals("A")){
+                                             maintenanceCycle = maintenanceCycleService.getOne(new QueryWrapper<MaintenanceCycle>().eq("name","3骞�").eq("version_status",2).eq("del_flag",0),false);
+                                        }else {
+                                             maintenanceCycle = maintenanceCycleService.getOne(new QueryWrapper<MaintenanceCycle>().eq("name","4骞�").eq("version_status",2).eq("del_flag",0),false);
+                                        }
+                                        if (!ObjectUtils.isNotNull(maintenanceProject)) {
+                                            maintenanceProject = new MaintenanceProject();
+                                            maintenanceProject.setNum(sysIdentityService.getNumByTypeAndLength("MainOfTwo", 4));
+                                            maintenanceProject.setName(projectName);
+                                            maintenanceProject.setLocation(location);
+                                            maintenanceProject.setMaintenanceProjectCategoryId(maintenanceProjectCategory.getId());
+                                            maintenanceProject.setDelFlag(0);
+                                            maintenanceProjectService.save(maintenanceProject);
+                                        }
+                                        maintenanceStandardDetail.setMaintenanceProjectId(maintenanceProject.getId());
+                                        maintenanceStandardDetail.setLocation(location);
+                                        maintenanceStandardDetail.setMaintenanceCycleId(maintenanceCycle.getId());
+                                        maintenanceStandardDetail.setMaintenanceStandardId(maintenanceStandard.getId());
+                                        maintenanceStandardDetailService.save(maintenanceStandardDetail);
+                                    }
+
+                                }
+                                rowNumber++;
+                            }
+                        }
+                    }
+                } else {
+                    System.out.println("鏃犳硶瑙f瀽璇ユ枃浠�");
+                }
+
+                fis.close();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+
+        }
+        return Result.error("鏂囦欢瀵煎叆澶辫触锛�");
     }
 
     /**
@@ -287,15 +558,20 @@
         //鏄庣粏淇℃伅
         List<MaintenanceStandardDetail> maintenanceStandardDetailList = maintenanceStandard.getMaintenanceStandardDetaillist();
         MaintenanceStandardDetail isd = null;
+        Equipment equipment = equipmentService.getById(maintenanceStandard.getEquipmentId());
+        List<MaintenanceCycleVo> maintenanceCycle = maintenanceStandardService.getPeriodicMaintenanceCycle(equipment.getEquipmentImportanceId(), maintenanceStandard.getMaintenanceType());
         for (MaintenanceStandardDetail maintenanceStandardDetail : maintenanceStandardDetailList) {
             isd = new MaintenanceStandardDetail();
             isd.setMaintenanceStandardId(maintenanceStandard.getId());
             isd.setLocation(maintenanceStandardDetail.getLocation());
             isd.setPhoto(maintenanceStandardDetail.getPhoto());
             isd.setMaintenanceProjectId(maintenanceStandardDetail.getMaintenanceProjectId());
-            isd.setMaintenanceCycleId(maintenanceStandardDetail.getMaintenanceCycleId());
+//            isd.setMaintenanceCycleId(maintenanceStandardDetail.getMaintenanceCycleId());
             isd.setMaintenanceMode(maintenanceStandardDetail.getMaintenanceMode());
             isd.setMaintenanceRequire(maintenanceStandardDetail.getMaintenanceRequire());
+            if(maintenanceCycle.size() > 0){
+                isd.setMaintenanceCycleId(maintenanceCycle.get(0).getValue());
+            }
             maintenanceStandardDetailService.save(isd);
         }
         if(CollectionUtils.isNotEmpty(maintenanceStandardPlanningMaterialList)){
@@ -406,5 +682,11 @@
             return Result.error("瀹℃牳澶辫触!");
         }
     }
+    // 鑾峰彇鍚堝苟鍗曞厓鏍肩殑鍊�
+    private  String getMergedCellValue(XWPFTableCell cell) {
+        // 瀵逛簬鍚堝苟鍗曞厓鏍硷紝鑾峰彇绗竴涓钀界殑鏂囨湰浣滀负鍚堝苟鍗曞厓鏍肩殑鍊�
+        return cell.getParagraphs().get(0).getText();
+    }
+
 
 }

--
Gitblit v1.9.3