浏览代码

Merge branch 'dev' of http://192.168.1.220:10080/jiwei/wlyy2.0 into dev

liuwenbin 7 年之前
父节点
当前提交
aaf186c1cd
共有 43 个文件被更改,包括 1298 次插入792 次删除
  1. 50 0
      common/common-entity-es/pom.xml
  2. 1 1
      common/common-entity/src/main/java/com/yihu/jw/iot/datainput/Data.java
  3. 14 4
      common/common-entity/src/main/java/com/yihu/jw/iot/datainput/DataBodySignsDO.java
  4. 1 2
      common/common-entity/src/main/java/com/yihu/jw/iot/datainput/StepInfoDO.java
  5. 1 1
      common/common-entity/src/main/java/com/yihu/jw/iot/datainput/WeRunDataDO.java
  6. 1 1
      common/common-entity/src/main/java/com/yihu/jw/iot/device/LocationDataDO.java
  7. 0 20
      common/common-entity/pom.xml
  8. 39 21
      common/common-entity/src/main/java/com/yihu/jw/entity/specialist/PatientHospitalRecordDO.java
  9. 94 87
      common/common-entity/src/main/java/com/yihu/jw/entity/specialist/PatientLabelDO.java
  10. 83 77
      common/common-entity/src/main/java/com/yihu/jw/entity/specialist/PatientLabelInfoDO.java
  11. 83 77
      common/common-entity/src/main/java/com/yihu/jw/entity/specialist/SpecialistArticleDO.java
  12. 126 117
      common/common-entity/src/main/java/com/yihu/jw/entity/specialist/SpecialistConsultDO.java
  13. 116 108
      common/common-entity/src/main/java/com/yihu/jw/entity/specialist/SpecialistDO.java
  14. 38 20
      common/common-entity/src/main/java/com/yihu/jw/entity/specialist/SpecialistPatientRelationDO.java
  15. 9 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/specialist/SpecialistMapping.java
  16. 0 23
      common/common-rest-model-es/src/main/java/common/SaveModel.java
  17. 13 2
      common/common-rest-model-es/src/main/java/iot/device/LocationDataVO.java
  18. 13 0
      common/common-rest-model/pom.xml
  19. 1 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/common/EnvelopRestController.java
  20. 44 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/specialist/AssistantVO.java
  21. 100 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/specialist/PatientLabelVO.java
  22. 10 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/specialist/PatientRelationVO.java
  23. 0 4
      server/svr-yihu-admin-server/src/main/resources/application.yml
  24. 0 69
      svr/svr-base/src/main/java/com/yihu/jw/business/sms/controller/SMSController.java
  25. 1 1
      svr/svr-base/src/main/resources/application.yml
  26. 6 1
      svr/svr-iot/pom.xml
  27. 5 7
      svr/svr-iot/src/main/java/com/yihu/iot/datainput/service/DataInputService.java
  28. 1 4
      svr/svr-iot/src/main/java/com/yihu/iot/datainput/service/DataStandardConvertService.java
  29. 2 2
      svr/svr-iot/src/main/java/com/yihu/iot/service/common/ElasticSearchQueryGenerator.java
  30. 12 16
      svr/svr-iot/src/main/java/com/yihu/iot/service/device/IotPatientDeviceService.java
  31. 1 0
      svr/svr-iot/src/main/resources/application.yml
  32. 1 0
      svr/svr-wlyy-specialist/pom.xml
  33. 146 36
      svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/controller/SpecialistController.java
  34. 12 12
      svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/dao/PatientLabelDao.java
  35. 12 12
      svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/dao/PatientLabelInfoDao.java
  36. 12 12
      svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/dao/SpecialistArticleDao.java
  37. 12 12
      svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/dao/SpecialistConsultDao.java
  38. 12 12
      svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/dao/SpecialistDao.java
  39. 2 0
      svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/dao/SpecialistPatientRelationDao.java
  40. 191 28
      svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/service/SpecialistService.java
  41. 14 0
      svr/svr-wlyy-specialist/src/main/resources/application.yml
  42. 10 0
      svr/svr-wlyy-specialist/src/main/resources/bootstrap.yml
  43. 9 3
      web-gateway/src/main/resources/application.yml

+ 50 - 0
common/common-entity-es/pom.xml

@ -0,0 +1,50 @@
<?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.base</groupId>
        <artifactId>common-lib-parent-pom</artifactId>
        <version>1.0.0</version>
        <relativePath>../../common-lib-parent-pom/pom.xml</relativePath>
    </parent>
    <groupId>com.yihu.jw</groupId>
    <artifactId>common-entity-es</artifactId>
    <version>${parent.version}</version>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-commons</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-elasticsearch</artifactId>
            <version>2.1.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>io.searchbox</groupId>
            <artifactId>jest-common</artifactId>
            <version>2.4.0</version>
        </dependency>
    </dependencies>
</project>

+ 1 - 1
common/common-entity/src/main/java/com/yihu/jw/iot/datainput/Data.java

@ -1,4 +1,4 @@
package com.yihu.jw.iot.datainput;
package com.yihu.jw.datainput;
/**
 * 具体各项体征指标数据值
 * @author lith on 2018/01/17.

+ 14 - 4
common/common-entity/src/main/java/com/yihu/jw/iot/datainput/DataBodySignsDO.java

@ -1,6 +1,7 @@
package com.yihu.jw.iot.datainput;
package com.yihu.jw.datainput;
import com.yihu.base.es.config.model.SaveModel;
import io.searchbox.annotations.JestId;
import java.util.List;
@ -8,9 +9,10 @@ import java.util.List;
 * 体征数据实体类,新的标准的数据格式
 * @author lith on 2018/01/17.
 */
