package org.jeecg.modules.eam.service.impl; import cn.hutool.core.collection.CollectionUtil; 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.modules.eam.constant.MaintenanceStandardStatusEnum; import org.jeecg.modules.eam.entity.EamMaintenanceStandard; 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; /** * @Description: 保养标准 * @Author: jeecg-boot * @Date: 2025-03-26 * @Version: V1.0 */ @Service public class EamMaintenanceStandardServiceImpl extends ServiceImpl implements IEamMaintenanceStandardService { @Resource private EamMaintenanceStandardMapper eamMaintenanceStandardMapper; @Autowired private IEamMaintenanceStandardDetailService eamMaintenanceStandardDetailService; @Override @Transactional(rollbackFor = Exception.class) public boolean addMaintenanceStandard(EamMaintenanceStandardRequest standardRequest) { EamMaintenanceStandard entity = new EamMaintenanceStandard(); entity.setStandardCode(standardRequest.getStandardCode()); entity.setStandardName(standardRequest.getStandardName()); entity.setMaintenanceCategory(standardRequest.getMaintenanceCategory()); entity.setMaintenancePeriod(standardRequest.getMaintenancePeriod()); entity.setInitialDate(standardRequest.getInitialDate()); entity.setFileCode(standardRequest.getFileCode()); entity.setStandardStatus(MaintenanceStandardStatusEnum.NORMAL.name()); //版本递增 entity.setStandardVersion(CommonConstant.OPERATE_TYPE_1); //设备处理 entity.setEquipmentId(standardRequest.getEquipmentId()); //重复性校验 //TODO //处理附件 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); } } eamMaintenanceStandardMapper.insert(entity); //处理明细数据 if(CollectionUtil.isNotEmpty(standardRequest.getTableDetailList())) { standardRequest.getTableDetailList().forEach(tableDetail -> { tableDetail.setStandardId(entity.getId()); }); eamMaintenanceStandardDetailService.saveBatch(standardRequest.getTableDetailList()); } return true; } @Override @Transactional(rollbackFor = Exception.class) public boolean editMaintenanceStandard(EamMaintenanceStandardRequest standardRequest) { return false; } }