AfterwardsAuditDataTest.java 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529
  1. package org.jeecg;
  2. import cn.hutool.core.collection.CollectionUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import lombok.extern.slf4j.Slf4j;
  5. import org.apache.commons.lang.StringUtils;
  6. import org.jeecg.common.system.vo.DictModel;
  7. import org.jeecg.modules.medical.Constant;
  8. import org.jeecg.modules.medical.entity.AfterIncidentDetailLog;
  9. import org.jeecg.modules.medical.entity.AfterwardsAudit;
  10. import org.jeecg.modules.medical.entity.AfterwardsAuditDetail;
  11. import org.jeecg.modules.medical.entity.MedicalInsRuleInfo;
  12. import org.jeecg.modules.medical.entity.SttlMasterBill;
  13. import org.jeecg.modules.medical.entity.SttlMasterDetailBill;
  14. import org.jeecg.modules.medical.job.AfterWaringLogTestJob;
  15. import org.jeecg.modules.medical.ruleengine.RuleEngine;
  16. import org.jeecg.modules.medical.ruleengine.SPELUtil;
  17. import org.jeecg.modules.medical.service.IAfterIncidentDetailLogService;
  18. import org.jeecg.modules.medical.service.IAfterwardsAuditDetailService;
  19. import org.jeecg.modules.medical.service.IAfterwardsAuditService;
  20. import org.jeecg.modules.medical.service.IAfterwardsIncidentAuditDiagnoseService;
  21. import org.jeecg.modules.medical.service.IMedicalInsRuleInfoService;
  22. import org.jeecg.modules.medical.service.IMedicalInsRuleProjectDiagnoseService;
  23. import org.jeecg.modules.medical.service.IMedicalInsRuleProjectService;
  24. import org.jeecg.modules.medical.service.ISttlMasterBillService;
  25. import org.jeecg.modules.medical.service.ISttlMasterDetailBillService;
  26. import org.jeecg.modules.system.entity.SysUserDepart;
  27. import org.jeecg.modules.system.mapper.SysUserDepartMapper;
  28. import org.jeecg.modules.system.service.ISysDepartService;
  29. import org.jeecg.modules.system.service.ISysDictService;
  30. import org.jeecg.modules.system.service.ISysUserService;
  31. import org.junit.Test;
  32. import org.junit.runner.RunWith;
  33. import org.quartz.JobExecutionException;
  34. import org.springframework.beans.factory.annotation.Autowired;
  35. import org.springframework.boot.test.context.SpringBootTest;
  36. import org.springframework.data.redis.core.RedisTemplate;
  37. import org.springframework.scheduling.annotation.Async;
  38. import org.springframework.test.context.junit4.SpringRunner;
  39. import java.math.BigDecimal;
  40. import java.util.ArrayList;
  41. import java.util.Date;
  42. import java.util.HashMap;
  43. import java.util.List;
  44. import java.util.Map;
  45. import java.util.Random;
  46. import java.util.Set;
  47. import java.util.concurrent.ConcurrentHashMap;
  48. /**
  49. * @author soft01
  50. * @time 2023/5/28 21:41
  51. * @description '生成一些模拟数据'
  52. * @parentProject medical-java
  53. */
  54. @RunWith(SpringRunner.class)
  55. @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = JeecgSystemApplication.class)
  56. @Slf4j
  57. public class AfterwardsAuditDataTest {
  58. List<Map<String, String>> doctorList = new ArrayList<>();
  59. //就诊类别;住院(hosp)/门诊(outpatient)
  60. public static final String TREATMENTTYPE = "hops";
  61. public static final String NOTICE_TYPE = "after";
  62. public static final String medicalDeptCode = "1001"; //部门代码
  63. public static final String deptName = "儿科"; //科室
  64. // public static final String doctorName = "章邯";
  65. // public static final String doctorId = "1001001";
  66. // 患者信息
  67. public static final String patientId = "A1001";
  68. public static final String patientName = "魏冉";
  69. public static final String ZYH = "H001"; // 住院号
  70. // 医嘱/处方号
  71. public static final String prescriptionNumber = "P001";
  72. // 项目类型 medicine;consumable;diagnoses;
  73. public static final String PROJECTTYPE = "medicine";
  74. public static final String PROJECTCODE = "8001";
  75. @Autowired
  76. private IAfterwardsAuditService afterwardsAuditService;
  77. @Autowired
  78. private IAfterwardsAuditDetailService afterwardsAuditDetailService;
  79. @Autowired
  80. private ISysDepartService sysDepartService;
  81. @Autowired
  82. private SysUserDepartMapper sysUserDepartMapper;
  83. @Autowired
  84. private IAfterwardsIncidentAuditDiagnoseService afterwardsIncidentAuditDiagnoseService;
  85. @Autowired
  86. private AfterWaringLogTestJob afterWaringLogTestJob;
  87. @Autowired
  88. ISysUserService sysUserService;
  89. @Autowired
  90. ISttlMasterBillService sttlMasterBillService;
  91. @Autowired
  92. ISttlMasterDetailBillService sttlMasterDetailBillService;
  93. @Autowired
  94. IMedicalInsRuleProjectService medicalInsRuleProjectService;
  95. @Autowired
  96. IMedicalInsRuleProjectDiagnoseService medicalInsRuleProjectDiagnoseService;
  97. @Autowired
  98. RuleEngine ruleEngine;
  99. @Autowired
  100. IMedicalInsRuleInfoService medicalInsRuleInfoService;
  101. @Autowired
  102. RedisTemplate redisTemplate;
  103. // @Autowired
  104. // AfterWaringJob afterWaringJob;
  105. @Autowired
  106. IAfterIncidentDetailLogService afterIncidentDetailLogService;
  107. @Autowired
  108. ISysDictService sysDictService;
  109. // @Autowired
  110. // IMedicalInsRuleProjectService medicalInsRuleProjectService;
  111. @Test
  112. public void testProjectCode() {
  113. // List<MedicalInsRuleProject> medicalInsRuleProjectList = medicalInsRuleProjectService.getRuleProjectByMedicalProjectCode("C17040122300004123asfsdf");
  114. // System.out.println(medicalInsRuleProjectList);
  115. }
  116. @Test
  117. public void testDD() {
  118. List<DictModel> cateGoriesList = sysDictService.getDictItems(Constant.DICT_CATEGORIES_ITEMS_KEY);
  119. Map<String, String> cateGoriesMap = new HashMap<>();
  120. for (DictModel dictModel : cateGoriesList) {
  121. cateGoriesMap.put(dictModel.getText(), dictModel.getValue());
  122. }
  123. System.out.println(cateGoriesMap);
  124. }
  125. @Test
  126. public void testXX() {
  127. List<AfterIncidentDetailLog> afterIncidentDetailLogList = afterIncidentDetailLogService.lambdaQuery().eq(AfterIncidentDetailLog::getAfterIncidentLogId, 217).list();
  128. System.out.println(afterIncidentDetailLogList);
  129. }
  130. @Test
  131. public void testAfterWaringJob() {
  132. // try {
  133. //// afterWaringJob.execute(null);
  134. // } catch (JobExecutionException e) {
  135. // e.printStackTrace();
  136. // }
  137. }
  138. // @Autowired
  139. // org.jeecg.modules.medical.job.XCFYDatav_check_listJob XCFYDatav_check_listJob;
  140. // @Autowired
  141. // org.jeecg.modules.medical.job.XCFYDatav_diagnose_itemsJob XCFYDatav_diagnose_itemsJob;
  142. //
  143. // @Test
  144. // public void testXCFYDatav_diagnose_itemsJob(){
  145. // try {
  146. // XCFYDatav_diagnose_itemsJob.execute(null);
  147. // } catch (JobExecutionException e) {
  148. // e.printStackTrace();
  149. // }
  150. // }
  151. // @Test
  152. // public void testXCFYDatav_check_listJob(){
  153. // try {
  154. // XCFYDatav_check_listJob.execute(null);
  155. //
  156. // } catch (JobExecutionException e) {
  157. // e.printStackTrace();
  158. // }
  159. // }
  160. @Test
  161. public void testMAB() {
  162. try {
  163. // afterWaringLogTestJob.testMasterAdmBill();
  164. } catch (Exception e) {
  165. e.printStackTrace();
  166. }
  167. }
  168. @Test
  169. public void testJob() {
  170. try {
  171. afterWaringLogTestJob.execute(null);
  172. } catch (JobExecutionException e) {
  173. e.printStackTrace();
  174. }
  175. }
  176. @Test
  177. public void insertAfterWordDetail() {
  178. QueryWrapper<SttlMasterBill> queryWrapper = new QueryWrapper();
  179. // queryWrapper.notIn("jsdjh","0182940007_20201202081355","111929226_20201124104538","20200914-3603991000-014606");
  180. // queryWrapper.isNull("state");
  181. queryWrapper.last("limit 0,10");
  182. List<SttlMasterBill> sttlMasterBills = sttlMasterBillService.list(queryWrapper);
  183. List<AfterwardsAuditDetail> detailList = new ArrayList<>();
  184. Map<String, Boolean> codeDataMap = new ConcurrentHashMap<>();
  185. String[] sAr = {"1", "2", "3"};
  186. List<MedicalInsRuleInfo> medicalInsRuleInfoList = medicalInsRuleInfoService.lambdaQuery().in(MedicalInsRuleInfo::getTreatmentType, sAr).eq(MedicalInsRuleInfo::getState, Constant.EFF_STATE).list();
  187. if (!CollectionUtil.isNotEmpty(medicalInsRuleInfoList)) {
  188. log.error("规则配置表没有有效的规则");
  189. return;
  190. }
  191. /*
  192. * 根据规则id加载规则并初始化到redis里
  193. * 后续提醒通过redis加载id,把id传入规则引擎,迅速调用对应规则
  194. */
  195. // List<MedicalInsRuleInfo> midMedicalInsRuleInfoList = new ArrayList<>();
  196. Map<Integer, MedicalInsRuleInfo> medicalMap = new HashMap<>();
  197. for (MedicalInsRuleInfo medicalInsRuleInfo : medicalInsRuleInfoList) {
  198. medicalMap.put(medicalInsRuleInfo.getId(), medicalInsRuleInfo);
  199. }
  200. for (SttlMasterBill sttlMasterBill : sttlMasterBills) {
  201. AfterwardsAudit afterwardsAudit = afterwardsAuditService.lambdaQuery().eq(AfterwardsAudit::getPrescriptionNumber, sttlMasterBill.getJsdjh()).one();
  202. if (null == afterwardsAudit) {
  203. log.error("结算单据号找不到稽核单:{}", sttlMasterBill.getJsdjh());
  204. continue;
  205. }
  206. List<SttlMasterDetailBill> sttlMasterDetailBills = sttlMasterDetailBillService.lambdaQuery().eq(SttlMasterDetailBill::getJsdjh, sttlMasterBill.getJsdjh()).list();
  207. if (CollectionUtil.isNotEmpty(sttlMasterBills)) {
  208. for (SttlMasterDetailBill sttlMasterDetailBill : sttlMasterDetailBills) {
  209. genData(sttlMasterDetailBill, codeDataMap, afterwardsAudit, medicalInsRuleInfoList, medicalMap);
  210. }
  211. }
  212. }
  213. // afterwardsAuditDetailService.saveBatch(detailList, 1000);
  214. }
  215. @Test
  216. public void insertAfterWordDetailOne() {
  217. QueryWrapper<SttlMasterBill> queryWrapper = new QueryWrapper();
  218. // queryWrapper.notIn("jsdjh","0182940007_20201202081355","111929226_20201124104538","20200914-3603991000-014606");
  219. // queryWrapper.isNull("state");
  220. queryWrapper.last("limit 1,10");
  221. List<SttlMasterBill> sttlMasterBills = sttlMasterBillService.list(queryWrapper);
  222. List<AfterwardsAuditDetail> detailList = new ArrayList<>();
  223. Map<String, Boolean> codeDataMap = new ConcurrentHashMap<>();
  224. String[] sAr = {"1", "2", "3"};
  225. List<MedicalInsRuleInfo> medicalInsRuleInfoList = medicalInsRuleInfoService.lambdaQuery().in(MedicalInsRuleInfo::getTreatmentType, sAr).eq(MedicalInsRuleInfo::getState, Constant.EFF_STATE).list();
  226. if (!CollectionUtil.isNotEmpty(medicalInsRuleInfoList)) {
  227. log.error("规则配置表没有有效的规则");
  228. return;
  229. }
  230. /*
  231. * 根据规则id加载规则并初始化到redis里
  232. * 后续提醒通过redis加载id,把id传入规则引擎,迅速调用对应规则
  233. */
  234. // List<MedicalInsRuleInfo> midMedicalInsRuleInfoList = new ArrayList<>();
  235. Map<Integer, MedicalInsRuleInfo> medicalMap = new HashMap<>();
  236. for (MedicalInsRuleInfo medicalInsRuleInfo : medicalInsRuleInfoList) {
  237. medicalMap.put(medicalInsRuleInfo.getId(), medicalInsRuleInfo);
  238. }
  239. for (SttlMasterBill sttlMasterBill : sttlMasterBills) {
  240. AfterwardsAudit afterwardsAudit = afterwardsAuditService.lambdaQuery().eq(AfterwardsAudit::getPrescriptionNumber, sttlMasterBill.getJsdjh()).one();
  241. if (null == afterwardsAudit) {
  242. log.error("结算单据号找不到稽核单:{}", sttlMasterBill.getJsdjh());
  243. continue;
  244. }
  245. List<SttlMasterDetailBill> sttlMasterDetailBills = sttlMasterDetailBillService.lambdaQuery().eq(SttlMasterDetailBill::getJsdjh, sttlMasterBill.getJsdjh()).list();
  246. if (CollectionUtil.isNotEmpty(sttlMasterBills)) {
  247. for (SttlMasterDetailBill sttlMasterDetailBill : sttlMasterDetailBills) {
  248. genData(sttlMasterDetailBill, codeDataMap, afterwardsAudit, medicalInsRuleInfoList, medicalMap);
  249. }
  250. }
  251. }
  252. // afterwardsAuditDetailService.saveBatch(detailList, 1000);
  253. }
  254. @Async("commonTaskAsyncPool")
  255. public void genData(SttlMasterDetailBill sttlMasterDetailBill, Map<String, Boolean> codeDataMap, AfterwardsAudit afterwardsAudit, List<MedicalInsRuleInfo> medicalInsRuleInfoList, Map<Integer, MedicalInsRuleInfo> medicalMap) {
  256. AfterwardsAuditDetail afterwardsAuditDetail = new AfterwardsAuditDetail();
  257. String projectCode = sttlMasterDetailBill.getYbxmbm();
  258. // if (codeDataMap.containsKey(projectCode)) {
  259. // return;
  260. // }
  261. if (StringUtils.isBlank(projectCode)) {
  262. log.error("医保编码:{}", sttlMasterDetailBill);
  263. return;
  264. }
  265. if (StringUtils.isNotBlank(projectCode)) {
  266. Set<Integer> medicalRuleInfoIdSet = RuleEngine.itemCodeAndRuleIdMap.get(projectCode);
  267. if (CollectionUtil.isEmpty(medicalRuleInfoIdSet)) {
  268. log.info("医保编码未匹配到规则:{}", projectCode);
  269. if (!codeDataMap.containsKey(projectCode)) {
  270. ruleEngine.genItemCodeAndRuleIdMapTest(projectCode, afterwardsAuditDetail, medicalInsRuleInfoList, medicalMap, codeDataMap);
  271. }
  272. } else {
  273. List<Integer> ruleIdList = new ArrayList<>(medicalRuleInfoIdSet);
  274. Integer ruleId = ruleIdList.get(0);
  275. MedicalInsRuleInfo medicalInsRuleInfo = medicalInsRuleInfoService.getById(ruleId);
  276. afterwardsAuditDetail.setMedicalInsRuleInfoId(ruleId);
  277. // MedicalInsRuleInfo medicalInsRuleInfo = medicalMap.get(medicalInsRuleProject.getMedicalInsRuleInfoId());
  278. afterwardsAuditDetail.setMedicalInsRuleInfoName(medicalInsRuleInfo.getRuleName());
  279. afterwardsAuditDetail.setMedicalInsRuleInfoCode(medicalInsRuleInfo.getRuleCode());
  280. Object desc = redisTemplate.opsForHash().get(Constant.PROJECT_VOLIDATION_DESC_KEY + ruleId, projectCode);
  281. if (null != desc && StringUtils.isNotBlank(desc.toString())) {
  282. afterwardsAuditDetail.setDescription(desc.toString());
  283. } else {
  284. afterwardsAuditDetail.setDescription(medicalInsRuleInfo.getDescription());
  285. }
  286. afterwardsAuditDetail.setTreatmentType(medicalInsRuleInfo.getTreatmentType());
  287. }
  288. }
  289. String projectType = null;
  290. if (projectCode.startsWith(Constant.CONSUMABLE_START_KEY)) {
  291. projectType = "consumable";
  292. } else if (projectCode.startsWith(Constant.RESTORATIVES_T_START_KEY) ||
  293. projectCode.startsWith(Constant.RESTORATIVES_X_START_KEY) ||
  294. projectCode.startsWith(Constant.RESTORATIVES_Z_START_KEY)) {
  295. projectType = "medicine";
  296. //耗材都是字母c开头, 药品是X或Z T, 医疗服务是数字开头
  297. } else if (SPELUtil.isNumeric(projectCode)) {
  298. projectType = "diagnoses";
  299. }
  300. afterwardsAuditDetail.setProjectType(projectType);
  301. afterwardsAuditDetail.setAfterwardsAuditId(afterwardsAudit.getId());
  302. afterwardsAuditDetail.setAmount(Double.parseDouble(sttlMasterDetailBill.get金额()));
  303. afterwardsAuditDetail.setDoctorId(afterwardsAudit.getDoctorId());
  304. afterwardsAuditDetail.setDoctorName(afterwardsAudit.getDoctorName());
  305. afterwardsAuditDetail.setMedicalDeptCode(afterwardsAudit.getMedicalDeptCode());
  306. afterwardsAuditDetail.setMedicalDeptName(afterwardsAudit.getMedicalDeptName());
  307. afterwardsAuditDetail.setNoticeType("after");
  308. afterwardsAuditDetail.setMedicalProjectCode(projectCode);
  309. afterwardsAuditDetail.setMedicalProjectName(sttlMasterDetailBill.get医保项目名称());
  310. afterwardsAuditDetail.setPatientId(afterwardsAudit.getPatientId());
  311. afterwardsAuditDetail.setPatientName(afterwardsAudit.getPatientName());
  312. afterwardsAuditDetail.setViolationLevel(0);
  313. afterwardsAuditDetail.setProejctCode(projectCode);
  314. afterwardsAuditDetail.setProejctName(sttlMasterDetailBill.get医保项目名称());
  315. afterwardsAuditDetail.setCreateTime(new Date());
  316. Double quantit = Double.parseDouble(sttlMasterDetailBill.get数量());
  317. afterwardsAuditDetail.setQuantity(quantit.intValue());
  318. afterwardsAuditDetail.setReminderLevel("1");
  319. afterwardsAuditDetail.setPrice(new BigDecimal(sttlMasterDetailBill.get单价()));
  320. afterwardsAuditDetail.setPrescriptionNumber(afterwardsAudit.getPrescriptionNumber());
  321. afterwardsAuditDetail.setOutpatientNumber(afterwardsAudit.getOutpatientNumber());
  322. // detailList.add(afterwardsAuditDetail);
  323. afterwardsAuditDetailService.save(afterwardsAuditDetail);
  324. }
  325. @Test
  326. public void generateAfterwardsAuditData() {
  327. Map<String, String> doctorItem1 = new HashMap<>();
  328. doctorItem1.put("doctorName", "章邯");
  329. doctorItem1.put("doctorId", "1001001");
  330. Map<String, String> doctorItem2 = new HashMap<>();
  331. doctorItem2.put("doctorName", "楚南公");
  332. doctorItem2.put("doctorId", "1001006");
  333. Map<String, String> doctorItem3 = new HashMap<>();
  334. doctorItem3.put("doctorName", "晓梦");
  335. doctorItem3.put("doctorId", "1001005");
  336. Map<String, String> doctorItem4 = new HashMap<>();
  337. doctorItem4.put("doctorName", "柳梦璃");
  338. doctorItem4.put("doctorId", "1002002");
  339. Map<String, String> doctorItem5 = new HashMap<>();
  340. doctorItem5.put("doctorName", "司马懿");
  341. doctorItem5.put("doctorId", "1001201");
  342. Map<String, String> doctorItem6 = new HashMap<>();
  343. doctorItem6.put("doctorName", "荀彧");
  344. doctorItem6.put("doctorId", "1001202");
  345. Map<String, String> doctorItem7 = new HashMap<>();
  346. doctorItem7.put("doctorName", "夏侯渊");
  347. doctorItem7.put("doctorId", "1001203");
  348. Map<String, String> doctorItem8 = new HashMap<>();
  349. doctorItem8.put("doctorName", "曹仁");
  350. doctorItem8.put("doctorId", "1001205");
  351. Map<String, String> doctorItem9 = new HashMap<>();
  352. doctorItem9.put("doctorName", "孙权");
  353. doctorItem9.put("doctorId", "1001206");
  354. Map<String, String> doctorItem10 = new HashMap<>();
  355. doctorItem10.put("doctorName", "鲁肃");
  356. doctorItem10.put("doctorId", "1001207");
  357. doctorList.add(doctorItem1);
  358. doctorList.add(doctorItem2);
  359. doctorList.add(doctorItem3);
  360. doctorList.add(doctorItem4);
  361. doctorList.add(doctorItem5);
  362. doctorList.add(doctorItem6);
  363. doctorList.add(doctorItem7);
  364. doctorList.add(doctorItem8);
  365. doctorList.add(doctorItem9);
  366. doctorList.add(doctorItem10);
  367. for (Map<String, String> stringStringMap : doctorList) {
  368. String doctorName = stringStringMap.get("doctorName");
  369. String doctorId = stringStringMap.get("doctorId");
  370. // 写主表
  371. AfterwardsAudit extracted = writeMaster(doctorId, doctorName);
  372. // 写从表
  373. writeSlave(doctorId, doctorName, extracted.getId(), 5);
  374. }
  375. }
  376. private void writeSlave(String doctorId, String doctorName, Integer id, int number) {
  377. for (int i = 0; i < number; i++) {
  378. AfterwardsAuditDetail aad = new AfterwardsAuditDetail();
  379. aad.setAfterwardsAuditId(id);
  380. aad.setMedicalInsRuleInfoId(1);
  381. aad.setMedicalInsRuleInfoCode("1");
  382. aad.setMedicalInsRuleInfoName("前");
  383. aad.setTreatmentType(TREATMENTTYPE);
  384. aad.setReminderLevel("1");
  385. aad.setViolationLevel(1);
  386. aad.setNoticeType(NOTICE_TYPE);
  387. aad.setMedicalDeptCode(medicalDeptCode);
  388. aad.setMedicalDeptName(deptName);
  389. aad.setDoctorName(doctorName);
  390. aad.setDoctorId(doctorId);
  391. aad.setPatientId(patientId);
  392. aad.setPatientName(patientName);
  393. aad.setOutpatientNumber(aad.getOutpatientNumber());
  394. aad.setPrescriptionNumber(prescriptionNumber);
  395. aad.setProjectType(PROJECTTYPE);
  396. aad.setProejctCode(PROJECTCODE);
  397. aad.setQuantity(1);
  398. aad.setMedicalProjectCode("8001");
  399. aad.setMedicalProjectName("1");
  400. aad.setAmount(Double.valueOf(AfterwardsAuditDataTest.getRandom()));
  401. aad.setCreateBy("admin");
  402. aad.setCreateTime(new Date());
  403. afterwardsAuditDetailService.save(aad);
  404. }
  405. }
  406. AfterwardsAudit writeMaster(String doctorId, String doctorName) {
  407. AfterwardsAudit aa = new AfterwardsAudit();
  408. aa.setTreatmentType(TREATMENTTYPE);
  409. aa.setNoticeType(NOTICE_TYPE);
  410. aa.setMedicalDeptCode(medicalDeptCode);
  411. aa.setMedicalDeptName(deptName);
  412. aa.setDoctorName(doctorName);
  413. aa.setDoctorId(doctorId);
  414. aa.setPatientId(patientId);
  415. aa.setPatientName(patientName);
  416. aa.setOutpatientNumber(ZYH);
  417. aa.setPrescriptionNumber(prescriptionNumber);
  418. aa.setFeedbackResult("SUCCESS");
  419. aa.setFeedbackCode("0000");
  420. aa.setAuditSource("system(系统)");
  421. aa.setCreateBy("admin");
  422. aa.setCreateTime(new Date());
  423. afterwardsAuditService.save(aa);
  424. return aa;
  425. }
  426. public static void main(String[] args) {
  427. getRandom();
  428. }
  429. private static double getRandom() {
  430. Random a = new Random();
  431. int i = a.nextInt(200) - 80;
  432. double v = a.nextDouble();
  433. System.out.println(i + v);
  434. return i + v;
  435. }
  436. @Test
  437. public void depart() {
  438. String a = "1711012523714580481\n" +
  439. "1711012523949461506\n" +
  440. "1711012524184342529";
  441. String[] lines = a.split("\n");
  442. for (String id : lines) {
  443. SysUserDepart userDepart = new SysUserDepart(id, "1711037900931567617");
  444. sysUserDepartMapper.insert(userDepart);
  445. }
  446. }
  447. }