|
@@ -14,14 +14,17 @@ import com.diagbot.entity.DeptVital;
|
|
import com.diagbot.entity.QuestionInfo;
|
|
import com.diagbot.entity.QuestionInfo;
|
|
import com.diagbot.entity.VitalOrder;
|
|
import com.diagbot.entity.VitalOrder;
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
|
|
+import com.diagbot.enums.QuantitativeTypeEnum;
|
|
import com.diagbot.enums.QuestionTypeEnum;
|
|
import com.diagbot.enums.QuestionTypeEnum;
|
|
import com.diagbot.exception.CommonErrorCode;
|
|
import com.diagbot.exception.CommonErrorCode;
|
|
import com.diagbot.exception.CommonException;
|
|
import com.diagbot.exception.CommonException;
|
|
import com.diagbot.util.EntityUtil;
|
|
import com.diagbot.util.EntityUtil;
|
|
|
|
+import com.diagbot.util.StringUtil;
|
|
import com.diagbot.vo.LisKYJVO;
|
|
import com.diagbot.vo.LisKYJVO;
|
|
import com.diagbot.vo.PushKYJVO;
|
|
import com.diagbot.vo.PushKYJVO;
|
|
import com.diagbot.vo.PushVO;
|
|
import com.diagbot.vo.PushVO;
|
|
import com.diagbot.vo.QuestionVO;
|
|
import com.diagbot.vo.QuestionVO;
|
|
|
|
+import com.google.common.collect.Lists;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
@@ -139,8 +142,12 @@ public class PushFacade {
|
|
pushDTO.setSymptomMap(symptomMap);
|
|
pushDTO.setSymptomMap(symptomMap);
|
|
}
|
|
}
|
|
//查体 返回模板
|
|
//查体 返回模板
|
|
- else if (featureTypeSet.contains(QuestionTypeEnum.Vital.getKey()) && dis != null && dis.size() > 0) {
|
|
|
|
- String deptName = dis.get(0).getExtraProperty();
|
|
|
|
|
|
+ else if (featureTypeSet.contains(QuestionTypeEnum.Vital.getKey())) {
|
|
|
|
+ //没有推送信息时,默认取全科模板
|
|
|
|
+ String deptName = "全科";
|
|
|
|
+ if (dis != null && dis.size() > 0) {
|
|
|
|
+ deptName = dis.get(0).getExtraProperty();
|
|
|
|
+ }
|
|
QueryWrapper<DeptInfo> deptInfoQueryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<DeptInfo> deptInfoQueryWrapper = new QueryWrapper<>();
|
|
deptInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
|
|
deptInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
|
|
eq("name", deptName);
|
|
eq("name", deptName);
|
|
@@ -163,20 +170,14 @@ public class PushFacade {
|
|
List<VitalOrder> vitalOrderList = vitalOrderFacade.list(vitalOrderQueryWrapper);
|
|
List<VitalOrder> vitalOrderList = vitalOrderFacade.list(vitalOrderQueryWrapper);
|
|
Map<Long, VitalOrder> vitalOrderMap = EntityUtil.makeEntityMap(vitalOrderList, "question_id");
|
|
Map<Long, VitalOrder> vitalOrderMap = EntityUtil.makeEntityMap(vitalOrderList, "question_id");
|
|
//标签列表
|
|
//标签列表
|
|
- /*QueryWrapper<QuestionInfo> vitalQueryWrapper = new QueryWrapper<>();
|
|
|
|
- vitalQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
|
|
|
|
- in("id", deptVitalMap.keySet());
|
|
|
|
- List<QuestionInfo> vitalList = questionFacade.list(vitalQueryWrapper);
|
|
|
|
- Map<Long, QuestionInfo> vitalQuestionMap = EntityUtil.makeEntityMap(vitalList, "id");*/
|
|
|
|
for (Map.Entry<Long, VitalOrder> entry : vitalOrderMap.entrySet()) {
|
|
for (Map.Entry<Long, VitalOrder> entry : vitalOrderMap.entrySet()) {
|
|
QuestionVO questionVO = new QuestionVO();
|
|
QuestionVO questionVO = new QuestionVO();
|
|
questionVO.setAge(pushVO.getAge());
|
|
questionVO.setAge(pushVO.getAge());
|
|
questionVO.setSexType(pushVO.getSex());
|
|
questionVO.setSexType(pushVO.getSex());
|
|
questionVO.setId(entry.getKey());
|
|
questionVO.setId(entry.getKey());
|
|
QuestionDTO questionDTO = questionFacade.getById(questionVO);
|
|
QuestionDTO questionDTO = questionFacade.getById(questionVO);
|
|
- //QuestionInfo vitalQuestion = vitalQuestionMap.get(entry.getKey());
|
|
|
|
if (questionDTO != null) {
|
|
if (questionDTO != null) {
|
|
- vitalMap.put(questionDTO.getTagName(), questionDTO);
|
|
|
|
|
|
+ vitalMap.put(questionDTO.getName(), questionDTO);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
pushDTO.setVitalMap(vitalMap);
|
|
pushDTO.setVitalMap(vitalMap);
|
|
@@ -188,6 +189,7 @@ public class PushFacade {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 推理接口-快易检
|
|
* 推理接口-快易检
|
|
|
|
+ *
|
|
* @param pushKYJVO
|
|
* @param pushKYJVO
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@@ -197,16 +199,14 @@ public class PushFacade {
|
|
pushVO.setSex(pushKYJVO.getSex());
|
|
pushVO.setSex(pushKYJVO.getSex());
|
|
|
|
|
|
//参数预处理
|
|
//参数预处理
|
|
- String lis="";
|
|
|
|
- for(LisKYJVO lisKYJVO:pushKYJVO.getLisKYJVOList()){
|
|
|
|
- String lisDetail="";
|
|
|
|
- if(lisKYJVO.getValue()!=null){
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- if(lisKYJVO.getOtherValue()!=null){
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
|
|
+ String lis = "";
|
|
|
|
+ List<String> lisResultList = Lists.newArrayList();
|
|
|
|
+ for (LisKYJVO lisKYJVO : pushKYJVO.getLisKYJVOList()) {
|
|
|
|
+ lisKYJVO = resultCalculation(lisKYJVO);
|
|
|
|
+ lisResultList.addAll(getLisInputs(lisKYJVO));
|
|
}
|
|
}
|
|
|
|
+ lis = String.join(",", lisResultList);
|
|
|
|
+ pushVO.setLis(lis);
|
|
|
|
|
|
ResponseData responseData = pushAI(pushVO);
|
|
ResponseData responseData = pushAI(pushVO);
|
|
PushKYJDTO pushKYJDTO = new PushKYJDTO();
|
|
PushKYJDTO pushKYJDTO = new PushKYJDTO();
|
|
@@ -228,4 +228,64 @@ public class PushFacade {
|
|
}
|
|
}
|
|
return map;
|
|
return map;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 快易检结果预处理
|
|
|
|
+ *
|
|
|
|
+ * @param lisKYJVO
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public LisKYJVO resultCalculation(LisKYJVO lisKYJVO) {
|
|
|
|
+ if (lisKYJVO.getValue() != null) {
|
|
|
|
+ if (lisKYJVO.getMax() != null) {
|
|
|
|
+ Integer comResult = lisKYJVO.getValue().compareTo(lisKYJVO.getMax());
|
|
|
|
+ if (comResult > 0) {
|
|
|
|
+ lisKYJVO.setMultipleState(QuantitativeTypeEnum.Up.getName());
|
|
|
|
+ if (!lisKYJVO.getMax().equals(0.0)) {
|
|
|
|
+ lisKYJVO.setMultipleValue(lisKYJVO.getValue() / lisKYJVO.getMax());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (lisKYJVO.getMin() != null) {
|
|
|
|
+ Integer comResult = lisKYJVO.getValue().compareTo(lisKYJVO.getMax());
|
|
|
|
+ if (comResult < 0) {
|
|
|
|
+ lisKYJVO.setMultipleState(QuantitativeTypeEnum.Down.getName());
|
|
|
|
+ if (!lisKYJVO.getMax().equals(0.0)) {
|
|
|
|
+ lisKYJVO.setMultipleValue(lisKYJVO.getValue() / lisKYJVO.getMin());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (StringUtil.isBlank(lisKYJVO.getMultipleState())) {
|
|
|
|
+ lisKYJVO.setMultipleState(QuantitativeTypeEnum.Normal.getName());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return lisKYJVO;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 拼接化验项的文本结果
|
|
|
|
+ *
|
|
|
|
+ * @param lisKYJVO
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public List<String> getLisInputs(LisKYJVO lisKYJVO) {
|
|
|
|
+ List<String> stringList = Lists.newArrayList();
|
|
|
|
+ if (StringUtil.isBlank(lisKYJVO.getName())) {
|
|
|
|
+ return stringList;
|
|
|
|
+ } else if (lisKYJVO.getValue() != null) {
|
|
|
|
+ //数值
|
|
|
|
+ String lisText = lisKYJVO.getName() + "," + lisKYJVO.getValue() + " " + lisKYJVO.getUnits();
|
|
|
|
+ stringList.add(lisText);
|
|
|
|
+ //倍数
|
|
|
|
+ if (StringUtil.isBlank(lisKYJVO.getMultipleState())) {
|
|
|
|
+ lisText = lisKYJVO.getName() + "," + lisKYJVO.getMultipleState() + " " + lisKYJVO.getMultipleValue();
|
|
|
|
+ stringList.add(lisText);
|
|
|
|
+ }
|
|
|
|
+ } else if (StringUtil.isBlank(lisKYJVO.getOtherValue())) {
|
|
|
|
+ //阴性阳性和其他文字描述
|
|
|
|
+ String lisText = lisKYJVO.getName() + "," + lisKYJVO.getOtherValue();
|
|
|
|
+ stringList.add(lisText);
|
|
|
|
+ }
|
|
|
|
+ return stringList;
|
|
|
|
+ }
|
|
}
|
|
}
|