Преглед изворни кода

fix: 批量任务审核-修复任务类型树查询

lixuesong пре 3 година
родитељ
комит
4b096e5bd6

+ 26 - 10
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDeptTaskTypeConfigServiceImpl.java

@@ -116,6 +116,16 @@ public class WmDeptTaskTypeConfigServiceImpl extends ServiceImpl<WmDeptTaskTypeC
 			add("药店调查");
 		}};
 		BASE_TASK_TYPE_MAP.put("市场信息收集", marketList);
+		List<String> medicineList = new ArrayList<String>() {{
+			add("专家咨询");
+			add("受试者管理");
+			add("医学撰写");
+			add("受试者招募");
+			add("数据管理");
+			add("统计分析");
+			add("临床监察");
+		}};
+		BASE_TASK_TYPE_MAP.put("医药研发服务", medicineList);
 	}
 
 	/**
@@ -274,22 +284,28 @@ public class WmDeptTaskTypeConfigServiceImpl extends ServiceImpl<WmDeptTaskTypeC
 		}
 
 		// 查询出当前dept对应的任务类型(药企或药企给CSO的任务类型)
-		List<SysDeptRelation> relationList = sysDeptRelationMapper.selectList(Wrappers.<SysDeptRelation>lambdaQuery()
-				.eq(SysDeptRelation::getDescendant, deptId));
-		SysDeptRelation deptRelation = relationList.stream()
-				.filter(sysDeptRelation -> !sysDeptRelation.getAncestor().equals(1))
-				.findFirst()
-				.get();
-		WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntMapper.selectOne(Wrappers.<WmDaDrugEnt>lambdaQuery()
-				.eq(WmDaDrugEnt::getDeptId, deptRelation.getAncestor())
-				.eq(WmDaDrugEnt::getEnableFlag, EnableEnum.ENABLE.val()));
+		String durgentId = null;
+		SysDept dept = sysDeptMapper.selectById(deptId);
+		if (DeptLevelEnum.ENT.getVal().equals(dept.getLevel())) {
+			WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntMapper.selectOne(Wrappers.<WmDaDrugEnt>lambdaQuery()
+					.eq(WmDaDrugEnt::getDeptId, deptId)
+					.eq(WmDaDrugEnt::getDelFlag, DelEnum.NOT_DEL.val()));
+			durgentId = wmDaDrugEnt.getId();
+		} else {
+			WmDaAgent wmDaAgent = wmDaAgentMapper.selectOne(Wrappers.<WmDaAgent>lambdaQuery()
+					.eq(WmDaAgent::getDeptId, deptId)
+					.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val()));
+			durgentId = wmDaAgent.getId();
+		}
 		// 查询企业对应的任务类型
 		LambdaQueryWrapper<WmTaskType> taskTypeWrapper = Wrappers.lambdaQuery();
 		taskTypeWrapper.eq(WmTaskType::getDeptId, deptId);
-		taskTypeWrapper.eq(WmTaskType::getDurgentId, wmDaDrugEnt.getId());
+		taskTypeWrapper.eq(WmTaskType::getRuleId, durgentId);
+		taskTypeWrapper.eq(WmTaskType::getTaskEntId, durgentId);
 		if (org.apache.commons.lang.StringUtils.isNotBlank(taskTypeName)) {
 			taskTypeWrapper.like(WmTaskType::getTaskTypeName, taskTypeName);
 		}
+
 		List<WmTaskType> taskTypeList = wmTaskTypeService.list(taskTypeWrapper);
 
 		List<Map<String, Object>> resultList = new ArrayList<>();