package com.ruoyi.device.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
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.poi.ExcelUtil;
|
import com.ruoyi.device.dto.HazardReportDto;
|
import com.ruoyi.device.mapper.HazardReportMapper;
|
import com.ruoyi.device.pojo.HazardReport;
|
import com.ruoyi.device.service.IHazardReportService;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.stereotype.Service;
|
|
import jakarta.servlet.http.HttpServletResponse;
|
import java.time.LocalDateTime;
|
import java.util.List;
|
|
/**
|
* 隐患上报Service实现类
|
*/
|
@Service
|
@RequiredArgsConstructor
|
public class HazardReportServiceImpl extends ServiceImpl<HazardReportMapper, HazardReport> implements IHazardReportService {
|
|
private final HazardReportMapper hazardReportMapper;
|
|
/**
|
* 分页查询隐患上报列表
|
*/
|
@Override
|
public IPage<HazardReportDto> queryPage(Page<HazardReport> page, HazardReportDto dto) {
|
List<HazardReportDto> list = hazardReportMapper.selectHazardReportList(dto);
|
Page<HazardReportDto> resultPage = new Page<>(page.getCurrent(), page.getSize(), list.size());
|
resultPage.setRecords(list);
|
return resultPage;
|
}
|
|
/**
|
* 新增隐患上报
|
*/
|
@Override
|
public int add(HazardReportDto dto) {
|
// 设置初始状态为待整改
|
dto.setRectificationStatus("待整改");
|
dto.setReportTime(LocalDateTime.now());
|
return hazardReportMapper.insert(dto) ? 1 : 0;
|
}
|
|
/**
|
* 记录整改结果
|
*/
|
@Override
|
public int rectify(HazardReportDto dto) {
|
// 查询原记录
|
HazardReport existing = hazardReportMapper.selectById(dto.getId());
|
if (existing == null) {
|
return 0;
|
}
|
// 更新整改信息
|
existing.setRectificationStatus("已完成");
|
existing.setRectificationPerson(dto.getRectificationPerson());
|
existing.setRectificationTime(LocalDateTime.now());
|
existing.setRectificationDescription(dto.getRectificationDescription());
|
return hazardReportMapper.updateById(existing) ? 1 : 0;
|
}
|
|
/**
|
* 记录验收结果
|
*/
|
@Override
|
public int accept(HazardReportDto dto) {
|
// 查询原记录
|
HazardReport existing = hazardReportMapper.selectById(dto.getId());
|
if (existing == null) {
|
return 0;
|
}
|
// 更新验收信息
|
existing.setAcceptancePerson(dto.getAcceptancePerson());
|
existing.setAcceptanceTime(LocalDateTime.now());
|
existing.setAcceptanceResult(dto.getAcceptanceResult());
|
return hazardReportMapper.updateById(existing) ? 1 : 0;
|
}
|
|
/**
|
* 导出隐患上报记录
|
*/
|
@Override
|
public void export(HttpServletResponse response, HazardReportDto dto) {
|
List<HazardReportDto> list = hazardReportMapper.selectHazardReportList(dto);
|
ExcelUtil<HazardReportDto> util = new ExcelUtil<>(HazardReportDto.class);
|
util.exportExcel(response, list, "隐患上报记录");
|
}
|
}
|