Browse Source

fix: query desendation deep down two levels in dep relation

dengjia 1 month ago
parent
commit
34a5af7c1d

+ 2 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/SysDeptRelationMapper.java

@@ -35,6 +35,8 @@ public interface SysDeptRelationMapper extends BaseMapper<SysDeptRelation> {
 
 
 	List<SysDeptRelation> selectDeptRelationsList(@Param("query") SysDeptRelation sysDeptRelation);
 	List<SysDeptRelation> selectDeptRelationsList(@Param("query") SysDeptRelation sysDeptRelation);
 
 
+	List<SysDeptRelation> selectDeptAllDesc(@Param("query") SysDeptRelation sysDeptRelation);
+
 	List<SysDeptRelation> selectDeptRelation(@Param("query") SysDeptRelation sysDeptRelation);
 	List<SysDeptRelation> selectDeptRelation(@Param("query") SysDeptRelation sysDeptRelation);
 
 
 	List<SysDeptRelation> selectByDescendantList(@Param("query") SysDeptRelation sysDeptRelation);
 	List<SysDeptRelation> selectByDescendantList(@Param("query") SysDeptRelation sysDeptRelation);

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaAgentServiceImpl.java

@@ -720,7 +720,7 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
             } else {
             } else {
                 SysDeptRelation sysDeptRelation = new SysDeptRelation();
                 SysDeptRelation sysDeptRelation = new SysDeptRelation();
                 sysDeptRelation.setAncestor(SecurityUtils.getUser().getDeptId());
                 sysDeptRelation.setAncestor(SecurityUtils.getUser().getDeptId());
-                sysDeptRelationList.addAll(sysDeptRelationMapper.selectDeptRelationsList(sysDeptRelation));
+                sysDeptRelationList.addAll(sysDeptRelationMapper.selectDeptAllDesc(sysDeptRelation));
             }
             }
 
 
             List<WmDaAgent> wmDaAgentList = new ArrayList<>();
             List<WmDaAgent> wmDaAgentList = new ArrayList<>();

+ 16 - 0
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/SysDeptRelationMapper.xml

@@ -69,6 +69,22 @@
 		WHERE ancestor = #{query.ancestor}
 		WHERE ancestor = #{query.ancestor}
 	</select>
 	</select>
 
 
+	<select id="selectDeptAllDesc" resultMap="BaseResultMap">
+		SELECT *
+		FROM sys_dept_relation
+		WHERE ancestor = #{query.ancestor}
+		UNION ALL
+		SELECT *
+		FROM sys_dept_relation
+		WHERE ancestor in (
+			SELECT descendant
+			FROM sys_dept_relation
+			WHERE ancestor = #{query.ancestor}
+			and
+			descendant != ancestor
+		)
+	</select>
+
 	<select id="selectListByAncestor" resultMap="BaseResultMap">
 	<select id="selectListByAncestor" resultMap="BaseResultMap">
 		SELECT
 		SELECT
 		*
 		*