Selaa lähdekoodia

add: 增加事后审核工单测试数据

Scott 2 vuotta sitten
vanhempi
säilyke
f468f654ad

+ 6 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/MedicalOrderInfoResponse.java

@@ -41,4 +41,10 @@ public class MedicalOrderInfoResponse implements Serializable {
     @ApiModelProperty(value = "医嘱状态")
     private String orderStatus;
 
+    @ApiModelProperty(value = "医院项目编码")
+    private String itemId;
+
+    @ApiModelProperty(value = "医保项目编码")
+    private String medicalInsuranceNumber;
+    
 }

+ 7 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/ruleengine/projectcache/HisMedicalProjectCache.java

@@ -12,6 +12,7 @@ import org.jeecg.modules.medical.service.IMaterialItemsService;
 import org.jeecg.modules.medical.service.IMedicalInsuranceDrugsService;
 import org.jeecg.modules.medical.service.ITreatmentItemsService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.HashOperations;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
 
@@ -105,4 +106,10 @@ public class HisMedicalProjectCache {
             }
         }
     }
+
+    public <R> R loadHisMedicalMapping(String medicalProjectCode) {
+        HashOperations hashOperations = redisTemplate.opsForHash();
+        R o = (R) hashOperations.get(Constant.HIS_MEDICAL_DICT_KEY, medicalProjectCode);
+        return o;
+    }
 }

+ 10 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/AfterwardsAuditServiceImpl.java

@@ -15,6 +15,7 @@ import org.jeecg.modules.medical.entity.AfterwardsAudit;
 import org.jeecg.modules.medical.entity.AfterwardsAuditDetail;
 import org.jeecg.modules.medical.entity.MedicalDoctorAppealRecord;
 import org.jeecg.modules.medical.mapper.AfterwardsAuditMapper;
+import org.jeecg.modules.medical.ruleengine.projectcache.HisMedicalProjectCache;
 import org.jeecg.modules.medical.service.IAfterwardsAuditService;
 import org.jeecg.modules.medical.service.IMedicalDoctorAppealRecordService;
 import org.jeecg.modules.system.entity.SysDepart;
@@ -50,7 +51,7 @@ public class AfterwardsAuditServiceImpl extends ServiceImpl<AfterwardsAuditMappe
     /** 科室/医生复核服务 */
     private final IMedicalDoctorAppealRecordService appealRecordService;
     private final ISysUserService sysUserService;
