|
@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.diagbot.dto.ModuleDetailDTO;
|
|
|
import com.diagbot.dto.ModuleInfoDTO;
|
|
|
import com.diagbot.dto.QuestionDTO;
|
|
|
+import com.diagbot.entity.ModuleDeptMapping;
|
|
|
import com.diagbot.entity.ModuleDetail;
|
|
|
+import com.diagbot.entity.ModuleDiseaseMapping;
|
|
|
import com.diagbot.entity.ModuleInfo;
|
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
|
import com.diagbot.service.impl.ModuleInfoServiceImpl;
|
|
@@ -35,6 +37,10 @@ public class ModuleFacade extends ModuleInfoServiceImpl {
|
|
|
ModuleDetailFacade moduleDetailFacade;
|
|
|
@Autowired
|
|
|
QuestionFacade questionFacade;
|
|
|
+ @Autowired
|
|
|
+ ModuleDeptMappingFacade moduleDeptMappingFacade;
|
|
|
+ @Autowired
|
|
|
+ ModuleDiseaseMappingFacade moduleDiseaseMappingFacade;
|
|
|
|
|
|
/**
|
|
|
* 返回所有的模型结构
|
|
@@ -43,15 +49,48 @@ public class ModuleFacade extends ModuleInfoServiceImpl {
|
|
|
*/
|
|
|
public List<ModuleInfoDTO> getAll(ModuleVO moduleVO) {
|
|
|
List<ModuleInfoDTO> data = new ArrayList<>();
|
|
|
- QueryWrapper queryWrapper = new QueryWrapper();
|
|
|
- queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
- queryWrapper.orderByAsc("id");
|
|
|
- List<ModuleInfo> list = this.list(queryWrapper);
|
|
|
+ //取到所有模板信息
|
|
|
+ List<ModuleInfo> list = new ArrayList<>();
|
|
|
+ List<Long> ids = new ArrayList<>();
|
|
|
+ if(moduleVO.getDiseaseType().intValue() == 1){
|
|
|
+ //科室
|
|
|
+ List<ModuleDeptMapping> moduleDeptMappings = moduleDeptMappingFacade.getModuleIdByDept(moduleVO.getDeptId());
|
|
|
+ if(ListUtil.isNotEmpty(moduleDeptMappings)){
|
|
|
+ list = this.getModuleInfoByDisType(moduleVO.getDiseaseType());
|
|
|
+ ids = moduleDeptMappings.stream()
|
|
|
+ .map(moduleDeptMapping -> moduleDeptMapping.getModuleId())
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ }else {
|
|
|
+ list = this.getModuleInfoByDisType(2);
|
|
|
+ ids = list.stream()
|
|
|
+ .map(moduleInfo -> moduleInfo.getId())
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ }else if(moduleVO.getDiseaseType().intValue() == 0){
|
|
|
+ //TODO 慢病
|
|
|
+ //科室
|
|
|
+ List<ModuleDiseaseMapping> moduleDiseaseMappings = moduleDiseaseMappingFacade.getModuleIdByDisease(moduleVO.getDiseaseId());
|
|
|
+ if(ListUtil.isNotEmpty(moduleDiseaseMappings)){
|
|
|
+ list = this.getModuleInfoByDisType(moduleVO.getDiseaseType());
|
|
|
+ ids = moduleDiseaseMappings.stream()
|
|
|
+ .map(moduleDeptMapping -> moduleDeptMapping.getModuleId())
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ }else {
|
|
|
+ list = this.getModuleInfoByDisType(2);
|
|
|
+ ids = list.stream()
|
|
|
+ .map(moduleInfo -> moduleInfo.getId())
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ //默认
|
|
|
+ list = this.getModuleInfoByDisType(moduleVO.getDiseaseType());
|
|
|
+ ids = list.stream()
|
|
|
+ .map(artist -> artist.getId())
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ }
|
|
|
data = BeanUtil.listCopyTo(list, ModuleInfoDTO.class);
|
|
|
- List<Long> ids = data.stream()
|
|
|
- .map(artist -> artist.getId())
|
|
|
- .collect(Collectors.toList());
|
|
|
Map<Long, List<ModuleDetail>> moduleDetailMap = new LinkedHashMap<>();
|
|
|
+ //取到所有模板明细
|
|
|
if (ListUtil.isNotEmpty(ids)) {
|
|
|
Map<String, Object> paramMap = new HashMap<>();
|
|
|
paramMap.put("ids", ids);
|
|
@@ -63,6 +102,7 @@ public class ModuleFacade extends ModuleInfoServiceImpl {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+ //循环放入模板明细
|
|
|
for (ModuleInfoDTO bean : data) {
|
|
|
if (moduleDetailMap.get(bean.getId()) != null) {
|
|
|
List<ModuleDetailDTO> moduleDetailDTOList = BeanUtil.listCopyTo(moduleDetailMap.get(bean.getId()), ModuleDetailDTO.class);
|
|
@@ -82,4 +122,17 @@ public class ModuleFacade extends ModuleInfoServiceImpl {
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取相应类型的模板信息
|
|
|
+ *
|
|
|
+ * @param diseaseType
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<ModuleInfo> getModuleInfoByDisType(Integer diseaseType){
|
|
|
+ QueryWrapper<ModuleInfo> queryWrapper = new QueryWrapper();
|
|
|
+ queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .eq("disease_type", diseaseType);
|
|
|
+ queryWrapper.orderByAsc("id");
|
|
|
+ return this.list(queryWrapper);
|
|
|
+ }
|
|
|
}
|