瀏覽代碼

feat: 调查信息审核的任务详情

lixuesong 3 年之前
父節點
當前提交
68d95ec3ba

+ 11 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTaskController.java

@@ -47,7 +47,6 @@ import com.qunzhixinxi.hnqz.admin.entity.XlsPackageInfo;
 import com.qunzhixinxi.hnqz.admin.entity.XlsTask;
 import com.qunzhixinxi.hnqz.admin.entity.dto.CommonEvidenceDTO;
 import com.qunzhixinxi.hnqz.admin.entity.model.excel.CommonTaskExcelModel;
-import com.qunzhixinxi.hnqz.admin.mapper.SysDeptEncryptorMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.WmTaskMapper;
 import com.qunzhixinxi.hnqz.admin.service.ReportExportService;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
@@ -61,7 +60,6 @@ import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskContentService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskRuleService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
-import com.qunzhixinxi.hnqz.admin.service.WmTaskSettleNoteService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeService;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
@@ -73,7 +71,6 @@ import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.util.ResourceUtils;
 import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -1247,6 +1244,17 @@ public class WmTaskController {
 		return wmTaskService.getTaskInfo(taskId);
 	}
 
+	/**
+	 * 查询调查信息审核数据
+	 *
+	 * @param taskId 任务id
+	 * @return
+	 */
+	@GetMapping("/survey-task-info/{taskId}")
+	public R<?> getSurveyTaskInfo(@PathVariable("taskId") String taskId) {
+		return wmTaskService.getSurveryTaskInfo(taskId);
+	}
+
 	/**
 	 * 患者教育-处方列表
 	 *

+ 8 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmTaskService.java

@@ -145,6 +145,14 @@ public interface WmTaskService extends IService<WmTask> {
 
 	R getTaskInfo(String taskId);
 
+	/**
+	 * 查询调查信息审核数据
+	 *
+	 * @param taskId 任务id
+	 * @return
+	 */
+	R<?> getSurveryTaskInfo(String taskId);
+
 	/**
 	 * 患者教育-处方删除
 	 *

+ 6 - 6
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaDistributionServiceImpl.java

@@ -27,12 +27,12 @@ import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageStatus;
 import com.qunzhixinxi.hnqz.admin.entity.WmTask;
 import com.qunzhixinxi.hnqz.admin.entity.WmTaskContent;
 import com.qunzhixinxi.hnqz.admin.mapper.WmDaDistributionMapper;
+import com.qunzhixinxi.hnqz.admin.mapper.WmTaskContentMapper;
 import com.qunzhixinxi.hnqz.admin.service.SysDictItemService;
 import com.qunzhixinxi.hnqz.admin.service.WmDaDistributionService;
 import com.qunzhixinxi.hnqz.admin.service.WmDaHospitalService;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
-import com.qunzhixinxi.hnqz.admin.service.WmTaskContentService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import lombok.AllArgsConstructor;
@@ -58,7 +58,7 @@ import java.util.stream.Collectors;
 @AllArgsConstructor
 public class WmDaDistributionServiceImpl extends ServiceImpl<WmDaDistributionMapper, WmDaDistribution> implements WmDaDistributionService {
 
-	private final WmTaskContentService wmTaskContentService;
+	private final WmTaskContentMapper wmTaskContentMapper;
 	private final WmDaDistributionMapper wmDaDistributionMapper;
 	private final WmTaskService wmTaskService;
 	private final SysDictItemService sysDictItemService;
@@ -69,7 +69,7 @@ public class WmDaDistributionServiceImpl extends ServiceImpl<WmDaDistributionMap
 
 	@Override
 	public boolean saveOrUpdateDistributionlByTask(WmTask wmTask) {
-		WmTaskContent wmTaskContent = wmTaskContentService.getById(wmTask);
+		WmTaskContent wmTaskContent = wmTaskContentMapper.selectById(wmTask);
 		WmDaDistribution wmDaDistribution = new WmDaDistribution();
 		wmDaDistribution.setShyshxydm(wmTaskContent.getTemp6());
 		List<WmDaDistribution> list = this.list(Wrappers.query(wmDaDistribution));
@@ -121,7 +121,7 @@ public class WmDaDistributionServiceImpl extends ServiceImpl<WmDaDistributionMap
 		if("1".equals(wmTask.getPlatAuditStatus())){
 			return R.failed("信息已审核,请重新查询后操作");
 		}
-		WmTaskContent wmTaskContent=wmTaskContentService.getById(wmTask.getTaskContentId());
+		WmTaskContent wmTaskContent=wmTaskContentMapper.selectById(wmTask.getTaskContentId());
 		if(null==wmTaskContent){
 			return R.failed("调研信息为空");
 		}
@@ -420,10 +420,10 @@ public class WmDaDistributionServiceImpl extends ServiceImpl<WmDaDistributionMap
 				}
 			}
 			//更新任务内容表
-			WmTaskContent wmTaskContent=wmTaskContentService.getById(wmTask.getTaskContentId());
+			WmTaskContent wmTaskContent=wmTaskContentMapper.selectById(wmTask.getTaskContentId());
 			String infoId=map.get("infoId");
 			wmTaskContent.setTemp29(infoId);
-			wmTaskContentService.updateById(wmTaskContent);
+			wmTaskContentMapper.updateById(wmTaskContent);
 		}else{
 			//updateWrapper.set(WmTask::getTaskStatus,"2");//审核不通过
 //			updateWrapper.set(WmTask::getRealFlag,"1");//1不通过

+ 17 - 11
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaHospitalServiceImpl.java

@@ -18,16 +18,22 @@ package com.qunzhixinxi.hnqz.admin.service.impl;
 
 import com.alibaba.csp.sentinel.util.StringUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qunzhixinxi.hnqz.admin.api.dto.UserDTO;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDictItem;
-import com.qunzhixinxi.hnqz.admin.api.vo.UserVO;
-import com.qunzhixinxi.hnqz.admin.entity.*;
+import com.qunzhixinxi.hnqz.admin.entity.WmDaHospital;
+import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
+import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageStatus;
+import com.qunzhixinxi.hnqz.admin.entity.WmTask;
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskContent;
 import com.qunzhixinxi.hnqz.admin.mapper.WmDaHospitalMapper;
-import com.qunzhixinxi.hnqz.admin.service.*;
-import com.qunzhixinxi.hnqz.admin.util.HnqzUtils;
+import com.qunzhixinxi.hnqz.admin.mapper.WmTaskContentMapper;
+import com.qunzhixinxi.hnqz.admin.service.SysDictItemService;
+import com.qunzhixinxi.hnqz.admin.service.SysUserService;
+import com.qunzhixinxi.hnqz.admin.service.WmDaHospitalService;
+import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
+import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
+import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import lombok.AllArgsConstructor;
 import org.apache.commons.collections4.CollectionUtils;
@@ -52,7 +58,7 @@ import java.util.stream.Collectors;
 @AllArgsConstructor
 public class WmDaHospitalServiceImpl extends ServiceImpl<WmDaHospitalMapper, WmDaHospital> implements WmDaHospitalService {
 
-	private final WmTaskContentService wmTaskContentService;
+	private final WmTaskContentMapper wmTaskContentMapper;
 
 	private final WmDaHospitalMapper wmDaHospitalMapper;
 
@@ -66,7 +72,7 @@ public class WmDaHospitalServiceImpl extends ServiceImpl<WmDaHospitalMapper, WmD
 
 	@Override
 	public boolean saveOrUpdateHospitalByTask(WmTask wmTask) {
-		WmTaskContent wmTaskContent = wmTaskContentService.getById(wmTask);
+		WmTaskContent wmTaskContent = wmTaskContentMapper.selectById(wmTask);
 		WmDaHospital wmDaHospital = new WmDaHospital();
 		wmDaHospital.setYymc(wmTaskContent.getTemp3());
 		List<WmDaHospital> list = this.list(Wrappers.query(wmDaHospital));
@@ -120,7 +126,7 @@ public class WmDaHospitalServiceImpl extends ServiceImpl<WmDaHospitalMapper, WmD
 		if ("1".equals(wmTask.getPlatAuditStatus())) {
 			return R.failed("信息已审核,请重新查询后操作");
 		}
-		WmTaskContent wmTaskContent = wmTaskContentService.getById(wmTask.getTaskContentId());
+		WmTaskContent wmTaskContent = wmTaskContentMapper.selectById(wmTask.getTaskContentId());
 		if (null == wmTaskContent) {
 			return R.failed("调研信息为空");
 		}
@@ -470,10 +476,10 @@ public class WmDaHospitalServiceImpl extends ServiceImpl<WmDaHospitalMapper, WmD
 
 
 			//更新任务内容表
-			WmTaskContent wmTaskContent = wmTaskContentService.getById(wmTask.getTaskContentId());
+			WmTaskContent wmTaskContent = wmTaskContentMapper.selectById(wmTask.getTaskContentId());
 			String infoId = map.get("infoId");
 			wmTaskContent.setTemp29(infoId);
-			wmTaskContentService.updateById(wmTaskContent);
+			wmTaskContentMapper.updateById(wmTaskContent);
 		} else {
 			//updateWrapper.set(WmTask::getTaskStatus,"2");//审核不通过
 //			updateWrapper.set(WmTask::getRealFlag,"1");//1bu通过

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

@@ -17,12 +17,19 @@
 package com.qunzhixinxi.hnqz.admin.service.impl;
 
 import com.alibaba.csp.sentinel.util.StringUtil;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qunzhixinxi.hnqz.admin.entity.*;
+import com.qunzhixinxi.hnqz.admin.entity.WmDaPharmacy;
+import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
+import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageStatus;
+import com.qunzhixinxi.hnqz.admin.entity.WmTask;
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskContent;
 import com.qunzhixinxi.hnqz.admin.mapper.WmDaPharmacyMapper;
-import com.qunzhixinxi.hnqz.admin.service.*;
+import com.qunzhixinxi.hnqz.admin.mapper.WmTaskContentMapper;
+import com.qunzhixinxi.hnqz.admin.service.WmDaPharmacyService;
+import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
+import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
+import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
@@ -46,8 +53,7 @@ public class WmDaPharmacyServiceImpl extends ServiceImpl<WmDaPharmacyMapper, WmD
 
 	private final WmDaPharmacyMapper wmDaPharmacyMapper;
 	private final WmTaskService wmTaskService;
-	private final WmTaskContentService wmTaskContentService;
-	private final WmDaHospitalService wmDaHospitalService;
+	private final WmTaskContentMapper wmTaskContentMapper;
 	private final WmScorePackageService wmScorePackageService;
 	private final WmScorePackageStatusService packageStatusService;
 
@@ -62,7 +68,7 @@ public class WmDaPharmacyServiceImpl extends ServiceImpl<WmDaPharmacyMapper, WmD
 		if("1".equals(wmTask.getPlatAuditStatus())){
 			return R.failed("信息已审核,请重新查询后操作");
 		}
-		WmTaskContent wmTaskContent=wmTaskContentService.getById(wmTask.getTaskContentId());
+		WmTaskContent wmTaskContent = wmTaskContentMapper.selectById(wmTask.getTaskContentId());
 		if(null==wmTaskContent){
 			return R.failed("调研信息为空");
 		}
@@ -79,10 +85,11 @@ public class WmDaPharmacyServiceImpl extends ServiceImpl<WmDaPharmacyMapper, WmD
 		}else {
 			wmTask.setCompareResult("1");//新增
 		}
-		Map<String,Object> result=new HashMap();
-		result.put("info",wmDaPharmacy);//数据
-		result.put("wmTask",wmTaskContent);
-		result.put("compareResult",wmTask.getCompareResult());//数据
+		Map<String,Object> result = new HashMap();
+		result.put("info", wmDaPharmacy);//数据
+		result.put("_wmTask", wmTask);
+		result.put("wmTask", wmTaskContent);
+		result.put("compareResult", wmTask.getCompareResult());//数据
 		return R.ok(result);
 	}
 
@@ -119,8 +126,8 @@ public class WmDaPharmacyServiceImpl extends ServiceImpl<WmDaPharmacyMapper, WmD
 //			updateWrapper.set(WmTask::getRealFlag,"0");//0审核通过
 			updateTask.setRealFlag("0");
 
-			WmDaPharmacy wmDaPharmacy=new WmDaPharmacy();
-			WmTaskContent wmTaskContent=wmTaskContentService.getById(wmTask.getTaskContentId());
+			WmDaPharmacy wmDaPharmacy = new WmDaPharmacy();
+			WmTaskContent wmTaskContent = wmTaskContentMapper.selectById(wmTask.getTaskContentId());
 			//更新审核信息
 			if("1".equals(compareResult)){//新增
 				//新增

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

@@ -30,10 +30,11 @@ import com.qunzhixinxi.hnqz.admin.entity.WmTask;
 import com.qunzhixinxi.hnqz.admin.entity.WmTaskContent;
 import com.qunzhixinxi.hnqz.admin.entity.WmTaskType;
 import com.qunzhixinxi.hnqz.admin.entity.WmUserSign;
+import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
+import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
 import com.qunzhixinxi.hnqz.admin.mapper.WmDaHospitalMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.WmTaskContentMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.WmUserSignMapper;
-import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
 import com.qunzhixinxi.hnqz.admin.service.SysPublicParamService;
 import com.qunzhixinxi.hnqz.admin.service.SysUserService;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
@@ -73,7 +74,6 @@ import java.util.stream.Collectors;
 public class WmTaskContentServiceImpl extends ServiceImpl<WmTaskContentMapper, WmTaskContent> implements WmTaskContentService {
 	private final WmTaskService wmTaskService;
 	private final SysUserService sysUserService;
-	private final SysDeptService sysDeptService;
 	private final WmTaskTypeService wmTaskTypeService;
 	private final WmScorePackageService wmScorePackageService;
 	private final WmScorePackageStatusService wmScorePackageStatusService;
@@ -81,9 +81,9 @@ public class WmTaskContentServiceImpl extends ServiceImpl<WmTaskContentMapper, W
 	private final WmDaHospitalMapper wmDaHospitalMapper;
 	private final SysPublicParamService sysPublicParamService;
 
-
+	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public R saveTaskContent(WmTaskContent wmTaskContent) {
+	public R<?> saveTaskContent(WmTaskContent wmTaskContent) {
 		if (StringUtils.isEmpty(wmTaskContent.getTemp30())) {
 			return R.failed("任务类型不能为空");
 		}
@@ -359,6 +359,9 @@ public class WmTaskContentServiceImpl extends ServiceImpl<WmTaskContentMapper, W
 				 * 15、30-医院 16-商业  18-药店
 				 * 三类修改为平台管理员审核后才能在任务中心查出来
 				 * realFlag  0-真实  1-非真实  9-审核中
+				 *
+				 * 2021-9-2 by lixuesong
+				 * 去掉平台管理员审核,调整到个人任务审核
 				 */
 				Boolean realFlag = false;
 				if ("15".equals(wmTaskContent.getTemp30())
@@ -402,17 +405,24 @@ public class WmTaskContentServiceImpl extends ServiceImpl<WmTaskContentMapper, W
 				 * 不需要平台管理员审核的直接提交上级审核  taskStatus = 2 已提交
 				 * 否则 taskStatus = 1 待提交
 				 */
-				if (realFlag) {
-					wmTask.setRealFlag("9");
-					wmTask.setTaskStatus("1");//任务状态
-				} else {
-					wmTask.setRealFlag("0");
-					wmTask.setTaskStatus("2");
-				}
+				wmTask.setRealFlag("0");
+				wmTask.setTaskStatus("2");
 
 				//保存任务
 				boolean isSave = wmTaskService.save(wmTask);
 				if (realFlag) {
+					// 校验调查信息审核,对比信息无改动则不可保存(15、30-医院 16-商业  18-药店)
+					R taskResult = wmTaskService.getSurveryTaskInfo(wmTask.getId());
+					Map<String, Object> data = (Map<String, Object>) taskResult.getData();
+					WmTask task = (WmTask) data.get("wmTask");
+					if ("3".equals(task.getCompareResult())) {
+						// 作废这条任务
+						wmTaskService.update(Wrappers.<WmTask>lambdaUpdate()
+								.eq(WmTask::getId, wmTask.getId())
+								.set(WmTask::getEnableFlag, EnableEnum.DISABLE.val())
+								.set(WmTask::getDelFlag, DelEnum.DELETED.val()));
+						return R.failed("信息无变化,不可提交");
+					}
 					resultMap.put("type", "3");
 					resultMap.put("score", score + "");
 					return R.ok(resultMap);

+ 130 - 8
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskServiceImpl.java

@@ -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;
+	}
+
 	/**
 	 * 患者教育-处方列表
 	 *