瀏覽代碼

Merge branch 'test-merge' of http://219.151.181.73:3000/zhuwei/bladex into test-merge

lvy 5 天之前
父節點
當前提交
e5803086fb

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

@@ -2390,10 +2390,13 @@ public class ExcelTabController extends BladeController {
         executionTime.info("----组装完成----");
         try {
             Long pKeyId = Long.parseLong(tableInfoList.get(0).getPkeyId());
-            String sql = "SELECT node_name from m_wbs_tree_contract where p_key_id=" + pKeyId;
-            String nodeName = jdbcTemplate.queryForObject(sql, String.class);
+            WbsTreeContract contract = wbsTreeContractService.getById(pKeyId);
+            String sql = "SELECT * from m_wbs_tree_contract where (p_key_id=?) OR (p_id=? AND is_type_private_pid=? AND is_deleted=0 AND is_buss_show!=2)";
+            List<WbsTreeContract> list = jdbcTemplate.query(sql, new Object[]{pKeyId, contract.getPId(), contract.getIsTypePrivatePid()}, new BeanPropertyRowMapper<>(WbsTreeContract.class));
             HashMap<Long, String> map = new HashMap<>();
-            map.put(pKeyId, nodeName);
+            for (WbsTreeContract wbsTreeContract : list) {
+                map.put(wbsTreeContract.getPKeyId(), wbsTreeContract.getNodeName());
+            }
             RandomNumberHolder.setRandomNumber(map);
         } catch (NumberFormatException e) {
             throw new RuntimeException(e);
@@ -5281,7 +5284,7 @@ public class ExcelTabController extends BladeController {
     public void checkAllNodeDate() throws Exception {
         String updateSql="update m_wbs_tree_contract set date_is_complete=1 where is_deleted=0 and type=1";
         jdbcTemplate.update(updateSql);
-        String sql="select * from m_wbs_tree_contract where is_deleted=0 and type=2 and date_is_complete=2 AND html_url is not null and p_id is not null";
+        String sql="select * from m_wbs_tree_contract where is_deleted=0 and type=2 and date_is_complete=2 AND html_url is not null and p_id is not null and is_buss_show!=2";
         List<WbsTreeContract> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(WbsTreeContract.class));
         Map<Long, List<WbsTreeContract>> map = list.stream().collect(groupingBy(WbsTreeContract::getPId));
         int count=map.size();

+ 75 - 70
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/FormulaZhiZuo.java

@@ -18,105 +18,110 @@ import org.springframework.stereotype.Component;
 import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import java.util.stream.Collectors;
 
 
 @Component
 @Data
 public class FormulaZhiZuo implements FormulaStrategy {
 
+
     @Override
     public void execute(FormData cur, TableElementConverter tec) {
         String key = cur.getFormula().getRely().substring(cur.getFormula().getRely().indexOf(':') + 1);
         HashMap<Long, String> randomNumber = RandomNumberHolder.getRandomNumber();
-        Map.Entry<Long, String> firstMap = randomNumber.entrySet().iterator().next();
-        Optional<TableInfo> firstTableInfo = tec.getTableInfoList().stream().filter(tableInfo->tableInfo.getPkeyId().equals(firstMap.getKey().toString())).findFirst();
-        String s = firstTableInfo.get().getDataMap().get(key);
-        String[] strings = s.split("☆");
-        Map<Integer, Double> list = new HashMap<>();
-        for (int i = 0; i < strings.length; i++) {
-            String pattern = "_\\^_(.*?)_";
-            java.util.regex.Pattern r = java.util.regex.Pattern.compile(pattern);
-            java.util.regex.Matcher m = r.matcher(strings[i]);
-            if (m.find()) {
-                // 获取匹配的值
-                Integer mapkey = Integer.parseInt(m.group(1));
-                Double v = Double.valueOf(strings[i].substring(0, strings[i].indexOf("_^_")));
-                list.put(mapkey, v);
-            }
-        }
-        List<ElementData> values = cur.getValues();
-        values.forEach(e->e.setValue(null));
-        TreeMap<Integer, Double> map = new TreeMap<>(list);
-        Map.Entry<Integer, Double> firstEntry = map.firstEntry();
-        Double first = firstEntry.getValue();
-        Double second;
-        Double threed;
-        for (int i = 0; i < map.size(); i++) {
-            if(i>=4){
-                break;
-            }
-            Double v = map.get(firstEntry.getKey() + i + 1);
-            if (ObjectUtil.isNotEmpty(v)) {
-                Double value = first - v;
-                if(value<0){
-                    value=Math.abs(value);
-                }
-                for (int j = i; j < values.size(); j++) {
-                    if(values.get(j).getY()==firstEntry.getKey() + i + 1){
-                        values.get(j).setValue(value);
-                        break;
+        if (!randomNumber.isEmpty()) {
+            List<TableInfo> collect = tec.getTableInfoList().stream().filter(tableInfo -> randomNumber.containsKey(Long.parseLong(tableInfo.getPkeyId()))).collect(Collectors.toList());
+            int index=0;
+            List<ElementData> values = cur.getValues();
+            values.forEach(e -> e.setValue(null));
+            for (TableInfo tableInfo : collect) {
+                String s = tableInfo.getDataMap().get(key);
+                String[] strings = s.split("☆");
+                Map<Integer, Double> list = new HashMap<>();
+                for (int i = 0; i < strings.length; i++) {
+                    String pattern = "_\\^_(.*?)_";
+                    java.util.regex.Pattern r = java.util.regex.Pattern.compile(pattern);
+                    java.util.regex.Matcher m = r.matcher(strings[i]);
+                    if (m.find()) {
+                        // 获取匹配的值
+                        Integer mapkey = Integer.parseInt(m.group(1));
+                        Double v = Double.valueOf(strings[i].substring(0, strings[i].indexOf("_^_")));
+                        list.put(mapkey, v);
                     }
                 }
-            }
-        }
-        if (map.size() >= 5) {
-            Integer key1 = firstEntry.getKey() + 5;
-            second = map.get(key1);
-            if (ObjectUtil.isNotEmpty(second)) {
-                for (int i = 5; i < map.size(); i++) {
-                    if(i>=9){
+                TreeMap<Integer, Double> map = new TreeMap<>(list);
+                Map.Entry<Integer, Double> firstEntry = map.firstEntry();
+                Double first = firstEntry.getValue();
+                Double second;
+                Double threed;
+                for (int i = 0; i < map.size(); i++) {
+                    if (i >= 4) {
                         break;
                     }
-                    Double v = map.get(key1 + i -4);
+                    Double v = map.get(firstEntry.getKey() + i + 1);
                     if (ObjectUtil.isNotEmpty(v)) {
-                        Double value = second - v;
-                        if(value<0){
-                            value=Math.abs(value);
+                        Double value = first - v;
+                        if (value < 0) {
+                            value = Math.abs(value);
                         }
                         for (int j = i; j < values.size(); j++) {
-                            if(values.get(j).getY()==key1 + i -4){
-                                values.get(j).setValue(value);
+                            if (values.get(j).getY() == firstEntry.getKey() + i + 1) {
+                                values.get(j+index).setValue(value);
                                 break;
                             }
                         }
                     }
                 }
-
-            }
-        }
-        if (map.size() >= 10) {
-            Integer key2 = firstEntry.getKey() + 10;
-            threed = map.get(key2);
-            if (ObjectUtil.isNotEmpty(threed)) {
-                for (int i = 10; i < map.size(); i++) {
-                    Double v = map.get(key2 + i -9);
-                    if (ObjectUtil.isNotEmpty(v)) {
-                        Double value = threed - v;
-                        if(value<0){
-                            value=Math.abs(value);
-                        }
-                        for (int j = i; j < values.size(); j++) {
-                            if(values.get(j).getY()==key2 + i -9){
-                                values.get(j).setValue(value);
+                if (map.size() >= 5) {
+                    Integer key1 = firstEntry.getKey() + 5;
+                    second = map.get(key1);
+                    if (ObjectUtil.isNotEmpty(second)) {
+                        for (int i = 5; i < map.size(); i++) {
+                            if (i >= 9) {
                                 break;
                             }
+                            Double v = map.get(key1 + i - 4);
+                            if (ObjectUtil.isNotEmpty(v)) {
+                                Double value = second - v;
+                                if (value < 0) {
+                                    value = Math.abs(value);
+                                }
+                                for (int j = i; j < values.size(); j++) {
+                                    if (values.get(j).getY() == key1 + i - 4) {
+                                        values.get(j+index).setValue(value);
+                                        break;
+                                    }
+                                }
+                            }
+                        }
+
+                    }
+                }
+                if (map.size() >= 10) {
+                    Integer key2 = firstEntry.getKey() + 10;
+                    threed = map.get(key2);
+                    if (ObjectUtil.isNotEmpty(threed)) {
+                        for (int i = 10; i < map.size(); i++) {
+                            Double v = map.get(key2 + i - 9);
+                            if (ObjectUtil.isNotEmpty(v)) {
+                                Double value = threed - v;
+                                if (value < 0) {
+                                    value = Math.abs(value);
+                                }
+                                for (int j = i; j < values.size(); j++) {
+                                    if (values.get(j).getY() == key2 + i - 9) {
+                                        values.get(j+index).setValue(value);
+                                        break;
+                                    }
+                                }
+                            }
                         }
                     }
                 }
+                index=index+15;
             }
-
         }
-        System.out.println(values);
     }
      //优化之后的代码 放开注释可直接使用
 //    @Override

+ 10 - 10
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/TableElementConverter.java

@@ -434,15 +434,15 @@ public class TableElementConverter implements ITableElementConverter {
                             if(ObjectUtil.isNotEmpty(fd.getFormula())&&ObjectUtil.isNotEmpty(fd.getFormula().getNumber())&&"ZHIZUO".equals(fd.getFormula().getNumber())){
                                 HashMap<Long, String> map = RandomNumberHolder.getRandomNumber();
                                 if(!map.entrySet().isEmpty()){
-                                    String nodeName = map.entrySet().iterator().next().getValue();
-                                    if(nodeName.indexOf("__")!=-1){
-                                        String num = nodeName.substring(nodeName.indexOf("__") + 2);
-                                        int i = Integer.parseInt(num);
-                                        List<ElementData> p = pages.get(0);
-                                        TableInfo info = tables.get(i);
-                                        info.setToBeUpdated(true);
-                                        info.getDataMap().put(fd.getKey(), FormulaUtils.recovery(p));
-                                    }else {
+                                    //String nodeName = map.entrySet().iterator().next().getValue();
+//                                    if(nodeName.indexOf("__")!=-1){
+//                                        String num = nodeName.substring(nodeName.indexOf("__") + 2);
+//                                        int i = Integer.parseInt(num);
+//                                        List<ElementData> p = pages.get(0);
+//                                        TableInfo info = tables.get(i);
+//                                        info.setToBeUpdated(true);
+//                                        info.getDataMap().put(fd.getKey(), FormulaUtils.recovery(p));
+//                                    }else {
                                         for (int i = 0; i < pages.size(); i++) {
                                         /*每一页映射一个tableInfo*/
                                         List<ElementData> p = pages.get(i);
@@ -450,7 +450,7 @@ public class TableElementConverter implements ITableElementConverter {
                                         info.setToBeUpdated(true);
                                         info.getDataMap().put(fd.getKey(), FormulaUtils.recovery(p));
                                         }
-                                    }
+//                                    }
                                 }
                             }else {
                                 for (int i = 0; i < pages.size(); i++) {

+ 15 - 8
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

@@ -159,6 +159,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
     @Autowired
     private WbsTreeContractMapper wbsTreeContractMapper;
 
+
     @Override
     public List<WbsTreeContract> selectQueryCurrentNodeByAncestors(List<String> ids, String contractId) {
         return this.baseMapper.selectQueryCurrentNodeByAncestors(ids, contractId);
@@ -3155,7 +3156,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                             unit.setDateIsComplete(null);
                             unit.setPId(wbsTreeContractRoot.getPKeyId());
                             unit.setAncestorsPId(wbsTreeContractRoot.getAncestorsPId() + "," + wbsTreeContractRoot.getPKeyId());
-                            baseMapper.insert(unit);
+                            //baseMapper.insert(unit);
                             insertList.add(unit);
                             WbsTreeContractList.add(unit);
                         }
@@ -3183,7 +3184,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                             subUnit.setDateIsComplete(null);
                             subUnit.setPId(fatherNode.getPKeyId());
                             subUnit.setAncestorsPId(fatherNode.getAncestorsPId() + "," + fatherNode.getPKeyId());
-                            baseMapper.insert(subUnit);
+                            //baseMapper.insert(subUnit);
                             insertList.add(subUnit);
                             WbsTreeContractList.add(subUnit);
                         }
@@ -3231,7 +3232,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                                         division.setDateIsComplete(null);
                                         division.setPId(contract.getPKeyId());
                                         division.setAncestorsPId(contract.getAncestorsPId() + "," + contract.getPKeyId());
-                                        baseMapper.insert(division);
+                                        //baseMapper.insert(division);
                                         insertList.add(division);
                                         WbsTreeContractList.add(division);
                                         break;
@@ -3286,7 +3287,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                                         subDivision.setDateIsComplete(null);
                                         subDivision.setPId(contract.getPKeyId());
                                         subDivision.setAncestorsPId(contract.getAncestorsPId() + "," + contract.getPKeyId());
-                                        baseMapper.insert(subDivision);
+                                        //baseMapper.insert(subDivision);
                                         insertList.add(subDivision);
                                         WbsTreeContractList.add(subDivision);
                                         break;
@@ -3344,7 +3345,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                                         item.setDateIsComplete(null);
                                         item.setPId(contract.getPKeyId());
                                         item.setAncestorsPId(contract.getAncestorsPId() + "," + contract.getPKeyId());
-                                        baseMapper.insert(item);
+                                        //baseMapper.insert(item);
                                         insertList.add(item);
                                         WbsTreeContractList.add(item);
                                         break;
@@ -3405,7 +3406,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                                         subItem.setDateIsComplete(null);
                                         subItem.setPId(contract.getPKeyId());
                                         subItem.setAncestorsPId(contract.getAncestorsPId() + "," + contract.getPKeyId());
-                                        baseMapper.insert(subItem);
+                                        //baseMapper.insert(subItem);
                                         insertList.add(subItem);
                                         WbsTreeContractList.add(subItem);
                                         break;
@@ -3428,8 +3429,14 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                     e.printStackTrace();
                 }
             }
-            bladeRedis.setEx("import:projectId:"+wbsTreeContractRoot.getProjectId()+"contractId:"+wbsTreeContractRoot.getContractId(), "100",7L);
-            return R.success("新增了" + insertList.size() + "个节点" + "," + String.join(",", updateList) + "节点编号已被修改");
+            boolean b = this.saveBatch(insertList);
+            if(b){
+                bladeRedis.setEx("import:projectId:"+wbsTreeContractRoot.getProjectId()+"contractId:"+wbsTreeContractRoot.getContractId(), "100",7L);
+                return R.success("新增了" + insertList.size() + "个节点" + "," + String.join(",", updateList) + "节点编号已被修改");
+            }else {
+                bladeRedis.del("import:projectId:"+wbsTreeContractRoot.getProjectId()+"contractId:"+wbsTreeContractRoot.getContractId());
+                return R.fail("新增失败");
+            }
         } catch (IOException e) {
             bladeRedis.del("import:projectId:"+wbsTreeContractRoot.getProjectId()+"contractId:"+wbsTreeContractRoot.getContractId());
             return R.fail("文件处理失败: " + e.getMessage());

+ 1 - 1
blade-service/blade-user/src/main/java/org/springblade/system/user/mapper/UserMapper.xml

@@ -220,7 +220,7 @@
                 <if test="query.firstTitle == null or query.firstTitle == ''">
                     AND iq.type != 3
                 </if>
-                <if test="query.chekStatus != null and query.chekStatus != ''">
+                <if test="query.chekStatus != null">
                     AND iq.chek_status = #{query.chekStatus}
                 </if>
                 <if test="query.wbsIds != null">