Browse Source

质检-资料查询
1、查询质检树时 查询同步信息

LHB 1 month ago
parent
commit
3f4ef2357b

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

@@ -21,4 +21,6 @@ public class AppWbsTreeContractVO extends WbsTreeContract {
     @ApiModelProperty(value = "文件题名")
     private String fileName;
 
+    @ApiModelProperty(value = "是否最近同步节点")
+    private Integer isSync;
 }

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

@@ -139,6 +139,7 @@ public class WbsTreeContractLazyVO implements Serializable {
     @ApiModelProperty(value = "是否完成日期填写1是2否")
     private Integer dateIsComplete;
 
-
+    @ApiModelProperty(value = "是否最近同步节点")
+    private Integer isSync;
 
 }

+ 18 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

@@ -63,6 +63,7 @@ import org.springblade.manager.vo.*;
 import org.springblade.system.cache.ParamCache;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
+import org.springframework.dao.DataAccessException;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.jdbc.BadSqlGrammarException;
 import org.springframework.jdbc.core.BeanPropertyRowMapper;
@@ -625,6 +626,23 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
         }
         // 使用自定义 Comparator 进行排序
         resultTabs.sort(new WbsTreeContractComparator());
+        //同步标识
+        if (CollectionUtil.isNotEmpty(resultTabs)) {
+            List<Long> collect1 = resultTabs.stream().map(WbsTreeContract::getPKeyId).collect(Collectors.toList());
+            List<Long> longs = null;
+            try {
+                longs = jdbcTemplate.queryForList("select * from m_wbs_tree_contract_extend where p_key_id in (" + StringUtils.join(collect1, ",") + ")", Long.class);
+            } catch (DataAccessException e) {
+                //TODO 暂时忽略异常,避免表不存在报错
+                e.printStackTrace();
+            }
+            if (CollectionUtil.isNotEmpty(longs)) {
+                List<Long> finalLongs = longs;
+                resultTabs.forEach(f -> {
+                    f.setIsSync(finalLongs.contains(f.getPKeyId()) ? 1 : 0);
+                });
+            }
+        }
         return resultTabs;
     }
 

+ 19 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

@@ -761,6 +761,19 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
         if (cn.hutool.core.util.ObjectUtil.isNotEmpty(contractId)) {
             ContractInfo contractInfo = jdbcTemplate.query("SELECT contract_name,contract_type FROM m_contract_info WHERE id = " + contractId,
                     new BeanPropertyRowMapper<>(ContractInfo.class)).stream().findAny().orElse(null);
+            String contractExtendSql = "select ancestors from m_wbs_tree_contract_extend where type = " + tableOwner + " and is_sync = 1 and is_deleted = 0 and ancestors like concat( " + id + ",'%')";
+            List<String> ids = new ArrayList<>();
+            List<String> strings = null;
+            try {
+                strings = jdbcTemplate.queryForList(contractExtendSql, String.class);
+            } catch (DataAccessException e) {
+                e.printStackTrace();
+                //TODO 暂时忽略错误
+            }
+            if(CollectionUtil.isNotEmpty(strings)){
+                strings.forEach(f -> ids.addAll(Arrays.asList(f.split(","))));
+            }
+
             if (contractInfo != null) {
                 /* =========================== 施工合同段 =========================== */
                 if (new Integer(1).equals(contractInfo.getContractType())) {
@@ -897,6 +910,9 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
 
 //                            }
                         }
+                        if(CollectionUtil.isNotEmpty(ids)){
+                            lazyNodes.forEach(f -> f.setIsSync(ids.contains(f.getPKeyId()) ? 1 : 0));
+                        }
                         return lazyNodes;
                     }
 
@@ -1036,6 +1052,9 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
                             }
                         }
                     }
+                    if(CollectionUtil.isNotEmpty(ids)){
+                        lazyNodesAll.forEach(f -> f.setIsSync(ids.contains(f.getPKeyId()) ? 1 : 0));
+                    }
                     return lazyNodesAll;
                 }
             }