Jelajahi Sumber

feat: 结算报告审批-查看的任务状态/报告审核状态的筛选条件

lixuesong 1 tahun lalu
induk
melakukan
096beb9c44

+ 12 - 8
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmReportController.java

@@ -28,6 +28,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qunzhixinxi.hnqz.admin.api.constant.CacheConstants;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
 import com.qunzhixinxi.hnqz.admin.entity.WmTask;
+import com.qunzhixinxi.hnqz.admin.entity.dto.ReportTaskListPageDTO;
 import com.qunzhixinxi.hnqz.admin.entity.vo.WmTaskVO;
 import com.qunzhixinxi.hnqz.admin.enums.TaskStatusEnum;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
@@ -45,6 +46,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.time.LocalDateTime;
@@ -386,22 +388,24 @@ public class WmReportController {
 	}
 
 
-
 	/**
 	 * 结算报告--查看
-	 * @param page 分页对象
-	 * @param wmReport 报告审核表
-	 * @param isApprovalPage 1审批,0查看
-	 * @return
+	 *
+	 * @param page                  分页对象
+	 * @param reportTaskListPageDTO 报告任务列表页面 DTO
+	 * @return {@link R}
 	 */
 	@ApiOperation(value = "分页查询", notes = "分页查询")
 	@GetMapping("/getTaskListPage" )
