diff --git a/src/main/java/com/heai/modules/production/service/impl/AbnormalServiceImpl.java b/src/main/java/com/heai/modules/production/service/impl/AbnormalServiceImpl.java index 981f01f..d78be82 100644 --- a/src/main/java/com/heai/modules/production/service/impl/AbnormalServiceImpl.java +++ b/src/main/java/com/heai/modules/production/service/impl/AbnormalServiceImpl.java @@ -11,7 +11,9 @@ import com.heai.modules.production.dao.AbnormalMapper; import com.heai.modules.production.dao.DailyPlanMapper; import com.heai.modules.production.entity.*; import com.heai.modules.production.service.AbnormalService; +import com.heai.modules.sys.dao.SysUserRoleDao; import com.heai.modules.sys.entity.SysUserEntity; +import com.heai.modules.sys.entity.SysUserRoleEntity; import com.heai.modules.taskmanage.dto.TaskDto; import com.heai.modules.taskmanage.entity.TaskDetailEntity; import com.heai.modules.taskmanage.service.TaskListService; @@ -46,6 +48,11 @@ public class AbnormalServiceImpl implements AbnormalService { private TaskListService taskListService; @Autowired private SysOssDao sysOssDao; + + @Autowired + private SysUserRoleDao sysUserRoleDao; + + @Override public List getAbnormalCodeList(){ return abnormalMapper.getAbnormalCodeList(); @@ -138,6 +145,11 @@ public class AbnormalServiceImpl implements AbnormalService { @Override @Transactional public void closeFeedBack(AbnormalFeedBackDataIn inData){ + Long userId = ((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId(); + List checkRole=sysUserRoleDao.checkRole(userId,"('超级管理员','管理员','实验室人员')"); + if(checkRole.size()==0){ + throw new RuntimeException("只有实验室和管理员可以结单!"); + } abnormalMapper.updateFeedBackFirstCloseDate(inData); inData.setStatus("已完结"); abnormalMapper.updateFeedBackStatus(inData); diff --git a/src/main/java/com/heai/modules/sys/dao/SysUserRoleDao.java b/src/main/java/com/heai/modules/sys/dao/SysUserRoleDao.java index bc6ab42..1ad16c4 100644 --- a/src/main/java/com/heai/modules/sys/dao/SysUserRoleDao.java +++ b/src/main/java/com/heai/modules/sys/dao/SysUserRoleDao.java @@ -3,8 +3,10 @@ package com.heai.modules.sys.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.heai.modules.sys.entity.SysRoleEntity; import com.heai.modules.sys.entity.SysUserRoleEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -26,4 +28,7 @@ public interface SysUserRoleDao extends BaseMapper { * 根据角色ID数组,批量删除 */ int deleteBatch(Long[] roleIds); + + + List checkRole(@Param("userId") Long userId, @Param("roleData") String roleData); } diff --git a/src/main/java/com/heai/modules/sys/service/SysUserRoleService.java b/src/main/java/com/heai/modules/sys/service/SysUserRoleService.java index 269f1ca..714985b 100644 --- a/src/main/java/com/heai/modules/sys/service/SysUserRoleService.java +++ b/src/main/java/com/heai/modules/sys/service/SysUserRoleService.java @@ -3,7 +3,9 @@ package com.heai.modules.sys.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.heai.modules.sys.entity.SysRoleEntity; import com.heai.modules.sys.entity.SysUserRoleEntity; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -27,4 +29,5 @@ public interface SysUserRoleService extends IService { * 根据角色ID数组,批量删除 */ int deleteBatch(Long[] roleIds); + } diff --git a/src/main/resources/mapper/sys/SysUserRoleDao.xml b/src/main/resources/mapper/sys/SysUserRoleDao.xml index 934ec38..da0bdde 100644 --- a/src/main/resources/mapper/sys/SysUserRoleDao.xml +++ b/src/main/resources/mapper/sys/SysUserRoleDao.xml @@ -13,4 +13,10 @@ + + \ No newline at end of file