yangyj hai 11 meses
pai
achega
0d75d9bd73

+ 63 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/DW01.java

@@ -0,0 +1,63 @@
+package org.springblade.manager.vo;
+
+import org.springblade.core.tool.utils.Func;
+import org.springblade.manager.dto.FormData;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @author yangyj
+ * @Date 2024/8/19 16:17
+ * @description 单位工程质量检验评定表
+ */
+public class DW01 extends EvaSummary<Item01>{
+    private FormData number;
+    private FormData name;
+    private FormData level;
+    private FormData remark;
+    @Override
+    public Integer getPageNum() {
+        if(this.name!=null){
+            return  (this.getDatas().size()/this.name.getCoordsList().size())+1;
+        }
+        return null;
+    }
+
+    @Override
+    public boolean checked() {
+         return number!=null&&name!=null&&level!=null&&remark!=null;
+    }
+
+    public DW01(List<FormData> processFds) {
+        for(FormData fd:processFds){
+            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("分项工程名称")||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("质量等级")){
+                this.level=fd;
+                this.fm.put(fd.getCode(),(List<Item01> l,Integer pn)->l.stream().map(Item01::getLevel).collect(Collectors.toList()));
+            }else if(fd.getEName().trim().equals("备注")){
+                this.remark=fd;
+                this.fm.put(fd.getCode(),(List<Item01> l,Integer pn)->l.stream().map(Item01::getRemark).collect(Collectors.toList()));
+            }
+            if(this.number!=null&&this.name!=null&&this.level!=null&&this.remark!=null){
+                /*匹配完成*/
+                this.fds.add(this.number);
+                this.fds.add(this.name);
+                this.fds.add(this.level);
+                this.fds.add(this.remark);
+                break;
+            }
+        }
+    }
+
+    public void source(List<Item01> abList){
+        if(Func.isNotEmpty(abList)){
+            this.datas.addAll(abList);
+        }
+    }
+}

+ 18 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/DW02.java

@@ -0,0 +1,18 @@
+package org.springblade.manager.vo;
+
+/**
+ * @author yangyj
+ * @Date 2024/8/19 16:18
+ * @description 单位工程质量检验评定表2
+ */
+public class DW02 extends EvaSummary<Item02>{
+    @Override
+    public Integer getPageNum() {
+        return null;
+    }
+
+    @Override
+    public boolean checked() {
+        return false;
+    }
+}

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

@@ -1,6 +1,7 @@
 package org.springblade.manager.vo;
 
 import com.alibaba.fastjson.JSON;
+import lombok.Data;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.manager.dto.FormData;
 import org.springblade.manager.entity.FormulaDataBlock;
@@ -17,6 +18,7 @@ import java.util.stream.IntStream;
  * @Date 2023/12/5 17:16
  * @description 分部工程质量检验评定表1
  */
+@Data
 public class FB01 extends EvaSummary<Item01>{
 
     private FormData number;

+ 37 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/FormulaServiceImpl.java

@@ -2860,10 +2860,45 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                                 }
                             }
                         }
-                    }else if(wtcEva.getInitTableName().equals("m_20231027094738_1717719671702028288")){
+                    }else if(wtcEva.getInitTableName().equals("m_20231027100459_1717724038211567616")){
                         /*单位评定表一*/
-                    }else if(wtcEva.getInitTableName().equals("m_20231027094746_1717719707244560384")){
+                        FB01 fb01 = new FB01(processFds);
+                        if (fb01.checked()){
+                            List<FormData> fbFds = this.createFormDataByTableName("m_20231027094738_1717719671702028288");
+                            FB01 fb01a = new FB01(fbFds);
+                            String keys = Stream.of(fb01a.getNumber(),fb01a.getName(),fb01a.getLevel()).map(FormData::getKey).map(StringUtils::handleNull).collect(Collectors.joining(",c.","c.",""));
+                            List<Map<String,Object>> mapList = jdbcTemplate.queryForList("select "+keys+" from (select id,tree_code 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 and node_type=3 ORDER BY tree_code)a join m_wbs_tree_contract b on a.id=b.parent_id" +
+                                    " join m_20231027094738_1717719671702028288 c on b.p_key_id=c.p_key_id where b.contract_id ="+wtcEva.getContractId()+" and b.is_deleted=0 and b.init_table_name='m_20231027094738_1717719671702028288'" +
+                                    "ORDER BY a.tree_code");
+                            if(mapList.size()>0){
+                                List<Item01> abList= new ArrayList<>();
+                                mapList.forEach(map->{
+                                    Item01 item = new Item01();
+                                    item.setName(fb01a.getName().getKey());
+                                    item.setNumber(fb01a.getNumber().getKey());
+                                    item.setLevel(fb01a.getLevel().getKey());
+                                    abList.add(item);
+                                });
+                                fb01.source(abList);
+                                if (fb01.getDatas().size() > 0) {
+                                    Map<String, String> tableKeysCoordsMap = FormulaUtils.getElementCell(wtcEva.getHtmlUrl());
+                                    if (fb01.initFdCoords(tableKeysCoordsMap)) {
+                                        /*根据数据长度,增减页数*/
+                                        List<WbsTreeContract> wtcList = this.adjustPageSize(fb01.getPageNum(), wtcEva, processFds);
+                                        if (fb01.flush(wtcList)) {
+                                            this.jdbcTemplate.batchUpdate(fb01.getSql(), fb01.getParams());
+                                            return R.success("成功");
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }else if(wtcEva.getInitTableName().equals("m_20231027100505_1717724063251562496")){
                         /*单位评定表二*/
+                        FB02 fb02 = new FB02(processFds);
+                        if (fb02.checked()){
+
+                        }
                     }
                 }
             }catch (Exception e){