From 0b292f0b873c75f77bd51ab73792dda97dd6e26f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E9=9C=9E?= <2521530874@qq.com> Date: Fri, 22 Nov 2019 16:40:28 +0800 Subject: [PATCH] exportExcel --- download/.classpath | 38 + download/.project | 23 + download/.settings/org.eclipse.jdt.core.prefs | 7 + download/.settings/org.eclipse.m2e.core.prefs | 4 + download/pom.xml | 109 +++ .../com/sict/excel/bo/AnalysisGraphicBO.java | 32 + .../sict/excel/dto/AnalysisGraphicDTO.java | 41 + .../sict/excel/dto/AnalysisProvinceDTO.java | 69 ++ .../java/com/sict/excel/dto/DiagnosisDTO.java | 107 +++ .../excel/dto/EarlyCancerHospitalDTO.java | 103 +++ .../sict/excel/dto/EarlyCancerRankDTO.java | 24 + .../sict/excel/dto/GastroscopeTestDTO.java | 27 + .../com/sict/excel/dto/HpPositiveDTO.java | 20 + .../main/java/com/sict/excel/dto/RiskDTO.java | 26 + .../com/sict/excel/dto/ScreeningRankDTO.java | 34 + .../excel/dto/ScreeningRankProvinceDTO.java | 44 + .../sict/excel/dto/SerumStatisticsDTO.java | 29 + .../main/java/com/sict/excel/dto/Student.java | 43 + .../com/sict/excel/mapper/DownloadMapper.java | 86 ++ .../src/main/java/com/sict/excel/myExcel.java | 76 ++ .../sict/excel/test/AnalysisGraphicExcel.java | 69 ++ .../AnalysisHospitalEarlyCancerExcel.java | 42 + .../excel/test/AnalysisProvinceExcel.java | 41 + .../java/com/sict/excel/test/Diagnosis.java | 163 ++++ .../com/sict/excel/test/GastroscopeTest.java | 96 +++ .../test/ProvinceEarlyCancerRankExcel.java | 32 + .../excel/test/ScreeningRankGecaExcel.java | 33 + .../test/ScreeningRankProvinceExcel.java | 39 + .../sict/excel/test/ScreeningRankQgExcel.java | 33 + .../excel/test/ScreeningRankShchyyExcel.java | 32 + .../java/com/sict/excel/test/SerumTest.java | 172 ++++ .../com/sict/excel/test/TestExportExcel.java | 39 + .../main/java/com/sict/excel/utils/Excel.java | 291 +++++++ .../com/sict/excel/utils/ExportExcelUtil.java | 238 ++++++ .../com/sict/excel/utils/SqlSessionUtil.java | 68 ++ download/src/main/resources/log4j.properties | 5 + .../main/resources/mapper/DownloadMapper.xml | 774 ++++++++++++++++++ .../src/main/resources/mybatis-config.xml | 23 + download/src/main/resources/mybatis-geca.xml | 23 + download/src/main/resources/mybatis-qg.xml | 23 + .../src/main/resources/mybatis-shchyy.xml | 23 + download/target/classes/META-INF/MANIFEST.MF | 5 + .../maven/download/download/pom.properties | 7 + .../META-INF/maven/download/download/pom.xml | 109 +++ .../com/sict/excel/bo/AnalysisGraphicBO.class | Bin 0 -> 1364 bytes .../sict/excel/dto/AnalysisGraphicDTO.class | Bin 0 -> 1800 bytes .../sict/excel/dto/AnalysisProvinceDTO.class | Bin 0 -> 2601 bytes .../com/sict/excel/dto/DiagnosisDTO.class | Bin 0 -> 3961 bytes .../excel/dto/EarlyCancerHospitalDTO.class | Bin 0 -> 3448 bytes .../sict/excel/dto/EarlyCancerRankDTO.class | Bin 0 -> 1192 bytes .../sict/excel/dto/GastroscopeTestDTO.class | Bin 0 -> 1233 bytes .../com/sict/excel/dto/HpPositiveDTO.class | Bin 0 -> 938 bytes .../classes/com/sict/excel/dto/RiskDTO.class | Bin 0 -> 1113 bytes .../com/sict/excel/dto/ScreeningRankDTO.class | Bin 0 -> 1392 bytes .../excel/dto/ScreeningRankProvinceDTO.class | Bin 0 -> 1639 bytes .../sict/excel/dto/SerumStatisticsDTO.class | Bin 0 -> 1196 bytes .../classes/com/sict/excel/dto/Student.class | Bin 0 -> 1010 bytes .../sict/excel/mapper/DownloadMapper.class | Bin 0 -> 1129 bytes .../classes/com/sict/excel/myExcel.class | Bin 0 -> 3738 bytes .../excel/test/AnalysisGraphicExcel.class | Bin 0 -> 2949 bytes .../AnalysisHospitalEarlyCancerExcel.class | Bin 0 -> 2186 bytes .../excel/test/AnalysisProvinceExcel.class | Bin 0 -> 2102 bytes .../com/sict/excel/test/Diagnosis.class | Bin 0 -> 7360 bytes .../com/sict/excel/test/GastroscopeTest.class | Bin 0 -> 4520 bytes .../test/ProvinceEarlyCancerRankExcel.class | Bin 0 -> 1911 bytes .../excel/test/ScreeningRankGecaExcel.class | Bin 0 -> 2037 bytes .../test/ScreeningRankProvinceExcel.class | Bin 0 -> 1982 bytes .../excel/test/ScreeningRankQgExcel.class | Bin 0 -> 2024 bytes .../excel/test/ScreeningRankShchyyExcel.class | Bin 0 -> 2042 bytes .../com/sict/excel/test/SerumTest.class | Bin 0 -> 6847 bytes .../com/sict/excel/test/TestExportExcel.class | Bin 0 -> 2019 bytes .../classes/com/sict/excel/utils/Excel.class | Bin 0 -> 10243 bytes .../sict/excel/utils/ExportExcelUtil.class | Bin 0 -> 7597 bytes .../com/sict/excel/utils/SqlSessionUtil.class | Bin 0 -> 1773 bytes download/target/classes/log4j.properties | 5 + .../target/classes/mapper/DownloadMapper.xml | 774 ++++++++++++++++++ download/target/classes/mybatis-config.xml | 23 + download/target/classes/mybatis-geca.xml | 23 + download/target/classes/mybatis-qg.xml | 23 + download/target/classes/mybatis-shchyy.xml | 23 + 80 files changed, 4193 insertions(+) create mode 100644 download/.classpath create mode 100644 download/.project create mode 100644 download/.settings/org.eclipse.jdt.core.prefs create mode 100644 download/.settings/org.eclipse.m2e.core.prefs create mode 100644 download/pom.xml create mode 100644 download/src/main/java/com/sict/excel/bo/AnalysisGraphicBO.java create mode 100644 download/src/main/java/com/sict/excel/dto/AnalysisGraphicDTO.java create mode 100644 download/src/main/java/com/sict/excel/dto/AnalysisProvinceDTO.java create mode 100644 download/src/main/java/com/sict/excel/dto/DiagnosisDTO.java create mode 100644 download/src/main/java/com/sict/excel/dto/EarlyCancerHospitalDTO.java create mode 100644 download/src/main/java/com/sict/excel/dto/EarlyCancerRankDTO.java create mode 100644 download/src/main/java/com/sict/excel/dto/GastroscopeTestDTO.java create mode 100644 download/src/main/java/com/sict/excel/dto/HpPositiveDTO.java create mode 100644 download/src/main/java/com/sict/excel/dto/RiskDTO.java create mode 100644 download/src/main/java/com/sict/excel/dto/ScreeningRankDTO.java create mode 100644 download/src/main/java/com/sict/excel/dto/ScreeningRankProvinceDTO.java create mode 100644 download/src/main/java/com/sict/excel/dto/SerumStatisticsDTO.java create mode 100644 download/src/main/java/com/sict/excel/dto/Student.java create mode 100644 download/src/main/java/com/sict/excel/mapper/DownloadMapper.java create mode 100644 download/src/main/java/com/sict/excel/myExcel.java create mode 100644 download/src/main/java/com/sict/excel/test/AnalysisGraphicExcel.java create mode 100644 download/src/main/java/com/sict/excel/test/AnalysisHospitalEarlyCancerExcel.java create mode 100644 download/src/main/java/com/sict/excel/test/AnalysisProvinceExcel.java create mode 100644 download/src/main/java/com/sict/excel/test/Diagnosis.java create mode 100644 download/src/main/java/com/sict/excel/test/GastroscopeTest.java create mode 100644 download/src/main/java/com/sict/excel/test/ProvinceEarlyCancerRankExcel.java create mode 100644 download/src/main/java/com/sict/excel/test/ScreeningRankGecaExcel.java create mode 100644 download/src/main/java/com/sict/excel/test/ScreeningRankProvinceExcel.java create mode 100644 download/src/main/java/com/sict/excel/test/ScreeningRankQgExcel.java create mode 100644 download/src/main/java/com/sict/excel/test/ScreeningRankShchyyExcel.java create mode 100644 download/src/main/java/com/sict/excel/test/SerumTest.java create mode 100644 download/src/main/java/com/sict/excel/test/TestExportExcel.java create mode 100644 download/src/main/java/com/sict/excel/utils/Excel.java create mode 100644 download/src/main/java/com/sict/excel/utils/ExportExcelUtil.java create mode 100644 download/src/main/java/com/sict/excel/utils/SqlSessionUtil.java create mode 100644 download/src/main/resources/log4j.properties create mode 100644 download/src/main/resources/mapper/DownloadMapper.xml create mode 100644 download/src/main/resources/mybatis-config.xml create mode 100644 download/src/main/resources/mybatis-geca.xml create mode 100644 download/src/main/resources/mybatis-qg.xml create mode 100644 download/src/main/resources/mybatis-shchyy.xml create mode 100644 download/target/classes/META-INF/MANIFEST.MF create mode 100644 download/target/classes/META-INF/maven/download/download/pom.properties create mode 100644 download/target/classes/META-INF/maven/download/download/pom.xml create mode 100644 download/target/classes/com/sict/excel/bo/AnalysisGraphicBO.class create mode 100644 download/target/classes/com/sict/excel/dto/AnalysisGraphicDTO.class create mode 100644 download/target/classes/com/sict/excel/dto/AnalysisProvinceDTO.class create mode 100644 download/target/classes/com/sict/excel/dto/DiagnosisDTO.class create mode 100644 download/target/classes/com/sict/excel/dto/EarlyCancerHospitalDTO.class create mode 100644 download/target/classes/com/sict/excel/dto/EarlyCancerRankDTO.class create mode 100644 download/target/classes/com/sict/excel/dto/GastroscopeTestDTO.class create mode 100644 download/target/classes/com/sict/excel/dto/HpPositiveDTO.class create mode 100644 download/target/classes/com/sict/excel/dto/RiskDTO.class create mode 100644 download/target/classes/com/sict/excel/dto/ScreeningRankDTO.class create mode 100644 download/target/classes/com/sict/excel/dto/ScreeningRankProvinceDTO.class create mode 100644 download/target/classes/com/sict/excel/dto/SerumStatisticsDTO.class create mode 100644 download/target/classes/com/sict/excel/dto/Student.class create mode 100644 download/target/classes/com/sict/excel/mapper/DownloadMapper.class create mode 100644 download/target/classes/com/sict/excel/myExcel.class create mode 100644 download/target/classes/com/sict/excel/test/AnalysisGraphicExcel.class create mode 100644 download/target/classes/com/sict/excel/test/AnalysisHospitalEarlyCancerExcel.class create mode 100644 download/target/classes/com/sict/excel/test/AnalysisProvinceExcel.class create mode 100644 download/target/classes/com/sict/excel/test/Diagnosis.class create mode 100644 download/target/classes/com/sict/excel/test/GastroscopeTest.class create mode 100644 download/target/classes/com/sict/excel/test/ProvinceEarlyCancerRankExcel.class create mode 100644 download/target/classes/com/sict/excel/test/ScreeningRankGecaExcel.class create mode 100644 download/target/classes/com/sict/excel/test/ScreeningRankProvinceExcel.class create mode 100644 download/target/classes/com/sict/excel/test/ScreeningRankQgExcel.class create mode 100644 download/target/classes/com/sict/excel/test/ScreeningRankShchyyExcel.class create mode 100644 download/target/classes/com/sict/excel/test/SerumTest.class create mode 100644 download/target/classes/com/sict/excel/test/TestExportExcel.class create mode 100644 download/target/classes/com/sict/excel/utils/Excel.class create mode 100644 download/target/classes/com/sict/excel/utils/ExportExcelUtil.class create mode 100644 download/target/classes/com/sict/excel/utils/SqlSessionUtil.class create mode 100644 download/target/classes/log4j.properties create mode 100644 download/target/classes/mapper/DownloadMapper.xml create mode 100644 download/target/classes/mybatis-config.xml create mode 100644 download/target/classes/mybatis-geca.xml create mode 100644 download/target/classes/mybatis-qg.xml create mode 100644 download/target/classes/mybatis-shchyy.xml diff --git a/download/.classpath b/download/.classpath new file mode 100644 index 0000000..a3508c6 --- /dev/null +++ b/download/.classpath @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/download/.project b/download/.project new file mode 100644 index 0000000..2ddf0b4 --- /dev/null +++ b/download/.project @@ -0,0 +1,23 @@ + + + download + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/download/.settings/org.eclipse.jdt.core.prefs b/download/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..0e49574 --- /dev/null +++ b/download/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.methodParameters=generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.5 diff --git a/download/.settings/org.eclipse.m2e.core.prefs b/download/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/download/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/download/pom.xml b/download/pom.xml new file mode 100644 index 0000000..bf4518a --- /dev/null +++ b/download/pom.xml @@ -0,0 +1,109 @@ + + + 4.0.0 + + download + download + 1.0-SNAPSHOT + + + + + + + org.mybatis + mybatis + 3.3.0 + + + + mysql + mysql-connector-java + 5.1.29 + + + + junit + junit + 4.12 + + + log4j + log4j + 1.2.17 + + + + org.apache.commons + commons-lang3 + 3.5 + + + org.apache.poi + poi-scratchpad + 3.11-beta2 + + + org.apache.poi + poi-ooxml + 3.11-beta2 + + + org.apache.poi + poi-ooxml-schemas + 3.11-beta2 + + + org.apache.poi + poi-excelant + 3.11-beta2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + src/main/resources + + **/*.* + + + + + + \ No newline at end of file diff --git a/download/src/main/java/com/sict/excel/bo/AnalysisGraphicBO.java b/download/src/main/java/com/sict/excel/bo/AnalysisGraphicBO.java new file mode 100644 index 0000000..c565e83 --- /dev/null +++ b/download/src/main/java/com/sict/excel/bo/AnalysisGraphicBO.java @@ -0,0 +1,32 @@ +package com.sict.excel.bo; + +public class AnalysisGraphicBO { + + + private String item; + private Integer number; + private String remark; + public String getItem() { + return item; + } + public void setItem(String item) { + this.item = item; + } + public Integer getNumber() { + return number; + } + public void setNumber(Integer number) { + this.number = number; + } + public String getRemark() { + return remark; + } + public void setRemark(String remark) { + this.remark = remark; + } + + @Override + public String toString() { + return "AnalysisGraphic [item=" + item + ", number=" + number + ", remark=" + remark + "]"; + } +} diff --git a/download/src/main/java/com/sict/excel/dto/AnalysisGraphicDTO.java b/download/src/main/java/com/sict/excel/dto/AnalysisGraphicDTO.java new file mode 100644 index 0000000..a442057 --- /dev/null +++ b/download/src/main/java/com/sict/excel/dto/AnalysisGraphicDTO.java @@ -0,0 +1,41 @@ +package com.sict.excel.dto; + +public class AnalysisGraphicDTO { + + private Integer applyGastricCancerScreeningHosp; + private Integer passApplyHosp; + private Integer platAccountApplyHosp; + private Integer openAccountHosp; + + public Integer getApplyGastricCancerScreeningHosp() { + return null; + } + public void setApplyGastricCancerScreeningHosp(Integer applyGastricCancerScreeningHosp) { + this.applyGastricCancerScreeningHosp = applyGastricCancerScreeningHosp; + } + public Integer getPassApplyHosp() { + return passApplyHosp; + } + public void setPassApplyHosp(Integer passApplyHosp) { + this.passApplyHosp = passApplyHosp; + } + public Integer getPlatAccountApplyHosp() { + return null; + } + public void setPlatAccountApplyHosp(Integer platAccountApplyHosp) { + this.platAccountApplyHosp = platAccountApplyHosp; + } + public Integer getOpenAccountHosp() { + return openAccountHosp; + } + public void setOpenAccountHosp(Integer openAccountHosp) { + this.openAccountHosp = openAccountHosp; + } + @Override + public String toString() { + return "AnalysisGraphicDTO [applyGastricCancerScreeningHosp=" + applyGastricCancerScreeningHosp + + ", passApplyHosp=" + passApplyHosp + ", platAccountApplyHosp=" + platAccountApplyHosp + + ", openAccountHosp=" + openAccountHosp + "]"; + } + +} diff --git a/download/src/main/java/com/sict/excel/dto/AnalysisProvinceDTO.java b/download/src/main/java/com/sict/excel/dto/AnalysisProvinceDTO.java new file mode 100644 index 0000000..879a7a0 --- /dev/null +++ b/download/src/main/java/com/sict/excel/dto/AnalysisProvinceDTO.java @@ -0,0 +1,69 @@ +package com.sict.excel.dto; + +public class AnalysisProvinceDTO { + + private String province; + private String applyHosp; + private String openAccountHosp; + private String applyAccountHosp; + private String passApplyHosp; + private String platAccountApplyHosp; + private String provinceScreeningTotal; + private String earlyCancer; + public String getProvince() { + return province; + } + public void setProvince(String province) { + this.province = province; + } + public String getApplyHosp() { + return null; + } + public void setApplyHosp(String applyHosp) { + this.applyHosp = applyHosp; + } + public String getOpenAccountHosp() { + return openAccountHosp; + } + public void setOpenAccountHosp(String openAccountHosp) { + this.openAccountHosp = openAccountHosp; + } + public String getApplyAccountHosp() { + return null; + } + public void setApplyAccountHosp(String applyAccountHosp) { + this.applyAccountHosp = applyAccountHosp; + } + public String getPassApplyHosp() { + return passApplyHosp; + } + public void setPassApplyHosp(String passApplyHosp) { + this.passApplyHosp = passApplyHosp; + } + public String getPlatAccountApplyHosp() { + return null; + } + public void setPlatAccountApplyHosp(String platAccountApplyHosp) { + this.platAccountApplyHosp = platAccountApplyHosp; + } + public String getProvinceScreeningTotal() { + return provinceScreeningTotal; + } + public void setProvinceScreeningTotal(String provinceScreeningTotal) { + this.provinceScreeningTotal = provinceScreeningTotal; + } + public String getEarlyCancer() { + return earlyCancer; + } + public void setEarlyCancer(String earlyCancer) { + this.earlyCancer = earlyCancer; + } + @Override + public String toString() { + return "AnalysisProvinceDTO [province=" + province + ", applyHosp=" + applyHosp + ", openAccountHosp=" + + openAccountHosp + ", applyAccountHosp=" + applyAccountHosp + ", passApplyHosp=" + passApplyHosp + + ", platAccountApplyHosp=" + platAccountApplyHosp + ", provinceScreeningTotal=" + + provinceScreeningTotal + ", earlyCancer=" + earlyCancer + "]"; + } + +} diff --git a/download/src/main/java/com/sict/excel/dto/DiagnosisDTO.java b/download/src/main/java/com/sict/excel/dto/DiagnosisDTO.java new file mode 100644 index 0000000..888bbed --- /dev/null +++ b/download/src/main/java/com/sict/excel/dto/DiagnosisDTO.java @@ -0,0 +1,107 @@ +package com.sict.excel.dto; + +public class DiagnosisDTO { + + private Integer higeLevel; + private Integer highEsophageal; + private Integer highStomach; + private Integer lowLevel; + private Integer lowEsophageal; + private Integer lowStomach; + private Integer earlyGastricCancer; + private Integer advancedGastricCancer; + private Integer earlyEsophagealCancer; + private Integer advancedEsophagealCancer; + private Integer atrophicGastritis; + private Integer gastricUlcer; + private Integer gastricPolyps; + public Integer getHigeLevel() { + return higeLevel; + } + public void setHigeLevel(Integer higeLevel) { + this.higeLevel = higeLevel; + } + public Integer getHighEsophageal() { + return highEsophageal; + } + public void setHighEsophageal(Integer highEsophageal) { + this.highEsophageal = highEsophageal; + } + public Integer getHighStomach() { + return highStomach; + } + public void setHighStomach(Integer highStomach) { + this.highStomach = highStomach; + } + public Integer getLowLevel() { + return lowLevel; + } + public void setLowLevel(Integer lowLevel) { + this.lowLevel = lowLevel; + } + public Integer getLowEsophageal() { + return lowEsophageal; + } + public void setLowEsophageal(Integer lowEsophageal) { + this.lowEsophageal = lowEsophageal; + } + public Integer getLowStomach() { + return lowStomach; + } + public void setLowStomach(Integer lowStomach) { + this.lowStomach = lowStomach; + } + public Integer getEarlyGastricCancer() { + return earlyGastricCancer; + } + public void setEarlyGastricCancer(Integer earlyGastricCancer) { + this.earlyGastricCancer = earlyGastricCancer; + } + public Integer getAdvancedGastricCancer() { + return advancedGastricCancer; + } + public void setAdvancedGastricCancer(Integer advancedGastricCancer) { + this.advancedGastricCancer = advancedGastricCancer; + } + public Integer getEarlyEsophagealCancer() { + return earlyEsophagealCancer; + } + public void setEarlyEsophagealCancer(Integer earlyEsophagealCancer) { + this.earlyEsophagealCancer = earlyEsophagealCancer; + } + public Integer getAdvancedEsophagealCancer() { + return advancedEsophagealCancer; + } + public void setAdvancedEsophagealCancer(Integer advancedEsophagealCancer) { + this.advancedEsophagealCancer = advancedEsophagealCancer; + } + public Integer getAtrophicGastritis() { + return atrophicGastritis; + } + public void setAtrophicGastritis(Integer atrophicGastritis) { + this.atrophicGastritis = atrophicGastritis; + } + public Integer getGastricUlcer() { + return gastricUlcer; + } + public void setGastricUlcer(Integer gastricUlcer) { + this.gastricUlcer = gastricUlcer; + } + public Integer getGastricPolyps() { + return gastricPolyps; + } + public void setGastricPolyps(Integer gastricPolyps) { + this.gastricPolyps = gastricPolyps; + } + @Override + public String toString() { + return "DiagnosisDTO [higeLevel=" + higeLevel + ", highEsophageal=" + highEsophageal + ", highStomach=" + + highStomach + ", lowLevel=" + lowLevel + ", lowEsophageal=" + lowEsophageal + ", lowStomach=" + + lowStomach + ", earlyGastricCancer=" + earlyGastricCancer + ", advancedGastricCancer=" + + advancedGastricCancer + ", earlyEsophagealCancer=" + earlyEsophagealCancer + + ", advancedEsophagealCancer=" + advancedEsophagealCancer + ", atrophicGastritis=" + atrophicGastritis + + ", gastricUlcer=" + gastricUlcer + ", gastricPolyps=" + gastricPolyps + "]"; + } + + +} diff --git a/download/src/main/java/com/sict/excel/dto/EarlyCancerHospitalDTO.java b/download/src/main/java/com/sict/excel/dto/EarlyCancerHospitalDTO.java new file mode 100644 index 0000000..3ffe592 --- /dev/null +++ b/download/src/main/java/com/sict/excel/dto/EarlyCancerHospitalDTO.java @@ -0,0 +1,103 @@ +package com.sict.excel.dto; + +public class EarlyCancerHospitalDTO { + private Integer id; + private String hospname; + private String province; + private Integer total; + private Integer highEsophagealNeoplasia; + private Integer earlyEsophagealCancer; + private Integer advancedEsophagealCancer; + private Integer highGastricNeoplasia; + private Integer earlyGastricCancer; + private Integer advancedGastricCancer; + + public Integer getId() { + return id; + } + public void setId(Integer id) { + this.id = id; + } + public String getHospname() { + return hospname; + } + public void setHospname(String hospname) { + this.hospname = hospname; + } + public String getProvince() { + return province; + } + public void setProvince(String province) { + this.province = province; + } + public Integer getTotal() { + return total; + } + public void setTotal(Integer total) { + this.total = total; + } + public Integer getHighEsophagealNeoplasia() { + if (highEsophagealNeoplasia==0) { + return null; + } + return highEsophagealNeoplasia; + } + public void setHighEsophagealNeoplasia(Integer highEsophagealNeoplasia) { + this.highEsophagealNeoplasia = highEsophagealNeoplasia; + } + public Integer getEarlyEsophagealCancer() { + if (earlyEsophagealCancer==0) { + return null; + } + return earlyEsophagealCancer; + } + public void setEarlyEsophagealCancer(Integer earlyEsophagealCancer) { + this.earlyEsophagealCancer = earlyEsophagealCancer; + } + public Integer getAdvancedEsophagealCancer() { + if (advancedEsophagealCancer==0) { + return null; + } + return advancedEsophagealCancer; + } + public void setAdvancedEsophagealCancer(Integer advancedEsophagealCancer) { + this.advancedEsophagealCancer = advancedEsophagealCancer; + } + public Integer getHighGastricNeoplasia() { + if (highGastricNeoplasia==0) { + return null; + } + return highGastricNeoplasia; + } + public void setHighGastricNeoplasia(Integer highGastricNeoplasia) { + this.highGastricNeoplasia = highGastricNeoplasia; + } + public Integer getEarlyGastricCancer() { + if (earlyGastricCancer==0) { + return null; + } + return earlyGastricCancer; + } + public void setEarlyGastricCancer(Integer earlyGastricCancer) { + this.earlyGastricCancer = earlyGastricCancer; + } + public Integer getAdvancedGastricCancer() { + if (advancedGastricCancer==0) { + return null; + } + return advancedGastricCancer; + } + public void setAdvancedGastricCancer(Integer advancedGastricCancer) { + this.advancedGastricCancer = advancedGastricCancer; + } + @Override + public String toString() { + return "EarlyCancerHospital [id=" + id + ", hospname=" + hospname + ", province=" + province + ", total=" + + total + ", highEsophagealNeoplasia=" + highEsophagealNeoplasia + ", earlyEsophagealCancer=" + + earlyEsophagealCancer + ", advancedEsophagealCancer=" + advancedEsophagealCancer + + ", highGastricNeoplasia=" + highGastricNeoplasia + ", earlyGastricCancer=" + earlyGastricCancer + + ", advancedGastricCancer=" + advancedGastricCancer + "]"; + } + + +} diff --git a/download/src/main/java/com/sict/excel/dto/EarlyCancerRankDTO.java b/download/src/main/java/com/sict/excel/dto/EarlyCancerRankDTO.java new file mode 100644 index 0000000..4086d15 --- /dev/null +++ b/download/src/main/java/com/sict/excel/dto/EarlyCancerRankDTO.java @@ -0,0 +1,24 @@ +package com.sict.excel.dto; + +public class EarlyCancerRankDTO { + + private String province; + private Integer ECamount; + public String getProvince() { + return province; + } + public void setProvince(String province) { + this.province = province; + } + public Integer getECamount() { + return ECamount; + } + public void setECamount(Integer eCamount) { + ECamount = eCamount; + } + @Override + public String toString() { + return "EarlyCancerRankDTO [province=" + province + ", ECamount=" + ECamount + "]"; + } + +} diff --git a/download/src/main/java/com/sict/excel/dto/GastroscopeTestDTO.java b/download/src/main/java/com/sict/excel/dto/GastroscopeTestDTO.java new file mode 100644 index 0000000..429ce3f --- /dev/null +++ b/download/src/main/java/com/sict/excel/dto/GastroscopeTestDTO.java @@ -0,0 +1,27 @@ +package com.sict.excel.dto; + +public class GastroscopeTestDTO { + + private Integer actualGastroscope; + private Integer planGastroscope; + + public Integer getActualGastroscope() { + return actualGastroscope; + } + public void setActualGastroscope(Integer actualGastroscope) { + this.actualGastroscope = actualGastroscope; + } + + public Integer getPlanGastroscope() { + return planGastroscope; + } + public void setPlanGastroscope(Integer planGastroscope) { + this.planGastroscope = planGastroscope; + } + @Override + public String toString() { + return "GastroscopeTestDTO [actualGastroscope=" + actualGastroscope + ", planGastroscopel=" + planGastroscope + + "]"; + } + +} diff --git a/download/src/main/java/com/sict/excel/dto/HpPositiveDTO.java b/download/src/main/java/com/sict/excel/dto/HpPositiveDTO.java new file mode 100644 index 0000000..be8d8fc --- /dev/null +++ b/download/src/main/java/com/sict/excel/dto/HpPositiveDTO.java @@ -0,0 +1,20 @@ +package com.sict.excel.dto; + +public class HpPositiveDTO { + + private Integer HpPositive; + + public Integer getHpPositive() { + return HpPositive; + } + + public void setHpPositive(Integer hpPositive) { + HpPositive = hpPositive; + } + + @Override + public String toString() { + return "HpPositiveDTO [HpPositive=" + HpPositive + "]"; + } + +} diff --git a/download/src/main/java/com/sict/excel/dto/RiskDTO.java b/download/src/main/java/com/sict/excel/dto/RiskDTO.java new file mode 100644 index 0000000..4b72d06 --- /dev/null +++ b/download/src/main/java/com/sict/excel/dto/RiskDTO.java @@ -0,0 +1,26 @@ +package com.sict.excel.dto; + +public class RiskDTO { + + private String grade; + private Integer total; + public String getGrade() { + return grade; + } + public void setGrade(String grade) { + this.grade = grade; + } + public Integer getTotal() { + return total; + } + public void setTotal(Integer total) { + this.total = total; + } + @Override + public String toString() { + return "RiskDTO [grade=" + grade + ", total=" + total + "]"; + } + + + +} diff --git a/download/src/main/java/com/sict/excel/dto/ScreeningRankDTO.java b/download/src/main/java/com/sict/excel/dto/ScreeningRankDTO.java new file mode 100644 index 0000000..4d4b489 --- /dev/null +++ b/download/src/main/java/com/sict/excel/dto/ScreeningRankDTO.java @@ -0,0 +1,34 @@ +package com.sict.excel.dto; + +public class ScreeningRankDTO { + + + private Integer id; + private String hospname; + private Integer actualserum; + + + public Integer getId() { + return id; + } + public void setId(Integer id) { + this.id = id; + } + public String getHospname() { + return hospname; + } + public void setHospname(String hospname) { + this.hospname = hospname; + } + public Integer getActualserum() { + return actualserum; + } + public void setActualserum(Integer actualserum) { + this.actualserum = actualserum; + } + @Override + public String toString() { + return "ScreeningRankDTO [id=" + id + ", hospname=" + hospname + ", actualserum=" + + actualserum + "]"; + } +} diff --git a/download/src/main/java/com/sict/excel/dto/ScreeningRankProvinceDTO.java b/download/src/main/java/com/sict/excel/dto/ScreeningRankProvinceDTO.java new file mode 100644 index 0000000..b1c0aa5 --- /dev/null +++ b/download/src/main/java/com/sict/excel/dto/ScreeningRankProvinceDTO.java @@ -0,0 +1,44 @@ +package com.sict.excel.dto; + +public class ScreeningRankProvinceDTO { + + private Integer id; + private String hospname; + private String province; + private Integer actualserum; + + + public Integer getId() { + return id; + } + public void setId(Integer id) { + this.id = id; + } + public String getHospname() { + return hospname; + } + public void setHospname(String hospname) { + this.hospname = hospname; + } + public String getProvince() { + return province; + } + public void setProvince(String province) { + this.province = province; + } + public Integer getActualserum() { + return actualserum; + } + public void setActualserum(Integer actualserum) { + this.actualserum = actualserum; + } + @Override + public String toString() { + return "ScreeningRankDTO [id=" + id + ", hospname=" + hospname + ", province=" + province + ", actualserum=" + + actualserum + "]"; + } + + + + +} diff --git a/download/src/main/java/com/sict/excel/dto/SerumStatisticsDTO.java b/download/src/main/java/com/sict/excel/dto/SerumStatisticsDTO.java new file mode 100644 index 0000000..30dd6d1 --- /dev/null +++ b/download/src/main/java/com/sict/excel/dto/SerumStatisticsDTO.java @@ -0,0 +1,29 @@ +package com.sict.excel.dto; + +public class SerumStatisticsDTO { + + /** + * 省份血检总人次 + */ + private Integer serumTestTotal; + /** + * 省份HP抗体(IGG)检测阳性总人次 + */ + private Integer iggPositive; + public Integer getSerumTestTotal() { + return serumTestTotal; + } + public void setSerumTestTotal(Integer serumTestTotal) { + this.serumTestTotal = serumTestTotal; + } + public Integer getIggPositive() { + return iggPositive; + } + public void setIggPositive(Integer iggPositive) { + this.iggPositive = iggPositive; + } + @Override + public String toString() { + return "SerumStatisticsDTO [serumTestTotal=" + serumTestTotal + ", iggPositive=" + iggPositive + "]"; + } +} diff --git a/download/src/main/java/com/sict/excel/dto/Student.java b/download/src/main/java/com/sict/excel/dto/Student.java new file mode 100644 index 0000000..bf45012 --- /dev/null +++ b/download/src/main/java/com/sict/excel/dto/Student.java @@ -0,0 +1,43 @@ +package com.sict.excel.dto; + + +/** + * 例子JavaBean + * @author liuyazhuang + * + */ +public class Student { + private int id; + private String name; + private String sex; + + public Student(int id, String name, String sex) { + this.id = id; + this.name = name; + this.sex = sex; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getSex() { + return sex; + } + + public void setSex(String sex) { + this.sex = sex; + } +} \ No newline at end of file diff --git a/download/src/main/java/com/sict/excel/mapper/DownloadMapper.java b/download/src/main/java/com/sict/excel/mapper/DownloadMapper.java new file mode 100644 index 0000000..0b0b885 --- /dev/null +++ b/download/src/main/java/com/sict/excel/mapper/DownloadMapper.java @@ -0,0 +1,86 @@ +package com.sict.excel.mapper; + +import java.util.List; + +import com.sict.excel.dto.AnalysisGraphicDTO; +import com.sict.excel.dto.AnalysisProvinceDTO; +import com.sict.excel.dto.DiagnosisDTO; +import com.sict.excel.dto.EarlyCancerHospitalDTO; +import com.sict.excel.dto.EarlyCancerRankDTO; +import com.sict.excel.dto.GastroscopeTestDTO; +import com.sict.excel.dto.HpPositiveDTO; +import com.sict.excel.dto.RiskDTO; +import com.sict.excel.dto.ScreeningRankDTO; +import com.sict.excel.dto.ScreeningRankProvinceDTO; +import com.sict.excel.dto.SerumStatisticsDTO; + + +public interface DownloadMapper{ + + /** + * 筛查监控-血清学检查 + * @return + */ + SerumStatisticsDTO getSerumStatistics(); + + /*** + * 筛查排名-按血检人数排名 + * @return + */ + List getScreeningRankProvinceDTOs(); + + /** + * 省份早癌排名 + * @return + */ + List getEarlyCancerRankDTOs(); + + /** + * 运营分析-医院早癌 胃癌数 + */ + List geteaCancerHospitals(); + + /** + * 运营分析-省份数据 + * @return + */ + List getAnalysisProvinceDTOs(); + + /*** + * 社区筛查排名-血检人数/体检筛查排名-血检人数/门诊筛查排名-血检人数 + * @return + */ + List getScreeningRankDTOs(); + + + /** + * 运营分析-图例数据 + * @return + */ + AnalysisGraphicDTO getAnalysisGraphicDTOs(); + + /** + * 筛查监控-胃镜检查 + * @return + */ + GastroscopeTestDTO getGastroscopeTestDTOs(); + + /** + * Hp抗体阳性人数 + * @return + */ + HpPositiveDTO getHpPositiveDTO(); + + /*** + * 诊断结果 + * @return + */ + DiagnosisDTO getDiagnosisDTO(); + + /** + * 风险等级 + * @return + */ + List getRiskDTOs(); + +} diff --git a/download/src/main/java/com/sict/excel/myExcel.java b/download/src/main/java/com/sict/excel/myExcel.java new file mode 100644 index 0000000..caee643 --- /dev/null +++ b/download/src/main/java/com/sict/excel/myExcel.java @@ -0,0 +1,76 @@ +package com.sict.excel; + +import java.io.FileOutputStream; +import java.io.IOException; + +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; + +import com.sict.excel.test.AnalysisGraphicExcel; +import com.sict.excel.test.AnalysisHospitalEarlyCancerExcel; +import com.sict.excel.test.AnalysisProvinceExcel; +import com.sict.excel.test.Diagnosis; +import com.sict.excel.test.GastroscopeTest; +import com.sict.excel.test.ProvinceEarlyCancerRankExcel; +import com.sict.excel.test.ScreeningRankGecaExcel; +import com.sict.excel.test.ScreeningRankProvinceExcel; +import com.sict.excel.test.ScreeningRankQgExcel; +import com.sict.excel.test.ScreeningRankShchyyExcel; +import com.sict.excel.test.SerumTest; + +public class myExcel { + + public static void main(String[] args) throws Exception { + HSSFWorkbook workbook = new HSSFWorkbook(); + //筛查监控-血清学检查 + SerumTest serumTest = new SerumTest(); + HSSFSheet sheet1 = serumTest.getsheet1(workbook); + workbook.setSheetName(0, "筛查监控-血清学检查"); + //筛查监控-胃镜检查 + GastroscopeTest gastroscopeTest = new GastroscopeTest(); + HSSFSheet sheet2 = gastroscopeTest.getSheet2(workbook); + workbook.setSheetName(1, "筛查监控-胃镜检查"); + //筛查监控-诊断结果 + Diagnosis diagnosis = new Diagnosis(); + HSSFSheet sheet3 = diagnosis.getSheet3(workbook); + workbook.setSheetName(2, "筛查监控-诊断结果"); + //运营分析-图例数据 + AnalysisGraphicExcel analysisGraphicExcel = new AnalysisGraphicExcel(); + HSSFSheet sheet4 = analysisGraphicExcel.getsheet4(workbook); + workbook.setSheetName(3, "运营分析-图例数据"); + //运营分析-省份数据 + AnalysisProvinceExcel analysisProvinceExcel = new AnalysisProvinceExcel(); + HSSFSheet sheet5 = analysisProvinceExcel.getSheet5(workbook); + workbook.setSheetName(4, "运营分析-省份数据"); + //运营分析-医院早癌 胃癌数 + AnalysisHospitalEarlyCancerExcel analysisHospitalEarlyCancerExcel = new AnalysisHospitalEarlyCancerExcel(); + HSSFSheet sheet6 = analysisHospitalEarlyCancerExcel.getsheet6(workbook); + workbook.setSheetName(5, "运营分析-医院早癌 胃癌数"); + //省份早癌排名 + ProvinceEarlyCancerRankExcel provinceEarlyCancerRankExcel = new ProvinceEarlyCancerRankExcel(); + HSSFSheet sheet7 = provinceEarlyCancerRankExcel.getSheet7(workbook); + workbook.setSheetName(6, "省份早癌排名"); + //筛查排名-按血检人数排名 + ScreeningRankProvinceExcel screeningRankProvinceExcel = new ScreeningRankProvinceExcel(); + HSSFSheet sheet8 = screeningRankProvinceExcel.getSheet8(workbook); + workbook.setSheetName(7, "筛查排名-按血检人数排名"); + //社区筛查排名-血检人数 + ScreeningRankShchyyExcel screeningRankShchyyExcel = new ScreeningRankShchyyExcel(); + HSSFSheet sheet9 = screeningRankShchyyExcel.getSheet9(workbook); + workbook.setSheetName(8, "社区筛查排名-血检人数"); + //体检筛查排名-血检人数 + ScreeningRankGecaExcel screeningRankGecaExcel = new ScreeningRankGecaExcel(); + HSSFWorkbook getsheet10 = screeningRankGecaExcel.getsheet10(workbook); + workbook.setSheetName(9, "体检筛查排名-血检人数"); + //门诊筛查排名-血检人数 + ScreeningRankQgExcel screeningRankQgExcel = new ScreeningRankQgExcel(); + HSSFSheet sheet11 = screeningRankQgExcel.getSheet11(workbook); + workbook.setSheetName(10, "门诊筛查排名-血检人数"); + + + FileOutputStream outputStream = new FileOutputStream("E:/2019/excel/GICC+map+data.xls"); + workbook.write(outputStream); + outputStream.close(); + } + +} diff --git a/download/src/main/java/com/sict/excel/test/AnalysisGraphicExcel.java b/download/src/main/java/com/sict/excel/test/AnalysisGraphicExcel.java new file mode 100644 index 0000000..a0f034f --- /dev/null +++ b/download/src/main/java/com/sict/excel/test/AnalysisGraphicExcel.java @@ -0,0 +1,69 @@ +package com.sict.excel.test; + +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.ibatis.session.SqlSession; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; + +import com.sict.excel.bo.AnalysisGraphicBO; +import com.sict.excel.dto.AnalysisGraphicDTO; +import com.sict.excel.dto.EarlyCancerHospitalDTO; +import com.sict.excel.dto.ScreeningRankProvinceDTO; +import com.sict.excel.mapper.DownloadMapper; +import com.sict.excel.utils.ExportExcelUtil; +import com.sict.excel.utils.SqlSessionUtil; + +public class AnalysisGraphicExcel { + + public static HSSFSheet getsheet4(HSSFWorkbook workbook) throws IOException { + + SqlSession sqlSession = SqlSessionUtil.getSession(); + + DownloadMapper mapper = sqlSession.getMapper(DownloadMapper.class); + + ExportExcelUtil util = new ExportExcelUtil(); + + String[] columnNames = {"收集项","数值","备注"}; + + AnalysisGraphicDTO graphicDTO = mapper.getAnalysisGraphicDTOs(); + + List list = new ArrayList(); + + AnalysisGraphicBO analysisGraphicBO = new AnalysisGraphicBO(); + analysisGraphicBO.setItem("申请胃癌筛查的医院总数"); + analysisGraphicBO.setNumber(graphicDTO.getApplyGastricCancerScreeningHosp()); + list.add(analysisGraphicBO); + + AnalysisGraphicBO analysisGraphicBO2 = new AnalysisGraphicBO(); + analysisGraphicBO2.setItem("通过申请医院数 "); + analysisGraphicBO2.setNumber(graphicDTO.getPassApplyHosp()); + list.add(analysisGraphicBO2); + + AnalysisGraphicBO analysisGraphicBO3 = new AnalysisGraphicBO(); + analysisGraphicBO3.setItem("平台账号申请医院数"); + analysisGraphicBO3.setNumber(graphicDTO.getPlatAccountApplyHosp()); + list.add(analysisGraphicBO3); + + AnalysisGraphicBO analysisGraphicBO4 = new AnalysisGraphicBO(); + analysisGraphicBO4.setItem("账号已开通的医院数"); + analysisGraphicBO4.setNumber(graphicDTO.getOpenAccountHosp()); + list.add(analysisGraphicBO4); + + + // String path = "E:/2019/excel/" + "运营分析-图例数据.xls"; + + HSSFSheet sheet = util.exportExcel(workbook,"运营分析-图例数据", columnNames, list, ExportExcelUtil.EXCEl_FILE_2007); + sqlSession.commit(); + + sqlSession.close(); + + return sheet; + + + } + +} diff --git a/download/src/main/java/com/sict/excel/test/AnalysisHospitalEarlyCancerExcel.java b/download/src/main/java/com/sict/excel/test/AnalysisHospitalEarlyCancerExcel.java new file mode 100644 index 0000000..d8bd082 --- /dev/null +++ b/download/src/main/java/com/sict/excel/test/AnalysisHospitalEarlyCancerExcel.java @@ -0,0 +1,42 @@ +package com.sict.excel.test; + +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.List; + +import org.apache.ibatis.session.SqlSession; +import org.apache.poi.hslf.model.Sheet; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; + +import com.sict.excel.dto.EarlyCancerHospitalDTO; +import com.sict.excel.dto.ScreeningRankProvinceDTO; +import com.sict.excel.mapper.DownloadMapper; +import com.sict.excel.utils.ExportExcelUtil; +import com.sict.excel.utils.SqlSessionUtil; + +public class AnalysisHospitalEarlyCancerExcel { + + public static HSSFSheet getsheet6(HSSFWorkbook workbook) throws IOException { + +SqlSession sqlSession = SqlSessionUtil.getSession(); + + DownloadMapper mapper = sqlSession.getMapper(DownloadMapper.class); + + ExportExcelUtil util = new ExportExcelUtil(); + + String[] columnNames = {"排名","医院名称","省份","合计","高级别食管粘膜上皮内瘤变","早期食管癌","进展期食管癌","高级别胃粘膜上皮内瘤病变","早期胃癌","进展期胃癌"}; + + List list = mapper.geteaCancerHospitals(); + + // String path = "E:/2019/excel/" + "运营分析-医院早癌 胃癌数.xls"; + HSSFSheet sheet = util.exportExcel(workbook,"运营分析-医院早癌 胃癌数", columnNames, list, ExportExcelUtil.EXCEl_FILE_2007); + sqlSession.commit(); + + sqlSession.close(); + + + return sheet; + } + +} diff --git a/download/src/main/java/com/sict/excel/test/AnalysisProvinceExcel.java b/download/src/main/java/com/sict/excel/test/AnalysisProvinceExcel.java new file mode 100644 index 0000000..727f74a --- /dev/null +++ b/download/src/main/java/com/sict/excel/test/AnalysisProvinceExcel.java @@ -0,0 +1,41 @@ +package com.sict.excel.test; + +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.List; + +import org.apache.ibatis.session.SqlSession; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; + +import com.sict.excel.dto.AnalysisProvinceDTO; +import com.sict.excel.mapper.DownloadMapper; +import com.sict.excel.utils.ExportExcelUtil; +import com.sict.excel.utils.SqlSessionUtil; + +public class AnalysisProvinceExcel { + + public static HSSFSheet getSheet5(HSSFWorkbook workbook) throws IOException { + + SqlSession sqlSession = SqlSessionUtil.getSession(); + + DownloadMapper mapper = sqlSession.getMapper(DownloadMapper.class); + + ExportExcelUtil util = new ExportExcelUtil(); + + String[] columnNames = {"省份","申请医院总数 ","开通账号医院总数","申请账号中的医院总数","通过申请医院数","平台账号申请医院数","筛查人数","早癌数"}; + + List list = mapper.getAnalysisProvinceDTOs(); + + //String path = "E:/2019/excel/" + "运营分析-省份数据.xls"; + HSSFSheet sheet = util.exportExcel(workbook,"运营分析-省份数据", columnNames, list, ExportExcelUtil.EXCEl_FILE_2007); + sqlSession.commit(); + + sqlSession.close(); + + return sheet; + + + } + +} diff --git a/download/src/main/java/com/sict/excel/test/Diagnosis.java b/download/src/main/java/com/sict/excel/test/Diagnosis.java new file mode 100644 index 0000000..d706406 --- /dev/null +++ b/download/src/main/java/com/sict/excel/test/Diagnosis.java @@ -0,0 +1,163 @@ +package com.sict.excel.test; + +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.List; + +import org.apache.ibatis.session.SqlSession; +import org.apache.log4j.DailyRollingFileAppender; +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFCellStyle; +import org.apache.poi.hssf.usermodel.HSSFFont; +import org.apache.poi.hssf.usermodel.HSSFRow; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.IndexedColors; +import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.ss.util.RegionUtil; + +import com.sict.excel.dto.DiagnosisDTO; +import com.sict.excel.dto.RiskDTO; +import com.sict.excel.mapper.DownloadMapper; +import com.sict.excel.utils.SqlSessionUtil; + +public class Diagnosis { + + public static HSSFSheet getSheet3(HSSFWorkbook workbook) throws IOException { + HSSFSheet sheet = workbook.createSheet("筛查监控-诊断结果"); + sheet.setDefaultColumnWidth(15); + // 设置这些样式 + HSSFCellStyle style = workbook.createCellStyle(); + style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 垂直居中 + style.setAlignment(HSSFCellStyle.ALIGN_CENTER); + // 背景色 + // 设置边框 + style.setBorderBottom(HSSFCellStyle.BORDER_THIN); + style.setBorderLeft(HSSFCellStyle.BORDER_THIN); + style.setBorderRight(HSSFCellStyle.BORDER_THIN); + style.setBorderTop(HSSFCellStyle.BORDER_THIN); + + style.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex()); + style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); + style.setFillBackgroundColor(IndexedColors.PALE_BLUE.getIndex()); + // 生成一个字体 + HSSFFont font = workbook.createFont(); + font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); + font.setFontName("宋体"); + style.setFont(font); + + HSSFRow row = sheet.createRow(0); + // 合并行 + HSSFCell cell = row.createCell(0); + cell.setCellValue("收集项"); + cell.setCellStyle(style); + CellRangeAddress region = new CellRangeAddress(0, 0, 0, 1); + sheet.addMergedRegion(region); + RegionUtil.setBorderBottom(1, region, sheet, workbook); // 下边框 + RegionUtil.setBorderLeft(1, region, sheet, workbook); // 左边框 + RegionUtil.setBorderRight(1, region, sheet, workbook); // 有边框 + RegionUtil.setBorderTop(1, region, sheet, workbook); // 上边框 + + // 数量 + HSSFCell cell12 = row.createCell(2); + cell12.setCellStyle(style); + cell12.setCellValue("数量"); + + HSSFCellStyle style2 = workbook.createCellStyle(); + style2.setAlignment(HSSFCellStyle.ALIGN_CENTER); + // 背景色 + // 设置边框 + style2.setBorderBottom(HSSFCellStyle.BORDER_THIN); + style2.setBorderLeft(HSSFCellStyle.BORDER_THIN); + style2.setBorderRight(HSSFCellStyle.BORDER_THIN); + style2.setBorderTop(HSSFCellStyle.BORDER_THIN); + // 生成一个字体 + HSSFFont font2 = workbook.createFont(); + font.setFontHeightInPoints((short) 11); + font.setColor(IndexedColors.AUTOMATIC.getIndex()); + font.setFontName("宋体"); + style2.setFont(font2);// 把字体 应用到当前样式 + + HSSFRow row4 ; + HSSFCell cell41,cell42,cell43,cell44; + + SqlSession sqlSession = SqlSessionUtil.getSession(); + DownloadMapper mapper = sqlSession.getMapper(DownloadMapper.class); + DiagnosisDTO diagnosis = mapper.getDiagnosisDTO(); + + + String[] str1 = {"诊断结果","","","","其他","",""}; + String[] str2 = {"高级别上皮内瘤变","低级别上皮内瘤变","早期胃癌","早期食管癌","萎缩性胃炎","胃溃疡","胃息肉"}; + Integer[] number = {diagnosis.getHigeLevel(),diagnosis.getLowLevel(),diagnosis.getEarlyGastricCancer(),diagnosis.getEarlyEsophagealCancer(),diagnosis.getAtrophicGastritis(),diagnosis.getGastricUlcer(),diagnosis.getGastricPolyps()}; + String[] str3 = {"食管"+diagnosis.getHighEsophageal()+"+胃"+diagnosis.getHighStomach(),"食管"+diagnosis.getLowEsophageal()+"+胃"+diagnosis.getLowStomach(),"进展期胃癌"+diagnosis.getAdvancedGastricCancer(),"进展期食管癌"+diagnosis.getAdvancedEsophagealCancer(),"","",""}; + for (int i = 1; i < 8; i++) { + row4 = sheet.createRow(i); + + cell41 = row4.createCell(0); + cell41.setCellStyle(style2); + cell41.setCellValue(str1[i-1]); + + cell42 = row4.createCell(1); + cell42.setCellStyle(style2); + cell42.setCellValue(str2[i-1]); + + cell43 = row4.createCell(2); + cell43.setCellStyle(style2); + cell43.setCellValue(number[i-1]); + + cell44 = row4.createCell(3); + cell44.setCellValue(str3[i-1]); + + } + CellRangeAddress region2 = new CellRangeAddress(1, 4, 0, 0); + sheet.addMergedRegion(region2); + RegionUtil.setBorderBottom(1, region2, sheet, workbook); // 下边框 + RegionUtil.setBorderLeft(1, region2, sheet, workbook); // 左边框 + RegionUtil.setBorderRight(1, region2, sheet, workbook); // 有边框 + RegionUtil.setBorderTop(1, region2, sheet, workbook); // 上边框 + CellRangeAddress region3 = new CellRangeAddress(5, 7, 0, 0); + sheet.addMergedRegion(region3); + RegionUtil.setBorderBottom(1, region3, sheet, workbook); // 下边框 + RegionUtil.setBorderLeft(1, region3, sheet, workbook); // 左边框 + RegionUtil.setBorderRight(1, region3, sheet, workbook); // 有边框 + RegionUtil.setBorderTop(1, region3, sheet, workbook); // 上边框 + + HSSFRow row5 ; + HSSFCell cell51,cell52,cell53; + + List riskDTOs = mapper.getRiskDTOs(); + String[] str4 = {"","高危","中危","低危","总数"}; + Integer highInteger=riskDTOs.get(0).getTotal(); + Integer lowString = riskDTOs.get(1).getTotal(); + Integer mediuString = riskDTOs.get(2).getTotal(); + Integer totalInteger = highInteger.intValue()+lowString.intValue()+mediuString.intValue(); + double highdouble = Double.parseDouble(highInteger.toString()); + double mediumdouble = Double.parseDouble(mediuString.toString()); + double lowdouble = Double.parseDouble(lowString.toString()); + double totaldouble = Double.parseDouble(totalInteger.toString()); + String[] str5 = {"总数",highInteger.toString(),mediuString.toString(),lowString.toString(),totalInteger+""}; + String[] str6 = {"比例",String.format("%.1f", highdouble/totaldouble*100)+"%",String.format("%.1f", mediumdouble/totaldouble*100)+"%",String.format("%.1f", lowdouble/totaldouble*100)+"%","100%"}; + for (int i = 11; i < 16; i++) { + + row5 = sheet.createRow(i); + + cell51 = row5.createCell(0); + cell51.setCellValue(str4[i-11]); + + cell52 = row5.createCell(1); + cell52.setCellValue(str5[i-11]); + + HSSFCellStyle style3 = workbook.createCellStyle(); + HSSFFont font3 = workbook.createFont(); + font3.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); + font3.setFontName("宋体"); + style3.setFont(font); + cell53 = row5.createCell(2); + cell53.setCellValue(str6[i-11]); + cell53.setCellStyle(style3); + } + + return sheet; + } + +} diff --git a/download/src/main/java/com/sict/excel/test/GastroscopeTest.java b/download/src/main/java/com/sict/excel/test/GastroscopeTest.java new file mode 100644 index 0000000..c6fa003 --- /dev/null +++ b/download/src/main/java/com/sict/excel/test/GastroscopeTest.java @@ -0,0 +1,96 @@ +package com.sict.excel.test; + +import java.io.FileOutputStream; +import java.io.IOException; + +import org.apache.ibatis.session.SqlSession; +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFCellStyle; +import org.apache.poi.hssf.usermodel.HSSFFont; +import org.apache.poi.hssf.usermodel.HSSFRow; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.IndexedColors; + +import com.sict.excel.dto.GastroscopeTestDTO; +import com.sict.excel.mapper.DownloadMapper; +import com.sict.excel.utils.SqlSessionUtil; + +public class GastroscopeTest { + + public static HSSFSheet getSheet2(HSSFWorkbook workbook) throws IOException { + + SqlSession sqlSession = SqlSessionUtil.getSession(); + DownloadMapper mapper = sqlSession.getMapper(DownloadMapper.class); + GastroscopeTestDTO gastroscopeTestDTO = mapper.getGastroscopeTestDTOs(); + HSSFSheet sheet = workbook.createSheet("筛查监控-胃镜检查"); + sheet.setDefaultColumnWidth(15); + + HSSFRow row = sheet.createRow(0); + HSSFCellStyle style = workbook.createCellStyle(); + // 设置这些样式 + style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 垂直居中 + // 背景色 + style.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex()); + style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); + style.setFillBackgroundColor(IndexedColors.PALE_BLUE.getIndex()); + // 设置边框 + style.setBorderBottom(HSSFCellStyle.BORDER_THIN); + style.setBorderLeft(HSSFCellStyle.BORDER_THIN); + style.setBorderRight(HSSFCellStyle.BORDER_THIN); + style.setBorderTop(HSSFCellStyle.BORDER_THIN); + // 生成一个字体 + HSSFFont font = workbook.createFont(); + font.setFontHeightInPoints((short) 11); + font.setColor(IndexedColors.AUTOMATIC.getIndex()); + font.setFontName("宋体"); + style.setFont(font);// 把字体 应用到当前样式 + + HSSFCell cell = row.createCell(0); + cell.setCellValue("收集项"); + cell.setCellStyle(style); + HSSFCell cell2 = row.createCell(1); + cell2.setCellValue("数量"); + cell2.setCellStyle(style); + + HSSFCellStyle style2 = workbook.createCellStyle(); + // 设置这些样式 + style2.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 垂直居中 + // 背景色 + style2.setFillForegroundColor(IndexedColors.WHITE.getIndex()); + style2.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); + style2.setFillBackgroundColor(IndexedColors.WHITE.getIndex()); + // 设置边框 + style2.setBorderBottom(HSSFCellStyle.BORDER_THIN); + style2.setBorderLeft(HSSFCellStyle.BORDER_THIN); + style2.setBorderRight(HSSFCellStyle.BORDER_THIN); + style2.setBorderTop(HSSFCellStyle.BORDER_THIN); + style2.setFont(font);// 把字体 应用到当前样式 + HSSFRow row2 = sheet.createRow(1);// 第2行 + HSSFCell cell3 = row2.createCell(0); + cell3.setCellStyle(style2); + cell3.setCellValue("实际精查人数"); + HSSFCell cell4 = row2.createCell(1); + cell4.setCellStyle(style2); + cell4.setCellValue(gastroscopeTestDTO.getActualGastroscope()+""); + HSSFCell cell7 = row2.createCell(2); + double actual = Double.parseDouble(gastroscopeTestDTO.getActualGastroscope().toString()); + double plan = Double.parseDouble(gastroscopeTestDTO.getPlanGastroscope().toString()); + cell7.setCellValue(String.format("%.2f", actual/plan*100)+"%"); + + HSSFRow row3 = sheet.createRow(2);// 第三行 + HSSFCell cell5 = row3.createCell(0); + cell5.setCellStyle(style2); + cell5.setCellValue("应精查人数"); + HSSFCell cell6 = row3.createCell(1); + cell6.setCellStyle(style2); + cell6.setCellValue(gastroscopeTestDTO.getPlanGastroscope()+""); + + + //FileOutputStream outputStream = new FileOutputStream("E:/2019/excel/筛查监控-胃镜检查.xls"); + sqlSession.commit(); + sqlSession.close(); + return sheet; + } + +} diff --git a/download/src/main/java/com/sict/excel/test/ProvinceEarlyCancerRankExcel.java b/download/src/main/java/com/sict/excel/test/ProvinceEarlyCancerRankExcel.java new file mode 100644 index 0000000..4900632 --- /dev/null +++ b/download/src/main/java/com/sict/excel/test/ProvinceEarlyCancerRankExcel.java @@ -0,0 +1,32 @@ +package com.sict.excel.test; + +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.List; +import org.apache.ibatis.session.SqlSession; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; + +import com.sict.excel.dto.EarlyCancerRankDTO; +import com.sict.excel.mapper.DownloadMapper; +import com.sict.excel.utils.ExportExcelUtil; +import com.sict.excel.utils.SqlSessionUtil; + +public class ProvinceEarlyCancerRankExcel { + + public static HSSFSheet getSheet7(HSSFWorkbook workbook) throws IOException { + SqlSession sqlSession = SqlSessionUtil.getSession(); + + DownloadMapper mapper = sqlSession.getMapper(DownloadMapper.class); + ExportExcelUtil util = new ExportExcelUtil(); + String[] columnNames = {"省份","早癌数"}; + List list = mapper.getEarlyCancerRankDTOs(); + //String path = "E:/2019/excel/" + "省份早癌排名.xls"; + HSSFSheet sheet = util.exportExcel(workbook,"省份早癌排名", columnNames, list, ExportExcelUtil.EXCEl_FILE_2007); + sqlSession.commit(); + + sqlSession.close(); + return sheet; + } + +} diff --git a/download/src/main/java/com/sict/excel/test/ScreeningRankGecaExcel.java b/download/src/main/java/com/sict/excel/test/ScreeningRankGecaExcel.java new file mode 100644 index 0000000..9d5e4da --- /dev/null +++ b/download/src/main/java/com/sict/excel/test/ScreeningRankGecaExcel.java @@ -0,0 +1,33 @@ +package com.sict.excel.test; + +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.List; +import org.apache.ibatis.session.SqlSession; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; + +import com.sict.excel.dto.EarlyCancerRankDTO; +import com.sict.excel.dto.ScreeningRankDTO; +import com.sict.excel.mapper.DownloadMapper; +import com.sict.excel.utils.ExportExcelUtil; +import com.sict.excel.utils.SqlSessionUtil; + +public class ScreeningRankGecaExcel { + + public static HSSFWorkbook getsheet10(HSSFWorkbook workbook) throws IOException { + SqlSession sqlSession = SqlSessionUtil.getGecaSession(); + + DownloadMapper mapper = sqlSession.getMapper(DownloadMapper.class); + ExportExcelUtil util = new ExportExcelUtil(); + String[] columnNames = {"排名","医联体名称","血检人数"}; + List list = mapper.getScreeningRankDTOs(); + String path = "E:/2019/excel/" + "体检筛查排名-血检人数.xls"; + HSSFSheet sheet = util.exportExcel(workbook,"体检筛查排名-血检人数", columnNames, list, ExportExcelUtil.EXCEl_FILE_2007); + sqlSession.commit(); + + sqlSession.close(); + return workbook; + } + +} diff --git a/download/src/main/java/com/sict/excel/test/ScreeningRankProvinceExcel.java b/download/src/main/java/com/sict/excel/test/ScreeningRankProvinceExcel.java new file mode 100644 index 0000000..72a3049 --- /dev/null +++ b/download/src/main/java/com/sict/excel/test/ScreeningRankProvinceExcel.java @@ -0,0 +1,39 @@ +package com.sict.excel.test; + +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.List; + +import org.apache.ibatis.session.SqlSession; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; + +import com.sict.excel.dto.ScreeningRankProvinceDTO; +import com.sict.excel.mapper.DownloadMapper; +import com.sict.excel.utils.ExportExcelUtil; +import com.sict.excel.utils.SqlSessionUtil; + +public class ScreeningRankProvinceExcel { + + public static HSSFSheet getSheet8(HSSFWorkbook workbook) throws IOException { + + SqlSession sqlSession = SqlSessionUtil.getSession(); + + DownloadMapper mapper = sqlSession.getMapper(DownloadMapper.class); + + ExportExcelUtil util = new ExportExcelUtil(); + + String[] columnNames = {"排名","医院名称","省份","血检人数"}; + + List list = mapper.getScreeningRankProvinceDTOs(); + + //String path = "E:/2019/excel/" + "筛查排名-按血检人数排名.xls"; + HSSFSheet sheet = util.exportExcel(workbook, "筛查排名-按血检人数排名", columnNames, list, ExportExcelUtil.EXCEl_FILE_2007); + sqlSession.commit(); + + sqlSession.close(); + return sheet; + + } + +} diff --git a/download/src/main/java/com/sict/excel/test/ScreeningRankQgExcel.java b/download/src/main/java/com/sict/excel/test/ScreeningRankQgExcel.java new file mode 100644 index 0000000..e21e1bf --- /dev/null +++ b/download/src/main/java/com/sict/excel/test/ScreeningRankQgExcel.java @@ -0,0 +1,33 @@ +package com.sict.excel.test; + +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.List; +import org.apache.ibatis.session.SqlSession; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; + +import com.sict.excel.dto.EarlyCancerRankDTO; +import com.sict.excel.dto.ScreeningRankDTO; +import com.sict.excel.mapper.DownloadMapper; +import com.sict.excel.utils.ExportExcelUtil; +import com.sict.excel.utils.SqlSessionUtil; + +public class ScreeningRankQgExcel { + + public static HSSFSheet getSheet11(HSSFWorkbook workbook) throws IOException { + SqlSession sqlSession = SqlSessionUtil.getQgSession(); + + DownloadMapper mapper = sqlSession.getMapper(DownloadMapper.class); + ExportExcelUtil util = new ExportExcelUtil(); + String[] columnNames = {"排名","医联体名称","血检人数"}; + List list = mapper.getScreeningRankDTOs(); + String path = "E:/2019/excel/" + "门诊筛查排名-血检人数.xls"; + HSSFSheet sheet = util.exportExcel(workbook,"门诊筛查排名-血检人", columnNames, list, ExportExcelUtil.EXCEl_FILE_2007); + sqlSession.commit(); + + sqlSession.close(); + return sheet; + } + +} diff --git a/download/src/main/java/com/sict/excel/test/ScreeningRankShchyyExcel.java b/download/src/main/java/com/sict/excel/test/ScreeningRankShchyyExcel.java new file mode 100644 index 0000000..4ce2669 --- /dev/null +++ b/download/src/main/java/com/sict/excel/test/ScreeningRankShchyyExcel.java @@ -0,0 +1,32 @@ +package com.sict.excel.test; + +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.List; +import org.apache.ibatis.session.SqlSession; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; + +import com.sict.excel.dto.EarlyCancerRankDTO; +import com.sict.excel.dto.ScreeningRankDTO; +import com.sict.excel.mapper.DownloadMapper; +import com.sict.excel.utils.ExportExcelUtil; +import com.sict.excel.utils.SqlSessionUtil; + +public class ScreeningRankShchyyExcel { + + public static HSSFSheet getSheet9(HSSFWorkbook workbook) throws IOException { + SqlSession sqlSession = SqlSessionUtil.getShchyySession(); + + DownloadMapper mapper = sqlSession.getMapper(DownloadMapper.class); + ExportExcelUtil util = new ExportExcelUtil(); + String[] columnNames = {"排名","医联体名称","血检人数"}; + List list = mapper.getScreeningRankDTOs(); + String path = "E:/2019/excel/" + "社区筛查排名-血检人数.xls"; + HSSFSheet sheet = util.exportExcel(workbook,"社区筛查排名-血检人数", columnNames, list, ExportExcelUtil.EXCEl_FILE_2007); + sqlSession.commit(); + sqlSession.close(); + return sheet; + } + +} diff --git a/download/src/main/java/com/sict/excel/test/SerumTest.java b/download/src/main/java/com/sict/excel/test/SerumTest.java new file mode 100644 index 0000000..beb76d8 --- /dev/null +++ b/download/src/main/java/com/sict/excel/test/SerumTest.java @@ -0,0 +1,172 @@ +package com.sict.excel.test; + +import java.io.FileOutputStream; +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.ibatis.session.SqlSession; +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFCellStyle; +import org.apache.poi.hssf.usermodel.HSSFFont; +import org.apache.poi.hssf.usermodel.HSSFRow; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.IndexedColors; + +import com.sict.excel.dto.HpPositiveDTO; +import com.sict.excel.dto.ScreeningRankDTO; +import com.sict.excel.dto.ScreeningRankProvinceDTO; +import com.sict.excel.dto.SerumStatisticsDTO; +import com.sict.excel.mapper.DownloadMapper; +import com.sict.excel.utils.ExportExcelUtil; +import com.sict.excel.utils.SqlSessionUtil; + +public class SerumTest { + public static HSSFSheet getsheet1(HSSFWorkbook workbook) throws Exception { + + SqlSession sqlSession = SqlSessionUtil.getSession();// 血检总人数 + SqlSession shchyy = SqlSessionUtil.getShchyySession();// 社区血检人数 + SqlSession geca = SqlSessionUtil.getGecaSession();// 体检 + SqlSession qg = SqlSessionUtil.getQgSession();// 门诊 + DownloadMapper sqlSessionmapper = sqlSession.getMapper(DownloadMapper.class); + DownloadMapper shchyyMapper = shchyy.getMapper(DownloadMapper.class); + DownloadMapper gecaMapper = geca.getMapper(DownloadMapper.class); + DownloadMapper qgMapper = qg.getMapper(DownloadMapper.class); + SerumStatisticsDTO serumall = sqlSessionmapper.getSerumStatistics(); + List listshchyy = shchyyMapper.getScreeningRankDTOs(); + List listgeca = gecaMapper.getScreeningRankDTOs(); + List listqg = qgMapper.getScreeningRankDTOs(); + Integer serumInteger = serumall.getSerumTestTotal(); + Integer shchyyinInteger = 0; + Integer gecaintInteger = 0; + Integer qgInteger = 0; + Integer hpInteger = serumall.getIggPositive(); + for (ScreeningRankDTO screeningRankDTO : listshchyy) { + shchyyinInteger += screeningRankDTO.getActualserum(); + } + for (ScreeningRankDTO screeningRankDTO : listgeca) { + gecaintInteger += screeningRankDTO.getActualserum(); + } + for (ScreeningRankDTO screeningRankDTO : listqg) { + qgInteger += screeningRankDTO.getActualserum(); + } + HSSFSheet sheet = workbook.createSheet("筛查监控-血清学检查"); + sheet.setDefaultColumnWidth(15); + + HSSFRow row = sheet.createRow(0); + HSSFCellStyle style = workbook.createCellStyle(); + // 设置这些样式 + style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 垂直居中 + // 背景色 + style.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex()); + style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); + style.setFillBackgroundColor(IndexedColors.PALE_BLUE.getIndex()); + // 设置边框 + style.setBorderBottom(HSSFCellStyle.BORDER_THIN); + style.setBorderLeft(HSSFCellStyle.BORDER_THIN); + style.setBorderRight(HSSFCellStyle.BORDER_THIN); + style.setBorderTop(HSSFCellStyle.BORDER_THIN); + // 生成一个字体 + HSSFFont font = workbook.createFont(); + font.setFontHeightInPoints((short) 11); + font.setColor(IndexedColors.AUTOMATIC.getIndex()); + font.setFontName("宋体"); + style.setFont(font);// 把字体 应用到当前样式 + + HSSFCell cell = row.createCell(0); + cell.setCellValue("收集项"); + cell.setCellStyle(style); + HSSFCell cell2 = row.createCell(1); + cell2.setCellValue("数量"); + cell2.setCellStyle(style); + + HSSFCellStyle style2 = workbook.createCellStyle(); + // 设置这些样式 + style2.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 垂直居中 + // 背景色 + style2.setFillForegroundColor(IndexedColors.WHITE.getIndex()); + style2.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); + style2.setFillBackgroundColor(IndexedColors.WHITE.getIndex()); + // 设置边框 + style2.setBorderBottom(HSSFCellStyle.BORDER_THIN); + style2.setBorderLeft(HSSFCellStyle.BORDER_THIN); + style2.setBorderRight(HSSFCellStyle.BORDER_THIN); + style2.setBorderTop(HSSFCellStyle.BORDER_THIN); + style2.setFont(font);// 把字体 应用到当前样式 + HSSFRow row2 = sheet.createRow(1);// 第2行 + HSSFCell cell3 = row2.createCell(0); + cell3.setCellStyle(style2); + cell3.setCellValue("血检总人数"); + HSSFCell cell4 = row2.createCell(1); + cell4.setCellStyle(style2); + cell4.setCellValue(serumInteger + ""); + + HSSFRow row3 = sheet.createRow(2);// 第三行 + HSSFCell cell5 = row3.createCell(0); + cell5.setCellStyle(style2); + cell5.setCellValue("Hp抗体阳性人数 "); + HSSFCell cell6 = row3.createCell(1); + cell6.setCellStyle(style2); + cell6.setCellValue(hpInteger + ""); + + HSSFCell cell7 = row3.createCell(2); + double all = Double.parseDouble(serumInteger.toString()); + double hp2 = Double.parseDouble(hpInteger.toString()); + cell7.setCellValue(String.format("%.2f", hp2 / all * 100) + "%"); + + + HSSFCellStyle style3 = workbook.createCellStyle(); + HSSFRow row8 = sheet.createRow(7);//7行 + HSSFCell cell71 = row8.createCell(0); + cell71.setCellValue("社区血检人数"); + style3.setFont(font); + cell71.setCellStyle(style3); + HSSFCell cell72 = row8.createCell(1); + cell72.setCellStyle(style3); + cell72.setCellValue(shchyyinInteger+""); + + HSSFRow row9 = sheet.createRow(8);//8行 + HSSFCell cell91 = row9.createCell(0); + cell91.setCellValue("门诊血检人数"); + style3.setFont(font); + cell91.setCellStyle(style3); + HSSFCell cell92 = row9.createCell(1); + cell92.setCellStyle(style3); + cell92.setCellValue(qgInteger+""); + + HSSFRow row10 = sheet.createRow(9);//9行 + HSSFCell cell101 = row10.createCell(0); + cell101.setCellValue("体检血检人数"); + style3.setFont(font); + cell101.setCellStyle(style3); + HSSFCell cell102 = row10.createCell(1); + cell102.setCellStyle(style3); + cell102.setCellValue(gecaintInteger+""); + + HSSFRow row11= sheet.createRow(10);//10行 + HSSFCell cell111 = row11.createCell(0); + cell111.setCellValue("合计"); + style3.setFont(font); + cell111.setCellStyle(style3); + HSSFCell cell112 = row11.createCell(1); + cell112.setCellStyle(style3); + cell112.setCellValue(String.valueOf(shchyyinInteger.intValue()+gecaintInteger.intValue()+qgInteger.intValue())); + + + FileOutputStream outputStream = new FileOutputStream("E:/2019/excel/筛查监控-血清学检查.xls"); + + sqlSession.commit(); + shchyy.commit(); + geca.commit(); + qg.commit(); + qg.close(); + geca.close(); + qg.close(); + sqlSession.close(); + return sheet; + + } +} diff --git a/download/src/main/java/com/sict/excel/test/TestExportExcel.java b/download/src/main/java/com/sict/excel/test/TestExportExcel.java new file mode 100644 index 0000000..77f87c6 --- /dev/null +++ b/download/src/main/java/com/sict/excel/test/TestExportExcel.java @@ -0,0 +1,39 @@ +package com.sict.excel.test; + + +import java.io.FileOutputStream; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +import com.sict.excel.dto.Student; +import com.sict.excel.utils.ExportExcelUtil; +/** + * 测试文件导出 + * @author liuyazhuang + * + */ +public class TestExportExcel { + + public static void main(String[] args) throws Exception{ + ExportExcelUtil util = new ExportExcelUtil(); + // 准备数据 + List list = new ArrayList(); + for (int i = 0; i < 10; i++) { + list.add(new Student(i,"张三asdf"+i,"男")); + } + + String[] columnNames = { "ID", "姓名", "性别" }; +// Date date = new Date(); +// System.out.println(date.getYear()+"/"+date.getMonth()+"/"+date.getDay()+"/"+date.getHours()+"/"+date.getMinutes()+"/"+date.getSeconds()); + Calendar calendar = Calendar.getInstance(); + Date date = new Date(); + calendar.setTime(date); + calendar.getTime();//2019-08-13 + //System.out.println(calendar.get(Calendar.YEAR)+"/"+calendar.get(Calendar.MONTH)+"/"+calendar.get(Calendar.DATE)+"/"+calendar.get(Calendar.HOUR)+"/"+calendar.get(Calendar.MINUTE)+"/"+calendar.get(Calendar.SECOND)); + String path = "E:/2019/excel/"+date.getTime()+"学生表.xls"; + // util.exportExcel("用户导出", columnNames, list, new FileOutputStream(path), ExportExcelUtil.EXCEL_FILE_2003); + System.out.println("已导出excel表"); + } +} \ No newline at end of file diff --git a/download/src/main/java/com/sict/excel/utils/Excel.java b/download/src/main/java/com/sict/excel/utils/Excel.java new file mode 100644 index 0000000..4ecaec6 --- /dev/null +++ b/download/src/main/java/com/sict/excel/utils/Excel.java @@ -0,0 +1,291 @@ +package com.sict.excel.utils; + +import org.apache.poi.hssf.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddress; + +import java.io.*; +import java.text.DecimalFormat; +import java.text.SimpleDateFormat; +import java.util.*; + +public class Excel { + + private HSSFWorkbook workbook; + private HSSFSheet sheet; + private String bDate; + private int year; + + /** + * 创建行元素 + * @param style 样式 + * @param height 行高 + * @param value 行显示的内容 + * @param row1 起始行 + * @param row2 结束行 + * @param col1 起始列 + * @param col2 结束列 + */ + private void createRow(HSSFCellStyle style, int height, String value, int row1, int row2, int col1, int col2){ + + sheet.addMergedRegion(new CellRangeAddress(row1, row2, col1, col2)); //设置从第row1行合并到第row2行,第col1列合并到col2列 + HSSFRow rows = sheet.createRow(row1); //设置第几行 + rows.setHeight((short) height); //设置行高 + HSSFCell cell = rows.createCell(col1); //设置内容开始的列 + cell.setCellStyle(style); //设置样式 + cell.setCellValue(value); //设置该行的值 + } + + /** + * 创建样式 + * @param fontSize 字体大小 + * @param align 水平位置 左右居中2 居右3 默认居左 垂直均为居中 + * @param bold 是否加粗 + * @return + */ + private HSSFCellStyle getStyle(int fontSize,int align,boolean bold,boolean border){ + HSSFFont font = workbook.createFont(); + font.setFontName("宋体"); + font.setFontHeightInPoints((short) fontSize);// 字体大小 + if (bold){ + font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); + } + HSSFCellStyle style = workbook.createCellStyle(); + style.setFont(font); //设置字体 + style.setAlignment((short) align); // 左右居中2 居右3 默认居左 + style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 上下居中1 + if (border){ + style.setBorderRight((short) 2); + style.setBorderLeft((short) 2); + style.setBorderBottom((short) 2); + style.setBorderTop((short) 2); + style.setLocked(true); + } + return style; + } + + /** + * 根据数据集生成Excel,并返回Excel文件流 + * @param data 数据集 + * @param sheetName Excel中sheet单元名称 + * @param headNames 列表头名称数组 + * @param colKeys 列key,数据集根据该key进行按顺序取值 + * @return + * @throws IOException + */ + public InputStream getExcelFile(List data, String sheetName, String[] headNames, + String[] colKeys, int colWidths[],String bDate) throws IOException { + this.bDate = bDate; + workbook = new HSSFWorkbook(); + sheet = workbook.createSheet(sheetName); + // 创建表头 startRow代表表体开始的行 + int startRow = createHeadCell( headNames, colWidths); + + // 创建表体数据 + HSSFCellStyle cellStyle = getStyle(14,2,false,true); // 建立新的cell样式 + setCellData(data, cellStyle, startRow, colKeys); + + //创建表尾 + createTailCell(data.size()+4,headNames.length); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + workbook.write(baos); + byte[] ba = baos.toByteArray(); + ByteArrayInputStream bais = new ByteArrayInputStream(ba); + return bais; + } + + /** + * 创建表头 + * + * @param headNames + * @param colWidths + */ + private int createHeadCell( String[] headNames, int colWidths[]) { + // 表头标题 + HSSFCellStyle titleStyle = getStyle(22,2,true,false);//样式 + createRow(titleStyle,0x549,"XX科技收入对账单",0,0,0,headNames.length-1); + //第二行 + HSSFCellStyle unitStyle = getStyle(12,1,true,false); + createRow(unitStyle,0x190,"单位: XX科技有限公司",1,1,0,headNames.length-1); + + //第三行左边部分 + year = Integer.parseInt(bDate.substring(0,4)); + String month = bDate.substring(4,6); + int m = Integer.parseInt(month)-1; + Calendar cal = Calendar.getInstance(); + cal.set(Calendar.YEAR,year); + cal.set(Calendar.MONTH,m);//从0开始 0代表一月 11代表12月 + int maxDate = cal.getActualMaximum(Calendar.DATE); + + sheet.addMergedRegion(new CellRangeAddress(2, 2, 0, 1)); + HSSFRow row = sheet.createRow(2); + row.setHeight((short) 0x190); + HSSFCell cell = row.createCell(0); + cell.setCellStyle(getStyle(12,1,true,false)); + cell.setCellValue("时间:"+year+"年"+month+"月"+"01日至"+year+"年"+month+"月"+maxDate+"日"); + + //第三行右边部分 + Date date = new Date(); + SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日"); + sheet.addMergedRegion(new CellRangeAddress(2, 2, 3, 5)); + HSSFCell cell2 = row.createCell(3); + cell2.setCellStyle(getStyle(12,3,true,false)); + cell2.setCellValue("制表时间: "+sdf.format(date)); + + //第四行表头 + boolean b = (headNames != null && headNames.length > 0); + if (b) { + HSSFRow row2 = sheet.createRow(3); + row2.setHeight((short) 0x289); + HSSFCell fcell = null; + + HSSFCellStyle cellStyle = getStyle(15,2,true,true); // 建立新的cell样式 + + for (int i = 0; i < headNames.length; i++) { + fcell = row2.createCell(i); + + fcell.setCellStyle(cellStyle); + fcell.setCellValue(headNames[i]); + if (colWidths != null && i < colWidths.length) { + sheet.setColumnWidth(i, 32 * colWidths[i]); + } + } + } + return b ? 4 : 3; //从哪一行开始渲染表体 + } + + /** + * 创建表体数据 + * @param data 表体数据 + * @param cellStyle 样式 + * @param startRow 开始行 + * @param colKeys 值对应map的key + */ + private void setCellData(List data, HSSFCellStyle cellStyle, int startRow, + String[] colKeys) { + // 创建数据 + HSSFRow row = null; + HSSFCell cell = null; + int i = startRow; + + if (data != null && data.size() > 0) { + DecimalFormat df = new DecimalFormat("#0.00"); + for (Map rowData : data) { + row = sheet.createRow(i); + row.setHeight((short) 0x279); + int j = 0; + for (String key : colKeys) { + Object colValue = rowData.get(key); + if (key.equalsIgnoreCase("CITYNAME")){ + colValue = colValue+"XX科技有限公司"; + }else if (key.equalsIgnoreCase("ORDERSUM")||key.equalsIgnoreCase("TRANSFEE")||key.equalsIgnoreCase("ORDREALSUM")){ + colValue = df.format(colValue); + } + cell = row.createCell(j); + cell.setCellStyle(cellStyle); + if (colValue != null) { + cell.setCellType(HSSFCell.CELL_TYPE_STRING); + cell.setCellValue(colValue.toString()); + } + j++; + } + i++; + } + } + } + + /** + * 创建表尾 + * @param size + * @param length + */ + private void createTailCell(int size, int length) { + HSSFCellStyle remarkStyle1 = getStyle(11,1,false,false); + createRow(remarkStyle1,0x190,"经核对,确认以上数据真实无误。",size,size,0,length-2); + + HSSFCellStyle remarkStyle2 = getStyle(10,1,false,false); + createRow(remarkStyle2,0x160,"(联系人:XXX;联系电话:13xxxxxxxx;邮箱:123456789@qq.com)",size+1,size+1,0,length-2); + + HSSFRow row3 = sheet.createRow(size+2); + row3.setHeight((short) 0x379); + + sheet.addMergedRegion(new CellRangeAddress(size+3, size+3, 0, 1)); + HSSFRow row4 = sheet.createRow(size+3); + row4.setHeight((short) 0x190); + HSSFCell cell4 = row4.createCell(0); + cell4.setCellStyle(getStyle(11,1,false,false)); + cell4.setCellValue("单位核对人:"); + + sheet.addMergedRegion(new CellRangeAddress(size+3, size+3, 2, 4)); + HSSFCell cell15 = row4.createCell(2); + cell15.setCellStyle(getStyle(11,1,false,false)); + cell15.setCellValue("单位制表人:"); + + HSSFCellStyle dateStyle = getStyle(10,3,false,false); + createRow(dateStyle,0x150,"公司公章 ",size+8,size+8,0,length-2); + + createRow(dateStyle,0x150,year+"年 月 日",size+9,size+9,0,length-2); + + } + + + // 测试 + public static void main(String[] args) throws IOException { + Excel excel = new Excel(); + List data = new ArrayList(); + + LinkedHashMap e = new LinkedHashMap(); + + e.put("CITYNAME", "北京"); + e.put("ORDERCOUNT", "65"); + e.put("ORDERSUM", 930.38); + e.put("TRANSFEE", 2.28); + e.put("ORDREALSUM", 928.10); + e.put("REMARK", "通过1"); + data.add(e); + + e = new LinkedHashMap(); + e.put("CITYNAME", "上海"); + e.put("ORDERCOUNT", "50"); + e.put("ORDERSUM", 850.34); + e.put("TRANSFEE", 2.08); + e.put("ORDREALSUM", 848.26); + e.put("REMARK", "通过2"); + data.add(e); + + e = new LinkedHashMap(); + e.put("CITYNAME", "苏州"); + e.put("ORDERCOUNT", "10"); + e.put("ORDERSUM", 112.20); + e.put("TRANSFEE", 2.20); + e.put("ORDREALSUM", 55.00); + e.put("REMARK", "通过3"); + data.add(e); + + e = new LinkedHashMap(); + e.put("CITYNAME", "南京"); + e.put("ORDERCOUNT", "26"); + e.put("ORDERSUM", 210.12); + e.put("TRANSFEE", 0.51); + e.put("ORDREALSUM", 2409.61); + e.put("REMARK", "通过4"); + data.add(e); + + String[] headNames = { "单位名称", "收入笔数", "收入金额", "手续费(2.45‰)", "实际金额","备注" }; + String[] keys = { "CITYNAME", "ORDERCOUNT", "ORDERSUM","TRANSFEE","ORDREALSUM","REMARK"}; + int colWidths[] = { 300, 200, 200, 200, 200,300 }; + + String bDate = "201708"; + InputStream input = (excel.getExcelFile(data, "单位", headNames, keys, colWidths,bDate)); + + File f = new File("E:/2019/excel/excel.xls"); + if (f.exists()) + f.delete(); + f.createNewFile(); + FileOutputStream out = new FileOutputStream(f); + HSSFWorkbook book = new HSSFWorkbook(input); + book.write(out); + out.flush(); + out.close(); + } + +} diff --git a/download/src/main/java/com/sict/excel/utils/ExportExcelUtil.java b/download/src/main/java/com/sict/excel/utils/ExportExcelUtil.java new file mode 100644 index 0000000..2d32b50 --- /dev/null +++ b/download/src/main/java/com/sict/excel/utils/ExportExcelUtil.java @@ -0,0 +1,238 @@ +package com.sict.excel.utils; + +import java.io.IOException; +import java.io.OutputStream; +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.text.SimpleDateFormat; +import java.util.Collection; +import java.util.Date; +import java.util.Iterator; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFCellStyle; +import org.apache.poi.hssf.usermodel.HSSFFont; +import org.apache.poi.hssf.usermodel.HSSFRichTextString; +import org.apache.poi.hssf.usermodel.HSSFRow; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.hssf.util.HSSFColor; +import org.apache.poi.ss.usermodel.IndexedColors; +import org.apache.poi.xssf.usermodel.XSSFCell; +import org.apache.poi.xssf.usermodel.XSSFCellStyle; +import org.apache.poi.xssf.usermodel.XSSFColor; +import org.apache.poi.xssf.usermodel.XSSFFont; +import org.apache.poi.xssf.usermodel.XSSFRichTextString; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +/** + * 导出Excel + * + * @author liuyazhuang + * + * @param + */ +public class ExportExcelUtil { + + // 2007 版本以上 最大支持1048576行 + public final static String EXCEl_FILE_2007 = "2007"; + // 2003 版本 最大支持65536 行 + public final static String EXCEL_FILE_2003 = "2003"; + + /** + *

+ * 导出无头部标题行Excel
+ * 时间格式默认:yyyy-MM-dd hh:mm:ss
+ *

+ * + * @param title 表格标题 + * @param dataset 数据集合 + * @param out 输出流 + * @param version 2003 或者 2007,不传时默认生成2003版本 + */ + public HSSFSheet exportExcel(HSSFWorkbook workbook,String title, Collection dataset, String version) { + + return exportExcel2007(workbook,title, null, dataset, "yyyy-MM-dd HH:mm:ss"); + + } + + /** + *

+ * 导出带有头部标题行的Excel
+ * 时间格式默认:yyyy-MM-dd hh:mm:ss
+ *

+ * + * @param title 表格标题 + * @param headers 头部标题集合 + * @param dataset 数据集合 + * @param out 输出流 + * @param version 2003 或者 2007,不传时默认生成2003版本 + */ + public HSSFSheet exportExcel(HSSFWorkbook workbook,String title, String[] headers, Collection dataset, String version) { + + return exportExcel2007(workbook,title, headers, dataset, "yyyy-MM-dd HH:mm:ss"); + + } + + /** + *

+ * 通用Excel导出方法,利用反射机制遍历对象的所有字段,将数据写入Excel文件中
+ * 此版本生成2007以上版本的文件 (文件后缀:xlsx) + *

+ * + * @param title 表格标题名 + * @param headers 表格头部标题集合 + * @param dataset 需要显示的数据集合,集合中一定要放置符合JavaBean风格的类的对象。此方法支持的 + * JavaBean属性的数据类型有基本数据类型及String,Date + * @param out 与输出设备关联的流对象,可以将EXCEL文档导出到本地文件或者网络中 + * @param pattern 如果有时间数据,设定输出格式。默认为"yyyy-MM-dd hh:mm:ss" + */ + @SuppressWarnings({ "unchecked", "rawtypes" }) + public HSSFSheet exportExcel2007(HSSFWorkbook workbook,String title, String[] headers, Collection dataset, + String pattern) { + // 声明一个工作薄 + //HSSFWorkbook workbook = new HSSFWorkbook(); + // 生成一个表格 + HSSFSheet sheet = workbook.createSheet(title); + // 设置表格默认列宽度为15个字节 + sheet.setDefaultColumnWidth(20); + // 生成一个样式 + HSSFCellStyle style = workbook.createCellStyle(); + // 设置这些样式 + // 背景色 + style.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex()); + style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); + style.setFillBackgroundColor(IndexedColors.PALE_BLUE.getIndex()); + style.setBorderBottom(XSSFCellStyle.BORDER_THIN); + style.setBorderLeft(XSSFCellStyle.BORDER_THIN); + style.setBorderRight(XSSFCellStyle.BORDER_THIN); + style.setBorderTop(XSSFCellStyle.BORDER_THIN); + style.setAlignment(XSSFCellStyle.ALIGN_LEFT); + // 生成一个字体 + HSSFFont font = workbook.createFont(); + // font.setBoldweight(XSSFFont.BOLDWEIGHT_BOLD); + font.setFontName("宋体"); + font.setColor(IndexedColors.AUTOMATIC.getIndex()); + font.setFontHeightInPoints((short) 11); + // 把字体应用到当前的样式 + style.setFont(font); + // 生成并设置另一个样式 + HSSFCellStyle style2 = workbook.createCellStyle(); + style2.setFillForegroundColor(IndexedColors.WHITE.getIndex()); + style2.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); + style2.setFillBackgroundColor(IndexedColors.WHITE.getIndex()); + style2.setBorderBottom(XSSFCellStyle.BORDER_THIN); + style2.setBorderLeft(XSSFCellStyle.BORDER_THIN); + style2.setBorderRight(XSSFCellStyle.BORDER_THIN); + style2.setBorderTop(XSSFCellStyle.BORDER_THIN); + style2.setAlignment(XSSFCellStyle.ALIGN_LEFT); + style2.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER); + // 生成另一个字体 + HSSFFont font2 = workbook.createFont(); + font2.setFontName("宋体"); + // font2.setBoldweight(XSSFFont.BOLDWEIGHT_NORMAL); + // 把字体应用到当前的样式 + style2.setFont(font2); + + // 产生表格标题行 + HSSFRow row = sheet.createRow(0); + HSSFCell cellHeader; + for (int i = 0; i < headers.length; i++) { + cellHeader = row.createCell(i); + cellHeader.setCellStyle(style); + cellHeader.setCellValue(new HSSFRichTextString(headers[i])); + } + + // 遍历集合数据,产生数据行 + Iterator it = dataset.iterator(); + int index = 0; + T t; + Field[] fields; + Field field; + HSSFRichTextString richString; + Pattern p = Pattern.compile("^//d+(//.//d+)?$"); + Matcher matcher; + String fieldName; + String getMethodName; + HSSFCell cell; + Class tCls; + Method getMethod; + Object value; + String textValue; + SimpleDateFormat sdf = new SimpleDateFormat(pattern); + while (it.hasNext()) { + index++; + row = sheet.createRow(index); + t = (T) it.next(); + // 利用反射,根据JavaBean属性的先后顺序,动态调用getXxx()方法得到属性值 + fields = t.getClass().getDeclaredFields(); + for (int i = 0; i < fields.length; i++) { + cell = row.createCell(i); + cell.setCellStyle(style2); + field = fields[i]; + fieldName = field.getName(); + getMethodName = "get" + fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1); + try { + tCls = t.getClass(); + getMethod = tCls.getMethod(getMethodName, new Class[] {}); + value = getMethod.invoke(t, new Object[] {}); + // 判断值的类型后进行强制类型转换 + textValue = null; + if (value instanceof Integer) { + cell.setCellValue((Integer) value); + } else if (value instanceof Float) { + textValue = String.valueOf((Float) value); + cell.setCellValue(textValue); + } else if (value instanceof Double) { + textValue = String.valueOf((Double) value); + cell.setCellValue(textValue); + } else if (value instanceof Long) { + cell.setCellValue((Long) value); + } + if (value instanceof Boolean) { + textValue = "是"; + if (!(Boolean) value) { + textValue = "否"; + } + } else if (value instanceof Date) { + textValue = sdf.format((Date) value); + } else { + // 其它数据类型都当作字符串简单处理 + if (value != null) { + textValue = value.toString(); + } + } + if (textValue != null) { + matcher = p.matcher(textValue); + if (matcher.matches()) { + // 是数字当作double处理 + cell.setCellValue(Double.parseDouble(textValue)); + } else { + richString = new HSSFRichTextString(textValue); + cell.setCellValue(richString); + } + } + } catch (SecurityException e) { + e.printStackTrace(); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } finally { + // 清理资源 + } + } + } + return sheet; + } +} \ No newline at end of file diff --git a/download/src/main/java/com/sict/excel/utils/SqlSessionUtil.java b/download/src/main/java/com/sict/excel/utils/SqlSessionUtil.java new file mode 100644 index 0000000..01377b3 --- /dev/null +++ b/download/src/main/java/com/sict/excel/utils/SqlSessionUtil.java @@ -0,0 +1,68 @@ +package com.sict.excel.utils; + +import java.io.IOException; +import java.io.InputStream; + +import org.apache.ibatis.io.Resources; +import org.apache.ibatis.session.SqlSession; +import org.apache.ibatis.session.SqlSessionFactory; +import org.apache.ibatis.session.SqlSessionFactoryBuilder; + +public class SqlSessionUtil { + + // 获取mybatis全局配置文件 + private static String resource = "mybatis-config.xml"; + + public static SqlSession getSession() throws IOException { + + InputStream inputStream = Resources.getResourceAsStream(resource); + // 读取配置文件的配置信息,利用SqlSessionFactoryBuilder创建sqlSessionFactory + SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); + // 利用sqlSessionFactory打开与数据库的会话 + SqlSession sqlSession = sqlSessionFactory.openSession(); + + return sqlSession; + + } + + private static String resource2 = "mybatis-geca.xml"; + public static SqlSession getGecaSession() throws IOException { + + InputStream inputStream = Resources.getResourceAsStream(resource2); + // 读取配置文件的配置信息,利用SqlSessionFactoryBuilder创建sqlSessionFactory + SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); + // 利用sqlSessionFactory打开与数据库的会话 + SqlSession sqlSession = sqlSessionFactory.openSession(); + + return sqlSession; + + } + + + private static String resource3 = "mybatis-qg.xml"; + public static SqlSession getQgSession() throws IOException { + + InputStream inputStream = Resources.getResourceAsStream(resource3); + // 读取配置文件的配置信息,利用SqlSessionFactoryBuilder创建sqlSessionFactory + SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); + // 利用sqlSessionFactory打开与数据库的会话 + SqlSession sqlSession = sqlSessionFactory.openSession(); + + return sqlSession; + + } + + + private static String resource4 = "mybatis-shchyy.xml"; + public static SqlSession getShchyySession() throws IOException { + + InputStream inputStream = Resources.getResourceAsStream(resource4); + // 读取配置文件的配置信息,利用SqlSessionFactoryBuilder创建sqlSessionFactory + SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); + // 利用sqlSessionFactory打开与数据库的会话 + SqlSession sqlSession = sqlSessionFactory.openSession(); + + return sqlSession; + + } +} diff --git a/download/src/main/resources/log4j.properties b/download/src/main/resources/log4j.properties new file mode 100644 index 0000000..a908082 --- /dev/null +++ b/download/src/main/resources/log4j.properties @@ -0,0 +1,5 @@ +log4j.rootLogger=DEBUG,A1 +log4j.logger.org.apache=DEBUG +log4j.appender.A1=org.apache.log4j.ConsoleAppender +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n diff --git a/download/src/main/resources/mapper/DownloadMapper.xml b/download/src/main/resources/mapper/DownloadMapper.xml new file mode 100644 index 0000000..7411924 --- /dev/null +++ b/download/src/main/resources/mapper/DownloadMapper.xml @@ -0,0 +1,774 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/download/src/main/resources/mybatis-config.xml b/download/src/main/resources/mybatis-config.xml new file mode 100644 index 0000000..ee71585 --- /dev/null +++ b/download/src/main/resources/mybatis-config.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/download/src/main/resources/mybatis-geca.xml b/download/src/main/resources/mybatis-geca.xml new file mode 100644 index 0000000..38e1131 --- /dev/null +++ b/download/src/main/resources/mybatis-geca.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/download/src/main/resources/mybatis-qg.xml b/download/src/main/resources/mybatis-qg.xml new file mode 100644 index 0000000..8aadd12 --- /dev/null +++ b/download/src/main/resources/mybatis-qg.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/download/src/main/resources/mybatis-shchyy.xml b/download/src/main/resources/mybatis-shchyy.xml new file mode 100644 index 0000000..99a386a --- /dev/null +++ b/download/src/main/resources/mybatis-shchyy.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/download/target/classes/META-INF/MANIFEST.MF b/download/target/classes/META-INF/MANIFEST.MF new file mode 100644 index 0000000..476fb6a --- /dev/null +++ b/download/target/classes/META-INF/MANIFEST.MF @@ -0,0 +1,5 @@ +Manifest-Version: 1.0 +Built-By: Cathie +Build-Jdk: 1.8.0_181 +Created-By: Maven Integration for Eclipse + diff --git a/download/target/classes/META-INF/maven/download/download/pom.properties b/download/target/classes/META-INF/maven/download/download/pom.properties new file mode 100644 index 0000000..0f9389c --- /dev/null +++ b/download/target/classes/META-INF/maven/download/download/pom.properties @@ -0,0 +1,7 @@ +#Generated by Maven Integration for Eclipse +#Fri Nov 22 09:15:51 CST 2019 +version=1.0-SNAPSHOT +groupId=download +m2e.projectName=download +m2e.projectLocation=E\:\\BIGDATA\\HadoopSpace\\download +artifactId=download diff --git a/download/target/classes/META-INF/maven/download/download/pom.xml b/download/target/classes/META-INF/maven/download/download/pom.xml new file mode 100644 index 0000000..bf4518a --- /dev/null +++ b/download/target/classes/META-INF/maven/download/download/pom.xml @@ -0,0 +1,109 @@ + + + 4.0.0 + + download + download + 1.0-SNAPSHOT + + + + + + + org.mybatis + mybatis + 3.3.0 + + + + mysql + mysql-connector-java + 5.1.29 + + + + junit + junit + 4.12 + + + log4j + log4j + 1.2.17 + + + + org.apache.commons + commons-lang3 + 3.5 + + + org.apache.poi + poi-scratchpad + 3.11-beta2 + + + org.apache.poi + poi-ooxml + 3.11-beta2 + + + org.apache.poi + poi-ooxml-schemas + 3.11-beta2 + + + org.apache.poi + poi-excelant + 3.11-beta2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + src/main/resources + + **/*.* + + + + + + \ No newline at end of file diff --git a/download/target/classes/com/sict/excel/bo/AnalysisGraphicBO.class b/download/target/classes/com/sict/excel/bo/AnalysisGraphicBO.class new file mode 100644 index 0000000000000000000000000000000000000000..26ca72a873b534efbdb1d34a05198258077b8b2a GIT binary patch literal 1364 zcma))ZEq4m5Xb)ulqat(QlJlLrM6X|4<|k=wn;J3G$E2$)5J8sIF1dy3U}lTV1tp=#DBs>awFYEp^Y- zI-mMR|D~<a<$%Q&5q=B zmacUUHQV6x=rZCQ8-0QG`hR?f(#P7;*>~YH#nJ@e2tNUVoPsGt$+bUr%@!|uGIN5& zJVJr&Il1wFS?`*H7~53GT$%NGU@ga2=}#x|D%D^#{H zjd>U$ZX;PCF2B1|EoqOF2Td5Q3Y}Ei1?^MiQ%rwx-DYWxx|d<3$W}ZDTt%8rG}y?{ zdOr9ovY&my$-v-wER2G8i7dpa${XL1JxiT*Z>NcV##P99UZeDk#{XjKMJxq?S(?WKBh&$rN9<5dKbEN-4{&7OF+0RFIZiMe%~AC}KpDMob`0jPb{^Jt<4dZnL`>c`Hp2 z5>0#nAIdnhTiWf?Du2$IGuLlszVrLfk6!>*vDJ@|z?^0t7i?W~3i694>xHUg7Pbtv zeroIXj-@sZb?w#uZa*RdqetpzwNO`$T4DF#NNSG2wAyIYPj^(?v2<-)H8g4MX_l0R zZq(kGc0=GsxgGV^aAZwdMS-D)YTH{J>v<&`b=BF@H1ou8eCiRiA&sWmbBu22hVE<% zgmd|dKxEsj$~eLpRuIRaz(`p)19O|~feEC}4 z6X0x3dcgkG>v%5TwcD(Hjo^t~m)Lw|00K7^^dU+MAQ12UgJa{Qf_~RXMLLWEDfaI= z*c3Z=v2enSf*2=EQ1ou+{Mme0!GLR~6alk9%rW-cEtuxzGSI4))PEf)JC5q!9DQy=mRZ?4-2ol#dA#wf{(=YTOJ=tW;1Njf=riEa)KiLZR39XaTW47DQ1G0}|NB<~Q# zL>CsnBh{`OceTUR!ibw;!t-ioU|ifBSH0Cj(Qe@k=^&6XACSHlklWpXq=P_`RBpTn z5S}grnQ8&)J&u$QMSC1~x}%s5qDT{p$sQ{~?jTz~aIgQs-DnJUGW1$!V6Kc=9yM>z*`#BE@f%FiK3Mb=&UlAfj3Zl9A^2rvEudzN39 literal 0 HcmV?d00001 diff --git a/download/target/classes/com/sict/excel/dto/AnalysisProvinceDTO.class b/download/target/classes/com/sict/excel/dto/AnalysisProvinceDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..0f8575530fec15563a3f2a9840f84c6a5c1bc58c GIT binary patch literal 2601 zcma)-ZEw?76vzKJeM(bPLR$L3poGFo8UluHbc{YgD9>~h)~*{ud*QlPXXM&Z;-d8v z?d>KpkTz)_U>|DQ|JaG`xVD5M-Ftk`x##}wdARxazrX$ga0@?;prEi|dWU+)Hhtat z)wCRa-}m&UYdFUpyYs5;y|-P{dbqPSfe?t&He>a+ z-?rU@6@^iw)pCxXdYzWSX|H9uP1E#_Tt8eX2im@+Q!S&@X~vr-TaMv(EfUL9y>qwC zwq?0IY{&BrM`6q|+RpKYLF~4|@T%?F{<^|IZE;s&aKqcTN*F*z!#GY8Y14MCmq&+t zR(r?Tb1b=qXBy6~(YEEgyEy3oVs{j3o1Ygf-h1r8@_XS^n5-?H49+MN&S@CJFwHwj z^Ru;+)`G9mX(9$1H$|V~t*T)}yj5to)gNn7U)E3z)ZCX+D@^o!_hnK-| zI6XXy3q-bkqv4cn8|Su!ilyy)VHuBr37t+C_k$zb*|*w7tSQW8bWHVauSC~MxQlyI zapy&9YIuMR)~3;7j`kIT3P`SnUQ<)i9s$VmLjcTI#xVEjJewHi$py6B0D3rFnqqb>1 zwx!c%GJgjMSBtYVDG_pbJX^=&N)N??j`UT{A1d<<)MuH*^$Bk?XJx!sL z;${wo^qx@MiYSudSW1UuDFG6PO`Krjz zL%A;UW+>|-zYOIikza-KvdG_a_=uhO!c&9=?y-UI^Vh^{{s-Coj^Dh)s84rkS-_9~ E1G3(>^8f$< literal 0 HcmV?d00001 diff --git a/download/target/classes/com/sict/excel/dto/DiagnosisDTO.class b/download/target/classes/com/sict/excel/dto/DiagnosisDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..8bbbb0249a05d0f9fa07f10d2e3d67c889025287 GIT binary patch literal 3961 zcmai$+fo}x5QcjJa}X=eCkGqLCJrYVgPL`aIXV3U(` znHR~0?~fV@iHA(g*pR@&7ts@!N=J%9Inn(67$-~ayc7ZJ_Sk1f<-(3N!I zC{}jTZp?m_wsWzJTZkwhj!XEsO`YX+DZGw z&KcC3^yk;}uAQ|@af3RbI9MqciU(HKwjgU~$EI62veE|zwdM*hz4$Q9pfH5*Rb7v5 zm2#(RR@p5%>4cR}+a-hgt;`9V8PzYuey)mssG>hV)or;YFgj_O%5};HnOV8qc22Ao z_P#zU9e2T?#_@?AgPIbBj2)sz8Z@bw`V8t!I(hry@zK6r+Oqa@wn06~ zLfXphSS5$Qd(I~JfET-({GTJhUYc3kz3*>$|M-Mv%i9RYY0?F1MnJhHU|?LMXZCKH zIB-s!-R&sa;|(h{YNI59MO-6^9qB85V@qQF%G_C zQka8>5Udr+c#+o!m$k_8cTMW3#A`(c4F}fOrC2tplT!=_5LBH(eVj!tZzi~JQWuB! zakwf#0VB@4S>g(CNYbQk4(UWla890|=aDyr<&RA2VL6{)%_MHVTiC>9&S$ZHO(9Ef zyoI(68uVL=bl*F6av8hSN}pkOgB>ceS8YY}A=;u{zJ;ITXoEHHrJmSf#TO<$rDwRu zRm4ubG16NQ@h!)Wy6MD5f-%8k? z_GkpHP;^N+9PFlW_y-N|S15bo^&^k)W^@PMPQ8&>@Hqce!JQcskbIQtr_gjOEr+iA^oAj7A4GL`*j!S8K z)!|0k9X$DIt`WM5YHP%c7N!R7eXtt1dx;TkNsQ<^Vnj<3Bf5nc(F4SY>nuiGOEKbZ zi4m7XjHrAuqNFii!is40`0U5G7)Ar*g~_)x@T-sw;j>vd8|fl!Qwr!E8pbyR2`=Na zHuyIh`9%rt)dokzFXrF{{L%)D&688V(}=%xNO%XZ8-pUlfK++QGaBy`Q(x19jH)0P zwIJ8^AfqbCB`kNj4hSCp|iw$X$Re)dAsl z#UKk>kVO?Fp#@pegDk2bs{mQ61H%21LGEcm5-P~L7Gy;al2AdC0C`Xcgc~-4tZG5l zRFISwWL*!krh+^M$Yvc7elZy26D`Pw3bL&Qd7uZ`P(hvmWVa3oKUoa&Pz#b$LH4vD zpXxzUD#$Z{Jg)=7ZzhA_F~=vrTmRs_<`?tLpR~2xv-6goOyc!BqrINzXJo-1WjiD7 zF}7bwdy4G?X~)<;l=dv!Icd+aotJi;?V_|7*)B;t!L}>yHMUQry}|Y?X{Xr!2KE_! q=Wo^s{#p?2V_VX+LK*zqv#Cfg=qJk3&+z-N{hR7*{{tc#==Fc6Vx+wQ literal 0 HcmV?d00001 diff --git a/download/target/classes/com/sict/excel/dto/EarlyCancerHospitalDTO.class b/download/target/classes/com/sict/excel/dto/EarlyCancerHospitalDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..5b6c502638b28f7a036fc534d2bdaf5c085ade06 GIT binary patch literal 3448 zcma)-T~pge6o${5FUL_6P%sdnjYCWLFyNA=O$ad!0h2i8BaI17O43Bwsx4|P*A`5B z*^B&%{)%)aB{S_zZ+h1s)#-ay7M3@wnciqu+OzLIyXW1bfByaBFCto`Mjyol%@p0E zOw%cP8T+TAUCop{H{FTql~7{ zI?wpjp!3w5pzCy_k3JJL@Sf8Q`kcOiq*L?utm-jRfL!Gv%$v{)!!}q|8eO#wuX)=b zgDFR#pbZi zD)4XUqNq|Yq*PFxvT=He9nYm?iNYI-(I{5ZI}77QY=-H;VR#!!>J6lO)vq1x_qo zg(tf3&qz>=s||WFt`f4veU~jRwQO-!WsB=0TigNJ!pX9QD`g9Vp&f!Uswke9@RmU< z(Dux}qru-~*btt*@?#ebqi^^DG(wm0hCI+1o}H85()b%?a=&)+M|7n%c?CO)@lvzt z-)X$PH1C)o-$R2^VaShaEzf9t9!#B*r=)^Rs31dHkWXk*2Qs08T*h*v5g?op2DzpM znNmTFah&SACLtT(gpN7|GV77D!Zs5#xH}!BC6>b4=nFu((Ck%H>3%3-4TT>VT?>~B!R1uAO~7pdZbu7uUk{g4 z;T{975CO-vm*F00;qoE4ybAXOaC?Azs)hSX50_Wr_5t@i0*-$O42ORco?J-(##Q9s z!RtS1>zTRpj=siK9Y3Xl`OPUkLw^E|`P}bMasNBNpXQiXejnGoU>^8=+^T|E^7}Ax z!TjFu!!rf5;`foFf_dooaUun?ivB6p+6OWUP@FP7LMeA>Qtm(@U8uedVN+c K>WGffkN*J%-Dqt9 literal 0 HcmV?d00001 diff --git a/download/target/classes/com/sict/excel/dto/EarlyCancerRankDTO.class b/download/target/classes/com/sict/excel/dto/EarlyCancerRankDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..a414428c31cdadaea4ee984ef756967049ea221b GIT binary patch literal 1192 zcma)4+iuf95Ix)6+|=}vD+CHD5SpYHQ!Y<|J`jpjDI$ngl@Q`#dRw?4f*ZYB_ASUu%uTr;`V(VDGOp}P!9&#})80y3l;)9WMGF|1CF?hop` zYY!}frUUnfmMc2KAwc|@VHxf|L!?|eVTji4wn!p^Ybq9zWLRk!mUunrwuE!cTc(%C z*137Y9Ydb|pHcUt(P!9fT&Wt$yVMcxn~C;Jxe`$4t6u~|Rz(bPg7<^)YIi-BRbg`?me!}@F&i|@zn zdY(iPCFyZqMw=?is8Ba}uP3ZF!%k3(@5ih~e!7~1Eh=WaIIhKG-;tcVA*#{b)GniX z$iO~GQIAyIL7E|XWDgu&yfS3>^Rrd$N*Ay}zD8)S7wDswc@ddRdz@})mS|m~lSVtE zJyt!3`ptta`ydd(3dQOOfK{x~i6$FqS}#8Sj?CB4V`c8+9P<9-eNP+dsc!v1W|}%l z|3UOIN-WdoymQ=7FZIiMr0VOqF-J%tEM$4EkXu-vC!`P-vPS7r{}FPV43$EtFFse3 uJd<{oexdj-b@v?it7Od(4^mZHC@u`Kozf^CVlON-8xUHW*!|e^^~pbzx9FMx literal 0 HcmV?d00001 diff --git a/download/target/classes/com/sict/excel/dto/GastroscopeTestDTO.class b/download/target/classes/com/sict/excel/dto/GastroscopeTestDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..e8b2f5d1c423fafc5a78ce520d03ee0bccbd9164 GIT binary patch literal 1233 zcma)5+iuf95Ix)6joSvNxo|0@l(b2DF@?uKB`yLXMHHz~5UO}^oKjO?#`Jxb7uVW*S8-4j_@Fd6^4fCUg*AM3Y~v6xvdX{tG_UO z;kmx)j(Ly!;#uz`hcrX+-1uPVw&9HQlfgMR1;bUt6cfXa02oT$x!+4i@DcYq4C`Y8 zF8F01T8<@-8B)zwpCSF!9dZRJs4DU(5Ta{2{MF=Qz`dR^usMU)bxp(W8=fW4;bmI9 zw|s`(?tc|ROg2VbJYJ?ax0!~(>QKHw2Rm*VKRODnhjl#vA z8S=tC6`tjcDBS{~*=;9>TMX5?z_aTo6U!cQFONFIPDJFed-b!WHa$|Xi91s1ZH98R zf-q65FFhJ6cCgEkHO6D^3>glhuCpoVM0H!>)5)Vn^RQo!_1+G$@5$Kvv5;4&&9_&DH3eA;_oQJSY# z=w2qxU^R$P3C`Itz2qDf1tr3bGxx%Ed^Z?5M}srrDT0|*5pMRfg13PZBN258<>xYx>VQyewflt9 zVK@{finwN>0)w#DlYw|QJs*hZ#2xs8VE01L_4{rlb(|(k>Qqh$yS@KW<&o8qPD=0H!GLNXYmH;$;^YlsgKnf3S*2!@;+*+b4?cF)iDMC1i-hYm$3Y@eYxb@(O_+~pCS z=AU|jCw3V!&DK6c_C+}4Ix@I!U>-WdV%H1!+wtLmM}2$X$4NrR_V?|`lY8|uD?WK6 zhL!Hs@RUq*xp6EJ4%Lb?f9Sv;)-l)f&i={WD;AToEX@BQ`Iu--_D2cWW+(D5+-wVf)!(Vx_ zm4+%}OIC_Caw|g*agIJ}LA)aCXwK6Ky#^Yu(axfo(VS}^!}uPDEvO)nz#^@UBmhfT zrX4*@6luJ8`3FkhQkS)vmn*2M%eyff@wC@}qI8~Gr~e@N93__NEAc+B(o23>kEFhV zn=?RaX^@4PAS<{%3#66?S*CR66(G`32|~?KT0Qbi+S&Mx)%WJwG48d=nh6?aiw0WP YCRjJOXg$HBG-!DWv~gzljwY7c2 zk=);cX%C>Zx0;yxW-?Q|t z6vzh(_Facy>3c>u+=1TdOJ~p(n0#hhrn@B&FINr)5-;qQOe2o0f;2J$)4Qf6-we7( z(mBwNIv%KP=$%8|G5I`9CfsAQFR-@zADW26L|eK$q@Yl)1Sp!{r)$D zu8lp@OhF@&HT8T5JoE-*-VH&W%MJJ%hPqF3YieL#HdA;gAU-hB#|l<3FOc512aX|M znLHf-DBNH_uuKNVY4qcWaa$>haXY-7T%|ol6*O?PDs<9l7qm}Q&v50dS2j)Sq?e2% zN3r4;;41QTqMrdXw2oi?hQgQ7WhL_REarxnw}@GcpQ^5ZM`84I+RIK8`<#bR^s9!? zGd0%5tgmA}f=DS$Bp*rS1{R};l)^*`^jz^0B5W)ZS&DQ-4HKD*Byuy_5j9MtL_`)Y zA;O(yA~Ytna%&8l0Pbt!CsyC(Z=IoBr5>H4n%_9Z9g0h|nE(I) literal 0 HcmV?d00001 diff --git a/download/target/classes/com/sict/excel/dto/ScreeningRankProvinceDTO.class b/download/target/classes/com/sict/excel/dto/ScreeningRankProvinceDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..e647ed414584cc4c4c804f9617b85e109e8245c7 GIT binary patch literal 1639 zcmb7D?@!ZE6g_Vn+Zc7=U=wA?h7PyEsJ|6qC}@l%M2rv;WBgFMmr>l>rR#`)mL>{` zCjJ5bQO0|_m32+|;FtGq-#hQzbMHO<^Y`a(0Qaz+Kty0!x7upg&>dBN(Pc|*IF`Dv z+ftf_*?g~=pWoTmsbT8!)xll@F@dQQ?Nn1+n%PwMj!vZR2t{yrI@D}~zXyjg=h)~9)OP=)Op-O$l+F$nl`U6%s=czt zA#hE>7~+KN_K~@A2#}Re5Y?NDCd`Zw4%)zc^9mA35}f#k@T{M8fc8ke!SL%v1>@dp z?_3~FskeqrW#E#66w6Li8s8NS!m;}N2~?@N;Vk>7+dZSzkaiL))RYl_kS_`!jYd6% z3RZbI3mn~5$YJ+sj9RB7P3mOLUrFCM>;B%3q*+hmA+=(q;JL?Tf6Sau0#sg8eBBRH zt+`a5(dtRifYU1lpWW!JE+9U!^5+W5m=j3tTRmHsuMPIr{7A`OhpF^cZWM~t*(m)~ zF+|uE6h(NN?oM-YcWOKBDMFHeX}v;UD(!;yvFbU}-(1)ft#S7-imMbelmN(Jns$L1 zWN96J{2jTkbQ!_$u@d@t7S{)lHwhh~H}UH759EfaQ|{>`C7f~@a(&bwJxk;ISoICe zg$T(9g=9j7+{8kdkbF=`meS=e5yA~-A%##O#h{ScP$9R%g%pEA=155X5+OWc7IHgu zG^L=Bo1sGPgpZ~a6jCH1i1C~cjP`?yPzXjy2#EM$vl-SYo87WIDgG=4 zO+mpQ;Exi|Y@*q0R*;36GqdONocGMnU*CQJIK`6;))?xhJJx++N}Yc+xvh_+tM|A! z8TX_ig)fEazwCE2NHT0)7*~dF8;+%ShZo$G40&I<_PHGE^3F&aR(NggxS37BzAXOEB#$n$+M?Ei~q!@S#e36v_6d za7e;vwi5>SUU5Cru!B1cxt=@mO#Vu!*HBq)`$WlvJ(4>?Z+neCnq6R#_Oz$z54|l~ zb9B;aXSAnU*VyWl5(`p|f^5fv+>QsSMnNi6uKEuUC8z?SxzMT< w>5^tj&iZ%kzAfCl#$Jo0nc_jAF-42)s&PTU&Pq-hdpN`aOZIp)V=4eAC7DNcAYY7S zn%l4h>Q~`)7$jjj2|kXlWRwdS@mN6g1gtciN`XfIRx`+FaXNV`V9w=@K=oam#`%SS z=k?ZA>zVG5uJ5z4bYNo7g@YQcyzX!p0{bp1sH*6|g^e8*wOs6CN1)b^Q+c_Vj^yl9 zI7&2C7KO<$oW<%~CawH)JQsM>-`+LZD-)Ub*dq(G%gVesSzb@!*}S~eeK)=CdIuCx zUkF;>`n|HK(qf>;L#Ym&LAIDh@+Q ztIJcudy9M1|AG7d(Gqq4kl{F5q&S)P8Xy5^}e(@d;amW*$ zbX}n%RoT#ys%^4n2S;V)fV)yv{O_oLVPLQfh^&$=ZS59<(wZNEV`dcg1=Y&9s*!I& z9i2TSLPtBa3)MfkY6&Os7*9&CRglJ4ny!KzZv=U&=lnm&3y$qB$O+4xZUIrVQ4=`b h2-3U@a=sDd*=CTHuPY|fC5XQTM173{In%A5{{`10jCBA2 literal 0 HcmV?d00001 diff --git a/download/target/classes/com/sict/excel/mapper/DownloadMapper.class b/download/target/classes/com/sict/excel/mapper/DownloadMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..cb62de49c2efc4fd9a399986e9faffffbf94bbc6 GIT binary patch literal 1129 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 sxyLB;6lHPIzXcyaChX1=0Mj^2EzeMVpF literal 0 HcmV?d00001 diff --git a/download/target/classes/com/sict/excel/test/Diagnosis.class b/download/target/classes/com/sict/excel/test/Diagnosis.class new file mode 100644 index 0000000000000000000000000000000000000000..0ff17d4982b763d581042f1ac14bc15cdb041ee9 GIT binary patch literal 7360 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 literal 0 HcmV?d00001 diff --git a/download/target/classes/com/sict/excel/test/GastroscopeTest.class b/download/target/classes/com/sict/excel/test/GastroscopeTest.class new file mode 100644 index 0000000000000000000000000000000000000000..28921d675624e6cae374fd5816b310edb5fbe2a9 GIT binary patch literal 4520 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 literal 0 HcmV?d00001 diff --git a/download/target/classes/com/sict/excel/test/ScreeningRankGecaExcel.class b/download/target/classes/com/sict/excel/test/ScreeningRankGecaExcel.class new file mode 100644 index 0000000000000000000000000000000000000000..ef438ee145edb636ff1075d140d559b63e1f46ef GIT binary patch literal 2037 zcmb7F-BTM?6#rew7fEdC(jqCgwf4gh2sc3yNf1ByD6JtVOL5Sr&2lAMHrcqlvG`Ws z)p7iI^1*S`@yQu{u|lVg&;2`E+P|XXxw|nW0Y>_AckjLDoclZH{(k2^c)I&HfGlo? z(Z!I`tqOMx-Q{9S7bbUw<8oEEg{T_Ujb*L6c}?iroZJf|z|eb3`&8qmR^8xBrCUOG z8A4M=)o`a7x|2hz41pPIT}081o;ZRCF`O(IRZ*;0O2S^zN~T~?3YM;!tD0@dd1Eo) zmJNqtq;Pyhd4}kQaGkOcZZ^a4VX|P^8(gbtdRg$AW$?1&e9Y^Puqy=0b{LY$HfTmka}9?(zGF*_d>CgLE_a+%(P}ke^I7Y5)wHzrMQ<9z z3pgLfIWljl(2gC3^B1^1%_XqiLWiy z_Un}Y=-^UIiZhmJl0b=U`Ga z&1b69YTdQk`#h;6KTT;*bmVe;&!}qEZC%V8vd0g$NwE2djLLG5An3KAR|x2$KYAr- z4AYF$m(e$vx{Jsk-gcBmxefFpMq}JJpzm`u>%j?}q#(WYAE2F6G7JlmM}$^Z|3Y73 zSV`<)unYenv3L&`*Y4s{F?1i7*SeLf>RLcas%t?drRD-7I~ZZe1(i%LlujvQi9jN# zy!t0z%Y}z`kYk|n4SF%RDRMU?u9P?S(aC2BK|cnlp{Hpar*1Tfvsl0&ia3WAocFLV z`>601-uCb=;~mTp>R!xa7IT!x0H*2x8pTgzi2Scp>~SjB4ZKTbnxt3-EK+t0ly?zJ Zl(ry=4{snSRRXP9w literal 0 HcmV?d00001 diff --git a/download/target/classes/com/sict/excel/test/ScreeningRankProvinceExcel.class b/download/target/classes/com/sict/excel/test/ScreeningRankProvinceExcel.class new file mode 100644 index 0000000000000000000000000000000000000000..ae103d5b24272371344cde1d61c1b2943baa229a GIT binary patch literal 1982 zcmb7FTW=dh6#gbzUt${?HW1=cdP&;gTsIAu7CWSrT$+Frmu}Kx@wDCy$u{d9v%7A~ zTX{q(2qE!+KtezfPe|c~Hi=sGncvYm@E3SMoY`#?$8n@YmS%V6ob%0h&VJ|kum3h4 z0yqmjh8BilQ`rwETPR7wk-*~h|U;ZV(4keqUu|= zr|F;CI`=%nSfqUlFQbcqCH?S}A(Pp~$toGX0cCtSft<5~_P;~&*x~@hUamFK-%eDAEIKk-&JI&-lDGnScicoN&a4t#gR4C5;j>Iv4g5vdzuqD~1#HDAt`@PrSd;NW{|NMLVcK~Tz zm(anG)UC4O7`m(Q4V{~c%NRw*hAg_~S= z8Nw4r#c(GX0?ED`48bXDjYkncXB;7f8II+Q3eVTd1#T~E1(P$#IZM~f8=7s1d3`bH zmJEj>m1`GImLXc?u3F;UO{W=Fk~zyRDq2<3OI)d1hEj5z_m!H%?J_|!l{r+5tC$tF}rL30g9aeTLi2w4dy87{S)Q`V|gZY$H)t%_-BYxCYT zhSNAJ;S8BK6z9muah$^o44s6__h-1A%qX8|F)a1fE7`OHSuvR#it zBK0WFqf^4=CN8P2O=OGUMWWNr=U+bg;vVrept*Tqsu zH!X*h9Jy836T?6og4$CbY0B9X1jCg^-y_LMN(}oX7ar}fpFD!%)(^2il$&H9(=D@B zuH>~cC+>6~Qf!K85{Zbv4Q2OeMLSi^Er|xVFOd4JQOz9DsTkV71csjGPWe&w-)=eI zn*X8sOtf09xmI&;Cy8VyDebYAT-x`Hs#eX``K%#2d!k8y^@n3f6oceIF9f|iKnMNN z%Rr+Qx&(N$B&*B&b>7xH2?K~&KFo`@Ow6gL5 z-MM}_v4v9|_ydXghd94_9~blCN4T^akguq#K{=_ehUAo*2@Y&wfFTo-hcn^9lsu9M zCPMPd_wY(a>fb_!fyUP;EoqZN2Oxl@ys?{(K0y$A&`Yg+kj7E!MB_M#Ih;ZsXRwU3 z9{4367T&;{9$*!3VTxdP;VPyvLy7c~reDw=nJ%dWS9a#PcH#|srw$Zf?$qT?t`^j@$Z|x@zg=HFcqI zn;RZObiyo~-XudP)q9H}JY}!)I6`Qb5kZvURL(5(e6>{I&XQiRID?Y24c)q>JEoY| z7QaoMAbYvz;|nujodRs}~{*T6MWoqO2@+PSa+W zZD+k;+w0lh7L5JKbV^)6Q1MK=>`G7=I(-~WTfMPxuoK5=bV)eFaJi|5s%KiRs(oQ; z+;u6&O`6Mi72O1=pS}ROw#Sf4HDqQMbkB5EH*l?sl9h0l;Y!n4CB0JNjyi4MDO(VU)BmGBh+MDjk#Y4v3%$eux6Y zgBPM}9ohj-+0TwH)s;A9TNVkF=$1Wd*TAq7gc5LHP$w&6LP$AETq~KLSelgao>+<) zmhFOfdPGAqFFm$#wiNYLH}Xec}0X_5_!aEW%*BZ z=K7T6HqN!-FC^z5L!pmCHM(m2jy4(E_3xh$c_ zPku2-3-9B)pRk4xFhyy1;6qGfh6?E>UCq)gL~+vOe}iI=;u1c>$Ar^3&Lf9;DsPU; c&SQbf{e&WQ9e939o`L-$*)wRg+lHlo0qOTxF8}}l literal 0 HcmV?d00001 diff --git a/download/target/classes/com/sict/excel/test/SerumTest.class b/download/target/classes/com/sict/excel/test/SerumTest.class new file mode 100644 index 0000000000000000000000000000000000000000..effb422d82673cc722d9cad4dc04c637278d1a22 GIT binary patch literal 6847 zcmb7Je|%KcmH*!NhRh^+Kp2vc7a)X4e*c&RM92h@A4woK5F`;qYxQOFk_=2{l9?BN z*hITK)E||0SwuzKLao*zV71*{S9jZP>$bbC?e3@Ub|p$nx4T=}A6>Qkz3!38&44A4u__o2TB`-ripp&QuJw@~GYcv*HOxSU!0h&5 z*xWok&}~M$jP8&r;BAitjL(`EGsV*-oX|DX{~0-1fL73()mt3hCUMSCRL z=Q9S4K)>l5j0AoCu~@HfIA%r%Xhz7lv9q&vdnCH6I}+K|R5^{#of4U&WVO%*gH|vS zj=A9#m^(4?aY+_(k?%&Hz!hmm4_m=d%-1;->NI09VqDL*hIuF;FwIYJ1u7~g*%a(H ztYFL+bCgo_o8(Z18sd9K{M)Wj_e7CB1X?9yP1trl)F*J?kT>W(o_u$IdttYCnlQAuZ|8QfzGPZFJ8BLQ<;X zV`%684x4+q>vNL`DY<}i+x*eJV6Rcy0!UA6(QqBMO0&Y&HaTlMgS2H~6S_29pPb;@ zfHiD{xS@v!q_8P+>Yked%JP_UR+$p=vN_5#`Sln`9DLSa(u2k)HMqpQ(_8|?QlU-(0dtD^jV@B6SEGse~ z)$i4CpOnoUm$jR{mXzGD;eq6sj@H&-U%xGSNWGrB=ExqhZPd$z=x^YCHENyWvaV$#>4PTOm$k>+6jixlQExaYdoDh>seN@Ar*=x7< z`mT;mYrERk%Q2qNa9rwnsAn&+2T!pOId|%FZ@>JI>~KQEGkBIeHvzoa7+?_RU25lY z?+oE98or8?%qofg43Ozm7WSm&?)w_P?#6RGI4(bJ?lle1H#?BVCmA3Q7<@h>#|rCh`r+c&m#wRrGXjAfagnV3gjdi(5I_H^TQfq4_B zqLWwG4F^LE_bj}IO!@hahVSBg#Fm9gm^rjIbwv|(MCz$I35MbM8osaL2Y7>_V?`Wc z`can1=pOu#0kd&%?9ii(sq>G$Fg9|+F|}A8Uf<8cKj0^B{CHAH+#DHZL95|S{FJdb zXhdVC!eX$wA(gW}IhOrJ_vfW!t^Kl12Zs9{gHBluCd9 zMlRXEr>#_CjE@eRSa3%8f3gO7=gC*j-E-E76vy`-yhr}|N1u83YlkND|BHMs6k}>K z|9@m&xc{zqPaTsp`kkE7|4GMADy|atxbcBNfgOawh>yA4>=?ENhb@XtW59#o3)Hpv zeM{>b8WT69KU8tl?G44U@IHRU0$M1VP~~MPgO%k#(2}efn#ho>8G%qF#_Z(Tlenh{ z)TEzImq?%Ew;Cpr*!V?*i#8- z0%{Imvg+qWCtxHSo}s>R(yrwUne@ujp{J6JU3C*{sOG9)SI!u-af zF;O`42A2}|$!c02sWow<8V}va4Y3*<1j0D z33Q0WIE{&RV^Yv4N2W$YJu3jI(oj!Pf=bH9ISmsOWm+U9MFSPk*t)Gsu4;6(JA7l7+v+d)r;O~s8 z)9`$qgu+t?witY3$R@2h9r!zwtxU|qZ1&0_?V@Ckgz@ZV&!uE+8|B^_g}!MN3pS5p zk>6GAEjfcF3cigJ|BRZHMn-K)!>zkgS{{AI8B_`QGxdx!s3Vc3yB#81_c(;6XU4JA zKT{pWO8+eTJKO%|NWp6V96jp{)>3uu36$t_&tQX~4V(O4eO4SDx;Kta{@!Y9OEI6T z9{>H%^z12=W~VF7PEpdPP|8VH%9&8A^4=K7$7zl?huGb^SB<0JKesB5kUv+?b;U8L z=RS|!aeOL{5u0(x1ml3sxZD2TV}B3Z-v_Dxus=`F%gK)83wqx3_){C;n4af-GLEP9 zTs<$2FY9wT+9`j&p6~re9C1Bg&yC|HeJ)2m<)5d|^L|Tm=h7y?}K`QGo+XO`~AAE+d~)Xg?fP;v(Wph980J4lz+ZH-{H=G z39s!qjlb4s#_>0C{H^Tbogo1h=nHIsh5ACL>q76}N$CO`phz!rxJ5~TITHX22yn{3 zNMinI6o21XtW#)HCHf-S-}^Jy%TRZy1tkT=kzD-Ku2KBFa}@tFig!-qm);9;{F`Ho z?UN;3I=3{bR4=tnD$~on{~>Kz;>@^AUm|B%YFk#Wmpje!q-Bi5@u}r_Bv6H3VFOj_ zmEPZ`0987g6*f?nUgb2al0Xcz2_Oc4zrR|qwt;H&8t=svpc+TB+6JoCYn^6o5{Q8~ z0hA?y>hwAr$fx_f|D6Klb2RI0pnARDY1TV?OYW6hbs7BJUjIw2m+<}$?}w+k85^q4 z2*IMp{?^)G-8KHhM`iN(l|25ivut>uW3EwUUJ}2+UeZO(Jd5B#F>}&lW}p&su0S=G zU?m?YTTzA%l=E$<0tPDi5>mx$T{SNsHMkwMxC3=K#KiXm9|d3J@3)w_e!};@U-I`o zEEjys6N~s;iIt)OjbbI5#2Ty;tynGEu|{lXTDckPL_eBE7%jr$gW7FOFC%;`JAiA& zz4(}TjL&07u}M6Q4si-w#EZC2e3LI+ucA|Y7hU3q%r|f12Jv&;D9-c2>Nohf_#Hl> z0JkU^xK+_$C|-0cIs(dK^eB}um3s6lE6}H0gMOtILFGp5Qo0dRc49yoLRi_0h%$mf zX&f8`XnAuzlsOd7x0k! zIv!Tvz$5CLcvO80kEvt$g8FMbu3p3u^?iKNm4~CQVjOdo;R#m_j=PrPNmnDDa;?GB zu2!6IZNf9IPCP5m9Qt9IJWYgKc;q?b+A1PCn=D1qKOj0fs zxmJo{Ks^0#X`=)N?`?g*^B6sBek+q-N1?KNSl|&8D}0Bo>m&p>Mt?ib&02OwARGL@~UK zs077$N>UAKsaPyZ_&U!7brW$1<^p>LS;n! zSS%$~q#PG7h-IV}DJR9V;!3d`#mZ@MR9r=>M7bb#iWMAViE>dGVkJ>Zl@G)Y(MXLl zwNR`Qep2P?YWk;%(h9YeUS36BC8OlG;%ZV=jFBIR)s$8t4*&byjEtk}I@fe1$g1%0z5rKSi|t EKh7hP`Tzg` literal 0 HcmV?d00001 diff --git a/download/target/classes/com/sict/excel/test/TestExportExcel.class b/download/target/classes/com/sict/excel/test/TestExportExcel.class new file mode 100644 index 0000000000000000000000000000000000000000..c640846f6e0d00e2fcc7b5ae2511842af797e3a7 GIT binary patch literal 2019 zcma)7ZBrXn6n-uV?6RaSED%at`XYq}Eo`Y;ZGzMmsDdf24TYxl?UHO^akCqDZz`xC z9LE{O8E1UyckLH(#&I0`A=Fa+0saHO8|$x7&)pCp2{ZOX?(W`m&U0R#b54H$=fQ6P zhVg-d28P~@n=^bXBMfsnW7>u=ePPVdF|nL?Jv!-9L71U+iQndi&7B3~^8AvS5e!Wu zmSc%ghEQx^mLWXmW=#ztG)K^gCWd`U%Q2@5xp~u@;q$i1peNl7w`aL$$?wg}uvoNw zhQ8!ugpwdPIc_-&(b&!8c1S7VSyXlO^Xg02dVR5H$c9$!gXzR(br(gO?!YQVC>HBzFGH65Yg5JT5?6y;bi6f8Sy zdMXZ6$fbwh{&|0u``KF>4&tb+-!X>H*lrn0jot{3qmLNi`Ml|584krJ2kMkJT_mK% zi3nmCU{Hly_Rr7}t2argc#8OZbZ1>dHwI-OLkzLlWF2^-{$^md1*dRY!7#(#Am5-` zvQQB`jb{j$XDQgKyvog#7`UO}OjVba!&LD+L&M~_ia4cPTKl^6#pfzU=>4w`*GixM zpkWj*DmX{Iwe4|?+f)_qMQ|P$7+MxgG3oe%I~nT1XeI3+xQc2*!FW~F<6KZPkD*z5 zcqxLHG0C9#rkJsEgwnprO#mWwsrRJjD-k4di8RS)SyQj_7pSVZOui=K#_3bTXEz5= z`g&CwUk&DIN|H7sX}%`eovNp*!mf%rhCQVpzk77&o4@aVKeTN7(l#w^Z!iq*)hKvpf_sM;!m1=;LMUIN)P*@} zHsyE&wq!q&gjw_>PFpgrUC24pJZF+umG)E6J2W3VY_{5j5VOQ~HDW+2N%CAQ$|YAj z>*Ot3z4=!1mF+kFSecB}YVFuBiBZBI+7YZw@P7@olw0sJ=0!{H<&K(-KO{52F%aGK zUja1G8?AIY75Xyh$>`bmpkl@(o@6}MfB_B^5ict8Zh^9i1oB; zcmMsP=~q0P4(ZRO(qa830^Dn7#!-lptZ@eyp~s2(~7$;u^PDMHMXUWgFmcn2QUiPN97 h4?%@rr3w~sn=1S+Aw|iujJCXmwh~bE9!VSU{(lhp5kmj~ literal 0 HcmV?d00001 diff --git a/download/target/classes/com/sict/excel/utils/Excel.class b/download/target/classes/com/sict/excel/utils/Excel.class new file mode 100644 index 0000000000000000000000000000000000000000..46b513fd6791f312e188a0f337594b4f264e6153 GIT binary patch literal 10243 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 literal 0 HcmV?d00001 diff --git a/download/target/classes/log4j.properties b/download/target/classes/log4j.properties new file mode 100644 index 0000000..a908082 --- /dev/null +++ b/download/target/classes/log4j.properties @@ -0,0 +1,5 @@ +log4j.rootLogger=DEBUG,A1 +log4j.logger.org.apache=DEBUG +log4j.appender.A1=org.apache.log4j.ConsoleAppender +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n diff --git a/download/target/classes/mapper/DownloadMapper.xml b/download/target/classes/mapper/DownloadMapper.xml new file mode 100644 index 0000000..7411924 --- /dev/null +++ b/download/target/classes/mapper/DownloadMapper.xml @@ -0,0 +1,774 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/download/target/classes/mybatis-config.xml b/download/target/classes/mybatis-config.xml new file mode 100644 index 0000000..ee71585 --- /dev/null +++ b/download/target/classes/mybatis-config.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/download/target/classes/mybatis-geca.xml b/download/target/classes/mybatis-geca.xml new file mode 100644 index 0000000..38e1131 --- /dev/null +++ b/download/target/classes/mybatis-geca.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/download/target/classes/mybatis-qg.xml b/download/target/classes/mybatis-qg.xml new file mode 100644 index 0000000..8aadd12 --- /dev/null +++ b/download/target/classes/mybatis-qg.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/download/target/classes/mybatis-shchyy.xml b/download/target/classes/mybatis-shchyy.xml new file mode 100644 index 0000000..99a386a --- /dev/null +++ b/download/target/classes/mybatis-shchyy.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file -- 2.22.0