|
@@ -7,10 +7,12 @@ import org.jeecg.common.util.dynamic.db.DynamicDBUtil;
|
|
|
import org.jeecg.modules.medical.Constant;
|
|
import org.jeecg.modules.medical.Constant;
|
|
|
import org.jeecg.modules.medical.common.CommonUtil;
|
|
import org.jeecg.modules.medical.common.CommonUtil;
|
|
|
import org.jeecg.modules.medical.entity.CheckList;
|
|
import org.jeecg.modules.medical.entity.CheckList;
|
|
|
|
|
+import org.jeecg.modules.medical.entity.MedicalRecordHomepage;
|
|
|
import org.jeecg.modules.medical.entity.Operation;
|
|
import org.jeecg.modules.medical.entity.Operation;
|
|
|
import org.jeecg.modules.medical.entity.PrescriptionOrder;
|
|
import org.jeecg.modules.medical.entity.PrescriptionOrder;
|
|
|
import org.jeecg.modules.medical.ruleengine.TransferDataCallFunction;
|
|
import org.jeecg.modules.medical.ruleengine.TransferDataCallFunction;
|
|
|
import org.jeecg.modules.medical.service.ICheckListService;
|
|
import org.jeecg.modules.medical.service.ICheckListService;
|
|
|
|
|
+import org.jeecg.modules.medical.service.IMedicalRecordHomepageService;
|
|
|
import org.jeecg.modules.medical.service.IOperationService;
|
|
import org.jeecg.modules.medical.service.IOperationService;
|
|
|
import org.jeecg.modules.medical.service.IPrescriptionOrderService;
|
|
import org.jeecg.modules.medical.service.IPrescriptionOrderService;
|
|
|
import org.jeecg.modules.system.service.ISysDictService;
|
|
import org.jeecg.modules.system.service.ISysDictService;
|
|
@@ -39,6 +41,8 @@ public class XCFYDataTransferService {
|
|
|
IPrescriptionOrderService prescriptionOrderService;
|
|
IPrescriptionOrderService prescriptionOrderService;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
ISysDictService sysDictService;
|
|
ISysDictService sysDictService;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ IMedicalRecordHomepageService medicalRecordHomepageService;
|
|
|
|
|
|
|
|
String checkListInsertSql = "INSERT INTO check_list (id, hisid, patient_id, gender, age, department, inp_outpatient_number, check_list_num, item_id, item_name, check_time, create_time, create_by, report_time) VALUES (:ID,:HISID,:PATIENT_ID,:GENDER,:AGE,:DEPARTMENT,:INP_OUTPATIENT_NUMBER,:CHECK_LIST_NUM,:ITEM_ID,:ITEM_NAME,:CHECK_TIME,:CREATE_TIME,:CREATE_BY,:REPORT_TIME)";
|
|
String checkListInsertSql = "INSERT INTO check_list (id, hisid, patient_id, gender, age, department, inp_outpatient_number, check_list_num, item_id, item_name, check_time, create_time, create_by, report_time) VALUES (:ID,:HISID,:PATIENT_ID,:GENDER,:AGE,:DEPARTMENT,:INP_OUTPATIENT_NUMBER,:CHECK_LIST_NUM,:ITEM_ID,:ITEM_NAME,:CHECK_TIME,:CREATE_TIME,:CREATE_BY,:REPORT_TIME)";
|
|
|
|
|
|
|
@@ -71,6 +75,10 @@ public class XCFYDataTransferService {
|
|
|
":ANESTHESIA_TYPE_NAME,:ANESTHESIA_DOC_NO,:ANESTHESIA_DOC_NAME,:ANESTHESIA_START_TIME,:ANESTHESIA_END_TIME,:ANTIBACTERIAL_TIME,:PREMEDICATION_TIME_POINT," +
|
|
":ANESTHESIA_TYPE_NAME,:ANESTHESIA_DOC_NO,:ANESTHESIA_DOC_NAME,:ANESTHESIA_START_TIME,:ANESTHESIA_END_TIME,:ANTIBACTERIAL_TIME,:PREMEDICATION_TIME_POINT," +
|
|
|
":INTRAOPERATIVE_DOSING,:AMOUNT,:CREATE_BY,:CREATE_TIME)";
|
|
":INTRAOPERATIVE_DOSING,:AMOUNT,:CREATE_BY,:CREATE_TIME)";
|
|
|
|
|
|
|
|
|
|
+ String recordHomePageInsertSql = "INSERT INTO medical_record_homepage (bridge_id, zyh, hospital_id, patient_name, patient_id, social_card_id, patient_address, patient_company, icd10_code_basy, icd10_name_basy, icd10_name_describe, special_remarks, disease_id1, disease_name1, icd9_code_basy, icd9_name_basy, icd9_code1, icd9_name1, nb_weight, nb_admission_weight, bm_hours, icu_flag, icu_hours, main_con_desc, treatment_process, pathological_findings, discharge_condition, discharge_order, death_date, death_diagnosis, death_cause, admission_plan, disease_his, past_his, personal_his, auxiliary_inspection, assist_lab_test_results, auxiliary_imaging_ex_results, discharge_status, create_time, create_by) " +
|
|
|
|
|
+ "VALUES (:BRIDGE_ID,:ZYH,:HOSPITAL_ID,:PATIENT_NAME,:PATIENT_ID,:SOCIAL_CARD_ID,:PATIENT_ADDRESS,:PATIENT_COMPANY,:ICD10_CODE_BASY,:ICD10_NAME_BASY,:ICD10_NAME_DESCRIBE,:SPECIAL_REMARKS,:DISEASE_ID1,:DISEASE_NAME1,:ICD9_CODE_BASY,:ICD9_NAME_BASY,:ICD9_CODE1,:ICD9_NAME1,:NB_WEIGHT,:NB_ADMISSION_WEIGHT,:BM_HOURS,:ICU_FLAG,:ICU_HOURS,:MAIN_CON_DESC,:TREATMENT_PROCESS,:PATHOLOGICAL_FINDINGS,:DISCHARGE_CONDITION,:DISCHARGE_ORDER,:DEATH_DATE,:DEATH_DIAGNOSIS,:DEATH_CAUSE,:ADMISSION_PLAN,:DISEASE_HIS,:PAST_HIS,:PERSONAL_HIS,:AUXILIARY_INSPECTION,:ASSIST_LAB_TEST_RESULTS,:AUXILIARY_IMAGING_EX_RESULTS,:DISCHARGE_STATUS,:CREATE_TIME,:CREATE_BY)";
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
public Integer transferDataList(String querySql, String insertSql, Map<String, Object> paramMap, TransferDataCallFunction transferDataCallFunction, TransferDataCallFunction deleteDataCallFunction) {
|
|
public Integer transferDataList(String querySql, String insertSql, Map<String, Object> paramMap, TransferDataCallFunction transferDataCallFunction, TransferDataCallFunction deleteDataCallFunction) {
|
|
|
NamedParameterJdbcTemplate namedParameterJdbcTemplate = DynamicDBUtil.getNamedParameterJdbcTemplate(Constant.FY_ORACLE);
|
|
NamedParameterJdbcTemplate namedParameterJdbcTemplate = DynamicDBUtil.getNamedParameterJdbcTemplate(Constant.FY_ORACLE);
|
|
|
NamedParameterJdbcTemplate localNamedParameterJdbcTemplate = DynamicDBUtil.getNamedParameterJdbcTemplate(Constant.LOCAL_MYSQL);
|
|
NamedParameterJdbcTemplate localNamedParameterJdbcTemplate = DynamicDBUtil.getNamedParameterJdbcTemplate(Constant.LOCAL_MYSQL);
|
|
@@ -205,5 +213,41 @@ public class XCFYDataTransferService {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public Integer transferMedicalRecordHomePage(String hisId, Map<String, String> dischargeMethodMap) {
|
|
|
|
|
+ String querySql = "select * from V_YBKF_MEDICAL_RECORD_HOMEPAGE where BRIDGE_ID=:HISID";
|
|
|
|
|
+ log.info("开始同步V_YBKFMEDICAL_RECORD_HOMEPAGE数据,HISID:{}", hisId);
|
|
|
|
|
+ Map<String, Object> paramMap = new HashMap<>();
|
|
|
|
|
+
|
|
|
|
|
+ paramMap.put("HISID", hisId);
|
|
|
|
|
+ Integer count = transferDataList(querySql, recordHomePageInsertSql, paramMap, new TransferDataCallFunction() {
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public Boolean transferData(Map<String, Object> dataMap) throws Exception {
|
|
|
|
|
+ dataMap.put("CREATE_BY", "auto");
|
|
|
|
|
+ dataMap.put("CREATE_TIME", new Date());
|
|
|
|
|
+ //视图枚举:'1','医嘱离院','2','医嘱转院','3','医嘱转社区卫生服务机构/乡镇卫生院','4','非医嘱离院','5','死亡','其他'
|
|
|
|
|
+
|
|
|
|
|
+ // 医保控费枚举:1医嘱离院
|
|
|
|
|
+ //2医嘱转院
|
|
|
|
|
+ //3医嘱转社区卫生服务机构/乡镇卫生院
|
|
|
|
|
+ //4非医嘱离院
|
|
|
|
|
+ //5死亡
|
|
|
|
|
+ //9其他
|
|
|
|
|
+ String dischargeStatus = dataMap.getOrDefault("DISCHARGE_STATUS", "其他").toString();
|
|
|
|
|
+ if (dischargeMethodMap.containsKey(dischargeStatus)) {
|
|
|
|
|
+ dataMap.put("DISCHARGE_STATUS", dischargeMethodMap.get(dischargeStatus));
|
|
|
|
|
+ }
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ }, new TransferDataCallFunction() {
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public Boolean transferData(Map<String, Object> dataMap) throws Exception {
|
|
|
|
|
+ medicalRecordHomepageService.lambdaUpdate().eq(MedicalRecordHomepage::getBridgeId, hisId).remove();
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ log.info("结束同步V_MEDICAL_RECORD_HOMEPAGE数据,获取hisid:{} 条数:{}", hisId, count);
|
|
|
|
|
+ return count;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
|
|
|
}
|
|
}
|