humingfen vor 7 Jahren
Ursprung
Commit
e662ac7263
20 geänderte Dateien mit 1168 neuen und 2 gelöschten Zeilen
  1. 101 0
      common/common-entity/src/main/java/com/yihu/jw/rehabilitation/RehabilitationInformationDO.java
  2. 81 0
      common/common-entity/src/main/java/com/yihu/jw/rehabilitation/RehabilitationPerformanceDO.java
  3. 71 0
      common/common-entity/src/main/java/com/yihu/jw/rehabilitation/RehabilitationPlanningDO.java
  4. 68 0
      common/common-entity/src/main/java/com/yihu/jw/rehabilitation/RehabilitationTreatmentProgramDO.java
  5. 33 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/rehabilitation/RehabilitationRequestMapping.java
  6. 91 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/rehabilitation/RehabilitationInformationVO.java
  7. 1 0
      svr-lib-parent-pom/pom.xml
  8. 2 2
      svr/svr-base/pom.xml
  9. 179 0
      svr/svr-rehabilitation/pom.xml
  10. 0 0
      svr/svr-rehabilitation/readme.MD
  11. 16 0
      svr/svr-rehabilitation/src/main/java/com/yihu/rehabilitation/SvrRehabilitationApplication.java
  12. 50 0
      svr/svr-rehabilitation/src/main/java/com/yihu/rehabilitation/config/SwaggerConfig.java
  13. 29 0
      svr/svr-rehabilitation/src/main/java/com/yihu/rehabilitation/config/jpa/HibernateProperties.java
  14. 58 0
      svr/svr-rehabilitation/src/main/java/com/yihu/rehabilitation/config/jpa/WlyySpecialistJpa.java
  15. 124 0
      svr/svr-rehabilitation/src/main/java/com/yihu/rehabilitation/controller/RehabilitationInformationController.java
  16. 16 0
      svr/svr-rehabilitation/src/main/java/com/yihu/rehabilitation/dao/RehabilitationInformationDao.java
  17. 114 0
      svr/svr-rehabilitation/src/main/java/com/yihu/rehabilitation/service/RehabilitationInformationService.java
  18. 88 0
      svr/svr-rehabilitation/src/main/resources/application.yml
  19. 0 0
      svr/svr-rehabilitation/src/main/resources/banner.txt
  20. 46 0
      svr/svr-rehabilitation/src/main/resources/bootstrap.yml

+ 101 - 0
common/common-entity/src/main/java/com/yihu/jw/rehabilitation/RehabilitationInformationDO.java

@ -0,0 +1,101 @@
package com.yihu.jw.rehabilitation;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.IdEntityWithOperation;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
/**
 * 就诊信息表
 * @author humingfen on 2018/4/25.
 */
