Browse Source

档案查询,目录根据权限显示,树节点排序同步

qianxb 2 years ago
parent
commit
3289ef8e14

+ 2 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ArchiveTreeContractMapper.java

@@ -79,7 +79,7 @@ public interface ArchiveTreeContractMapper extends BaseMapper<ArchiveTreeContrac
 	@MapKey("id")
 	List<Map<String, Object>> getArchiveTreeAndArchiveCount(@Param("projectId") Long projectId,@Param("nodeId") Long nodeId);
 
-    List<ArchiveTreeContractVO3> getArchiveTreeByNodeType(@Param("projectId")Long projectId,@Param("nodeType") String nodeType);
+    List<ArchiveTreeContractVO3> getArchiveTreeByNodeType(@Param("projectId")Long projectId,@Param("contractId")Long contractId,@Param("nodeType") String nodeType);
 
     List<ArchiveTreeContractVO3> getArchiveTreeByNodeType2(@Param("projectId")Long projectId);
 
@@ -88,5 +88,6 @@ public interface ArchiveTreeContractMapper extends BaseMapper<ArchiveTreeContrac
 	List<ArchiveTreeContract> getAuthCodeList(@Param("id") String id,@Param("authCode") String authCode,@Param("contractId") Long contractId);
 
 	List<ArchiveTreeContract> getArchiveTreeContractListByIds(@Param("idsList") List<String> idsList);
+
     String getUserRoleName(@Param("projectId")Long projectId,@Param("contractId") Long contractId,@Param("userId") Long userId);
 }

+ 5 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ArchiveTreeContractMapper.xml

@@ -371,12 +371,15 @@
     </select>
     <select id="getArchiveTreeByNodeType" resultType="org.springblade.manager.vo.ArchiveTreeContractVO3">
         SELECT matc1.*,if((SELECT COUNT(*) from m_archive_tree_contract matc WHERE matc.parent_id = matc1.id)=0,true,false)
-            as notExsitChild
+        as notExsitChild
         FROM m_archive_tree_contract matc1
         WHERE  matc1.parent_id = (select id from m_archive_tree_contract
                             WHERE parent_id = (select id from m_archive_tree_contract WHERE parent_id = 0 and project_id = #{projectId})
                             and tree_code = #{nodeType})
-          and matc1.is_deleted = 0
+        and matc1.is_deleted = 0
+        <if test="contractId !=null and contractId !=''">
+            AND matc1.contract_id = #{contractId}
+        </if>
     </select>
 
     <select id="getArchiveTreeByNodeType2" resultType="org.springblade.manager.vo.ArchiveTreeContractVO3">

+ 12 - 5
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArchiveTreeContractServiceImpl.java

@@ -870,6 +870,13 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
 		return baseMapper.getArchiveTreeAndArchiveCount(projectId,nodeId);
 	}
 
+	/**
+	 * 档案查询,目录树,根据类型获取目录
+	 * @param projectId
+	 * @param contractId
+	 * @param nodeType
+	 * @return
+	 */
 	@Override
 	public List<ArchiveTreeContractVO3> getArchiveTreeByNodeType(Long projectId, Long contractId,Integer nodeType) {
 		//获取合同段类型
@@ -883,18 +890,18 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
 			if (nodeType == 1) {
 				return baseMapper.getArchiveTreeByNodeType2(projectId);
 			} else if (nodeType == 2) {
-				return baseMapper.getArchiveTreeByNodeType(projectId, "C");
+				return baseMapper.getArchiveTreeByNodeType(projectId,null, "C");
 			} else if (nodeType == 3) {
-				return baseMapper.getArchiveTreeByNodeType(projectId, "S");
+				return baseMapper.getArchiveTreeByNodeType(projectId,null, "S");
 			} else {
 				return null;
 			}
 		}else {
-			//只返回对应类型的
+			//只返回当前合同段
 			if (contractType == 1 && nodeType == 2){
-					return baseMapper.getArchiveTreeByNodeType(projectId, "C");
+					return baseMapper.getArchiveTreeByNodeType(projectId,contractId, "C");
 			} else if (contractType == 2 && nodeType == 3) {
-					return baseMapper.getArchiveTreeByNodeType(projectId, "S");
+					return baseMapper.getArchiveTreeByNodeType(projectId, contractId,"S");
 			}else {
 				return null;
 			}