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<EquipmentReportRepairMapper, EquipmentReportRepair> 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<SysUpload> sysUploadList, String id) {
|
// 附件上传列表是否为空
|
if (sysUploadList != null) {
|
if (CollectionUtils.isNotEmpty(sysUploadList)) {
|
List<SysUploadRela> 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<Map<String, Object>> getReportRepairList(Integer pageNo, Integer pageSize, Map<String, Object> params) {
|
IPage<Map> pageData = new Page<Map>(pageNo, pageSize);
|
if(StringUtils.isNotBlank((String)params.get("userId"))){
|
SysUser sysUser = userMapper.selectById((String)params.get("userId"));
|
params.put("teamId",sysUser.getTeamId());
|
}
|
List<String> 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<RepairReportExportVo> exportList(RepairReportExportVo repairReportExportVo) {
|
List<String> 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
|
);
|
|
}
|
}
|