From f5354afab9129526e7de39352550d07e866ca366 Mon Sep 17 00:00:00 2001 From: baohanddd Date: Tue, 28 Jun 2016 17:44:12 +0800 Subject: [PATCH] add statistics(map) --- .../src/main/resources/earlyOrm/Mommy.xml | 34 ++++----- .../src/main/resources/earlyOrm/Plat.xml | 24 +++---- platform-operate-api/pom.xml | 5 ++ .../web/controller/StatisticsController.java | 47 +++++++++++++ .../src/main/resources/database.properties | 12 +++- .../resources/spring/applicationContext-dal.xml | 47 +++++++++++++ .../main/resources/spring/applicationContext.xml | 1 + platform-reportData/pom.xml | 40 +++++++++++ .../platform/reportdata/dao/StatisticsMapper.java | 16 +++++ .../lymsh/platform/reportdata/model/AreaData.java | 80 +++++++++++++++++++++ .../reportdata/service/StatisticsService.java | 16 +++++ .../service/impl/StatisticsServiceImpl.java | 29 ++++++++ .../main/resources/reportOrm/StatisticsMapper.xml | 81 ++++++++++++++++++++++ platform-reportData/src/test/sql.txt | 56 +++++++++++++++ platform-resource/resources/config-dev.properties | 5 ++ .../resources/config-product.properties | 6 +- platform-resource/resources/config-test.properties | 5 ++ pom.xml | 1 + 18 files changed, 474 insertions(+), 31 deletions(-) create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/StatisticsController.java create mode 100644 platform-reportData/pom.xml create mode 100644 platform-reportData/src/main/java/com/lymsh/platform/reportdata/dao/StatisticsMapper.java create mode 100644 platform-reportData/src/main/java/com/lymsh/platform/reportdata/model/AreaData.java create mode 100644 platform-reportData/src/main/java/com/lymsh/platform/reportdata/service/StatisticsService.java create mode 100644 platform-reportData/src/main/java/com/lymsh/platform/reportdata/service/impl/StatisticsServiceImpl.java create mode 100644 platform-reportData/src/main/resources/reportOrm/StatisticsMapper.xml create mode 100644 platform-reportData/src/test/sql.txt diff --git a/platform-mommyData/src/main/resources/earlyOrm/Mommy.xml b/platform-mommyData/src/main/resources/earlyOrm/Mommy.xml index 00ff9d5..9400229 100644 --- a/platform-mommyData/src/main/resources/earlyOrm/Mommy.xml +++ b/platform-mommyData/src/main/resources/earlyOrm/Mommy.xml @@ -1,8 +1,8 @@ - + - + @@ -14,7 +14,7 @@ EI_ID,EI_NAME,EI_VALUEMODEID,EI_VALUEUNITID,EI_DATATYPEID - select from (select,rownum r @@ -33,7 +33,7 @@ - + @@ -46,7 +46,7 @@ E_ID,E_NAME,E_SEX,E_HOSPITALID,E_JOBTITLEID,E_DEPTID - select from (select,rownum r @@ -65,7 +65,7 @@ - + @@ -80,7 +80,7 @@ P_NO,P_OPERUSER,P_TYPE,P_PLATPATIENTID,P_LASTMENSTRUALPERIOD,P_ISVALID,P_SERVICETYPE,P_ISVIP - select from (select,rownum r @@ -99,7 +99,7 @@ - + @@ -117,7 +117,7 @@ PI_ID,PI_NAME,PI_SEX,PI_KIDSTYPE,PI_BIRTHDAY,PI_MOTHERPHONE,PI_OPERUSER,PI_PLATPATIENTID,PI_ISDELETE,PI_SERVICETYPE,PI_ISVIP - select from (select,rownum r @@ -136,7 +136,7 @@ - + @@ -149,7 +149,7 @@ CER_ID,CER_PATIENTID,CER_EXAMINDATE,CER_EXAMINHOSPITAL,CER_MODIFIEDOPERATOR,CER_REMARKS - select from (select,rownum r @@ -168,7 +168,7 @@ - + @@ -181,7 +181,7 @@ E_ID,E_CHILDEXAMINID,E_EXAMINEID,E_RESULT,E_UNIT,E_EVALUATION - select from (select,rownum r @@ -201,7 +201,7 @@ select ED_DIAGNOSISCONTENT FROM Mommy_ExamineDiagnosis WHERE ED_TRIAGEORDERNO = #{triageOrderNo} and ED_ISVALID = 1 - + @@ -214,16 +214,16 @@ - + - select DC_ID,DC_NAME FROM ${tableName} - + diff --git a/platform-mommyData/src/main/resources/earlyOrm/Plat.xml b/platform-mommyData/src/main/resources/earlyOrm/Plat.xml index b15d91e..7eb4e6d 100644 --- a/platform-mommyData/src/main/resources/earlyOrm/Plat.xml +++ b/platform-mommyData/src/main/resources/earlyOrm/Plat.xml @@ -1,8 +1,8 @@ - + - + @@ -20,7 +20,7 @@ - + @@ -40,7 +40,7 @@ - + @@ -49,7 +49,7 @@ H_ID,H_NAME - select from (select,rownum r @@ -66,7 +66,7 @@ - + @@ -79,7 +79,7 @@ U_ID,U_USERNAME,U_USERPWD,U_EMPLOYEEID,U_LOGINNUM,U_ISVALID - select from (select,rownum r @@ -97,7 +97,7 @@ - + @@ -110,7 +110,7 @@ P_ID,P_NAME,P_SEX,P_BIRTHDAY,P_MOBILEPHONE,P_ISVALID - select from (select,rownum r @@ -126,7 +126,7 @@ = #{startRow} ]]> - select * from (select h.* ,rownum r @@ -158,7 +158,7 @@ - + @@ -170,7 +170,7 @@ select DC_NAME,ME_COLORNAME,FENSHU,PI_AGEMONTH FROM V_GETALLPATIENT WHERE P_PLATPATIENTID = #{patientId} - + diff --git a/platform-operate-api/pom.xml b/platform-operate-api/pom.xml index 54f09ff..4a28f8a 100644 --- a/platform-operate-api/pom.xml +++ b/platform-operate-api/pom.xml @@ -36,6 +36,11 @@ ${project.version} + com.lyms.core + platform-reportData + ${project.version} + + org.apache.activemq activemq-all ${org.activemq.version} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/StatisticsController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/StatisticsController.java new file mode 100644 index 0000000..05f69e7 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/StatisticsController.java @@ -0,0 +1,47 @@ +package com.lyms.platform.operate.web.controller; + +import com.lyms.platform.common.annotation.TokenRequired; +import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.utils.JsonUtil; +import com.lyms.platform.common.utils.ResultUtils; +import com.lymsh.platform.reportdata.model.AreaData; +import com.lymsh.platform.reportdata.service.StatisticsService; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; + +import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Created by Administrator on 2016/6/28 0028. + */ +@Controller +@RequestMapping("/statistics") +public class StatisticsController extends BaseController { + + @Autowired + private StatisticsService statisticsService; + + @RequestMapping(value = "/countryData", method = RequestMethod.GET) + @TokenRequired + public void getCountryData(HttpServletResponse response, @RequestParam(value = "year", required = false)String year) { + if (StringUtils.isBlank(year)) { + year = null; + } + List simpleList = statisticsService.queryProvincePatients(year); + List riskList = statisticsService.queryProvinceRiskPatients(year); + Map result= new HashMap(); + result.put("simpleList", simpleList); + result.put("riskList", riskList); + ResultUtils.buildSuccessResultAndWrite(response, result); + } + +} diff --git a/platform-operate-api/src/main/resources/database.properties b/platform-operate-api/src/main/resources/database.properties index f812d7e..d68b62f 100644 --- a/platform-operate-api/src/main/resources/database.properties +++ b/platform-operate-api/src/main/resources/database.properties @@ -45,4 +45,14 @@ run.mode=2 mongo.config.replica.set.address=192.168.1.XXX:27017,192.168.1.113.XXX:27018,192.168.1.xxx:27019 mongo.config.replica.set.name=repl mongo.config.database=test -mongo.config.username= mongo.config.password= mongodb.connection= \ No newline at end of file +mongo.config.username= mongo.config.password= mongodb.connection= + + +report.driver=oracle.jdbc.driver.OracleDriver +report.jdbcurl=${report.db.jdbcurl} +report.username=${report.db.username} +report.password=${report.db.password} + +report.maxpoolsize=5 +report.initialpoolsize=2 +report.minpoolsize=2 \ No newline at end of file diff --git a/platform-operate-api/src/main/resources/spring/applicationContext-dal.xml b/platform-operate-api/src/main/resources/spring/applicationContext-dal.xml index 0b857a5..0b8a995 100644 --- a/platform-operate-api/src/main/resources/spring/applicationContext-dal.xml +++ b/platform-operate-api/src/main/resources/spring/applicationContext-dal.xml @@ -67,4 +67,51 @@ + + + + + + + + + + + + + + + + + + + + + + classpath*:reportOrm/*.xml + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/platform-operate-api/src/main/resources/spring/applicationContext.xml b/platform-operate-api/src/main/resources/spring/applicationContext.xml index 6699aff..5fb7cd4 100644 --- a/platform-operate-api/src/main/resources/spring/applicationContext.xml +++ b/platform-operate-api/src/main/resources/spring/applicationContext.xml @@ -14,6 +14,7 @@ + diff --git a/platform-reportData/pom.xml b/platform-reportData/pom.xml new file mode 100644 index 0000000..9644848 --- /dev/null +++ b/platform-reportData/pom.xml @@ -0,0 +1,40 @@ + + + + regional-platform + com.lyms.core + 1.0.1 + + 4.0.0 + jar + platform-reportData + + + + com.lyms.core + platform-common + 1.0.1 + + + com.oracle + ojdbc14 + 11.2.0.1.0 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.7 + 1.7 + + + + platform-mommyData + + + \ No newline at end of file diff --git a/platform-reportData/src/main/java/com/lymsh/platform/reportdata/dao/StatisticsMapper.java b/platform-reportData/src/main/java/com/lymsh/platform/reportdata/dao/StatisticsMapper.java new file mode 100644 index 0000000..d975eed --- /dev/null +++ b/platform-reportData/src/main/java/com/lymsh/platform/reportdata/dao/StatisticsMapper.java @@ -0,0 +1,16 @@ +package com.lymsh.platform.reportdata.dao; + +import com.lymsh.platform.reportdata.model.AreaData; + +import java.util.List; + +/** + * Created by Administrator on 2016/6/28 0028. + */ +public interface StatisticsMapper { + + public List queryProvincePatients(String year); + + public List queryProvinceRiskPatients(String year); + +} diff --git a/platform-reportData/src/main/java/com/lymsh/platform/reportdata/model/AreaData.java b/platform-reportData/src/main/java/com/lymsh/platform/reportdata/model/AreaData.java new file mode 100644 index 0000000..8a4d807 --- /dev/null +++ b/platform-reportData/src/main/java/com/lymsh/platform/reportdata/model/AreaData.java @@ -0,0 +1,80 @@ +package com.lymsh.platform.reportdata.model; + +/** + * Created by Administrator on 2016/6/28 0028. + */ +public class AreaData { + + private String provinceId; + private String provinceName; + private String cityId; + private String cityName; + private String areaId; + private String areaName; + private Integer val; + private String year; + + public String getProvinceId() { + return provinceId; + } + + public void setProvinceId(String provinceId) { + this.provinceId = provinceId; + } + + public String getProvinceName() { + return provinceName; + } + + public void setProvinceName(String provinceName) { + this.provinceName = provinceName; + } + + public String getCityId() { + return cityId; + } + + public void setCityId(String cityId) { + this.cityId = cityId; + } + + public String getCityName() { + return cityName; + } + + public void setCityName(String cityName) { + this.cityName = cityName; + } + + public String getAreaId() { + return areaId; + } + + public void setAreaId(String areaId) { + this.areaId = areaId; + } + + public String getAreaName() { + return areaName; + } + + public void setAreaName(String areaName) { + this.areaName = areaName; + } + + public Integer getVal() { + return val; + } + + public void setVal(Integer val) { + this.val = val; + } + + public String getYear() { + return year; + } + + public void setYear(String year) { + this.year = year; + } +} diff --git a/platform-reportData/src/main/java/com/lymsh/platform/reportdata/service/StatisticsService.java b/platform-reportData/src/main/java/com/lymsh/platform/reportdata/service/StatisticsService.java new file mode 100644 index 0000000..e874c4f --- /dev/null +++ b/platform-reportData/src/main/java/com/lymsh/platform/reportdata/service/StatisticsService.java @@ -0,0 +1,16 @@ +package com.lymsh.platform.reportdata.service; + +import com.lymsh.platform.reportdata.model.AreaData; + +import java.util.List; + +/** + * Created by Administrator on 2016/6/28 0028. + */ +public interface StatisticsService { + + public List queryProvincePatients(String year); + + public List queryProvinceRiskPatients(String year); + +} diff --git a/platform-reportData/src/main/java/com/lymsh/platform/reportdata/service/impl/StatisticsServiceImpl.java b/platform-reportData/src/main/java/com/lymsh/platform/reportdata/service/impl/StatisticsServiceImpl.java new file mode 100644 index 0000000..c3d69e8 --- /dev/null +++ b/platform-reportData/src/main/java/com/lymsh/platform/reportdata/service/impl/StatisticsServiceImpl.java @@ -0,0 +1,29 @@ +package com.lymsh.platform.reportdata.service.impl; + +import com.lymsh.platform.reportdata.dao.StatisticsMapper; +import com.lymsh.platform.reportdata.model.AreaData; +import com.lymsh.platform.reportdata.service.StatisticsService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Created by Administrator on 2016/6/28 0028. + */ +@Service +public class StatisticsServiceImpl implements StatisticsService { + + @Autowired + private StatisticsMapper statisticsMapper; + + @Override + public List queryProvincePatients(String year) { + return statisticsMapper.queryProvincePatients(year); + } + + @Override + public List queryProvinceRiskPatients(String year) { + return statisticsMapper.queryProvinceRiskPatients(year); + } +} diff --git a/platform-reportData/src/main/resources/reportOrm/StatisticsMapper.xml b/platform-reportData/src/main/resources/reportOrm/StatisticsMapper.xml new file mode 100644 index 0000000..b993b71 --- /dev/null +++ b/platform-reportData/src/main/resources/reportOrm/StatisticsMapper.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/platform-reportData/src/test/sql.txt b/platform-reportData/src/test/sql.txt new file mode 100644 index 0000000..4573764 --- /dev/null +++ b/platform-reportData/src/test/sql.txt @@ -0,0 +1,56 @@ +这个就是每个省份 每年的建档孕妇数 + +SELECT + ODS_D_PROVINCE.PROVINCE_ID as province_id, + ODS_D_PROVINCE.PROVINCE as province_name, + ODS_D_DIM_DATE.YEAR_1 as year, + COUNT(ODS_F_GRAVIDA_RECORD.RECORD_ID) as val +FROM + ODS_D_PROVINCE, + ODS_D_DIM_DATE, + ODS_F_GRAVIDA_RECORD, + ODS_D_HOSPITAL, + ODS_D_CITY +WHERE + ( ODS_F_GRAVIDA_RECORD.HOSPITAL_NO=ODS_D_HOSPITAL.HOSPITAL_NO ) + AND ( ODS_D_CITY.PROVINCE_ID=ODS_D_PROVINCE.PROVINCE_ID ) + AND ( ODS_F_GRAVIDA_RECORD.INSERT_DATE=ODS_D_DIM_DATE.DATE_1 ) + AND ( ODS_D_HOSPITAL.CITY_ID=ODS_D_CITY.CITY_ID(+) ) + AND ODS_D_DIM_DATE.YEAR_1=2016 +GROUP BY + ODS_D_PROVINCE.PROVINCE_ID, + ODS_D_PROVINCE.PROVINCE, + ODS_D_DIM_DATE.YEAR_1 + + --------------------------------------------------- + 这个就是每个省份 每年的高危孕妇数 + + SELECT + ODS_D_PROVINCE.PROVINCE_ID as province_id, + ODS_D_PROVINCE.PROVINCE as province_name, + ODS_D_DIM_DATE.YEAR_1 as year, + COUNT(ODS_F_GRAVIDA_RECORD.RECORD_ID) as val + FROM + ODS_D_PROVINCE, + ODS_D_DIM_DATE, + ODS_F_GRAVIDA_RECORD, + ODS_F_EXAMINE_HISTORY, + ODS_D_HOSPITAL, + ODS_D_CITY + WHERE + ( ODS_F_GRAVIDA_RECORD.RECORD_ID=ODS_F_EXAMINE_HISTORY.RECORD_ID(+) ) + AND ( ODS_F_GRAVIDA_RECORD.HOSPITAL_NO=ODS_D_HOSPITAL.HOSPITAL_NO ) + AND ( ODS_D_CITY.PROVINCE_ID=ODS_D_PROVINCE.PROVINCE_ID ) + AND ( ODS_F_GRAVIDA_RECORD.INSERT_DATE=ODS_D_DIM_DATE.DATE_1 ) + AND ( ODS_D_HOSPITAL.CITY_ID=ODS_D_CITY.CITY_ID(+) ) + AND + ( + ODS_F_EXAMINE_HISTORY.EXAMINE_HISTORY_NUM = 1 + AND + ODS_F_EXAMINE_HISTORY.HIGH_RISK_FACTOR NOT IN ( '健康','健康,无' ) + ) + AND ODS_D_DIM_DATE.YEAR_1=2016 + GROUP BY + ODS_D_PROVINCE.PROVINCE_ID, + ODS_D_PROVINCE.PROVINCE, + ODS_D_DIM_DATE.YEAR_1 \ No newline at end of file diff --git a/platform-resource/resources/config-dev.properties b/platform-resource/resources/config-dev.properties index 7c81f99..97fb09d 100644 --- a/platform-resource/resources/config-dev.properties +++ b/platform-resource/resources/config-dev.properties @@ -15,3 +15,8 @@ mysql.db.name=platform mysql.db.password=platform123 mysql.driver=com.mysql.jdbc.Driver mysql.jdbcurl=jdbc:mysql://192.168.5.250:3306/platform?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8 + + +report.db.jdbcurl=jdbc:oracle:thin:@192.168.1.32:1521:orcl +report.db.username=LYMS_ODS +report.db.password=Welcome1 diff --git a/platform-resource/resources/config-product.properties b/platform-resource/resources/config-product.properties index 5b34995..f251d66 100644 --- a/platform-resource/resources/config-product.properties +++ b/platform-resource/resources/config-product.properties @@ -31,4 +31,8 @@ token.prefix=member login.typeId=2 -login.token=265a841b-9bb5-434a-8c2b-e78df86fc45d \ No newline at end of file +login.token=265a841b-9bb5-434a-8c2b-e78df86fc45d + +report.db.jdbcurl=jdbc:oracle:thin:@192.168.1.32:1521:orcl +report.db.username=LYMS_ODS +report.db.password=Welcome1 \ No newline at end of file diff --git a/platform-resource/resources/config-test.properties b/platform-resource/resources/config-test.properties index 445a3b6..be67333 100644 --- a/platform-resource/resources/config-test.properties +++ b/platform-resource/resources/config-test.properties @@ -23,3 +23,8 @@ mysql.maxpoolsize=5 mysql.initialpoolsize=2 mysql.minpoolsize=2 redis.servers=localhost:6379 + + +report.db.jdbcurl=jdbc:oracle:thin:@192.168.1.32:1521:orcl +report.db.username=LYMS_ODS +report.db.password=Welcome1 \ No newline at end of file diff --git a/pom.xml b/pom.xml index d552986..b5c961a 100644 --- a/pom.xml +++ b/pom.xml @@ -25,6 +25,7 @@ platform-job-index platform-report-api + platform-reportData -- 1.8.3.1