public class DataBodySignsDO extends SaveModel {
public class DataBodySignsDO {
    @JestId
    private String id;
    private String access_token; //访问token
    private String data_source; //数据来源
    private String sn;          //设备序列码
@ -22,6 +24,14 @@ public class DataBodySignsDO extends SaveModel {
    private String username;    //用户名
    private String usercode;    //用户在系统中的code,唯一识别
    public String getId() {
        return this.id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getAccess_token() {
        return access_token;
    }

+ 1 - 2
common/common-entity/src/main/java/com/yihu/jw/iot/datainput/StepInfoDO.java

@ -1,6 +1,5 @@
package com.yihu.jw.iot.datainput;
package com.yihu.jw.datainput;
import com.fasterxml.jackson.annotation.JsonInclude;
/**
 * 微信运动具体时间步数实体类
 * @author lith on 2018/01/17.

+ 1 - 1
common/common-entity/src/main/java/com/yihu/jw/iot/datainput/WeRunDataDO.java

@ -1,4 +1,4 @@
package com.yihu.jw.iot.datainput;
package com.yihu.jw.datainput;
import java.util.List;

+ 1 - 1
common/common-entity/src/main/java/com/yihu/jw/iot/device/LocationDataDO.java

@ -1,4 +1,4 @@
package com.yihu.jw.iot.device;
package com.yihu.jw.device;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;

+ 0 - 20
common/common-entity/pom.xml

@ -36,25 +36,5 @@
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
        </dependency>
        <dependency>
            <groupId>io.searchbox</groupId>
            <artifactId>jest-common</artifactId>
            <version>2.4.0</version>
        </dependency>
        <dependency>
            <groupId>io.searchbox</groupId>
            <artifactId>jest-common</artifactId>
            <version>2.4.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-elasticsearch</artifactId>
            <version>2.1.9.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.yihu.base</groupId>
            <artifactId>common-data-es</artifactId>
            <version>1.0.0</version>
        </dependency>
    </dependencies>
</project>

+ 39 - 21
common/common-entity/src/main/java/com/yihu/jw/entity/specialist/PatientHospitalRecordDO.java

@ -13,29 +13,48 @@ import java.io.Serializable;
@Entity
@Table(name = "wlyy_patient_hospital_record")
public class PatientHospitalRecordDO extends IdEntityWithOperation implements Serializable {
    @Column(name = "saas_id")
    private String saasId;//
    @Column(name = "third_code")
    private String thirdCode;//智业记录code
    @Column(name = "event_code")
    private String eventCode; // 事件code
    @Column(name = "patient")
    private String patient;//患者
    @Column(name = "patient_name")
    private String patientName;//患者姓名
    @Column(name = "type")
    private String type;//出院:1;住院:0
    @Column(name = "hospital")
    private String hospital; //医院
    @Column(name = "hospital_name")
    private String hospitalName;
    @Column(name = "doctor")
    private String doctor; //医生
    @Column(name = "doctor_name")
    private String doctorName;
    @Column(name = "city")
    private String city; //城市
    @Column(name = "city_name")
    private String cityName;
    @Column(name = "town")
    private String town; //城镇
    @Column(name = "town_name")
    private String townName;
    @Column(name = "remark")
    private String remark; //备注
    @Column(name = "diagnosis")
    private String diagnosis; //诊断
    @Column(name = "label")
    private String label; //标签
    @Column(name = "label_name")
    private String labelName;
    @Column(name = "dept")
    private String dept;//部门
    @Column(name = "dept_name")
    private String deptName;
    @Column(name = "saas_id")
    public String getSaasId() {
        return saasId;
    }
@ -44,7 +63,7 @@ public class PatientHospitalRecordDO extends IdEntityWithOperation implements Se
        this.saasId = saasId;
    }
    @Column(name = "third_code")
    public String getThirdCode() {
        return thirdCode;
    }
@ -53,7 +72,7 @@ public class PatientHospitalRecordDO extends IdEntityWithOperation implements Se
        this.thirdCode = thirdCode;
    }
    @Column(name = "event_code")
    public String getEventCode() {
        return eventCode;
    }
@ -62,7 +81,7 @@ public class PatientHospitalRecordDO extends IdEntityWithOperation implements Se
        this.eventCode = eventCode;
    }
    @Column(name = "hospital")
    public String getHospital() {
        return hospital;
    }
@ -71,7 +90,7 @@ public class PatientHospitalRecordDO extends IdEntityWithOperation implements Se
        this.hospital = hospital;
    }
    @Column(name = "hospital_name")
    public String getHospitalName() {
        return hospitalName;
    }
@ -80,7 +99,7 @@ public class PatientHospitalRecordDO extends IdEntityWithOperation implements Se
        this.hospitalName = hospitalName;
    }
    @Column(name = "doctor")
    public String getDoctor() {
        return doctor;
    }
@ -89,7 +108,7 @@ public class PatientHospitalRecordDO extends IdEntityWithOperation implements Se
        this.doctor = doctor;
    }
    @Column(name = "doctor_name")
    public String getDoctorName() {
        return doctorName;
    }
@ -98,7 +117,7 @@ public class PatientHospitalRecordDO extends IdEntityWithOperation implements Se
        this.doctorName = doctorName;
    }
    @Column(name = "city")
    public String getCity() {
        return city;
    }
@ -107,7 +126,7 @@ public class PatientHospitalRecordDO extends IdEntityWithOperation implements Se
        this.city = city;
    }
    @Column(name = "city_name")
    public String getCityName() {
        return cityName;
    }
@ -116,7 +135,7 @@ public class PatientHospitalRecordDO extends IdEntityWithOperation implements Se
        this.cityName = cityName;
    }
    @Column(name = "town")
    public String getTown() {
        return town;
    }
@ -125,7 +144,7 @@ public class PatientHospitalRecordDO extends IdEntityWithOperation implements Se
        this.town = town;
    }
    @Column(name = "town_name")
    public String getTownName() {
        return townName;
    }
@ -134,7 +153,7 @@ public class PatientHospitalRecordDO extends IdEntityWithOperation implements Se
        this.townName = townName;
    }
    @Column(name = "remark")
    public String getRemark() {
        return remark;
    }
@ -143,7 +162,7 @@ public class PatientHospitalRecordDO extends IdEntityWithOperation implements Se
        this.remark = remark;
    }
    @Column(name = "diagnosis")
    public String getDiagnosis() {
        return diagnosis;
    }
@ -152,7 +171,7 @@ public class PatientHospitalRecordDO extends IdEntityWithOperation implements Se
        this.diagnosis = diagnosis;
    }
    @Column(name = "label")
    public String getLabel() {
        return label;
    }
@ -161,7 +180,7 @@ public class PatientHospitalRecordDO extends IdEntityWithOperation implements Se
        this.label = label;
    }
    @Column(name = "label_name")
    public String getLabelName() {
        return labelName;
    }
@ -170,7 +189,7 @@ public class PatientHospitalRecordDO extends IdEntityWithOperation implements Se
        this.labelName = labelName;
    }
    @Column(name = "dept")
    public String getDept() {
        return dept;
    }
@ -179,7 +198,6 @@ public class PatientHospitalRecordDO extends IdEntityWithOperation implements Se
        this.dept = dept;
    }
    @Column(name = "dept_ame")
    public String getDeptName() {
        return deptName;
    }
@ -188,7 +206,7 @@ public class PatientHospitalRecordDO extends IdEntityWithOperation implements Se
        this.deptName = deptName;
    }
    @Column(name = "patient")
    public String getPatient() {
        return patient;
    }
@ -197,7 +215,7 @@ public class PatientHospitalRecordDO extends IdEntityWithOperation implements Se
        this.patient = patient;
    }
    @Column(name = "patient_name")
    public String getPatientName() {
        return patientName;
    }
@ -206,7 +224,7 @@ public class PatientHospitalRecordDO extends IdEntityWithOperation implements Se
        this.patientName = patientName;
    }
    @Column(name = "type")
    public String getType() {
        return type;
    }

+ 94 - 87
common/common-entity/src/main/java/com/yihu/jw/entity/specialist/PatientLabelDO.java

@ -1,87 +1,94 @@
package com.yihu.jw.entity.specialist;
import com.yihu.jw.IdEntityWithOperation;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
/**
 * Created by Trick on 2018/5/29.
 */
@Entity
@Table(name = "wlyy_patient_label")
public class PatientLabelDO extends IdEntityWithOperation implements Serializable {
    private String saasId;
    private String labelName;//标签名称',
    private String labelCode;//标签code',
    private String labelType;//标签类型:1.装病类型;2.健康情况;3.自定义',
    private Integer sort;//排序',
    private String teamCode;//团队code',
    private String del;//1:有效;0:删除',
    @Column(name = "saas_id")
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    @Column(name = "label_name")
    public String getLabelName() {
        return labelName;
    }
    public void setLabelName(String labelName) {
        this.labelName = labelName;
    }
    @Column(name = "label_code")
    public String getLabelCode() {
        return labelCode;
    }
    public void setLabelCode(String labelCode) {
        this.labelCode = labelCode;
    }
    @Column(name = "label_type")
    public String getLabelType() {
        return labelType;
    }
    public void setLabelType(String labelType) {
        this.labelType = labelType;
    }
    @Column(name = "sort")
    public Integer getSort() {
        return sort;
    }
    public void setSort(Integer sort) {
        this.sort = sort;
    }
    @Column(name = "team_code")
    public String getTeamCode() {
        return teamCode;
    }
    public void setTeamCode(String teamCode) {
        this.teamCode = teamCode;
    }
    @Column(name = "del")
    public String getDel() {
        return del;
    }
    public void setDel(String del) {
        this.del = del;
    }
}
//package com.yihu.jw.entity.specialist;
//
//import com.yihu.jw.IdEntityWithOperation;
//
//import javax.persistence.Column;
//import javax.persistence.Entity;
//import javax.persistence.Table;
//import java.io.Serializable;
//
///**
// * Created by Trick on 2018/5/29.
// */
//@Entity
//@Table(name = "wlyy_patient_label")
//public class PatientLabelDO extends IdEntityWithOperation implements Serializable {
//
//    @Column(name = "saas_id")
//    private String saasId;
//    @Column(name = "label_name")
//    private String labelName;//标签名称',
//    @Column(name = "label_code")
//    private String labelCode;//标签code',
//    @Column(name = "label_type")
//    private String labelType;//标签类型:1.装病类型;2.健康情况;3.自定义',
//    @Column(name = "sort")
//    private Integer sort;//排序',
//    @Column(name = "team_code")
//    private String teamCode;//团队code',
//    @Column(name = "del")
//    private String del;//1:有效;0:删除',
//
//
//    public String getSaasId() {
//        return saasId;
//    }
//
//    public void setSaasId(String saasId) {
//        this.saasId = saasId;
//    }
//
//
//    public String getLabelName() {
//        return labelName;
//    }
//
//    public void setLabelName(String labelName) {
//        this.labelName = labelName;
//    }
//
//
//    public String getLabelCode() {
//        return labelCode;
//    }
//
//    public void setLabelCode(String labelCode) {
//        this.labelCode = labelCode;
//    }
//
//
//    public String getLabelType() {
//        return labelType;
//    }
//
//    public void setLabelType(String labelType) {
//        this.labelType = labelType;
//    }
//
//
//    public Integer getSort() {
//        return sort;
//    }
//
//    public void setSort(Integer sort) {
//        this.sort = sort;
//    }
//
//
//    public String getTeamCode() {
//        return teamCode;
//    }
//
//    public void setTeamCode(String teamCode) {
//        this.teamCode = teamCode;
//    }
//
//
//    public String getDel() {
//        return del;
//    }
//
//    public void setDel(String del) {
//        this.del = del;
//    }
//}

+ 83 - 77
common/common-entity/src/main/java/com/yihu/jw/entity/specialist/PatientLabelInfoDO.java

@ -1,77 +1,83 @@
package com.yihu.jw.entity.specialist;
import com.yihu.jw.IdEntityWithOperation;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
/**
 * Created by Trick on 2018/5/29.
 */
@Entity
@Table(name = "wlyy_patient_label_info")
public class PatientLabelInfoDO extends IdEntityWithOperation implements Serializable {
    private String saasId;
    private String patient;//居民code',
    private String labelName;//标签名称',
    private String labelCode;//标签code',
    private String labelType;//标签类别',
    private String teamCode;//团队code',
    @Column(name = "saas_id")
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    @Column(name = "patient")
    public String getPatient() {
        return patient;
    }
    public void setPatient(String patient) {
        this.patient = patient;
    }
    @Column(name = "label_name")
    public String getLabelName() {
        return labelName;
    }
    public void setLabelName(String labelName) {
        this.labelName = labelName;
    }
    @Column(name = "label_code")
    public String getLabelCode() {
        return labelCode;
    }
    public void setLabelCode(String labelCode) {
        this.labelCode = labelCode;
    }
    @Column(name = "label_type")
    public String getLabelType() {
        return labelType;
    }
    public void setLabelType(String labelType) {
        this.labelType = labelType;
    }
    @Column(name = "team_code")
    public String getTeamCode() {
        return teamCode;
    }
    public void setTeamCode(String teamCode) {
        this.teamCode = teamCode;
    }
}
//package com.yihu.jw.entity.specialist;
//
//import com.yihu.jw.IdEntityWithOperation;
//
//import javax.persistence.Column;
//import javax.persistence.Entity;
//import javax.persistence.Table;
//import java.io.Serializable;
//
///**
// * Created by Trick on 2018/5/29.
// */
//@Entity
//@Table(name = "wlyy_patient_label_info")
//public class PatientLabelInfoDO extends IdEntityWithOperation implements Serializable {
//
//    @Column(name = "saas_id")
//    private String saasId;
//    @Column(name = "patient")
//    private String patient;//居民code',
//    @Column(name = "label_name")
//    private String labelName;//标签名称',
//    @Column(name = "label_code")
//    private String labelCode;//标签code',
//    @Column(name = "label_type")
//    private String labelType;//标签类别',
//    @Column(name = "team_code")
//    private String teamCode;//团队code',
//
//
//    public String getSaasId() {
//        return saasId;
//    }
//
//    public void setSaasId(String saasId) {
//        this.saasId = saasId;
//    }
//
//
//    public String getPatient() {
//        return patient;
//    }
//
//    public void setPatient(String patient) {
//        this.patient = patient;
//    }
//
//
//    public String getLabelName() {
//        return labelName;
//    }
//
//    public void setLabelName(String labelName) {
//        this.labelName = labelName;
//    }
//
//
//    public String getLabelCode() {
//        return labelCode;
//    }
//
//    public void setLabelCode(String labelCode) {
//        this.labelCode = labelCode;
//    }
//
//
//    public String getLabelType() {
//        return labelType;
//    }
//
//    public void setLabelType(String labelType) {
//        this.labelType = labelType;
//    }
//
//
//    public String getTeamCode() {
//        return teamCode;
//    }
//
//    public void setTeamCode(String teamCode) {
//        this.teamCode = teamCode;
//    }
//}

+ 83 - 77
common/common-entity/src/main/java/com/yihu/jw/entity/specialist/SpecialistArticleDO.java

@ -1,77 +1,83 @@
package com.yihu.jw.entity.specialist;
import com.yihu.jw.IdEntityWithOperation;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
/**
 * Created by Trick on 2018/4/24.
 */
@Entity
@Table(name = "wlyy_specialist_Article")
public class SpecialistArticleDO extends IdEntityWithOperation implements Serializable {
    private String saasId;
    private String patient;//居民
    private String patientName;//居民
    private String doctor;//医生
    private String doctorName;//医生
    private String article;//文章
    @Column(name = "saas_id")
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    @Column(name = "patient")
    public String getPatient() {
        return patient;
    }
    public void setPatient(String patient) {
        this.patient = patient;
    }
    @Column(name = "patient_name")
    public String getPatientName() {
        return patientName;
    }
    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }
    @Column(name = "doctor")
    public String getDoctor() {
        return doctor;
    }
    public void setDoctor(String doctor) {
        this.doctor = doctor;
    }
    @Column(name = "doctor_name")
    public String getDoctorName() {
        return doctorName;
    }
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }
    @Column(name = "article")
    public String getArticle() {
        return article;
    }
    public void setArticle(String article) {
        this.article = article;
    }
}
//package com.yihu.jw.entity.specialist;
//
//import com.yihu.jw.IdEntityWithOperation;
//
//import javax.persistence.Column;
//import javax.persistence.Entity;
//import javax.persistence.Table;
//import java.io.Serializable;
//
///**
// * Created by Trick on 2018/4/24.
// */
//@Entity
//@Table(name = "wlyy_specialist_Article")
//public class SpecialistArticleDO extends IdEntityWithOperation implements Serializable {
//
//    @Column(name = "saas_id")
//    private String saasId;
//    @Column(name = "patient")
//    private String patient;//居民
//    @Column(name = "patient_name")
//    private String patientName;//居民
//    @Column(name = "doctor")
//    private String doctor;//医生
//    @Column(name = "doctor_name")
//    private String doctorName;//医生
//    @Column(name = "article")
//    private String article;//文章
//
//
//    public String getSaasId() {
//        return saasId;
//    }
//
//    public void setSaasId(String saasId) {
//        this.saasId = saasId;
//    }
//
//
//    public String getPatient() {
//        return patient;
//    }
//
//    public void setPatient(String patient) {
//        this.patient = patient;
//    }
//
//
//    public String getPatientName() {
//        return patientName;
//    }
//
//    public void setPatientName(String patientName) {
//        this.patientName = patientName;
//    }
//
//
//    public String getDoctor() {
//        return doctor;
//    }
//
//    public void setDoctor(String doctor) {
//        this.doctor = doctor;
//    }
//
//
//    public String getDoctorName() {
//        return doctorName;
//    }
//
//    public void setDoctorName(String doctorName) {
//        this.doctorName = doctorName;
//    }
//
//
//    public String getArticle() {
//        return article;
//    }
//
//    public void setArticle(String article) {
//        this.article = article;
//    }
//}

+ 126 - 117
common/common-entity/src/main/java/com/yihu/jw/entity/specialist/SpecialistConsultDO.java

@ -1,117 +1,126 @@
package com.yihu.jw.entity.specialist;
import com.yihu.jw.IdEntityWithOperation;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
/**
 * Created by Trick on 2018/4/24.
 */
@Entity
@Table(name = "wlyy_specialist_consult")
public class SpecialistConsultDO extends IdEntityWithOperation implements Serializable {
    private String saasId;
    private String consult;//关联咨询code
    private String doctor;//专科医生
    private String doctorName;//专科医生姓名
    private String type;//类型:1.家庭医生咨询,2.居民咨询
    private String member;//咨询对象
    private String memberName;//咨询对象
    private String status;// 1.咨询完成,0.咨询进行中
    private String reply;// 1.专科医生已经参与;0.~未参与
    private String content;//咨询内容
    @Column(name = "saas_id")
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    @Column(name = "consult")
    public String getConsult() {
        return consult;
    }
    public void setConsult(String consult) {
        this.consult = consult;
    }
    @Column(name = "doctor")
    public String getDoctor() {
        return doctor;
    }
    public void setDoctor(String doctor) {
        this.doctor = doctor;
    }
    @Column(name = "doctor_name")
    public String getDoctorName() {
        return doctorName;
    }
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }
    @Column(name = "type")
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    @Column(name = "member")
    public String getMember() {
        return member;
    }
    public void setMember(String member) {
        this.member = member;
    }
    @Column(name = "member_name")
    public String getMemberName() {
        return memberName;
    }
    public void setMemberName(String memberName) {
        this.memberName = memberName;
    }
    @Column(name = "status")
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    @Column(name = "reply")
    public String getReply() {
        return reply;
    }
    public void setReply(String reply) {
        this.reply = reply;
    }
    @Column(name = "content")
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
}
//package com.yihu.jw.entity.specialist;
//
//import com.yihu.jw.IdEntityWithOperation;
//
//import javax.persistence.Column;
//import javax.persistence.Entity;
//import javax.persistence.Table;
//import java.io.Serializable;
//
///**
// * Created by Trick on 2018/4/24.
// */
//@Entity
//@Table(name = "wlyy_specialist_consult")
//public class SpecialistConsultDO extends IdEntityWithOperation implements Serializable {
//    @Column(name = "saas_id")
//    private String saasId;
//    @Column(name = "consult")
//    private String consult;//关联咨询code
//    @Column(name = "doctor")
//    private String doctor;//专科医生
//    @Column(name = "doctor_name")
//    private String doctorName;//专科医生姓名
//    @Column(name = "type")
//    private String type;//类型:1.家庭医生咨询,2.居民咨询
//    @Column(name = "member")
//    private String member;//咨询对象
//    @Column(name = "member_name")
//    private String memberName;//咨询对象
//    @Column(name = "status")
//    private String status;// 1.咨询完成,0.咨询进行中
//    @Column(name = "reply")
//    private String reply;// 1.专科医生已经参与;0.~未参与
//    @Column(name = "content")
//    private String content;//咨询内容
//
//
//    public String getSaasId() {
//        return saasId;
//    }
//
//    public void setSaasId(String saasId) {
//        this.saasId = saasId;
//    }
//
//
//    public String getConsult() {
//        return consult;
//    }
//
//    public void setConsult(String consult) {
//        this.consult = consult;
//    }
//
//
//    public String getDoctor() {
//        return doctor;
//    }
//
//    public void setDoctor(String doctor) {
//        this.doctor = doctor;
//    }
//
//
//    public String getDoctorName() {
//        return doctorName;
//    }
//
//    public void setDoctorName(String doctorName) {
//        this.doctorName = doctorName;
//    }
//
//
//    public String getType() {
//        return type;
//    }
//
//    public void setType(String type) {
//        this.type = type;
//    }
//
//
//    public String getMember() {
//        return member;
//    }
//
//    public void setMember(String member) {
//        this.member = member;
//    }
//
//
//    public String getMemberName() {
//        return memberName;
//    }
//
//    public void setMemberName(String memberName) {
//        this.memberName = memberName;
//    }
//
//
//    public String getStatus() {
//        return status;
//    }
//
//    public void setStatus(String status) {
//        this.status = status;
//    }
//
//
//    public String getReply() {
//        return reply;
//    }
//
//    public void setReply(String reply) {
//        this.reply = reply;
//    }
//
//
//    public String getContent() {
//        return content;
//    }
//
//    public void setContent(String content) {
//        this.content = content;
//    }
//}

+ 116 - 108
common/common-entity/src/main/java/com/yihu/jw/entity/specialist/SpecialistDO.java

@ -1,108 +1,116 @@
package com.yihu.jw.entity.specialist;
import com.yihu.jw.IdEntityWithOperation;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
/**
 * Created by Trick on 2018/4/24.
 */
@Entity
@Table(name = "wlyy_specialist")
public class SpecialistDO extends IdEntityWithOperation implements Serializable {
    private String saasId;
    private String name; //专科医生姓名
    private String profession; //专业
    private String professionName; // 专业名称
    private String dept; //科室
    private String deptName; //科室名称
    private String hospital;//医院
    private String hospitalName;//医院名称
    private String del;//1:有效;0:删除
    @Column(name = "saas_id")
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    @Column(name = "name")
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Column(name = "profession")
    public String getProfession() {
        return profession;
    }
    public void setProfession(String profession) {
        this.profession = profession;
    }
    @Column(name = "profession_name")
    public String getProfessionName() {
        return professionName;
    }
    public void setProfessionName(String professionName) {
        this.professionName = professionName;
    }
    @Column(name = "dept")
    public String getDept() {
        return dept;
    }
    public void setDept(String dept) {
        this.dept = dept;
    }
    @Column(name = "dept_name")
    public String getDeptName() {
        return deptName;
    }
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
    @Column(name = "hospital")
    public String getHospital() {
        return hospital;
    }
    public void setHospital(String hospital) {
        this.hospital = hospital;
    }
    @Column(name = "hospital_name")
    public String getHospitalName() {
        return hospitalName;
    }
    public void setHospitalName(String hospitalName) {
        this.hospitalName = hospitalName;
    }
    @Column(name = "del")
    public String getDel() {
        return del;
    }
    public void setDel(String del) {
        this.del = del;
    }
}
//package com.yihu.jw.entity.specialist;
//
//import com.yihu.jw.IdEntityWithOperation;
//
//import javax.persistence.Column;
//import javax.persistence.Entity;
//import javax.persistence.Table;
//import java.io.Serializable;
//
///**
// * Created by Trick on 2018/4/24.
// */
//@Entity
//@Table(name = "wlyy_specialist")
//public class SpecialistDO extends IdEntityWithOperation implements Serializable {
//    @Column(name = "saas_id")
//    private String saasId;
//    @Column(name = "name")
//    private String name; //专科医生姓名
//    @Column(name = "profession")
//    private String profession; //专业
//    @Column(name = "profession_name")
//    private String professionName; // 专业名称
//    @Column(name = "dept")
//    private String dept; //科室
//    @Column(name = "dept_name")
//    private String deptName; //科室名称
//
//    @Column(name = "hospital")
//    private String hospital;//医院
//    @Column(name = "hospital_name")
//    private String hospitalName;//医院名称
//    @Column(name = "del")
//    private String del;//1:有效;0:删除
//
//
//    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 getProfession() {
//        return profession;
//    }
//
//    public void setProfession(String profession) {
//        this.profession = profession;
//    }
//
//
//    public String getProfessionName() {
//        return professionName;
//    }
//
//
//    public void setProfessionName(String professionName) {
//        this.professionName = professionName;
//    }
//
//
//    public String getDept() {
//        return dept;
//    }
//
//    public void setDept(String dept) {
//        this.dept = dept;
//    }
//
//
//    public String getDeptName() {
//        return deptName;
//    }
//
//    public void setDeptName(String deptName) {
//        this.deptName = deptName;
//    }
//
//    public String getHospital() {
//        return hospital;
//    }
//
//    public void setHospital(String hospital) {
//        this.hospital = hospital;
//    }
//
//
//    public String getHospitalName() {
//        return hospitalName;
//    }
//
//    public void setHospitalName(String hospitalName) {
//        this.hospitalName = hospitalName;
//    }
//
//
//    public String getDel() {
//        return del;
//    }
//
//    public void setDel(String del) {
//        this.del = del;
//    }
//}

+ 38 - 20
common/common-entity/src/main/java/com/yihu/jw/entity/specialist/SpecialistPatientRelationDO.java

@ -15,26 +15,61 @@ import java.util.Date;
@Table(name = "wlyy_specialist_patient_relation")
public class SpecialistPatientRelationDO extends IdEntityWithOperation implements Serializable {
    @Column(name = "saas_id")
    private String saasId;
    @Column(name = "discharge_record")
    private String dischargeRecord;//最新出院记录
    @Column(name = "doctor")
    private String doctor;//专科医生
    @Column(name = "doctor_name")
    private String doctorName;//专科医生姓名
    @Column(name = "patient")
    private String patient;// 居民(患者)
    @Column(name = "patient_name")
    private String patientName;//居民(患者)姓名
    @Column(name = "health_assistant")
    private String healthAssistant;//计管师
    @Column(name = "health_assistant_name")
    private String healthAssistantName;//计管师
    @Column(name = "status")
    private String status;//1.已经分配,0,待分配
    @Column(name = "pk_code")
    private String pkCode; //服务包code
    @Column(name = "sign_code")
    private String signCode;//签约code
    @Column(name = "sign_doctor")
    private String signDoctor;//签约医生
    @Column(name = "sign_doctor_name")
    private String signDoctorName;//签约医生
    @Column(name = "health_doctor")
    private String healthDoctor;//健康管理师
    @Column(name = "health_doctor_name")
    private String healthDoctorName;//健康管理师姓名
    @Column(name = "sign_year")
    private String signYear;//签约年度
    @Column(name = "team_code")
    private Integer teamCode;//签约团队
    @Column(name = "sign_date")
    private Date signDate;//签约日期
    @Column(name = "saas_id")
    public String getSaasId() {
        return saasId;
    }
@ -43,7 +78,7 @@ public class SpecialistPatientRelationDO extends IdEntityWithOperation implement
        this.saasId = saasId;
    }
    @Column(name = "discharge_record")
    public String getDischargeRecord() {
        return dischargeRecord;
    }
@ -52,7 +87,7 @@ public class SpecialistPatientRelationDO extends IdEntityWithOperation implement
        this.dischargeRecord = dischargeRecord;
    }
    @Column(name = "doctor")
    public String getDoctor() {
        return doctor;
    }
