huangtf 2 年 前
コミット
853cd2d223

+ 13 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ArchiveTreeContractVO2.java

@@ -211,6 +211,19 @@ public class ArchiveTreeContractVO2 implements INodeEx<ArchiveTreeContractVO2> {
 	//flag 为1 则为修改。
 	private Integer flag = 0;
 
+	//档号前缀
+	private String fileNumberPrefix;
+	//保管期限
+	private String storageTime;
+	//立卷人
+	private String rollor;
+	//审核人
+	private String reviewer;
+	//卷盒规格
+	private String specification;
+	//案卷后缀
+	private String archiveNameSuffix;
+
 	public String toString() {
 		return "TreeNode(parentId=" + this.getParentId()
 				+ ",ancestors" + this.getAncestors()

+ 2 - 20
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ArchiveTreeContractController.java

@@ -217,6 +217,8 @@ public class ArchiveTreeContractController extends BladeController {
 //		}
 		List<ArchiveTreeContractVO2> tree = archiveTreeContractService.lazyTree2(AuthUtil.getTenantId(), parentId,projectId,contractId);
 		if (tree != null && tree.size() > 0) {
+
+			archiveTreeContractService.fillDefaultArchiveAutoInfo(tree,projectId);
 			return R.data(tree);
 		}
 		return R.fail(200, "未查询到信息");
@@ -247,26 +249,6 @@ public class ArchiveTreeContractController extends BladeController {
 	}
 
 
-
-
-
-
-
-
-	@GetMapping("/test")
-	public R test(){
-		Long projectId = 1578599210897772545L;
-		List<ArchiveTree> trees = archiveTreeService.treeList(AuthUtil.getTenantId(), projectId,null, null);
-
-		archiveTreeContractService.initTree2(AuthUtil.getTenantId(),projectId);
-
-		return R.fail(200, "初始化成功");
-	}
-
-
-
-
-
 	/**
 	 * 初始化归档树根节点
 	 */

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

@@ -42,6 +42,12 @@
         <result column="archive_auto_group_select" property="archiveAutoGroupSelect"/>
         <result column="archive_auto_group_id" property="archiveAutoGroupId"/>
         <result column="tree_code" property="treeCode"/>
+        <result column="file_number_prefix" property="fileNumberPrefix"/>
+        <result column="storage_time" property="storageTime"/>
+        <result column="rollor" property="rollor"/>
+        <result column="reviewer" property="reviewer"/>
+        <result column="specification" property="specification"/>
+        <result column="archive_name_suffix" property="archiveNameSuffix"/>
     </resultMap>
 
 
@@ -102,6 +108,12 @@
         <result column="archive_auto_group_id" property="archiveAutoGroupId"/>
         <result column="tree_sort" property="treeSort"/>
         <result column="tree_code" property="treeCode"/>
+        <result column="file_number_prefix" property="fileNumberPrefix"/>
+        <result column="storage_time" property="storageTime"/>
+        <result column="rollor" property="rollor"/>
+        <result column="reviewer" property="reviewer"/>
+        <result column="specification" property="specification"/>
+        <result column="archive_name_suffix" property="archiveNameSuffix"/>
     </resultMap>
 
 
@@ -192,7 +204,14 @@
         d.archive_auto_node_id,
         d.archive_auto_group_select,
         d.archive_auto_group_id,
-        tree_sort,
+        d.tree_sort,
+        d.file_number_prefix,
+        d.storage_time,
+        d.rollor,
+        d.reviewer,
+        d.specification,
+        d.archive_name_suffix,
+        d.contract_id,
         (SELECT CASE WHEN count(1) > 0 THEN 1 ELSE 0 END FROM m_archive_tree_contract WHERE parent_id = d.id and is_deleted = 0 and project_id = #{projectId})
         AS "has_children"
         FROM

+ 2 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IArchiveTreeContractService.java

@@ -88,4 +88,6 @@ public interface IArchiveTreeContractService extends BaseService<ArchiveTreeCont
 
 	boolean deleteTree(Long id);
 
+	void  fillDefaultArchiveAutoInfo(List<ArchiveTreeContractVO2> tree,Long projectId);
+
 }

+ 60 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArchiveTreeContractServiceImpl.java

@@ -745,6 +745,66 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
 		this.saveOrUpdateBatch(changeArchiveList);
 	}
 
+	/**
+	 * 补充默认的组卷信息
+	 * @param trees
+	 * @param projectId
+	 */
+	public  void  fillDefaultArchiveAutoInfo(List<ArchiveTreeContractVO2> trees,Long projectId){
+
+		List<ContractInfo> contractInfos = contractInfoService.selectContractInfoPageByPid(projectId.toString());
+		if (contractInfos == null || contractInfos.size() == 0) {
+			return;
+		}
+		Map<Long,ContractInfo> contractMap = new LinkedHashMap<>();
+		for (ContractInfo contractInfo: contractInfos) {
+			if (contractInfo.getContractType() == 3) {
+				contractMap.put(0L,contractInfo);
+			}
+			contractMap.put(contractInfo.getId(),contractInfo);
+		}
+
+		for (ArchiveTreeContractVO2 child: trees) {
+			Long contractId = 0L;
+			if (child.getContractId() != null ) {
+				contractId = child.getContractId();
+			}
+			ContractInfo contractInfo = contractMap.get(contractId);
+			if (contractInfo != null) {
+				fillDefaultArchiveAutoInfo(child,contractInfo);
+			}
+		}
+
+	}
+
+	/**
+	 *
+	 * @param node
+	 * @param contractInfo
+	 */
+	public  void  fillDefaultArchiveAutoInfo(ArchiveTreeContractVO2 node,ContractInfo contractInfo){
+		if (StringUtils.isEmpty(node.getFileNumberPrefix())) {
+			node.setFileNumberPrefix(contractInfo.getPrefix());
+		}
+		if (StringUtils.isEmpty(node.getStorageTime()) && contractInfo.getStoragePeriod() != null) {
+			node.setStorageTime(contractInfo.getStoragePeriod().toString());
+		}
+		if (StringUtils.isEmpty(node.getRollor())) {
+			node.setRollor(contractInfo.getFiler());
+		}
+		if (StringUtils.isEmpty(node.getReviewer())) {
+			node.setReviewer(contractInfo.getReviewer());
+		}
+		if (StringUtils.isEmpty(node.getSpecification())) {
+			//默认30mm ,对应枚举 1
+			node.setSpecification("1");
+		}
+		//没有默认
+		if (StringUtils.isEmpty(node.getArchiveNameSuffix())) {
+			//node.setArchiveNameSuffix(contractInfo.getPrefix());
+		}
+	}
+