package com.ruoyi.project.tr.specialCheck.service.impl; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.ruoyi.doublePrevention.entity.CJReport.PreventCJReportDangerInfo; import com.ruoyi.doublePrevention.enums.ErrorCodes; import com.ruoyi.doublePrevention.enums.ResultCodes; import com.ruoyi.doublePrevention.repository.PreventCJReportDangerInfoRepository; import com.ruoyi.doublePrevention.vo.ResultVO; import com.ruoyi.project.system.user.domain.User; import com.ruoyi.project.tr.specialCheck.domin.*; import com.ruoyi.project.tr.specialCheck.domin.BO.TbSpecialCheckItemDangerLogBO; import com.ruoyi.project.tr.specialCheck.domin.BO.TbSpecialCheckItemDangerLogUpdateBO; import com.ruoyi.project.tr.specialCheck.mapper.*; import com.ruoyi.project.tr.specialCheck.service.SpecialCheckItemDangerLogService; import com.ruoyi.project.tr.specialCheck.service.SpecialCheckScoreAndDangerDangerLogService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; import java.time.LocalDateTime; import java.util.List; import java.util.UUID; import static com.ruoyi.common.utils.security.ShiroUtils.getSysUser; @Service public class SpecialCheckItemDangerLogServiceImpl implements SpecialCheckItemDangerLogService { @Autowired private TbSpecialCheckItemLogMapper itemLogMapper; @Autowired private TbBaseCheckTaskMapper baseCheckTaskMapper; @Autowired private TbBaseCheckItemMapper baseCheckItemMapper; @Autowired private TbBaseCheckScoreMapper baseCheckScoreMapper; @Autowired private PreventCJReportDangerInfoRepository preventCJReportDangerInfoRepository; @Autowired private SpecialCheckScoreAndDangerDangerLogService scoreAndDangerDangerLogService; @Override public ResultVO> selectSpecialCheckItemDangerLogPage(TbSpecialCheckItemDangerLogBO itemDangerLogBO) { Integer pageIndex = itemDangerLogBO.getPageNum(); Integer pageSize = itemDangerLogBO.getPageSize(); if (pageIndex == 0 || pageSize == 0){ return new ResultVO<>(ErrorCodes.REQUEST_PARAM_ERROR.getCode(),"当前页码或当前页显示数不能为0"); } Page page = PageHelper.startPage(pageIndex, pageSize); itemLogMapper.selectSpecialCheckItemDangerLogPage(itemDangerLogBO); Long total = page.getTotal(); int count = total.intValue(); List pageResult = null; ResultVO> resultVO = new ResultVO<>(ResultCodes.OK,pageResult); resultVO.setData(page.getResult()); resultVO.setCount(count); resultVO.setCount((int) page.getTotal()); resultVO.setPageNum(page.getPageNum()); resultVO.setPageSize(page.getPageSize()); return resultVO; } @Override public ResultVO addSpecialItemDanger(TbSpecialCheckItemDangerLog itemDangerLog) { User sysUser = getSysUser(); ResultVO resultVO = new ResultVO<>(); resultVO.setCode(ErrorCodes.REQUEST_PARAM_ERROR.getCode()); if (itemDangerLog.getTaskId() == null){ resultVO.setMsg("任务不能为空"); return resultVO; } TbBaseCheckTask baseCheckTaskByTaskId = baseCheckTaskMapper.getBaseCheckTaskByTaskId(itemDangerLog.getTaskId()); if (ObjectUtils.isEmpty(baseCheckTaskByTaskId)){ resultVO.setMsg("任务不存在"); return resultVO; } if (itemDangerLog.getCheckItemId() == null){ resultVO.setMsg("检查项不能为空"); return resultVO; } TbBaseCheckItem baseCheckItemByItemId = baseCheckItemMapper.getBaseCheckItemByItemId(itemDangerLog.getCheckItemId()); if (ObjectUtils.isEmpty(baseCheckItemByItemId)){ resultVO.setMsg("检查项不存在"); return resultVO; } TbSpecialCheckItemLog itemLog = new TbSpecialCheckItemLog(); LocalDateTime dateTime = LocalDateTime.now(); String uuid = UUID.randomUUID().toString(); itemLog.setId(uuid); itemLog.setCompanyCode("652310082"); itemLog.setCheckItemId(itemDangerLog.getCheckItemId()); itemLog.setTaskId(itemDangerLog.getTaskId()); itemLog.setCheckName(baseCheckItemByItemId.getCheckName()); itemLog.setCheckContent(baseCheckItemByItemId.getCheckContent()); itemLog.setCheckWay(baseCheckItemByItemId.getCheckWay()); itemLog.setCheckBasis(baseCheckItemByItemId.getCheckBasis()); itemLog.setApplicablePlace(baseCheckItemByItemId.getApplicablePlace()); itemLog.setDeleted((byte) 0); itemLog.setCreateDate(dateTime); itemLog.setUpdateDate(dateTime); itemLog.setCreateBy(sysUser.getUserName()); itemLog.setUpdateBy(sysUser.getUserName()); itemLog.setReportStatus((byte) 1); itemLog.setReportTime(null); int saveResult = itemLogMapper.save(itemLog); if (saveResult == 0){ resultVO.setCode(ResultCodes.SERVER_ADD_ERROR.getCode()); resultVO.setMsg(ResultCodes.SERVER_ADD_ERROR.getDesc()); return resultVO; } resultVO.setCode(ResultCodes.OK.getCode()); resultVO.setMsg("新增检查成功"); return resultVO; } @Override public TbSpecialCheckItemLog getSpecialCheckItemDangerLogByIndexId(Long indexId) { return itemLogMapper.getSpecialCheckItemDangerLogByIndexId(indexId); } @Override public ResultVO updateSpecialCheckItemDangerLog(TbSpecialCheckItemDangerLogUpdateBO updateBO) { User sysUser = getSysUser(); ResultVO resultVO = new ResultVO<>(); resultVO.setCode(ErrorCodes.REQUEST_PARAM_ERROR.getCode()); if (updateBO.getIndexId() == null){ resultVO.setMsg("任务不能为空"); return resultVO; } if (updateBO.getTaskId() == null){ resultVO.setMsg("专项任务不能为空"); return resultVO; } TbBaseCheckTask baseCheckTaskByTaskId = baseCheckTaskMapper.getBaseCheckTaskByTaskId(updateBO.getTaskId()); if (ObjectUtils.isEmpty(baseCheckTaskByTaskId)){ resultVO.setMsg("专项任务不存在"); return resultVO; } if (updateBO.getCheckItemId() == null){ resultVO.setMsg("检查项不能为空"); return resultVO; } TbBaseCheckItem baseCheckItemByItemId = baseCheckItemMapper.getBaseCheckItemByItemId(updateBO.getCheckItemId()); if (ObjectUtils.isEmpty(baseCheckItemByItemId)){ resultVO.setMsg("检查项不存在"); return resultVO; } TbSpecialCheckItemLog itemLog = new TbSpecialCheckItemLog(); LocalDateTime dateTime = LocalDateTime.now(); updateBO.setUpdateDate(dateTime); updateBO.setUpdateBy(sysUser.getUserName()); updateBO.setReportStatus((byte) 1); itemLog.setCheckItemId(updateBO.getCheckItemId()); itemLog.setTaskId(updateBO.getTaskId()); itemLog.setCheckName(baseCheckItemByItemId.getCheckName()); itemLog.setCheckContent(baseCheckItemByItemId.getCheckContent()); itemLog.setCheckWay(baseCheckItemByItemId.getCheckWay()); itemLog.setCheckBasis(baseCheckItemByItemId.getCheckBasis()); itemLog.setApplicablePlace(baseCheckItemByItemId.getApplicablePlace()); int updateResult = itemLogMapper.updateSpecialCheckItemDangerLogById(itemLog); if (updateResult == 0){ resultVO.setCode(ResultCodes.SERVER_UPDATE_ERROR.getCode()); resultVO.setMsg(ResultCodes.SERVER_UPDATE_ERROR.getDesc()); return resultVO; } resultVO.setCode(ResultCodes.OK.getCode()); resultVO.setMsg("更新成功"); return resultVO; } @Override public ResultVO deleteTbSpecialItemDangerTaskLog(TbSpecialCheckItemDangerLogUpdateBO updateBO) { User sysUser = getSysUser(); ResultVO resultVO = new ResultVO<>(); resultVO.setCode(ErrorCodes.REQUEST_PARAM_ERROR.getCode()); if (updateBO.getIndexId() == null){ resultVO.setMsg("检查项为空"); return resultVO; } TbSpecialCheckItemLog specialCheckItemLogByIndexId = itemLogMapper.getSpecialCheckItemDangerLogByIndexId(updateBO.getIndexId()); if (ObjectUtils.isEmpty(specialCheckItemLogByIndexId)){ resultVO.setMsg("检查项不存在,删除失败"); return resultVO; } TbSpecialCheckScoreAndDangerLog specialCheckScoreAndDangerLogById = scoreAndDangerDangerLogService.getSpecialCheckScoreAndDangerLogById(specialCheckItemLogByIndexId.getCheckItemId()); if (!ObjectUtils.isEmpty(specialCheckScoreAndDangerLogById)){ resultVO.setMsg("该检查项存在评价记录,无法删除"); return resultVO; } TbSpecialCheckItemLog tbSpecialCheckItemLog = new TbSpecialCheckItemLog(); LocalDateTime dateTime = LocalDateTime.now(); tbSpecialCheckItemLog.setIndexId(updateBO.getIndexId()); tbSpecialCheckItemLog.setUpdateDate(dateTime); tbSpecialCheckItemLog.setUpdateBy(sysUser.getUserName()); tbSpecialCheckItemLog.setReportStatus((byte) 1); tbSpecialCheckItemLog.setDeleted((byte) 1); int deleteResult = itemLogMapper.deleteTbSpecialCheckItemDangerLog(tbSpecialCheckItemLog); if (deleteResult == 0){ resultVO.setCode(ResultCodes.SERVER_DEL_ERROR.getCode()); resultVO.setMsg(ResultCodes.SERVER_DEL_ERROR.getDesc()); return resultVO; } resultVO.setCode(ResultCodes.OK.getCode()); resultVO.setMsg("删除成功"); return resultVO; } @Override public TbSpecialCheckItemLog getSpecialCheckItemDangerLogById(String id) { return itemLogMapper.getSpecialCheckItemDangerLogById(id); } }