Browse Source

feat: 历史报告

shc 3 years ago
parent
commit
5e261afd40

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

@@ -79,6 +79,7 @@ public interface CacheConstants {
 	 */
 	String EXPORT_ZB_REPORT_CACHE = "export:zb_report:%s";
 	String EXPORT_NBA_REPORT_CACHE = "export:nba_report:%s";
+	String EXPORT_NBA_HISTORY_REPORT_CACHE = "export:nba_history_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,5 +16,6 @@ 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_NBA_HISTORY_QUEUE = "direct_mode_report_export_nba_history_queue";
 	String DIRECT_MODE_REPORT_EXPORT_NB_QUEUE = "direct_mode_report_export_nb_queue";
 }

+ 60 - 24
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ReportExportController.java

@@ -456,6 +456,45 @@ public class ReportExportController {
 	}
 
 
+	// /**
+	//  * 历史数据导出报告
+	//  * @param wmScorePackage
+	//  * @return
+	//  * @throws IOException
+	//  */
+	// @GetMapping("/exportNbaHistory")
+	// public R exportNbaHistory(WmScorePackage wmScorePackage) throws IOException {
+	// 	wmScorePackage=wmScorePackageService.getById(wmScorePackage.getId());
+	// 	if(wmScorePackage==null){
+	// 		return R.failed("未查询到积分包信息");
+	// 	}
+	// 	LambdaQueryWrapper<WmTask> queryWrapper=new LambdaQueryWrapper();
+	// 	queryWrapper.eq(WmTask::getScorePackageDrugId, wmScorePackage.getId());
+	// 	queryWrapper.eq(WmTask::getTaskStatus,"3");
+	// 	queryWrapper.eq(WmTask::getDelFlag,"0");
+	// 	queryWrapper.eq(WmTask::getEnableFlag,"0");
+	// 	queryWrapper.eq(WmTask::getRealFlag,"0");
+	// 	List<WmTask> taskList=wmTaskService.list(queryWrapper);
+	// 	//List<WmTask> taskList = wmTaskMapper.selectListByWmTask(wmScorePackage);
+	// 	//更新任务表审批意见
+	// 	WmTask wmTask=new WmTask();
+	// 	wmTask.setDelFlag("0");
+	// 	wmTask.setEnableFlag("0");
+	//
+	// 	if(null==taskList||taskList.size()<=0){
+	// 		return R.failed("未查询到该报告关联的审批通过的任务");
+	// 	}
+	// 	String ids = taskList.stream().map(WmTask::getId).collect(Collectors.joining("," ));
+	// 	wmTask.setScorePackageId(wmScorePackage.getId());
+	// 	//wmTask.setId(ids);
+	// 	wmTask.setId("(select id from wm_task where del_flag=0 and real_flag=0 and enable_flag=0 and task_status=3  and score_package_drug_id="+wmScorePackage.getId()+")");
+	//
+	// 	return reportExportService.exportNba(wmTask,wmScorePackage);//报告汇总
+	//
+	//
+	// }
+
+
 	/**
 	 * 历史数据导出报告
 	 * @param wmScorePackage
@@ -464,33 +503,30 @@ public class ReportExportController {
 	 */
 	@GetMapping("/exportNbaHistory")
 	public R exportNbaHistory(WmScorePackage wmScorePackage) throws IOException {
-		wmScorePackage=wmScorePackageService.getById(wmScorePackage.getId());
-		if(wmScorePackage==null){
-			return R.failed("未查询到积分包信息");
-		}
-		LambdaQueryWrapper<WmTask> queryWrapper=new LambdaQueryWrapper();
-		queryWrapper.eq(WmTask::getScorePackageDrugId, wmScorePackage.getId());
-		queryWrapper.eq(WmTask::getTaskStatus,"3");
-		queryWrapper.eq(WmTask::getDelFlag,"0");
-		queryWrapper.eq(WmTask::getEnableFlag,"0");
-		queryWrapper.eq(WmTask::getRealFlag,"0");
-		List<WmTask> taskList=wmTaskService.list(queryWrapper);
-		//List<WmTask> taskList = wmTaskMapper.selectListByWmTask(wmScorePackage);
-		//更新任务表审批意见
-		WmTask wmTask=new WmTask();
-		wmTask.setDelFlag("0");
-		wmTask.setEnableFlag("0");
-
-		if(null==taskList||taskList.size()<=0){
-			return R.failed("未查询到该报告关联的审批通过的任务");
+
+
+		String key = String.format(CacheConstants.EXPORT_NBA_HISTORY_REPORT_CACHE,wmScorePackage.getId());
+
+		String o = redisTemplate.opsForValue().get(key);
+
+		if (StringUtils.isNotEmpty(o) && WmReportOpt.WmReportOptStatus.GENERATING.name().equals(o)){
+
+			return R.failed("已有在途生成记录,能耐心等待");
+
 		}
-		String ids = taskList.stream().map(WmTask::getId).collect(Collectors.joining("," ));
-		wmTask.setScorePackageId(wmScorePackage.getId());
-		//wmTask.setId(ids);
-		wmTask.setId("(select id from wm_task where del_flag=0 and real_flag=0 and enable_flag=0 and task_status=3  and score_package_drug_id="+wmScorePackage.getId()+")");
 
-		return reportExportService.exportNba(wmTask,wmScorePackage);//报告汇总
 
+		HnqzUser user = SecurityUtils.getUser();
+		BaseMap map = new BaseMap();
+		map.put("requestBody",JSONUtil.toJsonStr(wmScorePackage));
+		map.put("username",user.getUsername());
+		map.put("deptId",user.getDeptId());
+
+		rabbitMqClient.sendMessage(MqConstants.DIRECT_MODE_REPORT_EXPORT_NBA_HISTORY_QUEUE,map);
+
+		redisTemplate.opsForValue().set(key, WmReportOpt.WmReportOptStatus.GENERATING.name());
+
+		return R.ok("开始导出,请耐心等待");
 
 	}
 

+ 4 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -323,6 +323,10 @@ public class WmScorePackageController {
 				}
 			}
 
+			// 封装报告记录
+			wmS.setReportMqName(CacheConstants.EXPORT_NBA_HISTORY_REPORT_CACHE);
+			wmScorePackageService.getReportOpt(wmS);
+
 		}
 		pageAnswer.setRecords(list);
 		return R.ok(pageAnswer);