@ -61,7 +96,6 @@ public class SpecialistPatientRelationDO extends IdEntityWithOperation implement
        this.doctor = doctor;
    }
    @Column(name = "doctor_name")
    public String getDoctorName() {
        return doctorName;
    }
@ -70,7 +104,6 @@ public class SpecialistPatientRelationDO extends IdEntityWithOperation implement
        this.doctorName = doctorName;
    }
    @Column(name = "patient")
    public String getPatient() {
        return patient;
    }
@ -79,7 +112,6 @@ public class SpecialistPatientRelationDO extends IdEntityWithOperation implement
        this.patient = patient;
    }
    @Column(name = "patient_name")
    public String getPatientName() {
        return patientName;
    }
@ -88,7 +120,6 @@ public class SpecialistPatientRelationDO extends IdEntityWithOperation implement
        this.patientName = patientName;
    }
    @Column(name = "status")
    public String getStatus() {
        return status;
    }
@ -97,7 +128,6 @@ public class SpecialistPatientRelationDO extends IdEntityWithOperation implement
        this.status = status;
    }
    @Column(name = "sign_code")
    public String getSignCode() {
        return signCode;
    }
@ -106,7 +136,6 @@ public class SpecialistPatientRelationDO extends IdEntityWithOperation implement
        this.signCode = signCode;
    }
    @Column(name = "sign_doctor")
    public String getSignDoctor() {
        return signDoctor;
    }
