Ver Fonte

表名调整

0027005599 há 2 anos atrás
pai
commit
7239d33276

+ 13 - 0
jeecg-boot-base-core/src/main/java/org/jeecg/common/util/Md5Util.java

@@ -1,5 +1,6 @@
 package org.jeecg.common.util;
 
+import java.nio.charset.StandardCharsets;
 import java.security.MessageDigest;
 
 /**
@@ -44,4 +45,16 @@ public class Md5Util {
 		return resultString;
 	}
 
+	public static void main(String[] args) {
+		String param = "removeDup_124315543642225_15844491390_20230813181651_9_01_";
+		String hdId = "48843536711";
+		String encode = Md5Util.md5Encode(param, "utf-8");
+		System.out.println("原本长度:"+param.getBytes(StandardCharsets.UTF_8).length);
+		System.out.println(param.getBytes(StandardCharsets.UTF_8).length+hdId.getBytes(StandardCharsets.UTF_8).length);
+		System.out.println("md5长度:"+encode.getBytes(StandardCharsets.UTF_8).length);
+
+//		58-32=16
+		System.out.println(param.getBytes(StandardCharsets.UTF_8).length-encode.getBytes(StandardCharsets.UTF_8).length+hdId.getBytes(StandardCharsets.UTF_8).length);
+	}
+
 }

+ 13 - 5
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/job/AfterWaringLogJob.java

@@ -54,7 +54,10 @@ public class AfterWaringLogJob implements Job {
 
     @Async("commonTaskAsyncPool")
     public void dealAftertask(MasterAdmissionBill masterAdmissionBill) {
-        masterAdmissionBillService.lambdaUpdate().set(MasterAdmissionBill::getState, Constant.DEALING).eq(MasterAdmissionBill::getId, masterAdmissionBill.getId()).update();
+        boolean updateCount = masterAdmissionBillService.lambdaUpdate().set(MasterAdmissionBill::getState, Constant.DEALING).eq(MasterAdmissionBill::getId, masterAdmissionBill.getId()).update();
+        if(!updateCount){
+            return;
+        }
         AfterIncidentLog afterIncidentLog = afterIncidentLogService.addAfterIncidentLog(masterAdmissionBill);
         List<HospitalizatioSettleDetail> hospitalizatioSettleDetails = hospitalizatioSettleDetailService.lambdaQuery().eq(HospitalizatioSettleDetail::getHisid, masterAdmissionBill.getHisid()).list();
         List<AfterIncidentDetailLog> afterIncidentDetailLogList = new ArrayList<>();
@@ -68,9 +71,9 @@ public class AfterWaringLogJob implements Job {
             afterIncidentDetailLog = new AfterIncidentDetailLog();
 
             afterIncidentDetailLog.setAfterIncidentLogId(afterIncidentLog.getId());
-//            afterIncidentDetailLog.setMedical_diagnose_name_str(masterAdmissionBill.getDischargeDiseaseNameMain());
-//            afterIncidentDetailLog.setMedical_diagnose_code_str(masterAdmissionBill.getDischargeDiseaseIdMain());
-            afterIncidentDetailLog.setAmount(hospitalizatioSettleDetail.getCost().doubleValue());
+            afterIncidentDetailLog.setMedical_diagnose_name_str(masterAdmissionBill.getYbAdmissionDiseaseName());
+            afterIncidentDetailLog.setMedical_diagnose_code_str(masterAdmissionBill.getYbAdmissionDiseaseId());
+            afterIncidentDetailLog.setAmount(hospitalizatioSettleDetail.getCost());
             afterIncidentDetailLog.setMedical_project_code(hospitalizatioSettleDetail.getItemId());
             afterIncidentDetailLog.setMedical_project_name(hospitalizatioSettleDetail.getItemName());
             afterIncidentDetailLog.setProject_name(hospitalizatioSettleDetail.getItemNameHosp());
@@ -92,7 +95,12 @@ public class AfterWaringLogJob implements Job {
             afterIncidentDetailLog.setDiagnose_name_str(masterAdmissionBill.getDischargeDiseaseNameMain());
             afterIncidentDetailLog.setMedical_insurance_mark(masterAdmissionBill.getPayMethod());
             afterIncidentDetailLog.setMedical_specification(hospitalizatioSettleDetail.getDrugSpec());
-            afterIncidentDetailLog.setTotal_amount(masterAdmissionBill.getMedfeeSumamt().doubleValue());
+            afterIncidentDetailLog.setTotal_amount(masterAdmissionBill.getMedfeeSumamt());
+            afterIncidentDetailLog.setMedical_dept_code(masterAdmissionBill.getAdmissionDeptId());
+            afterIncidentDetailLog.setMedical_dept_name(masterAdmissionBill.getAdmissionDeptName());
+            afterIncidentDetailLog.setPatient_id(masterAdmissionBill.getPatientId());
+            afterIncidentDetailLog.setPatient_name(masterAdmissionBill.getPatientName());
+            afterIncidentDetailLog.setPatient_age(masterAdmissionBill.getPatientAge());
 //            afterIncidentDetailLog.setOrderType();
 //            afterIncidentDetailLog.setOrderCatalog();
             afterIncidentDetailLogList.add(afterIncidentDetailLog);

+ 0 - 35
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/job/AfterWaringLogTestJob.java

@@ -123,39 +123,4 @@ public class AfterWaringLogTestJob{
 
 
 
-
-    public void testMasterAdmBill() {
-        log.info("开始同步master_admission_bill数据");
-        String whereSql = "";
-        Date visitTime = getLastVisitDate();
-        log.info("开始同步master_admission_bill数据,获取上个同步记录访问日期:{}", visitTime);
-        Map<String,Object> paramMap = new HashMap<>();
-        if(null != visitTime){
-            whereSql = "where VISIT_TIME>:VISIT_TIME and rownum<1000";
-            paramMap.put("VISIT_TIME", visitTime);
-        }
-        String sql = "select * from master_admission_bill %s order by VISIT_TIME asc";
-        sql = String.format(sql, whereSql);
-        String insertSql = "INSERT INTO master_admission_bill (id, bridge_id, hisid, zyh, recipe_no, pay_method, benefit_type, hospital_id, hospital_name, p_level_yy, refund_flag, p_level, bmi_area_id, bmi_area_name, bill_date, refund_date, admission_dept_id, admission_dept_name, adm_bed, transfer_dept_id, transfer_dept_name, discharge_dept_id, discharge_dept_name, dscg_bed, doctor_id, doctor_name, patient_id, patient_name, patient_gender, patient_birthday, patient_age, patient_age_days, claim_type, visit_time, if_local_flag, admission_date, discharge_date, zyts, discharge_status, pre_admission_date, days_re_admission_31, yb_admission_disease_id, yb_admission_disease_name, yb_discharge_disease_id_main, yb_discharge_disease_name_main, admission_disease_id, admission_disease_name, discharge_disease_id_main, discharge_disease_name_main, yb_pay_type, drgs_code, drgs_name, medfee_sumamt, fulamt_ownpay_amt, overlmt_selfpay, preselfpay_amt, inscp_scp_amt, act_pay_dedc, hifp_pay, pool_prop_selfpay, cvlserv_pay, hifes_pay, hifmi_pay, hifob_pay, maf_pay, oth_pay, fund_pay_sumamt, state, create_time, create_by) " +
-                "VALUES (:ID,:BRIDGE_ID,:HISID,:ZYH,:RECIPE_NO,:PAY_METHOD,:BENEFIT_TYPE,:HOSPITAL_ID,:HOSPITAL_NAME,:P_LEVEL_YY,:REFUND_FLAG,:P_LEVEL,:BMI_AREA_ID,:BMI_AREA_NAME,:BILL_DATE,:REFUND_DATE,:ADMISSION_DEPT_ID,:ADMISSION_DEPT_NAME,:ADM_BED,:TRANSFER_DEPT_ID,:TRANSFER_DEPT_NAME,:DISCHARGE_DEPT_ID,:DISCHARGE_DEPT_NAME,:DSCG_BED,:DOCTOR_ID,:DOCTOR_NAME,:PATIENT_ID,:PATIENT_NAME,:PATIENT_GENDER,:PATIENT_BIRTHDAY,:PATIENT_AGE,:PATIENT_AGE_DAYS,:CLAIM_TYPE,:VISIT_TIME,:IF_LOCAL_FLAG,:ADMISSION_DATE,:DISCHARGE_DATE,:ZYTS,:DISCHARGE_STATUS,:PRE_ADMISSION_DATE,:DAYS_RE_ADMISSION_31,:YB_ADMISSION_DISEASE_ID,:YB_ADMISSION_DISEASE_NAME,:YB_DISCHARGE_DISEASE_ID_MAIN,:YB_DISCHARGE_DISEASE_NAME_MAIN,:ADMISSION_DISEASE_ID,:ADMISSION_DISEASE_NAME,:DISCHARGE_DISEASE_ID_MAIN,:DISCHARGE_DISEASE_NAME_MAIN,:YB_PAY_TYPE,:DRGS_CODE,:DRGS_NAME,:MEDFEE_SUMAMT,:FULAMT_OWNPAY_AMT,:OVERLMT_SELFPAY,:PRESELFPAY_AMT,:INSCP_SCP_AMT,:ACT_PAY_DEDC,:HIFP_PAY,:POOL_PROP_SELFPAY,:CVLSERV_PAY,:HIFES_PAY,:HIFMI_PAY,:HIFOB_PAY,:MAF_PAY,:OTH_PAY,:FUND_PAY_SUMAMT,:STATE,:NOW,:CREATE_BY)";
-        xcfyDataTransferService.transferDataList(sql, insertSql, paramMap, new TransferDataCallFunction() {
-            @Override
-            public void transferData(Map<String, Object> dataMap) throws Exception {
-                dataMap.put("CREATE_BY","auto");
-                dataMap.put("NOW",new Date());
-            }
-        });
-
-
-    }
-
-    public Date getLastVisitDate(){
-        List<MasterAdmissionBill> masterAdmissionBillList = masterAdmissionBillService.lambdaQuery().orderByDesc(MasterAdmissionBill::getVisitTime).last("limit 1").list();
-        if(CollectionUtil.isEmpty(masterAdmissionBillList)){
-            return null;
-        }
-        return masterAdmissionBillList.get(0).getVisitTime();
-    }
-
-
 }

+ 1 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/job/XCFYDataV_OPERATIONJob.java

@@ -19,6 +19,7 @@ import java.util.Map;
 
 /**
  * 住院手术信息,增量同步
+ * 每小时同步一次
  */
 @Slf4j
 public class XCFYDataV_OPERATIONJob implements Job {

+ 1 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/job/XCFYDatav_check_listJob.java

@@ -10,7 +10,6 @@ import org.quartz.Job;
 import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
 
 import java.util.Date;
 import java.util.HashMap;
@@ -22,7 +21,7 @@ import java.util.Map;
  * 每个小时执行一次
  */
 @Slf4j
-public class XCFYDatav_check_listJob implements Job{
+public class XCFYDatav_check_listJob implements Job {
 
     @Autowired
     XCFYDataTransferService xcfyDataTransferService;

+ 1 - 7
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/job/XCFYDatav_diagnose_itemsJob.java

@@ -1,23 +1,17 @@
 package org.jeecg.modules.medical.job;
 
-import cn.hutool.core.collection.CollectionUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.modules.medical.Constant;
 import org.jeecg.modules.medical.afterwaring.XCFYDataTransferService;
-import org.jeecg.modules.medical.entity.DiagnoseItems;
-import org.jeecg.modules.medical.entity.HospitalizatioSettleDetail;
 import org.jeecg.modules.medical.ruleengine.TransferDataCallFunction;
 import org.jeecg.modules.medical.service.IDiagnoseItemsService;
-import org.jeecg.modules.medical.service.IHospitalizatioSettleDetailService;
 import org.quartz.Job;
 import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
 
 import java.util.Date;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -25,7 +19,7 @@ import java.util.Map;
  * 每个月执行一次
  */
 @Slf4j
-public class XCFYDatav_diagnose_itemsJob implements Job{
+public class XCFYDatav_diagnose_itemsJob implements Job {
 
     @Autowired
     XCFYDataTransferService xcfyDataTransferService;

+ 5 - 11
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/job/XCFYDatav_his_patientJob.java

@@ -1,13 +1,8 @@
 package org.jeecg.modules.medical.job;
 
-import cn.hutool.core.collection.CollectionUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.service.IService;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.modules.medical.afterwaring.XCFYDataTransferService;
-import org.jeecg.modules.medical.entity.HospitalizatioSettleDetail;
 import org.jeecg.modules.medical.ruleengine.TransferDataCallFunction;
-import org.jeecg.modules.medical.service.IHospitalizatioSettleDetailService;
 import org.quartz.Job;
 import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
@@ -16,7 +11,6 @@ import org.springframework.jdbc.core.JdbcTemplate;
 
 import java.util.Date;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -38,13 +32,13 @@ public class XCFYDatav_his_patientJob implements Job {
     @Override
     public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
         String sql = "select * from v_his_patient where rownum<1000 %s";
-        while(true) {
+        while (true) {
             log.info("开始同步v_his_patient数据");
             String whereSql = "";
             Long id = getLastId();
             log.info("开始同步v_his_patient数据,获取上个同步记录访问最大主键ID:{}", id);
-            Map<String,Object> paramMap = new HashMap<>();
-            if(null != id && id>0){
+            Map<String, Object> paramMap = new HashMap<>();
+            if (null != id && id > 0) {
                 whereSql = "and ID>:ID";
                 paramMap.put("ID", id);
             }
@@ -58,7 +52,7 @@ public class XCFYDatav_his_patientJob implements Job {
                     dataMap.put("CREATE_TIME", new Date());
                 }
             });
-            if(count<=0){
+            if (count <= 0) {
                 log.info("v_his_patient 没有大于id:{} 的数据,停止同步", id);
                 return;
             }
@@ -66,7 +60,7 @@ public class XCFYDatav_his_patientJob implements Job {
 
     }
 
-    public Long getLastId(){
+    public Long getLastId() {
 
         Long id = jdbcTemplate.queryForObject("select max(id) as id from his_patient", Long.class);
         return id;

+ 6 - 17
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/job/XCFYDatav_master_admission_billJob.java

@@ -2,27 +2,15 @@ package org.jeecg.modules.medical.job;
 
 import cn.hutool.core.collection.CollectionUtil;
 import lombok.extern.slf4j.Slf4j;
-import org.jeecg.common.system.vo.DictModel;
-import org.jeecg.common.util.dynamic.db.DynamicDBUtil;
-import org.jeecg.modules.medical.Constant;
 import org.jeecg.modules.medical.afterwaring.XCFYDataTransferService;
-import org.jeecg.modules.medical.entity.HospitalizatioSettleDetail;
 import org.jeecg.modules.medical.entity.MasterAdmissionBill;
-import org.jeecg.modules.medical.entity.MedicalInsRuleInfo;
-import org.jeecg.modules.medical.ruleengine.RuleEngine;
 import org.jeecg.modules.medical.ruleengine.TransferDataCallFunction;
-import org.jeecg.modules.medical.service.IAfterStatisticsService;
 import org.jeecg.modules.medical.service.IMasterAdmissionBillService;
-import org.jeecg.modules.medical.service.IMedicalInsRuleInfoService;
-import org.jeecg.modules.system.service.ISysDictService;
 import org.quartz.Job;
 import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
-import org.springframework.scheduling.annotation.Async;
 
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -42,16 +30,17 @@ public class XCFYDatav_master_admission_billJob implements Job {
 
     String insertSql = "INSERT INTO `master_admission_bill` (`id`, `bridge_id`, `hisid`, `zyh`, `recipe_no`, `pay_method`, `benefit_type`, `hospital_id`, `hospital_name`, `p_level_yy`, `refund_flag`, `p_level`, `bmi_area_id`, `bmi_area_name`, `bill_date`, `refund_date`, `admission_dept_id`, `admission_dept_name`, `adm_bed`, `transfer_dept_id`, `transfer_dept_name`, `discharge_dept_id`, `discharge_dept_name`, `dscg_bed`, `doctor_id`, `doctor_name`, `patient_id`, `patient_name`, `patient_gender`, `patient_birthday`, `patient_age`, `patient_age_days`, `claim_type`, `visit_time`, `if_local_flag`, `admission_date`, `discharge_date`, `zyts`, `discharge_status`, `pre_admission_date`, `days_re_admission_31`, `yb_admission_disease_id`, `yb_admission_disease_name`, `yb_discharge_disease_id_main`, `yb_discharge_disease_name_main`, `admission_disease_id`, `admission_disease_name`, `discharge_disease_id_main`, `discharge_disease_name_main`, `yb_pay_type`, `drgs_code`, `drgs_name`, `medfee_sumamt`, `fulamt_ownpay_amt`, `overlmt_selfpay`, `preselfpay_amt`, `inscp_scp_amt`, `act_pay_dedc`, `hifp_pay`, `pool_prop_selfpay`, `cvlserv_pay`, `hifes_pay`, `hifmi_pay`, `hifob_pay`, `maf_pay`, `oth_pay`, `fund_pay_sumamt`, `state`, `create_time`, `create_by`) " +
             "VALUES (:ID,:BRIDGE_ID,:HISID,:ZYH,:RECIPE_NO,:PAY_METHOD,:BENEFIT_TYPE,:HOSPITAL_ID,:HOSPITAL_NAME,:P_LEVEL_YY,:REFUND_FLAG,:P_LEVEL,:BMI_AREA_ID,:BMI_AREA_NAME,:BILL_DATE,:REFUND_DATE,:ADMISSION_DEPT_ID,:ADMISSION_DEPT_NAME,:ADM_BED,:TRANSFER_DEPT_ID,:TRANSFER_DEPT_NAME,:DISCHARGE_DEPT_ID,:DISCHARGE_DEPT_NAME,:DSCG_BED,:DOCTOR_ID,:DOCTOR_NAME,:PATIENT_ID,:PATIENT_NAME,:PATIENT_GENDER,:PATIENT_BIRTHDAY,:PATIENT_AGE,:PATIENT_AGE_DAYS,:CLAIM_TYPE,:VISIT_TIME,:IF_LOCAL_FLAG,:ADMISSION_DATE,:DISCHARGE_DATE,:ZYTS,:DISCHARGE_STATUS,:PRE_ADMISSION_DATE,:DAYS_RE_ADMISSION_31,:YB_ADMISSION_DISEASE_ID,:YB_ADMISSION_DISEASE_NAME,:YB_DISCHARGE_DISEASE_ID_MAIN,:YB_DISCHARGE_DISEASE_NAME_MAIN,:ADMISSION_DISEASE_ID,:ADMISSION_DISEASE_NAME,:DISCHARGE_DISEASE_ID_MAIN,:DISCHARGE_DISEASE_NAME_MAIN,:YB_PAY_TYPE,:DRGS_CODE,:DRGS_NAME,:MEDFEE_SUMAMT,:FULAMT_OWNPAY_AMT,:OVERLMT_SELFPAY,:PRESELFPAY_AMT,:INSCP_SCP_AMT,:ACT_PAY_DEDC,:HIFP_PAY,:POOL_PROP_SELFPAY,:CVLSERV_PAY,:HIFES_PAY,:HIFMI_PAY,:HIFOB_PAY,:MAF_PAY,:OTH_PAY,:FUND_PAY_SUMAMT,:STATE,:CREATE_TIME,:CREATE_BY)";
+
     @Override
     public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
         String sql = "select * from v_master_admission_bill where rownum<1000 %s order by VISIT_TIME asc";
-        while(true) {
+        while (true) {
             log.info("开始同步master_admission_bill数据");
             String whereSql = "";
             Long id = getLastId();
             log.info("开始同步master_admission_bill数据,获取上个同步记录主键ID:{}", id);
             Map<String, Object> paramMap = new HashMap<>();
-            if(null != id && id>0){
+            if (null != id && id > 0) {
                 whereSql = "and ID>:ID";
                 paramMap.put("ID", id);
             }
@@ -64,7 +53,7 @@ public class XCFYDatav_master_admission_billJob implements Job {
                 }
             });
 
-            if(count<=0){
+            if (count <= 0) {
                 return;
             }
 
@@ -72,9 +61,9 @@ public class XCFYDatav_master_admission_billJob implements Job {
 
     }
 
-    public Long getLastId(){
+    public Long getLastId() {
         List<MasterAdmissionBill> masterAdmissionBillList = masterAdmissionBillService.lambdaQuery().orderByDesc(MasterAdmissionBill::getId).last("limit 1").list();
-        if(CollectionUtil.isEmpty(masterAdmissionBillList)){
+        if (CollectionUtil.isEmpty(masterAdmissionBillList)) {
             return null;
         }
         return masterAdmissionBillList.get(0).getId();

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/job/XCFYDatav_outpatient_settle_detailsJob.java

@@ -66,7 +66,7 @@ public class XCFYDatav_outpatient_settle_detailsJob implements Job {
     }
 
     public Long getLastId() {
-        Long id = jdbcTemplate.queryForObject("select max(id) as id from outpatient_settle_details", Long.class);
+        Long id = jdbcTemplate.queryForObject("select max(id) as id from outpatient_settlement_details", Long.class);
         return id;
     }
 

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

@@ -108,17 +108,17 @@ public class AfterwardsAuditDataTest {
     RedisTemplate redisTemplate;
 //    @Autowired
 //    org.jeecg.modules.medical.job.XCFYDatav_check_listJob XCFYDatav_check_listJob;
-    @Autowired
-    org.jeecg.modules.medical.job.XCFYDatav_diagnose_itemsJob XCFYDatav_diagnose_itemsJob;
-
-    @Test
-    public void testXCFYDatav_diagnose_itemsJob(){
-        try {
-            XCFYDatav_diagnose_itemsJob.execute(null);
-        } catch (JobExecutionException e) {
-            e.printStackTrace();
-        }
-    }
+//    @Autowired
+//    org.jeecg.modules.medical.job.XCFYDatav_diagnose_itemsJob XCFYDatav_diagnose_itemsJob;
+//
+//    @Test
+//    public void testXCFYDatav_diagnose_itemsJob(){
+//        try {
+//            XCFYDatav_diagnose_itemsJob.execute(null);
+//        } catch (JobExecutionException e) {
+//            e.printStackTrace();
+//        }
+//    }
 
 //    @Test
 //    public void testXCFYDatav_check_listJob(){
@@ -133,7 +133,7 @@ public class AfterwardsAuditDataTest {
     @Test
     public void testMAB() {
         try {
-            afterWaringLogTestJob.testMasterAdmBill();
+//            afterWaringLogTestJob.testMasterAdmBill();
         } catch (Exception e) {
             e.printStackTrace();
         }