| | |
| | | package com.ruoyi.device.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | 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.github.xiaoymin.knife4j.core.util.CollectionUtils; |
| | | import com.github.xiaoymin.knife4j.core.util.StrUtil; |
| | | import com.google.common.collect.Lists; |
| | | import com.ruoyi.common.enums.FileNameType; |
| | | import com.ruoyi.common.utils.bean.BeanUtils; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.device.dto.DeviceDefectRecordDto; |
| | |
| | | import com.ruoyi.framework.web.domain.AjaxResult; |
| | | import com.ruoyi.measuringinstrumentledger.mapper.SparePartsMapper; |
| | | import com.ruoyi.measuringinstrumentledger.pojo.SpareParts; |
| | | import com.ruoyi.measuringinstrumentledger.service.SparePartsService; |
| | | import com.ruoyi.other.pojo.TempFile; |
| | | import com.ruoyi.other.service.TempFileService; |
| | | import com.ruoyi.sales.mapper.CommonFileMapper; |
| | | import com.ruoyi.sales.pojo.CommonFile; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.commons.lang3.tuple.Pair; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.*; |
| | |
| | | private IDeviceLedgerService deviceLedgerService; |
| | | @Autowired |
| | | private SparePartsMapper sparePartsMapper; |
| | | @Autowired |
| | | private TempFileService tempFileService; |
| | | @Autowired |
| | | private CommonFileMapper commonFileMapper; |
| | | |
| | | @Override |
| | | public IPage<DeviceRepairDto> queryPage(Page page, DeviceRepairDto deviceRepairDto) { |
| | | IPage<DeviceRepairDto> deviceRepairDtoIPage = deviceRepairMapper.queryPage(page, deviceRepairDto); |
| | | |
| | | List<DeviceRepairDto> records = deviceRepairDtoIPage.getRecords(); |
| | | List<Long> recordIds = records.stream() |
| | | .map(DeviceRepairDto::getId) |
| | | .collect(Collectors.toList()); |
| | | |
| | | if (!CollectionUtils.isEmpty(records)) { |
| | | // 1. 获取所有唯一的备件ID |
| | | Set<String> allIds = records.stream() |
| | |
| | | record.setSparePartsNames(names); |
| | | }); |
| | | } |
| | | // 处理文件 |
| | | List<CommonFile> commonFiles = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>().in(CommonFile::getCommonId, recordIds) |
| | | .eq(CommonFile::getType, FileNameType.DeviceRepair.getValue())); |
| | | Map<Long, List<CommonFile>> collect = commonFiles.stream() |
| | | .collect(Collectors.groupingBy(CommonFile::getCommonId)); |
| | | records.forEach(record -> record.setFileList(collect.get(record.getId()))); |
| | | } |
| | | |
| | | return deviceRepairDtoIPage; |
| | |
| | | @Override |
| | | public AjaxResult saveDeviceRepair(DeviceRepair deviceRepair) { |
| | | DeviceLedger byId = deviceLedgerService.getById(deviceRepair.getDeviceLedgerId()); |
| | | if (CollectionUtils.isNotEmpty(deviceRepair.getFileList())) { |
| | | List<String> fileIds = deviceRepair.getFileList().stream() |
| | | .map(TempFile::getTempId) |
| | | .collect(Collectors.toList()); |
| | | try { |
| | | tempFileService.migrateTempFilesToFormal(deviceRepair.getId(), fileIds, FileNameType.DeviceRepair.getValue()); |
| | | } catch (Exception e) { |
| | | log.error("设备维修文件迁移错误", e); |
| | | } |
| | | } |
| | | |
| | | deviceRepair.setDeviceName(byId.getDeviceName()); |
| | | deviceRepair.setDeviceModel(byId.getDeviceModel()); |
| | | boolean save = this.save(deviceRepair); |
| | |
| | | @Override |
| | | public AjaxResult updateDeviceRepair(DeviceRepair deviceRepair) { |
| | | if (this.updateById(deviceRepair)) { |
| | | if (CollectionUtils.isNotEmpty(deviceRepair.getFileList())) { |
| | | List<String> fileIds = deviceRepair.getFileList().stream() |
| | | .map(TempFile::getTempId) |
| | | .collect(Collectors.toList()); |
| | | try { |
| | | tempFileService.migrateTempFilesToFormal(deviceRepair.getId(), fileIds, FileNameType.DeviceRepair.getValue()); |
| | | } catch (Exception e) { |
| | | log.error("设备维修文件迁移错误", e); |
| | | } |
| | | } |
| | | Long id = deviceRepair.getId(); |
| | | // |
| | | DeviceDefectRecordDto deviceDefectRecordDto = new DeviceDefectRecordDto(); |