@Entity
@Table(name = "rehabilitation_information")
public class RehabilitationInformationDO extends IdEntityWithOperation implements Serializable {
    @Column(name = "saas_id")
    private String saasId;
    @Column(name = "patient_id")
    private String patientId;//居民id
    @Column(name = "hospital")
    private String hospital;//就诊医院
    @Column(name = "departmen")
    private String departmen;//就诊科室
    @Column(name = "summary")
    private String summary;//诊断小结
    @Column(name = "advice")
    private String advice;//医嘱
    @Column(name = "disease")
    private String disease;//疾病标签
    @Column(name = "discharge_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date dischargeTime;//出院时间
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    public String getPatientId() {
        return patientId;
    }
    public void setPatientId(String patientId) {
        this.patientId = patientId;
    }
    public String getHospital() {
        return hospital;
    }
    public void setHospital(String hospital) {
        this.hospital = hospital;
    }
    public String getDepartmen() {
        return departmen;
    }
    public void setDepartmen(String departmen) {
        this.departmen = departmen;
    }
    public String getSummary() {
        return summary;
    }
    public void setSummary(String summary) {
        this.summary = summary;
    }
    public String getAdvice() {
        return advice;
    }
    public void setAdvice(String advice) {
        this.advice = advice;
    }
    public String getDisease() {
        return disease;
    }
    public void setDisease(String disease) {
        this.disease = disease;
    }
    public Date getDischargeTime() {
        return dischargeTime;
    }
    public void setDischargeTime(Date dischargeTime) {
        this.dischargeTime = dischargeTime;
    }
}

+ 81 - 0
common/common-entity/src/main/java/com/yihu/jw/rehabilitation/RehabilitationPerformanceDO.java

@ -0,0 +1,81 @@
package com.yihu.jw.rehabilitation;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.IdEntityWithOperation;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
/**
 * 康复计划执行情况表
 * @author humingfen on 2018/4/25.
 */
@Entity
@Table(name = "rehabilitation_performance")
public class RehabilitationPerformanceDO extends IdEntityWithOperation implements Serializable {
    @Column(name = "saas_id")
    private String saasId;
    @Column(name = "program_id")
    private String programId;//治疗方案ID
    @Column(name = "start_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private String startTime;//开始执行的时间
    @Column(name = "end_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private String endTime;//结束执行的时间
    @Column(name = "status")
    private Integer status;//执行状态
    @Column(name = "description")
    private String description;//描述身体健康状态详情
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    public String getProgramId() {
        return programId;
    }
    public void setProgramId(String programId) {
        this.programId = programId;
    }
    public String getStartTime() {
        return startTime;
    }
    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }
    public String getEndTime() {
        return endTime;
    }
    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
}

+ 71 - 0
common/common-entity/src/main/java/com/yihu/jw/rehabilitation/RehabilitationPlanningDO.java

@ -0,0 +1,71 @@
package com.yihu.jw.rehabilitation;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.IdEntityWithOperation;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
/**
 * 康复计划表
 * @author humingfen on 2018/4/25.
 */
@Entity
@Table(name = "rehabilitation_planning")
public class RehabilitationPlanningDO extends IdEntityWithOperation implements Serializable {
    @Column(name = "saas_id")
    private String saasId;
    @Column(name = "patient_id")
    private String patientId;//居民ID
    @Column(name = "program_id")
    private String programId;//治疗方案ID,可多个用逗号隔开
    @Column(name = "recheck_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date recheckTime;//复检时间
    @Column(name = "description")
    private String description;//附加说明,如先执行哪个方案,什么时间执行最佳
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    public String getPatientId() {
        return patientId;
    }
    public void setPatientId(String patientId) {
        this.patientId = patientId;
    }
    public String getProgramId() {
        return programId;
    }
    public void setProgramId(String programId) {
        this.programId = programId;
    }
    public Date getRecheckTime() {
        return recheckTime;
    }
    public void setRecheckTime(Date recheckTime) {
        this.recheckTime = recheckTime;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
}

+ 68 - 0
common/common-entity/src/main/java/com/yihu/jw/rehabilitation/RehabilitationTreatmentProgramDO.java

@ -0,0 +1,68 @@
package com.yihu.jw.rehabilitation;
import com.yihu.jw.IdEntityWithOperation;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
/**
 * 治疗方案表
 * @author humingfen on 2018/4/25.
 */
@Entity
@Table(name = "rehabilitation_treatment_program")
public class RehabilitationTreatmentProgramDO extends IdEntityWithOperation implements Serializable {
    @Column(name = "saas_id")
    private String saasId;
    @Column(name = "name")
    private String name;
    @Column(name =  "frequency")
    private String frequency;
    @Column(name = "times_daily")
    private Integer timesDaily;
    @Column(name = "description")
    private String description;
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getFrequency() {
        return frequency;
    }
    public void setFrequency(String frequency) {
        this.frequency = frequency;
    }
    public Integer getTimesDaily() {
        return timesDaily;
    }
    public void setTimesDaily(Integer timesDaily) {
        this.timesDaily = timesDaily;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
}

+ 33 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/rehabilitation/RehabilitationRequestMapping.java

@ -0,0 +1,33 @@
package com.yihu.jw.rm.rehabilitation;
/**
 * Created by humingfen on 2018/4/25 .
 */
public class RehabilitationRequestMapping {
    public static final String api_rehabilitation_common = "svr-rehabilitation";
    /**
     * 公共模块
     */
    public static class Common {
        public static final String information = api_rehabilitation_common + "/information";
    }
    public static class Information {
        public static final String api_create = "information";
        public static final String api_delete = "information";
        public static final String api_getById = "getInformationById";
        public static final String api_update = "information";
        public static final String findInformationById = "findInformationById";
        public static final String findInformationPage = "findInformationPage";
        public static final String message_success_update = "information update success";
        public static final String message_success_delete = "information delete success";
        public static final String message_success_find = "information find success";
        public static final String message_success_create = "information create success";
        public static final String message_success_find_functions = "message_success_find_functions";
    }
}

+ 91 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/rehabilitation/RehabilitationInformationVO.java

@ -0,0 +1,91 @@
package com.yihu.jw.restmodel.rehabilitation;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.yihu.jw.restmodel.iot.common.BaseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
/**
 * 就诊信息表
 * @author humingfen on 2018/4/26.
 */
@JsonInclude(JsonInclude.Include.ALWAYS)
@ApiModel(value = "企业表", description = "企业表")
public class RehabilitationInformationVO extends BaseVO implements Serializable {
    @ApiModelProperty("居民id")
    private String patientId;
    @ApiModelProperty("就诊医院")
    private String hospital;
    @ApiModelProperty("就诊科室")
    private String department;
    @ApiModelProperty("诊断小结")
    private String summary;
    @ApiModelProperty("医嘱")
    private String advice;
    @ApiModelProperty("疾病标签")
    private String disease;
    @ApiModelProperty("出院时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+08:00")
    private Date dischargeTime;
    public String getPatientId() {
        return patientId;
    }
    public void setPatientId(String patientId) {
        this.patientId = patientId;
    }
    public String getHospital() {
        return hospital;
    }
    public void setHospital(String hospital) {
        this.hospital = hospital;
    }
    public String getDepartment() {
        return department;
    }
    public void setDepartment(String department) {
        this.department = department;
    }
    public String getSummary() {
        return summary;
    }
    public void setSummary(String summary) {
        this.summary = summary;
    }
    public String getAdvice() {
        return advice;
    }
    public void setAdvice(String advice) {
        this.advice = advice;
    }
    public String getDisease() {
        return disease;
    }
    public void setDisease(String disease) {
        this.disease = disease;
    }
    public Date getDischargeTime() {
        return dischargeTime;
    }
    public void setDischargeTime(Date dischargeTime) {
        this.dischargeTime = dischargeTime;
    }
}

+ 1 - 0
svr-lib-parent-pom/pom.xml

@ -44,6 +44,7 @@
        <module>../svr/svr-wlyy</module><!--i健康微服务-->
        <!--<module>../svr/svr-manage</module>&lt;!&ndash;后台管理系统&ndash;&gt;-->
        <module>../svr/svr-iot</module><!--物联网平台-->
        <module>../svr/svr-rehabilitation</module><!--专科医生康复计划-->
        <!--网关-->
        <module>../web-gateway</module><!--web网关-->

+ 2 - 2
svr/svr-base/pom.xml

@ -71,10 +71,10 @@
            <version>8.5.28</version>
            <!--tomcat 启动时 打开注释 end-->
        </dependency>
        <!--<dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </dependency>-->
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>

+ 179 - 0
svr/svr-rehabilitation/pom.xml

@ -0,0 +1,179 @@
<?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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.yihu.jw</groupId>
		<artifactId>svr-lib-parent-pom</artifactId>
		<version>1.0.0</version>
		<relativePath>../../svr-lib-parent-pom/pom.xml</relativePath>
	</parent>
	<groupId>com.yihu.rehabilitation</groupId>
	<artifactId>svr-rehabilitation</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>
	<dependencies>
		<dependency>
			<groupId>com.yihu.jw</groupId>
			<artifactId>common-entity</artifactId>
		</dependency>
		<dependency>
			<groupId>com.yihu.jw</groupId>
			<artifactId>common-request-mapping</artifactId>
		</dependency>
		<dependency>
			<groupId>com.yihu.jw</groupId>
			<artifactId>common-exception</artifactId>
		</dependency>
		<dependency>
			<groupId>com.yihu.base</groupId>
			<artifactId>common-swagger</artifactId>
		</dependency>
		<dependency>
			<groupId>com.yihu.jw</groupId>
			<artifactId>common-rest-model</artifactId>
		</dependency>
		<dependency>
			<groupId>com.yihu.jw</groupId>
			<artifactId>common-util</artifactId>
		</dependency>
		<dependency>
			<groupId>com.yihu.base</groupId>
			<artifactId>common-data-mysql</artifactId>
		</dependency>
		<dependency>
			<groupId>com.yihu.base</groupId>
			<artifactId>common-log</artifactId>
		</dependency>
		<dependency>
			<groupId>com.yihu.base</groupId>
			<artifactId>common-data-fastdfs</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<!--tomcat 启动时 打开注释 start-->
			<!-- <exclusions>
				 <exclusion>
					 <groupId>org.springframework.boot</groupId>
					 <artifactId>spring-boot-starter-tomcat</artifactId>
				 </exclusion>
			 </exclusions>-->
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat</groupId>
			<artifactId>tomcat-servlet-api</artifactId>
			<version>8.5.28</version>
			<scope>provided</scope>
			<!--tomcat 启动时 打开注释 end-->
		</dependency>
		<!--tomcat 启动时 注释下列配置 start-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
		</dependency>
		<!--tomcat 启动时 注释下列配置 end-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-aop</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-logging</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-eureka</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-config</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-test-autoconfigure</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
		</dependency>
		<dependency>
			<groupId>com.yihu</groupId>
			<artifactId>common-data-es-starter</artifactId>
			<version>1.0.1</version>
		</dependency>
		<dependency>
			<groupId>com.yihu.jw</groupId>
			<artifactId>common-util</artifactId>
			<version>1.0.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.3.2</version>
		</dependency>
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi</artifactId>
			<version>3.15-beta1</version>
		</dependency>
	</dependencies>
	<build>
		<finalName>svr-rehabilitation</finalName>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin </artifactId>
			</plugin>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

+ 0 - 0
svr/svr-rehabilitation/readme.MD


+ 16 - 0
svr/svr-rehabilitation/src/main/java/com/yihu/rehabilitation/SvrRehabilitationApplication.java

@ -0,0 +1,16 @@
package com.yihu.rehabilitation;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
@EnableJpaAuditing
@SpringBootApplication
@ComponentScan(basePackages={"com"})
public class SvrRehabilitationApplication {
	public static void main(String[] args) {
		SpringApplication.run(SvrRehabilitationApplication.class, args);
	}
}

+ 50 - 0
svr/svr-rehabilitation/src/main/java/com/yihu/rehabilitation/config/SwaggerConfig.java

@ -0,0 +1,50 @@
package com.yihu.rehabilitation.config;
import com.yihu.jw.rm.archives.PatientArchivesMapping;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import static com.google.common.base.Predicates.or;
import static springfox.documentation.builders.PathSelectors.regex;
@Configuration
@EnableSwagger2
@ComponentScan("com.yihu.jw.**")
public class SwaggerConfig {
    public static final String archives_API = "archives";
    @Bean
    public Docket wlyyAPI() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName(archives_API)
                .useDefaultResponseMessages(false)
                .forCodeGeneration(false)
                .pathMapping("/")
                .select()
                .paths(or(
                        regex("/" + PatientArchivesMapping.api_archives_common + "/.*")
                ))
                .build()
                .apiInfo(wlyyApiInfo());
    }
    private ApiInfo wlyyApiInfo() {
        ApiInfo wlyyInfo = new ApiInfo("基卫2.0API",
                "基卫2.0API,提供基础卫生相关服务。",
                "1.0",
                "No terms of service",
                "wenfujian@jkzl.com",
                "The Apache License, Version 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0.html"
        );
        return wlyyInfo;
    }
}

+ 29 - 0
svr/svr-rehabilitation/src/main/java/com/yihu/rehabilitation/config/jpa/HibernateProperties.java

@ -0,0 +1,29 @@
package com.yihu.rehabilitation.config.jpa;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;
import java.util.Properties;
/**
 * Created by chenweida on 2017/4/6.
 */
@Component
@RefreshScope
public class HibernateProperties {
    @Value("${hibernate.dialect}")
    private String dialect;
    @Value("${hibernate.show_sql}")
    private String show_sql;
    @Value("${hibernate.ejb.naming_strategy}")
    private String naming_strategy;
    public  Properties hibProperties() {
        Properties properties = new Properties();
        properties.put("hibernate.dialect",dialect);
        properties.put("hibernate.show_sql", show_sql);
        properties.put("hibernate.ejb.naming_strategy", naming_strategy);
        return properties;
    }
}

+ 58 - 0
svr/svr-rehabilitation/src/main/java/com/yihu/rehabilitation/config/jpa/WlyySpecialistJpa.java

@ -0,0 +1,58 @@
package com.yihu.rehabilitation.config.jpa;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.JpaVendorAdapter;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import javax.persistence.EntityManagerFactory;
import javax.sql.DataSource;
import java.util.Properties;
/**
 * Created by chenweida on 2017/4/6.
 */
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(
        entityManagerFactoryRef = "wlyySpecialistEntityManagerFactory",
        transactionManagerRef = "wlyySpecialistTransactionManager",
        basePackages = {"com.yihu.jw.dao"})   //设置Repository所在位置
public class WlyySpecialistJpa {
    @Autowired
    private HibernateProperties hibernateProperties;
    @Bean(name = "wlyySpecialistEntityManagerFactory")
    @Primary
    public LocalContainerEntityManagerFactoryBean entityManagerFactoryPrimary(DataSource dataSource) {
        LocalContainerEntityManagerFactoryBean emfb = new LocalContainerEntityManagerFactoryBean();
        emfb.setDataSource(dataSource);
        emfb.setPackagesToScan("com.yihu.jw.entity");
        emfb.setPersistenceUnitName("specialist");
        JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
        emfb.setJpaVendorAdapter(vendorAdapter);
        Properties properties = hibernateProperties.hibProperties();
        properties.put("hibernate.ejb.naming_strategy","org.hibernate.cfg.ImprovedNamingStrategy");
        emfb.setJpaProperties(hibernateProperties.hibProperties());
        return emfb;
    }
    @Bean(name = "wlyySpecialistTransactionManager")
    @Primary
    JpaTransactionManager transactionManagerSecondary(
            @Qualifier("wlyySpecialistEntityManagerFactory") EntityManagerFactory builder) {
        return new JpaTransactionManager(builder);
    }
}

+ 124 - 0
svr/svr-rehabilitation/src/main/java/com/yihu/rehabilitation/controller/RehabilitationInformationController.java

@ -0,0 +1,124 @@
package com.yihu.rehabilitation.controller;
import com.yihu.jw.exception.ApiException;
import com.yihu.jw.rehabilitation.RehabilitationInformationDO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.restmodel.common.EnvelopRestController;
import com.yihu.jw.restmodel.rehabilitation.RehabilitationInformationVO;
import com.yihu.jw.rm.iot.IotRequestMapping;
import com.yihu.rehabilitation.service.RehabilitationInformationService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import com.yihu.jw.rm.rehabilitation.RehabilitationRequestMapping;
/**
 * @author humingfen on 2018/4/25.
 */
@RestController
@RequestMapping(value = RehabilitationRequestMapping.Common.information)
@Api(tags = "就诊信息相关操作", description = "就诊信息相关操作")
public class RehabilitationInformationController extends EnvelopRestController {
    @Autowired
    private RehabilitationInformationService rehabilitationInformationService;
    @GetMapping(value = RehabilitationRequestMapping.Information.findInformationPage)
    @ApiOperation(value = "分页查找就诊信息", notes = "分页查找就诊信息")
    public Envelop<RehabilitationInformationVO> findCompanyPage(@ApiParam(name = "hospital", value = "就诊医院名称", defaultValue = "")
                                                 @RequestParam(value = "hospital", required = false) String hospital,
                                                 @ApiParam(name = "patientId", value = "居民id", defaultValue = "")
                                                 @RequestParam(value = "patientId", required = false) String patientId,
                                                 @ApiParam(name = "page", value = "第几页", defaultValue = "")
                                                 @RequestParam(value = "page", required = false) Integer page,
                                                 @ApiParam(name = "size", value = "每页记录数", defaultValue = "")
                                                 @RequestParam(value = "size", required = false) Integer size){
        try {
            if(page == null|| page < 0){
                page = 1;
            }
            if(size == null){
                size = 10;
            }
            return rehabilitationInformationService.queryPage(page, size, patientId, hospital);
        } catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError(e.getMessage());
        }
    }
    
    @PostMapping(value = RehabilitationRequestMapping.Information.api_create, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "创建就诊信息", notes = "创建就诊信息")
    public Envelop<RehabilitationInformationVO> create(@ApiParam(name = "jsonData", value = "json", defaultValue = "")
                                                           @RequestParam(value = "jsonData", required = true)String jsonData) {
        try {
            RehabilitationInformationVO informationVO = toEntity(jsonData, RehabilitationInformationVO.class);
            RehabilitationInformationDO informationDO = rehabilitationInformationService.convertToModel(informationVO, RehabilitationInformationDO.class);
            return Envelop.getSuccess(RehabilitationRequestMapping.Information.message_success_create, rehabilitationInformationService.create(informationDO));
        } catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError(e.getMessage());
        }
    }
    @GetMapping(value = RehabilitationRequestMapping.Information.findInformationById)
    @ApiOperation(value = "根据id查找就诊信息", notes = "根据id查找就诊信息")
    public Envelop<RehabilitationInformationVO> findByCode(@ApiParam(name = "id", value = "id")
                                            @RequestParam(value = "id", required = true) String id) {
        try {
            RehabilitationInformationDO informationDO = rehabilitationInformationService.findById(id);
            RehabilitationInformationVO informationVO = rehabilitationInformationService.convertToModel(informationDO, RehabilitationInformationVO.class);
            return Envelop.getSuccess(RehabilitationRequestMapping.Information.message_success_find, informationVO);
        } catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError(e.getMessage());
        }
    }
    @GetMapping(value = RehabilitationRequestMapping.Information.findInformationById)
    @ApiOperation(value = "根据patientId查找就诊信息", notes = "根据patientId查找就诊信息")
    public Envelop<RehabilitationInformationVO> findByPatientId(@ApiParam(name = "patientId", value = "patientId")
                                                           @RequestParam(value = "patientId", required = true) String patientId) {
        try {
            RehabilitationInformationDO informationDO = rehabilitationInformationService.findByPatientId(patientId);
            RehabilitationInformationVO informationVO = rehabilitationInformationService.convertToModel(informationDO, RehabilitationInformationVO.class);
            return Envelop.getSuccess(RehabilitationRequestMapping.Information.message_success_find, informationVO);
        } catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError(e.getMessage());
        }
    }
    @PostMapping(value = RehabilitationRequestMapping.Information.api_update)
    @ApiOperation(value = "修改就诊信息", notes = "修改就诊信息")
    public Envelop<RehabilitationInformationVO> updCompany(@ApiParam(name = "jsonData", value = "json", defaultValue = "")
                                            @RequestParam(value = "jsonData", required = true)String jsonData) {
        try {
            RehabilitationInformationVO informationVO = toEntity(jsonData, RehabilitationInformationVO.class);
            RehabilitationInformationDO informationDO = rehabilitationInformationService.convertToModel(informationVO, RehabilitationInformationDO.class);
            rehabilitationInformationService.update(informationDO);
            return Envelop.getSuccess(RehabilitationRequestMapping.Information.message_success_find);
        } catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError(e.getMessage());
        }
    }
    @PostMapping(value = RehabilitationRequestMapping.Information.api_delete)
    @ApiOperation(value = "删除企业", notes = "删除企业")
    public Envelop<RehabilitationInformationVO> delCompany(@ApiParam(name = "id", value = "id")
                                            @RequestParam(value = "id", required = true) String id) {
        try {
            rehabilitationInformationService.delete(id);
            return Envelop.getSuccess(RehabilitationRequestMapping.Information.message_success_find);
        } catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError(e.getMessage());
        }
    }
}

