package org.jeecg.modules.eam.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.StringUtils; 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 org.jeecg.common.system.api.ISysBaseAPI; import org.jeecg.common.system.base.entity.SysUpload; import org.jeecg.common.system.base.entity.SysUploadRela; import org.jeecg.modules.eam.entity.EquipmentReportRepair; import org.jeecg.modules.eam.mapper.EquipmentReportRepairMapper; import org.jeecg.modules.eam.service.IEquipmentReportRepairService; //import org.jeecg.modules.system.entity.SysUpload; //import org.jeecg.modules.system.entity.SysUploadRela; //import org.jeecg.modules.system.service.IUploadRelaService; import org.jeecg.modules.eam.vo.RepairReportExportVo; import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.system.mapper.SysUserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; /** * @Description: equipment_report_repair * @Author: jeecg-boot * @Date: 2023-04-17 * @Version: V1.0 */ @Service public class EquipmentReportRepairServiceImpl extends ServiceImpl implements IEquipmentReportRepairService { // @Autowired // private IUploadRelaService uploadRelaService; @Autowired private ISysBaseAPI sysBaseApi; @Autowired private SysUserMapper userMapper; /** * 故障报修添加 * * @param equipmentReportRepair */ @Override public void addEquipmentReportRepair(EquipmentReportRepair equipmentReportRepair) { baseMapper.insert(faultTimeVerify(equipmentReportRepair)); establishRelations(equipmentReportRepair.getSysUploadList(), equipmentReportRepair.getId()); } /** * 根据修改故障报修 * * @param equipmentReportRepair */ @Override public void updateEquipmentReportRepairById(EquipmentReportRepair equipmentReportRepair) { String id = equipmentReportRepair.getId(); // 修改前 EquipmentReportRepair equipmentReportRepair1 = baseMapper.selectById(id); baseMapper.updateById(faultTimeVerify(equipmentReportRepair)); // 验证修改前修改后是否一致 if (!equipmentReportRepair.getPhoto().equals(equipmentReportRepair1.getPhoto())) { sysBaseApi.delSysUploadRelaByBusIdAndBusType(id, "equipment_management_failure_photo"); establishRelations(equipmentReportRepair.getSysUploadList(), id); } } public EquipmentReportRepair faultTimeVerify(EquipmentReportRepair equipmentReportRepair) { if (equipmentReportRepair.getFaultTime() != null) { DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = equipmentReportRepair.getFaultTime(); equipmentReportRepair.setFaultTime(date); } return equipmentReportRepair; } private void establishRelations(List sysUploadList, String id) { // 附件上传列表是否为空 if (sysUploadList != null) { if (CollectionUtils.isNotEmpty(sysUploadList)) { List sysUploadRelaList = new ArrayList<>(); sysUploadList.forEach(sul -> { SysUploadRela sysUploadRela = new SysUploadRela(); sysUploadRela.setBusId(id); sysUploadRela.setBusType("equipment_management_failure_photo"); sysUploadRela.setUploadId(sul.getId()); sysUploadRelaList.add(sysUploadRela); }); // 上传文件与业务数据关系 sysBaseApi.saveOrUpdateBatchUploadRela(sysUploadRelaList); } } } @Override public IPage> getReportRepairList(Integer pageNo, Integer pageSize, Map params) { IPage pageData = new Page(pageNo, pageSize); if(StringUtils.isNotBlank((String)params.get("userId"))){ SysUser sysUser = userMapper.selectById((String)params.get("userId")); params.put("teamId",sysUser.getTeamId()); } List equipNums = new ArrayList<>(); if(StringUtils.isNotBlank((String)params.get("nums"))){ equipNums = Arrays.asList(((String) params.get("nums")).trim().split("\n")).stream().filter(num->!num.equals("\n")).collect(Collectors.toList()); } return super.getBaseMapper().getReportRepairList(pageData, params,equipNums) ; } @Override public List exportList(RepairReportExportVo repairReportExportVo) { List equipNums = new ArrayList<>(); if(StringUtils.isNotBlank(repairReportExportVo.getNums())){ equipNums = Arrays.asList(repairReportExportVo.getNums().trim().split("\n")); } return baseMapper.exportList( repairReportExportVo.getNum(), repairReportExportVo.getFaultStartTime(), repairReportExportVo.getFaultEndTime(), repairReportExportVo.getIsStop(), repairReportExportVo.getStatus(), repairReportExportVo.getErrUda2(), repairReportExportVo.getErrUda1(), repairReportExportVo.getCreateBy(), repairReportExportVo.getEquipmentNum(), repairReportExportVo.getEquipmentName(), repairReportExportVo.getModel(), repairReportExportVo.getSpecification(), repairReportExportVo.getUseId(), equipNums ); } }