diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/EnterprisePubQrcode.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/EnterprisePubQrcode.java index 80876d8e..255a051a 100644 --- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/EnterprisePubQrcode.java +++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/EnterprisePubQrcode.java @@ -72,6 +72,12 @@ public class EnterprisePubQrcode extends BaseDomain /** 备注 */ private String remark; + /** 父级存在zoneid的部门id */ + private String zoneDeptId; + + /** 父级存在zoneid的部门名称 */ + private String zoneDeptName; + /** 匹配到的目标类型 */ private String matchingToType; @@ -258,6 +264,26 @@ public class EnterprisePubQrcode extends BaseDomain return remark; } + public void setZoneDeptId(String zoneDeptId) + { + this.zoneDeptId = zoneDeptId; + } + + public String getZoneDeptId() + { + return zoneDeptId; + } + + public void setZoneDeptName(String zoneDeptName) + { + this.zoneDeptName = zoneDeptName; + } + + public String getZoneDeptName() + { + return zoneDeptName; + } + public void setMatchingToType(String matchingToType) { this.matchingToType = matchingToType; @@ -305,6 +331,8 @@ public class EnterprisePubQrcode extends BaseDomain .append("remark", getRemark()) .append("matchingToType", getMatchingToType()) .append("matchingToId", getMatchingToId()) + .append("zoneDeptId", getZoneDeptId()) + .append("zoneDeptName", getZoneDeptName()) .toString(); } } diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnterprisePubQrcodeServiceImpl.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnterprisePubQrcodeServiceImpl.java index ed0107f6..4a9a825c 100644 --- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnterprisePubQrcodeServiceImpl.java +++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnterprisePubQrcodeServiceImpl.java @@ -374,6 +374,13 @@ public class EnterprisePubQrcodeServiceImpl implements IEnterprisePubQrcodeServi item.setCreateBy(currentUser.getUserName()); item.setDeptName(currentUser.getDept().getDeptName()); item.setDeptId(currentUser.getDeptId()); + // 递归查找父级存在zone值的部门(最多4级) + Dept zoneDept = findParentDeptWithZone(currentUser.getDeptId(), 4); + if (zoneDept != null) + { + item.setZoneDeptId(zoneDept.getDeptId()); + item.setZoneDeptName(zoneDept.getDeptName()); + } enterprisePubQrcodeMapper.insertEnterprisePubQrcode(item); insertCount++; } @@ -952,6 +959,31 @@ public class EnterprisePubQrcodeServiceImpl implements IEnterprisePubQrcodeServi return enterprisePubQrcodeMapper.selectEnterprisePubQrcodeQueryList(enterprisePubQrcode); } + /** + * 递归查找父级部门中存在zone值的部门(最多向上查找4级) + * + * @param deptId 当前部门ID + * @param maxDepth 最大递归深度 + * @return 存在zone值的部门,未找到返回null + */ + private Dept findParentDeptWithZone(String deptId, int maxDepth) + { + if (maxDepth <= 0 || StrUtil.isBlank(deptId)) + { + return null; + } + Dept dept = deptMapper.selectDeptById(deptId); + if (dept == null) + { + return null; + } + if (dept.getZone() != null) + { + return dept; + } + return findParentDeptWithZone(dept.getParentId(), maxDepth - 1); + } + /** * 数据范围校验:根据当前用户角色的dataScope判断可查询的数据范围 * 参考 EnterpriseInformationServiceImpl.check 方法 diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/resources/mapper/EnterprisePubQrcodeMapper.xml b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/resources/mapper/EnterprisePubQrcodeMapper.xml index e5bfffa3..e32e0872 100644 --- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/resources/mapper/EnterprisePubQrcodeMapper.xml +++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/resources/mapper/EnterprisePubQrcodeMapper.xml @@ -29,6 +29,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + @@ -36,7 +38,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" matching_status, matching_message, download_status, dept_name, dept_id, user_name, user_id, create_time, create_by, qr_code_path, last_qr_code_time, import_row_num, import_file_name, import_file_id, remark, - matching_to_type, matching_to_id + matching_to_type, matching_to_id, zone_dept_id, zone_dept_name from enterprise_pub_qrcode @@ -140,6 +142,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" remark, matching_to_type, matching_to_id, + zone_dept_id, + zone_dept_name, #{id}, @@ -166,6 +170,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{remark}, #{matchingToType}, #{matchingToId}, + #{zoneDeptId}, + #{zoneDeptName}, @@ -195,6 +201,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" remark = #{remark}, matching_to_type = #{matchingToType}, matching_to_id = #{matchingToId}, + zone_dept_id = #{zoneDeptId}, + zone_dept_name = #{zoneDeptName}, where id = #{id}