lyh
7 天以前 d76b518341ec0644c3500555d5c4121bc30d581e
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java
@@ -323,6 +323,16 @@
        return eamMaintenanceStandardMapper.selectList(queryWrapper);
    }
    @Override
    public EamMaintenanceStandard queryByEquipmentIdAndCategory(String equipmentId, String maintenanceCategory) {
        LambdaQueryWrapper<EamMaintenanceStandard> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(EamMaintenanceStandard::getDelFlag, CommonConstant.DEL_FLAG_0);
        queryWrapper.eq(EamMaintenanceStandard::getMaintenanceCategory, maintenanceCategory);
        queryWrapper.eq(EamMaintenanceStandard::getStandardStatus, MaintenanceStandardStatusEnum.START.name());
        queryWrapper.eq(EamMaintenanceStandard::getEquipmentId, equipmentId);
        return eamMaintenanceStandardMapper.selectOne(queryWrapper);
    }
    /*流程业务代码--------------------------开始*/
@@ -552,7 +562,11 @@
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Result<?> importPointInspectionExcel(MultipartFile file) {
    public Result<?> importPointInspectionExcel(MultipartFile file,String id) {
        EamMaintenanceStandard eamMaintenanceStandardOld=new EamMaintenanceStandard();
        if (StrUtil.isNotEmpty(id)){
            eamMaintenanceStandardOld=eamMaintenanceStandardMapper.selectById(id);
        }
        try (Workbook workbook = WorkbookFactory.create(file.getInputStream())) {
            Sheet sheet = workbook.getSheetAt(0);
@@ -567,14 +581,32 @@
            eamMaintenanceStandard.setStandardName(name);
            // 检查重复
            EamMaintenanceStandard exist = checkDuplicate(eamMaintenanceStandard.getEquipmentId(),
                    eamMaintenanceStandard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.ABOLISH.name());
            if (exist != null) {
                return Result.error(name + ": 设备标准已存在,不能重复添加");
            // 检查重复,只导入校验,升版不校验
            if (StrUtil.isEmpty(id)){
                EamMaintenanceStandard exist = checkDuplicate(eamMaintenanceStandard.getEquipmentId(),
                        eamMaintenanceStandard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.ABOLISH.name());
                if (exist != null) {
                    return Result.error(name + ": 设备标准已存在,不能重复添加");
                }
            }
            if (eamMaintenanceStandardOld.getEquipmentId().equals(eamMaintenanceStandard.getEquipmentId())
                &&eamMaintenanceStandardOld.getMaintenanceCategory().equals(eamMaintenanceStandard.getMaintenanceCategory())) {
                //升版操作,作废原有
                eamMaintenanceStandardOld.setStandardStatus(MaintenanceStandardStatusEnum.ABOLISH.name());
                eamMaintenanceStandardMapper.updateById(eamMaintenanceStandard);
                //版本递增获取数字
                Pattern pattern = Pattern.compile("(\\d+)(?:\\.\\d+)*$");
                Matcher matcher = pattern.matcher(eamMaintenanceStandardOld.getStandardVersion());
                if (matcher.find()) {
                    try {
                        int mainVersion = Integer.parseInt(matcher.group(1));
                        eamMaintenanceStandard.setStandardVersion("v" + (mainVersion + 1));
                    } catch (NumberFormatException ignored) {
                    }
                }
            }
            eamMaintenanceStandard.setInitialDate(new Date());
            eamMaintenanceStandardMapper.insert(eamMaintenanceStandard);
            eamMaintenanceStandardMapper.insert(eamMaintenanceStandardOld);
            Map<Integer, String> rowErrors = new HashMap<>();
@@ -1084,7 +1116,7 @@
     */
    @Override
    @Transactional
    public Result<?> importMaintenanceStandard(MultipartFile file, String type) {
    public Result<?> importMaintenanceStandard(MultipartFile file, String type,String id) {
        String fileName = file.getOriginalFilename();
        try (XWPFDocument doc = new XWPFDocument(file.getInputStream())) {
@@ -1130,11 +1162,35 @@
                        return Result.error(fileName + ": 设备信息提取失败");
                    }
                    EamMaintenanceStandard eamMaintenanceStandardOld=new EamMaintenanceStandard();
                    if (StrUtil.isNotEmpty(id)){
                        eamMaintenanceStandardOld=eamMaintenanceStandardMapper.selectById(id);
                    }
                    // 配置类型相关参数
                    configureStandard(standard, type, file);
                    EamMaintenanceStandard exist = checkDuplicate(standard.getEquipmentId(), standard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.ABOLISH.name());
                    if (exist != null) {
                        return Result.error(fileName + ": 设备标准已存在,不能重复添加");
                    if (StrUtil.isEmpty(id)){
                        EamMaintenanceStandard exist = checkDuplicate(standard.getEquipmentId(), standard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.ABOLISH.name());
                        if (exist != null) {
                            return Result.error(fileName + ": 设备标准已存在,不能重复添加");
                        }
                    }
                    if (eamMaintenanceStandardOld.getEquipmentId().equals(standard.getEquipmentId())
                            &&eamMaintenanceStandardOld.getMaintenanceCategory().equals(standard.getMaintenanceCategory())) {
                        //升版操作,作废原有
                        eamMaintenanceStandardOld.setStandardStatus(MaintenanceStandardStatusEnum.ABOLISH.name());
                        eamMaintenanceStandardMapper.updateById(eamMaintenanceStandardOld);
                        //版本递增获取数字
                        Pattern pattern = Pattern.compile("(\\d+)(?:\\.\\d+)*$");
                        Matcher matcher = pattern.matcher(eamMaintenanceStandardOld.getStandardVersion());
                        if (matcher.find()) {
                            try {
                                int mainVersion = Integer.parseInt(matcher.group(1));
                                standard.setStandardVersion("v" + (mainVersion + 1));
                            } catch (NumberFormatException ignored) {
                            }
                        }
                    }
                    standard.setStandardName(documentTitle);
                    eamMaintenanceStandardMapper.insert(standard);