diff --git a/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/constant/BusinessConstants.java b/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/constant/BusinessConstants.java index 2c7b813..01bb698 100644 --- a/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/constant/BusinessConstants.java +++ b/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/constant/BusinessConstants.java @@ -29,6 +29,13 @@ public class BusinessConstants { /** 手环箱设备类型*/ public final static String SHX = "shx"; + /** 管理员角色*/ + public final static String ADMINISTRATORS = "administrators"; + /** 班组角色*/ + public final static String TEAM = "team"; + /** 项目部角色*/ + public final static String DEPART = "depart"; + public final static Integer CELL_1 = 1; public final static Integer CELL_2 = 2; public final static Integer CELL_3 = 3; diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java index 280bbd6..287983a 100644 --- a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java @@ -42,17 +42,17 @@ public class BraceletParamsDto { /** * 角色编码 */ - private String roleCode; + private String roleCode = SecurityUtils.getRoleCode();; /** * 项目部ID */ - private Long departId; + private Long departId = SecurityUtils.getDepartId(); /** * 班组ID */ - private Long teamId; + private Long teamId = SecurityUtils.getTeamId(); /** * 资源类型 diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqVo.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqVo.java index 36fa299..88a10d4 100644 --- a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqVo.java +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqVo.java @@ -35,6 +35,7 @@ public class EquipmentReqVo { * 工程名称 */ private String proName; + /** * 项目部名称 */ diff --git a/bonus-common/bonus-common-security/src/main/java/com/bonus/common/security/utils/SecurityUtils.java b/bonus-common/bonus-common-security/src/main/java/com/bonus/common/security/utils/SecurityUtils.java index abf93b5..3a3b4f3 100644 --- a/bonus-common/bonus-common-security/src/main/java/com/bonus/common/security/utils/SecurityUtils.java +++ b/bonus-common/bonus-common-security/src/main/java/com/bonus/common/security/utils/SecurityUtils.java @@ -1,6 +1,8 @@ package com.bonus.common.security.utils; import javax.servlet.http.HttpServletRequest; + +import com.bonus.common.core.constant.BusinessConstants; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import com.bonus.common.core.constant.SecurityConstants; import com.bonus.common.core.constant.TokenConstants; @@ -146,4 +148,18 @@ public class SecurityUtils public static String getRoleCode(){ return SecurityUtils.getLoginUser() != null && SecurityUtils.getLoginUser().getSysUser() != null ? SecurityUtils.getLoginUser().getSysUser().getRoleCode() : null; } + + /** + * 是否是项目部角色/管理员角色 + * @return boolean + * @author cwchen + * @date 2024/8/7 10:47 + */ + public static boolean isDepartRoleCode(){ + String roleCode = getRoleCode(); + if(Objects.equals(roleCode, BusinessConstants.DEPART) || Objects.equals(roleCode, BusinessConstants.ADMINISTRATORS)){ + return true; + } + return false; + } } diff --git a/bonus-modules/bonus-app/src/main/java/com/bonus/app/controller/AppEquipmentReqController.java b/bonus-modules/bonus-app/src/main/java/com/bonus/app/controller/AppEquipmentReqController.java index 13faa5b..d1b3baa 100644 --- a/bonus-modules/bonus-app/src/main/java/com/bonus/app/controller/AppEquipmentReqController.java +++ b/bonus-modules/bonus-app/src/main/java/com/bonus/app/controller/AppEquipmentReqController.java @@ -32,7 +32,7 @@ public class AppEquipmentReqController extends BaseController { @Resource(name = "IAppEquipmentReqService") private IAppEquipmentReqService service; - // @RequiresPermissions("basic:equipmentReq:list") + // @RequiresPermissions("app:equipmentReq:list") @GetMapping("list") @SysLog(title = "施工管控", businessType = OperaType.QUERY,logType = 0,module = "施工管控->设备领用",details ="查询设备领用列表") public TableDataInfo list(AppParamsDto dto) { @@ -41,7 +41,7 @@ public class AppEquipmentReqController extends BaseController { return getDataTable(list); } - // @RequiresPermissions("basic:equipmentReq:addData") + // @RequiresPermissions("app:equipmentReq:addData") @PostMapping("addData") @SysLog(title = "施工管控", businessType = OperaType.INSERT,logType = 0,module = "施工管控->设备领用",details ="设备领用") public AjaxResult addData(@Validated @RequestBody EquipmentReqDataVo vo) { @@ -60,7 +60,7 @@ public class AppEquipmentReqController extends BaseController { return service.getUseDevices(dto); } - // @RequiresPermissions("basic:equipmentReq:returnDevice") + // @RequiresPermissions("app:equipmentReq:returnDevice") @PostMapping("returnDevice") @SysLog(title = "施工管控", businessType = OperaType.INSERT,logType = 0,module = "施工管控->设备领用",details ="归还设备") public AjaxResult returnDevice(@RequestBody BraceletParamsDto dto) { diff --git a/bonus-modules/bonus-app/src/main/java/com/bonus/app/service/impl/AppEquipmentReqServiceImpl.java b/bonus-modules/bonus-app/src/main/java/com/bonus/app/service/impl/AppEquipmentReqServiceImpl.java index 2ce4561..7097ec3 100644 --- a/bonus-modules/bonus-app/src/main/java/com/bonus/app/service/impl/AppEquipmentReqServiceImpl.java +++ b/bonus-modules/bonus-app/src/main/java/com/bonus/app/service/impl/AppEquipmentReqServiceImpl.java @@ -9,6 +9,7 @@ import com.bonus.common.entity.app.AppParamsDto; import com.bonus.common.entity.bracelet.BraceletParamsDto; import com.bonus.common.entity.bracelet.vo.EquipmentReqDataVo; import com.bonus.common.entity.bracelet.vo.EquipmentReqVo; +import com.bonus.common.security.utils.SecurityUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -51,6 +52,10 @@ public class AppEquipmentReqServiceImpl implements IAppEquipmentReqService { @Transactional(rollbackFor = Exception.class) public AjaxResult addData(EquipmentReqDataVo vo) { try { + boolean isDepartRoleCode = SecurityUtils.isDepartRoleCode(); + if(!isDepartRoleCode){ + return AjaxResult.error("非项目部角色,无领用设备权限"); + } if (CollectionUtils.isEmpty(vo.getList())) { return AjaxResult.error("领用设备不能为空"); } @@ -100,6 +105,10 @@ public class AppEquipmentReqServiceImpl implements IAppEquipmentReqService { @Transactional(rollbackFor = Exception.class) public AjaxResult returnDevice(BraceletParamsDto dto) { try { + boolean isDepartRoleCode = SecurityUtils.isDepartRoleCode(); + if(!isDepartRoleCode){ + return AjaxResult.error("非项目部角色,无归还设备权限"); + } if(Objects.equals(dto.getDevType(), BusinessConstants.SHX)){ // 设备类型为手环箱时,判断手环设备是否全部归还 int result = mapper.isAllDeviceReturn(dto,1); diff --git a/bonus-modules/bonus-app/src/main/resources/mapper/AppEquipmentReqMapper.xml b/bonus-modules/bonus-app/src/main/resources/mapper/AppEquipmentReqMapper.xml index e35ef67..a07a883 100644 --- a/bonus-modules/bonus-app/src/main/resources/mapper/AppEquipmentReqMapper.xml +++ b/bonus-modules/bonus-app/src/main/resources/mapper/AppEquipmentReqMapper.xml @@ -78,11 +78,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" twt.team_leader AS teamLeader, twt.leader_phone AS leaderPhone, tpp.power_name AS powerName, - tp.pro_name AS proName + tp.pro_name AS proName, + tpd.depart_name AS departName FROM tb_dev_use tdu LEFT JOIN t_work_team twt ON tdu.team_id = twt.team_id AND twt.del_flag = 0 LEFT JOIN tb_project_power tpp ON tpp.id = tdu.gt_id AND tpp.del_flag = 0 LEFT JOIN tb_project tp ON tp.id = tdu.pro_id AND tp.del_flag = 0 + LEFT JOIN tb_project_depart tpd ON tpd.id = tp.depart_id AND tpd.del_flag = 0 LEFT JOIN tb_dev_use_bid tdub ON tdu.id = tdub.id LEFT JOIN tb_device td ON tdub.dev_id = td.id AND td.del_flag = 0 LEFT JOIN sys_dict_data sdd ON td.dev_type = sdd.dict_value AND sdd.dict_type = 'sys_device_type' @@ -104,11 +106,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" twt.team_leader AS teamLeader, twt.leader_phone AS leaderPhone, tpp.power_name AS powerName, - tp.pro_name AS proName + tp.pro_name AS proName, + tpd.depart_name AS departName FROM tb_dev_use tdu LEFT JOIN t_work_team twt ON tdu.team_id = twt.team_id AND twt.del_flag = 0 LEFT JOIN tb_project_power tpp ON tpp.id = tdu.gt_id AND tpp.del_flag = 0 LEFT JOIN tb_project tp ON tp.id = tdu.pro_id AND tp.del_flag = 0 + LEFT JOIN tb_project_depart tpd ON tpd.id = tp.depart_id AND tpd.del_flag = 0 LEFT JOIN tb_dev_use_bid tdub ON tdu.id = tdub.id LEFT JOIN sys_dict_data sdd ON tdub.dev_type = sdd.dict_value AND sdd.dict_type = 'sys_device_type' LEFT JOIN tb_sh_box tsb ON tdub.dev_id = tsb.id AND tsb.del_flag = 0 @@ -139,6 +143,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND DATE_FORMAT(a.ghTime,'%y%m%d') BETWEEN #{ghTime} AND #{ghTime} + + AND a.departId = -1 + + + AND a.departId = #{departId} + diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/EquipmentReqServiceImpl.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/EquipmentReqServiceImpl.java index 8a499aa..1e22eff 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/EquipmentReqServiceImpl.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/EquipmentReqServiceImpl.java @@ -8,6 +8,7 @@ import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.entity.bracelet.BraceletParamsDto; import com.bonus.common.entity.bracelet.vo.EquipmentReqDataVo; import com.bonus.common.entity.bracelet.vo.EquipmentReqVo; +import com.bonus.common.security.utils.SecurityUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -50,6 +51,10 @@ public class EquipmentReqServiceImpl implements IEquipmentReqService { @Transactional(rollbackFor = Exception.class) public AjaxResult addData(EquipmentReqDataVo vo) { try { + boolean isDepartRoleCode = SecurityUtils.isDepartRoleCode(); + if(!isDepartRoleCode){ + return AjaxResult.error("非项目部角色,无领用设备权限"); + } if (CollectionUtils.isEmpty(vo.getList())) { return AjaxResult.error("领用设备不能为空"); } @@ -99,6 +104,10 @@ public class EquipmentReqServiceImpl implements IEquipmentReqService { @Transactional(rollbackFor = Exception.class) public AjaxResult returnDevice(BraceletParamsDto dto) { try { + boolean isDepartRoleCode = SecurityUtils.isDepartRoleCode(); + if(!isDepartRoleCode){ + return AjaxResult.error("非项目部角色,无归还设备权限"); + } if(Objects.equals(dto.getDevType(), BusinessConstants.SHX)){ // 设备类型为手环箱时,判断手环设备是否全部归还 int result = mapper.isAllDeviceReturn(dto,1); diff --git a/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/EquipmentReqMapper.xml b/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/EquipmentReqMapper.xml index 1461460..5e38e1f 100644 --- a/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/EquipmentReqMapper.xml +++ b/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/EquipmentReqMapper.xml @@ -79,11 +79,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" twt.team_leader AS teamLeader, twt.leader_phone AS leaderPhone, tpp.power_name AS powerName, - tp.pro_name AS proName + tp.pro_name AS proName, + tpd.depart_name AS departName, + tp.depart_id AS departId FROM tb_dev_use tdu LEFT JOIN t_work_team twt ON tdu.team_id = twt.team_id AND twt.del_flag = 0 LEFT JOIN tb_project_power tpp ON tpp.id = tdu.gt_id AND tpp.del_flag = 0 LEFT JOIN tb_project tp ON tp.id = tdu.pro_id AND tp.del_flag = 0 + LEFT JOIN tb_project_depart tpd ON tpd.id = tp.depart_id AND tpd.del_flag = 0 LEFT JOIN tb_dev_use_bid tdub ON tdu.id = tdub.id LEFT JOIN tb_device td ON tdub.dev_id = td.id AND td.del_flag = 0 LEFT JOIN sys_dict_data sdd ON td.dev_type = sdd.dict_value AND sdd.dict_type = 'sys_device_type' @@ -100,17 +103,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" tsb.box_name AS devName, tdub.ly_time AS lyTime, tdub.gh_time AS ghTime, - '手环箱' AS deviceTypeName, + sdd.dict_label AS deviceTypeName, twt.team_name AS teamName, twt.team_leader AS teamLeader, twt.leader_phone AS leaderPhone, tpp.power_name AS powerName, - tp.pro_name AS proName + tp.pro_name AS proName, + tpd.depart_name AS departName, + tp.depart_id AS departId FROM tb_dev_use tdu LEFT JOIN t_work_team twt ON tdu.team_id = twt.team_id AND twt.del_flag = 0 LEFT JOIN tb_project_power tpp ON tpp.id = tdu.gt_id AND tpp.del_flag = 0 LEFT JOIN tb_project tp ON tp.id = tdu.pro_id AND tp.del_flag = 0 + LEFT JOIN tb_project_depart tpd ON tpd.id = tp.depart_id AND tpd.del_flag = 0 LEFT JOIN tb_dev_use_bid tdub ON tdu.id = tdub.id + LEFT JOIN sys_dict_data sdd ON tdub.dev_type = sdd.dict_value AND sdd.dict_type = 'sys_device_type' LEFT JOIN tb_sh_box tsb ON tdub.dev_id = tsb.id AND tsb.del_flag = 0 WHERE tdu.del_flag = 0 AND tdub.dev_type = 'shx' @@ -139,6 +146,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND DATE_FORMAT(a.ghTime,'%y%m%d') BETWEEN #{ghTime} AND #{ghTime} + + AND a.departId = -1 + + + AND a.departId = #{departId} + diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/domain/SysParamsDto.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/domain/SysParamsDto.java index 3d94677..eb39f09 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/domain/SysParamsDto.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/domain/SysParamsDto.java @@ -1,5 +1,6 @@ package com.bonus.system.domain; +import com.bonus.common.security.utils.SecurityUtils; import lombok.Data; /** @@ -19,15 +20,15 @@ public class SysParamsDto { /** * 角色编码 */ - private String roleCode; + private String roleCode = SecurityUtils.getRoleCode(); /** * 项目部ID */ - private Long departId; + private Long departId = SecurityUtils.getDepartId(); /** * 班组ID */ - private Long teamId; + private Long teamId = SecurityUtils.getTeamId(); } diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/system/SelectMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/system/SelectMapper.xml index fe058c5..291ca9d 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/system/SelectMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/system/SelectMapper.xml @@ -25,6 +25,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" FROM t_work_team twt LEFT JOIN tb_project tp on twt.pro_id = tp.id AND tp.del_flag = 0 WHERE twt.del_flag = 0 + + AND tp.depart_id = -1 + + + AND tp.depart_id = #{departId} +