瀏覽代碼

客户端内页台账

qianxb 2 年之前
父節點
當前提交
1c39197573

+ 2 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/QueryProcessDataVO.java

@@ -29,4 +29,6 @@ public class QueryProcessDataVO {
 
     private String queryType;
 
+    private String reportNumber;
+
 }

+ 75 - 47
blade-service/blade-business/src/main/java/org/springblade/business/controller/NeiYeController.java

@@ -77,10 +77,22 @@ public class NeiYeController {
                 node = this.wbsTreeContractClient.getContractWbsTreeByContractIdAndId(Long.parseLong(queryVO.getWbsIds().get(0)), Long.parseLong(contractId));
             }
             //不是工序,则查询当前节点下的所有填报节点
-            List<QueryProcessDataVO> queryDataResult;
+            List<QueryProcessDataVO> queryDataResult = new ArrayList<>();
             if(!new Integer("6").equals(node.getNodeType()) && !Arrays.asList("1,2,3,4".split(",")).contains(node.getMajorDataType().toString())){
                 //非填报节点
-                queryDataResult = this.informationQueryService.queryProcessDataByParentIdAndContractId(node.getId().toString(), contract.getContractType(), contractId);
+                if (node.getParentId() == 0){
+                    String contractI = node.getContractId();
+                    List<WbsTreeContract> treeS = wbsTreeContractClient.getContractWbsTreeByParentId(node.getId().toString(),contractI);
+                    for (WbsTreeContract tree : treeS) {
+                        List<QueryProcessDataVO> dataResult = this.informationQueryService.queryProcessDataByParentIdAndContractId(tree.getId().toString(), contract.getContractType(), contractId);
+                        if (dataResult != null && dataResult.size() > 0) {
+                            queryDataResult.addAll(dataResult);
+                            dataResult.clear();
+                        }
+                    }
+                }else {
+                    queryDataResult = this.informationQueryService.queryProcessDataByParentIdAndContractId(node.getId().toString(), contract.getContractType(), contractId);
+                }
             } else {
                 //填报节点
                 queryDataResult = this.informationQueryService.queryProcessDataByPrimaryKeyIdAndClassify(node.getPKeyId().toString(), contract.getContractType());
@@ -91,8 +103,14 @@ public class NeiYeController {
                 queryDataResult.removeIf(query -> StringUtils.isNotEmpty(query.getQueryType()) && "3".equals(query.getQueryType()));
                 //过滤Evaluate
                 queryDataResult.stream().forEach(qdr->{
-                    if ("2".equals(qdr.getStatus()+"")){
+                    Integer status = qdr.getStatus();
+                    if (status == null){
+                        qdr.setStatus(0);
+                        qdr.setEvaluate("false");
+                    }else if (status.equals(2)){
                         qdr.setEvaluate("true");
+                    }else {
+                        qdr.setEvaluate("false");
                     }
                 });
                 String isEvaluate = String.valueOf(queryVO.getIsEvaluate());
@@ -106,9 +124,59 @@ public class NeiYeController {
                 //审批状态
                 String taskStatus = queryVO.getTaskStatus();
                 if (!"".equals(taskStatus) && !"null".equals(taskStatus) && taskStatus != null) {
-                    Integer status = Integer.parseInt(taskStatus) - 1;
+                    Integer sta = Integer.valueOf(taskStatus) -1;
+                    queryDataResult = queryDataResult.stream()
+                            .filter(qdr->sta.equals(qdr.getStatus())).collect(Collectors.toList());
+                }
+                if (queryDataResult.size() <= 0){
+                    return R.data(300, null, "未查询到数据");
+                }
+                //过滤输入框条件
+                String queryStr = queryVO.getQueryStr();
+                if (!"".equals(queryStr) && !"null".equals(queryStr) && queryStr != null){
+                    String contractId1 = queryVO.getContractId();
+                    queryDataResult = queryDataResult.stream()
+                            .filter(qdr->{
+                                StringBuilder str = new StringBuilder();
+                                Map<String, String> map = new HashMap<>();
+                                foreachGetParent(map, idToNodeMap, qdr.getParentId(), contractId1);
+                                str.append(map.get("unitProject"));
+                                if (map.get("partProject") != null && map.get("partProject") != "")
+                                    str.append(map.get("partProject"));
+                                if (map.get("partChildProject") != null && map.get("partChildProject") != "")
+                                    str.append(map.get("partChildProject"));
+                                if (map.get("subentryProject") != null && map.get("subentryProject") != "")
+                                    str.append(map.get("subentryProject"));
+                                if (map.get("subentryChildProject") != null && map.get("subentryChildProject") != "")
+                                    str.append(map.get("subentryChildProject"));
+                                if (  qdr.getTitle() != null &&   qdr.getTitle()!= "")
+                                    str.append(qdr.getTitle());
+                                return str.toString().toUpperCase().contains(queryStr.toUpperCase())?true:false;
+                            }).collect(Collectors.toList());
+                }
+                if (queryDataResult.size() <= 0){
+                    return R.data(300, null, "未查询到数据");
+                }
+                //上报批次
+                for (QueryProcessDataVO vo : queryDataResult) {
+                    if (vo.getInformationQueryId() != null && vo.getStatus() != 0){
+                        List<Task> tasks = taskClient.queryTaskListByFormDataId(vo.getInformationQueryId());
+                        Task task = new Task();
+                        if (tasks == null || tasks.size() <= 0){
+                            task.setBatch(0);
+                        }else {
+                            tasks = tasks.stream().sorted(Comparator.comparing(e -> e.getCreateTime())).collect(Collectors.toList());
+                            task = tasks.get(tasks.size() - 1);
+                        }
+                        vo.setReportNumber(task.getBatch()+"");
+                    }else {
+                        vo.setReportNumber("0");
+                    }
+                }
+                String reportNumber = queryVO.getReportNumber();
+                if (!"".equals(reportNumber) && !"null".equals(reportNumber) && reportNumber != null) {
                     queryDataResult = queryDataResult.stream()
-                            .filter(qdr->status.equals(qdr.getStatus())).collect(Collectors.toList());
+                            .filter(qdr->reportNumber.equals(qdr.getReportNumber())).collect(Collectors.toList());
                 }
                 if (queryDataResult.size() <= 0){
                     return R.data(300, null, "未查询到数据");
@@ -147,46 +215,6 @@ public class NeiYeController {
                         }
                     }
                     //todo 当前缺少是否关联评定、是否关联试验 =================================
-                    //过滤输入框条件
-                    String queryStr = queryVO.getQueryStr();
-                    if (!"".equals(queryStr) && !"null".equals(queryStr) && queryStr != null){
-                        StringBuilder str = new StringBuilder();
-                        str.append(map.get("unitProject"));
-                        if (map.get("partProject") != null && map.get("partProject")!= "")
-                            str.append(map.get("partProject"));
-                        if (map.get("partChildProject") != null && map.get("partChildProject")!= "")
-                            str.append(map.get("partChildProject"));
-                        if (map.get("subentryProject") != null && map.get("subentryProject")!= "")
-                            str.append(map.get("subentryProject"));
-                        if (map.get("subentryChildProject") != null && map.get("subentryChildProject")!= "")
-                            str.append(map.get("subentryChildProject"));
-                        if (  vo.getTitle() != null &&   vo.getTitle()!= "")
-                            str.append(vo.getTitle());
-                        if (!str.toString().toUpperCase().contains(queryStr.toUpperCase()))
-                            continue;
-                    }
-                    //上报批次
-                    if (vo.getInformationQueryId() != null){
-                        List<Task> tasks = taskClient.queryTaskListByFormDataId(vo.getInformationQueryId());
-                        Task task;
-                        if (tasks == null || tasks.size() <= 0){
-                            task = new Task();
-                            task.setBatch(0);
-                        }else {
-                            tasks = tasks.stream().sorted(Comparator.comparing(e -> e.getCreateTime())).collect(Collectors.toList());
-                            task = tasks.get(tasks.size() - 1);
-                        }
-                        map.put("reportNumber",task.getBatch()+"");
-                        String reportNumber = queryVO.getReportNumber();
-                        if (!"".equals(reportNumber) && !"null".equals(reportNumber) && reportNumber != null) {
-                            int anInt = Integer.parseInt(reportNumber);
-                            if (task.getBatch() != anInt){
-                                continue;
-                            }
-                        }
-                    }else {
-                        map.put("reportNumber","0");
-                    }
                     //新增列表数据
                     neiYeLedgerVOList.add(new NeiYeLedgerVO(map.get("unitProject"),
                             map.get("partProject"),
@@ -199,7 +227,7 @@ public class NeiYeController {
                             new Integer("1").equals(vo.getStatus()) ? "待审批" : new Integer("2").equals(vo.getStatus()) ? "已审批" : "未上报",
                             vo.getEvaluate(),
                             "false",
-                            map.get("reportNumber")));
+                            vo.getReportNumber()));
                 }
                 //转换为page信息
                 Query query = new Query();
@@ -222,7 +250,7 @@ public class NeiYeController {
      * @param parentId 父节点
      */
     private void foreachGetParent(Map<String,String> resultMap, Map<String,WbsTreeContractTreeVOS> vosMap, String parentId, String contractId){
-        if(vosMap.containsKey(parentId) || !"0".equals(parentId.trim())){
+        if(vosMap.containsKey(parentId)){
             //存在父节点信息,获取
             WbsTreeContractTreeVOS vos = vosMap.get(parentId);
             if(new Integer("1").equals(vos.getNodeType())){