From dd1146bf2ef9f44971952574f5252011d498f4ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A9=E5=9B=BD=E4=B8=9C?= Date: Fri, 9 Dec 2022 12:00:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E4=BD=8D=E6=A0=91=E5=BD=A2=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/rzyc/mapper/user/SysUnitMapper.java | 5 +- .../java/com/rzyc/model/user/SysUnit.java | 22 ++++++++ .../resources/mapper/user/SysUnitMapper.xml | 27 ++++++++-- .../rzyc/controller/PcCompanyController.java | 2 +- .../rzyc/controller/PcPersonalController.java | 52 ++++++++++++++++++- .../controller/ent/PcCompanyController.java | 2 +- 6 files changed, 101 insertions(+), 9 deletions(-) diff --git a/inventory-dao/src/main/java/com/rzyc/mapper/user/SysUnitMapper.java b/inventory-dao/src/main/java/com/rzyc/mapper/user/SysUnitMapper.java index 0a9b4ef..6c59dcd 100644 --- a/inventory-dao/src/main/java/com/rzyc/mapper/user/SysUnitMapper.java +++ b/inventory-dao/src/main/java/com/rzyc/mapper/user/SysUnitMapper.java @@ -43,11 +43,12 @@ public interface SysUnitMapper { List findByParentId(@Param("parentId") String parentId); /*部门列表*/ - List findUnit(); + List findUnit(@Param("parentUnitId") String parentUnitId); /*部门列表*/ List findByName(@Param("condition") String condition, - @Param("parentId") String parentId); + @Param("parentId") String parentId, + @Param("parentUnitId") String parentUnitId); /*修改部门*/ Integer changeUnit(@Param("record") SysUnit record); diff --git a/inventory-dao/src/main/java/com/rzyc/model/user/SysUnit.java b/inventory-dao/src/main/java/com/rzyc/model/user/SysUnit.java index c90034c..9cce54f 100644 --- a/inventory-dao/src/main/java/com/rzyc/model/user/SysUnit.java +++ b/inventory-dao/src/main/java/com/rzyc/model/user/SysUnit.java @@ -23,6 +23,12 @@ public class SysUnit implements Serializable { @ApiModelProperty("父级部门id") private String superiorunitid; + @ApiModelProperty("父级地址") + private String parentPath; + + @ApiModelProperty("父级名称") + private String parentName; + @ApiModelProperty("父级部门名") private String superName; @@ -90,6 +96,22 @@ public class SysUnit implements Serializable { private static final long serialVersionUID = 1L; + public String getParentPath() { + return parentPath; + } + + public void setParentPath(String parentPath) { + this.parentPath = parentPath; + } + + public String getParentName() { + return parentName; + } + + public void setParentName(String parentName) { + this.parentName = parentName; + } + public Integer getUserNum() { return userNum; } diff --git a/inventory-dao/src/main/resources/mapper/user/SysUnitMapper.xml b/inventory-dao/src/main/resources/mapper/user/SysUnitMapper.xml index ee0db9c..e248ec1 100644 --- a/inventory-dao/src/main/resources/mapper/user/SysUnitMapper.xml +++ b/inventory-dao/src/main/resources/mapper/user/SysUnitMapper.xml @@ -5,6 +5,8 @@ + + @@ -84,7 +86,11 @@ - SysUnitId, OrgCode, SuperiorUnitId, UnitCode, UnitName, PinYin, UnitType, UnitAddress, + SysUnitId, OrgCode, + parent_path, + parent_name, + SuperiorUnitId, + UnitCode, UnitName, PinYin, UnitType, UnitAddress, SimpleName, Principal, MobileTel, BaseInfo, Telephone, UnitLocation, Latitude, Longitude, Comments, CreatedOn, CreatedBy, ModifiedOn, ModifiedBy, SysEnterpriseId @@ -127,7 +133,10 @@ - insert into SysUnit (SysUnitId, OrgCode, SuperiorUnitId, + insert into SysUnit (SysUnitId, OrgCode, + SuperiorUnitId, + parent_path, + parent_name, UnitCode, UnitName, PinYin, UnitType, UnitAddress, SimpleName, Principal, MobileTel, BaseInfo, @@ -135,7 +144,10 @@ Longitude, Comments, CreatedOn, CreatedBy, ModifiedOn, ModifiedBy, SysEnterpriseId) - values (#{sysunitid,jdbcType=CHAR}, #{orgcode,jdbcType=VARCHAR}, #{superiorunitid,jdbcType=CHAR}, + values (#{sysunitid,jdbcType=CHAR}, #{orgcode,jdbcType=VARCHAR}, + #{superiorunitid,jdbcType=CHAR}, + #{parentPath,jdbcType=CHAR}, + #{parentName,jdbcType=CHAR}, #{unitcode,jdbcType=VARCHAR}, #{unitname,jdbcType=VARCHAR}, #{pinyin,jdbcType=VARCHAR}, #{unittype,jdbcType=VARCHAR}, #{unitaddress,jdbcType=VARCHAR}, #{simplename,jdbcType=VARCHAR}, #{principal,jdbcType=VARCHAR}, #{mobiletel,jdbcType=VARCHAR}, #{baseinfo,jdbcType=VARCHAR}, @@ -517,6 +529,10 @@ @@ -543,6 +559,9 @@ AND su.SuperiorUnitId = #{parentId} + + and FIND_IN_SET(#{parentUnitId},su.parent_path) + @@ -551,6 +570,8 @@ set OrgCode = #{record.orgcode,jdbcType=VARCHAR}, SuperiorUnitId = #{record.superiorunitid,jdbcType=CHAR}, + parent_path = #{record.parentPath,jdbcType=CHAR}, + parent_name = #{record.parentName,jdbcType=CHAR}, UnitCode = #{record.unitcode,jdbcType=VARCHAR}, UnitName = #{record.unitname,jdbcType=VARCHAR}, PinYin = #{record.pinyin,jdbcType=VARCHAR}, diff --git a/inventory-ent/src/main/java/com/rzyc/controller/PcCompanyController.java b/inventory-ent/src/main/java/com/rzyc/controller/PcCompanyController.java index e2661d2..de55f8b 100644 --- a/inventory-ent/src/main/java/com/rzyc/controller/PcCompanyController.java +++ b/inventory-ent/src/main/java/com/rzyc/controller/PcCompanyController.java @@ -112,7 +112,7 @@ public class PcCompanyController extends BaseController{ sysEnterprises.get(0).setOrgName(orgName); - List units = sysUnitMapper.findUnit(); + List units = sysUnitMapper.findUnit(""); String sysUnitId = sysEnterprises.get(0).getSysUnitId(); String managerDept = sysEnterprises.get(0).getManagerDept(); String [] arr=sysUnitId.split(","); diff --git a/inventory-gov/src/main/java/com/rzyc/controller/PcPersonalController.java b/inventory-gov/src/main/java/com/rzyc/controller/PcPersonalController.java index f7a961d..67f97be 100644 --- a/inventory-gov/src/main/java/com/rzyc/controller/PcPersonalController.java +++ b/inventory-gov/src/main/java/com/rzyc/controller/PcPersonalController.java @@ -762,7 +762,11 @@ public class PcPersonalController extends com.rzyc.controller.BaseController { @ResponseBody public MultiResult unitTree()throws Exception{ MultiResult result = new MultiResult<>(); - List units = sysUnitMapper.findUnit(); + + String userId = getUserId(); + String parentUnitId = getSuperUnitId(userId); + + List units = sysUnitMapper.findUnit(parentUnitId); if(units.size() > 0){ JSONArray unitJson = handleUnitTree(units); List sysUnits = JSONArray.parseArray(JSONArray.toJSONString(unitJson),SysUnit.class); @@ -1300,15 +1304,38 @@ public class PcPersonalController extends com.rzyc.controller.BaseController { @ResponseBody public SingleResult> unitPage(@Valid UnitPageDto unitPageDto)throws Exception{ SingleResult> result = new SingleResult<>(); + + String userId = getUserId(); + String parentUnitId = getSuperUnitId(userId); String condition = TypeConversion.getCondition(unitPageDto.getCondition()); PageHelper.startPage(unitPageDto.getPage(), unitPageDto.getPageSize()); - Page page = (Page)sysUnitMapper.findByName(condition,unitPageDto.getUnitId()); + Page page = (Page)sysUnitMapper.findByName(condition,unitPageDto.getUnitId(),parentUnitId); Pager pager = new Pager<>(); getDatePage(pager,page); result.setData(pager); return result; } + /** + * 获取用户部门id + * @version v1.0 + * @author dong + * @date 2022/12/8 15:00 + */ + private String getSuperUnitId(String userId)throws Exception{ + String parentUnitId = ""; + if(StringUtils.isBlank(userId)){ + userId = getUserId(); + } + if(StringUtils.isNotBlank(userId)){ + SysUser sysUser = sysUserMapper.findById(userId); + if(null != sysUser){ + parentUnitId = sysUser.getSysunitorentid(); + } + } + return parentUnitId; + } + /** * 修改新增部门 * @return @@ -1333,15 +1360,36 @@ public class PcPersonalController extends com.rzyc.controller.BaseController { //查重 SysUnit unit = sysUnitMapper.selectByPrimaryKey(sysUnit.getSysunitid()); if(null != unit){ + getUnitPath(sysUnit.getSuperiorunitid(),sysUnit); sysUnitMapper.changeUnit(sysUnit); }else{ //新增 + getUnitPath(sysUnit.getSuperiorunitid(),sysUnit); sysUnitMapper.insert(sysUnit); } return result; } + /** + * + * @version v1.0 + * @author dong + * @date 2022/12/8 13:52 + */ + public void getUnitPath(String parentId,SysUnit sysUnit)throws Exception{ + sysUnit.setParentPath(sysUnit.getSysunitid()); + sysUnit.setParentName(sysUnit.getUnitname()); + if(StringUtils.isNotBlank(parentId)){ + SysUnit unit = sysUnitMapper.selectByPrimaryKey(parentId); + if(null != unit){ + sysUnit.setParentPath(unit.getParentPath()+","+sysUnit.getSysunitid()); + sysUnit.setParentName(unit.getParentName()+","+sysUnit.getUnitname()); + } + } + + } + /** * 角色分页 diff --git a/inventory-gov/src/main/java/com/rzyc/controller/ent/PcCompanyController.java b/inventory-gov/src/main/java/com/rzyc/controller/ent/PcCompanyController.java index badbd5e..25eead7 100644 --- a/inventory-gov/src/main/java/com/rzyc/controller/ent/PcCompanyController.java +++ b/inventory-gov/src/main/java/com/rzyc/controller/ent/PcCompanyController.java @@ -173,7 +173,7 @@ public class PcCompanyController extends com.rzyc.controller.BaseController { sysEnterprises.get(0).setOrgName(orgName); - List units = sysUnitMapper.findUnit(); + List units = sysUnitMapper.findUnit(""); String sysUnitId = sysEnterprises.get(0).getSysUnitId(); String managerDept = sysEnterprises.get(0).getManagerDept(); String [] arr=sysUnitId.split(",");