Przeglądaj źródła

Merge remote-tracking branch 'origin/test-merge' into test-merge

LHB 4 dni temu
rodzic
commit
d603445851

+ 6 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/SaveUserInfoByProjectVO2.java

@@ -39,4 +39,10 @@ public class SaveUserInfoByProjectVO2 implements Serializable {
     @JsonProperty(value = "roleType")
     private String roleType;
 
+    /**
+     * 角色id
+     */
+    @JsonProperty(value = "roleType")
+    private String roleId;
+
 }

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

@@ -522,6 +522,7 @@
              , ci.contract_name                                          as "contractName"
              , (SELECT role_name FROM blade_role WHERE id = r.parent_id) as "roleType"
              , r.role_name                                               as "roleName"
+             , mpau.role_id                                              as "roleId"
         FROM m_project_assignment_user mpau
                  INNER JOIN blade_role r ON r.id = mpau.role_id
                  INNER JOIN m_contract_info ci ON ci.id = mpau.contract_id

+ 35 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -2018,6 +2018,8 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
         /*需要加载表单公式的时候isFormLoading==true*/
         Document document = null;
         Map<String, Object> reData = new HashMap<>();
+        //编号
+        Map<String, Object> bhData = new HashMap<>();
 
         WbsTreeContract wbsTreeContract = wbsTreeContractService.getBaseMapper().selectOne(Wrappers.<WbsTreeContract>query().lambda()
                 .eq(WbsTreeContract::getPKeyId, pkeyId));
@@ -2176,7 +2178,36 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                     int trindex = Integer.parseInt(element.attr("trindex"));
                     if (trindex <= 10) {
                         if (StringUtils.isNotBlank(node.getPartitionCode())) {
-                            reData.put(element.attr("keyName"), node.getPartitionCode());
+                            bhData.put(element.attr("keyName"), node.getPartitionCode());
+                        }
+                    }
+                }
+            }
+            // 编号 //编号为父节点划分编号 “编号:”、“工程编号:”、“编号”、“分项工程编号”、“分部分项编号” 优先使用自己节点,没有编码找寻父级子分项或分项节点
+            if (bhtitle.size() >= 1 && contractInfo.getIsReferenceNumber() == 2) {
+                String nodePartitionCode = "";
+                if(StringUtils.isNotEmpty(node.getPartitionCode())){
+                    nodePartitionCode=node.getPartitionCode();
+                }else {
+                    List<WbsTreeContract> list = wbsTreeContractService.getBaseMapper().selectList(Wrappers.<WbsTreeContract>query().lambda().in(WbsTreeContract::getPKeyId, node.getAncestorsPId()).in(WbsTreeContract::getNodeType, Arrays.asList(4, 5)));
+                    if(!list.isEmpty()){
+                        // 获取第一个节点类型为5的元素
+                        WbsTreeContract result = list.stream().filter(item -> item.getNodeType() == 5).findFirst().orElse(null);
+                        if(result!=null){
+                            nodePartitionCode=result.getPartitionCode();
+                        }else {
+                            WbsTreeContract result2 = list.stream().filter(item -> item.getNodeType() == 4).findFirst().orElse(null);
+                            if(result2!=null){
+                                nodePartitionCode=result2.getPartitionCode();
+                            }
+                        }
+                    }
+                }
+                for (Element element : bhtitle) {
+                    int trindex = Integer.parseInt(element.attr("trindex"));
+                    if (trindex <= 10) {
+                        if (StringUtils.isNotBlank(nodePartitionCode)) {
+                            bhData.put(element.attr("keyName"), nodePartitionCode);
                         }
                     }
                 }
@@ -2350,6 +2381,9 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                 }
             }
         }
+        if(bhData!=null){
+            reData.putAll(bhData);
+        }
 //        if(reData.size()>0){
 //            //处理key重复导致pdf数据错位
 //            for (Iterator<Map.Entry<String, Object>> iterator = reData.entrySet().iterator(); iterator.hasNext(); ) {