yangyj пре 2 година
родитељ
комит
0ddebb997c

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

@@ -328,11 +328,11 @@ public class FormulaController {
             "'value': [\n" +
             "{\n" +
             "'label': '是',\n" +
-            "'value': 1\n" +
+            "'value': '1'" +
             "},\n" +
             "{\n" +
-            "'label': '否',\n" +
-            "'value': 0\n" +
+            "'label': '否'," +
+            "'value': '0'" +
             "}\n" +
             "]\n" +
             "}\n" +

+ 18 - 13
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/FormulaServiceImpl.java

@@ -144,7 +144,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
         /*检查是否有跨节点数据*/
         /*获取type=1的检验单或者type=4的监表*/
         List<Map<String,Object>>  inspectionElementMaps = new ArrayList<>();
-        Optional<AppWbsTreeContractVO> wop=tableList.stream().filter(e->e.getFullName().contains("检验单")).findAny();
+        Optional<AppWbsTreeContractVO> wop=tableList.stream().filter(e->e.getFullName().contains("检验单")||e.getNodeName().contains("检验单")).findAny();
         if(wop.isPresent()){
             /*检验单或者监表的*/
             inspectionElementMaps=  this.jdbcTemplate.queryForList(" select c.e_name name ,b.tab_en_name tableName,c.e_key ekey from m_wbs_tree_contract a join m_table_info b on a.init_table_name=b.tab_en_name join m_wbs_form_element c on c.f_id= b.id where a.p_key_id=" + wop.get().getPKeyId());
@@ -588,7 +588,8 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                     /*检查是否存在附表,不存在则加载*/
                     List<AppWbsTreeContractVO> subTabList = this.tec.getTableAll().stream().filter(e -> e.getNodeName().contains("附表")).collect(Collectors.toList());
                     if (subTabList.size() == 0) {
-                        WbsTreePrivate sub = wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getNodeName, "质量检验表(附表)").eq(WbsTreePrivate::getProjectId, tec.getProjectId()));
+                        boolean pd=tec.getTableAll().stream().anyMatch(e->e.getNodeName().contains("评定表"));
+                        WbsTreePrivate sub = wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getNodeName, pd?"质量检验评定表(附表)":"质量检验表(附表)").eq(WbsTreePrivate::getProjectId, tec.getProjectId()));
                         if (sub == null) {
                             this.tec.getLog().append("该项目没有挂有附表信息");
                         } else {
@@ -614,21 +615,25 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                         List<TableInfo> subTableInfo = FormulaUtils.getTableInfoList(dataArray);
                         tec.getTableInfoList().addAll(subTableInfo);
                         tec.getCoordinateMap().put(subTabList.get(0).getInitTableName(), CustomFunction.getElementCell(first.getHtmlUrl()));
-                        List<Map<String, Object>> elementMaps = this.jdbcTemplate.queryForList("select b.e_name name , CONCAT(a.tab_en_name,':',b.e_key) code  from m_table_info a join m_wbs_form_element b on a.id = b.f_id where a.tab_en_name='" + first.getInitTableName() + "' and b.is_deleted=0 ");
+                        List<Map<String, Object>> elementMaps = this.jdbcTemplate.queryForList("select b.e_name name , CONCAT(a.tab_en_name,':',b.e_key) code , b.e_key ekey ,b.id fieldId,a.tab_en_name tableName from m_table_info a join m_wbs_form_element b on a.id = b.f_id where a.tab_en_name='" + first.getInitTableName() + "' and b.is_deleted=0 ");
                         if (Func.isNotEmpty(elementMaps)) {
-//                            elementMaps.forEach(e -> {
-//                                String name = StringUtils.handleNull(e.get("name"));
-//                                String code = StringUtils.handleNull(e.get("code"));
-//                                tec.getFormDataMap().put(code, createFormDataFast(name, code, null));
-//                            });
-                            missingFill(elementMaps.stream().map(e->StringUtils.handleNull(e.get("code"))).collect(Collectors.toList()));
-                            elementMaps.forEach(e->{
-
+                            //missingFill(elementMaps.stream().map(e->StringUtils.handleNull(e.get("code"))).collect(Collectors.toList()));
+                            /*生成元素数据*/
+                            subTabList.forEach(s->{
+                                elementMaps.forEach(e->{
+                                    KeyMapper km = new KeyMapper();
+                                     km.setPkId(s.getPKeyId());
+                                     km.setField(StringUtils.handleNull(e.get("ekey")));
+                                     km.setFieldId(Func.toLong(e.get("fieldId")));
+                                     km.setTableName(StringUtils.handleNull(e.get("tableName")));
+                                     this.tec.getKeyMappers().add(km);
+                                });
                             });
+
                         }
                     }
+
                     /*检验单或者评定表存在超页数据*/
-                    Map<String, List<ElementData>> overMap = new HashMap<>();
                     inspectionList.forEach(f -> {
 
                     });
@@ -935,7 +940,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                            }
                        }else if(flag.contains("E[")){
                            List<FormData> target = getFormDataByCode(flag);
-                           if(target.size()>1){
+                           if(target.size()>0){
                               flag= target.get(0).getValues().stream().map(ElementData::stringValue).filter(StringUtils::isNotEmpty).findFirst().orElse("0");
                            }
                        }