diff --git a/data-plat/pom.xml b/data-plat/pom.xml index 605360575b272fc488dbfca6517a314decfc1dab..84d234079638b347329ed9e31b29006c5b5adbb3 100644 --- a/data-plat/pom.xml +++ b/data-plat/pom.xml @@ -24,6 +24,12 @@ LATEST LATEST LATEST + + UTF-8 + 2.3.47 + 1.8 + 1.8 + com.sict.data.DataPlatApplication @@ -136,6 +142,21 @@ + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.8 + 1.8 + + + + + org.springframework.boot + spring-boot-maven-plugin + + \ No newline at end of file diff --git a/data-plat/src/main/java/com/sict/data/DataPlatApplication.java b/data-plat/src/main/java/com/sict/data/DataPlatApplication.java index e78079864671a2fabfb9bb7e4c9ba19f4f63986e..b2739ea3714da177c7e46ec15ec1b0c28e8c8b59 100644 --- a/data-plat/src/main/java/com/sict/data/DataPlatApplication.java +++ b/data-plat/src/main/java/com/sict/data/DataPlatApplication.java @@ -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) { diff --git a/data-plat/src/main/java/com/sict/data/config/CorsFilterConfig.java b/data-plat/src/main/java/com/sict/data/config/CorsFilterConfig.java index 0f4d63da40fcbffac4a416f30f754517dbaa2259..c9bd6ddb9a9a970de4fdc47191205131df44b8c1 100644 --- a/data-plat/src/main/java/com/sict/data/config/CorsFilterConfig.java +++ b/data-plat/src/main/java/com/sict/data/config/CorsFilterConfig.java @@ -25,11 +25,9 @@ public class CorsFilterConfig { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); CorsConfiguration config = new CorsConfiguration(); config.setAllowCredentials(true); - ArrayList 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 corsConfigurations = new HashMap<>(1); corsConfigurations.put("/**", config); diff --git a/data-plat/src/main/java/com/sict/data/controller/DataPlatController.java b/data-plat/src/main/java/com/sict/data/controller/DataPlatController.java index c24bb1c400285743b1a243f8a56791264ba130a7..86320bbe834bab21700c96c2e748c19256616c5e 100644 --- a/data-plat/src/main/java/com/sict/data/controller/DataPlatController.java +++ b/data-plat/src/main/java/com/sict/data/controller/DataPlatController.java @@ -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 获取血清检测人次统计结果(省份) * diff --git a/data-plat/src/main/java/com/sict/data/mapper/DataPlatMapper.java b/data-plat/src/main/java/com/sict/data/mapper/DataPlatMapper.java index ee9e048707d8add4c384fc6bc85d44c3ab119446..5dcb8292c56780e597bca5a4285425bdcc8e0e8a 100644 --- a/data-plat/src/main/java/com/sict/data/mapper/DataPlatMapper.java +++ b/data-plat/src/main/java/com/sict/data/mapper/DataPlatMapper.java @@ -23,6 +23,14 @@ public interface DataPlatMapper extends BaseMapper { */ List getHospScreeningRank(); + + /** + * 获取各医联体下筛查人数排行榜(取前30个医联体english) + * @author Jxy + * @return java.util.List + */ + List getHospScreeningRankEn(); + /** * 获取各省份血清检测人次统计结果 * @author Jxy diff --git a/data-plat/src/main/java/com/sict/data/service/IDataPlatService.java b/data-plat/src/main/java/com/sict/data/service/IDataPlatService.java index 6e802a3b70ccade0f143927a172ff9a91894f7f4..9ec5887e42397d293c8567f01f48e01140774b3c 100644 --- a/data-plat/src/main/java/com/sict/data/service/IDataPlatService.java +++ b/data-plat/src/main/java/com/sict/data/service/IDataPlatService.java @@ -21,6 +21,13 @@ public interface IDataPlatService extends IService { */ List getScreeningRank(); + /** + * 获取各医联体下筛查人数排行榜(取前30个医联体) 接口 + * @author Jxy + * @return java.util.List + */ + List getScreeningRankEn(); + /** * 获取血清检测人次统计结果(省份) 接口 * @author Jxy diff --git a/data-plat/src/main/java/com/sict/data/service/impl/DataPlatServiceImpl.java b/data-plat/src/main/java/com/sict/data/service/impl/DataPlatServiceImpl.java index 590fd84b4ee49c41b7fb8a920873d705942596f4..475729c882b4ebdb217207dba67c8acb47d03c4a 100644 --- a/data-plat/src/main/java/com/sict/data/service/impl/DataPlatServiceImpl.java +++ b/data-plat/src/main/java/com/sict/data/service/impl/DataPlatServiceImpl.java @@ -48,6 +48,18 @@ public class DataPlatServiceImpl extends ServiceImpl i return dtoList.stream().limit(30).collect(Collectors.toList()); } + + /** + * 获取各医联体下筛查人数排行榜(取前30个医联体english) 实现 + * @author Jxy + */ + @Cacheable(cacheNames = {"getScreeningRankEn"}) + @Override + public List getScreeningRankEn() { + List dtoList = dataPlatMapper.getHospScreeningRankEn(); + return dtoList.stream().limit(30).collect(Collectors.toList()); + } + /** * 获取血清检测人次统计结果(省份) 实现 * @author Jxy diff --git a/data-plat/src/main/resources/application.yml b/data-plat/src/main/resources/application.yml index 08a6bba319c6e46c7bb6da6c9d5be1c0bba1c095..a0106e498636aafba2c326eb01690a8838d65d13 100644 --- a/data-plat/src/main/resources/application.yml +++ b/data-plat/src/main/resources/application.yml @@ -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 diff --git a/data-plat/src/main/resources/ehcache.xml b/data-plat/src/main/resources/ehcache.xml index 400d3f2ce90ef51958016c3bc59618f2b80f61c3..32155ccee174a246d03aa6fa84762192df4475ad 100644 --- a/data-plat/src/main/resources/ehcache.xml +++ b/data-plat/src/main/resources/ehcache.xml @@ -18,6 +18,19 @@ timeToIdleSeconds="300" timeToLiveSeconds="86400" memoryStoreEvictionPolicy="LRU" /> + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + +