|
@@ -3,33 +3,23 @@ package com.diagbot.aggregate;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.diagbot.biz.push.entity.Treat;
|
|
|
import com.diagbot.biz.push.enums.FeatureTypeEnum;
|
|
|
-import com.diagbot.client.AiptServiceClient;
|
|
|
-import com.diagbot.client.bean.ConceptBaseVO;
|
|
|
-import com.diagbot.client.bean.ConceptExistVO;
|
|
|
-import com.diagbot.dto.ConceptBaseDTO;
|
|
|
import com.diagbot.dto.ConceptPushDTO;
|
|
|
import com.diagbot.dto.PushDTO;
|
|
|
import com.diagbot.dto.QuestionDTO;
|
|
|
import com.diagbot.dto.QuestionPushDTO;
|
|
|
-import com.diagbot.dto.RespDTO;
|
|
|
-import com.diagbot.entity.DeptVital;
|
|
|
import com.diagbot.entity.QuestionInfo;
|
|
|
import com.diagbot.enums.ConceptTypeEnum;
|
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
|
import com.diagbot.enums.QuestionTypeEnum;
|
|
|
import com.diagbot.enums.TagTypeEnum;
|
|
|
-import com.diagbot.exception.CommonErrorCode;
|
|
|
-import com.diagbot.exception.CommonException;
|
|
|
-import com.diagbot.facade.DeptVitalFacade;
|
|
|
+import com.diagbot.facade.PushCacheFacade;
|
|
|
import com.diagbot.facade.QuestionFacade;
|
|
|
import com.diagbot.facade.TreatmentFacade;
|
|
|
import com.diagbot.util.BeanUtil;
|
|
|
import com.diagbot.util.EntityUtil;
|
|
|
import com.diagbot.util.ListUtil;
|
|
|
-import com.diagbot.util.RespDTOUtil;
|
|
|
import com.diagbot.vo.PushVO;
|
|
|
import com.diagbot.vo.QuestionIds2VO;
|
|
|
-import com.diagbot.vo.QuestionVO;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import io.github.lvyahui8.spring.annotation.DataConsumer;
|
|
|
import io.github.lvyahui8.spring.annotation.DataProvider;
|
|
@@ -53,9 +43,7 @@ public class PushItemAggregate {
|
|
|
@Autowired
|
|
|
private QuestionFacade questionFacade;
|
|
|
@Autowired
|
|
|
- private AiptServiceClient aiptServiceClient;
|
|
|
- @Autowired
|
|
|
- private DeptVitalFacade deptVitalFacade;
|
|
|
+ private PushCacheFacade pushCacheFacade;
|
|
|
@Autowired
|
|
|
private TreatmentFacade treatmentFacade;
|
|
|
|
|
@@ -126,7 +114,7 @@ public class PushItemAggregate {
|
|
|
List<QuestionPushDTO> moduleVitalDTO = Lists.newLinkedList();
|
|
|
if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Vital_Module.getKey()))) {
|
|
|
ConceptPushDTO dept = data.getDept();
|
|
|
- moduleVitalDTO = getVitalModule(dept, pushVO);
|
|
|
+ moduleVitalDTO = pushCacheFacade.getVitalModule(dept, pushVO);
|
|
|
}
|
|
|
return moduleVitalDTO;
|
|
|
}
|
|
@@ -214,74 +202,6 @@ public class PushItemAggregate {
|
|
|
return concepts;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 获取查体模板
|
|
|
- *
|
|
|
- * @param dept
|
|
|
- * @param pushVO
|
|
|
- * @return
|
|
|
- */
|
|
|
- public List<QuestionPushDTO> getVitalModule(ConceptPushDTO dept, PushVO pushVO) {
|
|
|
- List<QuestionPushDTO> vitalDTO = Lists.newLinkedList();
|
|
|
- if (dept.getConceptId() == null) {
|
|
|
- throw new CommonException(CommonErrorCode.NOT_EXISTS, "全科信息未维护");
|
|
|
- }
|
|
|
- QueryWrapper<DeptVital> deptVitalQueryWrapper = new QueryWrapper<>();
|
|
|
- deptVitalQueryWrapper
|
|
|
- .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
- .eq("dept_id", dept.getConceptId())
|
|
|
- .orderByAsc("order_no");
|
|
|
- List<DeptVital> deptVitalList = deptVitalFacade.list(deptVitalQueryWrapper);
|
|
|
- //科室模板为空时,取全科模板
|
|
|
- if (deptVitalList.size() == 0 && dept.getName().equals("全科") == false) {
|
|
|
- ConceptBaseVO conceptBaseVO = new ConceptBaseVO();
|
|
|
- conceptBaseVO.setName("全科");
|
|
|
- conceptBaseVO.setLibType(ConceptTypeEnum.DEPARTMENT.getKey());
|
|
|
- RespDTO<ConceptBaseDTO> res = aiptServiceClient.existConcept(conceptBaseVO);
|
|
|
- RespDTOUtil.respNGDeal(res, "全科信息未维护");
|
|
|
- BeanUtil.copyProperties(res.data, dept);
|
|
|
- deptVitalQueryWrapper = new QueryWrapper<>();
|
|
|
- deptVitalQueryWrapper
|
|
|
- .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
- .eq("dept_id", dept.getConceptId())
|
|
|
- .orderByAsc("order_no");
|
|
|
- deptVitalList = deptVitalFacade.list(deptVitalQueryWrapper);
|
|
|
- }
|
|
|
- //标签列表
|
|
|
- for (DeptVital deptVital : deptVitalList) {
|
|
|
- QuestionVO questionVO = new QuestionVO();
|
|
|
- QuestionPushDTO questionPushDTO = new QuestionPushDTO();
|
|
|
- questionVO.setAge(pushVO.getAge());
|
|
|
- questionVO.setSexType(pushVO.getSex());
|
|
|
- questionVO.setId(deptVital.getVitalId());
|
|
|
- QuestionDTO questionDTO = questionFacade.getById(questionVO);
|
|
|
- if (questionDTO != null && questionDTO.getId() != null) {
|
|
|
- BeanUtil.copyProperties(questionDTO, questionPushDTO);
|
|
|
- questionPushDTO.setLibType(ConceptTypeEnum.Vital.getKey());
|
|
|
- vitalDTO.add(questionPushDTO);
|
|
|
- }
|
|
|
- }
|
|
|
- //增加概念id
|
|
|
- if (ListUtil.isNotEmpty(vitalDTO)) {
|
|
|
- ConceptExistVO conceptExistVO = new ConceptExistVO();
|
|
|
- conceptExistVO.setType(ConceptTypeEnum.Vital.getKey());
|
|
|
- List<String> vitalNames = vitalDTO
|
|
|
- .stream()
|
|
|
- .map(vital -> vital.getTagName())
|
|
|
- .collect(Collectors.toList());
|
|
|
- conceptExistVO.setNameList(vitalNames);
|
|
|
- RespDTO<Map<String, Long>> respDTO = aiptServiceClient.getConceptMapByNameAndType(conceptExistVO);
|
|
|
- if (RespDTOUtil.respIsOK(respDTO)) {
|
|
|
- Map<String, Long> vitalMap = respDTO.data;
|
|
|
- for (QuestionPushDTO questionPushDTO : vitalDTO) {
|
|
|
- if (vitalMap.get(questionPushDTO.getTagName()) != null) {
|
|
|
- questionPushDTO.setConceptId(vitalMap.get(questionPushDTO.getTagName()));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return vitalDTO;
|
|
|
- }
|
|
|
|
|
|
/**
|
|
|
* 获取化验填写单
|