+ 16 - 0
svr/svr-rehabilitation/src/main/java/com/yihu/rehabilitation/dao/RehabilitationInformationDao.java

@ -0,0 +1,16 @@
package com.yihu.rehabilitation.dao;
import com.yihu.jw.rehabilitation.RehabilitationInformationDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface RehabilitationInformationDao extends PagingAndSortingRepository<RehabilitationInformationDO, String>,
        JpaSpecificationExecutor<RehabilitationInformationDO> {
    @Query("from RehabilitationInformationDO w where w.id =?1 ")
    RehabilitationInformationDO findById(String id);
    @Query("from RehabilitationInformationDO w where w.patientId =?1 order by dischargeTime desc")
    RehabilitationInformationDO findByPatientId(String patientId);
}

+ 114 - 0
svr/svr-rehabilitation/src/main/java/com/yihu/rehabilitation/service/RehabilitationInformationService.java

@ -0,0 +1,114 @@
package com.yihu.rehabilitation.service;
import com.yihu.base.mysql.query.BaseJpaService;
import com.yihu.jw.iot.company.IotCompanyDO;
import com.yihu.jw.rehabilitation.RehabilitationInformationDO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.restmodel.rehabilitation.RehabilitationInformationVO;
import com.yihu.jw.rm.iot.IotRequestMapping;
import com.yihu.jw.rm.rehabilitation.RehabilitationRequestMapping;
import com.yihu.rehabilitation.dao.RehabilitationInformationDao;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * @author humingfen on 2018/4/25.
 */