@ -115,7 +144,6 @@ public class SpecialistPatientRelationDO extends IdEntityWithOperation implement
        this.signDoctor = signDoctor;
    }
    @Column(name = "sign_doctor_name")
    public String getSignDoctorName() {
        return signDoctorName;
    }
@ -124,7 +152,6 @@ public class SpecialistPatientRelationDO extends IdEntityWithOperation implement
        this.signDoctorName = signDoctorName;
    }
    @Column(name = "health_doctor")
    public String getHealthDoctor() {
        return healthDoctor;
    }
@ -133,7 +160,6 @@ public class SpecialistPatientRelationDO extends IdEntityWithOperation implement
        this.healthDoctor = healthDoctor;
    }
    @Column(name = "health_doctor_name")
    public String getHealthDoctorName() {
        return healthDoctorName;
    }
@ -142,7 +168,6 @@ public class SpecialistPatientRelationDO extends IdEntityWithOperation implement
        this.healthDoctorName = healthDoctorName;
    }
    @Column(name = "sign_year")
    public String getSignYear() {
        return signYear;
    }
@ -151,9 +176,6 @@ public class SpecialistPatientRelationDO extends IdEntityWithOperation implement
        this.signYear = signYear;
    }
    @Column(name = "sign_date")
    public Date getSignDate() {
        return signDate;
    }
@ -162,7 +184,6 @@ public class SpecialistPatientRelationDO extends IdEntityWithOperation implement
        this.signDate = signDate;
    }
    @Column(name = "team_code")
    public Integer getTeamCode() {
        return teamCode;
    }
@ -171,7 +192,6 @@ public class SpecialistPatientRelationDO extends IdEntityWithOperation implement
        this.teamCode = teamCode;
    }
    @Column(name = "health_assistant")
    public String getHealthAssistant() {
        return healthAssistant;
    }
@ -180,7 +200,6 @@ public class SpecialistPatientRelationDO extends IdEntityWithOperation implement
        this.healthAssistant = healthAssistant;
    }
    @Column(name = "health_assistant_name")
    public String getHealthAssistantName() {
        return healthAssistantName;
    }
@ -189,7 +208,6 @@ public class SpecialistPatientRelationDO extends IdEntityWithOperation implement
        this.healthAssistantName = healthAssistantName;
    }
    @Column(name = "pk_code")
    public String getPkCode() {
        return pkCode;
    }

+ 9 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/specialist/SpecialistMapping.java

@ -16,5 +16,14 @@ public class SpecialistMapping {
        public static final String createConsult = "/createConsult";
        public static final String createArticle = "/createArticle";
        public static final String findSpecialistPatientRelation = "/findSpecialistPatientRelation";
        public static final String findSpecialistPatientRelationCout = "/findSpecialistPatientRelationCout";
        public static final String findNoLabelPatientRelation ="/findNoLabelPatientRelation";
        public static final String saveHealthAssistant ="/saveHealthAssistant";
        public static final String findPatientRelatioByAssistant ="/findPatientRelatioByAssistant";
        public static final String getPatientByLabel ="/getPatientByLabel";
        public static final String getLabelpatientCount ="/getLabelpatientCount";
        public static final String getAssistantPatientCount ="/getAssistantPatientCount";
        public static final String getDoctorPatientByName ="/getDoctorPatientByName";
    }
}

+ 0 - 23
common/common-rest-model-es/src/main/java/common/SaveModel.java

@ -1,23 +0,0 @@
package common;
import io.searchbox.annotations.JestId;
/**
 * @author yeshijie on 2018/3/2.
 */
public class SaveModel {
    @JestId
    private String id;
    public SaveModel() {
    }
    public String getId() {
        return this.id;
    }
    public void setId(String id) {
        this.id = id;
    }
}

+ 13 - 2
common/common-rest-model-es/src/main/java/iot/device/LocationDataVO.java

@ -1,7 +1,7 @@
package iot.device;
import com.fasterxml.jackson.annotation.JsonInclude;
import common.SaveModel;
import io.searchbox.annotations.JestId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.data.elasticsearch.core.geo.GeoPoint;
@ -12,7 +12,10 @@ import org.springframework.data.elasticsearch.core.geo.GeoPoint;
 */
