diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/constant/TypeKeyConstant.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/constant/TypeKeyConstant.java new file mode 100644 index 000000000..9ef4895c4 --- /dev/null +++ b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/constant/TypeKeyConstant.java @@ -0,0 +1,20 @@ +package com.elink.esua.epdc.constant; + +/** + * TypeKey 常量 + * + * @author work@yujt.net.cn + * @date 2019/12/18 10:10 + */ +public interface TypeKeyConstant { + + /** + * 机构:基础网格 + */ + String DEPT_GRID_PARTY = "grid_party"; + + /** + * 角色:网格长 + */ + String ROLE_GRID_LEADER = "gridLeader"; +} diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java index f300273f7..7f1147ff1 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java @@ -144,7 +144,7 @@ public class SysDeptController { */ @GetMapping("getParentAndAllDept/{deptId}") public Result getParentAndAllDept(@PathVariable("deptId") String deptId) { - return sysDeptService.getParentAndAllDept(deptId); + return new Result().ok(sysDeptService.getParentAndAllDept(deptId)); } /** diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysRoleDao.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysRoleDao.java index 31de4510a..1310c61b0 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysRoleDao.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysRoleDao.java @@ -1,8 +1,8 @@ /** * Copyright (c) 2018 人人开源 All rights reserved. - * + *

* https://www.renren.io - * + *

* 版权所有,侵权必究! */ @@ -12,6 +12,10 @@ import com.elink.esua.epdc.entity.SysRoleEntity; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.entity.SysRoleEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; /** * 角色管理 @@ -22,4 +26,14 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface SysRoleDao extends BaseDao { + /** + * 根据角色类型,获取机构的此类角色数量 + * + * @param roleType + * @param deptIdList + * @return java.util.List> + * @author work@yujt.net.cn + * @date 2019/12/18 10:20 + */ + List> selectAmountByRoleTpye(@Param("roleType") String roleType, @Param("deptIdList") List deptIdList); } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java index ad76abe6f..be7df276d 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java @@ -78,11 +78,11 @@ public interface SysDeptService extends BaseService { * 通过网格ID获取该网格所有上级机构 * * @param deptId - * @return com.elink.esua.epdc.commons.tools.utils.Result + * @return com.elink.esua.epdc.dto.CompleteDeptDTO * @author yujintao * @date 2019/9/7 09:13 */ - Result getParentAndAllDept(String deptId); + ParentAndAllDeptDTO getParentAndAllDept(String deptId); /** * 通过街道ID获取项目可流转部门 diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java index 7d87bbf7c..b0c7b83c4 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java @@ -243,7 +243,7 @@ public class SysDeptServiceImpl extends BaseServiceImpl getParentAndAllDept(String deptId) { + public ParentAndAllDeptDTO getParentAndAllDept(String deptId) { Long deptIdL = null; try { deptIdL = Long.parseLong(deptId.trim()); @@ -251,7 +251,7 @@ public class SysDeptServiceImpl extends BaseServiceImplgetCompleteDept:::部门ID格式转换异常:::deptId->{}", deptId); } if (null == deptIdL) { - return new Result().error("参数格式异常"); + throw new RenException("参数格式异常"); } CompleteDeptDTO completeDept = this.baseDao.getParentAndAllDept(deptIdL); ParentAndAllDeptDTO parentAndAllDeptDTO = new ParentAndAllDeptDTO(); @@ -274,11 +274,11 @@ public class SysDeptServiceImpl extends BaseServiceImpl deptidList) { + if (TypeKeyConstant.ROLE_GRID_LEADER.equals(roleType)) { + List> resultList = baseDao.selectAmountByRoleTpye(roleType, deptidList); + if (CollUtil.isEmpty(resultList)) { + return; + } + Map map; + String mapValue; + for (int i = 0; i < resultList.size(); i++) { + map = resultList.get(i); + + mapValue = map.get("typeKey").toString(); + if (!mapValue.equals(TypeKeyConstant.DEPT_GRID_PARTY)) { + continue; + } + + mapValue = map.get("amount").toString(); + if (Integer.parseInt(mapValue) <= NumConstant.THREE) { + continue; + } + mapValue = map.get("id").toString(); + ParentAndAllDeptDTO parentAndAllDept = sysDeptService.getParentAndAllDept(mapValue); + throw new RenException("保存失败:" + parentAndAllDept.getAllDeptNames() + ",网格长多于3人"); + } + } + } + @Override @Transactional(rollbackFor = Exception.class) public void update(SysRoleDTO dto) { diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysRoleDao.xml b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysRoleDao.xml index 9a422e550..c8cc9d182 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysRoleDao.xml +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysRoleDao.xml @@ -3,4 +3,19 @@ +