|
@@ -19,23 +19,35 @@
|
|
|
|
|
|
package com.qunzhixinxi.hnqz.admin.controller;
|
|
package com.qunzhixinxi.hnqz.admin.controller;
|
|
|
|
|
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
import com.alibaba.csp.sentinel.util.StringUtil;
|
|
import com.alibaba.csp.sentinel.util.StringUtil;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
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.SysDept;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.entity.WmReportOpt;
|
|
import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
|
|
import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmReport;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmReport;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmTask;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmTask;
|
|
import com.qunzhixinxi.hnqz.admin.entity.input.WmPackageExportApiInput;
|
|
import com.qunzhixinxi.hnqz.admin.entity.input.WmPackageExportApiInput;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.ChannelEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.ReportEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.ReportEnum;
|
|
import com.qunzhixinxi.hnqz.admin.service.*;
|
|
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.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.Api;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
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.JavaMailSender;
|
|
import org.springframework.mail.javamail.MimeMessageHelper;
|
|
import org.springframework.mail.javamail.MimeMessageHelper;
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
@@ -49,6 +61,7 @@ import java.util.ArrayList;
|
|
import java.util.Arrays;
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -77,6 +90,8 @@ public class ReportExportController {
|
|
private final JavaMailSender sender;
|
|
private final JavaMailSender sender;
|
|
|
|
|
|
private final UpmsConfig upmsConfig;
|
|
private final UpmsConfig upmsConfig;
|
|
|
|
+ private final RedisTemplate<String,String> redisTemplate;
|
|
|
|
+ private final RabbitMqClient rabbitMqClient;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -112,6 +127,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
|
|
* @param wmReport
|
|
@@ -120,50 +185,70 @@ public class ReportExportController {
|
|
*/
|
|
*/
|
|
@GetMapping("/exportNbReport")
|
|
@GetMapping("/exportNbReport")
|
|
public R exportNbReport(WmReport wmReport ) throws IOException {
|
|
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 key = String.format(CacheConstants.EXPORT_NB_REPORT_CACHE, wmReport.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(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(),
|
|
|
|
+ CacheConstants.DEF_REPORT_CREATING_TTL, TimeUnit.MILLISECONDS);
|
|
|
|
+
|
|
|
|
+ return R.ok("开始导出,请耐心等待");
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ // /**
|
|
|
|
+ // * 个人报告导出--导出汇总或详情 汇总和详情合为一个模版
|
|
|
|
+ // * @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
|
|
* @param wmTask
|
|
@@ -172,26 +257,40 @@ public class ReportExportController {
|
|
*/
|
|
*/
|
|
@GetMapping("/exportZbReport")
|
|
@GetMapping("/exportZbReport")
|
|
public R exportZbReport(WmTask wmTask) throws IOException {
|
|
public R exportZbReport(WmTask wmTask) throws IOException {
|
|
- String packageId=wmTask.getScorePackageDrugId();
|
|
|
|
- if (null == packageId) {
|
|
|
|
- return R.failed("积分包ID不能为空");
|
|
|
|
|
|
+
|
|
|
|
+ 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);
|
|
|
|
+
|
|
}
|
|
}
|
|
- 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(),
|
|
|
|
+ CacheConstants.DEF_REPORT_CREATING_TTL, TimeUnit.MILLISECONDS);
|
|
|
|
+
|
|
|
|
+ return R.ok("开始导出,请耐心等待");
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -286,13 +385,13 @@ public class ReportExportController {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- /**
|
|
|
|
- * 个人报告导出--导出汇总或详情
|
|
|
|
- * @param wmTask
|
|
|
|
- *@param exportType 1 导出汇总 2导出详情
|
|
|
|
- * @return
|
|
|
|
- * @throws IOException
|
|
|
|
- */
|
|
|
|
|
|
+ // /**
|
|
|
|
+ // * 个人报告导出--导出汇总或详情
|
|
|
|
+ // * @param wmTask
|
|
|
|
+ // *@param exportType 1 导出汇总 2导出详情
|
|
|
|
+ // * @return
|
|
|
|
+ // * @throws IOException
|
|
|
|
+ // */
|
|
// @GetMapping("/exportZbReport")
|
|
// @GetMapping("/exportZbReport")
|
|
// public R exportZbReport(WmTask wmTask, String exportType) throws IOException {
|
|
// public R exportZbReport(WmTask wmTask, String exportType) throws IOException {
|
|
// String packageId=wmTask.getScorePackageDrugId();
|
|
// String packageId=wmTask.getScorePackageDrugId();
|
|
@@ -361,6 +460,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
|
|
* @param wmScorePackage
|
|
@@ -369,33 +507,31 @@ public class ReportExportController {
|
|
*/
|
|
*/
|
|
@GetMapping("/exportNbaHistory")
|
|
@GetMapping("/exportNbaHistory")
|
|
public R exportNbaHistory(WmScorePackage wmScorePackage) throws IOException {
|
|
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(),
|
|
|
|
+ CacheConstants.DEF_REPORT_CREATING_TTL,TimeUnit.MILLISECONDS);
|
|
|
|
+
|
|
|
|
+ return R.ok("开始导出,请耐心等待");
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|