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}