|
@@ -16,6 +16,7 @@
|
|
|
*/
|
|
|
package com.qunzhixinxi.hnqz.admin.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.lang.Assert;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
@@ -33,26 +34,56 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
|
|
|
-import com.qunzhixinxi.hnqz.admin.entity.*;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.MonitoringIndicator;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.SysDeptSub;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmReport;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageSettleNote;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageStatus;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmScoreTaskType;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmTask;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskContent;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.dto.CommonEvidenceDTO;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.input.SettleAmountMonitorInput;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.output.SettleAmountMonitorOutput;
|
|
|
-import com.qunzhixinxi.hnqz.admin.enums.*;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.ChannelEnum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.LockEnum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.PackageFinishStatusEnum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.PackageStatusEnum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.PackageTypeEnum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.ScorePackageStatusEnum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.SubjectTypeEnum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.TaskStatusEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmReportMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmScorePackageMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmTaskContentMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmTaskMapper;
|
|
|
-import com.qunzhixinxi.hnqz.admin.service.*;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.MonitoringIndicatorService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysDeptSubService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysPublicParamService;
|
|
|
+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.WmScorePackageService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmScorePackageSettleNoteService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmScoreTaskTypeService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
|
|
|
import com.qunzhixinxi.hnqz.admin.util.RegUtils;
|
|
|
import com.qunzhixinxi.hnqz.common.core.util.R;
|
|
|
import com.qunzhixinxi.hnqz.common.data.datascope.DataScope;
|
|
|
import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
|
|
|
import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
|
|
|
import com.qunzhixinxi.hnqz.common.taxhelper.enums.InvoiceInfo;
|
|
|
-import lombok.AllArgsConstructor;
|
|
|
+import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
@@ -64,10 +95,15 @@ import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.LocalTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
-import java.util.*;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.UUID;
|
|
|
import java.util.concurrent.ConcurrentHashMap;
|
|
|
-import java.util.concurrent.atomic.AtomicInteger;
|
|
|
-import java.util.concurrent.atomic.AtomicReference;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -77,7 +113,7 @@ import java.util.stream.Collectors;
|
|
|
* @date 2020-06-25 23:35:25
|
|
|
*/
|
|
|
@Service
|
|
|
-@AllArgsConstructor
|
|
|
+@RequiredArgsConstructor
|
|
|
@Slf4j
|
|
|
public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> implements WmTaskService {
|
|
|
|
|
@@ -94,6 +130,24 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
|
|
|
private final WmScoreTaskTypeService wmScoreTaskTypeService;
|
|
|
private final SysUserService userService;
|
|
|
private final WmScorePackageSettleNoteService wmScorePackageSettleNoteService;
|
|
|
+ private WmDaHospitalService wmDaHospitalService;
|
|
|
+ private WmDaPharmacyService wmDaPharmacyService;
|
|
|
+ private WmDaDistributionService wmDaDistributionService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ public void setWmDaHospitalService(WmDaHospitalService wmDaHospitalService) {
|
|
|
+ this.wmDaHospitalService = wmDaHospitalService;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ public void setWmDaPharmacyService(WmDaPharmacyService wmDaPharmacyService) {
|
|
|
+ this.wmDaPharmacyService = wmDaPharmacyService;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ public void setWmDaDistributionService(WmDaDistributionService wmDaDistributionService) {
|
|
|
+ this.wmDaDistributionService = wmDaDistributionService;
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
|
public List<WmTask> listTask(QueryWrapper wrappers) {
|
|
@@ -1468,6 +1522,37 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
|
|
|
//即,将real_flag=9更新成real_flag=1,将task_status=2更新成task_status=4
|
|
|
wmScorePackageStatusService.updateScorePackageStatus(scorePackageId);
|
|
|
|
|
|
+ // 调查信息审核(15、30-医院 16-商业公司 18-药店)
|
|
|
+ wmTaskList.forEach(task -> {
|
|
|
+ String approvalOpinion = wmTask.getTaskStatus().equals(TaskStatusEnum.APPROVED.val()) ? "1" : "2";
|
|
|
+ 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("info"), Map.class);
|
|
|
+ paramMap.put("approvalInfo", wmTask.getTaskStatusInfo());
|
|
|
+ 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("info"), Map.class);
|
|
|
+ paramMap.put("approvalInfo", wmTask.getTaskStatusInfo());
|
|
|
+ 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();
|
|
|
+ Map<String, String> paramMap = BeanUtil.toBean(data.get("info"), Map.class);
|
|
|
+ paramMap.put("approvalInfo", wmTask.getTaskStatusInfo());
|
|
|
+ paramMap.put("approvalOpinion", approvalOpinion);
|
|
|
+ paramMap.put("taskId", task.getId());
|
|
|
+ wmDaPharmacyService.updateByapproval(paramMap);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
return R.ok("审核成功");
|
|
|
}
|
|
|
|
|
@@ -1653,6 +1738,43 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
|
|
|
return R.ok(task);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 查询调查信息审核数据
|
|
|
+ *
|
|
|
+ * @param taskId 任务id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public R<?> getSurveryTaskInfo(String taskId) {
|
|
|
+ WmTask task = this.getById(taskId);
|
|
|
+ R<?> result = null;
|
|
|
+ // 15、30-医院 16-商业公司 18-药店
|
|
|
+ if ("15".equals(task.getTaskTypeId()) || "30".equals(task.getTaskTypeId())) {
|
|
|
+ result = wmDaHospitalService.approvalHospital(taskId);
|
|
|
+ Map<String, Object> data = (Map<String, Object>) result.getData();
|
|
|
+ data.remove("info");
|
|
|
+ data.remove("newinfo");
|
|
|
+ } else if ("16".equals(task.getTaskTypeId())) {
|
|
|
+ result = wmDaDistributionService.approvalDistribution(taskId);
|
|
|
+ Map<String, Object> data = (Map<String, Object>) result.getData();
|
|
|
+ data.remove("info");
|
|
|
+ data.remove("newinfo");
|
|
|
+ } else if ("18".equals(task.getTaskTypeId())) {
|
|
|
+ result = wmDaPharmacyService.approvalPharmacy(taskId);
|
|
|
+ Map<String, Object> data = (Map<String, Object>) result.getData();
|
|
|
+ data.put("wmTask", data.get("_wmTask"));
|
|
|
+ data.put("compareList", new ArrayList<>());
|
|
|
+ data.remove("_wmTask");
|
|
|
+ data.remove("info");
|
|
|
+ data.remove("newinfo");
|
|
|
+ data.remove("compareResult");
|
|
|
+ } else {
|
|
|
+ result = R.failed("未查询到任务信息");
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 患者教育-处方列表
|
|
|
*
|