From 8cabe7d8301346b481aef74f3f6a29dbfa335dc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=87=E5=AE=99=E7=9A=AE=E7=9A=AE=E5=A8=83?= <2964346877@qq.com> Date: Wed, 31 Jul 2024 16:59:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=9F=A5=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 5 ++ .../com/docus/server/AppRunBootstrap.java | 2 - .../collection/config/DbMysqlConfig.java | 68 +++++++++++++++++++ .../collection/config/DbSqlserverConfig.java | 48 +++++++++++++ .../controller/MzZyHisController.java | 27 +++++++- .../dto/VJsjWzh7addnjreportDto.java | 28 ++++++++ .../entity/VJsjWzh7addnjreport.java | 39 +++++++++++ .../dao/mapper/TBasicMapper.java | 2 + .../sqlserver/VJsjWzh7addnjreportMapper.java | 21 ++++++ .../collection/service/MzZyHisService.java | 5 ++ .../service/impl/MzZyHisServiceImpl.java | 5 ++ src/main/resources/bootstrap.yml | 34 ++++------ src/main/resources/mapper/TBasicMapper.xml | 4 +- .../sqlserver/VJsjWzh7addnjreportMapper.xml | 26 +++++++ 14 files changed, 287 insertions(+), 27 deletions(-) create mode 100644 src/main/java/com/docus/server/collection/config/DbMysqlConfig.java create mode 100644 src/main/java/com/docus/server/collection/config/DbSqlserverConfig.java create mode 100644 src/main/java/com/docus/server/collection/dto/VJsjWzh7addnjreportDto.java create mode 100644 src/main/java/com/docus/server/collection/entity/VJsjWzh7addnjreport.java create mode 100644 src/main/java/com/docus/server/collection/infrastructure/dao/sqlserver/VJsjWzh7addnjreportMapper.java create mode 100644 src/main/resources/sqlserver/VJsjWzh7addnjreportMapper.xml diff --git a/pom.xml b/pom.xml index bfd690f..920418d 100644 --- a/pom.xml +++ b/pom.xml @@ -87,6 +87,11 @@ 3.4.1 compile + + com.baomidou + mybatis-plus-boot-starter + 3.3.0 + org.apache.velocity velocity-engine-core diff --git a/src/main/java/com/docus/server/AppRunBootstrap.java b/src/main/java/com/docus/server/AppRunBootstrap.java index 69e6003..7506531 100644 --- a/src/main/java/com/docus/server/AppRunBootstrap.java +++ b/src/main/java/com/docus/server/AppRunBootstrap.java @@ -3,7 +3,6 @@ package com.docus.server; import lombok.extern.slf4j.Slf4j; -import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.openfeign.EnableFeignClients; @@ -14,7 +13,6 @@ import org.springframework.jms.annotation.EnableJms; @SpringBootApplication(scanBasePackages ={"com.docus","com.neusoft"}) @EnableJms @EnableFeignClients -@MapperScan("com.docus.server.**.mapper") public class AppRunBootstrap { public static void main(String[] args) { System.setProperty("javax.xml.parsers.DocumentBuilderFactory","com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"); diff --git a/src/main/java/com/docus/server/collection/config/DbMysqlConfig.java b/src/main/java/com/docus/server/collection/config/DbMysqlConfig.java new file mode 100644 index 0000000..0e441ff --- /dev/null +++ b/src/main/java/com/docus/server/collection/config/DbMysqlConfig.java @@ -0,0 +1,68 @@ +package com.docus.server.collection.config; + +import com.alibaba.druid.pool.DruidDataSource; +import com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties; +import com.baomidou.mybatisplus.core.MybatisConfiguration; +import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean; +import org.apache.ibatis.session.SqlSessionFactory; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; +import org.springframework.core.io.support.ResourcePatternResolver; +import org.springframework.jdbc.datasource.DataSourceTransactionManager; + +import javax.sql.DataSource; + + +@Configuration +@MapperScan(basePackages = com.docus.server.collection.config.DbMysqlConfig.PACKAGE, sqlSessionFactoryRef = "dbmysqlSqlSessionFactory") +@EnableConfigurationProperties(MybatisPlusProperties.class) +public class DbMysqlConfig { + // 这里一定要指定精准 否则后果不堪设想 + static final String PACKAGE = "com.docus.server.collection.infrastructure.dao.mapper"; + static final String MAPPER_LOCATION = "classpath:mapper/*.xml"; + + @Bean(name = "dbmysqlDataSource") + @ConfigurationProperties(prefix = "spring.datasource.mysql-docus") + public DataSource secondDataSource(){ + return new DruidDataSource(); + } + + /*注入事务*/ + @Bean(name = "dbmysqlTransactionManager") + public DataSourceTransactionManager secondTransactionManager() { + return new DataSourceTransactionManager(secondDataSource()); + } + + @Bean(name = "dbmysqlSqlSessionFactory") + public SqlSessionFactory secondSqlSessionFactory(@Qualifier("dbmysqlDataSource") DataSource dataSource) + throws Exception { + //配置mybatis-plus源 + MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean(); + //添加XML目录 + ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); + bean.setMapperLocations(resolver.getResources(MAPPER_LOCATION)); + // 实体类别名 + bean.setTypeAliasesPackage("com.docus.server.collection.infrastructure.dao.entity.*"); + MybatisConfiguration configuration = new MybatisConfiguration(); + //开启下划线转驼峰 + configuration.setMapUnderscoreToCamelCase(true); + configuration.setJdbcTypeForNull(JdbcType.NULL); + bean.setDataSource(dataSource); + bean.setConfiguration(configuration); + return bean.getObject(); +// +// final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); +// sessionFactory.setDataSource(secondDataSource); +// sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver() +// .getResources(DbMysqlConfig.MAPPER_LOCATION)); +// return sessionFactory.getObject(); + } + + +} diff --git a/src/main/java/com/docus/server/collection/config/DbSqlserverConfig.java b/src/main/java/com/docus/server/collection/config/DbSqlserverConfig.java new file mode 100644 index 0000000..29f0c74 --- /dev/null +++ b/src/main/java/com/docus/server/collection/config/DbSqlserverConfig.java @@ -0,0 +1,48 @@ +package com.docus.server.collection.config; + +import com.alibaba.druid.pool.DruidDataSource; +import com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties; +import org.apache.ibatis.session.SqlSessionFactory; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; +import org.springframework.jdbc.datasource.DataSourceTransactionManager; + +import javax.sql.DataSource; + +@Configuration +@MapperScan(basePackages = com.docus.server.collection.config.DbSqlserverConfig.PACKAGE, sqlSessionFactoryRef = "dbsqlserverSqlSessionFactory") +@EnableConfigurationProperties(MybatisPlusProperties.class) +public class DbSqlserverConfig { + // 这里一定要指定精准 否则后果不堪设想 + static final String PACKAGE = "com.docus.server.collection.infrastructure.dao.sqlserver"; + static final String MAPPER_LOCATION = "classpath:sqlserver/*.xml"; + + @Bean(name = "dbsqlserverDataSource") + @ConfigurationProperties(prefix = "spring.datasource.sqlserver-docus") + public DataSource secondDataSource(){ + return new DruidDataSource(); + } + + /*注入事务*/ + @Bean(name = "dbsqlserverTransactionManager") + public DataSourceTransactionManager secondTransactionManager() { + return new DataSourceTransactionManager(secondDataSource()); + } + + @Bean(name = "dbsqlserverSqlSessionFactory") + public SqlSessionFactory secondSqlSessionFactory(@Qualifier("dbsqlserverDataSource") DataSource secondDataSource) + throws Exception { + final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); + sessionFactory.setDataSource(secondDataSource); + sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver() + .getResources(com.docus.server.collection.config.DbSqlserverConfig.MAPPER_LOCATION)); + return sessionFactory.getObject(); + } + +} diff --git a/src/main/java/com/docus/server/collection/controller/MzZyHisController.java b/src/main/java/com/docus/server/collection/controller/MzZyHisController.java index 91722f2..341c0b9 100644 --- a/src/main/java/com/docus/server/collection/controller/MzZyHisController.java +++ b/src/main/java/com/docus/server/collection/controller/MzZyHisController.java @@ -7,7 +7,10 @@ import com.docus.infrastructure.web.api.ResultCode; import com.docus.server.collection.converter.FirstPageCheckoutConverter; import com.docus.server.collection.dto.FirstPageCheckoutInDTO; import com.docus.server.collection.dto.FirstPageCheckoutRequest; +import com.docus.server.collection.dto.VJsjWzh7addnjreportDto; +import com.docus.server.collection.entity.VJsjWzh7addnjreport; import com.docus.server.collection.feign.service.MedicalrecordService; +import com.docus.server.collection.infrastructure.dao.sqlserver.VJsjWzh7addnjreportMapper; import com.docus.server.collection.service.MzZyHisService; import com.docus.server.collection.util.PersistRequestUtil; import com.docus.server.collection.validator.RequestValidator; @@ -20,6 +23,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.util.List; @Api("梅州中西HIS相关接口") @Slf4j @@ -32,6 +36,9 @@ public class MzZyHisController { @Resource private MedicalrecordService medicalrecordService; + @Resource + private VJsjWzh7addnjreportMapper vmp; + @ApiOperation("首页签出") @PostMapping("/firstPageCheckout") public CommonResult firstPageCheckout(@RequestBody FirstPageCheckoutRequest firstPageCheckoutRequest, HttpServletRequest servletRequest) { @@ -58,10 +65,24 @@ public class MzZyHisController { return CommonResult.failed("系统出错啦,请稍后再试!"); } } + + + @ApiOperation("查询报告") + @PostMapping("/getReport") + public CommonResult> getReport(@RequestBody VJsjWzh7addnjreportDto dto) { + List reports = vmp.getReport(dto); + return CommonResult.success(reports); + } + @ApiOperation("测试") @GetMapping("/test") - public CommonResult test(@RequestParam("pid") String pid) { - medicalrecordService.signOutOrBackRepair(pid); - return CommonResult.success("ok"); + public CommonResult test() { + return CommonResult.success(mzZyHisService.getPid()); + } + + @ApiOperation("测试sql") + @GetMapping("/vmp") + public CommonResult vmp() { + return CommonResult.success(vmp.getList()); } } diff --git a/src/main/java/com/docus/server/collection/dto/VJsjWzh7addnjreportDto.java b/src/main/java/com/docus/server/collection/dto/VJsjWzh7addnjreportDto.java new file mode 100644 index 0000000..f9ea4cf --- /dev/null +++ b/src/main/java/com/docus/server/collection/dto/VJsjWzh7addnjreportDto.java @@ -0,0 +1,28 @@ +package com.docus.server.collection.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @BelongsProject: docus-mzzy-collector + * @BelongsPackage: com.docus.server.collection.entity + * @Author: chierhao + * @CreateTime: 2024-07-31 15:47 + * @Description: TODO + * @Version: 1.0 + */ +@Data +public class VJsjWzh7addnjreportDto { + + @ApiModelProperty(value = "姓名") + private String name; + + @ApiModelProperty(value = "住院号") + private String inpatientNo; + + @ApiModelProperty(value = "报告开始时间 格式(yyyy-MM-dd)") + private String startReportDateTime; + + @ApiModelProperty(value = "报告结束时间 格式(yyyy-MM-dd)") + private String endReportDateTime; +} diff --git a/src/main/java/com/docus/server/collection/entity/VJsjWzh7addnjreport.java b/src/main/java/com/docus/server/collection/entity/VJsjWzh7addnjreport.java new file mode 100644 index 0000000..812a7d6 --- /dev/null +++ b/src/main/java/com/docus/server/collection/entity/VJsjWzh7addnjreport.java @@ -0,0 +1,39 @@ +package com.docus.server.collection.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @BelongsProject: docus-mzzy-collector + * @BelongsPackage: com.docus.server.collection.entity + * @Author: chierhao + * @CreateTime: 2024-07-31 15:47 + * @Description: TODO + * @Version: 1.0 + */ +@Data +public class VJsjWzh7addnjreport { + + @ApiModelProperty(value = "姓名") + private String name; + + @ApiModelProperty(value = "住院号") + private String inpatientNo; + + @ApiModelProperty(value = "类型") + private String type; + + @ApiModelProperty(value = "申请科室") + private String dept; + + @ApiModelProperty(value = "项目") + private String item; + + @ApiModelProperty(value = "登记时间") + private Date RegistDateTime; + + @ApiModelProperty(value = "报告时间") + private Date ReportDateTime; +} diff --git a/src/main/java/com/docus/server/collection/infrastructure/dao/mapper/TBasicMapper.java b/src/main/java/com/docus/server/collection/infrastructure/dao/mapper/TBasicMapper.java index bf48bd8..0acc74b 100644 --- a/src/main/java/com/docus/server/collection/infrastructure/dao/mapper/TBasicMapper.java +++ b/src/main/java/com/docus/server/collection/infrastructure/dao/mapper/TBasicMapper.java @@ -25,4 +25,6 @@ public interface TBasicMapper{ String getPatientIdByJzh(@Param("jzh") String jzh); List getPatientIdByMomJzh(@Param("momJzh") String momJzh); + + List getPid(); } diff --git a/src/main/java/com/docus/server/collection/infrastructure/dao/sqlserver/VJsjWzh7addnjreportMapper.java b/src/main/java/com/docus/server/collection/infrastructure/dao/sqlserver/VJsjWzh7addnjreportMapper.java new file mode 100644 index 0000000..862baed --- /dev/null +++ b/src/main/java/com/docus/server/collection/infrastructure/dao/sqlserver/VJsjWzh7addnjreportMapper.java @@ -0,0 +1,21 @@ +package com.docus.server.collection.infrastructure.dao.sqlserver; + +import com.docus.server.collection.dto.VJsjWzh7addnjreportDto; +import com.docus.server.collection.entity.VJsjWzh7addnjreport; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @BelongsProject: docus-mzzy-collector + * @BelongsPackage: com.docus.server.collection.infrastructure.dao.mapper.sqlserver + * @Author: chierhao + * @CreateTime: 2024-07-31 14:31 + * @Description: TODO + * @Version: 1.0 + */ +public interface VJsjWzh7addnjreportMapper { + List getList(); + + List getReport(@Param("dto") VJsjWzh7addnjreportDto dto); +} diff --git a/src/main/java/com/docus/server/collection/service/MzZyHisService.java b/src/main/java/com/docus/server/collection/service/MzZyHisService.java index 28398c1..6579844 100644 --- a/src/main/java/com/docus/server/collection/service/MzZyHisService.java +++ b/src/main/java/com/docus/server/collection/service/MzZyHisService.java @@ -2,6 +2,8 @@ package com.docus.server.collection.service; import com.docus.server.collection.dto.FirstPageCheckoutInDTO; +import java.util.List; + /** * @author wyb */ @@ -12,4 +14,7 @@ public interface MzZyHisService { * @param checkoutInDTO 首页签出参数 */ void firstPageCheckout(FirstPageCheckoutInDTO checkoutInDTO); + + List getPid(); + } diff --git a/src/main/java/com/docus/server/collection/service/impl/MzZyHisServiceImpl.java b/src/main/java/com/docus/server/collection/service/impl/MzZyHisServiceImpl.java index e1e629b..c6ceff7 100644 --- a/src/main/java/com/docus/server/collection/service/impl/MzZyHisServiceImpl.java +++ b/src/main/java/com/docus/server/collection/service/impl/MzZyHisServiceImpl.java @@ -68,6 +68,11 @@ public class MzZyHisServiceImpl implements MzZyHisService { babyTaskCompensate(patientInfo.getInpatientNo(),collectorIds); } + @Override + public List getPid() { + return tBasicMapper.getPid(); + } + /** * 根据母亲的住院流水号,查询宝宝的病案主键,进行任务补偿 * @param momJzh 母亲住院流水号 diff --git a/src/main/resources/bootstrap.yml b/src/main/resources/bootstrap.yml index f928c70..74efbbc 100644 --- a/src/main/resources/bootstrap.yml +++ b/src/main/resources/bootstrap.yml @@ -6,27 +6,19 @@ spring: application: name: @artifactId@ datasource: - url: jdbc:log4jdbc:mysql://db.docus.cn:3306/docus_archivefile?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai - username: docus - password: docus702 - driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy - type: com.alibaba.druid.pool.DruidDataSource - # 初始化配置 - initial-size: 3 - # 最小连接数 - min-idle: 3 - # 最大连接数 - max-active: 15 - # 获取连接超 时时间 - max-wait: 5000 - # 连接有效性检测时间 - time-between-eviction-runs-millis: 90000 - # 最大空闲时间 - min-evictable-idle-time-millis: 1800000 - test-while-idle: true - test-on-borrow: false - test-on-return: false - validation-query: select 1 + mysql-docus: + url: jdbc:log4jdbc:mysql://db.docus.cn:3306/docus_archivefile?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + username: docus + password: docus702 + driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy + type: com.alibaba.druid.pool.DruidDataSource + sqlserver-docus: + url: jdbc:sqlserver://192.168.16.103\DOCUS;DatabaseName=zj_power + username: sa + password: docus702 + driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver + type: com.alibaba.druid.pool.DruidDataSource + redis: host: redis.docus.cn diff --git a/src/main/resources/mapper/TBasicMapper.xml b/src/main/resources/mapper/TBasicMapper.xml index b5f99ab..33b0780 100644 --- a/src/main/resources/mapper/TBasicMapper.xml +++ b/src/main/resources/mapper/TBasicMapper.xml @@ -91,5 +91,7 @@ - + diff --git a/src/main/resources/sqlserver/VJsjWzh7addnjreportMapper.xml b/src/main/resources/sqlserver/VJsjWzh7addnjreportMapper.xml new file mode 100644 index 0000000..5fd94b7 --- /dev/null +++ b/src/main/resources/sqlserver/VJsjWzh7addnjreportMapper.xml @@ -0,0 +1,26 @@ + + + + + +