Bläddra i källkod

档案鉴定,节点查询

qianxb 2 år sedan
förälder
incheckning
4e315c3d40

+ 3 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/ArchiveTreeContractClient.java

@@ -44,4 +44,7 @@ public interface ArchiveTreeContractClient {
 
     @PostMapping(API_PREFIX + "/getFirstNodeByTreeCode")
     ArchiveTreeContract getFirstNodeByTreeCode(@RequestParam Long projectId,@RequestParam Integer type);
+
+    @PostMapping(API_PREFIX + "/getArchiveTreeContractByContractId")
+    ArchiveTreeContract getArchiveTreeContractByContractId(@RequestParam Long contractId);
 }

+ 6 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchivesAutoServiceImpl.java

@@ -704,6 +704,12 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 			if (node.getAncestors().split(",").length <= 2){
 				//查询当前合同
 				ArchiveTreeContract archiveTreeContract = archiveTreeContractClient.getArchiveTreeContractByNodeName(contractInfo.getContractName());
+				if (archiveTreeContract == null){
+					archiveTreeContract = archiveTreeContractClient.getArchiveTreeContractByContractId(vo.getContractId());
+				}
+				if (archiveTreeContract == null){
+					throw new ServiceException("系统繁忙,请稍后再试");
+				}
 				vo.setNodeId(archiveTreeContract.getId());
 			}
 				list = baseMapper.pageByAuthenticate(page, vo);

+ 6 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/feign/ArchiveTreeContractImpl.java

@@ -6,6 +6,7 @@ import org.springblade.archive.vo.ArchivesAutoVO;
 import org.springblade.manager.entity.ArchiveTreeContract;
 import org.springblade.manager.mapper.ArchiveTreeContractMapper;
 import org.springblade.manager.service.IArchiveTreeContractService;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
@@ -96,5 +97,10 @@ public class ArchiveTreeContractImpl implements ArchiveTreeContractClient {
         return contract;
     }
 
+    @Override
+    public ArchiveTreeContract getArchiveTreeContractByContractId(@RequestParam Long contractId) {
+        return archiveTreeContractMapper.getArchiveTreeContractByContractId(contractId);
+    }
+
 
 }

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

@@ -107,4 +107,5 @@ public interface ArchiveTreeContractMapper extends BaseMapper<ArchiveTreeContrac
                                               @feign.Param("ancestors") String ancestors,
                                               @feign.Param("fileNumberPrefix") String fileNumberPrefix);
 
+    ArchiveTreeContract getArchiveTreeContractByContractId(@Param("contractId") Long contractId);
 }

+ 7 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ArchiveTreeContractMapper.xml

@@ -466,6 +466,13 @@
         select count(*) from m_archive_tree_contract
         WHERE project_id = #{projectId}) and is_deleted = 0 and from_id is null and like concat('%',#{id},'%')
     </select>
+    <select id="getArchiveTreeContractByContractId"
+            resultType="org.springblade.manager.entity.ArchiveTreeContract">
+        select id from m_archive_tree_contract
+        where contract_id = #{contractId} and is_deleted = 0
+        order by ancestors
+            limit 1
+    </select>
 
     <update id="updateAllSonNodeIdsForArchiveAutoRule">