Răsfoiți Sursa

Merge branch 'test-merge' of http://219.151.181.73:3000/zhuwei/bladex into test-merge

lvy 11 ore în urmă
părinte
comite
baeb794376

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

@@ -286,7 +286,7 @@
             and (find_in_set(#{vo.nodeIds},m.ancestors) or m.id = #{vo.nodeIds})
         </if>
         <if test="vo.authCode != null and vo.authCode != ''">
-            AND (m.tree_code = #{authCode} or m.tree_code = #{contractId} or m.parent_id = 0)
+            AND (m.tree_code = #{vo.authCode} or m.tree_code = #{vo.contractId} or m.parent_id = 0)
         </if>
         <if test="vo.queryValueSize != null and vo.queryValueSize != ''">
             <choose>
@@ -352,7 +352,7 @@
             and (find_in_set(#{vo.nodeIds},m.ancestors) or m.id = #{vo.nodeIds})
         </if>
         <if test="vo.authCode != null and vo.authCode != ''">
-            AND (m.tree_code = #{authCode} or m.tree_code = #{contractId} or m.parent_id = 0)
+            AND (m.tree_code = #{vo.authCode} or m.tree_code = #{vo.contractId} or m.parent_id = 0)
         </if>
         <if test="vo.queryValueSize != null and vo.queryValueSize != ''">
             <choose>

+ 10 - 4
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchiveExaminingReportImpl.java

@@ -213,10 +213,15 @@ public class ArchiveExaminingReportImpl extends BaseServiceImpl<ArchiveExamining
                 List<MetadataClassification> metadataClassification = metadataClassificationClient.getMetadataClassification();
                 //组装数据,节点与元数据配置型的映射关系
                 HashMap<Long, List<MetadataClassification>> longStringHashMap = new HashMap<>();
-                archiveTreeContractListByList.forEach(f -> {
-                    List<MetadataClassification> collect1 = metadataClassification.stream().filter(e -> e.getFileStorageType().contains(storageTypeMap.get(f.getStorageType()))).collect(Collectors.toList());
-                    longStringHashMap.put(f.getId(),collect1);
-                });
+                if(CollectionUtil.isNotEmpty(metadataClassification)){
+                    archiveTreeContractListByList.forEach(f -> {
+                        if(f.getStorageType() == null){
+                            return;
+                        }
+                        List<MetadataClassification> collect1 = metadataClassification.stream().filter(e -> StringUtils.isNotEmpty(e.getFileStorageType()) && e.getFileStorageType().contains(storageTypeMap.get(f.getStorageType()))).collect(Collectors.toList());
+                        longStringHashMap.put(f.getId(),collect1);
+                    });
+                }
                 //开始检测
                 JSONObject json = bladeRedis.get(REDIS_STR + id);
                 if(json == null){
@@ -582,6 +587,7 @@ public class ArchiveExaminingReportImpl extends BaseServiceImpl<ArchiveExamining
             bladeRedis.setEx(REDIS_STR + id,json,300L);
             this.updateById(report);
         } catch (Exception e) {
+            e.printStackTrace();
             JSONObject json = bladeRedis.get(REDIS_STR + id);
             if(json == null){
                 json = new JSONObject();

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

@@ -1729,6 +1729,8 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 		archiveAutoPdfService.buildArchiveFrontPdfs(archivesAuto.getProjectId(), archivesAuto, waitArchiveFiles, true);
 		//生成页码
 		builtFilePageNo(archivesAuto, waitArchiveFiles);
+		archivesAuto.setColourStatus(0);
+		baseMapper.updateById(archivesAuto);
 		archiveFileClient.updateArchiveFile(waitArchiveFiles);
 	}
 
@@ -5698,6 +5700,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 			List<ArchiveFile> files = archiveFileClient.getArchiveFileByArchivesId(archiveId+"", null);
 			archivesAuto.setFileN(files.size());
 			archivesAuto.setPageN(files.stream().mapToInt(ArchiveFile::getFilePage).sum());
+			archivesAuto.setColourStatus(2);
 			baseMapper.updateById(archivesAuto);
 		}
 		return true;

+ 10 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreeContractController.java

@@ -547,6 +547,16 @@ public class WbsTreeContractController extends BladeController {
         // 获取节点及祖先节点信息用于构建文件名
         WbsTreeContract node = wbsTreeContractServiceImpl.getById(nodeId);
         List<WbsTreeContract> ancestorsList = wbsTreeContractServiceImpl.getAncestorsList(node.getAncestorsPId());
+        // 按照指定的nodeType顺序排序: 1, 18, 2, 3, 4, 5, 6
+        ancestorsList.sort((a, b) -> {
+            List<Integer> order = Arrays.asList(1, 18, 2, 3, 4, 5, 6);
+            Integer typeA = a.getNodeType();
+            Integer typeB = b.getNodeType();
+            return Integer.compare(
+                    order.indexOf(typeA != null ? typeA : -1),
+                    order.indexOf(typeB != null ? typeB : -1)
+            );
+        });
         for (WbsTreeContract ancestor : ancestorsList) {
             if (18 == ancestor.getNodeType()) {
                 excelName.append(ancestor.getNodeName());

+ 2 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ContractInfoMapper.xml

@@ -68,6 +68,7 @@
     <resultMap id="treeNodeResultMap6" type="org.springblade.manager.vo.WbsTreeContractVO6">
         <id column="id" property="id"/>
         <result column="parentId" property="parentId"/>
+        <result column="p_id" property="pId"/>
         <result column="primaryKeyId" property="pKeyId"/>
         <result column="title" property="title"/>
         <result column="value" property="value"/>
@@ -464,6 +465,7 @@
         SELECT
         d.p_key_id AS "primaryKeyId",
         d.id,
+        d.p_id,
         d.parent_id AS "parentId",
         IFNULL(if(length(trim(full_name)) > 0, full_name, node_name),node_name) AS title,
         d.node_name AS "nodeName",

+ 25 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArTreeContractInitServiceImpl.java

@@ -11,6 +11,7 @@ import org.springblade.manager.feign.ProjectClient;
 import org.springblade.manager.mapper.ArchiveTreeContractMapper;
 import org.springblade.manager.service.IContractInfoService;
 import org.springblade.manager.service.IProjectInfoService;
+import org.springblade.manager.utils.ComplexStringComparator;
 import org.springblade.manager.utils.ForestNodeMerger;
 import org.springblade.common.utils.ForestNodeMergerEx;
 import org.springblade.manager.vo.*;
@@ -18,6 +19,7 @@ import org.springframework.stereotype.Service;
 
 import java.util.*;
 import java.util.stream.Collectors;
+import java.util.stream.IntStream;
 
 @Service
 @AllArgsConstructor
@@ -413,7 +415,29 @@ public class ArTreeContractInitServiceImpl {
         }
 
         Long rootId = 0L;
-        for (WbsTreeContractVO6 wbsTreeVO2 : wbsTreeContractVO6s) {
+
+        //合同段添加排序
+        //现根据父节点分组
+        ArrayList<WbsTreeContractVO6> wbsTreeContractVO6s2 = new ArrayList<>();
+
+        Map<Long, List<WbsTreeContractVO6>> collect = wbsTreeContractVO6s.stream().collect(Collectors.groupingBy(WbsTreeContractVO6::getPId));
+        for (Long l : collect.keySet()) {
+            List<WbsTreeContractVO6> wbsTreeContractVO6s1 = collect.get(l);
+            // 修改比较器链,处理空值情况
+            Comparator<WbsTreeContractVO6> safeComparator = Comparator
+                    .comparing(WbsTreeContractVO6::getSort, Comparator.nullsFirst(Comparator.naturalOrder()))
+                    .thenComparing(new ComplexStringComparator<>(obj ->
+                            obj.getTitle() != null ? obj.getTitle() : ""))
+                    .thenComparing(
+                            WbsTreeContractVO6::getPKeyId,
+                            Comparator.nullsLast(Comparator.reverseOrder()));
+            wbsTreeContractVO6s1.sort(safeComparator);
+            IntStream.range(0, wbsTreeContractVO6s1.size())
+                    .forEach(i -> wbsTreeContractVO6s1.get(i).setSort(i + 1));
+            wbsTreeContractVO6s2.addAll(wbsTreeContractVO6s1);
+        }
+
+        for (WbsTreeContractVO6 wbsTreeVO2 : wbsTreeContractVO6s2) {
             //不要中间交工,质量评定和开工报告作为目录节点
             //wbsMap.put(wbsTreeVO2.getId(),wbsTreeVO2);