zhangherong
2025-04-02 131b2dc4b3e5e3e894b2d55d485e46ef010b5f30
art: 设备管理-保养标准-升版
已修改3个文件
90 ■■■■■ 文件已修改
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java
@@ -134,6 +134,31 @@
    }
    /**
     * 升版
     *
     * @param standardRequest
     * @return
     */
    @AutoLog(value = "保养标准-升版")
    @ApiOperation(value = "保养标准-升版", notes = "保养标准-升版")
    @RequestMapping(value = "/upgrade", method = {RequestMethod.PUT, RequestMethod.POST})
    public Result<?> upgrade(@RequestBody EamMaintenanceStandardRequest standardRequest) {
        if (standardRequest == null) {
            return Result.error("添加的对象不能为空!");
        }
        if (CollectionUtil.isEmpty(standardRequest.getTableDetailList())) {
            return Result.error("保养项不能为空!");
        }
        String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.MAINTENANCE_STANDARD_CODE_RULE);
        standardRequest.setStandardCode(codeSeq);
        boolean b = eamMaintenanceStandardService.upgradeMaintenanceStandard(standardRequest);
        if (!b) {
            return Result.error("升版失败!");
        }
        return Result.OK("升版成功!");
    }
    /**
     * 通过id删除
     *
     * @param id
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java
@@ -34,6 +34,13 @@
    boolean editMaintenanceStandard(EamMaintenanceStandardRequest standardRequest);
    /**
     * 升版
     * @param standardRequest
     * @return
     */
    boolean upgradeMaintenanceStandard(EamMaintenanceStandardRequest standardRequest);
    /**
     * 重复性校验
     * @param equipmentId 设备编号
     * @param maintenanceCategory 保养类型
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java
@@ -190,6 +190,64 @@
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean upgradeMaintenanceStandard(EamMaintenanceStandardRequest standardRequest) {
        EamMaintenanceStandard entity = eamMaintenanceStandardMapper.selectById(standardRequest.getId());
        if(entity == null){
            throw new JeecgBootException("编辑的数据已删除,请刷新重试!");
        }
        entity.setStandardStatus(MaintenanceStandardStatusEnum.ABOLISH.name());
        //原来的作废
        eamMaintenanceStandardMapper.updateById(entity);
        //新增一个版本
        EamMaintenanceStandard newEntity = new EamMaintenanceStandard();
        newEntity.setStandardCode(standardRequest.getStandardCode());
        newEntity.setStandardName(standardRequest.getStandardName());
        newEntity.setMaintenanceCategory(standardRequest.getMaintenanceCategory());
        newEntity.setMaintenancePeriod(standardRequest.getMaintenancePeriod());
        newEntity.setInitialDate(standardRequest.getInitialDate());
        newEntity.setFileCode(standardRequest.getFileCode());
        newEntity.setStandardStatus(MaintenanceStandardStatusEnum.NORMAL.name());
        //版本递增
        newEntity.setStandardVersion(entity.getStandardVersion() + 1);
        //设备处理
        newEntity.setEquipmentId(standardRequest.getEquipmentId());
        //删除标记
        newEntity.setDelFlag(CommonConstant.DEL_FLAG_0);
        //重复性校验
        EamMaintenanceStandard exist = checkDuplicate(newEntity.getEquipmentId(), newEntity.getMaintenanceCategory());
        if(exist != null){
            throw new JeecgBootException("设备标准已存在,不能重复添加!");
        }
        //处理附件
        if(CollectionUtil.isNotEmpty(standardRequest.getFileList())) {
            FileUploadResult fileUploadResult = standardRequest.getFileList().get(0);
            ObjectMapper mapper = new ObjectMapper();
            try {
                String referenceFile = mapper.writeValueAsString(fileUploadResult);
                newEntity.setReferenceFile(referenceFile);
            } catch (JsonProcessingException e) {
                log.error("JSON转换失败:" + e.getMessage(), e);
            }
        }
        eamMaintenanceStandardMapper.insert(newEntity);
        //处理明细数据
        if(CollectionUtil.isNotEmpty(standardRequest.getTableDetailList())) {
            standardRequest.getTableDetailList().forEach(tableDetail -> {
                tableDetail.setId(null);
                tableDetail.setCreateBy(null);
                tableDetail.setUpdateBy(null);
                tableDetail.setCreateTime(null);
                tableDetail.setUpdateTime(null);
                tableDetail.setStandardId(newEntity.getId());
            });
            eamMaintenanceStandardDetailService.saveBatch(standardRequest.getTableDetailList());
        }
        return true;
    }
    @Override
    public EamMaintenanceStandard checkDuplicate(String equipmentId, String maintenanceCategory) {
        LambdaQueryWrapper<EamMaintenanceStandard> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(EamMaintenanceStandard::getEquipmentId, equipmentId);