@Service
@Transactional(rollbackFor = Exception.class)
public class RehabilitationInformationService extends BaseJpaService<RehabilitationInformationDO, RehabilitationInformationDao> {
    @Autowired
    private RehabilitationInformationDao rehabilitationInformationDao;
    @Autowired
    private JdbcTemplate jdbcTempalte;
    /**
     * 按类型分页查找
     * @param page
     * @param size
     * @param patientId
     * @param hospital
     * @return
     */
    public Envelop<RehabilitationInformationVO> queryPage(Integer page, Integer size, String patientId, String hospital){
        StringBuffer sql = new StringBuffer("SELECT DISTINCT w.* from rehabilitation_information w ");
        StringBuffer sqlCount = new StringBuffer("SELECT COUNT(DISTINCT w.id) count from rehabilitation_information w ");
        List<Object> args = new ArrayList<>();
        if(StringUtils.isNotBlank(patientId)){
            sql.append(" and w.patientId = ? ");
            sqlCount.append(" and w.patientId = '").append(patientId).append("' ");
            args.add(patientId);
        }
        if(StringUtils.isNotBlank(hospital)){
            sql.append(" and w.hospital like ? ");
            sqlCount.append(" and w.hospital like '").append(hospital).append("' ");
            args.add(hospital);
        }
        sql.append("order by c.update_time desc limit ").append((page-1)*size).append(",").append(size);
        List<RehabilitationInformationDO> list = jdbcTempalte.query(sql.toString(),args.toArray(),new BeanPropertyRowMapper(RehabilitationInformationDO.class));
        List<Map<String,Object>> countList = jdbcTempalte.queryForList(sqlCount.toString());
        long count = Long.valueOf(countList.get(0).get("count").toString());
        //DO转VO
        List<RehabilitationInformationVO> informationVOList = convertToModels(list,new ArrayList<>(list.size()), RehabilitationInformationVO.class);
        return Envelop.getSuccessListWithPage(RehabilitationRequestMapping.Information.message_success_find_functions,informationVOList, page, size,count);
    }
    /**
     * 新增
     * @param informationDO
     * @return
     */
    public RehabilitationInformationDO create(RehabilitationInformationDO informationDO) {
        informationDO.setSaasId(getCode());
        informationDO = rehabilitationInformationDao.save(informationDO);
        return informationDO;
    }
    /**
     * 按id查找
     * @param id
     * @return
     */
    public RehabilitationInformationDO findById(String id) {
        RehabilitationInformationDO informationDO = rehabilitationInformationDao.findById(id);
        return informationDO;
    }
    /**
     * 按patientId查找
     * @param patientId
     * @return
     */
    public RehabilitationInformationDO findByPatientId(String patientId) {
        RehabilitationInformationDO informationDO = rehabilitationInformationDao.findByPatientId(patientId);
        return informationDO;
    }
    /**
     * 修改
     * @param informationDO
     */
    public void update(RehabilitationInformationDO informationDO){
        RehabilitationInformationDO oldInformationDO = rehabilitationInformationDao.findById(informationDO.getId());
        oldInformationDO.setHospital(informationDO.getHospital());
        oldInformationDO.setDepartmen(informationDO.getDepartmen());
        oldInformationDO.setSummary(informationDO.getSummary());
        oldInformationDO.setAdvice(informationDO.getAdvice());
        oldInformationDO.setDisease(informationDO.getDisease());
        oldInformationDO.setDischargeTime(informationDO.getDischargeTime());
        rehabilitationInformationDao.save(oldInformationDO);
    }
}

