yangyj 1 жил өмнө
parent
commit
66267d7781

+ 2 - 3
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/EvaSummary.java

@@ -45,7 +45,7 @@ public abstract class EvaSummary<T> {
         return f;
     }
 
-    public  boolean flush( List<WbsTreeContract> wtcList,List<T> datas){
+    public  boolean flush( List<WbsTreeContract> wtcList){
         if(wtcList.size()>0) {
             Map<Integer, List<T>> pages = IntStream.range(0, datas.size()).boxed()
                     .collect(Collectors.groupingBy(
@@ -65,10 +65,9 @@ public abstract class EvaSummary<T> {
                 this.fds.forEach(fd -> {
                     sb.append(putEd(k,v,fd,w)).append(StringPool.COMMA);
                 });
-                String template="update "+w.getInitTableName()+" set "+sb.deleteCharAt(sb.length()-1)+" where id ="+w.getPKeyId();
+                String template="update "+w.getInitTableName()+" set "+sb.deleteCharAt(sb.length()-1)+" where p_key_id ="+w.getPKeyId();
                 sqlList.add(template);
             }
-
             return true;
         }
         return false;

+ 2 - 2
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/FB01.java

@@ -26,10 +26,10 @@ public class FB01 extends EvaSummary<Item01>{
     }
     public FB01(List<FormData> processFds) {
         for(FormData fd:processFds){
-            if(fd.getEName().contains("分项工程编号")){
+            if(fd.getEName().contains("分项工程编号")||fd.getEName().contains("分部工程编号")){
                 this.number=fd;
                 this.fm.put(fd.getCode(),(List<Item01> l,Integer pn)->l.stream().map(Item01::getNumber).collect(Collectors.toList()));
-            }else if(fd.getEName().contains("分项工程名称")){
+            }else if(fd.getEName().contains("分项工程名称")||fd.getEName().contains("分部工程名称")){
                 this.name=fd;
                 this.fm.put(fd.getCode(),(List<Item01> l,Integer pn)->l.stream().map(Item01::getName).collect(Collectors.toList()));
             }else if(fd.getEName().contains("质量等级")){

+ 17 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ItemUnit02.java

@@ -0,0 +1,17 @@
+package org.springblade.manager.vo;
+
+import lombok.Data;
+
+/**
+ * @author yangyj
+ * @Date 2023/12/7 14:22
+ * @description 单位工程质量检验评定表2
+ */
+@Data
+public class ItemUnit02 {
+    private String name;
+    private String score;
+    private Integer weight=1;
+    private String level;
+    private String remark;
+}

+ 14 - 7
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/FormulaServiceImpl.java

@@ -1528,8 +1528,10 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                    WbsTreeContract origin = list.get(length - 1);
                    if (origin != null) {
                        List<WbsTreeContract>  saveList = new ArrayList<>();
+                       WbsTreeContract beCopy=origin;
                        for (int i = 0; i < dx; i++) {
-                           WbsTreeContract target = FormulaUtils.copyPage(origin);
+                           WbsTreeContract target = FormulaUtils.copyPage(beCopy);
+                           beCopy=target;
                            saveList.add(target);
                        }
                        this.wbsTreeContractService.saveBatch(saveList);
@@ -1540,9 +1542,10 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                        if(maps!=null){
                            Set<String> exclude = processFds.stream().filter(FormData::isContent).map(FormData::getKey).collect(Collectors.toSet());
                            /*移除空值,还有p_key_id、id等固定字段*/
-                           List<String> keys= maps.entrySet().stream().filter(e->Func.isNotEmpty(e.getValue())||exclude.contains(e.getKey())||"p_Key_id".equals(e.getKey())||"id".equals(e.getKey())).map(Map.Entry::getKey).collect(Collectors.toList());
+                           List<String> keys= maps.entrySet().stream().filter(e->Func.isNotEmpty(e.getValue())&&!exclude.contains(e.getKey())&&!"p_key_id".equals(e.getKey())&&!"id".equals(e.getKey())).map(Map.Entry::getKey).collect(Collectors.toList());
                            List<String> fields = new ArrayList<>(Arrays.asList("id","p_key_id"));
-                           fields.addAll(keys);
+
+                           if(keys.size()>0){fields.addAll(keys);}
                            List<String>  values = new ArrayList<>();
                            keys.forEach(k->{
                                 values.add(maps.get(k));
@@ -1556,6 +1559,11 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                            }).collect(Collectors.joining(","));
                            String template ="insert into "+origin.getInitTableName()+fieldStr+"  values "+valueStr;
                            this.jdbcTemplate.execute(template);
+                       }else{
+                           String insert=list.stream().map(
+                                   w-> "insert into "+w.getInitTableName() +"(id,p_key_id) values ("+SnowFlakeUtil.getId()+","+w.getPKeyId()+")"
+                           ).collect(Collectors.joining(";"));
+                            this.jdbcTemplate.execute(insert);
                        }
                    }
                }else{
@@ -2425,7 +2433,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                 List<FormData> processFds = this.createFormDataByTableName(wtcEva.getInitTableName());
                 FB02 fb02 = new FB02(processFds);
                 LinkedList<String> treeCode = new LinkedList<>(FormulaUtils.treeCodeSplit(wtcEva.getTreeCode()));
-                List<FormulaDataBlock> formulaDataBlocks = this.getSqlList("select a.* from m_formula_data_block a join (select parent_id from m_wbs_tree_contract where tree_code like '" + treeCode.getLast() + "%' and contract_id =" + wtcEva.getContractId() + " and major_data_type=2 and is_deleted=0 ORDER BY tree_code)b on a.sw_id=b.parent_id ", FormulaDataBlock.class);
+                List<FormulaDataBlock> formulaDataBlocks = this.getSqlList("select a.id,a.type,a.sw_id swId,a.contract_id contractId,a.val from m_formula_data_block a join (select parent_id from m_wbs_tree_contract where tree_code like '" + treeCode.getLast() + "%' and contract_id =" + wtcEva.getContractId() + " and major_data_type=2 and is_deleted=0 ORDER BY tree_code)b on a.sw_id=b.parent_id ", FormulaDataBlock.class);
                 if (formulaDataBlocks!=null&&formulaDataBlocks.size() > 0) {
                     /*就是分项工程节点的父节点名称*/
                     String swIds = formulaDataBlocks.stream().map(FormulaDataBlock::getSwId).map(Objects::toString).collect(Collectors.joining(","));
@@ -2440,9 +2448,8 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                         if(fb02.initFdCoords(tableKeysCoordsMap)) {
                             /*根据数据长度,增减页数*/
                             List<WbsTreeContract> wtcList = this.adjustPageSize(fb02.getPageNum(), wtcEva, processFds);
-                            if (fb02.flush(wtcList,fb02.getDatas())) {
-                                fb02.getSqlList().forEach(System.out::println);
-                                //this.jdbcTemplate.execute(fb02.getSql());
+                            if (fb02.flush(wtcList)) {
+                                this.jdbcTemplate.execute(String.join(";", fb02.getSqlList()));
                                 return R.success("成功");
                             }
                         }