| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.beust.jcommander.internal.Lists; |
| | | import com.fasterxml.jackson.core.JsonProcessingException; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.jeecg.common.api.vo.FileUploadResult; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.common.exception.ExceptionCast; |
| | | import org.jeecg.common.exception.JeecgBootException; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.common.util.DateUtils; |
| | | import org.jeecg.common.util.FileUtil; |
| | | import org.jeecg.modules.eam.constant.MaintenanceCategoryEnum; |
| | | import org.jeecg.modules.eam.constant.MaintenanceStandardStatusEnum; |
| | | import org.jeecg.modules.eam.entity.EamEquipmentExtend; |
| | | import org.jeecg.modules.eam.entity.EamMaintenanceStandard; |
| | | import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail; |
| | | import org.jeecg.modules.eam.entity.EamSysFiles; |
| | | import org.jeecg.modules.eam.mapper.EamMaintenanceStandardMapper; |
| | | import org.jeecg.modules.eam.request.EamMaintenanceStandardRequest; |
| | | import org.jeecg.modules.eam.service.IEamEquipmentExtendService; |
| | | import org.jeecg.modules.eam.service.IEamMaintenanceStandardDetailService; |
| | | import org.jeecg.modules.eam.service.IEamMaintenanceStandardService; |
| | | import org.jeecg.modules.eam.service.IEamSysFilesService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.time.LocalDate; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | |
| | | @Autowired |
| | | private IEamMaintenanceStandardDetailService eamMaintenanceStandardDetailService; |
| | | |
| | | @Autowired |
| | | private IEamSysFilesService sysFilesService; |
| | | @Autowired |
| | | private IEamEquipmentExtendService eamEquipmentExtendService; |
| | | |
| | | @Override |
| | | public IPage<EamMaintenanceStandard> queryPageList(Page<EamMaintenanceStandard> page, EamMaintenanceStandard eamMaintenanceStandard) { |
| | |
| | | } |
| | | //名称 模糊查询 |
| | | if(StringUtils.isNotBlank(eamMaintenanceStandard.getStandardName())) { |
| | | queryWrapper.like("ems.standard_name", eamMaintenanceStandard.getStandardCode()); |
| | | queryWrapper.like("ems.standard_name", eamMaintenanceStandard.getStandardName()); |
| | | } |
| | | //设备 |
| | | if(StringUtils.isNotBlank(eamMaintenanceStandard.getEquipmentId())) { |
| | |
| | | } |
| | | } |
| | | eamMaintenanceStandardMapper.insert(entity); |
| | | |
| | | //保养分类为二保/三保时设置下次保养时间 |
| | | if (Lists.newArrayList(MaintenanceCategoryEnum.SECOND_MAINTENANCE.name(), MaintenanceCategoryEnum.THIRD_MAINTENANCE.name()).contains(entity.getMaintenanceCategory())) { |
| | | updateEquipmentExtendInfo(entity); |
| | | } |
| | | //处理明细数据 |
| | | if(CollectionUtil.isNotEmpty(standardRequest.getTableDetailList())) { |
| | | standardRequest.getTableDetailList().forEach(tableDetail -> { |
| | |
| | | eamMaintenanceStandardDetailService.updateBatchById(updateList); |
| | | } |
| | | } |
| | | updateEquipmentExtendInfo(entity); |
| | | if(CollectionUtil.isNotEmpty(standardRequest.getRemoveDetailList())) { |
| | | List<String> ids = standardRequest.getRemoveDetailList().stream().map(EamMaintenanceStandardDetail::getId).collect(Collectors.toList()); |
| | | eamMaintenanceStandardDetailService.removeBatchByIds(ids); |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | private boolean updateEquipmentExtendInfo(EamMaintenanceStandard entity) { |
| | | //查询设备扩展表 |
| | | EamEquipmentExtend eamEquipmentExtend = eamEquipmentExtendService.getById(entity.getEquipmentId()); |
| | | //处理设备扩展表中下次保养时间 |
| | | LocalDate nextSecondMaintenanceDate = DateUtils.dateToLocalDate(entity.getInitialDate()).plusDays(entity.getMaintenancePeriod()); |
| | | if (MaintenanceCategoryEnum.THIRD_MAINTENANCE.name().equals(entity.getMaintenanceCategory())) { |
| | | eamEquipmentExtend.setNextThirdMaintenance(DateUtils.localDateToDate(nextSecondMaintenanceDate)); |
| | | }else if (MaintenanceCategoryEnum.SECOND_MAINTENANCE.name().equals(entity.getMaintenanceCategory())) { |
| | | eamEquipmentExtend.setNextSecondMaintenance(DateUtils.localDateToDate(nextSecondMaintenanceDate)); |
| | | } |
| | | return eamEquipmentExtendService.updateById(eamEquipmentExtend); |
| | | } |
| | | |
| | | @Override |
| | |
| | | }); |
| | | eamMaintenanceStandardDetailService.saveBatch(standardRequest.getTableDetailList()); |
| | | } |
| | | |
| | | updateEquipmentExtendInfo(entity); |
| | | return true; |
| | | } |
| | | |
| | |
| | | queryWrapper.eq(EamMaintenanceStandard::getStandardStatus, MaintenanceStandardStatusEnum.NORMAL.name()); |
| | | return eamMaintenanceStandardMapper.selectList(queryWrapper); |
| | | } |
| | | |
| | | @Override |
| | | public void downloadFile(HttpServletResponse response, EamMaintenanceStandard eamMaintenanceStandard) throws JsonProcessingException { |
| | | String json = eamMaintenanceStandard.getReferenceFile(); |
| | | if(StringUtils.isNotBlank(json)){ |
| | | ObjectMapper mapper = new ObjectMapper(); |
| | | Map<String, Object> map = mapper.readValue(json, Map.class); |
| | | String fileEncodeName = (String) map.get("fileEncodeName"); |
| | | List<EamSysFiles> list = sysFilesService.lambdaQuery().eq(EamSysFiles::getFileEncodeName, fileEncodeName).list(); |
| | | if(list.size()>0){ |
| | | FileUtil.downLoadFile(response, list.get(0).getFilePath(), list.get(0).getFileName()); |
| | | }else{ |
| | | ExceptionCast.cast("文件不存在"); |
| | | } |
| | | } |
| | | } |
| | | } |