+ 88 - 0
svr/svr-rehabilitation/src/main/resources/application.yml

@ -0,0 +1,88 @@
##如果有配置服务的话,远程服务器和本地服务器配置不一致的情况下,优先远程的为主  git上 svr-base ->  git application ->本地 appliction ->本地 bootstarp
server:
  port: 10051
spring:
  application:
    name:  svr-rehabilitation  #注册到发现服务的id 如果id一样 eurika会自动做负载
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    max-active: 50
    max-idle: 50 #最大空闲连接
    min-idle: 10 #最小空闲连接
    validation-query-timeout: 20
    log-validation-errors: true
    validation-interval: 60000 #避免过度验证,保证验证不超过这个频率——以毫秒为单位。如果一个连接应该被验证,但上次验证未达到指定间隔,将不再次验证。
    validation-query: SELECT 1 #SQL 查询, 用来验证从连接池取出的连接, 在将连接返回给调用者之前。 如果指定, 则查询必须是一个SQL SELECT 并且必须返回至少一行记录
    test-on-borrow: true #指明是否在从池中取出连接前进行检验, 如果检验失败, 则从池中去除连接并尝试取出另一个。注意: 设置为true 后如果要生效,validationQuery 参数必须设置为非空字符串
    test-on-return: true #指明是否在归还到池中前进行检验 注意: 设置为true 后如果要生效validationQuery 参数必须设置为非空字符串
    idle-timeout: 30000
    connection-test-query: SELECT 1
    num-tests-per-eviction-run: 50 #在每次空闲连接回收器线程(如果有)运行时检查的连接数量,最好和maxActive
    test-while-idle: true #指明连接是否被空闲连接回收器(如果有)进行检验,如果检测失败,则连接将被从池中去除
    min-evictable-idle-time-millis: 3600000 #连接池中连接,在时间段内一直空闲,被逐出连接池的时间(1000*60*60),以毫秒为单位
    time-between-eviction-runs-millis: 300000 #在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位,一般比minEvictableIdleTimeMillis小
  data:
    elasticsearch: #ElasticsearchProperties
      cluster-name: jkzl #默认即为elasticsearch  集群名
      cluster-nodes: 172.19.103.68:9300 #配置es节点信息,逗号分隔,如果没有指定,则启动ClientNode
      local: false #是否本地连接
      properties: # Additional properties used to configure the client.
        enable: true
  # JEST (Elasticsearch HTTP client) (JestProperties)
  elasticsearch:
    jest:
      uris: http://172.19.103.68:9200
