فهرست منبع

客户端结构树BUG

huangjn 3 سال پیش
والد
کامیت
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));
     }
 
-    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 processNotSubmitAmount, Integer processNotTaskAmount,
                                             Integer processAwaitAmount, Integer processApprovalAmount,
@@ -44,7 +44,7 @@ public class MaterialProgressVO {
                                             Integer evaluationAwaitAmount, Integer evaluationApprovalAmount,
                                             Integer completionNotSubmitAmount, Integer completionNotTaskAmount,
                                             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,
                 processNotSubmitAmount, processNotTaskAmount,
                 processAwaitAmount, processApprovalAmount,
@@ -63,7 +63,7 @@ public class MaterialProgressVO {
         @ApiModelProperty("节点ID(非唯一键)")
         private String id;
         @ApiModelProperty("节点primaKeyId(唯一键)")
-        private String primaKeyId;
+        private String primaryKeyId;
         @ApiModelProperty("合同段ID")
         private String contractId;
 
@@ -111,7 +111,7 @@ public class MaterialProgressVO {
         @ApiModelProperty("是否有下级")
         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 processNotSubmitAmount, Integer processNotTaskAmount,
                                     Integer processAwaitAmount, Integer processApprovalAmount,
@@ -123,7 +123,7 @@ public class MaterialProgressVO {
                                     Integer completionAwaitAmount, Integer completionApprovalAmount, Boolean hasChildren){
             this.title = title;
             this.id = id;
-            this.primaKeyId = primaKeyId;
+            this.primaryKeyId = primaryKeyId;
             this.contractId = contractId;
             this.standingBookNotAmount = standingBookNotAmount;
             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())){
 			//监理合同段,需要获取关联的施工方合同段根节点数据
 			rootTreeNode = this.wbsTreeContractClient.lazyTree(StringUtils.isNotEmpty(parentId) ? Long.parseLong(parentId) : 0, contractId, contractIdRelation, contractInfo.getContractType());
-			//设置合同段根节点的名称
-			//this.setRootNodeName(parentId, rootTreeNode);
-
 		} else {
 			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)
     @ApiOperation(value = "声像媒体资料统计")
     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, "未找到数据");
     }
 
@@ -221,66 +244,93 @@ public class MaterialProgressController extends BladeController {
     @ApiOperationSupport(order = 2)
     @ApiOperation(value = "报表资料审批统计")
     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)
     @ApiOperation(value = "查询内业资料进度")
     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 "key",
         partition_code,
-        old_id,
-        contract_id AS contractIdRelation
+        old_id
+<!--        contract_id AS contractIdRelation-->
         FROM
         m_wbs_tree_contract
         WHERE