package com.gkhy.system.service.impl; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.common.constant.Constants; import com.gkhy.common.exception.ServiceException; import com.gkhy.common.utils.SecurityUtils; import com.gkhy.system.domain.DailySafetyInspection; import com.gkhy.system.domain.DailySafetyInspectionUser; import com.gkhy.system.mapper.DailySafetyInspectionMapper; import com.gkhy.system.mapper.DailySafetyInspectionUserMapper; import com.gkhy.system.service.DailySafetyInspectionService; 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.List; /** *

* 日常安全检查主表 服务实现类 *

* * @author hh * @since 2025-09-08 10:36:52 */ @Service public class DailySafetyInspectionServiceImpl extends ServiceImpl implements DailySafetyInspectionService { @Autowired private DailySafetyInspectionMapper dailySafetyInspectionMapper; @Autowired private DailySafetyInspectionUserMapper dailySafetyInspectionUserMapper; @Override public List selectDailySafetyInspectionList(DailySafetyInspection inspection) { return dailySafetyInspectionMapper.getDailySafetyInspectionList(inspection); } @Override @Transactional(rollbackFor = Exception.class) public int saveDailySafetyInspection(DailySafetyInspection inspection) { List dailySafetyInspectionUsers = inspection.getDailySafetyInspectionUsers(); if (ObjectUtil.isEmpty(dailySafetyInspectionUsers)) { throw new ServiceException("参检人员不能为空"); } int i = 0; if (inspection.getId() == null) { inspection.setCreateTime(LocalDateTime.now()); inspection.setCreateBy(SecurityUtils.getUsername()); i = dailySafetyInspectionMapper.insert(inspection); } else { inspection.setUpdateTime(LocalDateTime.now()); inspection.setUpdateBy(SecurityUtils.getUsername()); i = dailySafetyInspectionMapper.updateById(inspection); } if (i > 0) { saveDailySafetyInspectionUser(dailySafetyInspectionUsers, inspection.getId()); } return i; } private void saveDailySafetyInspectionUser(List dailySafetyInspectionUsers, Long id) { DailySafetyInspectionUser dailySafetyInspectionUser = new DailySafetyInspectionUser(); dailySafetyInspectionUser.setDailySafetyInspectionId(id); dailySafetyInspectionUserMapper.deleteById(dailySafetyInspectionUser); dailySafetyInspectionUsers.forEach(user -> { user.setDailySafetyInspectionId(id); dailySafetyInspectionUserMapper.insert(user); }); } @Override public int deleteDailySafetyInspection(Long id) { return dailySafetyInspectionMapper.update(new DailySafetyInspection(), new LambdaUpdateWrapper().eq(DailySafetyInspection::getId, id) .set(DailySafetyInspection::getDelFlag, Constants.FAIL).set(DailySafetyInspection::getUpdateTime, LocalDateTime.now()) .set(DailySafetyInspection::getUpdateBy, SecurityUtils.getUsername())); } @Override public int getCheckCount() { Long deptId = SecurityUtils.getDeptId(); return dailySafetyInspectionMapper.getCheckCount(deptId); } }