qushaowei
2024-01-11 792ff6e14b5074d30f8a7bd804d3b8e6454c3969
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java
@@ -169,6 +169,17 @@
    @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");
@@ -325,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));
@@ -333,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");
@@ -398,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("无法解析该文件");
@@ -434,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("无法解析该文件");
                }
@@ -569,6 +595,7 @@
//            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());
            }