-	public R getTaskListPage(Page page, WmReport wmReport, Integer isApprovalPage, String taskTypeId, String taskNumber) {
-		WmReport wmReport1=wmReportService.getById(wmReport.getId());
+	public R getTaskListPage(Page page, @Validated ReportTaskListPageDTO reportTaskListPageDTO) {
+		WmReport wmReport1=wmReportService.getById(reportTaskListPageDTO.getId());
 		if(null==wmReport1){
 			return R.failed("未查询到报告信息");
 		}
-		return wmReportService.getTaskListPage(page,wmReport1, isApprovalPage, taskTypeId, taskNumber);
+
+		reportTaskListPageDTO.setWmReport(wmReport1);
+
+		return wmReportService.getTaskListPage(page, reportTaskListPageDTO);
 	}
 
 	/**

+ 51 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/dto/ReportTaskListPageDTO.java

@@ -0,0 +1,51 @@
+package com.qunzhixinxi.hnqz.admin.entity.dto;
+
+import com.qunzhixinxi.hnqz.admin.entity.WmReport;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * 结算报告审批-查看的请求参数
+ */
+@Data
+public class ReportTaskListPageDTO implements Serializable {
+    private static final long serialVersionUID = 6529491449451060362L;
+
+    /**
+     * 报告id
+     */
+    @NotNull(message = "报告id必填")
+    private Integer id;
+
+    /**
+     * 报告对象
+     */
+    private WmReport wmReport;
+
+    /**
+     * 1审批,0查看
+     */
+    private Integer isApprovalPage;
+
+    /**
+     * 报告审核状态: 0-未审核,1-通过,2-不通过
+     */
+    private String approvalOpinion;
+
+    /**
+     * 任务状态
+     */
+    private String taskStatus;
+
+    /**
+     * 任务类型 ID
+     */
+    private String taskTypeId;
+
+    /**
+     * 任务编号
+     */
+    private String taskNumber;
+}

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

@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qunzhixinxi.hnqz.admin.entity.WmReport;
+import com.qunzhixinxi.hnqz.admin.entity.dto.ReportTaskListPageDTO;
 import com.qunzhixinxi.hnqz.admin.entity.vo.WmTaskVO;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 
@@ -73,7 +74,14 @@ public interface WmReportService extends IService<WmReport> {
 	 */
 	R<?> approvalReportByTaskType(List<String> taskIds, String approvalOpinion, String approvalInfo);
 
-	R getTaskListPage(Page page, WmReport wmReport, Integer isApprovalPage, String taskTypeId, String taskNumber);
+	/**
+	 * 报告管理--查看
+	 *
+	 * @param page                  页
+	 * @param reportTaskListPageDTO 报告任务列表DTO
+	 * @return {@link R}
+	 */
+	R getTaskListPage(Page page, ReportTaskListPageDTO reportTaskListPageDTO);
 
 	/**
 	 * 根据积分包id查询待审核任务详情列表

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

@@ -51,6 +51,7 @@ import com.qunzhixinxi.hnqz.admin.entity.WmUserSignDetail;
 import com.qunzhixinxi.hnqz.admin.entity.WmWkAlbum;
 import com.qunzhixinxi.hnqz.admin.entity.WmWkArticle;
 import com.qunzhixinxi.hnqz.admin.entity.WmWkArticleShare;
+import com.qunzhixinxi.hnqz.admin.entity.dto.ReportTaskListPageDTO;
 import com.qunzhixinxi.hnqz.admin.entity.dto.WmDeptTaskTypeConfigJsonDTO;
 import com.qunzhixinxi.hnqz.admin.entity.vo.WmTaskVO;
 import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
@@ -956,17 +957,21 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 	}
 
 	/**
-     * 报告管理--查看
-     *
-     * @param page
-     * @param wmReport
-     * @param isApprovalPage 1审批,0查看
-     * @param taskTypeId 任务类型id
-     * @param taskNumber 任务编号
-     * @return
-     */
+	 * 报告管理--查看
+	 *
+	 * @param page                  页
+	 * @param reportTaskListPageDTO 报告任务列表DTO
+	 * @return {@link R}
+	 */
 	@Override
-	public R getTaskListPage(Page page, WmReport wmReport, Integer isApprovalPage, String taskTypeId, String taskNumber) {
+	public R getTaskListPage(Page page, ReportTaskListPageDTO reportTaskListPageDTO) {
+		Integer isApprovalPage = reportTaskListPageDTO.getIsApprovalPage();
+		String approvalOpinion = reportTaskListPageDTO.getApprovalOpinion();
+		String taskStatus = reportTaskListPageDTO.getTaskStatus();
+		String taskNumber = reportTaskListPageDTO.getTaskNumber();
+		String taskTypeId = reportTaskListPageDTO.getTaskTypeId();
+		WmReport wmReport = reportTaskListPageDTO.getWmReport();
+
 		Page pages=null;
 		WmScorePackage scorePackage=wmScorePackageService.getById(wmReport.getScoreId());
 		LambdaQueryWrapper<WmTask> lambdaQueryWrapper= Wrappers.<WmTask>query().lambda();
@@ -982,13 +987,38 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 			} else if ("2".equals(scorePackage.getTypeid())) {//二级代理商类型
 				lambdaQueryWrapper.and(wrapper -> wrapper.isNull(WmTask::getReportOneApprovalOpinion));
 			}
+		} else {
+			// 查看页面, 审核状态筛选条件
+			if (StrUtil.equals("0", approvalOpinion)) {
+				// 未审核的条件
+				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));
+				}
+			} else if (StrUtil.equalsAny(approvalOpinion, "1", "2")) {
+				// 审核通过/不通过的条件
+				if ("0".equals(scorePackage.getTypeid())) {//药企
+					lambdaQueryWrapper.eq(WmTask::getReportDrugApprovalOpinion, approvalOpinion);
+				} else if ("1".equals(scorePackage.getTypeid())) {//一级代理商类型
+					lambdaQueryWrapper.eq(WmTask::getReportDrugApprovalOpinion, approvalOpinion);
+				} else if ("2".equals(scorePackage.getTypeid())) {//二级代理商类型
+					lambdaQueryWrapper.eq(WmTask::getReportOneApprovalOpinion, approvalOpinion);
+				}
+			}
 		}
+
 		if (StrUtil.isNotBlank(taskNumber)) {
 			lambdaQueryWrapper.like(WmTask::getTaskNumber, taskNumber);
 		}
 		if (StrUtil.isNotBlank(taskTypeId)) {
 			lambdaQueryWrapper.eq(WmTask::getTaskTypeId, taskTypeId);
 		}
+		if (StrUtil.isNotBlank(taskStatus)) {
+			lambdaQueryWrapper.eq(WmTask::getTaskStatus, taskStatus);
+		}
 		pages=wmTaskService.page(page, lambdaQueryWrapper);
 //		if("0".equals(scorePackage.getTypeid())){//药企
 //			wmTask.setReportDrugId(wmReport.getId());