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;
|
|
/**
|
* <p>
|
* 安全生产--隐患排查上报 服务实现类
|
* </p>
|
*
|
* @author 芯导软件(江苏)有限公司
|
* @since 2026-01-28 11:10:54
|
*/
|
@Service
|
@Transactional(rollbackFor = Exception.class)
|
public class SafeHiddenServiceImpl extends ServiceImpl<SafeHiddenMapper, SafeHidden> implements SafeHiddenService {
|
|
@Autowired
|
private SafeHiddenMapper safeHiddenMapper;
|
@Autowired
|
private ISysNoticeService sysNoticeService;
|
|
|
@Override
|
public IPage<SafeHiddenDto> 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<Integer> ids) {
|
List<SafeHidden> safeHiddens = safeHiddenMapper.selectBatchIds(ids);
|
for (SafeHidden safeHidden : safeHiddens) {
|
// 删除对应的消息通知
|
sysNoticeService.remove(new LambdaQueryWrapper<SysNotice>()
|
.eq(SysNotice::getNoticeTitle, "隐患排查上报整改")
|
.eq(SysNotice::getSenderId, safeHidden.getCreateUser())
|
.apply("CAST(notice_content AS CHAR) LIKE CONCAT('%', {0}, '%')", safeHidden.getId()));
|
}
|
safeHiddenMapper.deleteBatchIds(ids);
|
return 0;
|
}
|
}
|