Browse Source

客户端结构树BUG

huangjn 3 years ago
parent
commit
d45524c9b0

+ 5 - 5
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/MaterialProgressVO.java

@@ -34,7 +34,7 @@ public class MaterialProgressVO {
         this.contractImageClassificationList.add(new ContractImageClassification(amount, imageAmount, videoAmount));
         this.contractImageClassificationList.add(new ContractImageClassification(amount, imageAmount, videoAmount));
     }
     }
 
 
-    public void setTreeMaterialProgressList(String title, String id, String primaKeyId, String contractId,
+    public void setTreeMaterialProgressList(String title, String id, String primaryKeyId, String contractId,
                                             Integer standingBookNotAmount, Integer standingBookEndAmount,
                                             Integer standingBookNotAmount, Integer standingBookEndAmount,
                                             Integer processNotSubmitAmount, Integer processNotTaskAmount,
                                             Integer processNotSubmitAmount, Integer processNotTaskAmount,
                                             Integer processAwaitAmount, Integer processApprovalAmount,
                                             Integer processAwaitAmount, Integer processApprovalAmount,
@@ -44,7 +44,7 @@ public class MaterialProgressVO {
                                             Integer evaluationAwaitAmount, Integer evaluationApprovalAmount,
                                             Integer evaluationAwaitAmount, Integer evaluationApprovalAmount,
                                             Integer completionNotSubmitAmount, Integer completionNotTaskAmount,
                                             Integer completionNotSubmitAmount, Integer completionNotTaskAmount,
                                             Integer completionAwaitAmount, Integer completionApprovalAmount, Boolean hasChildren){
                                             Integer completionAwaitAmount, Integer completionApprovalAmount, Boolean hasChildren){
-        this.treeMaterialProgressList.add(new TreeMaterialProgress(title, id, primaKeyId, contractId,
+        this.treeMaterialProgressList.add(new TreeMaterialProgress(title, id, primaryKeyId, contractId,
                 standingBookNotAmount, standingBookEndAmount,
                 standingBookNotAmount, standingBookEndAmount,
                 processNotSubmitAmount, processNotTaskAmount,
                 processNotSubmitAmount, processNotTaskAmount,
                 processAwaitAmount, processApprovalAmount,
                 processAwaitAmount, processApprovalAmount,
@@ -63,7 +63,7 @@ public class MaterialProgressVO {
         @ApiModelProperty("节点ID(非唯一键)")
         @ApiModelProperty("节点ID(非唯一键)")
         private String id;
         private String id;
         @ApiModelProperty("节点primaKeyId(唯一键)")
         @ApiModelProperty("节点primaKeyId(唯一键)")
-        private String primaKeyId;
+        private String primaryKeyId;
         @ApiModelProperty("合同段ID")
         @ApiModelProperty("合同段ID")
         private String contractId;
         private String contractId;
 
 
@@ -111,7 +111,7 @@ public class MaterialProgressVO {
         @ApiModelProperty("是否有下级")
         @ApiModelProperty("是否有下级")
         private Boolean hasChildren;
         private Boolean hasChildren;
 
 
-        public TreeMaterialProgress(String title, String id, String primaKeyId, String contractId,
+        public TreeMaterialProgress(String title, String id, String primaryKeyId, String contractId,
                                     Integer standingBookNotAmount, Integer standingBookEndAmount,
                                     Integer standingBookNotAmount, Integer standingBookEndAmount,
                                     Integer processNotSubmitAmount, Integer processNotTaskAmount,
                                     Integer processNotSubmitAmount, Integer processNotTaskAmount,
                                     Integer processAwaitAmount, Integer processApprovalAmount,
                                     Integer processAwaitAmount, Integer processApprovalAmount,
@@ -123,7 +123,7 @@ public class MaterialProgressVO {
                                     Integer completionAwaitAmount, Integer completionApprovalAmount, Boolean hasChildren){
                                     Integer completionAwaitAmount, Integer completionApprovalAmount, Boolean hasChildren){
             this.title = title;
             this.title = title;
             this.id = id;
             this.id = id;
-            this.primaKeyId = primaKeyId;
+            this.primaryKeyId = primaryKeyId;
             this.contractId = contractId;
             this.contractId = contractId;
             this.standingBookNotAmount = standingBookNotAmount;
             this.standingBookNotAmount = standingBookNotAmount;
             this.standingBookEndAmount = standingBookEndAmount;
             this.standingBookEndAmount = standingBookEndAmount;

+ 0 - 3
blade-service/blade-business/src/main/java/org/springblade/business/controller/InformationWriteQueryController.java

@@ -1012,9 +1012,6 @@ public class InformationWriteQueryController extends BladeController {
 		if(new Integer("2").equals(contractInfo.getContractType())){
 		if(new Integer("2").equals(contractInfo.getContractType())){
 			//监理合同段,需要获取关联的施工方合同段根节点数据
 			//监理合同段,需要获取关联的施工方合同段根节点数据
 			rootTreeNode = this.wbsTreeContractClient.lazyTree(StringUtils.isNotEmpty(parentId) ? Long.parseLong(parentId) : 0, contractId, contractIdRelation, contractInfo.getContractType());
 			rootTreeNode = this.wbsTreeContractClient.lazyTree(StringUtils.isNotEmpty(parentId) ? Long.parseLong(parentId) : 0, contractId, contractIdRelation, contractInfo.getContractType());
-			//设置合同段根节点的名称
-			//this.setRootNodeName(parentId, rootTreeNode);
-
 		} else {
 		} else {
 			if(com.alibaba.nacos.common.utils.StringUtils.isEmpty(parentId)){
 			if(com.alibaba.nacos.common.utils.StringUtils.isEmpty(parentId)){
 				//为空,说明初始化
 				//为空,说明初始化

+ 188 - 106
blade-service/blade-business/src/main/java/org/springblade/business/controller/MaterialProgressController.java

@@ -190,27 +190,50 @@ public class MaterialProgressController extends BladeController {
     @ApiOperationSupport(order = 3)
     @ApiOperationSupport(order = 3)
     @ApiOperation(value = "声像媒体资料统计")
     @ApiOperation(value = "声像媒体资料统计")
     public R<MaterialProgressVO> queryImageClassification(@RequestParam String contractId){
     public R<MaterialProgressVO> queryImageClassification(@RequestParam String contractId){
-        List<Integer> fileTypes = this.imageClassificationFileService.queryCurrentContractImageFileType(contractId);
-        if(fileTypes != null && fileTypes.size() > 0){
-            //判断数量
-            AtomicInteger imageAmount = new AtomicInteger();
-            AtomicInteger videoAmount = new AtomicInteger();
-            fileTypes.forEach(type -> {
-                switch (type) {
-                    case 1:
-                        videoAmount.getAndIncrement();
-                        break;
-                    case 2:
-                        imageAmount.getAndIncrement();
-                        break;
+        //设置返回参数
+        MaterialProgressVO reVO = new MaterialProgressVO();
+
+        //获取合同段信息
+        ContractInfo contract = this.contractClient.getContractById(Long.parseLong(contractId));
+        if(contract != null && new Integer("2").equals(contract.getContractType())){
+            //监理合同段
+            List<String> sgContractIds = this.contractClient.getProcessContractByJLContractId(contractId);
+            if(sgContractIds != null && sgContractIds.size() > 0){
+                //汇总
+                List<Integer> countTypeList = new ArrayList<>();
+                for(String sgContractId : sgContractIds){
+                    List<Integer> fileTypes = this.imageClassificationFileService.queryCurrentContractImageFileType(sgContractId);
+                    if(fileTypes != null && fileTypes.size() > 0){
+                        countTypeList.addAll(fileTypes);
+                    }
                 }
                 }
-            });
-            //设置返回参数
-            MaterialProgressVO reVO = new MaterialProgressVO();
-            reVO.setContractImageClassificationList(fileTypes.size(), imageAmount.get(), videoAmount.get());
+                if(countTypeList.size() > 0){
 
 
-            return R.data(reVO);
+                }
+            }
+        } else {
+            List<Integer> fileTypes = this.imageClassificationFileService.queryCurrentContractImageFileType(contractId);
+            if(fileTypes != null && fileTypes.size() > 0){
+                //判断数量
+                AtomicInteger imageAmount = new AtomicInteger();
+                AtomicInteger videoAmount = new AtomicInteger();
+                fileTypes.forEach(type -> {
+                    switch (type) {
+                        case 1:
+                            videoAmount.getAndIncrement();
+                            break;
+                        case 2:
+                            imageAmount.getAndIncrement();
+                            break;
+                    }
+                });
+                reVO.setContractImageClassificationList(fileTypes.size(), imageAmount.get(), videoAmount.get());
+
+                return R.data(reVO);
+            }
         }
         }
+
+
         return R.data(300, null, "未找到数据");
         return R.data(300, null, "未找到数据");
     }
     }
 
 
@@ -221,66 +244,93 @@ public class MaterialProgressController extends BladeController {
     @ApiOperationSupport(order = 2)
     @ApiOperationSupport(order = 2)
     @ApiOperation(value = "报表资料审批统计")
     @ApiOperation(value = "报表资料审批统计")
     public R<MaterialProgressVO> queryMaterialProgressStatus(@RequestParam String contractId){
     public R<MaterialProgressVO> queryMaterialProgressStatus(@RequestParam String contractId){
-        //找到可填写的
-        List<WbsTreeContract> submitNodeList = this.wbsTreeContractClient.queryContractSubmitWbsTreeByContractId(contractId);
-        if(submitNodeList != null && submitNodeList.size() > 0){
-            //汇总四个填报类型的总数
-            List<String> process = new ArrayList<>(), workStartReports = new ArrayList<>(), evaluation = new ArrayList<>(), completion = new ArrayList<>();
-            //类型分组
-            this.checkType(submitNodeList, process, workStartReports, evaluation, completion);
+        //设置参数返回
+        MaterialProgressVO reVO = new MaterialProgressVO();
 
 
-            //工序资料
-            List<InformationQuery> processSubmitList = null;
-            if(process.size() > 0){
-                processSubmitList = this.informationQueryService.list(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getWbsId, process));
-            }
-            //开工报告
-            List<InformationQuery> workStartReportsSubmitList = null;
-            if(workStartReports.size() > 0){
-                workStartReportsSubmitList = this.informationQueryService.list(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getWbsId, workStartReports));
-            }
-            //质量评定
-            List<InformationQuery> evaluationSubmitList = null;
-            if(evaluation.size() > 0){
-                evaluationSubmitList = this.informationQueryService.list(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getWbsId, evaluation));
+        //获取合同段信息
+        ContractInfo contract = this.contractClient.getContractById(Long.parseLong(contractId));
+        if(contract != null && new Integer("2").equals(contract.getContractType())){
+            //监理合同段
+            List<String> sgContractIds = this.contractClient.getProcessContractByJLContractId(contractId);
+            if(sgContractIds != null && sgContractIds.size() > 0){
+                //汇总集合
+                List<WbsTreeContract> countList = new ArrayList<>();
+                for(String sgContractId : sgContractIds){
+                    //找到可填写的
+                    List<WbsTreeContract> submitNodeList = this.wbsTreeContractClient.queryContractSubmitWbsTreeByContractId(sgContractId);
+                    if(submitNodeList != null && submitNodeList.size() > 0){
+                        countList.addAll(submitNodeList);
+                    }
+                }
+                if(countList.size() > 0){
+                    //设置参数
+                    this.setTaskParameter(reVO, countList);
+                    return R.data(reVO);
+                }
             }
             }
-            //中间交工
-            List<InformationQuery> completionSubmitList = null;
-            if(completion.size() > 0){
-                completionSubmitList = this.informationQueryService.list(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getWbsId, completion));
+        } else {
+            //找到可填写的
+            List<WbsTreeContract> submitNodeList = this.wbsTreeContractClient.queryContractSubmitWbsTreeByContractId(contractId);
+            if(submitNodeList != null && submitNodeList.size() > 0){
+                this.setTaskParameter(reVO, submitNodeList);
+                return R.data(reVO);
             }
             }
+        }
 
 
-            //设置参数返回
-            MaterialProgressVO reVO = new MaterialProgressVO();
+        return R.data(300, null, "未找到数据");
+    }
 
 
-            //处理工序资料
-            if(processSubmitList != null && processSubmitList.size() > 0){
-                this.setParameter(reVO, processSubmitList);
-            } else {
-                reVO.setProcessMaterialStatusList("工序资料", 0, 0 ,0);
-            }
-            //处理开工报告
-            if(workStartReportsSubmitList != null && workStartReportsSubmitList.size() > 0){
-                this.setParameter(reVO, workStartReportsSubmitList);
-            } else {
-                reVO.setProcessMaterialStatusList("开工报告", 0, 0 ,0);
-            }
-            //处理评定资料
-            if(evaluationSubmitList != null && evaluationSubmitList.size() > 0){
-                this.setParameter(reVO, evaluationSubmitList);
-            } else {
-                reVO.setProcessMaterialStatusList("评定资料", 0, 0 ,0);
-            }
-            //处理中间交工
-            if(completionSubmitList != null && completionSubmitList.size() > 0){
-                this.setParameter(reVO, completionSubmitList);
-            } else {
-                reVO.setProcessMaterialStatusList("中间交工", 0, 0 ,0);
-            }
+    private void setTaskParameter(MaterialProgressVO reVO, List<WbsTreeContract> submitNodeList){
+        //汇总四个填报类型的总数
+        List<String> process = new ArrayList<>(), workStartReports = new ArrayList<>(), evaluation = new ArrayList<>(), completion = new ArrayList<>();
+        //类型分组
+        this.checkType(submitNodeList, process, workStartReports, evaluation, completion);
 
 
-            return R.data(reVO);
+        //工序资料
+        List<InformationQuery> processSubmitList = null;
+        if(process.size() > 0){
+            processSubmitList = this.informationQueryService.list(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getWbsId, process));
+        }
+        //开工报告
+        List<InformationQuery> workStartReportsSubmitList = null;
+        if(workStartReports.size() > 0){
+            workStartReportsSubmitList = this.informationQueryService.list(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getWbsId, workStartReports));
+        }
+        //质量评定
+        List<InformationQuery> evaluationSubmitList = null;
+        if(evaluation.size() > 0){
+            evaluationSubmitList = this.informationQueryService.list(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getWbsId, evaluation));
+        }
+        //中间交工
+        List<InformationQuery> completionSubmitList = null;
+        if(completion.size() > 0){
+            completionSubmitList = this.informationQueryService.list(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getWbsId, completion));
+        }
+
+        //处理工序资料
+        if(processSubmitList != null && processSubmitList.size() > 0){
+            this.setParameter(reVO, processSubmitList);
+        } else {
+            reVO.setProcessMaterialStatusList("工序资料", 0, 0 ,0);
+        }
+        //处理开工报告
+        if(workStartReportsSubmitList != null && workStartReportsSubmitList.size() > 0){
+            this.setParameter(reVO, workStartReportsSubmitList);
+        } else {
+            reVO.setProcessMaterialStatusList("开工报告", 0, 0 ,0);
+        }
+        //处理评定资料
+        if(evaluationSubmitList != null && evaluationSubmitList.size() > 0){
+            this.setParameter(reVO, evaluationSubmitList);
+        } else {
+            reVO.setProcessMaterialStatusList("评定资料", 0, 0 ,0);
+        }
+        //处理中间交工
+        if(completionSubmitList != null && completionSubmitList.size() > 0){
+            this.setParameter(reVO, completionSubmitList);
+        } else {
+            reVO.setProcessMaterialStatusList("中间交工", 0, 0 ,0);
         }
         }
-        return R.data(300, null, "未找到数据");
     }
     }
 
 
     /**
     /**
@@ -290,47 +340,79 @@ public class MaterialProgressController extends BladeController {
     @ApiOperationSupport(order = 1)
     @ApiOperationSupport(order = 1)
     @ApiOperation(value = "查询内业资料进度")
     @ApiOperation(value = "查询内业资料进度")
     public R<MaterialProgressVO> queryMaterialProgress(@RequestParam String contractId){
     public R<MaterialProgressVO> queryMaterialProgress(@RequestParam String contractId){
-        //找到可填写的
-        List<WbsTreeContract> submitNodeList = this.wbsTreeContractClient.queryContractSubmitWbsTreeByContractId(contractId);
-        if(submitNodeList != null && submitNodeList.size() > 0){
-            //汇总四个填报类型的总数
-            List<String> process = new ArrayList<>(), workStartReports = new ArrayList<>(), evaluation = new ArrayList<>(), completion = new ArrayList<>();
-            //类型分组
-            this.checkType(submitNodeList, process, workStartReports, evaluation, completion);
-
-            //根据四个集合获取对应的资料
-            //工序资料
-            long processAmount = 0L;
-            if(process.size() > 0){
-                processAmount = this.informationQueryService.count(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getWbsId, process));
-            }
-            //开工报告
-            long workStartReportsAmount = 0L;
-            if(workStartReports.size() > 0){
-                workStartReportsAmount = this.informationQueryService.count(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getWbsId, workStartReports));
-            }
-            //质量评定
-            long evaluationAmount = 0L;
-            if(evaluation.size() > 0){
-                evaluationAmount = this.informationQueryService.count(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getWbsId, evaluation));
+        //设置返回
+        MaterialProgressVO reVO = new MaterialProgressVO();
+
+        //获取合同段信息
+        ContractInfo contract = this.contractClient.getContractById(Long.parseLong(contractId));
+        if(contract != null && new Integer("2").equals(contract.getContractType())){
+            //监理合同段
+            List<String> sgContractIds = this.contractClient.getProcessContractByJLContractId(contractId);
+            if(sgContractIds != null && sgContractIds.size() > 0){
+                //汇总集合
+                List<WbsTreeContract> countList = new ArrayList<>();
+                for(String sgContractId : sgContractIds){
+                    //找到可填写的
+                    List<WbsTreeContract> submitNodeList = this.wbsTreeContractClient.queryContractSubmitWbsTreeByContractId(sgContractId);
+                    if(submitNodeList != null && submitNodeList.size() > 0){
+                        countList.addAll(submitNodeList);
+                    }
+                }
+                if(countList.size() > 0){
+                    //设置参数
+                    this.setParameter(countList, reVO);
+                }
+                return R.data(reVO);
             }
             }
-            //中间交工
-            long completionAmount = 0L;
-            if(completion.size() > 0){
-                completionAmount = this.informationQueryService.count(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getWbsId, completion));
+        } else {
+            //施工合同段
+            //找到可填写的
+            List<WbsTreeContract> submitNodeList = this.wbsTreeContractClient.queryContractSubmitWbsTreeByContractId(contractId);
+            if(submitNodeList != null && submitNodeList.size() > 0){
+                //设置参数
+                this.setParameter(submitNodeList, reVO);
+                return R.data(reVO);
             }
             }
+        }
 
 
-            //设置返回
-            MaterialProgressVO reVO = new MaterialProgressVO();
-            reVO.setProcessMaterialList("开工报告", workStartReports.size(), workStartReportsAmount);
-            reVO.setProcessMaterialList("工序资料", process.size(), processAmount);
-            reVO.setProcessMaterialList("评定资料", evaluation.size(), evaluationAmount);
-            reVO.setProcessMaterialList("中间交工", completion.size(), completionAmount);
+        return R.data(300, null, "未找到数据");
+    }
 
 
-            return R.data(reVO);
+    /**
+     * 设置参数
+     */
+    private void setParameter(List<WbsTreeContract> submitNodeList, MaterialProgressVO reVO){
+        //汇总四个填报类型的总数
+        List<String> process = new ArrayList<>(), workStartReports = new ArrayList<>(), evaluation = new ArrayList<>(), completion = new ArrayList<>();
+        //类型分组
+        this.checkType(submitNodeList, process, workStartReports, evaluation, completion);
+
+        //根据四个集合获取对应的资料
+        //工序资料
+        long processAmount = 0L;
+        if(process.size() > 0){
+            processAmount = this.informationQueryService.count(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getWbsId, process));
+        }
+        //开工报告
+        long workStartReportsAmount = 0L;
+        if(workStartReports.size() > 0){
+            workStartReportsAmount = this.informationQueryService.count(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getWbsId, workStartReports));
+        }
+        //质量评定
+        long evaluationAmount = 0L;
+        if(evaluation.size() > 0){
+            evaluationAmount = this.informationQueryService.count(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getWbsId, evaluation));
+        }
+        //中间交工
+        long completionAmount = 0L;
+        if(completion.size() > 0){
+            completionAmount = this.informationQueryService.count(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getWbsId, completion));
         }
         }
 
 
-        return R.data(300, null, "未找到数据");
+        reVO.setProcessMaterialList("开工报告", workStartReports.size(), workStartReportsAmount);
+        reVO.setProcessMaterialList("工序资料", process.size(), processAmount);
+        reVO.setProcessMaterialList("评定资料", evaluation.size(), evaluationAmount);
+        reVO.setProcessMaterialList("中间交工", completion.size(), completionAmount);
     }
     }
 
 
     /**
     /**

+ 2 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ContractInfoMapper.xml

@@ -224,8 +224,8 @@
         id AS "value",
         id AS "value",
         id AS "key",
         id AS "key",
         partition_code,
         partition_code,
-        old_id,
-        contract_id AS contractIdRelation
+        old_id
+<!--        contract_id AS contractIdRelation-->
         FROM
         FROM
         m_wbs_tree_contract
         m_wbs_tree_contract
         WHERE
         WHERE