|
@@ -19,11 +19,15 @@
|
|
|
|
|
|
package com.qunzhixinxi.hnqz.admin.controller;
|
|
|
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
|
import com.alibaba.csp.sentinel.util.StringUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.constant.CacheConstants;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.constant.MqConstants;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.entity.WmReportOpt;
|
|
|
import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmReport;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
|
|
@@ -31,11 +35,17 @@ import com.qunzhixinxi.hnqz.admin.entity.WmTask;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.input.WmPackageExportApiInput;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.ReportEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.*;
|
|
|
+import com.qunzhixinxi.hnqz.common.core.entity.BaseMap;
|
|
|
import com.qunzhixinxi.hnqz.common.core.util.R;
|
|
|
+import com.qunzhixinxi.hnqz.common.rabbitmq.client.RabbitMqClient;
|
|
|
+import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
|
|
|
+import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.data.redis.core.RedisTemplate;
|
|
|
import org.springframework.mail.javamail.JavaMailSender;
|
|
|
import org.springframework.mail.javamail.MimeMessageHelper;
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
@@ -77,6 +87,8 @@ public class ReportExportController {
|
|
|
private final JavaMailSender sender;
|
|
|
|
|
|
private final UpmsConfig upmsConfig;
|
|
|
+ private final RedisTemplate<String,String> redisTemplate;
|
|
|
+ private final RabbitMqClient rabbitMqClient;
|
|
|
|
|
|
|
|
|
|
|
@@ -164,6 +176,39 @@ public class ReportExportController {
|
|
|
|
|
|
|
|
|
|
|
|
+ // /**
|
|
|
+ // * 个人报告导出--导出汇总或详情 汇总和详情合为一个模版
|
|
|
+ // * @param wmTask
|
|
|
+ // * @return
|
|
|
+ // * @throws IOException
|
|
|
+ // */
|
|
|
+ // @GetMapping("/exportZbReport")
|
|
|
+ // public R exportZbReport(WmTask wmTask) throws IOException {
|
|
|
+ // String packageId=wmTask.getScorePackageDrugId();
|
|
|
+ // if (null == packageId) {
|
|
|
+ // return R.failed("积分包ID不能为空");
|
|
|
+ // }
|
|
|
+ // LambdaQueryWrapper<WmTask> queryWrapper=new LambdaQueryWrapper();
|
|
|
+ // queryWrapper.in(WmTask::getScorePackageId, Arrays.asList(packageId.split(",")));
|
|
|
+ // 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);
|
|
|
+ // if(taskList.isEmpty()){
|
|
|
+ // return R.failed("未查询到审核通过的任务");
|
|
|
+ // }
|
|
|
+ // String ids = taskList.stream().map(WmTask::getId).collect(Collectors.joining("," ));
|
|
|
+ // wmTask.setScorePackageId(packageId);
|
|
|
+ // wmTask.setId(ids);
|
|
|
+ //
|
|
|
+ // return reportExportService.exportZb(wmTask);//报告汇总
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 个人报告导出--导出汇总或详情 汇总和详情合为一个模版
|
|
|
* @param wmTask
|
|
@@ -172,26 +217,29 @@ public class ReportExportController {
|
|
|
*/
|
|
|
@GetMapping("/exportZbReport")
|
|
|
public R exportZbReport(WmTask wmTask) throws IOException {
|
|
|
- String packageId=wmTask.getScorePackageDrugId();
|
|
|
- if (null == packageId) {
|
|
|
- return R.failed("积分包ID不能为空");
|
|
|
- }
|
|
|
- LambdaQueryWrapper<WmTask> queryWrapper=new LambdaQueryWrapper();
|
|
|
- queryWrapper.in(WmTask::getScorePackageId, Arrays.asList(packageId.split(",")));
|
|
|
- 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);
|
|
|
- if(taskList.isEmpty()){
|
|
|
- return R.failed("未查询到审核通过的任务");
|
|
|
+
|
|
|
+ String key = String.format(CacheConstants.EXPORT_ZB_REPORT_CACHE, wmTask.getScorePackageDrugId());
|
|
|
+
|
|
|
+ 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(packageId);
|
|
|
- wmTask.setId(ids);
|
|
|
|
|
|
- return reportExportService.exportZb(wmTask);//报告汇总
|
|
|
|
|
|
+ HnqzUser user = SecurityUtils.getUser();
|
|
|
+ BaseMap map = new BaseMap();
|
|
|
+ map.put("requestBody", JSONUtil.toJsonStr(wmTask));
|
|
|
+ map.put("username",user.getUsername());
|
|
|
+ map.put("deptId",user.getDeptId());
|
|
|
+
|
|
|
+ rabbitMqClient.sendMessage(MqConstants.DIRECT_MODE_REPORT_EXPORT_ZB_QUEUE,map);
|
|
|
+
|
|
|
+ redisTemplate.opsForValue().set(key, WmReportOpt.WmReportOptStatus.GENERATING.name());
|
|
|
+
|
|
|
+ return R.ok("开始导出,请耐心等待");
|
|
|
|
|
|
}
|
|
|
|
|
@@ -286,13 +334,13 @@ public class ReportExportController {
|
|
|
|
|
|
|
|
|
|
|
|
- /**
|
|
|
- * 个人报告导出--导出汇总或详情
|
|
|
- * @param wmTask
|
|
|
- *@param exportType 1 导出汇总 2导出详情
|
|
|
- * @return
|
|
|
- * @throws IOException
|
|
|
- */
|
|
|
+ // /**
|
|
|
+ // * 个人报告导出--导出汇总或详情
|
|
|
+ // * @param wmTask
|
|
|
+ // *@param exportType 1 导出汇总 2导出详情
|
|
|
+ // * @return
|
|
|
+ // * @throws IOException
|
|
|
+ // */
|
|
|
// @GetMapping("/exportZbReport")
|
|
|
// public R exportZbReport(WmTask wmTask, String exportType) throws IOException {
|
|
|
// String packageId=wmTask.getScorePackageDrugId();
|