package com.gkhy.system.service.impl;
|
|
|
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.core.domain.entity.SysRole;
|
import com.gkhy.common.core.domain.entity.SysUser;
|
import com.gkhy.common.core.domain.model.LoginUser;
|
import com.gkhy.common.utils.SecurityUtils;
|
import com.gkhy.system.domain.DailySafetyInspection;
|
import com.gkhy.system.domain.Hazards;
|
import com.gkhy.system.domain.dto.HazardsEditDTO;
|
import com.gkhy.system.mapper.HazardsMapper;
|
import com.gkhy.system.service.HazardsService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.time.LocalDateTime;
|
import java.util.Collections;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 隐患上报/整改/台账 服务实现类
|
* </p>
|
*
|
* @author hh
|
* @since 2025-09-08 10:36:52
|
*/
|
@Service
|
public class HazardsServiceImpl extends ServiceImpl<HazardsMapper, Hazards> implements HazardsService {
|
|
|
@Autowired
|
private HazardsMapper hazardsMapper;
|
|
|
@Override
|
public List<Hazards> getHazardsList(Hazards hazards) {
|
return hazardsMapper.getHazardsList(hazards);
|
}
|
|
@Override
|
public int saveHazards(Hazards inspection) {
|
int result = 0;
|
if (inspection.getId() == null){
|
inspection.setCreateTime(LocalDateTime.now());
|
inspection.setCreateBy(SecurityUtils.getUsername());
|
result = hazardsMapper.insert(inspection);
|
}else {
|
inspection.setUpdateTime(LocalDateTime.now());
|
inspection.setUpdateBy(SecurityUtils.getUsername());
|
result = hazardsMapper.updateById(inspection);
|
}
|
return result;
|
}
|
|
@Override
|
public int updateHazards(HazardsEditDTO dto) {
|
|
checkPer();
|
Hazards inspection = new Hazards();
|
inspection.setId(dto.getId());
|
inspection.setReformPeriod(dto.getReformPeriod());
|
inspection.setRectificationMeasures(dto.getRectificationMeasures());
|
inspection.setReasonAnalysis(dto.getReasonAnalysis());
|
inspection.setReformPics(dto.getReformPics());
|
inspection.setUpdateTime(LocalDateTime.now());
|
inspection.setUpdateBy(SecurityUtils.getUsername());
|
inspection.setState(1);
|
return hazardsMapper.updateById(inspection);
|
}
|
|
private void checkPer(){
|
boolean admin = SecurityUtils.isAdmin(SecurityUtils.getUserId());
|
if (!admin){
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
SysUser user = loginUser.getUser();
|
List<SysRole> roles = user.getRoles();
|
long sysAdmin = roles.stream().filter(role -> role.getRoleKey().equals(Constants.SYS_ADMIN)).count();
|
if (sysAdmin == 0){
|
throw new RuntimeException("没有权限");
|
}
|
}
|
|
}
|
|
@Override
|
public int deleteHazards(Long id) {
|
return hazardsMapper.update(new Hazards(),
|
new LambdaUpdateWrapper<Hazards>().eq(Hazards::getId, id)
|
.set(Hazards::getDelFlag, Constants.FAIL).set(Hazards::getUpdateTime, LocalDateTime.now())
|
.set(Hazards::getUpdateBy, SecurityUtils.getUsername()));
|
}
|
}
|