#      uris: http://172.19.103.68:9200
      connection-timeout: 60000 # Connection timeout in milliseconds.
      multi-threaded: true # Enable connection requests from multiple execution threads.
#      username: # Login user.
#      password: # Login password.
#      proxy.port:  # Proxy port the HTTP client should use.
#      proxy.host:  # Proxy host the HTTP client should use.
#hibernate 配置
hibernate:
  dialect: org.hibernate.dialect.MySQL5Dialect
  show_sql: true
  ejb:
    naming_strategy: org.hibernate.cfg.ImprovedNamingStrategy
fast-dfs:
  tracker-server: 172.19.103.54:22122 #服务器地址
  connect-timeout: 2 #链接超时时间
  network-timeout: 30
  charset: ISO8859-1 #编码
  http:
    tracker-http-port: 80
    anti-steal-token: no
    secret-key: FastDFS1234567890
  pool: #连接池大小
    init-size: 5
    max-size: 20
    wait-time: 500
---
spring:
  profiles: jwdev
  datasource:
    url: jdbc:mysql://172.19.103.77:3306/rehabilitation?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true
    username: root
    password: 123456
fastDFS:
  fastdfs_file_url: http://172.19.103.54:80/
---
spring:
  profiles: jwtest
fastDFS:
  fastdfs_file_url: http://172.19.103.54:80/
