Эх сурвалжийг харах

Merge branch 'feat-20230704-reportexport'

李学松 2 жил өмнө
parent
commit
c7a3419cca
14 өөрчлөгдсөн 441 нэмэгдсэн , 17 устгасан
  1. 4 0
      hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/CacheConstants.java
  2. 4 0
      hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/MqConstants.java
  3. 15 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/config/SequenceConfig.java
  4. 4 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java
  5. 189 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ExcelReportExportController.java
  6. 189 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ReportExportController.java
  7. 2 2
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmReportController.java
  8. 6 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmTask.java
  9. 1 1
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmReportService.java
  10. 13 12
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmReportServiceImpl.java
  11. 3 2
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskContentServiceImpl.java
  12. 3 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmUserSignServiceImpl.java
  13. 3 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmWkArticleShareServiceImpl.java
  14. 5 0
      hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmTaskMapper.xml

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

@@ -78,17 +78,21 @@ public interface CacheConstants {
 	 * zb报告导出缓存
 	 */
 	String EXPORT_ZB_REPORT_CACHE = "export:zb_report:%s";
+	String EXPORT_ZB_REVIEW_REPORT_CACHE = "export:zb_review_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";
+	String EXPORT_NB_REVIEW_REPORT_CACHE = "export:nb_review_report:%s";
 
 	/**
 	 * excel报告导出缓存
 	 */
 	String EXCEL_EXPORT_ZB_REPORT_CACHE = "excel_export:zb_report:%s";
+	String EXCEL_EXPORT_ZB_REVIEW_REPORT_CACHE = "excel_export:zb_review_report:%s";
 	String EXCEL_EXPORT_NBA_REPORT_CACHE = "excel_export:nba_report:%s";
 	String EXCEL_EXPORT_NBA_HISTORY_REPORT_CACHE = "excel_export:nba_history_report:%s";
 	String EXCEL_EXPORT_NB_REPORT_CACHE = "excel_export:nb_report:%s";
+	String EXCEL_EXPORT_NB_REVIEW_REPORT_CACHE = "excel_export:nb_review_report:%s";
 
 
 	Long DEF_REPORT_CREATING_TTL = 24L * 60 * 60 * 1000;

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

@@ -15,15 +15,19 @@ public interface MqConstants {
 	 * 众包队列
 	 */
 	String DIRECT_MODE_REPORT_EXPORT_ZB_QUEUE = "direct_mode_report_export_zb_queue";
+	String DIRECT_MODE_REPORT_EXPORT_ZB_REVIEW_QUEUE = "direct_mode_report_export_zb_review_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";
+	String DIRECT_MODE_REPORT_EXPORT_NB_REVIEW_QUEUE = "direct_mode_report_export_nb_review_queue";
 
 	// excel报告导出队列
 	String DIRECT_MODE_EXCEL_REPORT_EXPORT_ZB_QUEUE = "direct_mode_excel_report_export_zb_queue";
+	String DIRECT_MODE_EXCEL_REPORT_EXPORT_ZB_REVIEW_QUEUE = "direct_mode_excel_report_export_zb_review_queue";
 	String DIRECT_MODE_EXCEL_REPORT_EXPORT_NBA_QUEUE = "direct_mode_excel_report_export_nba_queue";
 	String DIRECT_MODE_EXCEL_REPORT_EXPORT_NBA_HISTORY_QUEUE = "direct_mode_excel_report_export_nba_history_queue";
 	String DIRECT_MODE_EXCEL_REPORT_EXPORT_NB_QUEUE = "direct_mode_excel_report_export_nb_queue";
+	String DIRECT_MODE_EXCEL_REPORT_EXPORT_NB_REVIEW_QUEUE = "direct_mode_excel_report_export_nb_review_queue";
 
 	/**
 	 * gig服务队列

+ 15 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/config/SequenceConfig.java

@@ -48,4 +48,19 @@ public class SequenceConfig {
 				.dataSource(dataSource).step(properties.getStep()).retryTimes(properties.getRetryTimes())
 				.tableName(properties.getTableName()).build();
 	}
+
+	/**
+	 * 任务发号器
+	 *
+	 * @param dataSource 数据源
+	 * @param properties 参数
+	 * @return 发号器
+	 */
+	@Bean(name = "taskSequence")
+	public Sequence taskSequence(DataSource dataSource, SequenceDbProperties properties) {
+		return DbSeqBuilder.create()
+				.bizName(() -> String.format("task_%s_%s", TenantContextHolder.getTenantId(), DateUtil.today()))
+				.dataSource(dataSource).step(properties.getStep()).retryTimes(properties.getRetryTimes())
+				.tableName(properties.getTableName()).build();
+	}
 }

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

@@ -120,6 +120,7 @@ import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
 import com.qunzhixinxi.hnqz.common.security.annotation.Inner;
 import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
+import com.qunzhixinxi.hnqz.common.sequence.sequence.Sequence;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -220,6 +221,7 @@ public class ApiController {
 	private final SysDeptCsmService deptCsmService;
 	private final MedicalEquipmentService medicalEquipmentService;
 	private final WmScorePackageSettleNoteMapper wmScorePackageSettleNoteMapper;
+	private final Sequence taskSequence;
 
 	@SysLog("通过任务类型获取表单配置")
 	@ApiOperation(value = "任务类型表单配置-通过任务类型获取表单配置", notes = "根据任务类型获取表单配置")
@@ -3176,6 +3178,7 @@ public class ApiController {
 
 					wmTask.setDeptId(sysU.getDeptId() + "");
 					wmTask.setSubmitStatus("0");
+					wmTask.setTaskNumber(taskSequence.nextNo());
 					boolean isSave = wmTaskService.save(wmTask);   //保存任务
 
 					//判断任务是否完成
@@ -3930,6 +3933,7 @@ public class ApiController {
 
 				wmTask.setTaskStatus(autoRejectFlag ? "4" : "2"); //任务状态
 				wmTask.setSubmitStatus(autoRejectFlag ? "1" : "0");
+				wmTask.setTaskNumber(taskSequence.nextNo());
 				boolean isSave = wmTaskService.save(wmTask);   //保存任务
 
 

+ 189 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ExcelReportExportController.java

@@ -62,6 +62,90 @@ public class ExcelReportExportController {
 	private final RedisTemplate<String,String> redisTemplate;
 	private final RabbitMqClient rabbitMqClient;
 
+	/**
+	 * 结算报告管理--导出汇总或详情
+	 * @param wmReport
+	 * @return
+	 * @throws IOException
+	 */
+	@GetMapping("/exportNbReviewReport")
+	public R exportNbReviewReport(WmReport wmReport) {
+
+
+		String key = String.format(CacheConstants.EXCEL_EXPORT_NB_REVIEW_REPORT_CACHE, wmReport.getId());
+
+		String o = redisTemplate.opsForValue().get(key);
+
+		if (StringUtils.isNotEmpty(o) && WmReportOpt.WmReportOptStatus.GENERATING.name().equals(o)){
+
+			return R.failed("已有在途生成记录,能耐心等待");
+
+		}
+
+
+		HnqzUser user = SecurityUtils.getUser();
+		BaseMap map = new BaseMap();
+		map.put("requestBody", JSONUtil.toJsonStr(wmReport));
+		map.put("username",user.getUsername());
+		map.put("deptId",user.getDeptId());
+		map.put("approvalOpinion", null);
+
+		rabbitMqClient.sendMessage(MqConstants.DIRECT_MODE_EXCEL_REPORT_EXPORT_NB_REVIEW_QUEUE,map);
+
+		redisTemplate.opsForValue().set(key, WmReportOpt.WmReportOptStatus.GENERATING.name(),
+				CacheConstants.DEF_REPORT_CREATING_TTL, TimeUnit.MILLISECONDS);
+
+		return R.ok("开始导出,请耐心等待");
+
+
+	}
+
+	/**
+	 * 结算报告管理--导出汇总或详情
+	 *
+	 * @param wmReport
+	 * @return
+	 * @throws IOException
+	 */
+	@GetMapping("/exportNbReviewReport/status")
+	public R exportNbReviewReportStatus(WmReport wmReport) {
+
+		String key = String.format(CacheConstants.EXCEL_EXPORT_NB_REVIEW_REPORT_CACHE, wmReport.getId());
+
+		String o = redisTemplate.opsForValue().get(key);
+		WmReportOpt opt = new WmReportOpt();
+
+		if (StringUtils.isNotEmpty(o)) {
+			// 生成中的
+			if ("GENERATING".equals(o)) {
+				opt.setStatus(WmReportOpt.WmReportOptStatus.GENERATING);
+			}
+			// 生成失败的
+			else if (o.startsWith("ERROR")) {
+				opt.setStatus(WmReportOpt.WmReportOptStatus.ERROR);
+				opt.setErrorMsg(o.split(StrUtil.UNDERLINE)[1]);
+			}
+			// 生成失败的2
+			else if (!o.startsWith("http")) {
+				opt.setStatus(WmReportOpt.WmReportOptStatus.ERROR);
+				opt.setErrorMsg(o);
+			}
+			// 成功的
+			else {
+				Long expire = redisTemplate.opsForValue().getOperations().getExpire(key, TimeUnit.SECONDS);
+				opt.setStatus(WmReportOpt.WmReportOptStatus.GENERATED);
+				opt.setTtl(LocalDateTime.now().plusSeconds(expire));
+				opt.setLatestUrl(o);
+			}
+
+		} else {
+			opt.setStatus(WmReportOpt.WmReportOptStatus.NOT_GENERATE);
+		}
+
+		return R.ok(opt);
+
+	}
+
 	/**
 	 * 结算报告管理--导出汇总或详情
 	 * @param wmReport
@@ -99,6 +183,111 @@ public class ExcelReportExportController {
 
 	}
 
+	/**
+	 * 个人报告导出状态
+	 *
+	 * @param wmTask
+	 * @return
+	 * @throws IOException
+	 */
+	@GetMapping("/exportZbReviewReport/status")
+	public R exportZbReviewReportStatus(WmTask wmTask) {
+
+		String scorePackageDrugId = wmTask.getScorePackageDrugId();
+
+		// 判断是否是合并导出
+		if (scorePackageDrugId.contains(StrUtil.COMMA)) {
+			String[] idArr = scorePackageDrugId.split(StrUtil.COMMA);
+			scorePackageDrugId = Arrays.stream(idArr).sorted().collect(Collectors.joining(StrUtil.COMMA));
+			wmTask.setScorePackageDrugId(scorePackageDrugId);
+
+		}
+
+		String key = String.format(CacheConstants.EXCEL_EXPORT_ZB_REVIEW_REPORT_CACHE, wmTask.getScorePackageDrugId());
+
+		String o = redisTemplate.opsForValue().get(key);
+		WmReportOpt opt = new WmReportOpt();
+
+		if (StringUtils.isNotEmpty(o)) {
+			// 生成中的
+			if ("GENERATING".equals(o)) {
+				opt.setStatus(WmReportOpt.WmReportOptStatus.GENERATING);
+			}
+			// 生成失败的
+			else if (o.startsWith("ERROR")) {
+				opt.setStatus(WmReportOpt.WmReportOptStatus.ERROR);
+				opt.setErrorMsg(o.split(StrUtil.UNDERLINE)[1]);
+			}
+			// 生成失败的2
+			else if (!o.startsWith("http")) {
+				opt.setStatus(WmReportOpt.WmReportOptStatus.ERROR);
+				opt.setErrorMsg(o);
+			}
+			// 成功的
+			else {
+				Long expire = redisTemplate.opsForValue().getOperations().getExpire(key, TimeUnit.SECONDS);
+				opt.setStatus(WmReportOpt.WmReportOptStatus.GENERATED);
+				opt.setTtl(LocalDateTime.now().plusSeconds(expire));
+				opt.setLatestUrl(o);
+			}
+
+		} else {
+			opt.setStatus(WmReportOpt.WmReportOptStatus.NOT_GENERATE);
+		}
+
+		return R.ok(opt);
+
+	}
+
+	/**
+	 * 个人报告导出--导出汇总或详情  汇总和详情合为一个模版(只导出待审核的任务)
+	 * @param wmTask
+	 * @return
+	 * @throws IOException
+	 */
+	@GetMapping("/exportZbReviewReport")
+	public R<?> exportZbReviewReport(WmTask wmTask) {
+
+		String scorePackageDrugId = wmTask.getScorePackageDrugId();
+
+		// 判断是否是合并导出
+		if (scorePackageDrugId.contains(StrUtil.COMMA)){
+			String[] idArr = scorePackageDrugId.split(StrUtil.COMMA);
+			scorePackageDrugId = Arrays.stream(idArr).sorted().collect(Collectors.joining(StrUtil.COMMA));
+			wmTask.setScorePackageDrugId(scorePackageDrugId);
+
+		}
+
+		String key = String.format(CacheConstants.EXCEL_EXPORT_ZB_REVIEW_REPORT_CACHE, wmTask.getScorePackageDrugId());
+
+		String o = redisTemplate.opsForValue().get(key);
+
+		if (StringUtils.isNotEmpty(o) && WmReportOpt.WmReportOptStatus.GENERATING.name().equals(o)){
+
+			return R.failed("已有在途生成记录,能耐心等待");
+
+		}
+
+
+		HnqzUser user = SecurityUtils.getUser();
+		BaseMap map = new BaseMap();
+		map.put("requestBody", JSONUtil.toJsonStr(wmTask));
+		map.put("username",user.getUsername());
+		map.put("deptId",user.getDeptId());
+		map.put("taskStatus", "2");
+
+//		SysDept dept = sysDeptService.getById(user.getDeptId());
+//		map.put("isGuangshengtang", "913500007297027606".equals(dept.getTaxCode()));
+
+		rabbitMqClient.sendMessage(MqConstants.DIRECT_MODE_EXCEL_REPORT_EXPORT_ZB_REVIEW_QUEUE, map);
+
+		redisTemplate.opsForValue().set(key, WmReportOpt.WmReportOptStatus.GENERATING.name(),
+				CacheConstants.DEF_REPORT_CREATING_TTL, TimeUnit.MILLISECONDS);
+
+		return R.ok("开始导出,请耐心等待");
+
+	}
+
 	/**
 	 * 个人报告导出状态
 	 *

+ 189 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ReportExportController.java

@@ -178,6 +178,90 @@ public class ReportExportController {
 	//
 	// }
 
+	/**
+	 * 结算报告管理--导出汇总或详情
+	 * @param wmReport
+	 * @return
+	 * @throws IOException
+	 */
+	@GetMapping("/exportNbReviewReport")
+	public R exportNbReviewReport(WmReport wmReport) {
+
+
+		String key = String.format(CacheConstants.EXPORT_NB_REVIEW_REPORT_CACHE, wmReport.getId());
+
+		String o = redisTemplate.opsForValue().get(key);
+
+		if (StringUtils.isNotEmpty(o) && WmReportOpt.WmReportOptStatus.GENERATING.name().equals(o)){
+
+			return R.failed("已有在途生成记录,能耐心等待");
+
+		}
+
+
+		HnqzUser user = SecurityUtils.getUser();
+		BaseMap map = new BaseMap();
+		map.put("requestBody", JSONUtil.toJsonStr(wmReport));
+		map.put("username",user.getUsername());
+		map.put("deptId",user.getDeptId());
+		map.put("approvalOpinion", null);
+
+		rabbitMqClient.sendMessage(MqConstants.DIRECT_MODE_REPORT_EXPORT_NB_REVIEW_QUEUE,map);
+
+		redisTemplate.opsForValue().set(key, WmReportOpt.WmReportOptStatus.GENERATING.name(),
+				CacheConstants.DEF_REPORT_CREATING_TTL, TimeUnit.MILLISECONDS);
+
+		return R.ok("开始导出,请耐心等待");
+
+
+	}
+
+	/**
+	 * 结算报告管理--导出汇总或详情
+	 *
+	 * @param wmReport
+	 * @return
+	 * @throws IOException
+	 */
+	@GetMapping("/exportNbReviewReport/status")
+	public R exportNbReviewReportStatus(WmReport wmReport) {
+
+		String key = String.format(CacheConstants.EXPORT_NB_REVIEW_REPORT_CACHE, wmReport.getId());
+
+		String o = redisTemplate.opsForValue().get(key);
+		WmReportOpt opt = new WmReportOpt();
+
+		if (StringUtils.isNotEmpty(o)) {
+			// 生成中的
+			if ("GENERATING".equals(o)) {
+				opt.setStatus(WmReportOpt.WmReportOptStatus.GENERATING);
+			}
+			// 生成失败的
+			else if (o.startsWith("ERROR")) {
+				opt.setStatus(WmReportOpt.WmReportOptStatus.ERROR);
+				opt.setErrorMsg(o.split(StrUtil.UNDERLINE)[1]);
+			}
+			// 生成失败的2
+			else if (!o.startsWith("http")) {
+				opt.setStatus(WmReportOpt.WmReportOptStatus.ERROR);
+				opt.setErrorMsg(o);
+			}
+			// 成功的
+			else {
+				Long expire = redisTemplate.opsForValue().getOperations().getExpire(key, TimeUnit.SECONDS);
+				opt.setStatus(WmReportOpt.WmReportOptStatus.GENERATED);
+				opt.setTtl(LocalDateTime.now().plusSeconds(expire));
+				opt.setLatestUrl(o);
+			}
+
+		} else {
+			opt.setStatus(WmReportOpt.WmReportOptStatus.NOT_GENERATE);
+		}
+
+		return R.ok(opt);
+
+	}
+
 	/**
 	 * 结算报告管理--导出汇总或详情
 	 * @param wmReport
@@ -304,6 +388,111 @@ public class ReportExportController {
 
 	}
 
+	/**
+	 * 个人报告导出状态
+	 *
+	 * @param wmTask
+	 * @return
+	 * @throws IOException
+	 */
+	@GetMapping("/exportZbReviewReport/status")
+	public R exportZbReviewReportStatus(WmTask wmTask) {
+
+		String scorePackageDrugId = wmTask.getScorePackageDrugId();
+
+		// 判断是否是合并导出
+		if (scorePackageDrugId.contains(StrUtil.COMMA)) {
+			String[] idArr = scorePackageDrugId.split(StrUtil.COMMA);
+			scorePackageDrugId = Arrays.stream(idArr).sorted().collect(Collectors.joining(StrUtil.COMMA));
+			wmTask.setScorePackageDrugId(scorePackageDrugId);
+
+		}
+
+		String key = String.format(CacheConstants.EXPORT_ZB_REVIEW_REPORT_CACHE, wmTask.getScorePackageDrugId());
+
+		String o = redisTemplate.opsForValue().get(key);
+		WmReportOpt opt = new WmReportOpt();
+
+		if (StringUtils.isNotEmpty(o)) {
+			// 生成中的
+			if ("GENERATING".equals(o)) {
+				opt.setStatus(WmReportOpt.WmReportOptStatus.GENERATING);
+			}
+			// 生成失败的
+			else if (o.startsWith("ERROR")) {
+				opt.setStatus(WmReportOpt.WmReportOptStatus.ERROR);
+				opt.setErrorMsg(o.split(StrUtil.UNDERLINE)[1]);
+			}
+			// 生成失败的2
+			else if (!o.startsWith("http")) {
+				opt.setStatus(WmReportOpt.WmReportOptStatus.ERROR);
+				opt.setErrorMsg(o);
+			}
+			// 成功的
+			else {
+				Long expire = redisTemplate.opsForValue().getOperations().getExpire(key, TimeUnit.SECONDS);
+				opt.setStatus(WmReportOpt.WmReportOptStatus.GENERATED);
+				opt.setTtl(LocalDateTime.now().plusSeconds(expire));
+				opt.setLatestUrl(o);
+			}
+
+		} else {
+			opt.setStatus(WmReportOpt.WmReportOptStatus.NOT_GENERATE);
+		}
+
+		return R.ok(opt);
+
+	}
+
+	/**
+	 * 个人报告导出--导出汇总或详情  汇总和详情合为一个模版(只导出待审核的任务)
+	 * @param wmTask
+	 * @return
+	 * @throws IOException
+	 */
+	@GetMapping("/exportZbReviewReport")
+	public R<?> exportZbReviewReport(WmTask wmTask) {
+
+		String scorePackageDrugId = wmTask.getScorePackageDrugId();
+
+		// 判断是否是合并导出
+		if (scorePackageDrugId.contains(StrUtil.COMMA)){
+			String[] idArr = scorePackageDrugId.split(StrUtil.COMMA);
+			scorePackageDrugId = Arrays.stream(idArr).sorted().collect(Collectors.joining(StrUtil.COMMA));
+			wmTask.setScorePackageDrugId(scorePackageDrugId);
+
+		}
+
+		String key = String.format(CacheConstants.EXPORT_ZB_REVIEW_REPORT_CACHE, wmTask.getScorePackageDrugId());
+
+		String o = redisTemplate.opsForValue().get(key);
+
+		if (StringUtils.isNotEmpty(o) && WmReportOpt.WmReportOptStatus.GENERATING.name().equals(o)){
+
+			return R.failed("已有在途生成记录,能耐心等待");
+
+		}
+
+
+		HnqzUser user = SecurityUtils.getUser();
+		BaseMap map = new BaseMap();
+		map.put("requestBody", JSONUtil.toJsonStr(wmTask));
+		map.put("username",user.getUsername());
+		map.put("deptId",user.getDeptId());
+		map.put("taskStatus", "2");
+
+		SysDept dept = sysDeptService.getById(user.getDeptId());
+		map.put("isGuangshengtang", "913500007297027606".equals(dept.getTaxCode()));
+
+		rabbitMqClient.sendMessage(MqConstants.DIRECT_MODE_REPORT_EXPORT_ZB_REVIEW_QUEUE, map);
+
+		redisTemplate.opsForValue().set(key, WmReportOpt.WmReportOptStatus.GENERATING.name(),
+				CacheConstants.DEF_REPORT_CREATING_TTL, TimeUnit.MILLISECONDS);
+
+		return R.ok("开始导出,请耐心等待");
+
+	}
+
 	/**
 	 * 个人报告导出--导出汇总或详情  汇总和详情合为一个模版
 	 * @param wmTask

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

@@ -396,12 +396,12 @@ public class WmReportController {
 	 */
 	@ApiOperation(value = "分页查询", notes = "分页查询")
 	@GetMapping("/getTaskListPage" )
-	public R getTaskListPage(Page page, WmReport wmReport, Integer isApprovalPage, String taskTypeId) {
+	public R getTaskListPage(Page page, WmReport wmReport, Integer isApprovalPage, String taskTypeId, String taskNumber) {
 		WmReport wmReport1=wmReportService.getById(wmReport.getId());
 		if(null==wmReport1){
 			return R.failed("未查询到报告信息");
 		}
-		return wmReportService.getTaskListPage(page,wmReport1, isApprovalPage, taskTypeId);
+		return wmReportService.getTaskListPage(page,wmReport1, isApprovalPage, taskTypeId, taskNumber);
 	}
 
 	/**

+ 6 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmTask.java

@@ -49,6 +49,12 @@ public class WmTask extends Model<WmTask> {
 	@TableId
 	@ApiModelProperty(value="")
 	private String id;
+
+	/**
+	 * 任务编号
+	 */
+	private String taskNumber;
+
 	/**
 	 * 任务类型ID
 	 */

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

@@ -73,7 +73,7 @@ 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);
+	R getTaskListPage(Page page, WmReport wmReport, Integer isApprovalPage, String taskTypeId, String taskNumber);
 
 	/**
 	 * 根据积分包id查询待审核任务详情列表

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

@@ -26,7 +26,6 @@ import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -56,7 +55,6 @@ import com.qunzhixinxi.hnqz.admin.entity.dto.WmDeptTaskTypeConfigJsonDTO;
 import com.qunzhixinxi.hnqz.admin.entity.vo.WmTaskVO;
 import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
 import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
-import com.qunzhixinxi.hnqz.admin.enums.PackageFinishStatusEnum;
 import com.qunzhixinxi.hnqz.admin.enums.PackageStatusEnum;
 import com.qunzhixinxi.hnqz.admin.enums.ReportEnum;
 import com.qunzhixinxi.hnqz.admin.enums.ScorePackageStatusEnum;
@@ -959,19 +957,19 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 	}
 
 	/**
-	 * 报告管理--查看
-	 *
-	 * @param page
-	 * @param wmReport
-	 * @param isApprovalPage 1审批,0查看
-	 * @param taskTypeId
-	 * @return
-	 */
+     * 报告管理--查看
+     *
+     * @param page
+     * @param wmReport
+     * @param isApprovalPage 1审批,0查看
+     * @param taskTypeId 任务类型id
+     * @param taskNumber 任务编号
+     * @return
+     */
 	@Override
-	public R getTaskListPage(Page page, WmReport wmReport, Integer isApprovalPage, String taskTypeId) {
+	public R getTaskListPage(Page page, WmReport wmReport, Integer isApprovalPage, String taskTypeId, String taskNumber) {
 		Page pages=null;
 		WmScorePackage scorePackage=wmScorePackageService.getById(wmReport.getScoreId());
-		WmTask wmTask=new WmTask();
 		LambdaQueryWrapper<WmTask> lambdaQueryWrapper= Wrappers.<WmTask>query().lambda();
 		lambdaQueryWrapper.and(wrapper -> wrapper.eq(WmTask::getReportDrugId, wmReport.getId())
 				.or().eq(WmTask::getReportOneId, wmReport.getId())
@@ -986,6 +984,9 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 				lambdaQueryWrapper.and(wrapper -> wrapper.isNull(WmTask::getReportOneApprovalOpinion));
 			}
 		}
+		if (StrUtil.isNotBlank(taskNumber)) {
+			lambdaQueryWrapper.like(WmTask::getTaskNumber, taskNumber);
+		}
 		if (StrUtil.isNotBlank(taskTypeId)) {
 			lambdaQueryWrapper.eq(WmTask::getTaskTypeId, taskTypeId);
 		}

+ 3 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskContentServiceImpl.java

@@ -51,13 +51,13 @@ import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskSubmissionPercentRuleService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskSubmissionRuleService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeService;
-import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeSubCate2Service;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeSubCategoryService;
 import com.qunzhixinxi.hnqz.admin.util.HnqzUtils;
 import com.qunzhixinxi.hnqz.common.core.constant.enums.CommonFlag;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
+import com.qunzhixinxi.hnqz.common.sequence.sequence.Sequence;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
@@ -100,7 +100,7 @@ public class WmTaskContentServiceImpl extends ServiceImpl<WmTaskContentMapper, W
 	private final WmTaskTypeSubCategoryService taskTypeSubCategoryService;
 	private final WmTaskSubmissionRuleService taskSubmissionRuleService;
 	private final WmTaskSubmissionPercentRuleService wmTaskSubmissionPercentRuleService;
-	private final WmTaskTypeSubCate2Service wmTaskTypeSubCate2Service;
+	private final Sequence taskSequence;
 
 
 	private static final DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
@@ -716,6 +716,7 @@ public class WmTaskContentServiceImpl extends ServiceImpl<WmTaskContentMapper, W
 				wmTask.setRealFlag("0");
 				wmTask.setTaskStatus("2");
 
+				wmTask.setTaskNumber(taskSequence.nextNo());
 				//保存任务
 				boolean isSave = wmTaskService.save(wmTask);
 

+ 3 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmUserSignServiceImpl.java

@@ -19,6 +19,7 @@ import com.qunzhixinxi.hnqz.admin.service.*;
 import com.qunzhixinxi.hnqz.common.core.constant.enums.CommonFlag;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
+import com.qunzhixinxi.hnqz.common.sequence.sequence.Sequence;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
@@ -60,6 +61,7 @@ public class WmUserSignServiceImpl extends ServiceImpl<WmUserSignMapper, WmUserS
 	private final WmTaskSubmissionPercentRuleService wmTaskSubmissionPercentRuleService;
 	private final WmTaskSubmissionRuleService wmTaskSubmissionRuleService;
 	private final UpmsConfig upmsConfig;
+	private final Sequence taskSequence;
 
 	@Override
 	public R saveWmUserSign(WmUserSign wmUserSign) {
@@ -367,6 +369,7 @@ public class WmUserSignServiceImpl extends ServiceImpl<WmUserSignMapper, WmUserS
 			wmTaskContentService.save(wmTaskContent);
 
 			wmTask.setTaskContentId(wmTaskContent.getId() + "");
+			wmTask.setTaskNumber(taskSequence.nextNo());
 			//保存任务
 			wmTaskService.save(wmTask);
 

+ 3 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmWkArticleShareServiceImpl.java

@@ -25,6 +25,7 @@ import com.qunzhixinxi.hnqz.admin.mapper.WmWkArticleShareMapper;
 import com.qunzhixinxi.hnqz.admin.service.*;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
+import com.qunzhixinxi.hnqz.common.sequence.sequence.Sequence;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
@@ -48,6 +49,7 @@ public class WmWkArticleShareServiceImpl extends ServiceImpl<WmWkArticleShareMap
 	private final WmTaskTypeService wmTaskTypeService;
 	private final WmScorePackageService wmScorePackageService;
 	private final WmTaskService wmTaskService;
+	private final Sequence taskSequence;
 
 	@Override
 	public R saveWmWkArticleShare(String artileId, String shareUserId, String openUserId,int type) {
@@ -131,6 +133,7 @@ public class WmWkArticleShareServiceImpl extends ServiceImpl<WmWkArticleShareMap
 
 					wmTask.setDeptId(sysU.getDeptId()+"");
 					wmTask.setSubmitStatus("0");
+					wmTask.setTaskNumber(taskSequence.nextNo());
 					boolean isSave=wmTaskService.save(wmTask);   //保存任务
 
 					//判断任务是否完成

+ 5 - 0
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmTaskMapper.xml

@@ -25,6 +25,7 @@
 
 	<resultMap id="wmTaskMap" type="com.qunzhixinxi.hnqz.admin.entity.WmTask">
 		<id property="id" column="id"/>
+		<result property="taskNumber" column="task_number"/>
 		<result property="taskTypeId" column="task_type_id"/>
 		<result property="taskRuleId" column="task_rule_id"/>
 		<result property="score" column="score"/>
@@ -944,6 +945,7 @@
 	<select id="getWmTaskList" resultMap="wmTaskMap">
 		SELECT
 		t.id AS id,
+		t.task_number,
 		t.task_rule_id AS task_rule_id,
 		t.score AS score,
 		p2.id AS score_package_drug_id,
@@ -1004,6 +1006,9 @@
 		<if test="query.taskUserId!=null and query.taskUserId!=''">
 			and  t.task_user_id = #{query.taskUserId}
 		</if>
+		<if test="query.taskNumber != null and query.taskNumber != ''">
+			and t.task_number like concat('%', #{query.taskNumber}, '%')
+		</if>
 		<if test="query.taskTypeId != null and query.taskTypeId != ''">
 			and  t.task_type_id = #{query.taskTypeId}
 		</if>