yangyj 2 жил өмнө
parent
commit
22ece6d941

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

@@ -205,10 +205,13 @@ public class WbsTreeController extends BladeController {
     @ApiOperationSupport(order = 8)
     @ApiOperation(value = "根据表单id查询所有元素", notes = "传入表单id")
     @ApiImplicitParam(name = "id", value = "表单id", required = true)
-    public R<List<WbsFormElementVO>> selectFormElements(@RequestParam("id") String id, Long nodeId, String search,Integer type) {
+    public R<List<WbsFormElementVO>> selectFormElements(@RequestParam("id") String id, String nodeId, String search,Integer type) {
         List<WbsFormElementVO> wbsFormElements = null;
         if (StringUtils.isNotEmpty(id)) {
-            wbsFormElements = wbsTreeService.selectFormElements(id,type);
+//            if(StringUtils.isNotEmpty(nodeId)){
+//                id=nodeId;
+//            }
+            wbsFormElements = wbsTreeService.selectFormElements(id,nodeId,type);
             if (wbsFormElements.size() > 0) {
                 if (StringUtils.isNotEmpty(search)) {
                     wbsFormElements = wbsFormElements.stream().filter(e -> e.getEName().contains(search)).collect(Collectors.toList());

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IWbsTreeService.java

@@ -35,7 +35,7 @@ public interface IWbsTreeService extends BaseService<WbsTree> {
 
     boolean removeTableById(String id);
 
-    List<WbsFormElementVO> selectFormElements(String id,Integer type);
+    List<WbsFormElementVO> selectFormElements(String id,String nodeId,Integer type);
     List<WbsFormElementVO> selectFormElements4Formula(String id);
     // 项目级
     List<WbsFormElementVO> selectPrivateFormElements(String id,String eName);

+ 10 - 6
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeServiceImpl.java

@@ -418,12 +418,11 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
     }
 
     @Override
-    public List<WbsFormElementVO> selectFormElements(String id, Integer type) {
+    public List<WbsFormElementVO> selectFormElements(String id, String nodeId ,Integer type) {
         List<WbsFormElementVO> wbsFormElements = wbsTreeMapper.selectFormElements(id);
-        ;
-//        if (Func.isEmpty(wbsFormElements)) {
-//            wbsFormElements = wbsTreeMapper.selectFormElements4TableId(id);
-//        }
+        if (Func.isEmpty(wbsFormElements)) {
+            wbsFormElements = wbsTreeMapper.selectFormElements4TableId(id);
+        }
         wbsFormElements.forEach(elements -> {
             String eAllowDeviation = elements.getEAllowDeviation();
             //转义
@@ -444,9 +443,14 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
             String sql;
             if (com.mixsmart.utils.StringUtils.isEquals(type, 1)) {
                 sql = "select c.element_id from m_wbs_tree a INNER JOIN m_wbs_tree b on a.parent_id=b.id INNER JOIN m_element_formula_mapping c on b.id=c.node_id where  a.id=" + id + " and c.scope=" + scopeB + " and c.element_id in(" + elementIds + ")";
-            } else {
+            } else if (com.mixsmart.utils.StringUtils.isEquals(type, 0)){
                 WbsTreePrivate treePrivate = this.wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getPKeyId, id));
                 sql = "select c.element_id from m_wbs_tree_private a INNER JOIN m_wbs_tree b on a.parent_id=b.id INNER JOIN m_element_formula_mapping c on b.id=c.node_id where  a.p_key_id=" + id + " and c.scope=" + scopeB + " and c.element_id in(" + elementIds + ")  and c.project_id=" + treePrivate.getProjectId();
+            }else  if (com.mixsmart.utils.StringUtils.isEquals(type, 3)){
+                WbsTreePrivate treePrivate = this.wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getPKeyId, nodeId));
+                sql = "select c.element_id from m_wbs_tree_private a INNER JOIN m_wbs_tree b on a.parent_id=b.id INNER JOIN m_element_formula_mapping c on b.id=c.node_id where  a.p_key_id=" + id + " and c.scope=35 and c.element_id in(" + elementIds + ")  and c.project_id=" + treePrivate.getProjectId();
+            }else{
+                sql = "select c.element_id from m_wbs_tree a INNER JOIN m_wbs_tree b on a.parent_id=b.id INNER JOIN m_element_formula_mapping c on b.id=c.node_id where  a.id=" + id + " and c.scope=35 and c.element_id in(" + elementIds + ")";
             }
             List<Long> longs2 = this.jdbcTemplate.queryForList(sql, Long.class);
             wbsFormElements.forEach(e -> {