@JsonInclude(JsonInclude.Include.ALWAYS)
@ApiModel(value = "设备地址信息", description = "设备地址信息")
public class LocationDataVO extends SaveModel {
public class LocationDataVO {
    @JestId
    private String id;
    @ApiModelProperty("设备绑定的居民身份证")
    private String idCard;
@ -38,6 +41,14 @@ public class LocationDataVO extends SaveModel {
    @ApiModelProperty("创建时间")
    private String createTime;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getIdCard() {
        return idCard;
    }

+ 13 - 0
common/common-rest-model/pom.xml

@ -31,6 +31,7 @@
        <dependency>
            <groupId>com.yihu.jw</groupId>
            <artifactId>common-exception</artifactId>
            <version>${parent.version}</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
@ -52,5 +53,17 @@
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.social</groupId>
            <artifactId>spring-social-core</artifactId>
        </dependency>
        <dependency>
            <groupId>com.yihu.jw</groupId>
            <artifactId>common-exception</artifactId>
        </dependency>
        <dependency>
            <groupId>com.yihu.jw</groupId>
            <artifactId>common-exception</artifactId>
        </dependency>
    </dependencies>
</project>

+ 1 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/common/EnvelopRestController.java

@ -4,6 +4,7 @@ package com.yihu.jw.restmodel.common;
import com.fasterxml.jackson.databind.ObjectMapper;
//import com.yihu.jw.exception.ApiException;
//import com.yihu.jw.exception.code.ExceptionCode;
import com.yihu.jw.exception.ApiException;
import com.yihu.jw.exception.code.ExceptionCode;
import com.yihu.jw.util.date.DateUtil;

+ 44 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/specialist/AssistantVO.java

@ -0,0 +1,44 @@
package com.yihu.jw.restmodel.specialist;
/**
 * Created by Trick on 2018/5/31.
 */
public class AssistantVO {
    private String doctor;
    private String patient;
    private String healthAssistant;
    private String healthAssistantName;
    public String getDoctor() {
        return doctor;
    }
    public void setDoctor(String doctor) {
        this.doctor = doctor;
    }
    public String getPatient() {
        return patient;
    }
    public void setPatient(String patient) {
        this.patient = patient;
    }
    public String getHealthAssistant() {
        return healthAssistant;
    }
    public void setHealthAssistant(String healthAssistant) {
        this.healthAssistant = healthAssistant;
    }
    public String getHealthAssistantName() {
        return healthAssistantName;
    }
    public void setHealthAssistantName(String healthAssistantName) {
        this.healthAssistantName = healthAssistantName;
    }
}

+ 100 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/specialist/PatientLabelVO.java

@ -0,0 +1,100 @@
package com.yihu.jw.restmodel.specialist;
import io.swagger.annotations.ApiModelProperty;
/**
 * Created by Trick on 2018/6/8.
 */
public class PatientLabelVO {
    @ApiModelProperty("居民code")
    private String code;
    @ApiModelProperty("居民")
    private String name ;
    @ApiModelProperty("年龄")
    private String age;
    @ApiModelProperty("标签名称")
    private String labelName;
    @ApiModelProperty("标签类型")
    private String labelType;
    @ApiModelProperty("标签code")
    private String label;
    @ApiModelProperty("居民头像")
    private String photo;
    @ApiModelProperty("居民健康情况")
    private String health;
    @ApiModelProperty("居民健康情况code")
    private String healthcode;
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }
    public String getLabelName() {
        return labelName;
    }
    public void setLabelName(String labelName) {
        this.labelName = labelName;
    }
    public String getLabelType() {
        return labelType;
    }
    public void setLabelType(String labelType) {
        this.labelType = labelType;
    }
    public String getLabel() {
        return label;
    }
    public void setLabel(String label) {
        this.label = label;
    }
    public String getPhoto() {
        return photo;
    }
    public void setPhoto(String photo) {
        this.photo = photo;
    }
    public String getHealth() {
        return health;
    }
    public void setHealth(String health) {
        this.health = health;
    }
    public String getHealthcode() {
        return healthcode;
    }
    public void setHealthcode(String healthcode) {
        this.healthcode = healthcode;
    }
}

+ 10 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/specialist/PatientRelationVO.java

@ -17,6 +17,8 @@ public class PatientRelationVO {
    private String patientName;
    @ApiModelProperty("年龄")
    private String age;
    @ApiModelProperty("性别")
    private String sex;
    @ApiModelProperty("头像")
    private String photo;
    @ApiModelProperty("出院时间")
@ -61,4 +63,12 @@ public class PatientRelationVO {
    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
}

+ 0 - 4
server/svr-yihu-admin-server/src/main/resources/application.yml

@ -6,11 +6,7 @@ spring:
    name: svr-yihu-admin-server
  data:
    elasticsearch:
      cluster-name: jkzl #es集群的名字
      cluster-nodes: 172.19.103.68:9300  #多个逗号分割
      cluster-nodes-jest:  http://172.19.103.68:9200 #多个逗号分割
      jest:
      uris: ${spring.data.elasticsearch.cluster-nodes-jest}
        discovery-enabled: false #开启嗅探
        conn-timeout: 60 # 连接时间单位是秒
        read-timeout: 60 # 读取时间单位是秒

+ 0 - 69
svr/svr-base/src/main/java/com/yihu/jw/business/sms/controller/SMSController.java

@ -1,69 +0,0 @@
package com.yihu.jw.business.sms.controller;
import com.yihu.jw.base.sms.BaseSmsDO;
import com.yihu.jw.business.sms.service.SmsService;
import com.yihu.jw.exception.ApiException;
import com.yihu.jw.restmodel.base.sms.SmsVO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.restmodel.common.EnvelopRestController;
import com.yihu.jw.restmodel.common.base.BaseEnvelop;
import com.yihu.jw.rm.base.BaseSmsRequestMapping;
import com.yihu.jw.util.common.MobileUtils;
import com.yihu.jw.util.common.NetworkUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
 * Created by chenweida on 2017/5/19.
 * 注册发送短信验证码
 */
@RestController
@RequestMapping(BaseSmsRequestMapping.api_common)
@Api(value = "短信模块", description = "短信模块接口管理")
public class SMSController extends EnvelopRestController {
    @Autowired
    private SmsService smsService;
    @ApiOperation(value = "(注册、找回密码)发送校验码")
    @PostMapping(value = BaseSmsRequestMapping.Sms.api_sms_send, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    public BaseEnvelop send(@ApiParam(name = "mobile", value = "手机号码", required = true) @RequestParam(value = "mobile", required = true) String mobile,
                            @ApiParam(name = "type", value = "短信验证码类型", required = true) @RequestParam(value = "type", required = true) int type,
                            @ApiParam(name = "saasId", value = "saasId", required = true) @RequestParam(value = "saasId", required = true) String saasId,
                            HttpServletRequest request) throws IOException {
        try {
            if (type > 10 || type < 1) {
                return BaseEnvelop.getError("无效的请求!");
            }
            if (StringUtils.isEmpty(mobile)) {
                return BaseEnvelop.getError("手机号码不允许为空!");
            }
            if(!MobileUtils.checkCellphone(mobile)){
                return BaseEnvelop.getError("手机号码格式不正确!");
            }
            // 获取ip地址
            String ip = NetworkUtil.getIpAddress(request);
            if (StringUtils.isEmpty(ip)) {
                return  BaseEnvelop.getError("无效的ip请求!");
            }
            BaseEnvelop envelop1 = smsService.send(mobile,ip,type,saasId);
            return envelop1;
        } catch (Exception e) {
            error(e);
            return  BaseEnvelop.getError("手机号有误,无法发送验证!");
        }
    }
}

+ 1 - 1
svr/svr-base/src/main/resources/application.yml

@ -40,7 +40,7 @@ yihu:
        http: true #默认true
        sql:
          hibernate: true ##默认false
          springJDBC: true ##默认true
          springJDBC: true ##默认false
      server:
        ip: 192.168.131.102
        port: 8082

+ 6 - 1
svr/svr-iot/pom.xml

@ -146,7 +146,7 @@
        <dependency>
            <groupId>com.yihu</groupId>
            <artifactId>common-data-es-starter</artifactId>
            <version>1.0.1</version>
            <version>1.1.2</version>
        </dependency>
        <dependency>
            <groupId>com.yihu.jw</groupId>
@ -163,6 +163,11 @@
            <artifactId>poi</artifactId>
            <version>3.15-beta1</version>
        </dependency>
        <dependency>
            <groupId>com.yihu.jw</groupId>
            <artifactId>common-entity-es</artifactId>
            <version>1.0.0</version>
        </dependency>
    </dependencies>
    <build>
        <finalName>svr-iot</finalName>

+ 5 - 7
svr/svr-iot/src/main/java/com/yihu/iot/datainput/service/DataInputService.java

@ -3,17 +3,15 @@ package com.yihu.iot.datainput.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.base.es.config.ElastricSearchHelper;
import com.yihu.base.es.config.model.SaveModel;
//import com.yihu.base.hbase.HBaseAdmin;
//import com.yihu.base.hbase.HBaseHelper;
import com.yihu.iot.datainput.enums.DataOperationTypeEnum;
import com.yihu.iot.datainput.util.ConstantUtils;
import com.yihu.iot.datainput.util.RowKeyUtils;
import com.yihu.iot.service.device.IotDeviceService;
import com.yihu.jw.iot.datainput.DataBodySignsDO;
import com.yihu.jw.iot.datainput.WeRunDataDO;
import com.yihu.jw.datainput.DataBodySignsDO;
import com.yihu.jw.datainput.WeRunDataDO;
import com.yihu.jw.iot.device.IotDeviceDO;
import com.yihu.jw.restmodel.iot.datainput.WeRunDataVO;
import com.yihu.jw.util.date.DateUtil;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
@ -278,10 +276,10 @@ public class DataInputService {
            familyList.add(family);
        }
        DataBodySignsDO bodySignsDO = JSONObject.parseObject(jsonObject.toJSONString(),DataBodySignsDO.class);
        List<SaveModel> list = new ArrayList<>();
        list.add(bodySignsDO);
        JSONArray saveArray = new JSONArray();
        saveArray.add(bodySignsDO);
        //将数据存入es
        elastricSearchHelper.save(ConstantUtils.esIndex, ConstantUtils.esType, list);
        elastricSearchHelper.save(ConstantUtils.esIndex, ConstantUtils.esType, saveArray.toJSONString());
        /*try {
            boolean tableExists = hBaseAdmin.isTableExists(ConstantUtils.tableName);

+ 1 - 4
svr/svr-iot/src/main/java/com/yihu/iot/datainput/service/DataStandardConvertService.java

@ -1,17 +1,14 @@
package com.yihu.iot.datainput.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.iot.datainput.enums.DataDeviceTypeEnum;
import com.yihu.iot.datainput.enums.DataOperationTypeEnum;
import com.yihu.iot.datainput.enums.DataTypeEnum;
import com.yihu.jw.iot.datainput.DataBodySignsDO;
import com.yihu.jw.datainput.DataBodySignsDO;
import com.yihu.jw.iot.datainput.DataStandardDO;
import com.yihu.jw.util.date.DateUtil;
import org.apache.http.client.utils.DateUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

+ 2 - 2
svr/svr-iot/src/main/java/com/yihu/iot/service/common/ElasticSearchQueryGenerator.java

@ -5,8 +5,8 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.iot.datainput.enums.DataTypeEnum;
import com.yihu.iot.datainput.service.DataStandardConvertService;
import com.yihu.jw.iot.datainput.Data;
import com.yihu.jw.iot.datainput.StepInfoDO;
import com.yihu.jw.datainput.Data;
import com.yihu.jw.datainput.StepInfoDO;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
//import org.apache.hadoop.hbase.util.CollectionUtils;

+ 12 - 16
svr/svr-iot/src/main/java/com/yihu/iot/service/device/IotPatientDeviceService.java

@ -2,13 +2,12 @@ package com.yihu.iot.service.device;
import com.alibaba.fastjson.JSONObject;
import com.yihu.base.es.config.ElastricSearchHelper;
import com.yihu.base.es.config.model.SaveModel;
import com.yihu.base.mysql.query.BaseJpaService;
import com.yihu.iot.dao.device.IotPatientDeviceDao;
import com.yihu.iot.datainput.util.ConstantUtils;
import com.yihu.iot.service.common.ElasticSearchQueryGenerator;
import com.yihu.jw.device.LocationDataDO;
import com.yihu.jw.iot.device.IotPatientDeviceDO;
import com.yihu.jw.iot.device.LocationDataDO;
import com.yihu.jw.restmodel.iot.device.IotPatientDeviceVO;
import com.yihu.jw.util.common.LatitudeUtils;
import com.yihu.jw.util.date.DateUtil;
@ -22,10 +21,7 @@ import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * @author yeshijie on 2018/1/16.
@ -227,18 +223,18 @@ public class IotPatientDeviceService extends BaseJpaService<IotPatientDeviceDO,I
     * @return
     */
    public boolean deleteLocationsByIdcardOrSn(String jsonData){
        List<SaveModel> saveModelList = new ArrayList<>();
        List<Map<String,Object>> idList = new ArrayList<>();
        SearchSourceBuilder queryStr = elasticSearchQueryGenerator.getQueryBuilder("",jsonData);
        JestResult esResult = elastricSearchHelper.search(ConstantUtils.deviceLocationIndex,ConstantUtils.deviceLocationType,queryStr.toString());
        List<LocationDataVO> resultList = getESResultBeanList(esResult);
        for(LocationDataVO locationDataVO : resultList){
            SaveModel saveModel = new SaveModel();
            saveModel.setId(locationDataVO.getId());
            saveModelList.add(saveModel);
                Map<String,Object> map = new HashMap<>();
                map.put("id",locationDataVO.getId());
                idList.add(map);
        }
        boolean bool = true;
        try {
            elastricSearchHelper.deleteData(ConstantUtils.deviceLocationIndex,ConstantUtils.deviceLocationType,saveModelList);
            elastricSearchHelper.delete(ConstantUtils.deviceLocationIndex,ConstantUtils.deviceLocationType,idList);
        }catch (Exception e){
            bool = false;
        }
@ -252,16 +248,16 @@ public class IotPatientDeviceService extends BaseJpaService<IotPatientDeviceDO,I
     * @return
     */
    public boolean updateLocationsByIdcardOrSn(String jsonData){
        List<SaveModel> saveModelList = new ArrayList<>();
        List<Map<String,Object>> idList = new ArrayList<>();
        SearchSourceBuilder queryStr = elasticSearchQueryGenerator.getQueryBuilder("",jsonData);
        JestResult esResult = elastricSearchHelper.search(ConstantUtils.deviceLocationIndex,ConstantUtils.deviceLocationType,queryStr.toString());
        List<LocationDataVO> resultList = getESResultBeanList(esResult);
        for(LocationDataVO locationDataVO : resultList){
            SaveModel saveModel = new SaveModel();
            saveModel.setId(locationDataVO.getId());
            saveModelList.add(saveModel);
            Map<String,Object> map = new HashMap<>();
            map.put("_id",locationDataVO.getId());
            idList.add(map);
        }
        boolean bool = elastricSearchHelper.update(ConstantUtils.deviceLocationIndex,ConstantUtils.deviceLocationType,saveModelList);
        boolean bool = elastricSearchHelper.updateByMap(ConstantUtils.deviceLocationIndex,ConstantUtils.deviceLocationType,idList);
        return bool;
    }

+ 1 - 0
svr/svr-iot/src/main/resources/application.yml

@ -30,6 +30,7 @@ spring:
    elasticsearch: #ElasticsearchProperties
      cluster-name: jkzl #默认即为elasticsearch  集群名
      cluster-nodes: 172.19.103.45:9300,172.19.103.68:9300 #配置es节点信息,逗号分隔,如果没有指定,则启动ClientNode
      cluster-nodes-jest: http://172.19.103.45:9200,http://172.19.103.68:9200  #多个逗号分割
      local: false #是否本地连接
      properties: # Additional properties used to configure the client.
        enable: true

+ 1 - 0
svr/svr-wlyy-specialist/pom.xml

@ -13,6 +13,7 @@
    <groupId>com.yihu.specialist</groupId>
    <artifactId>svr-wlyy-specialist</artifactId>
    <version>${parent.version}</version>
    <packaging>war</packaging>
    <dependencies>
        <dependency>

+ 146 - 36
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/controller/SpecialistController.java

@ -1,13 +1,15 @@
package com.yihu.jw.controller;
import com.alibaba.fastjson.JSONArray;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.entity.specialist.SpecialistArticleDO;
import com.yihu.jw.entity.specialist.SpecialistConsultDO;
import com.yihu.jw.entity.specialist.SpecialistDO;
import com.yihu.jw.entity.specialist.SpecialistPatientRelationDO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.restmodel.common.EnvelopRestController;
import com.yihu.jw.restmodel.specialist.AssistantVO;
import com.yihu.jw.restmodel.specialist.PatientLabelVO;
import com.yihu.jw.restmodel.specialist.PatientRelationVO;
import com.yihu.jw.restmodel.specialist.SpecialistPatientRelationVO;
import com.yihu.jw.rm.archives.PatientArchivesMapping;
import com.yihu.jw.rm.specialist.SpecialistMapping;
@ -34,13 +36,13 @@ public class SpecialistController extends EnvelopRestController {
    @Autowired
    private Tracer tracer;
    @PostMapping(value = SpecialistMapping.specialist.createSpecialists)
    @ApiOperation(value = "创建专科医生")
    public Envelop<Boolean> createSpecialists(@ApiParam(name = "specialists", value = "专科医生实体")
                                                  @RequestParam(value = "code", required = false)String specialists){
    @PostMapping(value = SpecialistMapping.specialist.createSpecialistRelation)
    @ApiOperation(value = "创建专科医生与患者匹配关系")
    public Envelop<Boolean> createSpecialistPatientRelation(@ApiParam(name = "specialistPatientRelation", value = "实体JSON")
                                                                @RequestParam(value = "specialistPatientRelation", required = false)String specialistPatientRelation){
        try {
            List<SpecialistDO> infos = new ObjectMapper().readValue(specialists, new TypeReference<List<SpecialistDO>>(){});
            return specialistService.createSpecialists(infos);
            SpecialistPatientRelationDO ps = toEntity(specialistPatientRelation, SpecialistPatientRelationDO.class);
            return specialistService.createSpecialistsPatientRelation(ps);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
@ -48,13 +50,16 @@ public class SpecialistController extends EnvelopRestController {
        }
    }
    @PostMapping(value = SpecialistMapping.specialist.createSpecialistRelation)
    @ApiOperation(value = "创建专科医生与患者匹配关系")
    public Envelop<Boolean> createSpecialistPatientRelation(@ApiParam(name = "specialistPatientRelation", value = "实体JSON")
                                                                @RequestParam(value = "specialistPatientRelation", required = false)String specialistPatientRelation){
    @GetMapping(value = SpecialistMapping.specialist.findSpecialistPatientRelation)
    @ApiOperation(value = "获取专科医生关系列表")
    public Envelop<SpecialistPatientRelationVO> findSpecialistPatientRelation(@ApiParam(name = "doctor", value = "专科医生ID")
                                                                                  @RequestParam(value = "doctor", required = false)String doctor,
                                                                              @ApiParam(name = "page", value = "第几页,从1开始")
                                                                              @RequestParam(value = "page", required = false)Integer page,
                                                                              @ApiParam(name = "size", value = ",每页分页大小")
                                                                                  @RequestParam(value = "size", required = false)Integer size){
        try {
            SpecialistPatientRelationDO ps = toEntity(specialistPatientRelation, SpecialistPatientRelationDO.class);
            return specialistService.createSpecialistsPatientRelation(ps);
            return specialistService.findSpecialistPatientRelation(doctor,page,size);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
@ -62,13 +67,11 @@ public class SpecialistController extends EnvelopRestController {
        }
    }
    @PostMapping(value = SpecialistMapping.specialist.createConsult)
    @ApiOperation(value = "创建专科医生咨询")
    public Envelop<Boolean> createSpscialistConsult(@ApiParam(name = "specialistConsult", value = "专科医生咨询实体JSON")
                                                        @RequestParam(value = "specialistConsult", required = false)String specialistConsult){
    @GetMapping(value = SpecialistMapping.specialist.findSpecialistPatientRelationCout)
    @ApiOperation(value = "获取专科医生下未分配标签居民数目")
    public Envelop<Long> findSpecialistPatientRelationCout(@ApiParam(name = "doctor", value = "医生") @RequestParam(required = true)String doctor){
        try {
            SpecialistConsultDO ps = toEntity(specialistConsult, SpecialistConsultDO.class);
            return specialistService.createSpscialistConsult(ps);
            return specialistService.findSpecialistPatientRelationCout(doctor);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
@ -76,13 +79,11 @@ public class SpecialistController extends EnvelopRestController {
        }
    }
    @PostMapping(value = SpecialistMapping.specialist.createArticle)
    @ApiOperation(value = "创建专科医生健康文章")
    public Envelop<Boolean> createSpecialistArticle(@ApiParam(name = "specialistArticle", value = "专科医生健康文章JSON")
                                                        @RequestParam(value = "specialistArticle", required = false)String specialistArticle){
    @GetMapping(value = SpecialistMapping.specialist.findNoLabelPatientRelation)
    @ApiOperation(value = "获取专科医生下未分配标签居民")
    public Envelop<PatientRelationVO> findNoLabelPatientRelation(@ApiParam(name = "doctor", value = "医生") @RequestParam(required = true)String doctor){
        try {
            SpecialistArticleDO ps = toEntity(specialistArticle, SpecialistArticleDO.class);
            return specialistService.createSpecialistArticle(ps);
            return specialistService.findNoLabelPatientRelation(doctor);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
@ -90,16 +91,12 @@ public class SpecialistController extends EnvelopRestController {
        }
    }
    @GetMapping(value = SpecialistMapping.specialist.findSpecialistPatientRelation)
    @ApiOperation(value = "获取专科医生关系列表")
    public Envelop<SpecialistPatientRelationVO> findSpecialistPatientRelation(@ApiParam(name = "doctor", value = "专科医生ID")
                                                                                  @RequestParam(value = "doctor", required = false)String doctor,
                                                                              @ApiParam(name = "page", value = "第几页,从1开始")
                                                                              @RequestParam(value = "page", required = false)Integer page,
                                                                              @ApiParam(name = "size", value = ",每页分页大小")
                                                                                  @RequestParam(value = "size", required = false)Integer size){
    @PostMapping(value = SpecialistMapping.specialist.saveHealthAssistant)
    @ApiOperation(value = "保存配置居民计管师居民")
    public Envelop<Boolean> saveHealthAssistant(@ApiParam(name = "json", value = "计管师居民实体") @RequestParam(required = true)String json){
        try {
            return specialistService.findSpecialistPatientRelation(doctor,page,size);
            List<SpecialistPatientRelationDO> info = (List<SpecialistPatientRelationDO>) JSONArray.parseArray(json, SpecialistPatientRelationDO.class);
            return specialistService.saveHealthAssistant(info);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
@ -107,5 +104,118 @@ public class SpecialistController extends EnvelopRestController {
        }
    }
    @GetMapping(value = SpecialistMapping.specialist.findPatientRelatioByAssistant)
    @ApiOperation(value = "根据计管师获取居民信息")
    public Envelop<PatientRelationVO> findPatientRelatioByAssistant(@ApiParam(name = "assistant", value = "计管师") @RequestParam(required = true)String assistant,
                                                                    @ApiParam(name = "page", value = "第几页,1开始") @RequestParam(required = true)Integer page,
                                                                    @ApiParam(name = "size", value = "每页大小") @RequestParam(required = true)Integer size) {
        try {
            return specialistService.findPatientRelatioByAssistant(assistant,page,size);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    @GetMapping(value = SpecialistMapping.specialist.getPatientByLabel)
    @ApiOperation(value = "根据标签获取居民信息")
    public Envelop<PatientLabelVO>  getPatientByLabel(@ApiParam(name = "doctor", value = "医生") @RequestParam(required = true)String doctor,
                                                      @ApiParam(name = "labelType", value = "标签类型") @RequestParam(required = true)String labelType,
                                                      @ApiParam(name = "labelCode", value = "标签code") @RequestParam(required = true)String labelCode,
                                                      @ApiParam(name = "page", value = "第几页,1开始") @RequestParam(required = true)Integer page,
                                                      @ApiParam(name = "size", value = "每页大小") @RequestParam(required = true)Integer size){
        try {
            return specialistService.getPatientByLabel(doctor,labelType,labelCode,page,size);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    @GetMapping(value = SpecialistMapping.specialist.getLabelpatientCount)
    @ApiOperation(value = "根据标签获取居民数量")
    public Envelop<Long> getLabelpatientCount(@ApiParam(name = "doctor", value = "医生") @RequestParam(required = true)String doctor,
                                              @ApiParam(name = "labelType", value = "标签类型") @RequestParam(required = true)String labelType,
                                              @ApiParam(name = "labelCode", value = "标签code") @RequestParam(required = true)String labelCode) {
        try {
            return specialistService.getLabelpatientCount(doctor,labelType,labelCode);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    @GetMapping(value = SpecialistMapping.specialist.getAssistantPatientCount)
    @ApiOperation(value = "根据计管获取居民数量")
    public Envelop<Long> getAssistantPatientCount(@ApiParam(name = "doctor", value = "计管师医生") @RequestParam(required = true)String doctor) {
        try {
            return specialistService.getAssistantPatientCount(doctor);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    @GetMapping(value = SpecialistMapping.specialist.getDoctorPatientByName)
    @ApiOperation(value = "搜索专科医生居民")
    public Envelop<PatientRelationVO> getDoctorPatientByName(@ApiParam(name = "doctor", value = "医生code") @RequestParam(required = true)String doctor,
                                                             @ApiParam(name = "name", value = "居民姓名模糊") @RequestParam(required = false)String nameKey,
                                                             @ApiParam(name = "page", value = "第几页,1开始") @RequestParam(required = true)Integer page,
                                                             @ApiParam(name = "size", value = "每页大小") @RequestParam(required = true)Integer size) {
        try {
            return specialistService.getDoctorPatientByName(doctor,nameKey,page,size);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
//    @PostMapping(value = SpecialistMapping.specialist.createArticle)
//    @ApiOperation(value = "创建专科医生健康文章")
//    public Envelop<Boolean> createSpecialistArticle(@ApiParam(name = "specialistArticle", value = "专科医生健康文章JSON")
//                                                    @RequestParam(value = "specialistArticle", required = false)String specialistArticle){
//        try {
//            SpecialistArticleDO ps = toEntity(specialistArticle, SpecialistArticleDO.class);
//            return specialistService.createSpecialistArticle(ps);
//        }catch (Exception e){
//            e.printStackTrace();
//            tracer.getCurrentSpan().logEvent(e.getMessage());
//            return Envelop.getError(e.getMessage());
//        }
//    }
//    @PostMapping(value = SpecialistMapping.specialist.createConsult)
//    @ApiOperation(value = "创建专科医生咨询")
//    public Envelop<Boolean> createSpscialistConsult(@ApiParam(name = "specialistConsult", value = "专科医生咨询实体JSON")
//                                                    @RequestParam(value = "specialistConsult", required = false)String specialistConsult){
//        try {
//            SpecialistConsultDO ps = toEntity(specialistConsult, SpecialistConsultDO.class);
//            return specialistService.createSpscialistConsult(ps);
//        }catch (Exception e){
//            e.printStackTrace();
//            tracer.getCurrentSpan().logEvent(e.getMessage());
//            return Envelop.getError(e.getMessage());
//        }
//    }
//    @PostMapping(value = SpecialistMapping.specialist.createSpecialists)
//    @ApiOperation(value = "创建专科医生")
//    public Envelop<Boolean> createSpecialists(@ApiParam(name = "specialists", value = "专科医生实体")
//                                              @RequestParam(value = "code", required = false)String specialists){
//        try {
//            List<SpecialistDO> infos = new ObjectMapper().readValue(specialists, new TypeReference<List<SpecialistDO>>(){});
//            return specialistService.createSpecialists(infos);
//        }catch (Exception e){
//            e.printStackTrace();
//            tracer.getCurrentSpan().logEvent(e.getMessage());
//            return Envelop.getError(e.getMessage());
//        }
//    }
}

+ 12 - 12
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/dao/PatientLabelDao.java

@ -1,12 +1,12 @@
package com.yihu.jw.dao;
import com.yihu.jw.entity.specialist.PatientLabelDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by Trick on 2018/5/29.
 */
public interface PatientLabelDao extends PagingAndSortingRepository<PatientLabelDO, String>,
        JpaSpecificationExecutor<PatientLabelDO> {
}
//package com.yihu.jw.dao;
//
//import com.yihu.jw.entity.specialist.PatientLabelDO;
//import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
//import org.springframework.data.repository.PagingAndSortingRepository;
//
///**
// * Created by Trick on 2018/5/29.
// */
//public interface PatientLabelDao extends PagingAndSortingRepository<PatientLabelDO, String>,
//        JpaSpecificationExecutor<PatientLabelDO> {
//}

+ 12 - 12
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/dao/PatientLabelInfoDao.java

@ -1,12 +1,12 @@
package com.yihu.jw.dao;
import com.yihu.jw.entity.specialist.PatientLabelDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by Trick on 2018/5/29.
 */
public interface PatientLabelInfoDao extends PagingAndSortingRepository<PatientLabelDO, String>,
        JpaSpecificationExecutor<PatientLabelDO> {
}
//package com.yihu.jw.dao;
//
//import com.yihu.jw.entity.specialist.PatientLabelDO;
//import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
//import org.springframework.data.repository.PagingAndSortingRepository;
//
///**
// * Created by Trick on 2018/5/29.
// */
//public interface PatientLabelInfoDao extends PagingAndSortingRepository<PatientLabelDO, String>,
//        JpaSpecificationExecutor<PatientLabelDO> {
//}

+ 12 - 12
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/dao/SpecialistArticleDao.java

@ -1,12 +1,12 @@
package com.yihu.jw.dao;
import com.yihu.jw.entity.specialist.SpecialistArticleDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by Trick on 2018/4/25.
 */
public interface SpecialistArticleDao extends PagingAndSortingRepository<SpecialistArticleDO, String>,
        JpaSpecificationExecutor<SpecialistArticleDO> {
}
//package com.yihu.jw.dao;
//
//import com.yihu.jw.entity.specialist.SpecialistArticleDO;
//import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
//import org.springframework.data.repository.PagingAndSortingRepository;
//
///**
// * Created by Trick on 2018/4/25.
// */
//public interface SpecialistArticleDao extends PagingAndSortingRepository<SpecialistArticleDO, String>,
//        JpaSpecificationExecutor<SpecialistArticleDO> {
//}

+ 12 - 12
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/dao/SpecialistConsultDao.java

@ -1,12 +1,12 @@
package com.yihu.jw.dao;
import com.yihu.jw.entity.specialist.SpecialistConsultDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by Trick on 2018/4/25.
 */
public interface SpecialistConsultDao extends PagingAndSortingRepository<SpecialistConsultDO, String>,
        JpaSpecificationExecutor<SpecialistConsultDO> {
}
//package com.yihu.jw.dao;
//
//import com.yihu.jw.entity.specialist.SpecialistConsultDO;
//import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
//import org.springframework.data.repository.PagingAndSortingRepository;
//
///**
// * Created by Trick on 2018/4/25.
// */
//public interface SpecialistConsultDao extends PagingAndSortingRepository<SpecialistConsultDO, String>,
//        JpaSpecificationExecutor<SpecialistConsultDO> {
//}

+ 12 - 12
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/dao/SpecialistDao.java

@ -1,12 +1,12 @@
package com.yihu.jw.dao;
import com.yihu.jw.entity.specialist.SpecialistDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by Trick on 2018/4/25.
 */
public interface SpecialistDao extends PagingAndSortingRepository<SpecialistDO, String>,
        JpaSpecificationExecutor<SpecialistDO> {
}
//package com.yihu.jw.dao;
//
//import com.yihu.jw.entity.specialist.SpecialistDO;
//import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
//import org.springframework.data.repository.PagingAndSortingRepository;
//
///**
// * Created by Trick on 2018/4/25.
// */
//public interface SpecialistDao extends PagingAndSortingRepository<SpecialistDO, String>,
//        JpaSpecificationExecutor<SpecialistDO> {
//}

+ 2 - 0
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/dao/SpecialistPatientRelationDao.java

@ -12,4 +12,6 @@ import java.util.List;
public interface SpecialistPatientRelationDao extends PagingAndSortingRepository<SpecialistPatientRelationDO, String>,
        JpaSpecificationExecutor<SpecialistPatientRelationDO> {
    public List<SpecialistPatientRelationDO> findByDoctorAndStatus(String doctor,String status);
    public SpecialistPatientRelationDO findByDoctorAndPatient(String doctor,String patient);
}

+ 191 - 28
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/service/SpecialistService.java

@ -1,10 +1,7 @@
package com.yihu.jw.service;
import com.yihu.jw.dao.*;
import com.yihu.jw.entity.specialist.SpecialistArticleDO;
import com.yihu.jw.entity.specialist.SpecialistConsultDO;
import com.yihu.jw.entity.specialist.SpecialistDO;
import com.yihu.jw.entity.specialist.SpecialistPatientRelationDO;
import com.yihu.jw.entity.specialist.*;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.restmodel.specialist.*;
import com.yihu.jw.rm.specialist.SpecialistMapping;
@ -26,41 +23,26 @@ import java.util.Map;
@Transactional
public class SpecialistService{
    @Autowired
    private SpecialistArticleDao specialistArticleDao;
    @Autowired
    private SpecialistConsultDao specialistConsultDao;
//    @Autowired
//    private SpecialistArticleDao specialistArticleDao;
//    @Autowired
//    private SpecialistConsultDao specialistConsultDao;
//    @Autowired
//    private SpecialistDao specialistDao;
    @Autowired
    private SpecialistPatientRelationDao specialistPatientRelationDao;
    @Autowired
    private SpecialistDao specialistDao;
    @Autowired
    private PatientHospitalRecordDao patientHospitalRecordDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Value("${basedb.name}")
    private String basedb;
    public Envelop<Boolean> createSpecialists(List<SpecialistDO> info){
        specialistDao.save(info);
        return Envelop.getSuccess(SpecialistMapping.api_success,true);
    }
    public Envelop<Boolean> createSpecialistsPatientRelation(SpecialistPatientRelationDO specialistPatientRelationDO){
        specialistPatientRelationDao.save(specialistPatientRelationDO);
        return Envelop.getSuccess(SpecialistMapping.api_success,true);
    }
    public Envelop<Boolean> createSpecialistArticle(SpecialistArticleDO articleDO){
        specialistArticleDao.save(articleDO);
        return Envelop.getSuccess(SpecialistMapping.api_success,true);
    }
    public Envelop<Boolean> createSpscialistConsult(SpecialistConsultDO consultDO){
        specialistConsultDao.save(consultDO);
        return Envelop.getSuccess(SpecialistMapping.api_success,true);
    }
    public Envelop<SpecialistPatientRelationVO> findSpecialistPatientRelation(String doctor,Integer page,Integer size)throws ParseException {
        String sql = "SELECT " +
                " r.id, " +
@ -80,7 +62,7 @@ public class SpecialistService{
                "FROM " +
                " wlyy_specialist_patient_relation r " +
                "WHERE " +
                " r.doctor = '"+doctor+"' ORDER BY r.create_time DESC LIMIT "+(page-1)*size+","+size+";";
                " r.doctor = '"+doctor+"' ORDER BY r.create_time DESC LIMIT "+(page-1)*size+","+size;
        List<SpecialistPatientRelationVO> specialistPatientRelationVOs = jdbcTemplate.query(sql,new BeanPropertyRowMapper(SpecialistPatientRelationVO.class));
        String sqlcount = "SELECT count(1) AS total " +
@ -109,7 +91,8 @@ public class SpecialistService{
                " FROM " +
                " "+basedb+".wlyy_sign_patient_label_info i " +
                " WHERE " +
                " i.label_type = '5' " +
                " i.label_type = '5' AND " +
                " i.status = 1 " +
                " )";
        List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sql);
        Long count = 0L;
@ -119,6 +102,186 @@ public class SpecialistService{
        return Envelop.getSuccess(SpecialistMapping.api_success,count);
    }
//    public Envelop<PatientRelationVO>
    public Envelop<PatientRelationVO> findNoLabelPatientRelation(String doctor){
        String sql ="SELECT " +
                " r.patient, " +
                " r.patient_name AS patientName, " +
                " IFNULL(year( from_days( datediff( now(), p.birthday))),'未知') age, " +
                " p.photo, " +
                " rd.create_time AS createTime ," +
                " p.sex " +
                " FROM " +
                " wlyy_specialist_patient_relation r JOIN "+basedb+".wlyy_patient p ON p.code = r.patient  " +
                " LEFT JOIN wlyy_patient_hospital_record rd ON r.discharge_record = rd.id " +
                " WHERE " +
                " r.patient " +
                " NOT IN ( " +
                "  SELECT " +
                "   i.patient " +
                "  FROM " +
                "   wlyy.wlyy_sign_patient_label_info i " +
                "  WHERE " +
                "   i.label_type = '7' AND " +
                "   i.status = 1 " +
                " )";
        List<PatientRelationVO> patientRelationVOs = jdbcTemplate.query(sql,new BeanPropertyRowMapper(PatientRelationVO.class));
        return Envelop.getSuccess(SpecialistMapping.api_success,patientRelationVOs);
    }
    public Envelop<Boolean> saveHealthAssistant(List<SpecialistPatientRelationDO> specialistPatientRelationDOs){
        for(SpecialistPatientRelationDO r : specialistPatientRelationDOs){
            SpecialistPatientRelationDO relationDO = specialistPatientRelationDao.findByDoctorAndPatient(r.getDoctor(),r.getPatient());
            if(relationDO!=null){
                relationDO.setHealthAssistant(r.getHealthAssistant());
                relationDO.setHealthAssistantName(r.getHealthAssistantName());
                specialistPatientRelationDao.save(relationDO);
            }
        }
        return Envelop.getSuccess(SpecialistMapping.api_success,true);
    }
    public Envelop<PatientRelationVO> findPatientRelatioByAssistant(String assistant,Integer page,Integer size){
        String sql ="SELECT " +
                " r.patient, " +
                " r.patient_name AS patientName, " +
                " IFNULL(year( from_days( datediff( now(), p.birthday))),'未知') age, " +
                " p.photo " +
                " FROM " +
                " wlyy_specialist_patient_relation r JOIN "+basedb+".wlyy_patient p ON p.`code` = r.patient " +
                " WHERE " +
                " r.health_assistant = '"+assistant+"' LIMIT "+(page-1)*size+","+size;
        List<PatientRelationVO> patientRelationVOs = jdbcTemplate.query(sql,new BeanPropertyRowMapper(PatientRelationVO.class));
        return Envelop.getSuccess(SpecialistMapping.api_success,patientRelationVOs);
    }
    public Envelop<PatientLabelVO>  getPatientByLabel(String doctor,String labelType, String labelCode, Integer page, Integer size){
        String sql="SELECT " +
                " p. NAME, " +
                " p. CODE, " +
                " IFNULL( " +
                "  YEAR ( " +
                "   from_days(datediff(now(), p.birthday)) " +
                "  ), " +
                "  '未知' " +
                " ) age, " +
                " lb.labelName, " +
                " lb.labelType, " +
                " lb.label, " +
                " p.photo, " +
                " h.label_name as health, " +
                " h.label AS healthcode " +
                " FROM " +
                " ( " +
                "  SELECT " +
                "   i.label_type AS labelType, " +
                "   i.label, " +
                "   i.label_name AS labelName, " +
                "   i.patient " +
                "  FROM " +
                "   "+basedb+".wlyy_sign_patient_label_info i " +
                "  WHERE " +
                "   i.label = '"+labelCode+"' " +
                "  AND i.label_type = '"+labelType+"' " +
                "  AND i.`status` = '1' " +
                " ) lb " +
                " JOIN "+basedb+".wlyy_patient p ON p. CODE = lb.patient " +
                " JOIN wlyy_specialist_patient_relation s ON s.patient = lb.patient " +
                " LEFT JOIN ( " +
                " SELECT " +
                "  t.label, " +
                "  t.label_name, " +
                "  t.patient " +
                " FROM " +
                "  "+basedb+".wlyy_sign_patient_label_info t " +
                " WHERE " +
                "  t.label_type = '8' " +
                " AND t.`status` = '1' " +
                " ) h ON h.patient = lb.patient " +
                " WHERE s.doctor ='"+doctor+"'"+
                " LIMIT "+(page-1)*size+","+size;
        List<PatientLabelVO> PatientLabelVOs = jdbcTemplate.query(sql,new BeanPropertyRowMapper(PatientLabelVO.class));
        return Envelop.getSuccess(SpecialistMapping.api_success,PatientLabelVOs);
    }
    public Envelop<Long> getLabelpatientCount(String doctor,String label,String labelType){
        String sql = "SELECT " +
                " COUNT(1) as total " +
                " FROM " +
                " ( " +
                "  SELECT " +
                "   i.label_type AS labelType, " +
                "   i.label, " +
                "   i.label_name AS labelName, " +
                "   i.patient " +
                "  FROM " +
                "   "+basedb+".wlyy_sign_patient_label_info i " +
                "  WHERE " +
                "   i.label = '"+label+"' "+
                "  AND i.label_type = '"+labelType+"' " +
                "  AND i.`status` = '1' " +
                " ) lb " +
                " JOIN wlyy_specialist_patient_relation s ON s.patient = lb.patient " +
                " WHERE " +
                " s.doctor = '"+doctor+"' ";
        List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sql);
        Long count = 0L;
        if(rstotal!=null&&rstotal.size()>0){
            count = (Long) rstotal.get(0).get("total");
        }
        return Envelop.getSuccess(SpecialistMapping.api_success,count);
    }
    public Envelop<Long> getAssistantPatientCount(String doctor){
        String sql = "SELECT COUNT(1) AS total FROM wlyy_specialist_patient_relation r WHERE r.health_assistant = '"+doctor+"' AND r.`status` <> '-1' ";
        List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sql);
        Long count = 0L;
        if(rstotal!=null&&rstotal.size()>0){
            count = (Long) rstotal.get(0).get("total");
        }
        return Envelop.getSuccess(SpecialistMapping.api_success,count);
    }
    public Envelop<PatientRelationVO> getDoctorPatientByName(String doctor,String nameKey,Integer page,Integer size){
        String sql ="SELECT " +
                " p.code AS patient, " +
                " p.`name` AS patientName, " +
                " p.photo, " +
                " IFNULL(year( from_days( datediff( now(), p.birthday))),'未知') age, " +
                " p.sex " +
                " FROM " +
                " wlyy_specialist_patient_relation r " +
                " JOIN "+basedb+".wlyy_patient p ON r.patient = p.`code` " +
                " WHERE " +
                " r.doctor='"+doctor+"' " +
                " AND r.`status`<>'-1'" +
                " AND r.patient_name LIKE '%"+nameKey+"%' "+
                " LIMIT "+(page-1)*size+","+size;
        List<PatientRelationVO> patientRelationVOs = jdbcTemplate.query(sql,new BeanPropertyRowMapper(PatientRelationVO.class));
        return Envelop.getSuccess(SpecialistMapping.api_success,patientRelationVOs);
    }
//    public Envelop<Boolean> createSpecialists(List<SpecialistDO> info){
//        specialistDao.save(info);
//        return Envelop.getSuccess(SpecialistMapping.api_success,true);
//    }
//    public Envelop<Boolean> createSpecialistArticle(SpecialistArticleDO articleDO){
//        specialistArticleDao.save(articleDO);
//        return Envelop.getSuccess(SpecialistMapping.api_success,true);
//    }
//
//    public Envelop<Boolean> createSpscialistConsult(SpecialistConsultDO consultDO){
//        specialistConsultDao.save(consultDO);
//        return Envelop.getSuccess(SpecialistMapping.api_success,true);
//    }
}

+ 14 - 0
svr/svr-wlyy-specialist/src/main/resources/application.yml

@ -80,9 +80,23 @@ fastDFS:
---
spring:
  profiles: jwtest
  datasource:
    url: jdbc:mysql://172.17.110.160/wlyy_specialist?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true
    username: ssgg
    password: ssgg
fastDFS:
  fastdfs_file_url: http://172.19.103.54:80/
---
spring:
  profiles: jwdevtest
  datasource:
    url: jdbc:mysql://172.19.103.85/wlyy_specialist?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true
    username: linzhou
    password: linzhou
fastDFS:
  fastdfs_file_url: http://172.19.103.54:80/
---
spring:
  profiles: jwprod

+ 10 - 0
svr/svr-wlyy-specialist/src/main/resources/bootstrap.yml

@ -33,6 +33,16 @@ eureka:
      #http://账号:密码@127.0.0.1:8761/eureka/
      defaultZone: http://jw:jkzl@172.19.103.33:8761/eureka/
---
spring:
  profiles: jwdevtest
eureka:
  client:
    serviceUrl:
      #http://账号:密码@127.0.0.1:8761/eureka/
      defaultZone: http://jw:jkzl@172.19.103.33:8761/eureka/
---
spring:

+ 9 - 3
web-gateway/src/main/resources/application.yml

@ -60,7 +60,10 @@ hystrix:
ribbon:
  ReadTimeout: 300000
  ConnectTimeout: 5000
#  restclient:
#    enabled: false
#  okhttp:
#    enabled: true
#zuul 默认会代理所有的微服务  路径 /{appliction.name}/**
#zuul:
@ -85,16 +88,19 @@ ribbon:
yihu:
  admin:
    client:
      advice:
        sql: false
        sql:
          hibernate: false
          springJDBC: false
        http: true
        zuul:
          pre: true
          post: true
          route: false ##目前有bug先改成false
---
spring: