Commit 4f3b917f authored by 吴霞's avatar 吴霞

导出excel多个sheet

parent 0b292f0b
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=generate org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.compliance=1.5 org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.5 org.eclipse.jdt.core.compiler.source=1.5
...@@ -8,8 +8,6 @@ ...@@ -8,8 +8,6 @@
<artifactId>download</artifactId> <artifactId>download</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
<dependencies> <dependencies>
<!--mybatis核心包 --> <!--mybatis核心包 -->
<dependency> <dependency>
...@@ -60,40 +58,8 @@ ...@@ -60,40 +58,8 @@
<artifactId>poi-excelant</artifactId> <artifactId>poi-excelant</artifactId>
<version>3.11-beta2</version> <version>3.11-beta2</version>
</dependency> </dependency>
<!--<dependency> -->
<!--<groupId>com.huawei.paas.cse</groupId> -->
<!--<artifactId>cse-solution-service-engine</artifactId> -->
<!--<exclusions> -->
<!--<exclusion> -->
<!--<groupId>org.slf4j</groupId> -->
<!--<artifactId>slf4j-log4j12</artifactId> -->
<!--</exclusion> -->
<!--</exclusions> -->
<!--</dependency> -->
<!--<dependency> -->
<!--<groupId>org.apache.servicecomb</groupId> -->
<!--<artifactId>spring-boot-starter-provider</artifactId> -->
<!--</dependency> -->
</dependencies> </dependencies>
<!--<dependencyManagement> -->
<!--<dependencies> -->
<!--<dependency> -->
<!--<groupId>org.apache.servicecomb</groupId> -->
<!--<artifactId>java-chassis-dependencies-springboot2</artifactId> -->
<!--<version>1.1.0.B018</version> -->
<!--<type>pom</type> -->
<!--<scope>import</scope> -->
<!--</dependency> -->
<!--<dependency> -->
<!--<groupId>com.huawei.paas.cse</groupId> -->
<!--<artifactId>cse-dependency</artifactId> -->
<!--<version>2.3.46</version> -->
<!--<type>pom</type> -->
<!--<scope>import</scope> -->
<!--</dependency> -->
<!--</dependencies> -->
<!--</dependencyManagement> -->
<build> <build>
<resources> <resources>
...@@ -104,6 +70,29 @@ ...@@ -104,6 +70,29 @@
</includes> </includes>
</resource> </resource>
</resources> </resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.sict.excel.myExcel</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build> </build>
</project> </project>
\ No newline at end of file
...@@ -67,8 +67,8 @@ public class myExcel { ...@@ -67,8 +67,8 @@ public class myExcel {
HSSFSheet sheet11 = screeningRankQgExcel.getSheet11(workbook); HSSFSheet sheet11 = screeningRankQgExcel.getSheet11(workbook);
workbook.setSheetName(10, "门诊筛查排名-血检人数"); workbook.setSheetName(10, "门诊筛查排名-血检人数");
// FileOutputStream outputStream = new FileOutputStream("E:/2019/excel/GICC+map+data.xls");
FileOutputStream outputStream = new FileOutputStream("E:/2019/excel/GICC+map+data.xls"); FileOutputStream outputStream = new FileOutputStream("/home/gcsvr/excel/GICC+map+data.xls");
workbook.write(outputStream); workbook.write(outputStream);
outputStream.close(); outputStream.close();
} }
......
...@@ -22,7 +22,7 @@ public class ScreeningRankQgExcel { ...@@ -22,7 +22,7 @@ public class ScreeningRankQgExcel {
ExportExcelUtil<ScreeningRankDTO> util = new ExportExcelUtil<ScreeningRankDTO>(); ExportExcelUtil<ScreeningRankDTO> util = new ExportExcelUtil<ScreeningRankDTO>();
String[] columnNames = {"排名","医联体名称","血检人数"}; String[] columnNames = {"排名","医联体名称","血检人数"};
List<ScreeningRankDTO> list = mapper.getScreeningRankDTOs(); List<ScreeningRankDTO> list = mapper.getScreeningRankDTOs();
String path = "E:/2019/excel/" + "门诊筛查排名-血检人数.xls"; //String path = "E:/2019/excel/" + "门诊筛查排名-血检人数.xls";
HSSFSheet sheet = util.exportExcel(workbook,"门诊筛查排名-血检人", columnNames, list, ExportExcelUtil.EXCEl_FILE_2007); HSSFSheet sheet = util.exportExcel(workbook,"门诊筛查排名-血检人", columnNames, list, ExportExcelUtil.EXCEl_FILE_2007);
sqlSession.commit(); sqlSession.commit();
......
...@@ -156,7 +156,7 @@ public class SerumTest { ...@@ -156,7 +156,7 @@ public class SerumTest {
cell112.setCellValue(String.valueOf(shchyyinInteger.intValue()+gecaintInteger.intValue()+qgInteger.intValue())); cell112.setCellValue(String.valueOf(shchyyinInteger.intValue()+gecaintInteger.intValue()+qgInteger.intValue()));
FileOutputStream outputStream = new FileOutputStream("E:/2019/excel/筛查监控-血清学检查.xls"); //FileOutputStream outputStream = new FileOutputStream("E:/2019/excel/筛查监控-血清学检查.xls");
sqlSession.commit(); sqlSession.commit();
shchyy.commit(); shchyy.commit();
......
...@@ -6,66 +6,41 @@ ...@@ -6,66 +6,41 @@
<!-- 筛查监控-血清学检查 --> <!-- 筛查监控-血清学检查 -->
<select id="getSerumStatistics" <select id="getSerumStatistics"
resultType="com.sict.excel.dto.SerumStatisticsDTO"> resultType="com.sict.excel.dto.SerumStatisticsDTO">
SELECT SUM(serumTestTotal) serumTestTotal,SUM(iggPositive)
iggPositive
FROM
(
SELECT
sum( 实际血清检测总人次 ) serumTestTotal,
sum(
HP抗体(IGG)检测阳性总人次 ) iggPositive
FROM
(
(
SELECT SELECT
省份, COUNT(*) serumTestTotal,
医联体编号, count(HP抗体(IGG)检测 = '阳性' OR
医联体名称, NULL) iggPositive
count( * ) from(
实际血清检测总人次,
count( HP抗体(IGG)检测 = '阳性' OR NULL )
HP抗体(IGG)检测阳性总人次
FROM
(
SELECT SELECT
p.id 患者id, p.id 患者id,
rel3.area 省份, p.step step,
rel2.number 医联体编号, CASE rel1.igg
rel2.`name` 医联体名称, WHEN 1
rel1.step 实验室检查调查进度, THEN
rel1.g17 'G-17',
rel1.pg1 'PG-Ⅰ',
rel1.pg2 'PG-Ⅱ',
CASE
rel1.igg
WHEN 1 THEN
'阳性' '阳性'
WHEN 0 THEN WHEN 0 THEN
'阴性' ELSE '' '阴性'
ELSE
''
END HP抗体(IGG)检测, END HP抗体(IGG)检测,
rel1.`status` 审核状态 rel1.`status` 审核状态
FROM FROM
tb_patient AS p tb_patient AS p
RIGHT JOIN ( SELECT patient_id, INNER JOIN (
step, g17, pg1, pg2, igg, `status` FROM SELECT
tb_lab_inspect ) rel1 ON patient_id,
rel1.patient_id = p.id step,
inner JOIN ( SELECT `name`, number FROM tb_hosp igg,
) rel2 ON rel2.number = `status`
p.hosp_number FROM
LEFT JOIN ( SELECT area, `name` tb_lab_inspect
FROM tmp_tb_hosp_area ) rel3 ON ) rel1 ON rel1.patient_id = p.id
rel3.`name` = rel2.`name` INNER JOIN (SELECT
`name`,number FROM tb_hosp )rel2 ON rel2.number = p.hosp_number
WHERE WHERE
rel1.`status` NOT IN ( 0, 5 ) rel1.`status` NOT
) rel IN (0, 5)
GROUP BY )rel
医联体名称
)
) rel
GROUP BY
医联体名称
)result
</select> </select>
...@@ -91,70 +66,56 @@ ...@@ -91,70 +66,56 @@
rel3.area 省份 rel3.area 省份
FROM FROM
tb_patient AS p tb_patient AS p
LEFT JOIN ( SELECT `name`, number FROM tb_hosp ) INNER JOIN ( SELECT `name`, number FROM tb_hosp )
rel1 ON rel1.number = rel1 ON rel1.number =
p.hosp_number p.hosp_number
LEFT JOIN ( SELECT patient_id, step, INNER JOIN ( SELECT patient_id,
step,
g17, pg1, pg2, igg, `status` FROM g17, pg1, pg2, igg, `status` FROM
tb_lab_inspect ) rel2 ON tb_lab_inspect ) rel2 ON
rel2.patient_id = p.id rel2.patient_id = p.id
left JOIN ( SELECT area, `name` FROM INNER JOIN ( SELECT area, `name` FROM
tmp_tb_hosp_area ) rel3 ON tmp_tb_hosp_area ) rel3 ON
rel3.`name` = rel1.`name` rel3.`name` = rel1.`name`
WHERE WHERE
rel2.`status` rel2.`status`
NOT IN ( 0, 5 ) AND rel1.number is not null NOT IN ( 0, 5 )
) rel ) rel
GROUP BY GROUP BY
医联体名称 医联体名称
ORDER BY ORDER BY
actualserum DESC ) actual,(select @rownum :=0) result actualserum DESC )
actual,(select @rownum :=0) result
</select> </select>
<!-- 省份早癌排名 --> <!-- 省份早癌排名 -->
<select id="getEarlyCancerRankDTOs" <select id="getEarlyCancerRankDTOs"
resultType="com.sict.excel.dto.EarlyCancerRankDTO"> resultType="com.sict.excel.dto.EarlyCancerRankDTO">
SELECT province,ECamount
FROM
(
SELECT SELECT
省份 as province, 省份 AS province,
count( 最终诊断详情 LIKE '%"b":1%' OR NULL ) count(
+ count( 最终诊断详情 最终诊断详情 LIKE '%"b":1%'
LIKE '%"g":1%' OR NULL ) ECamount OR NULL
) + count(
最终诊断详情 LIKE '%"g":1%'
OR NULL
)
ECamount
FROM FROM
( (
SELECT SELECT
p.id 患者id, p.id 患者id,
rel3.area 省份, rel3.area 省份,
rel1.step 胃镜检查调查进度, rel1.step 胃镜检查调查进度,
CASE
rel1.is_inspect
WHEN 1 THEN
'是'
WHEN
0 THEN
'否' ELSE ''
END 是否胃镜检查,
rel1.inspect_way 胃镜检查方式,
CASE
rel1.capsule
WHEN 1 THEN
'异常'
WHEN 2 THEN
'未见异常' ELSE ''
END 胃镜检查结果,
rel1.precise_way
胃镜精查方式,
CASE
WHEN rel1.diagnose_result = 1 THEN
'异常'
WHEN
rel1.diagnose_result = 2 THEN
'未见明显异常' ELSE ''
END 最终诊断结果,
rel1.diagnose_info 最终诊断详情, rel1.diagnose_info 最终诊断详情,
rel1.STATUS 审核状态 rel1. STATUS 审核状态
FROM FROM
tb_patient p tb_patient p
RIGHT JOIN ( INNER JOIN
(
SELECT SELECT
patient_id, patient_id,
step, step,
...@@ -169,18 +130,33 @@ ...@@ -169,18 +130,33 @@
tb_gastro_inspect tb_gastro_inspect
WHERE WHERE
is_inspect = 1 is_inspect = 1
AND `status` NOT IN ( 0, 5 ) AND `status` NOT IN (0, 5)
) rel1 AND
ON rel1.patient_id = p.id diagnose_result = 1
inner JOIN ( SELECT `name`, number FROM ) rel1 ON rel1.patient_id = p.id
tb_hosp ) rel2 ON rel2.number = INNER JOIN (
p.hosp_number SELECT
left join ( select area, `name`,
`name` from tmp_tb_hosp_area ) rel3 on number
rel3.`name` = rel2.`name` FROM
tb_hosp
) rel2 ON rel2.number = p.hosp_number
LEFT JOIN
(
SELECT
area,
`name`
FROM
tmp_tb_hosp_area
) rel3 ON rel3.`name` =
rel2.`name`
) rel ) rel
GROUP BY GROUP BY
省份 省份
)result
WHERE ECamount>0
ORDER BY ECamount
DESC
</select> </select>
<!-- 运营分析-医院早癌 胃癌数 --> <!-- 运营分析-医院早癌 胃癌数 -->
...@@ -252,7 +228,7 @@ ...@@ -252,7 +228,7 @@
rel3.area rel3.area
FROM FROM
tb_patient p tb_patient p
RIGHT JOIN ( INNER JOIN (
SELECT SELECT
patient_id, patient_id,
step, step,
...@@ -275,7 +251,7 @@ ...@@ -275,7 +251,7 @@
INNER JOIN ( SELECT `name`, number FROM INNER JOIN ( SELECT `name`, number FROM
tb_hosp ) tb_hosp )
rel2 ON rel2.number = p.hosp_number rel2 ON rel2.number = p.hosp_number
LEFT JOIN tmp_tb_hosp_area rel3 ON INNER JOIN tmp_tb_hosp_area rel3 ON
rel2.`name` = rel3.`name` rel2.`name` = rel3.`name`
) rel ) rel
GROUP BY GROUP BY
...@@ -290,7 +266,7 @@ ...@@ -290,7 +266,7 @@
<select id="getAnalysisProvinceDTOs" <select id="getAnalysisProvinceDTOs"
resultType="com.sict.excel.dto.AnalysisProvinceDTO"> resultType="com.sict.excel.dto.AnalysisProvinceDTO">
SELECT SELECT
provinceName as province, provinceName AS province,
SUM(applyHosp) applyHosp, SUM(applyHosp) applyHosp,
SUM(openAccountHosp) openAccountHosp, SUM(openAccountHosp) openAccountHosp,
SUM(applyAccountHosp) SUM(applyAccountHosp)
...@@ -302,7 +278,8 @@ ...@@ -302,7 +278,8 @@
earlyCancer earlyCancer
FROM FROM
( (
(SELECT (
SELECT
provinceName, provinceName,
COUNT(NULL) applyHosp, COUNT(NULL) applyHosp,
COUNT(NULL) COUNT(NULL)
...@@ -311,54 +288,34 @@ ...@@ -311,54 +288,34 @@
COUNT(NULL) COUNT(NULL)
passApplyHosp, passApplyHosp,
COUNT(NULL) platAccountApplyHosp, COUNT(NULL) platAccountApplyHosp,
count( * ) count(*)
provinceScreeningTotal, provinceScreeningTotal,
count( NULL ) earlyCancer count(NULL) earlyCancer
FROM FROM
( (
SELECT SELECT
rel6.area p.id
provinceName, patient_id,
rel3.diagnose_info gastroscopyDetailInfo rel6.area provinceName
FROM FROM
tb_patient p ( SELECT id,step,hosp_number FROM
RIGHT JOIN ( SELECT patient_id,step, `status` FROM tb_lab_inspect tb_patient WHERE step=0) p
WHERE INNER JOIN (
`status` NOT IN ( 0, 5 ) ) rel1 ON rel1.patient_id = p.id SELECT
LEFT number,
JOIN ( SELECT patient_id, step, `status` FROM tb_risk_assess WHERE `name`
`status` NOT IN ( 0, 5 ) ) rel2 ON rel2.patient_id = p.id FROM
AND rel2.step tb_hosp
= rel1.step )
AND rel2.`status` = rel1.`status` rel5 ON rel5.number = p.hosp_number
LEFT JOIN ( LEFT JOIN (
SELECT SELECT
patient_id, area,
step, `name`
diagnose_info,
`status`
FROM FROM
tb_gastro_inspect tmp_tb_hosp_area
WHERE ) rel6 ON rel6.`name` = rel5.`name`
`status` NOT IN ( 0, 5 ) )rel
) rel3 ON rel3.patient_id = p.id
AND rel3.step
= rel2.step
AND rel3.`status` = rel2.`status`
LEFT JOIN ( SELECT
patient_id, step,`status` FROM tb_flup_plan WHERE
`status` NOT IN ( 0,
5 ) ) rel4 ON rel4.patient_id = p.id
AND rel4.step = rel3.step
AND
rel4.`status` = rel3.`status`
INNER JOIN ( SELECT number, `name` FROM
tb_hosp ) rel5 ON rel5.number =
p.hosp_number
LEFT JOIN ( SELECT area,
`name` FROM tmp_tb_hosp_area ) rel6 ON
rel6.`name` = rel5.`name`
) rel
GROUP BY GROUP BY
provinceName provinceName
) )
...@@ -372,13 +329,16 @@ ...@@ -372,13 +329,16 @@
COUNT(NULL) COUNT(NULL)
passApplyHosp, passApplyHosp,
COUNT(NULL) platAccountApplyHosp, COUNT(NULL) platAccountApplyHosp,
count( NULL ) count(NULL)
provinceScreeningTotal, provinceScreeningTotal,
count(gastroscopyDetailInfo LIKE '%"b":1%' OR count(
NULL ) + count( gastroscopyDetailInfo LIKE gastroscopyDetailInfo LIKE '%"b":1%'
'%"g":1%' OR NULL ) OR
earlyCancer NULL
) + count(
gastroscopyDetailInfo LIKE '%"g":1%'
OR NULL
) earlyCancer
FROM FROM
( (
SELECT SELECT
...@@ -387,7 +347,7 @@ ...@@ -387,7 +347,7 @@
gastroscopyDetailInfo gastroscopyDetailInfo
FROM FROM
tb_patient p tb_patient p
RIGHT JOIN ( INNER JOIN (
SELECT SELECT
patient_id, patient_id,
diagnose_info diagnose_info
...@@ -396,14 +356,25 @@ ...@@ -396,14 +356,25 @@
WHERE WHERE
is_inspect = 1 is_inspect = 1
AND `status` NOT AND `status` NOT
IN ( 0, 5 ) IN (0, 5)
AND diagnose_result = 1 AND diagnose_result = 1
) rel1 ON rel1.patient_id = p.id ) rel1 ON rel1.patient_id = p.id
INNER JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number INNER
= JOIN (
SELECT
`name`,
number
FROM
tb_hosp
) rel2 ON rel2.number =
p.hosp_number p.hosp_number
LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) LEFT JOIN (
rel3 ON SELECT
area,
`name`
FROM
tmp_tb_hosp_area
) rel3 ON
rel3.`name` = rel2.`name` rel3.`name` = rel2.`name`
) rel ) rel
GROUP BY GROUP BY
...@@ -420,12 +391,13 @@ ...@@ -420,12 +391,13 @@
COUNT(rel2.area) COUNT(rel2.area)
passApplyHosp, passApplyHosp,
COUNT(NULL) platAccountApplyHosp, COUNT(NULL) platAccountApplyHosp,
count( * ) count(NULL)
provinceScreeningTotal, provinceScreeningTotal,
count( NULL ) earlyCancer count(NULL) earlyCancer
FROM tb_hosp rel1 LEFT FROM
JOIN tmp_tb_hosp_area rel2 ON rel1.`name` = tb_hosp rel1
rel2.`name` INNER
JOIN tmp_tb_hosp_area rel2 ON rel1.`name` = rel2.`name`
GROUP BY GROUP BY
provinceName provinceName
) )
...@@ -438,41 +410,50 @@ ...@@ -438,41 +410,50 @@
COUNT(NULL) applyAccountHosp, COUNT(NULL) applyAccountHosp,
COUNT(NULL) passApplyHosp, COUNT(NULL) passApplyHosp,
COUNT(NULL) platAccountApplyHosp, COUNT(NULL) platAccountApplyHosp,
count( NULL count(NULL) provinceScreeningTotal,
) provinceScreeningTotal, count(NULL) earlyCancer
count( NULL ) earlyCancer
FROM FROM
( (
SELECT SELECT
DISTINCT DISTINCT
rel3.name hospname, rel3. NAME hospname,
rel3.area provinceName rel3.area provinceName
FROM tb_hosp rel1 FROM
LEFT JOIN tb_hosp rel1
(SELECT area FROM tb_user ) rel2 ON rel2.area like INNER JOIN (SELECT area FROM tb_user) rel2 ON rel2.area LIKE
CONCAT('%',rel1.number,'%') CONCAT('%',
LEFT JOIN (SELECT `name`,area FROM rel1.number, '%')
tmp_tb_hosp_area ) rel3 ON rel1.`name` INNER JOIN (
= rel3.name SELECT
WHERE rel2.area is `name`,
area
FROM
tmp_tb_hosp_area
) rel3 ON rel1.`name` = rel3. NAME
WHERE
rel2.area IS
NOT NULL NOT NULL
) rel4 ) rel4
GROUP BY provinceName GROUP BY
provinceName
) )
)result GROUP BY ) result
GROUP BY
result.provinceName result.provinceName
</select> </select>
<!-- 社区筛查排名-血检人数 --> <!-- 社区筛查排名-血检人数 体检筛查排名 门诊筛查排名 -->
<select id="getScreeningRankDTOs" <select id="getScreeningRankDTOs"
resultType="com.sict.excel.dto.ScreeningRankDTO"> resultType="com.sict.excel.dto.ScreeningRankDTO">
SELECT SELECT
(@rownum := @rownum + 1) as (@rownum := @rownum + 1) AS id,
id,hospname,actualserum hospname,
actualserum
FROM FROM
(SELECT (
SELECT
医联体名称 hospname, 医联体名称 hospname,
count( * ) actualserum count(*) actualserum
FROM FROM
( (
SELECT SELECT
...@@ -484,32 +465,45 @@ ...@@ -484,32 +465,45 @@
审核状态 审核状态
FROM FROM
tb_patient AS p tb_patient AS p
LEFT JOIN ( SELECT `name`, number FROM tb_hosp INNER JOIN (
SELECT
`name`,
number
FROM
tb_hosp
) )
rel1 ON rel1.number = rel1 ON rel1.number = p.hosp_number
p.hosp_number INNER JOIN (
LEFT JOIN ( SELECT patient_id, SELECT
patient_id,
step, step,
g17, pg1, pg2, igg, `status` FROM g17,
tb_lab_inspect ) rel2 ON pg1,
rel2.patient_id = p.id pg2,
igg,
`status`
FROM
tb_lab_inspect
) rel2 ON rel2.patient_id =
p.id
WHERE WHERE
rel2.`status` rel2.`status` NOT IN (0, 5)
NOT IN ( 0, 5 ) AND
rel1.number is not null
) rel ) rel
GROUP BY GROUP BY
医联体名称 医联体名称
ORDER BY ORDER BY
actualserum DESC ) actualserum DESC
actual,(select @rownum :=0) result ) actual,
(SELECT @rownum := 0) result
</select> </select>
<!-- 运营分析-图例数据 --> <!-- 运营分析-图例数据 -->
<select id="getAnalysisGraphicDTOs" <select id="getAnalysisGraphicDTOs"
resultType="com.sict.excel.dto.AnalysisGraphicDTO"> resultType="com.sict.excel.dto.AnalysisGraphicDTO">
SELECT SELECT
sum(applyGastricCancerScreeningHosp) sum(
applyGastricCancerScreeningHosp
)
applyGastricCancerScreeningHosp, applyGastricCancerScreeningHosp,
sum(passApplyHosp) passApplyHosp, sum(passApplyHosp) passApplyHosp,
sum(platAccountApplyHosp) platAccountApplyHosp, sum(platAccountApplyHosp) platAccountApplyHosp,
...@@ -518,11 +512,12 @@ ...@@ -518,11 +512,12 @@
FROM FROM
( (
SELECT SELECT
SUM(applyGastricCancerScreeningHosp) SUM(
applyGastricCancerScreeningHosp
)
applyGastricCancerScreeningHosp, applyGastricCancerScreeningHosp,
SUM(passApplyHosp) passApplyHosp, SUM(passApplyHosp) passApplyHosp,
SUM(platAccountApplyHosp) SUM(platAccountApplyHosp) platAccountApplyHosp,
platAccountApplyHosp,
SUM(openAccountHosp) SUM(openAccountHosp)
openAccountHosp openAccountHosp
FROM FROM
...@@ -532,138 +527,93 @@ ...@@ -532,138 +527,93 @@
provinceName, provinceName,
COUNT(NULL) COUNT(NULL)
applyGastricCancerScreeningHosp, applyGastricCancerScreeningHosp,
COUNT(NULL) COUNT(NULL) passApplyHosp,
passApplyHosp,
COUNT(NULL) COUNT(NULL)
platAccountApplyHosp, platAccountApplyHosp,
COUNT(provinceName) COUNT(provinceName) openAccountHosp
openAccountHosp
FROM FROM
( (
SELECT SELECT
DISTINCT rel3.name hospname, DISTINCT
rel3.area rel3. NAME hospname,
provinceName rel3.area provinceName
FROM tb_hosp rel1 FROM
LEFT JOIN (SELECT area FROM tb_user ) tb_hosp rel1
rel2 ON rel2.area like INNER JOIN (SELECT area FROM tb_user) rel2 ON rel2.area LIKE
CONCAT('%',rel1.number,'%') CONCAT('%',
LEFT JOIN (SELECT rel1.number, '%')
`name`,area FROM INNER JOIN (
tmp_tb_hosp_area ) rel3 ON rel1.`name` SELECT
= rel3.name `name`,
WHERE rel2.area is area
FROM
tmp_tb_hosp_area
) rel3 ON rel1.`name` = rel3. NAME
WHERE
rel2.area IS
NOT NULL NOT NULL
) rel4 ) rel4
GROUP BY provinceName GROUP BY
provinceName
) )
UNION UNION
( (
SELECT SELECT
rel2.area rel2.area provinceName,
provinceName,
COUNT(NULL) applyGastricCancerScreeningHosp, COUNT(NULL) applyGastricCancerScreeningHosp,
COUNT(rel2.area) passApplyHosp, COUNT(rel2.area)
passApplyHosp,
COUNT(NULL) platAccountApplyHosp, COUNT(NULL) platAccountApplyHosp,
COUNT(NULL) openAccountHosp COUNT(NULL)
FROM tb_hosp rel1 LEFT JOIN openAccountHosp
tmp_tb_hosp_area rel2 ON rel1.`name` = FROM
rel2.`name` tb_hosp rel1
GROUP BY provinceName INNER JOIN tmp_tb_hosp_area rel2 ON
rel1.`name` = rel2.`name`
GROUP BY
provinceName
) )
)result GROUP BY ) result
GROUP BY
result.provinceName result.provinceName
)result2 ) result2
</select> </select>
<!-- 筛查监控-胃镜检查 --> <!-- 筛查监控-胃镜检查 -->
<select id="getGastroscopeTestDTOs" <select id="getGastroscopeTestDTOs"
resultType="com.sict.excel.dto.GastroscopeTestDTO"> resultType="com.sict.excel.dto.GastroscopeTestDTO">
SELECT SELECT
count( gastroscopyResult = '异常' OR NULL ) sum(actual) actualGastroscope,
actualGastroscope, sum(total)
count( * ) planGastroscope planGastroscope
FROM FROM
( (
(
SELECT SELECT
p.id patientId, COUNT(DISTINCT p2.patient_id) total,
p.`name` patientName, COUNT(NULL) actual
rel6.area provinceName,
CASE
rel1.igg
WHEN 1 THEN
'阳性'
WHEN 0 THEN
'阴性' ELSE ''
END iggDetection,
CASE
rel2.grade
WHEN 1 THEN
'低风险'
WHEN 2 THEN
'中风险'
WHEN 3 THEN
'高风险' ELSE ''
END riskLevel,
CASE
rel3.is_inspect
WHEN 1 THEN
'是'
WHEN 0 THEN
'否' ELSE '否'
END isGastroscopy,
rel3.inspect_way gastroscopyWay,
CASE
rel3.capsule
WHEN 1 THEN
'异常'
WHEN 2
THEN
'未见异常' ELSE ''
END gastroscopyResult,
rel3.precise_way
gastroscopyDetailWay,
CASE
rel3.diagnose_result
WHEN 1 THEN
'异常'
WHEN 2
THEN
'未见明显异常' ELSE ''
END gastroscopyDetailResult,
rel3.diagnose_info
gastroscopyDetailInfo,
rel1.`status` screeningStatus
FROM FROM
tb_patient p tb_patient p1 INNER JOIN tb_risk_assess p2
RIGHT JOIN ( SELECT patient_id, igg, step, `status` FROM ON p1.id = p2.patient_id RIGHT JOIN (SELECT `name`,number FROM tb_hosp
tb_lab_inspect )rel2 ON rel2.number = p1.hosp_number
WHERE `status` NOT IN ( 0, 5 ) ) rel1 ON rel1.patient_id WHERE p2.grade > 1
= p.id AND p2.step = 0
LEFT JOIN ( SELECT patient_id, step, score, grade, `status` FROM )
tb_risk_assess ) rel2 ON rel2.patient_id = p.id UNION
AND rel2.step = (
rel1.step SELECT
AND rel2.`status` = rel1.`status` COUNT(NULL)
LEFT JOIN ( SELECT total,
patient_id, step, is_inspect, inspect_way, capsule, COUNT(p2.capsule) actual
precise_way, FROM
diagnose_result, diagnose_info, `status` FROM tb_patient
tb_gastro_inspect ) rel3 p1 INNER JOIN tb_gastro_inspect p2
ON rel3.patient_id = p.id on p1.id = p2.patient_id RIGHT JOIN
AND rel3.step = rel2.step (SELECT `name`,number FROM tb_hosp )rel2 ON rel2.number =
AND rel3.`status` = p1.hosp_number
rel2.`status` WHERE p2.capsule = 1
INNER JOIN ( SELECT number, `name` FROM tb_hosp ) rel5 ON )
rel5.number = ) rell
p.hosp_number
LEFT JOIN ( SELECT area, `name` FROM
tmp_tb_hosp_area ) rel6 ON
rel6.`name` = rel5.`name`
WHERE
rel2.grade = 2
OR rel2.grade = 3
) rel
</select> </select>
<!-- 诊断结果 --> <!-- 诊断结果 -->
...@@ -717,7 +667,7 @@ ...@@ -717,7 +667,7 @@
auditStatus auditStatus
FROM FROM
tb_patient p tb_patient p
RIGHT JOIN ( INNER JOIN (
SELECT SELECT
patient_id, patient_id,
step, step,
...@@ -737,13 +687,13 @@ ...@@ -737,13 +687,13 @@
AND diagnose_result = 1 AND diagnose_result = 1
) rel1 ON ) rel1 ON
rel1.patient_id = p.id rel1.patient_id = p.id
INNER JOIN (SELECT `name`,number FROM tb_hosp )rel2 ON rel2.number =
p.hosp_number
) rel ) rel
</select> </select>
<select id="getRiskDTOs" resultType="com.sict.excel.dto.RiskDTO"> <select id="getRiskDTOs" resultType="com.sict.excel.dto.RiskDTO">
SELECT SELECT
胃癌患病风险等级 as grade, 胃癌患病风险等级 as grade,
count( * ) total count( * ) total
...@@ -751,7 +701,8 @@ ...@@ -751,7 +701,8 @@
( (
SELECT SELECT
p.id 患者id, p.id 患者id,
rel1.score 胃癌患病风险评分, rel1.score
胃癌患病风险评分,
CASE CASE
rel1.grade rel1.grade
WHEN 1 THEN WHEN 1 THEN
...@@ -763,8 +714,11 @@ ...@@ -763,8 +714,11 @@
END 胃癌患病风险等级 END 胃癌患病风险等级
FROM FROM
tb_patient p tb_patient p
RIGHT JOIN ( SELECT patient_id, score, grade FROM tb_risk_assess ) rel1 ON INNER JOIN ( SELECT
patient_id, score,
grade FROM tb_risk_assess ) rel1 ON
rel1.patient_id = p.id rel1.patient_id = p.id
INNER JOIN (SELECT `name`,number FROM tb_hosp )rel2 ON rel2.number = p.hosp_number
) rel ) rel
GROUP BY GROUP BY
胃癌患病风险等级 胃癌患病风险等级
......
#Generated by Maven Integration for Eclipse #Generated by Maven Integration for Eclipse
#Fri Nov 22 09:15:51 CST 2019 #Fri Nov 29 10:09:37 CST 2019
version=1.0-SNAPSHOT version=1.0-SNAPSHOT
groupId=download groupId=download
m2e.projectName=download m2e.projectName=download
......
...@@ -8,8 +8,6 @@ ...@@ -8,8 +8,6 @@
<artifactId>download</artifactId> <artifactId>download</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
<dependencies> <dependencies>
<!--mybatis核心包 --> <!--mybatis核心包 -->
<dependency> <dependency>
...@@ -60,40 +58,8 @@ ...@@ -60,40 +58,8 @@
<artifactId>poi-excelant</artifactId> <artifactId>poi-excelant</artifactId>
<version>3.11-beta2</version> <version>3.11-beta2</version>
</dependency> </dependency>
<!--<dependency> -->
<!--<groupId>com.huawei.paas.cse</groupId> -->
<!--<artifactId>cse-solution-service-engine</artifactId> -->
<!--<exclusions> -->
<!--<exclusion> -->
<!--<groupId>org.slf4j</groupId> -->
<!--<artifactId>slf4j-log4j12</artifactId> -->
<!--</exclusion> -->
<!--</exclusions> -->
<!--</dependency> -->
<!--<dependency> -->
<!--<groupId>org.apache.servicecomb</groupId> -->
<!--<artifactId>spring-boot-starter-provider</artifactId> -->
<!--</dependency> -->
</dependencies> </dependencies>
<!--<dependencyManagement> -->
<!--<dependencies> -->
<!--<dependency> -->
<!--<groupId>org.apache.servicecomb</groupId> -->
<!--<artifactId>java-chassis-dependencies-springboot2</artifactId> -->
<!--<version>1.1.0.B018</version> -->
<!--<type>pom</type> -->
<!--<scope>import</scope> -->
<!--</dependency> -->
<!--<dependency> -->
<!--<groupId>com.huawei.paas.cse</groupId> -->
<!--<artifactId>cse-dependency</artifactId> -->
<!--<version>2.3.46</version> -->
<!--<type>pom</type> -->
<!--<scope>import</scope> -->
<!--</dependency> -->
<!--</dependencies> -->
<!--</dependencyManagement> -->
<build> <build>
<resources> <resources>
...@@ -104,6 +70,29 @@ ...@@ -104,6 +70,29 @@
</includes> </includes>
</resource> </resource>
</resources> </resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.sict.excel.myExcel</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build> </build>
</project> </project>
\ No newline at end of file
...@@ -6,66 +6,41 @@ ...@@ -6,66 +6,41 @@
<!-- 筛查监控-血清学检查 --> <!-- 筛查监控-血清学检查 -->
<select id="getSerumStatistics" <select id="getSerumStatistics"
resultType="com.sict.excel.dto.SerumStatisticsDTO"> resultType="com.sict.excel.dto.SerumStatisticsDTO">
SELECT SUM(serumTestTotal) serumTestTotal,SUM(iggPositive)
iggPositive
FROM
(
SELECT
sum( 实际血清检测总人次 ) serumTestTotal,
sum(
HP抗体(IGG)检测阳性总人次 ) iggPositive
FROM
(
(
SELECT SELECT
省份, COUNT(*) serumTestTotal,
医联体编号, count(HP抗体(IGG)检测 = '阳性' OR
医联体名称, NULL) iggPositive
count( * ) from(
实际血清检测总人次,
count( HP抗体(IGG)检测 = '阳性' OR NULL )
HP抗体(IGG)检测阳性总人次
FROM
(
SELECT SELECT
p.id 患者id, p.id 患者id,
rel3.area 省份, p.step step,
rel2.number 医联体编号, CASE rel1.igg
rel2.`name` 医联体名称, WHEN 1
rel1.step 实验室检查调查进度, THEN
rel1.g17 'G-17',
rel1.pg1 'PG-Ⅰ',
rel1.pg2 'PG-Ⅱ',
CASE
rel1.igg
WHEN 1 THEN
'阳性' '阳性'
WHEN 0 THEN WHEN 0 THEN
'阴性' ELSE '' '阴性'
ELSE
''
END HP抗体(IGG)检测, END HP抗体(IGG)检测,
rel1.`status` 审核状态 rel1.`status` 审核状态
FROM FROM
tb_patient AS p tb_patient AS p
RIGHT JOIN ( SELECT patient_id, INNER JOIN (
step, g17, pg1, pg2, igg, `status` FROM SELECT
tb_lab_inspect ) rel1 ON patient_id,
rel1.patient_id = p.id step,
inner JOIN ( SELECT `name`, number FROM tb_hosp igg,
) rel2 ON rel2.number = `status`
p.hosp_number FROM
LEFT JOIN ( SELECT area, `name` tb_lab_inspect
FROM tmp_tb_hosp_area ) rel3 ON ) rel1 ON rel1.patient_id = p.id
rel3.`name` = rel2.`name` INNER JOIN (SELECT
`name`,number FROM tb_hosp )rel2 ON rel2.number = p.hosp_number
WHERE WHERE
rel1.`status` NOT IN ( 0, 5 ) rel1.`status` NOT
) rel IN (0, 5)
GROUP BY )rel
医联体名称
)
) rel
GROUP BY
医联体名称
)result
</select> </select>
...@@ -91,70 +66,56 @@ ...@@ -91,70 +66,56 @@
rel3.area 省份 rel3.area 省份
FROM FROM
tb_patient AS p tb_patient AS p
LEFT JOIN ( SELECT `name`, number FROM tb_hosp ) INNER JOIN ( SELECT `name`, number FROM tb_hosp )
rel1 ON rel1.number = rel1 ON rel1.number =
p.hosp_number p.hosp_number
LEFT JOIN ( SELECT patient_id, step, INNER JOIN ( SELECT patient_id,
step,
g17, pg1, pg2, igg, `status` FROM g17, pg1, pg2, igg, `status` FROM
tb_lab_inspect ) rel2 ON tb_lab_inspect ) rel2 ON
rel2.patient_id = p.id rel2.patient_id = p.id
left JOIN ( SELECT area, `name` FROM INNER JOIN ( SELECT area, `name` FROM
tmp_tb_hosp_area ) rel3 ON tmp_tb_hosp_area ) rel3 ON
rel3.`name` = rel1.`name` rel3.`name` = rel1.`name`
WHERE WHERE
rel2.`status` rel2.`status`
NOT IN ( 0, 5 ) AND rel1.number is not null NOT IN ( 0, 5 )
) rel ) rel
GROUP BY GROUP BY
医联体名称 医联体名称
ORDER BY ORDER BY
actualserum DESC ) actual,(select @rownum :=0) result actualserum DESC )
actual,(select @rownum :=0) result
</select> </select>
<!-- 省份早癌排名 --> <!-- 省份早癌排名 -->
<select id="getEarlyCancerRankDTOs" <select id="getEarlyCancerRankDTOs"
resultType="com.sict.excel.dto.EarlyCancerRankDTO"> resultType="com.sict.excel.dto.EarlyCancerRankDTO">
SELECT province,ECamount
FROM
(
SELECT SELECT
省份 as province, 省份 AS province,
count( 最终诊断详情 LIKE '%"b":1%' OR NULL ) count(
+ count( 最终诊断详情 最终诊断详情 LIKE '%"b":1%'
LIKE '%"g":1%' OR NULL ) ECamount OR NULL
) + count(
最终诊断详情 LIKE '%"g":1%'
OR NULL
)
ECamount
FROM FROM
( (
SELECT SELECT
p.id 患者id, p.id 患者id,
rel3.area 省份, rel3.area 省份,
rel1.step 胃镜检查调查进度, rel1.step 胃镜检查调查进度,
CASE
rel1.is_inspect
WHEN 1 THEN
'是'
WHEN
0 THEN
'否' ELSE ''
END 是否胃镜检查,
rel1.inspect_way 胃镜检查方式,
CASE
rel1.capsule
WHEN 1 THEN
'异常'
WHEN 2 THEN
'未见异常' ELSE ''
END 胃镜检查结果,
rel1.precise_way
胃镜精查方式,
CASE
WHEN rel1.diagnose_result = 1 THEN
'异常'
WHEN
rel1.diagnose_result = 2 THEN
'未见明显异常' ELSE ''
END 最终诊断结果,
rel1.diagnose_info 最终诊断详情, rel1.diagnose_info 最终诊断详情,
rel1.STATUS 审核状态 rel1. STATUS 审核状态
FROM FROM
tb_patient p tb_patient p
RIGHT JOIN ( INNER JOIN
(
SELECT SELECT
patient_id, patient_id,
step, step,
...@@ -169,18 +130,33 @@ ...@@ -169,18 +130,33 @@
tb_gastro_inspect tb_gastro_inspect
WHERE WHERE
is_inspect = 1 is_inspect = 1
AND `status` NOT IN ( 0, 5 ) AND `status` NOT IN (0, 5)
) rel1 AND
ON rel1.patient_id = p.id diagnose_result = 1
inner JOIN ( SELECT `name`, number FROM ) rel1 ON rel1.patient_id = p.id
tb_hosp ) rel2 ON rel2.number = INNER JOIN (
p.hosp_number SELECT
left join ( select area, `name`,
`name` from tmp_tb_hosp_area ) rel3 on number
rel3.`name` = rel2.`name` FROM
tb_hosp
) rel2 ON rel2.number = p.hosp_number
LEFT JOIN
(
SELECT
area,
`name`
FROM
tmp_tb_hosp_area
) rel3 ON rel3.`name` =
rel2.`name`
) rel ) rel
GROUP BY GROUP BY
省份 省份
)result
WHERE ECamount>0
ORDER BY ECamount
DESC
</select> </select>
<!-- 运营分析-医院早癌 胃癌数 --> <!-- 运营分析-医院早癌 胃癌数 -->
...@@ -252,7 +228,7 @@ ...@@ -252,7 +228,7 @@
rel3.area rel3.area
FROM FROM
tb_patient p tb_patient p
RIGHT JOIN ( INNER JOIN (
SELECT SELECT
patient_id, patient_id,
step, step,
...@@ -275,7 +251,7 @@ ...@@ -275,7 +251,7 @@
INNER JOIN ( SELECT `name`, number FROM INNER JOIN ( SELECT `name`, number FROM
tb_hosp ) tb_hosp )
rel2 ON rel2.number = p.hosp_number rel2 ON rel2.number = p.hosp_number
LEFT JOIN tmp_tb_hosp_area rel3 ON INNER JOIN tmp_tb_hosp_area rel3 ON
rel2.`name` = rel3.`name` rel2.`name` = rel3.`name`
) rel ) rel
GROUP BY GROUP BY
...@@ -290,7 +266,7 @@ ...@@ -290,7 +266,7 @@
<select id="getAnalysisProvinceDTOs" <select id="getAnalysisProvinceDTOs"
resultType="com.sict.excel.dto.AnalysisProvinceDTO"> resultType="com.sict.excel.dto.AnalysisProvinceDTO">
SELECT SELECT
provinceName as province, provinceName AS province,
SUM(applyHosp) applyHosp, SUM(applyHosp) applyHosp,
SUM(openAccountHosp) openAccountHosp, SUM(openAccountHosp) openAccountHosp,
SUM(applyAccountHosp) SUM(applyAccountHosp)
...@@ -302,7 +278,8 @@ ...@@ -302,7 +278,8 @@
earlyCancer earlyCancer
FROM FROM
( (
(SELECT (
SELECT
provinceName, provinceName,
COUNT(NULL) applyHosp, COUNT(NULL) applyHosp,
COUNT(NULL) COUNT(NULL)
...@@ -311,54 +288,34 @@ ...@@ -311,54 +288,34 @@
COUNT(NULL) COUNT(NULL)
passApplyHosp, passApplyHosp,
COUNT(NULL) platAccountApplyHosp, COUNT(NULL) platAccountApplyHosp,
count( * ) count(*)
provinceScreeningTotal, provinceScreeningTotal,
count( NULL ) earlyCancer count(NULL) earlyCancer
FROM FROM
( (
SELECT SELECT
rel6.area p.id
provinceName, patient_id,
rel3.diagnose_info gastroscopyDetailInfo rel6.area provinceName
FROM FROM
tb_patient p ( SELECT id,step,hosp_number FROM
RIGHT JOIN ( SELECT patient_id,step, `status` FROM tb_lab_inspect tb_patient WHERE step=0) p
WHERE INNER JOIN (
`status` NOT IN ( 0, 5 ) ) rel1 ON rel1.patient_id = p.id SELECT
LEFT number,
JOIN ( SELECT patient_id, step, `status` FROM tb_risk_assess WHERE `name`
`status` NOT IN ( 0, 5 ) ) rel2 ON rel2.patient_id = p.id FROM
AND rel2.step tb_hosp
= rel1.step )
AND rel2.`status` = rel1.`status` rel5 ON rel5.number = p.hosp_number
LEFT JOIN ( LEFT JOIN (
SELECT SELECT
patient_id, area,
step, `name`
diagnose_info,
`status`
FROM FROM
tb_gastro_inspect tmp_tb_hosp_area
WHERE ) rel6 ON rel6.`name` = rel5.`name`
`status` NOT IN ( 0, 5 ) )rel
) rel3 ON rel3.patient_id = p.id
AND rel3.step
= rel2.step
AND rel3.`status` = rel2.`status`
LEFT JOIN ( SELECT
patient_id, step,`status` FROM tb_flup_plan WHERE
`status` NOT IN ( 0,
5 ) ) rel4 ON rel4.patient_id = p.id
AND rel4.step = rel3.step
AND
rel4.`status` = rel3.`status`
INNER JOIN ( SELECT number, `name` FROM
tb_hosp ) rel5 ON rel5.number =
p.hosp_number
LEFT JOIN ( SELECT area,
`name` FROM tmp_tb_hosp_area ) rel6 ON
rel6.`name` = rel5.`name`
) rel
GROUP BY GROUP BY
provinceName provinceName
) )
...@@ -372,13 +329,16 @@ ...@@ -372,13 +329,16 @@
COUNT(NULL) COUNT(NULL)
passApplyHosp, passApplyHosp,
COUNT(NULL) platAccountApplyHosp, COUNT(NULL) platAccountApplyHosp,
count( NULL ) count(NULL)
provinceScreeningTotal, provinceScreeningTotal,
count(gastroscopyDetailInfo LIKE '%"b":1%' OR count(
NULL ) + count( gastroscopyDetailInfo LIKE gastroscopyDetailInfo LIKE '%"b":1%'
'%"g":1%' OR NULL ) OR
earlyCancer NULL
) + count(
gastroscopyDetailInfo LIKE '%"g":1%'
OR NULL
) earlyCancer
FROM FROM
( (
SELECT SELECT
...@@ -387,7 +347,7 @@ ...@@ -387,7 +347,7 @@
gastroscopyDetailInfo gastroscopyDetailInfo
FROM FROM
tb_patient p tb_patient p
RIGHT JOIN ( INNER JOIN (
SELECT SELECT
patient_id, patient_id,
diagnose_info diagnose_info
...@@ -396,14 +356,25 @@ ...@@ -396,14 +356,25 @@
WHERE WHERE
is_inspect = 1 is_inspect = 1
AND `status` NOT AND `status` NOT
IN ( 0, 5 ) IN (0, 5)
AND diagnose_result = 1 AND diagnose_result = 1
) rel1 ON rel1.patient_id = p.id ) rel1 ON rel1.patient_id = p.id
INNER JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number INNER
= JOIN (
SELECT
`name`,
number
FROM
tb_hosp
) rel2 ON rel2.number =
p.hosp_number p.hosp_number
LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) LEFT JOIN (
rel3 ON SELECT
area,
`name`
FROM
tmp_tb_hosp_area
) rel3 ON
rel3.`name` = rel2.`name` rel3.`name` = rel2.`name`
) rel ) rel
GROUP BY GROUP BY
...@@ -420,12 +391,13 @@ ...@@ -420,12 +391,13 @@
COUNT(rel2.area) COUNT(rel2.area)
passApplyHosp, passApplyHosp,
COUNT(NULL) platAccountApplyHosp, COUNT(NULL) platAccountApplyHosp,
count( * ) count(NULL)
provinceScreeningTotal, provinceScreeningTotal,
count( NULL ) earlyCancer count(NULL) earlyCancer
FROM tb_hosp rel1 LEFT FROM
JOIN tmp_tb_hosp_area rel2 ON rel1.`name` = tb_hosp rel1
rel2.`name` INNER
JOIN tmp_tb_hosp_area rel2 ON rel1.`name` = rel2.`name`
GROUP BY GROUP BY
provinceName provinceName
) )
...@@ -438,41 +410,50 @@ ...@@ -438,41 +410,50 @@
COUNT(NULL) applyAccountHosp, COUNT(NULL) applyAccountHosp,
COUNT(NULL) passApplyHosp, COUNT(NULL) passApplyHosp,
COUNT(NULL) platAccountApplyHosp, COUNT(NULL) platAccountApplyHosp,
count( NULL count(NULL) provinceScreeningTotal,
) provinceScreeningTotal, count(NULL) earlyCancer
count( NULL ) earlyCancer
FROM FROM
( (
SELECT SELECT
DISTINCT DISTINCT
rel3.name hospname, rel3. NAME hospname,
rel3.area provinceName rel3.area provinceName
FROM tb_hosp rel1 FROM
LEFT JOIN tb_hosp rel1
(SELECT area FROM tb_user ) rel2 ON rel2.area like INNER JOIN (SELECT area FROM tb_user) rel2 ON rel2.area LIKE
CONCAT('%',rel1.number,'%') CONCAT('%',
LEFT JOIN (SELECT `name`,area FROM rel1.number, '%')
tmp_tb_hosp_area ) rel3 ON rel1.`name` INNER JOIN (
= rel3.name SELECT
WHERE rel2.area is `name`,
area
FROM
tmp_tb_hosp_area
) rel3 ON rel1.`name` = rel3. NAME
WHERE
rel2.area IS
NOT NULL NOT NULL
) rel4 ) rel4
GROUP BY provinceName GROUP BY
provinceName
) )
)result GROUP BY ) result
GROUP BY
result.provinceName result.provinceName
</select> </select>
<!-- 社区筛查排名-血检人数 --> <!-- 社区筛查排名-血检人数 体检筛查排名 门诊筛查排名 -->
<select id="getScreeningRankDTOs" <select id="getScreeningRankDTOs"
resultType="com.sict.excel.dto.ScreeningRankDTO"> resultType="com.sict.excel.dto.ScreeningRankDTO">
SELECT SELECT
(@rownum := @rownum + 1) as (@rownum := @rownum + 1) AS id,
id,hospname,actualserum hospname,
actualserum
FROM FROM
(SELECT (
SELECT
医联体名称 hospname, 医联体名称 hospname,
count( * ) actualserum count(*) actualserum
FROM FROM
( (
SELECT SELECT
...@@ -484,32 +465,45 @@ ...@@ -484,32 +465,45 @@
审核状态 审核状态
FROM FROM
tb_patient AS p tb_patient AS p
LEFT JOIN ( SELECT `name`, number FROM tb_hosp INNER JOIN (
SELECT
`name`,
number
FROM
tb_hosp
) )
rel1 ON rel1.number = rel1 ON rel1.number = p.hosp_number
p.hosp_number INNER JOIN (
LEFT JOIN ( SELECT patient_id, SELECT
patient_id,
step, step,
g17, pg1, pg2, igg, `status` FROM g17,
tb_lab_inspect ) rel2 ON pg1,
rel2.patient_id = p.id pg2,
igg,
`status`
FROM
tb_lab_inspect
) rel2 ON rel2.patient_id =
p.id
WHERE WHERE
rel2.`status` rel2.`status` NOT IN (0, 5)
NOT IN ( 0, 5 ) AND
rel1.number is not null
) rel ) rel
GROUP BY GROUP BY
医联体名称 医联体名称
ORDER BY ORDER BY
actualserum DESC ) actualserum DESC
actual,(select @rownum :=0) result ) actual,
(SELECT @rownum := 0) result
</select> </select>
<!-- 运营分析-图例数据 --> <!-- 运营分析-图例数据 -->
<select id="getAnalysisGraphicDTOs" <select id="getAnalysisGraphicDTOs"
resultType="com.sict.excel.dto.AnalysisGraphicDTO"> resultType="com.sict.excel.dto.AnalysisGraphicDTO">
SELECT SELECT
sum(applyGastricCancerScreeningHosp) sum(
applyGastricCancerScreeningHosp
)
applyGastricCancerScreeningHosp, applyGastricCancerScreeningHosp,
sum(passApplyHosp) passApplyHosp, sum(passApplyHosp) passApplyHosp,
sum(platAccountApplyHosp) platAccountApplyHosp, sum(platAccountApplyHosp) platAccountApplyHosp,
...@@ -518,11 +512,12 @@ ...@@ -518,11 +512,12 @@
FROM FROM
( (
SELECT SELECT
SUM(applyGastricCancerScreeningHosp) SUM(
applyGastricCancerScreeningHosp
)
applyGastricCancerScreeningHosp, applyGastricCancerScreeningHosp,
SUM(passApplyHosp) passApplyHosp, SUM(passApplyHosp) passApplyHosp,
SUM(platAccountApplyHosp) SUM(platAccountApplyHosp) platAccountApplyHosp,
platAccountApplyHosp,
SUM(openAccountHosp) SUM(openAccountHosp)
openAccountHosp openAccountHosp
FROM FROM
...@@ -532,138 +527,93 @@ ...@@ -532,138 +527,93 @@
provinceName, provinceName,
COUNT(NULL) COUNT(NULL)
applyGastricCancerScreeningHosp, applyGastricCancerScreeningHosp,
COUNT(NULL) COUNT(NULL) passApplyHosp,
passApplyHosp,
COUNT(NULL) COUNT(NULL)
platAccountApplyHosp, platAccountApplyHosp,
COUNT(provinceName) COUNT(provinceName) openAccountHosp
openAccountHosp
FROM FROM
( (
SELECT SELECT
DISTINCT rel3.name hospname, DISTINCT
rel3.area rel3. NAME hospname,
provinceName rel3.area provinceName
FROM tb_hosp rel1 FROM
LEFT JOIN (SELECT area FROM tb_user ) tb_hosp rel1
rel2 ON rel2.area like INNER JOIN (SELECT area FROM tb_user) rel2 ON rel2.area LIKE
CONCAT('%',rel1.number,'%') CONCAT('%',
LEFT JOIN (SELECT rel1.number, '%')
`name`,area FROM INNER JOIN (
tmp_tb_hosp_area ) rel3 ON rel1.`name` SELECT
= rel3.name `name`,
WHERE rel2.area is area
FROM
tmp_tb_hosp_area
) rel3 ON rel1.`name` = rel3. NAME
WHERE
rel2.area IS
NOT NULL NOT NULL
) rel4 ) rel4
GROUP BY provinceName GROUP BY
provinceName
) )
UNION UNION
( (
SELECT SELECT
rel2.area rel2.area provinceName,
provinceName,
COUNT(NULL) applyGastricCancerScreeningHosp, COUNT(NULL) applyGastricCancerScreeningHosp,
COUNT(rel2.area) passApplyHosp, COUNT(rel2.area)
passApplyHosp,
COUNT(NULL) platAccountApplyHosp, COUNT(NULL) platAccountApplyHosp,
COUNT(NULL) openAccountHosp COUNT(NULL)
FROM tb_hosp rel1 LEFT JOIN openAccountHosp
tmp_tb_hosp_area rel2 ON rel1.`name` = FROM
rel2.`name` tb_hosp rel1
GROUP BY provinceName INNER JOIN tmp_tb_hosp_area rel2 ON
rel1.`name` = rel2.`name`
GROUP BY
provinceName
) )
)result GROUP BY ) result
GROUP BY
result.provinceName result.provinceName
)result2 ) result2
</select> </select>
<!-- 筛查监控-胃镜检查 --> <!-- 筛查监控-胃镜检查 -->
<select id="getGastroscopeTestDTOs" <select id="getGastroscopeTestDTOs"
resultType="com.sict.excel.dto.GastroscopeTestDTO"> resultType="com.sict.excel.dto.GastroscopeTestDTO">
SELECT SELECT
count( gastroscopyResult = '异常' OR NULL ) sum(actual) actualGastroscope,
actualGastroscope, sum(total)
count( * ) planGastroscope planGastroscope
FROM FROM
( (
(
SELECT SELECT
p.id patientId, COUNT(DISTINCT p2.patient_id) total,
p.`name` patientName, COUNT(NULL) actual
rel6.area provinceName,
CASE
rel1.igg
WHEN 1 THEN
'阳性'
WHEN 0 THEN
'阴性' ELSE ''
END iggDetection,
CASE
rel2.grade
WHEN 1 THEN
'低风险'
WHEN 2 THEN
'中风险'
WHEN 3 THEN
'高风险' ELSE ''
END riskLevel,
CASE
rel3.is_inspect
WHEN 1 THEN
'是'
WHEN 0 THEN
'否' ELSE '否'
END isGastroscopy,
rel3.inspect_way gastroscopyWay,
CASE
rel3.capsule
WHEN 1 THEN
'异常'
WHEN 2
THEN
'未见异常' ELSE ''
END gastroscopyResult,
rel3.precise_way
gastroscopyDetailWay,
CASE
rel3.diagnose_result
WHEN 1 THEN
'异常'
WHEN 2
THEN
'未见明显异常' ELSE ''
END gastroscopyDetailResult,
rel3.diagnose_info
gastroscopyDetailInfo,
rel1.`status` screeningStatus
FROM FROM
tb_patient p tb_patient p1 INNER JOIN tb_risk_assess p2
RIGHT JOIN ( SELECT patient_id, igg, step, `status` FROM ON p1.id = p2.patient_id RIGHT JOIN (SELECT `name`,number FROM tb_hosp
tb_lab_inspect )rel2 ON rel2.number = p1.hosp_number
WHERE `status` NOT IN ( 0, 5 ) ) rel1 ON rel1.patient_id WHERE p2.grade > 1
= p.id AND p2.step = 0
LEFT JOIN ( SELECT patient_id, step, score, grade, `status` FROM )
tb_risk_assess ) rel2 ON rel2.patient_id = p.id UNION
AND rel2.step = (
rel1.step SELECT
AND rel2.`status` = rel1.`status` COUNT(NULL)
LEFT JOIN ( SELECT total,
patient_id, step, is_inspect, inspect_way, capsule, COUNT(p2.capsule) actual
precise_way, FROM
diagnose_result, diagnose_info, `status` FROM tb_patient
tb_gastro_inspect ) rel3 p1 INNER JOIN tb_gastro_inspect p2
ON rel3.patient_id = p.id on p1.id = p2.patient_id RIGHT JOIN
AND rel3.step = rel2.step (SELECT `name`,number FROM tb_hosp )rel2 ON rel2.number =
AND rel3.`status` = p1.hosp_number
rel2.`status` WHERE p2.capsule = 1
INNER JOIN ( SELECT number, `name` FROM tb_hosp ) rel5 ON )
rel5.number = ) rell
p.hosp_number
LEFT JOIN ( SELECT area, `name` FROM
tmp_tb_hosp_area ) rel6 ON
rel6.`name` = rel5.`name`
WHERE
rel2.grade = 2
OR rel2.grade = 3
) rel
</select> </select>
<!-- 诊断结果 --> <!-- 诊断结果 -->
...@@ -717,7 +667,7 @@ ...@@ -717,7 +667,7 @@
auditStatus auditStatus
FROM FROM
tb_patient p tb_patient p
RIGHT JOIN ( INNER JOIN (
SELECT SELECT
patient_id, patient_id,
step, step,
...@@ -737,13 +687,13 @@ ...@@ -737,13 +687,13 @@
AND diagnose_result = 1 AND diagnose_result = 1
) rel1 ON ) rel1 ON
rel1.patient_id = p.id rel1.patient_id = p.id
INNER JOIN (SELECT `name`,number FROM tb_hosp )rel2 ON rel2.number =
p.hosp_number
) rel ) rel
</select> </select>
<select id="getRiskDTOs" resultType="com.sict.excel.dto.RiskDTO"> <select id="getRiskDTOs" resultType="com.sict.excel.dto.RiskDTO">
SELECT SELECT
胃癌患病风险等级 as grade, 胃癌患病风险等级 as grade,
count( * ) total count( * ) total
...@@ -751,7 +701,8 @@ ...@@ -751,7 +701,8 @@
( (
SELECT SELECT
p.id 患者id, p.id 患者id,
rel1.score 胃癌患病风险评分, rel1.score
胃癌患病风险评分,
CASE CASE
rel1.grade rel1.grade
WHEN 1 THEN WHEN 1 THEN
...@@ -763,8 +714,11 @@ ...@@ -763,8 +714,11 @@
END 胃癌患病风险等级 END 胃癌患病风险等级
FROM FROM
tb_patient p tb_patient p
RIGHT JOIN ( SELECT patient_id, score, grade FROM tb_risk_assess ) rel1 ON INNER JOIN ( SELECT
patient_id, score,
grade FROM tb_risk_assess ) rel1 ON
rel1.patient_id = p.id rel1.patient_id = p.id
INNER JOIN (SELECT `name`,number FROM tb_hosp )rel2 ON rel2.number = p.hosp_number
) rel ) rel
GROUP BY GROUP BY
胃癌患病风险等级 胃癌患病风险等级
......
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>download</groupId>
<artifactId>download</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-shade-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer>
<mainClass>com.sict.excel.myExcel</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
#Generated by Maven
#Mon Nov 25 15:12:19 CST 2019
version=1.0-SNAPSHOT
groupId=download
artifactId=download
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\test\ScreeningRankGecaExcel.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\dto\GastroscopeTestDTO.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\dto\EarlyCancerHospitalDTO.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\dto\EarlyCancerRankDTO.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\mapper\DownloadMapper.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\test\TestExportExcel.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\utils\SqlSessionUtil.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\dto\HpPositiveDTO.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\dto\AnalysisGraphicDTO.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\test\SerumTest.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\dto\RiskDTO.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\myExcel.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\test\AnalysisHospitalEarlyCancerExcel.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\test\Diagnosis.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\dto\ScreeningRankDTO.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\test\ProvinceEarlyCancerRankExcel.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\utils\ExportExcelUtil.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\test\GastroscopeTest.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\test\AnalysisProvinceExcel.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\test\AnalysisGraphicExcel.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\dto\SerumStatisticsDTO.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\test\ScreeningRankQgExcel.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\test\ScreeningRankShchyyExcel.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\dto\AnalysisProvinceDTO.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\bo\AnalysisGraphicBO.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\dto\Student.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\dto\DiagnosisDTO.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\test\ScreeningRankProvinceExcel.java
E:\BIGDATA\HadoopSpace\download\src\main\java\com\sict\excel\dto\ScreeningRankProvinceDTO.java
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment