From cb7eb6fa3477e624f7112a2eac632783b96bf4b4 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期一, 15 一月 2024 16:19:35 +0800
Subject: [PATCH] 点检标准 多sheet页导入

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java |  207 +++++++++++++++++++++++++++++++--------------------
 1 files changed, 126 insertions(+), 81 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 36c6cdd..5efd33a 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
@@ -21,6 +21,7 @@
 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;
@@ -168,11 +169,29 @@
     @Transactional(rollbackFor = {Exception.class})
     public Result<String> add(@RequestBody MaintenanceStandard maintenanceStandard) {
 //        maintenanceStandard.setType("daily");
+
+        String maintenanceType = maintenanceStandard.getMaintenanceType();
+        String equipmentId = maintenanceStandard.getEquipmentId();
+        List<MaintenanceStandard> maintenanceStandards = maintenanceStandardService.lambdaQuery()
+                .eq(MaintenanceStandard::getEquipmentId, equipmentId)
+                .eq(MaintenanceStandard::getMaintenanceType, maintenanceType)
+                .eq(MaintenanceStandard::getDelFlag, "0")
+                .eq(MaintenanceStandard::getVersionStatus, "2").list();
+        if(maintenanceStandards.size() > 0){
+            return Result.error("淇濆吇鏍囧噯宸插瓨鍦ㄤ笉鍏佽閲嶅鎻愪氦锛�");
+        }
         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);
@@ -200,8 +219,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);
         }
@@ -312,7 +336,7 @@
                                     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);
+                                        maintenanceStandard = maintenanceStandardService.getOne(new QueryWrapper<MaintenanceStandard>().eq("maintenance_type","2").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));
@@ -320,6 +344,7 @@
                                             maintenanceStandard.setAssignMode("1");
                                             maintenanceStandard.setVersion("1.0");
                                             maintenanceStandard.setType("daily");
+                                            maintenanceStandard.setMaintenanceType("2");
                                             maintenanceStandard.setVersionStatus("2");
                                             maintenanceStandard.setDelFlag(0);
                                             maintenanceStandard.setApprovalStatus("5");
@@ -385,6 +410,99 @@
                             }
                         }
                     }
+                    if(mainTitle.equals("鐢熶骇璁惧涓夌骇淇濆吇瑙勮寖")){
+
+                        for (XWPFTable table : document.getTables()) {
+                            // 閬嶅巻琛ㄦ牸涓殑鎵�鏈夎
+                            int rowNumber = 0;
+                            String equipmentNum = "";
+                            Equipment equipment = null;
+                            MaintenanceStandard maintenanceStandard = null;
+                            MaintenanceCycle maintenanceCycle = 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("maintenance_type","3").eq("version_status",2).eq("del_flag",0).eq("equipment_id",equipment.getId()),false);
+                                        String abc = equipment.getEquipmentImportanceId();
+                                        if(StringUtils.isNotBlank(abc)){
+                                            if(abc.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);
+                                            }
+                                        }
+                                        else{
+                                            return Result.error("瀵煎叆澶辫触锛岃璁惧娌℃湁缁存姢ABC鏍囪瘑");
+                                        }
+                                        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.setMaintenanceType("3");
+                                            maintenanceStandard.setApprovalStatus("5");
+                                            maintenanceStandardService.save(maintenanceStandard);
+                                        }
+                                        else {
+                                            continue;
+                                        }
+                                    }
+                                    else {
+                                        continue;
+                                    }
+                                }
+                                else {
+                                    continue;
+                                }
+                            }
+                            else {
+                                continue;
+                            }
+                            String location0 = "";
+                            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 = cell0.getText();
+                                    if(StringUtils.isNotBlank(location)){
+                                        location0=location;
+                                    }
+                                    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);
+                                        if (!ObjectUtils.isNotNull(maintenanceProject)) {
+                                            maintenanceProject = new MaintenanceProject();
+                                            maintenanceProject.setNum(sysIdentityService.getNumByTypeAndLength("MainOfTwo", 4));
+                                            maintenanceProject.setName(projectName);
+                                            maintenanceProject.setStandard(projectStandard);
+                                            maintenanceProject.setLocation(location0);
+                                            maintenanceProject.setMaintenanceProjectCategoryId(maintenanceProjectCategory.getId());
+                                            maintenanceProject.setDelFlag(0);
+                                            maintenanceProjectService.save(maintenanceProject);
+                                        }
+                                        maintenanceStandardDetail.setMaintenanceProjectId(maintenanceProject.getId());
+                                        maintenanceStandardDetail.setLocation(location0);
+                                        maintenanceStandardDetail.setMaintenanceCycleId(maintenanceCycle.getId());
+                                        maintenanceStandardDetail.setMaintenanceStandardId(maintenanceStandard.getId());
+                                        maintenanceStandardDetailService.save(maintenanceStandardDetail);
+                                    }
+
+                                }
+                                rowNumber++;
+                            }
+                        }
+                    }
                     return Result.OK("瀵煎叆鎴愬姛");
                 } else {
                     System.out.println("鏃犳硶瑙f瀽璇ユ枃浠�");
@@ -421,86 +539,7 @@
                 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瀽璇ユ枃浠�");
                 }
@@ -545,15 +584,21 @@
         //鏄庣粏淇℃伅
         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());
+            isd.setMaintenanceRole(maintenanceStandardDetail.getMaintenanceRole());
+            if(maintenanceCycle.size() > 0){
+                isd.setMaintenanceCycleId(maintenanceCycle.get(0).getValue());
+            }
             maintenanceStandardDetailService.save(isd);
         }
         if(CollectionUtils.isNotEmpty(maintenanceStandardPlanningMaterialList)){

--
Gitblit v1.9.3