shc 3 жил өмнө
parent
commit
66cb003e49

+ 1 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/CacheConstants.java

@@ -79,5 +79,6 @@ public interface CacheConstants {
 	 */
 	String EXPORT_ZB_REPORT_CACHE = "export:zb_report:%s";
 	String EXPORT_NBA_REPORT_CACHE = "export:nba_report:%s";
+	String EXPORT_NB_REPORT_CACHE = "export:nb_report:%s";
 
 }

+ 1 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/MqConstants.java

@@ -16,4 +16,5 @@ public interface MqConstants {
 	 */
 	String DIRECT_MODE_REPORT_EXPORT_ZB_QUEUE = "direct_mode_report_export_zb_queue";
 	String DIRECT_MODE_REPORT_EXPORT_NBA_QUEUE = "direct_mode_report_export_nba_queue";
+	String DIRECT_MODE_REPORT_EXPORT_NB_QUEUE = "direct_mode_report_export_nb_queue";
 }

+ 68 - 32
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ReportExportController.java

@@ -124,6 +124,56 @@ public class ReportExportController {
 
 
 
+	// /**
+	//  * 结算报告管理--导出汇总或详情
+	//  * @param wmReport
+	//  * @return
+	//  * @throws IOException
+	//  */
+	// @GetMapping("/exportNbReport")
+	// public R exportNbReport(WmReport wmReport ) throws IOException {
+	// 	wmReport=wmReportService.getById(wmReport.getId());
+	// 	List<WmTask> taskList=new ArrayList<>();//该报告关联的所有未提交的任务
+	// 	//更新任务表审批意见
+	// 	WmScorePackage scorePackage=wmScorePackageService.getById(wmReport.getScoreId());
+	// 	WmTask wmTask=new WmTask();
+	// 	wmTask.setDelFlag("0");
+	// 	wmTask.setEnableFlag("0");
+	// 	wmTask.setRealFlag("0");
+	//
+	// 	SysDept sysDept = sysDeptService.getById(scorePackage.getSendPackageDeptId());
+	//
+	//
+	// 	if("0".equals(scorePackage.getTypeid())){//药企
+	// 		wmTask.setReportDrugId(wmReport.getId());
+	// 		wmTask.setReportDrugApprovalOpinion(ReportEnum.APPROVAL_OPINION_YES.getType());//审核通过的状态
+	// 		taskList=wmTaskService.list(Wrappers.query(wmTask));
+	// 	}else if("1".equals(scorePackage.getTypeid())){//一级代理商类型
+	// 		wmTask.setReportOneId(wmReport.getId());
+	// 		if(sysDept.getLevel() == 2){
+	// 			wmTask.setReportDrugApprovalOpinion(ReportEnum.APPROVAL_OPINION_YES.getType());//审核通过的状态
+	// 		}else {
+	// 			wmTask.setReportOneApprovalOpinion(ReportEnum.APPROVAL_OPINION_YES.getType());//审核通过的状态
+	// 		}
+	//
+	// 		taskList=wmTaskService.list(Wrappers.query(wmTask));
+	// 	}else if("2".equals(scorePackage.getTypeid())){//二级代理商类型
+	// 		wmTask.setReportSecondId(wmReport.getId());
+	// 		wmTask.setReportSecondApprovalOpinion(ReportEnum.APPROVAL_OPINION_YES.getType());//审核通过的状态
+	// 		taskList=wmTaskService.list(Wrappers.query(wmTask));
+	// 	}
+	// 	if(null==taskList||taskList.size()<=0){
+	// 		return R.failed("未查询到该报告关联的审批通过的任务");
+	// 	}
+	// 	String ids = taskList.stream().map(WmTask::getId).collect(Collectors.joining("," ));
+	// 	wmTask.setScorePackageId(wmReport.getScoreId().toString());
+	// 	wmTask.setId(ids);
+	//
+	// 		return reportExportService.exportNb(wmTask,wmReport);//报告汇总
+	//
+	//
+	// }
+
 	/**
 	 * 结算报告管理--导出汇总或详情
 	 * @param wmReport
@@ -132,44 +182,30 @@ public class ReportExportController {
 	 */
 	@GetMapping("/exportNbReport")
 	public R exportNbReport(WmReport wmReport ) throws IOException {
-		wmReport=wmReportService.getById(wmReport.getId());
-		List<WmTask> taskList=new ArrayList<>();//该报告关联的所有未提交的任务
-		//更新任务表审批意见
-		WmScorePackage scorePackage=wmScorePackageService.getById(wmReport.getScoreId());
-		WmTask wmTask=new WmTask();
-		wmTask.setDelFlag("0");
-		wmTask.setEnableFlag("0");
-		wmTask.setRealFlag("0");
 
-		SysDept sysDept = sysDeptService.getById(scorePackage.getSendPackageDeptId());
 
+		String key = String.format(CacheConstants.EXPORT_NB_REPORT_CACHE, wmReport.getId());
 
-		if("0".equals(scorePackage.getTypeid())){//药企
-			wmTask.setReportDrugId(wmReport.getId());
-			wmTask.setReportDrugApprovalOpinion(ReportEnum.APPROVAL_OPINION_YES.getType());//审核通过的状态
-			taskList=wmTaskService.list(Wrappers.query(wmTask));
-		}else if("1".equals(scorePackage.getTypeid())){//一级代理商类型
-			wmTask.setReportOneId(wmReport.getId());
-			if(sysDept.getLevel() == 2){
-				wmTask.setReportDrugApprovalOpinion(ReportEnum.APPROVAL_OPINION_YES.getType());//审核通过的状态
-			}else {
-				wmTask.setReportOneApprovalOpinion(ReportEnum.APPROVAL_OPINION_YES.getType());//审核通过的状态
-			}
+		String o = redisTemplate.opsForValue().get(key);
+
+		if (StringUtils.isNotEmpty(o) && WmReportOpt.WmReportOptStatus.GENERATING.name().equals(o)){
+
+			return R.failed("已有在途生成记录,能耐心等待");
 
-			taskList=wmTaskService.list(Wrappers.query(wmTask));
-		}else if("2".equals(scorePackage.getTypeid())){//二级代理商类型
-			wmTask.setReportSecondId(wmReport.getId());
-			wmTask.setReportSecondApprovalOpinion(ReportEnum.APPROVAL_OPINION_YES.getType());//审核通过的状态
-			taskList=wmTaskService.list(Wrappers.query(wmTask));
-		}
-		if(null==taskList||taskList.size()<=0){
-			return R.failed("未查询到该报告关联的审批通过的任务");
 		}
-		String ids = taskList.stream().map(WmTask::getId).collect(Collectors.joining("," ));
-		wmTask.setScorePackageId(wmReport.getScoreId().toString());
-		wmTask.setId(ids);
 
-			return reportExportService.exportNb(wmTask,wmReport);//报告汇总
+
+		HnqzUser user = SecurityUtils.getUser();
+		BaseMap map = new BaseMap();
+		map.put("requestBody", JSONUtil.toJsonStr(wmReport));
+		map.put("username",user.getUsername());
+		map.put("deptId",user.getDeptId());
+
+		rabbitMqClient.sendMessage(MqConstants.DIRECT_MODE_REPORT_EXPORT_NB_QUEUE,map);
+
+		redisTemplate.opsForValue().set(key, WmReportOpt.WmReportOptStatus.GENERATING.name());
+
+		return R.ok("开始导出,请耐心等待");
 
 
 	}