Bläddra i källkod

Merge remote-tracking branch 'origin/master'

liuyc 2 år sedan
förälder
incheckning
2d5b080521

+ 6 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/ExcelTab.java

@@ -119,4 +119,10 @@ public class ExcelTab extends BaseEntity {
     @ApiModelProperty(value = "html路径")
     private String templateFileUrl;
 
+    /**
+     * 实体表ID
+     */
+    @ApiModelProperty(value = "实体表ID")
+    private String tabId;
+
 }

+ 11 - 5
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -471,7 +471,9 @@ public class ExcelTabController extends BladeController {
         updateWrapper.set("excel_id", exceTabId);
 
         // 复制模版htmlURL
+
         File file_in = ResourceUtil.getFile(excelTab.getHtmlUrl());
+
         String filecode = SnowFlakeUtil.getId() + "";
         String thmlUrl = file_path + "/privateUrl/" + filecode + ".html";
         File file_out = ResourceUtil.getFile(thmlUrl);
@@ -487,11 +489,15 @@ public class ExcelTabController extends BladeController {
         //解析
         Element table = doc.select("table").first();
         Elements trs = table.select("tr");
-        if (aPrivate.getInitTableId() == null) {
-            org.springblade.manager.entity.TableInfo tableInfo = tableInfoService.getOne(new LambdaQueryWrapper<org.springblade.manager.entity.TableInfo>()
-                    .eq(org.springblade.manager.entity.TableInfo::getTabEnName, aPrivate.getInitTableName()));
-            aPrivate.setInitTableId(tableInfo.getId() + "");
-            updateWrapper.set("init_table_id", tableInfo.getId() + "");
+        if(StringUtils.isNotEmpty(excelTab.getTabId())){
+            updateWrapper.set("init_table_id", excelTab.getTabId());
+        }else {
+            if (aPrivate.getInitTableId() == null) {
+                org.springblade.manager.entity.TableInfo tableInfo = tableInfoService.getOne(new LambdaQueryWrapper<org.springblade.manager.entity.TableInfo>()
+                        .eq(org.springblade.manager.entity.TableInfo::getTabEnName, aPrivate.getInitTableName()));
+                aPrivate.setInitTableId(tableInfo.getId() + "");
+                updateWrapper.set("init_table_id", tableInfo.getId() + "");
+            }
         }
 
         List<WbsFormElement> elementList = wbsFormElementService.selectElementListByFid(aPrivate.getInitTableId() + "");

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

@@ -373,7 +373,8 @@ public class FormulaController {
         Map<String, Object> result = new LinkedHashMap<>();
         String key = fo.getKey().replaceAll("__[\\d_]+", "");
         ContractInfo contract = this.contractInfoService.getById(fo.getContractId());
-        List<KeyMapper> kms = this.service.getKeyMapperList(Collections.singletonList(fo.getPkeyId()), contract.getPId(), "", ExecuteType.INSPECTION);
+        WbsTreeContract parent = this.wbsTreeContractService.getOne(Wrappers.<WbsTreeContract>lambdaQuery().eq(WbsTreeContract::getId,fo.getParentId()).eq(WbsTreeContract::getContractId,fo.getContractId()).last("limit 1"));
+        List<KeyMapper> kms = this.service.getKeyMapperList(Collections.singletonList(fo.getPkeyId()), contract.getPId(), parent.getPKeyId().toString(), ExecuteType.INSPECTION);
         KeyMapper keyMapper = null;
         if (Func.isNotEmpty(kms)) {
             Optional<KeyMapper> optionalKeyMapper = kms.stream().filter(e -> StringUtils.isEquals(e.getField(), key)).findFirst();

+ 2 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.xml

@@ -316,7 +316,8 @@
         UPDATE m_wbs_tree_private
         SET html_url        = #{wbsTreePrivate.htmlUrl},
             init_table_name = #{wbsTreePrivate.initTableName},
-            init_table_id   = #{wbsTreePrivate.initTableId}
+            init_table_id   = #{wbsTreePrivate.initTableId},
+            node_name       = #{wbsTreePrivate.nodeName}
         WHERE project_id = #{wbsTreePrivate.projectId}
           and excel_id = #{wbsTreePrivate.excelId}
     </update>