Commit 56c5e373 authored by 吴霞's avatar 吴霞

增加英文医联体

parent 4eeca8b8
......@@ -24,6 +24,12 @@
<lombok.version>LATEST</lombok.version>
<hutool.version>LATEST</hutool.version>
<fastjson.version>LATEST</fastjson.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<cse.version>2.3.47</cse.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<demo.main>com.sict.data.DataPlatApplication</demo.main>
</properties>
<dependencies>
......@@ -136,6 +142,21 @@
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
......@@ -4,6 +4,7 @@ import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.web.bind.annotation.CrossOrigin;
/**
* @description
......@@ -15,6 +16,7 @@ import org.springframework.cache.annotation.EnableCaching;
@EnableCaching
@SpringBootApplication
@MapperScan(basePackages = "com.sict.data.mapper")
@CrossOrigin("*")
public class DataPlatApplication {
public static void main(String[] args) {
......
......@@ -25,11 +25,9 @@ public class CorsFilterConfig {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true);
ArrayList<String> objects = new ArrayList<>();
objects.add("*");
config.setAllowedOrigins(objects);
config.setAllowedHeaders(objects);
config.setAllowedMethods(objects);
config.addAllowedOrigin("*"); // 1允许任何域名使用
config.addAllowedHeader("*"); // 2允许任何头
config.addAllowedMethod("*"); // 3允许任何方法(po
// source.registerCorsConfiguration("/**", config);
Map<String, CorsConfiguration> corsConfigurations = new HashMap<>(1);
corsConfigurations.put("/**", config);
......
......@@ -24,6 +24,23 @@ public class DataPlatController {
private final IDataPlatService dataPlatService;
/**
* @description 获取各医联体下筛查人数排行榜(取前30个医联体英文)
*
* @author Jxy
* @date 13:55 2019/10/17
* @return com.sict.data.dto.ScreeningDTO
*/
@GetMapping("/screening/rank/en")
public MsgEnum getScreeningRankEn() {
try {
return ResponseUtil.success(dataPlatService.getScreeningRankEn());
} catch (Exception e) {
log.error("获取各医联体下筛查人数排行榜失败。错误信息:【{}】,错误详情:【{}】", e.toString(), e.getMessage());
return ResponseUtil.error(e.toString(), "获取各医联体下筛查人数排行榜失败!");
}
}
/**
* @description 获取各医联体下筛查人数排行榜(取前30个医联体)
*
......@@ -40,7 +57,7 @@ public class DataPlatController {
return ResponseUtil.error(e.toString(), "获取各医联体下筛查人数排行榜失败!");
}
}
/**
* @description 获取血清检测人次统计结果(省份)
*
......
......@@ -23,6 +23,14 @@ public interface DataPlatMapper extends BaseMapper<DataPlat> {
*/
List<HospScreeningDTO> getHospScreeningRank();
/**
* 获取各医联体下筛查人数排行榜(取前30个医联体english)
* @author Jxy
* @return java.util.List<com.sict.data.dto.HospScreeningDTO>
*/
List<HospScreeningDTO> getHospScreeningRankEn();
/**
* 获取各省份血清检测人次统计结果
* @author Jxy
......
......@@ -21,6 +21,13 @@ public interface IDataPlatService extends IService<DataPlat> {
*/
List<HospScreeningDTO> getScreeningRank();
/**
* 获取各医联体下筛查人数排行榜(取前30个医联体) 接口
* @author Jxy
* @return java.util.List<com.sict.data.dto.HospScreeningDTO>
*/
List<HospScreeningDTO> getScreeningRankEn();
/**
* 获取血清检测人次统计结果(省份) 接口
* @author Jxy
......
......@@ -48,6 +48,18 @@ public class DataPlatServiceImpl extends ServiceImpl<DataPlatMapper, DataPlat> i
return dtoList.stream().limit(30).collect(Collectors.toList());
}
/**
* 获取各医联体下筛查人数排行榜(取前30个医联体english) 实现
* @author Jxy
*/
@Cacheable(cacheNames = {"getScreeningRankEn"})
@Override
public List<HospScreeningDTO> getScreeningRankEn() {
List<HospScreeningDTO> dtoList = dataPlatMapper.getHospScreeningRankEn();
return dtoList.stream().limit(30).collect(Collectors.toList());
}
/**
* 获取血清检测人次统计结果(省份) 实现
* @author Jxy
......
......@@ -5,7 +5,7 @@ server:
#mysql
spring:
datasource:
url: jdbc:mysql://gicc-db:3306/shchyy?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
url: jdbc:mysql://gicc-db:3306/shchyy_dw?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
username: chyy_demo
password: Waw8DXh3fJJ-
driver-class-name: com.mysql.cj.jdbc.Driver
......
......@@ -18,6 +18,19 @@
timeToIdleSeconds="300"
timeToLiveSeconds="86400"
memoryStoreEvictionPolicy="LRU" />
<cache
name="getScreeningRankEn"
eternal="false"
maxElementsInMemory="10000"
overflowToDisk="false"
diskPersistent="false"
timeToIdleSeconds="300"
timeToLiveSeconds="86400"
memoryStoreEvictionPolicy="LRU" />
<cache
name="getSerumStatistics"
eternal="false"
......
......@@ -110,6 +110,118 @@
ORDER BY
hospScreeningTotal DESC
</select>
<!-- 获取各医联体下筛查人数排行榜 英文-->
<select id="getHospScreeningRankEn" resultType="com.sict.data.dto.HospScreeningDTO">
SELECT
hospNum,
ehospName hospName,
count( * ) hospScreeningTotal,
count( screeningStatus = 1 OR NULL ) hospApplyScreeningTotal
FROM
(
SELECT
p.id patientId,
p.`name` patientName,
rel5.number hospNum,
rel5.name hospName,rel5.ename ehospName,
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,
CASE
rel4.continue_flup
WHEN 1 THEN
'继续随访'
WHEN 0 THEN
'停止随访' ELSE ''
END isContinueFlup,
rel4.content_type planFlupContent,
rel1.`status` screeningStatus
FROM
tb_patient p
RIGHT JOIN ( SELECT patient_id, igg, step, `status` FROM tb_lab_inspect WHERE `status` NOT IN ( 0, 5 ) ) rel1 ON rel1.patient_id = p.id
RIGHT JOIN ( SELECT patient_id, step, score, grade, `status` FROM tb_risk_assess WHERE `status` NOT IN ( 0, 5 ) ) rel2 ON rel2.patient_id = p.id
AND rel2.step = rel1.step
AND rel2.`status` = rel1.`status`
LEFT JOIN (
SELECT
patient_id,
step,
is_inspect,
inspect_way,
capsule,
precise_way,
diagnose_result,
diagnose_info,
`status`
FROM
tb_gastro_inspect
WHERE
`status` NOT IN ( 0, 5 )
) rel3 ON rel3.patient_id = p.id
AND rel3.step = rel2.step
AND rel3.`status` = rel2.`status`
LEFT JOIN ( SELECT patient_id, step, continue_flup, content_type, `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`, ename FROM tb_hosp_en ) rel5 ON rel5.number = p.hosp_number
) rel
GROUP BY
hospName
ORDER BY
hospScreeningTotal DESC
</select>
<!-- 获取各省份血检人次统计结果 -->
<select id="getProvinceSerumStatistics" resultType="com.sict.data.dto.ProvinceSerumDTO">
......
#Generated by Maven Integration for Eclipse
#Wed Nov 06 15:36:26 CST 2019
#Tue Nov 26 13:15:55 CST 2019
version=1.0-SNAPSHOT
groupId=dataplat
m2e.projectName=data-plat
......
......@@ -24,6 +24,12 @@
<lombok.version>LATEST</lombok.version>
<hutool.version>LATEST</hutool.version>
<fastjson.version>LATEST</fastjson.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<cse.version>2.3.47</cse.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<demo.main>com.sict.data.DataPlatApplication</demo.main>
</properties>
<dependencies>
......@@ -136,6 +142,21 @@
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
......@@ -5,7 +5,7 @@ server:
#mysql
spring:
datasource:
url: jdbc:mysql://gicc-db:3306/shchyy?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
url: jdbc:mysql://gicc-db:3306/shchyy_dw?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
username: chyy_demo
password: Waw8DXh3fJJ-
driver-class-name: com.mysql.cj.jdbc.Driver
......
......@@ -18,6 +18,19 @@
timeToIdleSeconds="300"
timeToLiveSeconds="86400"
memoryStoreEvictionPolicy="LRU" />
<cache
name="getScreeningRankEn"
eternal="false"
maxElementsInMemory="10000"
overflowToDisk="false"
diskPersistent="false"
timeToIdleSeconds="300"
timeToLiveSeconds="86400"
memoryStoreEvictionPolicy="LRU" />
<cache
name="getSerumStatistics"
eternal="false"
......
......@@ -110,6 +110,118 @@
ORDER BY
hospScreeningTotal DESC
</select>
<!-- 获取各医联体下筛查人数排行榜 英文-->
<select id="getHospScreeningRankEn" resultType="com.sict.data.dto.HospScreeningDTO">
SELECT
hospNum,
ehospName hospName,
count( * ) hospScreeningTotal,
count( screeningStatus = 1 OR NULL ) hospApplyScreeningTotal
FROM
(
SELECT
p.id patientId,
p.`name` patientName,
rel5.number hospNum,
rel5.name hospName,rel5.ename ehospName,
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,
CASE
rel4.continue_flup
WHEN 1 THEN
'继续随访'
WHEN 0 THEN
'停止随访' ELSE ''
END isContinueFlup,
rel4.content_type planFlupContent,
rel1.`status` screeningStatus
FROM
tb_patient p
RIGHT JOIN ( SELECT patient_id, igg, step, `status` FROM tb_lab_inspect WHERE `status` NOT IN ( 0, 5 ) ) rel1 ON rel1.patient_id = p.id
RIGHT JOIN ( SELECT patient_id, step, score, grade, `status` FROM tb_risk_assess WHERE `status` NOT IN ( 0, 5 ) ) rel2 ON rel2.patient_id = p.id
AND rel2.step = rel1.step
AND rel2.`status` = rel1.`status`
LEFT JOIN (
SELECT
patient_id,
step,
is_inspect,
inspect_way,
capsule,
precise_way,
diagnose_result,
diagnose_info,
`status`
FROM
tb_gastro_inspect
WHERE
`status` NOT IN ( 0, 5 )
) rel3 ON rel3.patient_id = p.id
AND rel3.step = rel2.step
AND rel3.`status` = rel2.`status`
LEFT JOIN ( SELECT patient_id, step, continue_flup, content_type, `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`, ename FROM tb_hosp_en ) rel5 ON rel5.number = p.hosp_number
) rel
GROUP BY
hospName
ORDER BY
hospScreeningTotal DESC
</select>
<!-- 获取各省份血检人次统计结果 -->
<select id="getProvinceSerumStatistics" resultType="com.sict.data.dto.ProvinceSerumDTO">
......
#Created by Apache Maven 3.5.3
version=1.0-SNAPSHOT
groupId=dataplat
artifactId=dataplat
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\utils\ResponseUtil.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\config\CorsFilterConfig.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\dto\ProvinceGastroscopyResultDTO.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\dto\RiskAssessDTO.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\controller\DataPlatController.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\mapper\DataPlatMapper.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\service\impl\DataPlatServiceImpl.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\dto\ProvinceScreeningDTO.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\service\IDataPlatService.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\dto\ComplexResultDTO.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\dto\ProvinceSerumDTO.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\dto\HospScreeningDTO.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\utils\MsgEnum.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\dto\GastroscopyResultDTO.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\dto\HospStatisticsDTO.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\dto\ProvinceGastroscopyDTO.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\DataPlatApplication.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\dto\ScreeningDTO.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\dto\SerumDTO.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\dto\GastroscopyDetailDTO.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\model\DataPlat.java
E:\BIGDATA\HadoopSpace\早筛综合统计页面展示\data-plat\src\main\java\com\sict\data\dto\GastroscopyDTO.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