HisStrategyTest.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. package com.nb.admin;
  2. import cn.hutool.core.date.DateField;
  3. import cn.hutool.core.date.DateUtil;
  4. import cn.hutool.core.util.EnumUtil;
  5. import cn.hutool.core.util.RandomUtil;
  6. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  7. import com.nb.AdminApplication;
  8. import com.nb.web.service.bus.entity.BusClinicEntity;
  9. import com.nb.web.service.bus.hospital.his.strategy.HisStrategyEnum;
  10. import com.nb.web.service.bus.hospital.his.strategy.HisStrategyHandler;
  11. import com.nb.web.service.bus.hospital.his.strategy.HisStrategyManager;
  12. import com.nb.web.service.bus.hospital.his.strategy.HisStrategyManagerRegister;
  13. import com.nb.web.service.bus.service.LocalBusClinicService;
  14. import com.nb.core.enums.SexEnum;
  15. import org.junit.Test;
  16. import org.junit.runner.RunWith;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.boot.test.context.SpringBootTest;
  19. import org.springframework.test.context.junit4.SpringRunner;
  20. import java.util.ArrayList;
  21. import java.util.Date;
  22. import java.util.List;
  23. import static com.nb.admin.BusPatientTest.getName;
  24. /**
  25. * @Author XX
  26. * @Date 2022-04-25 19:00:10
  27. * @Version 1.0
  28. * @Description XXX
  29. */
  30. @RunWith(SpringRunner.class)
  31. @SpringBootTest(classes = AdminApplication.class)
  32. public class HisStrategyTest {
  33. @Autowired
  34. HisStrategyManagerRegister managerRegister;
  35. @Autowired
  36. LocalBusClinicService clinicService;
  37. String patientCode="120263";
  38. String tenantId="1";
  39. @Test
  40. public void allEquals(){
  41. HisStrategyManager<? extends HisStrategyHandler> hisStrategyManager = managerRegister.get(HisStrategyEnum.ALL);
  42. }
  43. @Test
  44. public void allMoreToLess(){
  45. HisStrategyManager<? extends HisStrategyHandler> hisStrategyManager = managerRegister.get(HisStrategyEnum.ALL);
  46. List<BusClinicEntity> sources = new ArrayList<>();
  47. List<BusClinicEntity> targets = clinicService.list(new QueryWrapper<BusClinicEntity>().lambda().eq(BusClinicEntity::getPatientCode, patientCode).eq(BusClinicEntity::getTenantId, tenantId));
  48. for (BusClinicEntity target : targets) {
  49. BusClinicEntity clinic = new BusClinicEntity();
  50. clinic.setStartTime(target.getStartTime()==null?
  51. RandomUtil.randomDate(DateUtil.beginOfMonth(new Date()), DateField.HOUR,-30,30):DateUtil.date(target.getStartTime()).offset(DateField.HOUR_OF_DAY,-1));
  52. clinic.setSurgeryName(BusPatientTest.clinicNames.get(RandomUtil.randomInt(BusPatientTest.clinicNames.size()-1)));
  53. clinic.setPatientName(getName());
  54. clinic.setPatientGender(EnumUtil.likeValueOf(SexEnum.class,RandomUtil.randomInt(1,2)));
  55. clinic.setBedNo(target.getBedNo());
  56. clinic.setWard(target.getWard());
  57. clinic.setWeight(String.valueOf(RandomUtil.randomInt(90,150)));
  58. clinic.setWeight(String.valueOf(RandomUtil.randomInt(150,200)));
  59. clinic.setAnaDoctor(getName());
  60. clinic.setAnaType(BusPatientTest.anaTypes.get(RandomUtil.randomInt(BusPatientTest.anaTypes.size()-1)));
  61. clinic.setAnalType(BusPatientTest.analTypes.get(RandomUtil.randomInt(BusPatientTest.analTypes.size()-1)));
  62. clinic.setSurgeryDoctor(getName());
  63. clinic.setConfigPerson(getName());
  64. clinic.setPatientCode(target.getPatientCode());
  65. clinic.setMonitorType(true);
  66. clinic.setTenantId("1");
  67. sources.add(clinic);
  68. }
  69. BusClinicEntity clinic = new BusClinicEntity();
  70. clinic.setStartTime(DateUtil.beginOfDay(new Date()));
  71. clinic.setSurgeryName(BusPatientTest.clinicNames.get(RandomUtil.randomInt(BusPatientTest.clinicNames.size()-1)));
  72. clinic.setPatientName(getName());
  73. clinic.setPatientGender(EnumUtil.likeValueOf(SexEnum.class,RandomUtil.randomInt(1,2)));
  74. clinic.setBedNo("10");
  75. clinic.setWard("10");
  76. clinic.setWeight(String.valueOf(RandomUtil.randomInt(90,150)));
  77. clinic.setWeight(String.valueOf(RandomUtil.randomInt(150,200)));
  78. clinic.setAnaDoctor(getName());
  79. clinic.setAnaType(BusPatientTest.anaTypes.get(RandomUtil.randomInt(BusPatientTest.anaTypes.size()-1)));
  80. clinic.setAnalType(BusPatientTest.analTypes.get(RandomUtil.randomInt(BusPatientTest.analTypes.size()-1)));
  81. clinic.setSurgeryDoctor(getName());
  82. clinic.setConfigPerson(getName());
  83. clinic.setPatientCode(patientCode);
  84. clinic.setMonitorType(true);
  85. clinic.setTenantId("1");
  86. sources.add(clinic);
  87. hisStrategyManager.getHandlers()
  88. .stream()
  89. .filter(handler-> handler.apply(sources,targets))
  90. .forEach(handler->handler.handle(sources,targets));
  91. }
  92. @Test
  93. public void allLessToMore(){
  94. HisStrategyManager<? extends HisStrategyHandler> hisStrategyManager = managerRegister.get(HisStrategyEnum.ALL);
  95. }
  96. @Test
  97. public void onlyNew(){
  98. HisStrategyManager<? extends HisStrategyHandler> hisStrategyManager = managerRegister.get(HisStrategyEnum.NEW);
  99. }
  100. @Test
  101. public void part(){
  102. HisStrategyManager<? extends HisStrategyHandler> hisStrategyManager = managerRegister.get(HisStrategyEnum.PART);
  103. }
  104. }