Browse Source

feat: 结算报告审批-查询任务筛选条件

李学松 2 năm trước cách đây
mục cha
commit
d0383ee870

+ 44 - 5
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmReportController.java

@@ -18,8 +18,8 @@
 package com.qunzhixinxi.hnqz.admin.controller;
 
 import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.util.StrUtil;
 import com.alibaba.csp.sentinel.util.StringUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -28,6 +28,7 @@ import com.qunzhixinxi.hnqz.admin.entity.WmTask;
 import com.qunzhixinxi.hnqz.admin.entity.vo.WmTaskVO;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
+import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeService;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
 import com.qunzhixinxi.hnqz.admin.entity.WmReport;
@@ -40,8 +41,10 @@ import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
-import java.time.LocalDateTime;
+import java.util.Collections;
 import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 
 /**
@@ -59,6 +62,7 @@ public class WmReportController {
 	private final  WmReportService wmReportService;
 	private final WmScorePackageService wmScorePackageService;
 	private final WmTaskService wmTaskService;
+	private final WmTaskTypeService wmTaskTypeService;
 	/**
 	 * 分页查询
 	 * @param page 分页对象
@@ -263,12 +267,12 @@ public class WmReportController {
 	 */
 	@ApiOperation(value = "分页查询", notes = "分页查询")
 	@GetMapping("/getTaskListPage" )
-	public R getTaskListPage(Page page, WmReport wmReport, Integer isApprovalPage) {
+	public R getTaskListPage(Page page, WmReport wmReport, Integer isApprovalPage, String taskTypeId) {
 		WmReport wmReport1=wmReportService.getById(wmReport.getId());
 		if(null==wmReport1){
 			return R.failed("未查询到报告信息");
 		}
-		return wmReportService.getTaskListPage(page,wmReport1, isApprovalPage);
+		return wmReportService.getTaskListPage(page,wmReport1, isApprovalPage, taskTypeId);
 	}
 
 	/**
@@ -285,6 +289,41 @@ public class WmReportController {
 		return wmReportService.taskPageByTaskType(page, taskTypeName, entTaskStatus);
 	}
 
-
+	/**
+	 * 查询待审核的任务类型
+	 *
+	 * @param reportId       报告id
+	 * @return 列表数据
+	 */
+	@GetMapping("/list-package-task-type")
+	public R<?> listPackageTaskType(@RequestParam("id") String reportId, Integer isApprovalPage) {
+		WmReport wmReport1 = wmReportService.getById(reportId);
+		if(null == wmReport1){
+			return R.failed("未查询到报告信息");
+		}
+		// 获取待审核的任务
+		WmScorePackage scorePackage = wmScorePackageService.getById(wmReport1.getScoreId());
+		LambdaQueryWrapper<WmTask> lambdaQueryWrapper= Wrappers.<WmTask>query().lambda();
+		lambdaQueryWrapper.and(wrapper -> wrapper.eq(WmTask::getReportDrugId, reportId)
+				.or().eq(WmTask::getReportOneId, reportId)
+				.or().eq(WmTask::getReportSecondId, reportId));
+		// 如果是审批页面,则过滤掉通过和不通过的数据(reportDrugApprovalOpinion或reportOneApprovalOpinion:1通过,2不通过)
+		if (isApprovalPage != null && isApprovalPage.equals(1)) {
+			if ("0".equals(scorePackage.getTypeid())) {//药企
+				lambdaQueryWrapper.and(wrapper -> wrapper.isNull(WmTask::getReportDrugApprovalOpinion));
+			} else if ("1".equals(scorePackage.getTypeid())) {//一级代理商类型
+				lambdaQueryWrapper.and(wrapper -> wrapper.isNull(WmTask::getReportDrugApprovalOpinion));
+			} else if ("2".equals(scorePackage.getTypeid())) {//二级代理商类型
+				lambdaQueryWrapper.and(wrapper -> wrapper.isNull(WmTask::getReportOneApprovalOpinion));
+			}
+		}
+		lambdaQueryWrapper.select(WmTask::getTaskTypeId);
+		List<WmTask> wmTasks = wmTaskService.list(lambdaQueryWrapper);
+		if (CollUtil.isEmpty(wmTasks)) {
+			return R.ok(Collections.emptyList());
+		}
+		Set<String> taskTypes = wmTasks.stream().map(WmTask::getTaskTypeId).collect(Collectors.toSet());
+		return R.ok(wmTaskTypeService.listByIds(taskTypes));
+	}
 
 }

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmReportService.java

@@ -50,7 +50,7 @@ public interface WmReportService extends IService<WmReport> {
 	 */
 	R<?> approvalReportByTaskType(List<String> taskIds, String approvalOpinion, String approvalInfo);
 
-	R getTaskListPage(Page page, WmReport wmReport, Integer isApprovalPage);
+	R getTaskListPage(Page page, WmReport wmReport, Integer isApprovalPage, String taskTypeId);
 
 	IPage<WmReport> getReportListPage(Page page, WmReport wmReport, String scoreId, String name);
 

+ 6 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmReportServiceImpl.java

@@ -497,13 +497,15 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 
 	/**
 	 * 报告管理--查看
+	 *
 	 * @param page
 	 * @param wmReport
 	 * @param isApprovalPage 1审批,0查看
+	 * @param taskTypeId
 	 * @return
 	 */
 	@Override
-	public R getTaskListPage(Page page, WmReport wmReport, Integer isApprovalPage) {
+	public R getTaskListPage(Page page, WmReport wmReport, Integer isApprovalPage, String taskTypeId) {
 		Page pages=null;
 		WmScorePackage scorePackage=wmScorePackageService.getById(wmReport.getScoreId());
 		WmTask wmTask=new WmTask();
@@ -521,6 +523,9 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 				lambdaQueryWrapper.and(wrapper -> wrapper.isNull(WmTask::getReportOneApprovalOpinion));
 			}
 		}
+		if (StrUtil.isNotBlank(taskTypeId)) {
+			lambdaQueryWrapper.eq(WmTask::getTaskTypeId, taskTypeId);
+		}
 		pages=wmTaskService.page(page, lambdaQueryWrapper);
 //		if("0".equals(scorePackage.getTypeid())){//药企
 //			wmTask.setReportDrugId(wmReport.getId());