|
@@ -16,6 +16,8 @@
|
|
*/
|
|
*/
|
|
package com.qunzhixinxi.hnqz.admin.service.impl;
|
|
package com.qunzhixinxi.hnqz.admin.service.impl;
|
|
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
|
+import cn.hutool.core.map.MapUtil;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
@@ -33,8 +35,10 @@ import com.qunzhixinxi.hnqz.admin.enums.ReportEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.ScorePackageStatusEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.ScorePackageStatusEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.TaskStatusEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.TaskStatusEnum;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmReportMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmReportMapper;
|
|
-import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserService;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmDaDistributionService;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmDaHospitalService;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmDaPharmacyService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmReportService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmReportService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
|
|
@@ -67,8 +71,10 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
|
|
private final WmScorePackageStatusService wmScorePackageStatusService;
|
|
private final WmScorePackageStatusService wmScorePackageStatusService;
|
|
private final WmTaskService wmTaskService;
|
|
private final WmTaskService wmTaskService;
|
|
private final WmReportMapper wmReportMapper;
|
|
private final WmReportMapper wmReportMapper;
|
|
- private final SysDeptService sysDeptService;
|
|
|
|
private final SysUserService sysUserService;
|
|
private final SysUserService sysUserService;
|
|
|
|
+ private final WmDaDistributionService wmDaDistributionService;
|
|
|
|
+ private final WmDaPharmacyService wmDaPharmacyService;
|
|
|
|
+ private final WmDaHospitalService wmDaHospitalService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public IPage<WmReport> getReportListPage(Page page, WmReport wmReport, String scoreId, String name){
|
|
public IPage<WmReport> getReportListPage(Page page, WmReport wmReport, String scoreId, String name){
|
|
@@ -169,8 +175,45 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public R approvalReport(WmReport wmReport, List<String> taskIds, String approvalOpinion, String approvalInfo) {
|
|
public R approvalReport(WmReport wmReport, List<String> taskIds, String approvalOpinion, String approvalInfo) {
|
|
List<WmTask> taskList=new ArrayList<>();//该报告关联的所有未提交的任务
|
|
List<WmTask> taskList=new ArrayList<>();//该报告关联的所有未提交的任务
|
|
- //更新任务表审批意见,查询所有未审核的任务,判断报告关联任务是否全部审核
|
|
|
|
|
|
+
|
|
WmScorePackage scorePackage = wmScorePackageService.getById(wmReport.getScoreId());
|
|
WmScorePackage scorePackage = wmScorePackageService.getById(wmReport.getScoreId());
|
|
|
|
+ // 如果是源头积分包,则判断是否审核入库调查信息
|
|
|
|
+ if (StringUtils.isBlank(scorePackage.getRelationScoreId())) {
|
|
|
|
+ List<WmTask> tasks = wmTaskService.list(Wrappers.<WmTask>lambdaQuery().in(WmTask::getId, taskIds));
|
|
|
|
+ // 调查信息审核(15、30-医院 16-商业公司 18-药店)
|
|
|
|
+ tasks.forEach(task -> {
|
|
|
|
+ if ("15".equals(task.getTaskTypeId()) || "30".equals(task.getTaskTypeId())) {
|
|
|
|
+ Map<String, Object> data = (Map<String, Object>) wmDaHospitalService.approvalHospital(task.getId()).getData();
|
|
|
|
+ WmTask _wmTask = (WmTask) data.get("wmTask");
|
|
|
|
+ Map<String, String> paramMap = BeanUtil.toBean(data.get("newinfo"), Map.class);
|
|
|
|
+ paramMap.put("approvalInfo", approvalInfo);
|
|
|
|
+ paramMap.put("approvalOpinion", approvalOpinion);
|
|
|
|
+ paramMap.put("compareResult", _wmTask.getCompareResult());
|
|
|
|
+ paramMap.put("taskId", task.getId());
|
|
|
|
+ wmDaHospitalService.updateByApproval(paramMap);
|
|
|
|
+ } else if ("16".equals(task.getTaskTypeId())) {
|
|
|
|
+ Map<String, Object> data = (Map<String, Object>) wmDaDistributionService.approvalDistribution(task.getId()).getData();
|
|
|
|
+ WmTask _wmTask = (WmTask) data.get("wmTask");
|
|
|
|
+ Map<String, String> paramMap = BeanUtil.toBean(data.get("newinfo"), Map.class);
|
|
|
|
+ paramMap.put("approvalInfo", approvalInfo);
|
|
|
|
+ paramMap.put("approvalOpinion", approvalOpinion);
|
|
|
|
+ paramMap.put("compareResult", _wmTask.getCompareResult());
|
|
|
|
+ paramMap.put("taskId", task.getId());
|
|
|
|
+ wmDaDistributionService.updateByApproval(paramMap);
|
|
|
|
+ } else if ("18".equals(task.getTaskTypeId())) {
|
|
|
|
+ Map<String, Object> data = (Map<String, Object>) wmDaPharmacyService.approvalPharmacy(task.getId()).getData();
|
|
|
|
+ WmTask _wmTask = (WmTask) data.get("wmTask");
|
|
|
|
+ Map<String, String> paramMap = MapUtil.newHashMap(4);
|
|
|
|
+ paramMap.put("approvalInfo", approvalInfo);
|
|
|
|
+ paramMap.put("approvalOpinion", approvalOpinion);
|
|
|
|
+ paramMap.put("compareResult", _wmTask.getCompareResult());
|
|
|
|
+ paramMap.put("taskId", task.getId());
|
|
|
|
+ wmDaPharmacyService.updateByapproval(paramMap);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //更新任务表审批意见,查询所有未审核的任务,判断报告关联任务是否全部审核
|
|
LambdaUpdateWrapper<WmTask> updateTaskWrapper=new LambdaUpdateWrapper<>();
|
|
LambdaUpdateWrapper<WmTask> updateTaskWrapper=new LambdaUpdateWrapper<>();
|
|
WmTask wmTask=new WmTask();
|
|
WmTask wmTask=new WmTask();
|
|
if(SecurityUtils.getRoles().contains(3)){//药企
|
|
if(SecurityUtils.getRoles().contains(3)){//药企
|