From cb2556fd6ce1a7240e7cb4d005384c28014df87c Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期一, 31 三月 2025 16:32:43 +0800 Subject: [PATCH] art: 设备管理-保养标准-编辑功能 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java | 79 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 74 insertions(+), 5 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java index 5677a85..66f9c60 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java @@ -1,24 +1,28 @@ package org.jeecg.modules.eam.service.impl; import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.json.JsonMapper; import org.jeecg.common.api.vo.FileUploadResult; import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.exception.JeecgBootException; import org.jeecg.modules.eam.constant.MaintenanceStandardStatusEnum; import org.jeecg.modules.eam.entity.EamMaintenanceStandard; +import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail; import org.jeecg.modules.eam.mapper.EamMaintenanceStandardMapper; import org.jeecg.modules.eam.request.EamMaintenanceStandardRequest; import org.jeecg.modules.eam.service.IEamMaintenanceStandardDetailService; import org.jeecg.modules.eam.service.IEamMaintenanceStandardService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; /** * @Description: 淇濆吇鏍囧噯 @@ -50,8 +54,13 @@ entity.setStandardVersion(CommonConstant.OPERATE_TYPE_1); //璁惧澶勭悊 entity.setEquipmentId(standardRequest.getEquipmentId()); + //鍒犻櫎鏍囪 + entity.setDelFlag(CommonConstant.DEL_FLAG_0); //閲嶅鎬ф牎楠� - //TODO + EamMaintenanceStandard exist = checkDuplicate(entity.getEquipmentId(), entity.getMaintenanceCategory()); + if(exist != null){ + throw new JeecgBootException("璁惧鏍囧噯宸插瓨鍦紝涓嶈兘閲嶅娣诲姞锛�"); + } //澶勭悊闄勪欢 if(CollectionUtil.isNotEmpty(standardRequest.getFileList())) { FileUploadResult fileUploadResult = standardRequest.getFileList().get(0); @@ -77,6 +86,66 @@ @Override @Transactional(rollbackFor = Exception.class) public boolean editMaintenanceStandard(EamMaintenanceStandardRequest standardRequest) { - return false; + EamMaintenanceStandard entity = eamMaintenanceStandardMapper.selectById(standardRequest.getId()); + if(entity == null){ + throw new JeecgBootException("缂栬緫鐨勬暟鎹凡鍒犻櫎锛岃鍒锋柊閲嶈瘯锛�"); + } + entity.setStandardName(standardRequest.getStandardName()); + entity.setMaintenancePeriod(standardRequest.getMaintenancePeriod()); + entity.setFileCode(standardRequest.getFileCode()); + //澶勭悊闄勪欢 + if(CollectionUtil.isNotEmpty(standardRequest.getFileList())) { + FileUploadResult fileUploadResult = standardRequest.getFileList().get(0); + ObjectMapper mapper = new ObjectMapper(); + try { + String referenceFile = mapper.writeValueAsString(fileUploadResult); + entity.setReferenceFile(referenceFile); + } catch (JsonProcessingException e) { + log.error("JSON杞崲澶辫触锛�" + e.getMessage(), e); + } + }else { + entity.setReferenceFile(null); + } + eamMaintenanceStandardMapper.updateById(entity); + //澶勭悊璇︽儏 + if(CollectionUtil.isNotEmpty(standardRequest.getTableDetailList())) { + List<EamMaintenanceStandardDetail> addList = new ArrayList<>(); + List<EamMaintenanceStandardDetail> updateList = new ArrayList<>(); + standardRequest.getTableDetailList().forEach(tableDetail -> { + tableDetail.setStandardId(entity.getId()); + if(tableDetail.getId() == null){ + addList.add(tableDetail); + }else { + updateList.add(tableDetail); + } + }); + if(CollectionUtil.isNotEmpty(addList)){ + eamMaintenanceStandardDetailService.saveBatch(addList); + } + if(CollectionUtil.isNotEmpty(updateList)){ + eamMaintenanceStandardDetailService.updateBatchById(updateList); + } + } + if(CollectionUtil.isNotEmpty(standardRequest.getRemoveDetailList())) { + List<String> ids = standardRequest.getRemoveDetailList().stream().map(EamMaintenanceStandardDetail::getId).collect(Collectors.toList()); + eamMaintenanceStandardDetailService.removeBatchByIds(ids); + } + return true; + } + + @Override + public EamMaintenanceStandard checkDuplicate(String equipmentId, String maintenanceCategory) { + LambdaQueryWrapper<EamMaintenanceStandard> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EamMaintenanceStandard::getEquipmentId, equipmentId); + queryWrapper.eq(EamMaintenanceStandard::getMaintenanceCategory, maintenanceCategory); + queryWrapper.eq(EamMaintenanceStandard::getDelFlag, CommonConstant.DEL_FLAG_0); + queryWrapper.eq(EamMaintenanceStandard::getStandardStatus, MaintenanceStandardStatusEnum.NORMAL.name()); + queryWrapper.orderByDesc(EamMaintenanceStandard::getStandardVersion); + + List<EamMaintenanceStandard> list = eamMaintenanceStandardMapper.selectList(queryWrapper); + if(CollectionUtil.isNotEmpty(list)) { + return null; + } + return list.get(0); } } -- Gitblit v1.9.3