qianxb 2 лет назад
Родитель
Сommit
7d25913eac

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

@@ -2298,11 +2298,7 @@ public class InformationWriteQueryController extends BladeController {
             if (queryDataResult != null && queryDataResult.size() > 0) {
                 if (StringUtils.isNotEmpty(vo.getIsFirst())) {
                     if (StringUtils.isNotEmpty(vo.getFirstTitle())){
-                        if (node.getParentId()==0) {
-                            List<TreeContractFirst> firstList = treeContractFirstService.list(new LambdaQueryWrapper<TreeContractFirst>().in(TreeContractFirst::getContractId, node.getContractId()));
-                            List<String> list = firstList.stream().map(fl -> (fl.getWbsNodeId() + "")).collect(Collectors.toList());
-                            submitNodeKeyIds.addAll(list);
-                        }
+                        queryDataResult = queryDataResult.stream().filter(qdr->"3".equals(qdr.getQueryType())).collect(Collectors.toList());
                     }else {
                         //节点主键集合
                         List<String> treeIds = queryDataResult.stream().map(QueryProcessDataVO::getPrimaryKeyId).distinct().collect(Collectors.toList());
@@ -2310,10 +2306,9 @@ public class InformationWriteQueryController extends BladeController {
                         List<TreeContractFirst> firstList = treeContractFirstService.list(new LambdaQueryWrapper<TreeContractFirst>().in(TreeContractFirst::getWbsNodeId, treeIds));
                         List<String> list = firstList.stream().map(fl -> (fl.getWbsNodeId() + "")).collect(Collectors.toList());
                         queryDataResult = queryDataResult.stream().filter(qdr -> list.contains(qdr.getPrimaryKeyId())).collect(Collectors.toList());
-                        submitNodeKeyIds.addAll(queryDataResult.stream().map(QueryProcessDataVO::getPrimaryKeyId).distinct().collect(Collectors.toList()));
                     }
                 }
-
+                submitNodeKeyIds.addAll(queryDataResult.stream().map(QueryProcessDataVO::getPrimaryKeyId).distinct().collect(Collectors.toList()));
             }
         }
         //设置进集合中

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

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

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

@@ -38,5 +38,9 @@ public interface TaskMapper extends BaseMapper<Task> {
 
     List<String> queryBatchListThree(@Param("projectId") String projectId, @Param("contractId") String contractId);
 
+    List<String> queryBatchListFirst(@Param("projectId") String projectId, @Param("contractId") String contractId);
+
+    List<String> queryBatchListFlagFirst(@Param("projectId") String projectId, @Param("contractId") String contractId);
+
     List<Task> queryContractAllBatch(String contract);
 }

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

@@ -65,6 +65,20 @@
         </if>
         order by u.batch;
     </select>
+    <select id="queryBatchListFirst" 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 = 3 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="queryBatchListFlagFirst" resultType="java.lang.String">
+        select DISTINCT batch from u_task
+        WHERE form_data_id IN
+              (SELECT id from u_information_query WHERE wbs_id in (select wbs_node_id from u_tree_contract_first WHERE contract_id = #{contractId}) and type = 1) and `status` in(1,2) and approval_type = 1
+        order by 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}

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

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

+ 8 - 2
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TaskServiceImpl.java

@@ -351,8 +351,14 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
     }
 
     @Override
-    public List<String> queryBatchListThree(String projectId, String contractId) {
-        return baseMapper.queryBatchListThree(projectId, contractId);
+    public List<String> queryBatchListThree(String projectId, String contractId,String type) {
+        if ("1".equals(type)){
+            return baseMapper.queryBatchListThree(projectId, contractId);
+        }else if ("2".equals(type)){
+            return baseMapper.queryBatchListFlagFirst(projectId, contractId);
+        }else {
+            return baseMapper.queryBatchListFirst(projectId, contractId);
+        }
     }
 
     @Override