HighRiskProcess.java 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package com.diagbot.process;
  2. import com.diagbot.dto.BillMsg;
  3. import com.diagbot.dto.HighRiskNeoDTO;
  4. import com.diagbot.dto.IndicationDTO;
  5. import com.diagbot.dto.NodeNeoDTO;
  6. import com.diagbot.dto.WordCrfDTO;
  7. import com.diagbot.enums.TypeEnum;
  8. import com.diagbot.rule.CommonRule;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Component;
  11. import java.util.ArrayList;
  12. import java.util.List;
  13. /**
  14. * @Description: 高风险总入口
  15. * @author: zhoutg
  16. * @time: 2018/8/6 9:11
  17. */
  18. @Component
  19. public class HighRiskProcess {
  20. @Autowired
  21. CommonRule commonRule;
  22. /**
  23. * 处理业务
  24. *
  25. * @param highRiskNeoDTOList
  26. * @param res
  27. */
  28. public void process(List<HighRiskNeoDTO> highRiskNeoDTOList, IndicationDTO res, WordCrfDTO wordCrfDTO) {
  29. List<BillMsg> highRiskList = new ArrayList<>();
  30. CommonRule commonRule = new CommonRule();
  31. for (HighRiskNeoDTO highRiskNeoDTO : highRiskNeoDTOList) {
  32. // System.out.println(highRiskNeoDTO);
  33. String type = highRiskNeoDTO.getType();
  34. if (highRiskNeoDTO.getIsHighrisk() == true) {
  35. commonRule.highRisk(highRiskNeoDTO, highRiskList);
  36. } else {
  37. // 复杂情况高危手术
  38. if (TypeEnum.operation.getName().equals(type)) {
  39. List<NodeNeoDTO> factor = highRiskNeoDTO.getFactor();
  40. for (NodeNeoDTO nodeNeoDTO : factor) {
  41. switch (TypeEnum.getEnum(nodeNeoDTO.getTermtype())) {
  42. case disease:
  43. case lis:
  44. case pacs:
  45. case vital:
  46. case age:
  47. commonRule.highRiskComplex(nodeNeoDTO, highRiskList, highRiskNeoDTO);
  48. break;
  49. }
  50. }
  51. }
  52. }
  53. }
  54. res.setHighRiskList(highRiskList);
  55. }
  56. }