---
spring:
  profiles: jwprod
fastDFS:
  fastdfs_file_url: http://172.19.103.54:80/

+ 0 - 0
svr/svr-rehabilitation/src/main/resources/banner.txt


+ 46 - 0
svr/svr-rehabilitation/src/main/resources/bootstrap.yml

@ -0,0 +1,46 @@
##优先读取 boostarap配置 然后在读取application。yml的配置
spring:
  #从发现服务里面取配置服务的信息
  cloud:
    config:
      failFast: true #启动快速失败 即链接不到配置服务就启动失败
      username: jw
      password: jkzl
      discovery:
        enabled: true #使用发现服务
        service-id: svr-configurations #配置服务的名字
---
spring:
  profiles: jwdev
##发现服务的地址
eureka:
  client:
    serviceUrl:
      #http://账号:密码@127.0.0.1:8761/eureka/
      defaultZone: http://jw:jkzl@172.19.103.33:8761/eureka/
---
spring:
  profiles: jwtest
eureka:
  client:
    serviceUrl:
      #http://账号:密码@127.0.0.1:8761/eureka/
      defaultZone: http://jw:jkzl@172.19.103.33:8761/eureka/
---
spring:
  profiles: jwprod
eureka:
  client:
    serviceUrl:
      #http://账号:密码@127.0.0.1:8761/eureka/
      defaultZone: http://jw:jkzl@127.0.0.1:8761/eureka/