Browse Source

医保目录下载时,清空目标版本号已下载的内容

lighter 6 months ago
parent
commit
e4c6ab0f01

+ 36 - 0
src/main/java/thyyxxk/webserver/dao/his/medicalinsurance/SiDownloadDao.java

@@ -12,6 +12,9 @@ public interface SiDownloadDao {
     @Update("truncate table t_si_dl_chns_hbl")
     void truncateChnsHblTable();
 
+    @Delete("delete from t_si_dl_chns_hbl where version_name>=#{version}")
+    void deleteChnsHblTableByVersion(String version);
+
     @Insert("<script>" +
             "insert into t_si_dl_chns_hbl (standard_name, standard_page_number, standard_electronic_archives, " +
             "herbal_medicine_year, medical_materials_name, medicinal_materials_source, national_payment_policy, " +
@@ -37,6 +40,9 @@ public interface SiDownloadDao {
     @Update("truncate table t_si_dl_dss_dns")
     void truncateDssDnsTable();
 
+    @Delete("delete from t_si_dl_dss_dns where version_name>=#{version}")
+    void deleteDssDnsTableByVersion(String version);
+
     @Insert("<script>" +
             "insert into t_si_dl_dss_dns (code, chapter, chapter_code_range, chapter_name, section_code_range, " +
             "section_name, class_order_code, class_order_name, subcode, subname, diagnosis_code, diagnosis_name, " +
@@ -61,6 +67,9 @@ public interface SiDownloadDao {
     @Update("truncate table t_si_dl_dytm_srgy_dss")
     void truncateDytmSrgyDssTable();
 
+    @Delete("delete from t_si_dl_dytm_srgy_dss where version_name>=#{version}")
+    void deleteDytmSrgyDssTableByVersion(String version);
+
     @Insert("<script>" +
             "insert into t_si_dl_dytm_srgy_dss (code, unique_record_number, data_creation_time, data_update_time, " +
             "version_number, disease_connotation, remarks, version_name, daytime_surgery_code, daytime_surgery_name, " +
@@ -131,6 +140,9 @@ public interface SiDownloadDao {
     @Update("truncate table t_si_dl_mdcn_sply")
     void truncateMdcnSplyTable();
 
+    @Delete("delete from t_si_dl_mdcn_sply where version_name>=#{version}")
+    void deleteMdcnSplyTableByVersion(String version);
+
     @Insert("<script>" +
             "insert into t_si_dl_mdcn_sply (code, supplies_name, product_model, specification_code, spec, " +
             "consumable_classification, specifications_and_models, material_code, consumable_material, " +
@@ -176,6 +188,9 @@ public interface SiDownloadDao {
     @Update("truncate table t_si_dl_mdcn_srvc")
     void truncateMdcnSrvcTable();
 
+    @Delete("delete from t_si_dl_mdcn_srvc where version_name>=#{version}")
+    void deleteMdcnSrvcTableByVersionId(String version);
+
     @Insert("<script>" +
             "insert into t_si_dl_mdcn_srvc (code, charge_unit, valof_name, descriptions, exclude_content, connotation, " +
             "remarks, service_category, service_name, entry_specification, start_date, end_date, unique_record_number, " +
@@ -195,6 +210,9 @@ public interface SiDownloadDao {
     @Update("truncate table t_si_dl_oprtn")
     void truncateOprtnTable();
 
+    @Delete("delete from t_si_dl_oprtn where version_name>=#{version}")
+    void deleteOprtnTableByVersion(String version);
+
     @Insert("<script>" +
             "insert into t_si_dl_oprtn (code, chapter, chapter_code_range, chapter_name, class_order_code, class_order_name, " +
             "subcode, subname, fine_code, details_name, surgical_operation_code, operation_operation_name, use_the_tag, remarks, " +
@@ -217,6 +235,9 @@ public interface SiDownloadDao {
     @Update("truncate table t_si_dl_pay_by_dss")
     void truncatePayByDssTable();
 
+    @Delete("delete from t_si_dl_pay_by_dss where version_name>=#{version}")
+    void deletePayByDssTableByVersion(String version);
+
     @Insert("<script>" +
             "insert into t_si_dl_pay_by_dss (code, unique_record_number, version_number, remarks, version_name, " +
             "settlement_code, settlement_name, limited_operation_code, limited_operation_name, valid_flag, connotation, " +
@@ -237,6 +258,9 @@ public interface SiDownloadDao {
     @Update("truncate table t_si_dl_ptnt_wstn_mdcn")
     void truncatePtntWstnMdcnTable();
 
+    @Delete("delete from t_si_dl_ptnt_wstn_mdcn where version_name>=#{version}")
+    void deletePtntWstnMdcnTableByVersion(String version);
+
     @Insert("<script>" +
             "insert into t_si_dl_ptnt_wstn_mdcn (drug_trade_name, universal_name_number, general_drug_name, chemical_name, " +
             "alias, english_name, registration_name, drug_supervision_local_code, drug_dosage_forms, drug_dosage_form_name, " +
@@ -289,6 +313,9 @@ public interface SiDownloadDao {
     @Update("truncate table t_si_dl_slw_spc_chr")
     void truncateSlwSpcChrTable();
 
+    @Delete("delete from t_si_dl_slw_spc_chr where version_name>=#{version}")
+    void deleteSlwSpcChrTableByVersion(String version);
+
     @Insert("<script>" +
             "insert into t_si_dl_slw_spc_chr (code, medical_insurance_division, remarks, unique_record_number, " +
             "version_name, category_name, detail_diseases_name, valid_flag, version, connotation, guide_page_number, " +
@@ -309,6 +336,9 @@ public interface SiDownloadDao {
     @Update("truncate table t_si_dl_tcm_syndr")
     void truncateTcmSyndrTable();
 
+    @Delete("delete from t_si_dl_tcm_syndr where version_name>=#{version}")
+    void deleteTcmSyndrTableByVersion(String version);
+
     @Insert("<script>" +
             "insert into t_si_dl_tcm_syndr (code, remarks, unique_record_number, version_name, catalogue_code, " +
             "catalogue_name, property_code, properties, classification_code, classification_name, valid_flag, " +
@@ -328,6 +358,9 @@ public interface SiDownloadDao {
     @Update("truncate table t_si_dl_tmr_mrphlgy")
     void truncateTmrMrphlgyTable();
 
+    @Delete("delete from t_si_dl_tmr_mrphlgy where version_number>=#{version}")
+    void deleteTmrMrphlgyTableByVersion(String version);
+
     @Insert("<script>" +
             "insert into t_si_dl_tmr_mrphlgy (code, tumor_cell_type_code, tumor_cell_type, " +
             "morphology_classification_code, morphological_classification, unique_record_number, " +
@@ -347,6 +380,9 @@ public interface SiDownloadDao {
     @Update("truncate table t_si_dl_trdtnl_chns_dss")
     void truncateTrdtnlChnsDssTable();
 
+    @Delete("delete from t_si_dl_trdtnl_chns_dss where version_name>=#{version}")
+    void deleteTrdtnlChnsDssByVersion(String version);
+
     @Insert("<script>" +
             "insert into t_si_dl_trdtnl_chns_dss (code, disease_classification_code, disease_classification_name, " +
             "remarks, unique_record_number, version_name, category_code, category_name, classification_list_code, " +

+ 24 - 0
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiDownloadService.java

@@ -209,6 +209,8 @@ public class SiDownloadService {
             Queue<String> queue = SiUtil.readTxtFile(filePath);
             if (version.equals(BEGIN_VERSION)) {
                 dnlddao.truncatePtntWstnMdcnTable();
+            } else {
+                dnlddao.deletePtntWstnMdcnTableByVersion(version);
             }
             List<SiDlPtntWstnMdcn> list = new ArrayList<>();
             while (!queue.isEmpty()) {
@@ -286,6 +288,8 @@ public class SiDownloadService {
             Queue<String> queue = SiUtil.readTxtFile(filePath);
             if (version.equals(BEGIN_VERSION)) {
                 dnlddao.truncateChnsHblTable();
+            } else {
+                dnlddao.deleteChnsHblTableByVersion(version);
             }
             List<SiDlChnsHbl> list = new ArrayList<>();
             while (!queue.isEmpty()) {
@@ -360,6 +364,8 @@ public class SiDownloadService {
             Queue<String> queue = SiUtil.readTxtFile(filePath);
             if (version.equals(BEGIN_VERSION)) {
                 dnlddao.truncateMdcnSrvcTable();
+            } else {
+                dnlddao.deleteMdcnSrvcTableByVersionId(version);
             }
             List<SiDlMdcnSrvc> list = new ArrayList<>();
             while (!queue.isEmpty()) {
@@ -411,6 +417,8 @@ public class SiDownloadService {
             Queue<String> queue = SiUtil.readTxtFile(filePath);
             if (version.equals(BEGIN_VERSION)) {
                 dnlddao.truncateMdcnSplyTable();
+            } else {
+                dnlddao.deleteMdcnSplyTableByVersion(version);
             }
             List<SiDlMdcnSply> list = new ArrayList<>();
             String versionName = null;
@@ -464,6 +472,8 @@ public class SiDownloadService {
             Queue<String> queue = SiUtil.readTxtFile(filePath);
             if (version.equals(BEGIN_VERSION)) {
                 dnlddao.truncateDssDnsTable();
+            } else {
+                dnlddao.deleteDssDnsTableByVersion(version);
             }
             List<SiDlDssDns> list = new ArrayList<>();
             while (!queue.isEmpty()) {
@@ -516,6 +526,8 @@ public class SiDownloadService {
             Queue<String> queue = SiUtil.readTxtFile(filePath);
             if (version.equals(BEGIN_VERSION)) {
                 dnlddao.truncateOprtnTable();
+            } else {
+                dnlddao.deleteOprtnTableByVersion(version);
             }
             List<SiDlOprtn> list = new ArrayList<>();
             while (!queue.isEmpty()) {
@@ -572,6 +584,8 @@ public class SiDownloadService {
             Queue<String> queue = SiUtil.readTxtFile(filePath);
             if (version.equals(BEGIN_VERSION)) {
                 dnlddao.truncateSlwSpcChrTable();
+            } else {
+                dnlddao.deleteSlwSpcChrTableByVersion(version);
             }
             List<SiDlSlwSpcChr> list = new ArrayList<>();
             while (!queue.isEmpty()) {
@@ -624,6 +638,8 @@ public class SiDownloadService {
             Queue<String> queue = SiUtil.readTxtFile(filePath);
             if (version.equals(BEGIN_VERSION)) {
                 dnlddao.truncatePayByDssTable();
+            } else {
+                dnlddao.deletePayByDssTableByVersion(version);
             }
             List<SiDlPayByDss> list = new ArrayList<>();
             while (!queue.isEmpty()) {
@@ -676,6 +692,8 @@ public class SiDownloadService {
             Queue<String> queue = SiUtil.readTxtFile(filePath);
             if (version.equals(BEGIN_VERSION)) {
                 dnlddao.truncateDytmSrgyDssTable();
+            } else {
+                dnlddao.deleteDytmSrgyDssTableByVersion(version);
             }
             List<SiDlDytmSrgyDss> list = new ArrayList<>();
             while (!queue.isEmpty()) {
@@ -757,6 +775,8 @@ public class SiDownloadService {
             Queue<String> queue = SiUtil.readTxtFile(filePath);
             if (version.equals(BEGIN_VERSION)) {
                 dnlddao.truncateTmrMrphlgyTable();
+            } else {
+                dnlddao.deleteTmrMrphlgyTableByVersion(version);
             }
             List<SiDlTmrMrphlgy> list = new ArrayList<>();
             while (!queue.isEmpty()) {
@@ -809,6 +829,8 @@ public class SiDownloadService {
             Queue<String> queue = SiUtil.readTxtFile(filePath);
             if (version.equals(BEGIN_VERSION)) {
                 dnlddao.truncateTrdtnlChnsDssTable();
+            } else {
+                dnlddao.deleteTrdtnlChnsDssByVersion(version);
             }
             List<SiDlTrdtnlChnsDss> list = new ArrayList<>();
             while (!queue.isEmpty()) {
@@ -861,6 +883,8 @@ public class SiDownloadService {
             Queue<String> queue = SiUtil.readTxtFile(filePath);
             if (version.equals(BEGIN_VERSION)) {
                 dnlddao.truncateTcmSyndrTable();
+            } else {
+                dnlddao.deleteTcmSyndrTableByVersion(version);
             }
             List<SiDlTcmSyndr> list = new ArrayList<>();
             while (!queue.isEmpty()) {