소스 검색

分部评定

yangyj 1 년 전
부모
커밋
a66887a126

+ 7 - 8
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/FB02.java

@@ -28,7 +28,7 @@ public class FB02 {
     private Integer  rowSize=20;
     private List<FormData> fds = new ArrayList<>();
     private List<Item> datas = new ArrayList<>();
-    private Map<FormData, BiFunction<List<Item>,Integer,List<Object>>> fm = new HashMap<>();
+    private Map<String, BiFunction<List<Item>,Integer,List<Object>>> fm = new HashMap<>();
     private List<String> sqlList = new ArrayList<>();
 
 
@@ -70,19 +70,19 @@ public class FB02 {
          for(FormData fd:processFds){
               if(fd.getEName().contains("分项工程名称")){
                   this.subItem=fd;
-                  this.fm.put(fd,(List<Item> l,Integer pn)->l.stream().map(Item::getSubItem).collect(Collectors.toList()));
+                  this.fm.put(fd.getCode(),(List<Item> l,Integer pn)->l.stream().map(Item::getSubItem).collect(Collectors.toList()));
               }else if(fd.getEName().contains("序号")){
                   this.sn=fd;
-                  this.fm.put(fd,(List<Item> l,Integer pn)->IntStream.range(0, l.size()).boxed().map(i->i+pn*l.size()).collect(Collectors.toList()));
+                  this.fm.put(fd.getCode(),(List<Item> l,Integer pn)->IntStream.range(0, l.size()).boxed().map(i->i+pn*l.size()).collect(Collectors.toList()));
               }else if(fd.getEName().contains("实测项目")){
                   this.name=fd;
-                  this.fm.put(fd,(List<Item> l,Integer pn)->l.stream().map(Item::getName).collect(Collectors.toList()));
+                  this.fm.put(fd.getCode(),(List<Item> l,Integer pn)->l.stream().map(Item::getName).collect(Collectors.toList()));
               }else if(fd.getEName().contains("实测合格率")){
                   this.passRate=fd;
-                  this.fm.put(fd,(List<Item> l,Integer pn)->l.stream().map(Item::getPassRate).collect(Collectors.toList()));
+                  this.fm.put(fd.getCode(),(List<Item> l,Integer pn)->l.stream().map(Item::getPassRate).collect(Collectors.toList()));
               }else if(fd.getEName().trim().equals("权值")){
                   this.weight=fd;
-                  this.fm.put(fd,(List<Item> l,Integer pn)->l.stream().map(Item::getWeight).collect(Collectors.toList()));
+                  this.fm.put(fd.getCode(),(List<Item> l,Integer pn)->l.stream().map(Item::getWeight).collect(Collectors.toList()));
               }
               if(this.subItem!=null&&this.name!=null&&this.passRate!=null&&this.weight!=null&&this.sn!=null){
                   /*匹配完成*/
@@ -131,7 +131,6 @@ public class FB02 {
                     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();
-                System.out.println("EUV:"+template);
                 sqlList.add(template);
             }
 
@@ -142,7 +141,7 @@ public class FB02 {
 
    /**把数据放到对应元素*/
     private String putEd(int pn,List<Item> items, FormData fd,WbsTreeContract w){
-        BiFunction<List<Item>,Integer,List<Object>> fc = this.fm.get(fd);
+        BiFunction<List<Item>,Integer,List<Object>> fc = this.fm.get(fd.getCode());
         if(fc!=null) {
             List<Object> data = fc.apply(items,pn);
             List<ElementData> list = new ArrayList<>();

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

@@ -2106,7 +2106,7 @@ public class ExcelTabController extends BladeController {
     }
 
 
-    @PostMapping("/save_buss_data")
+    @PostMapping("/save_buss_data2")
     @ApiOperationSupport(order = 13)
     @ApiOperation(value = "填报页面数据保存", notes = "填报页面数据保存")
     public R saveBussData2(@Valid @RequestBody JSONObject dataInfo) throws Exception {
@@ -3843,7 +3843,7 @@ public class ExcelTabController extends BladeController {
      * @return
      * @throws Exception
      */
-    @PostMapping("/save_buss_data2")
+    @PostMapping("/save_buss_data")
     @ApiOperationSupport(order = 13)
     @ApiOperation(value = "填报页面数据保存", notes = "填报页面数据保存")
     public R saveBussData(@Valid @RequestBody JSONObject dataInfo) throws Exception {

+ 9 - 4
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -70,6 +70,7 @@ import org.springblade.manager.vo.*;
 import org.springblade.resource.feign.NewIOSSClient;
 import org.springblade.system.cache.ParamCache;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.DataIntegrityViolationException;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.jdbc.core.BeanPropertyRowMapper;
 import org.springframework.jdbc.core.JdbcTemplate;
@@ -515,10 +516,14 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
 
     private void updateFormulaLog(String log, Long pKeyId) {
         try {
-            String deleteSql = "DELETE FROM m_formula_log WHERE id = ?";
-            String insertSql = "INSERT INTO m_formula_log (id, content,update_time) VALUES (?, ?,?)";
-            jdbcTemplate.update(deleteSql, pKeyId);
-            jdbcTemplate.update(insertSql, pKeyId, log, DateTime.now());
+            if(log.length()<=2000) {
+                String deleteSql = "DELETE FROM m_formula_log WHERE id = ?";
+                String insertSql = "INSERT INTO m_formula_log (id, content,update_time) VALUES (?, ?,?)";
+                jdbcTemplate.update(deleteSql, pKeyId);
+                jdbcTemplate.update(insertSql, pKeyId, log, DateTime.now());
+            }else{
+                StaticLog.error(log);
+            }
         } catch (Exception e) {
             e.printStackTrace();
         }

+ 12 - 5
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/FormulaServiceImpl.java

@@ -676,18 +676,20 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
             constantMap.put(e,e);
         });
     }
-
+    public Map<String,Object> getWpMap(CurrentNode currentNode){
+        return this.getWpMap(currentNode.getWbsNodeId(),currentNode.getWtpPkeyId());
+    }
     /**
      * @Description 获取节点参数
      **/
-    public Map<String,Object> getWpMap(CurrentNode currentNode){
+    public Map<String,Object> getWpMap(Long wbsNodeId,Long wtpPkeyId){
         Map<String,Object> result = new HashMap<>(100);
         List<WbsParam> total = new ArrayList<>();
-        List<WbsParam> wpsPublic = this.wpService.list(Wrappers.<WbsParam>lambdaQuery().eq(WbsParam::getNodeId,currentNode.getWbsNodeId()).eq(WbsParam::getType,1));
+        List<WbsParam> wpsPublic = this.wpService.list(Wrappers.<WbsParam>lambdaQuery().eq(WbsParam::getNodeId,wbsNodeId).eq(WbsParam::getType,1));
         if(Func.isNotEmpty(wpsPublic)){
             total.addAll(wpsPublic);
         }
-        List<WbsParam> wpsPrivate = this.wpService.list(Wrappers.<WbsParam>lambdaQuery().eq(WbsParam::getNodeId,currentNode.getWtpPkeyId()).eq(WbsParam::getType,1));
+        List<WbsParam> wpsPrivate = this.wpService.list(Wrappers.<WbsParam>lambdaQuery().eq(WbsParam::getNodeId,wtpPkeyId).eq(WbsParam::getType,1));
         if(Func.isNotEmpty(wpsPrivate)){
             total.addAll(wpsPrivate);
         }
@@ -1535,7 +1537,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                            WbsTreeContract target = FormulaUtils.copyPage(origin);
                            saveList.add(target);
                        }
-                       this.wbsTreeContractService.saveOrUpdateBatch(saveList);
+                       this.wbsTreeContractService.saveBatch(saveList);
                        list.addAll(saveList);
                        String sql="select * from "+origin.getInitTableName()+" where p_key_id ="+origin.getPKeyId();
                        @SuppressWarnings("unchecked")
@@ -2433,6 +2435,11 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                 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);
                 if (formulaDataBlocks!=null&&formulaDataBlocks.size() > 0) {
+                    /*获取分部工程名称*/
+                    WbsTreeContract node = this.wbsTreeContractService.getOne(Wrappers.<WbsTreeContract>lambdaQuery().eq(WbsTreeContract::getId, wtcEva.getParentId()).eq(WbsTreeContract::getContractId,wtcEva.getContractId()));
+                    WbsTreePrivate wtp = this.wtpId(node.getPKeyId());
+                    WbsTreePrivate publicWtp = this.getOriginWtp(wtp.getPKeyId());
+                    this.getWpMap(publicWtp.getId(),wtp.getPKeyId());
                     formulaDataBlocks.forEach(fdb -> {
                         List<ElementBlock> elementBlockList = JSON.parseArray(fdb.getVal(), ElementBlock.class);
                         elementBlockList.forEach(eb -> {