Browse Source

Merge remote-tracking branch 'origin/master'

liuyc 2 years ago
parent
commit
b053885fb6

+ 17 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchivesAutoController.java

@@ -329,6 +329,23 @@ public class ArchivesAutoController extends BladeController {
 	}
 
 
+	@PostMapping("/archiveAutoPercentComplete")
+	public R archiveAutoPercentComplete(Long projectId,Long contractId,Long nodeId) {
+		try{
+			//先验证当前项目是否在自动组卷中,组卷中直接返回
+			ProjectInfo projectInfo = projectClient.getById(String.valueOf(projectId));
+			Integer isArchivesAuto = projectInfo.getIsArchivesAuto();
+			if(isArchivesAuto==0){
+				isArchivesAuto=100;
+			}
+			return R.data(isArchivesAuto);
+		}catch (Exception e){
+			e.printStackTrace();
+			return R.fail(e.getMessage());
+		}
+
+	}
+
 	/**
 	 * 自动组卷入口
 	 * projectId 为当前项目

+ 28 - 16
blade-service/blade-archive/src/main/java/org/springblade/archive/mapper/ArchivesAutoMapper.xml

@@ -169,18 +169,21 @@
             select id
             from u_archives_auto
             where project_id = #{projectId}
-              and is_auto_file
-            !=1
-          and is_deleted=0
-          and is_lock!=1
-          and node_id in (
-            SELECT id FROM m_archive_tree_contract
-            WHERE is_deleted = 0
-          AND project_id = #{projectId}
-          AND ( contract_id = #{contractId}
-           OR tree_code = #{treeCode} )
-            )
-            );
+                and is_auto_file!=1
+                and is_deleted=0
+                and is_lock!=1
+                and node_id in (
+                    SELECT id FROM m_archive_tree_contract
+                    WHERE is_deleted = 0
+                    AND project_id = #{projectId}
+                    <if test="contractId == null">
+                        AND ( contract_id is null OR tree_code = #{treeCode} )
+                    </if>
+                    <if test="contractId != null">
+                        AND ( contract_id = #{contractId} OR tree_code = #{treeCode} )
+                    </if>
+                )
+          );
 
         update u_archives_auto
         set is_deleted=1
@@ -191,8 +194,12 @@
             and node_id in (
                 SELECT id FROM m_archive_tree_contract
                 WHERE is_deleted = 0 AND project_id = #{projectId}
-          AND ( contract_id = #{contractId}
-           OR tree_code = #{treeCode} )
+                <if test="contractId == null">
+                    AND ( contract_id is null OR tree_code = #{treeCode} )
+                </if>
+                <if test="contractId != null">
+                    AND ( contract_id = #{contractId} OR tree_code = #{treeCode} )
+                </if>
             );
     </update>
 
@@ -322,8 +329,13 @@
             and node_id in (
                 SELECT id FROM m_archive_tree_contract
                 WHERE is_deleted = 0 AND project_id = #{projectId}
-          AND ( contract_id = #{contractId}
-           OR tree_code = #{treeCode} )
+                <if test="contractId == null">
+                    AND ( contract_id is null OR tree_code = #{treeCode} )
+                </if>
+                <if test="contractId != null">
+                    AND ( contract_id = #{contractId} OR tree_code = #{treeCode} )
+                </if>
+
             )
     </select>
 

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

@@ -383,8 +383,15 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 			}else{
 				//没节点的按合同段
 				log.info("[自动组卷-拆卷]{}","对合同段下未锁定案卷拆卷。projectId:"+projectId+"-contractId:"+contractId+"-treeCode:"+treeCode);
+
+				List<String> archivesOutUrlList =null;
 				//清除案卷封面等pdf
-				List<String> archivesOutUrlList = baseMapper.getArchivesOutUrlListByContract(projectId,contractId,treeCode);
+				if(StringUtils.isEmpty(treeCode)){
+					archivesOutUrlList = baseMapper.getArchivesOutUrlListByContract(projectId,null,treeCode);
+				}else{
+					archivesOutUrlList = baseMapper.getArchivesOutUrlListByContract(projectId,contractId,treeCode);
+				}
+
 				if(archivesOutUrlList!=null && archivesOutUrlList.size()>0){
 					for(String outUrl:archivesOutUrlList){
 						String[] splits = outUrl.split(",");
@@ -411,8 +418,14 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 					log.info("[自动组卷-拆卷]{}","删除旧封面,页码文件结束"+removeFiles);
 				});
 
-				//没节点的按合同段
-				baseMapper.splitArchviesByContract(projectId,contractId,treeCode);
+				if(StringUtils.isEmpty(treeCode)){
+					//没节点的按合同段
+					baseMapper.splitArchviesByContract(projectId,null,treeCode);
+				}else{
+					//没节点的按合同段
+					baseMapper.splitArchviesByContract(projectId,contractId,treeCode);
+				}
+
 			}
 
 		}
@@ -1655,14 +1668,22 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 	public List<ArchiveTreeContract> archiveTreeContractFilter(List<ArchiveTreeContract> archiveTreeContracts, String treeCode, String nodeId,Long contractId) {
 		List<ArchiveTreeContract> result = new ArrayList<>();
 
-		if (StringUtils.isEmpty(treeCode) && StringUtils.isEmpty(nodeId)) {
+		if (contractId==null) {
 			return archiveTreeContracts;
 		}
 
 		for (ArchiveTreeContract contract : archiveTreeContracts) {
 			if (StringUtils.isEmpty(treeCode)) {
-				if (StringUtils.isNotEmpty(contract.getAncestors()) && contract.getAncestors().contains(nodeId)) {
-					result.add(contract);
+				//业主合同段时treeCode为空串
+				if(StringUtils.isNotEmpty(nodeId)){
+					//如果还选择了节点
+					if (StringUtils.isNotEmpty(contract.getAncestors()) && contract.getAncestors().contains(nodeId)) {
+						result.add(contract);
+					}
+				}else{
+					if (StringUtils.isEmpty(contract.getTreeCode()) || contractId.toString().equals(contract.getTreeCode())) {
+						result.add(contract);
+					}
 				}
 			} else {
 				if (treeCode.equals(contract.getTreeCode()) || contractId.toString().equals(contract.getTreeCode())) {

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

@@ -158,14 +158,14 @@ public class WbsParamController {
                     for (WbsParamBean b : updateList) {
                         WbsParam old = this.service.getById(b.getId());
                         if (pb.isCommon()) {
-                            if (old != null && !old.getK().equals(b.getK())) {
+                            if (old != null && (!old.getV().equals(b.getV())||StringUtils.isNotEquals(old.getRemark(),b.getRemark()))) {
                                 /*只有公式内容变化的时候才需要更新*/
                                 old.setIsDeleted(0);
                                 BeanUtils.copyProperties(b, old);
                                 ul.add(old);
                             }
                         } else {
-                            if (old != null && !old.getV().equals(b.getV())) {
+                            if (old != null && (!old.getV().equals(b.getV())||StringUtils.isNotEquals(old.getRemark(),b.getRemark()))) {
                                 /*只有公式内容变化的时候才需要更新*/
                                 old.setIsDeleted(0);
                                 BeanUtils.copyProperties(b, old);