浏览代码

台账批次

qianxb 2 年之前
父节点
当前提交
55227c61f2

+ 9 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/TaskClient.java

@@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
+import java.util.Map;
 
 @FeignClient(value = BusinessConstant.APPLICATION_WEATHER_NAME)
 public interface TaskClient {
@@ -30,6 +31,14 @@ public interface TaskClient {
     String QUERY_APPROVAL_USER_TASK_ID = API_PREFIX + "/query-approval-user-by-task-id";
     String QUERY_BUSINESS_TABLE_E_VISA_CONFIG = API_PREFIX + "/query-business-table-e-visa-config";
     String QUERY_TASK_CONTRACT_ID = API_PREFIX + "/query-task-contract-id";
+    String QUERY_TASK_ALL_BATCH = API_PREFIX + "/query-contract-all-batch";
+
+
+    /**
+     * 获取当前合同段所有上报的资料批次信息
+     */
+    @GetMapping(QUERY_TASK_ALL_BATCH)
+    Map<String,String> queryContractAllBatch(@RequestParam String contract);
 
     /**
      * 获取当前任务所在的合同段

+ 25 - 23
blade-service/blade-business/src/main/java/org/springblade/business/controller/NeiYeController.java

@@ -83,15 +83,7 @@ public class NeiYeController {
                     && !node.getNodeName().contains("开工报告")&& !node.getNodeName().contains("质量检验评定表")){
                 //非填报节点
                 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.queryProcessDataByParentIdAndContractIdTwo(tree.getId().toString(), contract.getContractType(), contractId);
-                        if (dataResult != null && dataResult.size() > 0) {
-                            queryDataResult.addAll(dataResult);
-                            dataResult.clear();
-                        }
-                    }
+                        queryDataResult = this.informationQueryService.queryProcessDataByParentIdAndContractIdTwo("", contract.getContractType(), contractId);
                 }else {
                     queryDataResult = this.informationQueryService.queryProcessDataByParentIdAndContractIdTwo(node.getId().toString(), contract.getContractType(), contractId);
                 }
@@ -163,21 +155,32 @@ public class NeiYeController {
                     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()+"");
+                Map<String, String> tasks = taskClient.queryContractAllBatch(queryVO.getContractId());
+                Set<String> keySet = tasks.keySet();
+                queryDataResult.stream().forEach(qdr->{
+                    if (keySet.contains(qdr.getInformationQueryId())){
+                        qdr.setReportNumber(tasks.get(qdr.getInformationQueryId()));
                     }else {
-                        vo.setReportNumber("0");
+                        qdr.setReportNumber("0");
                     }
-                }
+                });
+//                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");
+//                    }
+//                }
+                List<String> collect = queryDataResult.stream().map(qdr -> qdr.getInformationQueryId()).collect(Collectors.toList());
+                System.out.println("\u001B[31m" + collect.contains("1584389365004500992") + "\u001B[0m");
                 String reportNumber = queryVO.getReportNumber();
                 if (!"".equals(reportNumber) && !"null".equals(reportNumber) && reportNumber != null) {
                     queryDataResult = queryDataResult.stream()
@@ -195,7 +198,6 @@ public class NeiYeController {
                 List<ConstructionLedger> ledgers = this.constructionLedgerService.list(Wrappers.<ConstructionLedger>lambdaQuery().in(ConstructionLedger::getWbsId, primaryKeyIds));
 
                 for (QueryProcessDataVO vo : groupQueryList) {
-
                     //处理父节点信息
                     Map<String, String> map = new HashMap<>();
                     this.foreachGetParent(map, idToNodeMap, vo.getParentId(), contractId);

+ 7 - 2
blade-service/blade-business/src/main/java/org/springblade/business/controller/TaskController.java

@@ -344,8 +344,13 @@ public class TaskController extends BladeController {
 			@ApiImplicitParam(name = "projectId", value = "项目ID", required = true),
 			@ApiImplicitParam(name = "contractId", value = "合同段ID", required = true)
 	})
-	public R<List<String>> queryBatchListTwo(String projectId, String contractId){
-		return R.data(this.taskService.queryBatchListTwo(projectId, contractId));
+	public R<List<String>> queryBatchListTwo(String projectId, String contractId,String type){
+		//如果type有值就是内页台账,不需要去查询首件批次
+		if (StringUtils.isBlank(type)) {
+			return R.data(this.taskService.queryBatchListTwo(projectId, contractId));
+		}else {
+			return R.data(this.taskService.queryBatchListThree(projectId, contractId));
+		}
 	}
 
 

+ 6 - 0
blade-service/blade-business/src/main/java/org/springblade/business/feignClient/TaskClientImpl.java

@@ -16,6 +16,7 @@ import org.springblade.core.tool.api.R;
 import org.springblade.manager.feign.EVisaConfigClient;
 import org.springframework.web.bind.annotation.RestController;
 import java.util.List;
+import java.util.Map;
 
 @RestController
 @AllArgsConstructor
@@ -29,6 +30,11 @@ public class TaskClientImpl implements TaskClient {
 
     private final ITaskParallelService taskParallelService;
 
+    @Override
+    public Map<String,String> queryContractAllBatch(String contract) {
+        return taskService.queryContractAllBatch(contract);
+    }
+
     @Override
     public String queryTaskContractId(String taskId) {
         //找到任务

+ 3 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/TaskMapper.java

@@ -36,4 +36,7 @@ public interface TaskMapper extends BaseMapper<Task> {
 
     List<String> queryBatchListTwo(@Param("projectId") String projectId, @Param("contractId") String contractId);
 
+    List<String> queryBatchListThree(@Param("projectId") String projectId, @Param("contractId") String contractId);
+
+    List<Task> queryContractAllBatch(String contract);
 }

+ 14 - 1
blade-service/blade-business/src/main/java/org/springblade/business/mapper/TaskMapper.xml

@@ -51,11 +51,24 @@
         group by batch
     </select>
     <select id="queryBatchListTwo" resultType="java.lang.String">
-        select DISTINCT batch from u_task where is_deleted = 0 and status in (1,2) and project_id = #{projectId}
+        select DISTINCT batch from u_task where is_deleted = 0 and status in (1,2) and project_id = #{projectId} and approval_type = 1
         <if test="contractId != null and contractId != ''">
             and contract_id = #{contractId}
         </if>
         order by batch
     </select>
+    <select id="queryBatchListThree" resultType="java.lang.String">
+        select DISTINCT u.batch from u_task u LEFT JOIN u_information_query iq on u.form_data_id=iq.id
+        where  u.is_deleted = 0 and iq.type = 1 and u.status in (1, 2) and u.project_id = #{projectId} and u.approval_type = 1
+        <if test="contractId != null and contractId != ''">
+            and u.contract_id = #{contractId}
+        </if>
+        order by u.batch;
+    </select>
+    <select id="queryContractAllBatch" resultMap="taskResultMap">
+        select form_data_id,batch  from u_task
+        where is_deleted = 0 and status in (1, 2) and contract_id =  #{contractId}
+        GROUP BY form_data_id ;
+    </select>
 
 </mapper>

+ 8 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/ITaskService.java

@@ -71,5 +71,13 @@ public interface ITaskService extends BaseService<Task> {
      * 获取当前合同段有哪些上报批次
      */
     List<String> queryBatchListTwo(String projectId, String contractId);
+    /**
+     * 获取当前合同段有哪些上报批次,内页台账用
+     */
+    List<String> queryBatchListThree(String projectId, String contractId);
 
+    /**
+     *  获取当前合同段所有上报资料的上报批次
+     */
+    Map<String,String> queryContractAllBatch(String contract);
 }

+ 14 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TaskServiceImpl.java

@@ -350,6 +350,20 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
         return baseMapper.queryBatchListTwo(projectId, contractId);
     }
 
+    @Override
+    public List<String> queryBatchListThree(String projectId, String contractId) {
+        return baseMapper.queryBatchListThree(projectId, contractId);
+    }
+
+    @Override
+    public Map<String, String> queryContractAllBatch(String contract) {
+        Map<String,String> map = new HashMap<>();
+        baseMapper.queryContractAllBatch(contract).stream().forEach(task->{
+            map.put(task.getFormDataId(),task.getBatch()+"");
+        });
+        return map;
+    }
+
     @Override
     public List<Task> queryBatchList(String projectId, String contract) {
         return this.baseMapper.queryBatchList(projectId, contract);