HisStrategyTest.java 5.1 KB

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