-
+    private final HisMedicalProjectCache hisMedicalProjectCache;
 
     @Override
     public IPage<ReportAfterQueryResponseBO> departmentStatistics(Page<AfterwardsAudit> page, AfterwardsAudit afterwardsAudit) {
@@ -367,7 +368,14 @@ public class AfterwardsAuditServiceImpl extends ServiceImpl<AfterwardsAuditMappe
 
     @Override
     public List<MedicalOrderInfoResponse> loadMedicalOrderInfo(Integer id) {
-        return baseMapper.loadMedicalOrderInfo(id);
+        List<MedicalOrderInfoResponse> medicalOrderInfoResponses = baseMapper.loadMedicalOrderInfo(id);
+
+        for (MedicalOrderInfoResponse medicalOrderInfoRespons : medicalOrderInfoResponses) {
+            String itemId = medicalOrderInfoRespons.getItemId();
+            String medicalInsuranceNumber = hisMedicalProjectCache.loadHisMedicalMapping(itemId);
+
+        }
+        return null;
     }
 
     /**

+ 138 - 0
jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/AfterwardsAuditDataTest.java

@@ -0,0 +1,138 @@
+package org.jeecg;
+
+import org.jeecg.modules.medical.entity.AfterwardsAudit;
+import org.jeecg.modules.medical.entity.AfterwardsAuditDetail;
+import org.jeecg.modules.medical.service.IAfterwardsAuditDetailService;
+import org.jeecg.modules.medical.service.IAfterwardsAuditService;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.Random;
+
+/**
+ * @author soft01
+ * @time 2023/5/28 21:41
+ * @description '生成一些模拟数据'
+ * @parentProject medical-java
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,classes = JeecgSystemApplication.class)
+public class AfterwardsAuditDataTest {
+
+    //就诊类别;住院(hosp)/门诊(outpatient)
+    public static final String TREATMENTTYPE = "hops";
+    public static final String NOTICE_TYPE = "after";
+
+    public static final String medicalDeptCode = "1001"; //部门代码
+    public static final String deptName = "儿科"; //科室
+
+    public static final String doctorName = "章邯";
+    public static final String doctorId = "1001001";
+
+    //  患者信息
+    public static final String patientId = "A1001";
+    public static final String patientName = "魏冉";
+
+    public static final String ZYH = "H001"; // 住院号
+
+    // 医嘱/处方号
+    public static final String prescriptionNumber = "P001";
+
+    // 项目类型 medicine;consumable;diagnoses;
+    public static final String PROJECTTYPE = "medicine";
+    public static final String PROJECTCODE = "8001";
+
+    @Autowired
+    private IAfterwardsAuditService afterwardsAuditService;
+    @Autowired
+    private IAfterwardsAuditDetailService afterwardsAuditDetailService;
+
+
+
+    @Test
+    public void generateAfterwardsAuditData() {
+        // 写主表
+        AfterwardsAudit extracted = writeMaster();
+        // 写从表
+        writeSlave(extracted.getId(), 5);
+    }
+
+    private void writeSlave(Integer id, int number) {
+        for (int i = 0; i < number; i++) {
+            AfterwardsAuditDetail aad = new AfterwardsAuditDetail();
+            aad.setAfterwardsAuditId(id);
+            aad.setMedicalInsRuleInfoId(1);
+            aad.setMedicalInsRuleInfoCode("1");
+            aad.setMedicalInsRuleInfoName("前");
+            aad.setTreatmentType(TREATMENTTYPE);
+            aad.setReminderLevel("1");
+            aad.setViolationLevel(1);
+            aad.setNoticeType(NOTICE_TYPE);
+            aad.setMedicalDeptCode(medicalDeptCode);
+            aad.setMedicalDeptName(deptName);
+            aad.setDoctorName(doctorName);
+            aad.setDoctorId(doctorId);
+
+            aad.setPatientId(patientId);
+            aad.setPatientName(patientName);
+
+            aad.setOutpatientNumber(aad.getOutpatientNumber());
+            aad.setPrescriptionNumber(prescriptionNumber);
+            aad.setProjectType(PROJECTTYPE);
+            aad.setProejctCode(PROJECTCODE);
+
+            aad.setQuantity(new BigDecimal("1"));
+            aad.setMedicalProjectCode("1");
+            aad.setMedicalProjectName("1");
+
+            aad.setAmount(BigDecimal.valueOf(AfterwardsAuditDataTest.getRandom()));
+
+            aad.setCreateBy("admin");
+            aad.setCreateTime(new Date());
+            afterwardsAuditDetailService.save(aad);
+        }
+    }
+
+
+    AfterwardsAudit writeMaster() {
+        AfterwardsAudit aa = new AfterwardsAudit();
+        aa.setTreatmentType(TREATMENTTYPE);
+        aa.setNoticeType(NOTICE_TYPE);
+        aa.setMedicalDeptCode(medicalDeptCode);
+        aa.setMedicalDeptName(deptName);
+        aa.setDoctorName(doctorName);
+        aa.setDoctorId(doctorId);
+        aa.setPatientId(patientId);
+        aa.setPatientName(patientName);
+
+        aa.setOutpatientNumber(ZYH);
+        aa.setPrescriptionNumber(prescriptionNumber);
+        aa.setFeedbackResult("SUCCESS");
+        aa.setFeedbackCode("0000");
+
+        aa.setCreateBy("admin");
+        aa.setCreateTime(new Date());
+
+        afterwardsAuditService.save(aa);
+        return aa;
+    }
+
+    public static void main(String[] args) {
+
+        getRandom();
+    }
+
+    private static double getRandom() {
+        Random a = new Random(150);
+        int i = a.nextInt(200);
+        double v = a.nextDouble();
+        System.out.println(i + v);
+        return i + v;
+    }
+}