ClinicalFacade.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.diagbot.facade;
  2. import com.diagbot.client.AIServiceClient;
  3. import com.diagbot.client.bean.Response;
  4. import com.diagbot.client.bean.ResponseData;
  5. import com.diagbot.dto.LisResult;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Component;
  8. import org.springframework.web.bind.annotation.RequestBody;
  9. import com.diagbot.vo.SearchVo;
  10. import java.util.List;
  11. /**
  12. * <p>
  13. * 数据处理业务层
  14. * </p>
  15. *
  16. * @author Mark Huang
  17. * @since 2019-03-04
  18. */
  19. @Component
  20. public class ClinicalFacade {
  21. @Autowired
  22. private AIServiceClient aiServiceClient;
  23. /**
  24. * 处理临床数据
  25. *
  26. * @param searchVo
  27. * @return ResponseData
  28. */
  29. public ResponseData processClinicalData(@RequestBody SearchVo searchVo) {
  30. SearchVo sData = searchVo;
  31. sData.setLisArr(processLis(sData.getLisArr()));
  32. Response<ResponseData> res = aiServiceClient.bayesPageData(sData);
  33. return res.getData();
  34. }
  35. private List<LisResult> processLis(List<LisResult> lisArr) {
  36. String Otherval = "";
  37. for (int i=0; i<lisArr.size(); i++) {
  38. LisResult lisres = lisArr.get(i);
  39. Otherval = (lisres.getOtherValue().trim().length() > 0)? lisres.getOtherValue().trim()+"\n":"";
  40. if (lisres.getMaxValue() != null && lisres.getValue() > lisres.getMaxValue()) {
  41. lisres.setOtherValue(Otherval + "\n" + lisres.getDetailName() + "升高");
  42. }
  43. else if (lisres.getMinValue() != null && lisres.getValue() < lisres.getMinValue()) {
  44. lisres.setOtherValue(Otherval + "\n" + lisres.getDetailName() + "下降");
  45. }
  46. }
  47. return lisArr;
  48. }
  49. }