package com.ruoyi.device.service.impl; 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.ruoyi.common.utils.SecurityUtils; import com.ruoyi.device.dto.DeviceDefectRecordDto; import com.ruoyi.device.mapper.DeviceDefectRecordMapper; import com.ruoyi.device.mapper.DeviceRepairMapper; import com.ruoyi.device.pojo.DeviceDefectRecord; import com.ruoyi.device.pojo.DeviceRepair; import com.ruoyi.device.service.DeviceDefectRecordService; import com.ruoyi.device.service.IDeviceRepairService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.Date; @Service @Transactional(rollbackFor = Exception.class) public class DeviceDefectRecordServiceImpl extends ServiceImpl implements DeviceDefectRecordService { @Autowired private DeviceDefectRecordMapper deviceDefectRecordMapper; @Autowired private DeviceRepairMapper deviceRepairMapper; @Override public IPage listPage(Page page, DeviceDefectRecordDto deviceDefectRecordDto) { return deviceDefectRecordMapper.listPage(page, deviceDefectRecordDto); } @Override public boolean add(DeviceDefectRecord deviceDefectRecord) { String status = deviceDefectRecord.getStatus(); if (status.equals("严重缺陷")) { DeviceRepair deviceRepair = new DeviceRepair(); deviceRepair.setDeviceLedgerId(deviceDefectRecord.getDeviceLedgerId()); deviceRepair.setRemark(deviceDefectRecord.getDefectDescription()); //获取当前登录用户 deviceRepair.setRepairName(SecurityUtils.getUsername()); deviceRepair.setRepairTime(new Date()); deviceRepairMapper.insert(deviceRepair); return deviceDefectRecordMapper.insert(deviceDefectRecord) > 0; } else if (status.equals("一般缺陷")) { return deviceDefectRecordMapper.insert(deviceDefectRecord) > 0; } return false; } @Override public boolean updateByDDR(DeviceDefectRecord deviceDefectRecord) { String status = deviceDefectRecord.getStatus(); if (status.equals("严重缺陷")) { // deviceDefectRecord.setStatus("正常"); // deviceDefectRecord.setEliminateTime(LocalDateTime.now()); throw new RuntimeException("严重缺陷-设备维修后更新为正常状态"); } else if (status.equals("一般缺陷")) { deviceDefectRecord.setStatus("正常"); } deviceDefectRecord.setEliminateTime(LocalDateTime.now()); return updateById(deviceDefectRecord); } }