package com.ruoyi.safe.service.impl; 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.ruoyi.project.system.domain.SysNotice; import com.ruoyi.project.system.mapper.SysNoticeMapper; import com.ruoyi.project.system.service.ISysNoticeService; import com.ruoyi.project.system.service.impl.SysNoticeServiceImpl; import com.ruoyi.safe.dto.SafeHiddenDto; import com.ruoyi.safe.pojo.SafeHidden; import com.ruoyi.safe.mapper.SafeHiddenMapper; import com.ruoyi.safe.service.SafeHiddenService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.Arrays; import java.util.List; /** *

* 安全生产--隐患排查上报 服务实现类 *

* * @author 芯导软件(江苏)有限公司 * @since 2026-01-28 11:10:54 */ @Service @Transactional(rollbackFor = Exception.class) public class SafeHiddenServiceImpl extends ServiceImpl implements SafeHiddenService { @Autowired private SafeHiddenMapper safeHiddenMapper; @Autowired private ISysNoticeService sysNoticeService; @Override public IPage pageSafeHidden(Page page, SafeHiddenDto safeHiddenDto) { return safeHiddenMapper.pageSafeHidden(page, safeHiddenDto); } @Override public int add(SafeHidden safeHidden) { safeHiddenMapper.insert(safeHidden); String datePrefix = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); String no = "YH" + String.format("%s%03d", datePrefix, safeHidden.getId()); safeHidden.setHiddenCode(no); safeHiddenMapper.updateById(safeHidden); //消息通知 sysNoticeService.simpleNoticeByUser("隐患排查上报整改", "隐患类型:"+safeHidden.getType()+"\n"+ "隐患风险等级:"+safeHidden.getRiskLevel()+"\n"+ "隐患具体位置:"+safeHidden.getLocation()+"\n"+ "隐患描述:"+safeHidden.getHiddenDesc()+"\n"+ "整改完成期限(日期):"+safeHidden.getRectifyTime(), Arrays.asList(Long.valueOf(safeHidden.getRectifyUserId())), "/collaborativeApproval/approvalProcess?id=" + safeHidden.getId()); return 0; } @Override public int delSafeHidden(List ids) { List safeHiddens = safeHiddenMapper.selectBatchIds(ids); for (SafeHidden safeHidden : safeHiddens) { // 删除对应的消息通知 sysNoticeService.remove(new LambdaQueryWrapper() .eq(SysNotice::getNoticeTitle, "隐患排查上报整改") .eq(SysNotice::getSenderId, safeHidden.getCreateUser()) .apply("CAST(notice_content AS CHAR) LIKE CONCAT('%', {0}, '%')", safeHidden.getId())); } safeHiddenMapper.deleteBatchIds(ids); return 0; } }