Bläddra i källkod

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev

zd_123 7 år sedan
förälder
incheckning
582ad47136
34 ändrade filer med 401 tillägg och 477 borttagningar
  1. 6 0
      common/common-entity/pom.xml
  2. 7 50
      common/common-entity/src/main/java/com/yihu/wlyy/entity/job/QuartzJobConfig.java
  3. 2 2
      common/common-entity/src/main/java/com/yihu/wlyy/entity/message/Message.java
  4. 18 0
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/entity/Message.java
  5. 7 4
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/feedback/AppealService.java
  6. 5 2
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/feedback/FeedbackService.java
  7. 1 1
      patient-co-manage/wlyy-manage/src/main/resources/application.yml
  8. 18 25
      patient-co-service/wlyy_device/src/main/java/com/yihu/hos/device/service/DeviceService.java
  9. 0 60
      patient-co/patient-co-doctor-assistant/src/main/java/com/yihu/wlyy/web/doctor/template/DoctorFeldsherTemplateController.java
  10. 21 31
      patient-co/patient-co-doctor-assistant/src/main/resources/application-dev.yml
  11. 21 31
      patient-co/patient-co-doctor-assistant/src/main/resources/application-devtest.yml
  12. 21 31
      patient-co/patient-co-doctor-assistant/src/main/resources/application-local.yml
  13. 21 31
      patient-co/patient-co-doctor-assistant/src/main/resources/application-localtest.yml
  14. 21 31
      patient-co/patient-co-doctor-assistant/src/main/resources/application-test.yml
  15. 11 0
      patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/config/DataSourceConfig.java
  16. 17 4
      patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/etl/convert/wlyy/AgeConvert.java
  17. 9 0
      patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/etl/convert/wlyy/DiseaseConvert.java
  18. 2 2
      patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/etl/convert/wlyy/PrescriptionStatusConvert.java
  19. 1 2
      patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/etl/extract/db/DBExtract.java
  20. 8 2
      patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/service/JobService.java
  21. 5 5
      patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/util/IdCardUtil.java
  22. 4 3
      patient-co/patient-co-statistics-es/src/main/resources/application.yml
  23. 0 1
      patient-co/patient-co-wlyy/pom.xml
  24. 2 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/config/SwaggerConfig.java
  25. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/doctor/SignPatientLabelDao.java
  26. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/followup/FollowUpDao.java
  27. 18 29
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/health/PatientHealthIndexService.java
  28. 5 5
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionInfoService.java
  29. 84 84
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/statisticsES/StatisticsESService.java
  30. 38 29
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/util/ElasticsearchUtil.java
  31. 2 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/feedback/DoctorFeedbackTemplateController.java
  32. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/statistic/EsStatisticsController.java
  33. 16 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/gateway/service/GcEduArticleService.java
  34. 7 7
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/jkedu/controller/doctor/EduDoctorArticleController.java

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

@ -63,5 +63,11 @@
            <groupId>com.alibaba</groupId>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <artifactId>fastjson</artifactId>
        </dependency>
        </dependency>
        <!--<dependency>-->
            <!--<groupId>org.springframework.boot</groupId>-->
            <!--<artifactId>spring-boot-starter-data-elasticsearch</artifactId>-->
            <!--<version>1.1.1.RELEASE</version>-->
        <!--</dependency>-->
    </dependencies>
    </dependencies>
</project>
</project>

+ 7 - 50
common/common-entity/src/main/java/com/yihu/wlyy/entity/job/QuartzJobConfig.java

@ -1,14 +1,17 @@
package com.yihu.wlyy.entity.job;
package com.yihu.wlyy.entity.job;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
/**
/**
 * 计划任务
 * 计划任务
 */
 */
@Entity
@Entity
@Table(name = "wlyy_job_config_cwd")
@Table(name = "wlyy_job_config")
public class QuartzJobConfig implements java.io.Serializable {
public class QuartzJobConfig implements java.io.Serializable {
	private String id;
	private String id;
@ -20,11 +23,6 @@ public class QuartzJobConfig implements java.io.Serializable {
	private String quartzCron;//quartz表达式
	private String quartzCron;//quartz表达式
	private String status;//1 启动 0停止
	private String status;//1 启动 0停止
	private String del;//是否删除 1正常 0删除
	private String del;//是否删除 1正常 0删除
	private String sql;
	private String sqlCount;
	private String sqlDay;
	private String sqlYear;
	private String cacheKey;//缓存的key
	/** minimal constructor */
	/** minimal constructor */
	public QuartzJobConfig() {
	public QuartzJobConfig() {
@ -33,7 +31,7 @@ public class QuartzJobConfig implements java.io.Serializable {
	/** full constructor */
	/** full constructor */
	public QuartzJobConfig(String jobName, String jobInfo, String jobType,
	public QuartzJobConfig(String jobName, String jobInfo, String jobType,
                           String jobClass, String quartzCron, String status) {
						   String jobClass, String quartzCron, String status) {
		this.jobName = jobName;
		this.jobName = jobName;
		this.jobInfo = jobInfo;
		this.jobInfo = jobInfo;
		this.jobType = jobType;
		this.jobType = jobType;
@ -126,45 +124,4 @@ public class QuartzJobConfig implements java.io.Serializable {
	public void setDel(String del) {
	public void setDel(String del) {
		this.del = del;
		this.del = del;
	}
	}
	public String getSql() {
		return sql;
	}
	public void setSql(String sql) {
		this.sql = sql;
	}
	public String getSqlCount() {
		return sqlCount;
	}
	public void setSqlCount(String sqlCount) {
		this.sqlCount = sqlCount;
	}
	public String getSqlDay() {
		return sqlDay;
	}
	public void setSqlDay(String sqlDay) {
		this.sqlDay = sqlDay;
	}
	public String getSqlYear() {
		return sqlYear;
	}
	public void setSqlYear(String sqlYear) {
		this.sqlYear = sqlYear;
	}
	public String getCacheKey() {
		return cacheKey;
	}
	public void setCacheKey(String cacheKey) {
		this.cacheKey = cacheKey;
	}
}
}

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 2 - 2
common/common-entity/src/main/java/com/yihu/wlyy/entity/message/Message.java


+ 18 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/entity/Message.java

@ -45,6 +45,24 @@ public class Message extends IdEntity {
	private String tzType;//体征类别
	private String tzType;//体征类别
	private String tzCode;//体征code
	private String tzCode;//体征code
	private Integer sex;//患者性别
	private Integer sex;//患者性别
	private String relationCode;//业务关联code,type=6时为咨询code,type=7、8、9时为续方code type = 10/11时为申诉和反馈ID
	private String prescriptionStatus;//type=6续方审核状态 0待审核,1审核通过,2审核失败,3居民取消|type=7续方状态 0待取药,1已取药
	public String getRelationCode() {
		return relationCode;
	}
	public void setRelationCode(String relationCode) {
		this.relationCode = relationCode;
	}
	public String getPrescriptionStatus() {
		return prescriptionStatus;
	}
	public void setPrescriptionStatus(String prescriptionStatus) {
		this.prescriptionStatus = prescriptionStatus;
	}
	public String getCode() {
	public String getCode() {
		return code;
		return code;

+ 7 - 4
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/feedback/AppealService.java

@ -240,11 +240,12 @@ public class AppealService extends BaseService {
            if (appeal.getIdentity() == 2) {
            if (appeal.getIdentity() == 2) {
                String creater = appeal.getCreater();
                String creater = appeal.getCreater();
                SimpleDateFormat formatDate = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
                SimpleDateFormat formatDate = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
                String newDate = formatDate.format(new Date());
                Date createTime = appeal.getCreateTime();
                String newDate = formatDate.format(createTime);
                String title = "新增系统消息";
                String title = "新增系统消息";
                String content = "您在" + newDate + "提交的意见反馈已处理,您可点此查看处理结果";
                String content = "您在" + newDate + "提交的账号申诉已处理,您可点此查看处理结果";
                Message message = new Message();
                Message message = new Message();
                message.setType(10);
                message.setType(11);
                message.setCode(UUID.randomUUID().toString());
                message.setCode(UUID.randomUUID().toString());
                message.setCzrq(new Date());
                message.setCzrq(new Date());
                message.setCreateTime(new Date());
                message.setCreateTime(new Date());
@ -254,14 +255,16 @@ public class AppealService extends BaseService {
                message.setSender("system");//设置发送的用户
                message.setSender("system");//设置发送的用户
                message.setTitle(title);
                message.setTitle(title);
                message.setReadonly(1);//是否只读消息
                message.setReadonly(1);//是否只读消息
                message.setRelationCode(appeal.getCode());
                //wlyy给医生发送系统消息
                //wlyy给医生发送系统消息
                Doctor doctor = doctorDao.findByCode(creater);
                Doctor doctor = doctorDao.findByCode(creater);
                String doctorOpenID = doctor.getOpenid();
                String doctorOpenID = doctor.getOpenid();
                String url = wlyyService + "/patient/feedback/sendMessage";
                String url = wlyyService + "/doctor/feedback/sendMessage";
                List<NameValuePair> params = new ArrayList<>();
                List<NameValuePair> params = new ArrayList<>();
                params.add(new BasicNameValuePair("receiver", creater));
                params.add(new BasicNameValuePair("receiver", creater));
                params.add(new BasicNameValuePair("title", title));
                params.add(new BasicNameValuePair("title", title));
                params.add(new BasicNameValuePair("type", "11"));
                params.add(new BasicNameValuePair("content", content));
                params.add(new BasicNameValuePair("content", content));
                HttpClientUtil.post(url, params, "UTF-8");
                HttpClientUtil.post(url, params, "UTF-8");

+ 5 - 2
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/feedback/FeedbackService.java

@ -232,7 +232,8 @@ public class FeedbackService extends BaseService {
                }
                }
            } else if (identity == 2) {
            } else if (identity == 2) {
                SimpleDateFormat formatDate = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
                SimpleDateFormat formatDate = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
                String newDate = formatDate.format(new Date());
                Date createTime = feedback.getCreateTime();
                String newDate = formatDate.format(createTime);
                String title = "新增系统消息";
                String title = "新增系统消息";
                String content = "您在" + newDate + "提交的意见反馈已处理,您可点此查看处理结果";
                String content = "您在" + newDate + "提交的意见反馈已处理,您可点此查看处理结果";
                Message message = new Message();
                Message message = new Message();
@ -246,14 +247,16 @@ public class FeedbackService extends BaseService {
                message.setSender("system");//设置发送的用户
                message.setSender("system");//设置发送的用户
                message.setTitle(title);
                message.setTitle(title);
                message.setReadonly(1);//是否只读消息
                message.setReadonly(1);//是否只读消息
                message.setRelationCode(feedback.getCode());
                //wlyy给医生发送系统消息
                //wlyy给医生发送系统消息
                Doctor doctor = doctorDao.findByCode(creater);
                Doctor doctor = doctorDao.findByCode(creater);
                String doctorOpenID = doctor.getOpenid();
                String doctorOpenID = doctor.getOpenid();
                String url = wlyyService + "/patient/feedback/sendMessage";
                String url = wlyyService + "/doctor/feedback/sendMessage";
                List<NameValuePair> params = new ArrayList<>();
                List<NameValuePair> params = new ArrayList<>();
                params.add(new BasicNameValuePair("receiver", creater));
                params.add(new BasicNameValuePair("receiver", creater));
                params.add(new BasicNameValuePair("title", title));
                params.add(new BasicNameValuePair("title", title));
                params.add(new BasicNameValuePair("type", "10"));
                params.add(new BasicNameValuePair("content",content));
                params.add(new BasicNameValuePair("content",content));
                HttpClientUtil.post(url, params, "UTF-8");
                HttpClientUtil.post(url, params, "UTF-8");

+ 1 - 1
patient-co-manage/wlyy-manage/src/main/resources/application.yml

@ -76,7 +76,7 @@ yueren:
doctorAssistant:
doctorAssistant:
  api: http://192.168.131.113:8080
  api: http://192.168.131.113:8080
wlyyService:
wlyyService:
  api: http://10.95.22.10:8011/wlyy/
  api: http://192.168.131.113:8081
image:
image:
  imgUrlDomain: http://172.19.103.54/
  imgUrlDomain: http://172.19.103.54/
---
---

+ 18 - 25
patient-co-service/wlyy_device/src/main/java/com/yihu/hos/device/service/DeviceService.java

@ -904,34 +904,27 @@ public class DeviceService {
     * @param patient
     * @param patient
     */
     */
    private void sendPrescriptionHealthIndexMsgresult(PatientHealthIndex result, Patient patient) {
    private void sendPrescriptionHealthIndexMsgresult(PatientHealthIndex result, Patient patient) {
        
        List<ConsultTeam> consultTeams = consultTeamDao.findUnfinishedConsult(patient.getCode());
        List<ConsultTeam> consultTeams = consultTeamDao.findUnfinishedConsult(patient.getCode());
    
    
        if(1 == result.getType()){
            for (ConsultTeam consultTeam:consultTeams) {
                if(1 == consultTeam.getHealthindexType() || 3 == consultTeam.getHealthindexType()){
                    org.json.JSONObject contentPatient = new org.json.JSONObject();
                    //患者发送的消息
                    contentPatient.put("title", "【本消息为系统提醒】:");
                    contentPatient.put("tzMsg", "体征记录:血糖 "+result.getValue1());
                    contentPatient.put("tzTime", "检测时间:"+DateUtil.dateToStrLong(result.getRecordDate()));
                    contentPatient.put("tzAlert","温馨提示:本条体征为居民上传的健康体征数据,您可以自动填入本次随访记录");
                    //患者发送Im消息
                    ImUtill.sendTopicIM(patient.getCode(), patient.getName(), consultTeam.getConsult(), "16", contentPatient.toString(), null);
                }
            }
        }else if(2 == result.getType()){
            for (ConsultTeam consultTeam:consultTeams) {
                if(2 == consultTeam.getHealthindexType() || 3 == consultTeam.getHealthindexType()){
                    org.json.JSONObject contentPatient = new org.json.JSONObject();
                    //患者发送的消息
                    contentPatient.put("title", "【本消息为系统提醒】:");
        for (ConsultTeam consultTeam:consultTeams) {
            if(consultTeam.getHealthindexType() != null){
                org.json.JSONObject contentPatient = new org.json.JSONObject();
                //患者发送的消息
                contentPatient.put("title", "【本消息为系统提醒】:");
                if(1 == result.getType()){
                    contentPatient.put("tzMsg", "体征记录:血糖 "+result.getValue1()+" mmol/L");
                    contentPatient.put("type",2);
                }else if(2 == result.getType()){
                    contentPatient.put("tzMsg", "体征记录:血压 "+result.getValue1()+"/"+result.getValue2()+" mmHg");
                    contentPatient.put("tzMsg", "体征记录:血压 "+result.getValue1()+"/"+result.getValue2()+" mmHg");
                    contentPatient.put("tzTime", "检测时间:"+DateUtil.dateToStrLong(result.getRecordDate()));
                    contentPatient.put("tzAlert","温馨提示:本条体征为居民上传的健康体征数据,您可以自动填入本次随访记录");
                    //患者发送Im消息
                    ImUtill.sendTopicIM(patient.getCode(), patient.getName(), consultTeam.getConsult(), "16", contentPatient.toString(), null);
                }
                    contentPatient.put("type",1);
                }else{}
            
                contentPatient.put("tzTime", "检测时间:"+DateUtil.dateToStrLong(result.getRecordDate()));
                contentPatient.put("tzAlert","温馨提示:本条体征为居民上传的健康体征数据,您可以");
                contentPatient.put("needUpload","false");
            
                //患者发送Im消息
                ImUtill.sendTopicIM(patient.getCode(), patient.getName(), consultTeam.getConsult(), "16", contentPatient.toString(), null);
            }
            }
        }
        }

+ 0 - 60
patient-co/patient-co-doctor-assistant/src/main/java/com/yihu/wlyy/web/doctor/template/DoctorFeldsherTemplateController.java

@ -1,60 +0,0 @@
package com.yihu.wlyy.web.doctor.template;
import com.yihu.wlyy.repository.template.DoctorGuidanceTempDao;
import com.yihu.wlyy.service.template.DoctorFeldsherTemplateService;
import com.yihu.wlyy.web.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * 医生健康指导模板
 * <p>
 * Created by Reece on 2017/9/14.
 */
@RestController
@RequestMapping(value = "/doctor/feldsher")
@Api(description = "医生健康指导模板")
public class DoctorFeldsherTemplateController extends BaseController {
    @Autowired
    private DoctorFeldsherTemplateService feldsherTemplateService;
    @Autowired
    DoctorGuidanceTempDao guidanceTempDao;
    /**
     * @param doctorCode   医生code
     * @param sessionId    会话Id
     * @param sessionType  会话类型
     * @param businessType 消息类型
     * @param from         发送者
     * @param content      消息内容
     * @return
     */
    @RequestMapping(value = "/sendDoctorTemplate", method = RequestMethod.POST)
    @ApiOperation(value = "医生助手给医生发送模板消息")
    public String sendDoctorTemplate(@RequestParam @ApiParam(value = "医生code") String doctorCode,
                                     @RequestParam @ApiParam(value = "会话Id", required = false) String sessionId,
                                     @RequestParam @ApiParam(value = "会话类型", required = false) String sessionType,
                                     @RequestParam @ApiParam(value = "消息类型") String businessType,
                                     @RequestParam @ApiParam(value = "发送者", required = false) String from,
                                     @RequestParam @ApiParam(value = "消息内容") String content) {
        try {
            Boolean flag = feldsherTemplateService.sendDoctorTemplate(doctorCode, sessionId, sessionType, businessType, from, content);
            if (flag){
                return write(200, "发送成功!");
            }else {
                return write( -1, "发送失败!");
            }
        } catch (Exception e) {
            e.printStackTrace();
            return invalidUserException(e, -1, "发送失败!");
        }
    }
}

+ 21 - 31
patient-co/patient-co-doctor-assistant/src/main/resources/application-dev.yml

@ -26,40 +26,30 @@ im:
  data_base_name: ichat
  data_base_name: ichat
wechat:
wechat:
  appId: wxd03f859efdf0873d
  appSecret: 2935b54b53a957d9516c920a544f2537
  appId: wxb3827510b2e15012
  appSecret: c5bdedd909ded9c2ee08028487e6f50d
  wechat_token: 27eb3bb24f149a7760cf1bb154b08040
  wechat_token: 27eb3bb24f149a7760cf1bb154b08040
  wechat_base_url: http%3a%2f%2fweixin.xmtyw.cn%2fwlyy-dev
  wechat_base_url: http%3a%2f%2fweixin.xmtyw.cn%2fwlyy-dev
  accId: gh_ffd64560fb21
  accId: gh_aa9cd602b84b
  message:
  message:
   ##医生追加建议提醒 --签约邀请
   doctor_invitel_template: TLWrBtNE2kBJaFCdVzDOOnQC8N2TtRY9ZxEzwZXQcR0
   #咨询回复
   template_consult_notice: qSOW0DBxO3qEBm4ucG0Ial0jxsOyD7_f2TFK5e-mQEc
   #签约成功
   template_sign_success: hDWV_sknKlhxhOwR5h68OCXbAhRpcgnx9INrT8BybE8
   #签约失败
   template_sign_failed: ezgttXE7rG4rAboQK2ituG1dKq4PeyCj3LxGJWO_vOA
   #健康指导提醒
   template_health_notice: 128RCfyCHi22jW8PZzo7vabKMsA3SBv5VeHaDPr2Bhw
   #解约提醒
   template_termination:  LrrzHjnIF67ww5uQUvSiv3_pVKJiIK4ZE3fKrvsT0AE
   #预约成功
   template_appoint_success:  Bo2yqNczSU9zkg4wXoouv9tSeefZ6TziggWL3dTXPYE
   #预约取消
   template_appoint_failed:  pErTBTdweIdrNRf_1Oo62YtQC0aHwPvtLaCzw44JzCQ
   #缴费提醒
   template_expenses_remind:  BkTGJ8S18qZ3DfaptAXnZznAk8RJjx9v93og5vyO0bs
   #健康教育
   template_healthy_article: LA7erINJ0CSsG2G_ZCrgsDaX3krhsI4qg_NSHEyL_l4
   #医生变更
   template_doctor_change:  TNIDMjduVKgVL4-k71umYLpHROvFB8K6mmm8aZC_EH8
   #问卷调查
   template_doctor_survey:  IjQvzBy0PLeft2kN9mdBhACXPE9I_jyJywJ6B-JRxsY
   #审核结果通知
   template_doctor_audit:  OFyLUeBW3r9trWw-i6pbB1sPSTD4J2recCv_mc-gKxA
   #服务结果通知
   template_doctor_service:  ezr5RlX0nvh7bGU9aVsGDMJbjKDp1uMKP-AGGYXwI5g
   ##处方待处理提醒
   template_prescription_pending: aPl14500g7SblWWGBsisRgFGqtSskiGxmhGMD5tS9ik
   ##服务状态提醒
   template_consult_notice: 5eOa_Wx60tqsbuQK7ITTgRXB-8SntBONvopai_HFnhY
   #居民体征异常提醒
   template_abnormal_signs: 5i4OuDef0Bzk3SBD9iuhOGqoCH0OSaH3HYIC8Sgg-yA
   #咨询请求通知
   template_consult_request: TeiAPgxC7JTVfWa24fkemlJ8Nvji_NCPYmxKzXql05A
   #签约申请通知
   template_sign_request: 7zB0Qf4nUEZlkGnoElmx8I4Q5dm0Gq9JZP6PCzl9b7s
   #随访提醒
   template_followup_success: -9blCMt1b7t24biL7QbkmQH0KWLgOIDQ5LtyX_Ai49E
   #处理结果通知
   template_treatment_result: J3W3-ZGZ5miHd0Ka1JLaXCYkIoCdiuJ-c527PH5nPQI
   #咨询回复提醒
   template_consult_reply: x7fIXWcd1YsXAnwhP-gmW1D__GtzD39j5KZLudoe0Y0
   #代办事项提醒
   template_schedule_remind: z32DERzD6X4ShOl86sI3YCOWl-lkr5Z9sKh1w_YG8Bs
yihu:
yihu:
  yihu_OpenPlatform_url: http://ssotest.yihu.cn/OpenPlatform/cgiBin/1.0/
  yihu_OpenPlatform_url: http://ssotest.yihu.cn/OpenPlatform/cgiBin/1.0/

+ 21 - 31
patient-co/patient-co-doctor-assistant/src/main/resources/application-devtest.yml

@ -26,40 +26,30 @@ im:
  data_base_name: im_new
  data_base_name: im_new
wechat:
wechat:
  appId: wx088a4d8e8208e6ce
  appSecret: ab3cdd509fb76fd0149e8864c97e8ddb
  appId: wxb3827510b2e15012
  appSecret: c5bdedd909ded9c2ee08028487e6f50d
  wechat_token: 27eb3bb24f149a7760cf1bb154b08040
  wechat_token: 27eb3bb24f149a7760cf1bb154b08040
  wechat_base_url: http%3a%2f%2fwww.xmtyw.cn%2fassistant
  wechat_base_url: http%3a%2f%2fwww.xmtyw.cn%2fassistant
  accId: gh_b0f086d0d2f5
  accId: gh_aa9cd602b84b
  message:
  message:
    ##医生追加建议提醒 --签约邀请
    doctor_invitel_template:  uXdBJVbrhKG-WLaCG4s8C4SXSr2kknQ94vKFt-3rIiA
    #咨询回复
    template_consult_notice: dr4QNyFoRvVsf8uWxXMC1dRyjwnbUuJwJ21vBLhf18
    #签约成功
    template_sign_success: VYGj8OUKj6FH4i4_nZS2UAHurJxQHx-7_OBPILIdB8s
    #签约失败
    template_sign_failed: m221Jrkm0UUY00ExTCpQNTB8t_1U_V4LR9Bg8BgH9-o
    #健康指导提醒
    template_health_notice: 5Nts8lA_at9Cd1JuTK-qDxx95lchpcmUfPTEwYDgXYQ
    #解约提醒
    template_termination:  qZm1NwSueAsbHaOf9DrnLoSj0X5gZuh9W7aDYzLWNds
    #预约成功
    template_appoint_success:  vU5x2tGyk1zUngBrEqMfnFqqMa6M8J98w8k5MCSUYM
    #预约取消
    template_appoint_failed:  r-bVEKgXVyl8O96saoJXlLd7DX1zW7fXA4a0PZHxiQM
    #缴费提醒
    template_expenses_remind:  pZby4Mz3H5angmjGTuvXzo9lwlaVfEiqORwI8soI-5E
    #健康教育
    template_healthy_article: aO_qqk5nAXaGXhsikPVLNelqzwlrp1LTPfIQ1qRMpxo
    #医生变更
    template_doctor_change:  V5h0F84t972kUzQvWy8qYrgdaYGJVj10pFeFVl19Nb8
    #问卷调查
    template_doctor_survey:  OqQXrb-e43_TJpq_70_K_y6vYJgY5mpjFYY4c5RWFP4
    #审核结果通知
    template_doctor_audit:  lCtOgJgL1tBJbAytqN7cn-FgCH_Usg99FENEy2TrC08
    #服务结果通知
    template_doctor_service: i34rq3xFLnpf_VN2Jor9n2YlQqJMM7oXyYvuctriISw
   ##处方待处理提醒
   template_prescription_pending: aPl14500g7SblWWGBsisRgFGqtSskiGxmhGMD5tS9ik
   ##服务状态提醒
   template_consult_notice: 5eOa_Wx60tqsbuQK7ITTgRXB-8SntBONvopai_HFnhY
   #居民体征异常提醒
   template_abnormal_signs: 5i4OuDef0Bzk3SBD9iuhOGqoCH0OSaH3HYIC8Sgg-yA
   #咨询请求通知
   template_consult_request: TeiAPgxC7JTVfWa24fkemlJ8Nvji_NCPYmxKzXql05A
   #签约申请通知
   template_sign_request: 7zB0Qf4nUEZlkGnoElmx8I4Q5dm0Gq9JZP6PCzl9b7s
   #随访提醒
   template_followup_success: -9blCMt1b7t24biL7QbkmQH0KWLgOIDQ5LtyX_Ai49E
   #处理结果通知
   template_treatment_result: J3W3-ZGZ5miHd0Ka1JLaXCYkIoCdiuJ-c527PH5nPQI
   #咨询回复提醒
   template_consult_reply: x7fIXWcd1YsXAnwhP-gmW1D__GtzD39j5KZLudoe0Y0
   #代办事项提醒
   template_schedule_remind: z32DERzD6X4ShOl86sI3YCOWl-lkr5Z9sKh1w_YG8Bs
yihu:
yihu:

+ 21 - 31
patient-co/patient-co-doctor-assistant/src/main/resources/application-local.yml

@ -26,40 +26,30 @@ im:
  data_base_name: im_new
  data_base_name: im_new
wechat:
wechat:
  appId: wx1f129f7b51701428
  appSecret: 988f005d8309ed1795939e0f042431fb
  appId: wxb3827510b2e15012
  appSecret: c5bdedd909ded9c2ee08028487e6f50d
  wechat_token: 27eb3bb24f149a7760cf1bb154b08040
  wechat_token: 27eb3bb24f149a7760cf1bb154b08040
  wechat_base_url: http%3a%2f%2fehr.yihu.com%2fwlyy
  wechat_base_url: http%3a%2f%2fehr.yihu.com%2fwlyy
  accId: gh_ffd64560fb21
  accId: gh_aa9cd602b84b
  message:
  message:
    ##医生追加建议提醒 --签约邀请
    doctor_invitel_template:  uXdBJVbrhKG-WLaCG4s8C4SXSr2kknQ94vKFt-3rIiA
    #咨询回复
    template_consult_notice: dr4QNyFoRvVsf8uWxXMC1dRyjwnbUuJwJ21vBLhf18
    #签约成功
    template_sign_success: VYGj8OUKj6FH4i4_nZS2UAHurJxQHx-7_OBPILIdB8s
    #签约失败
    template_sign_failed: m221Jrkm0UUY00ExTCpQNTB8t_1U_V4LR9Bg8BgH9-o
    #健康指导提醒
    template_health_notice: 5Nts8lA_at9Cd1JuTK-qDxx95lchpcmUfPTEwYDgXYQ
    #解约提醒
    template_termination:  qZm1NwSueAsbHaOf9DrnLoSj0X5gZuh9W7aDYzLWNds
    #预约成功
    template_appoint_success:  vU5x2tGyk1zUngBrEqMfnFqqMa6M8J98w8k5MCSUYM
    #预约取消
    template_appoint_failed:  r-bVEKgXVyl8O96saoJXlLd7DX1zW7fXA4a0PZHxiQM
    #缴费提醒
    template_expenses_remind:  pZby4Mz3H5angmjGTuvXzo9lwlaVfEiqORwI8soI-5E
    #健康教育
    template_healthy_article: aO_qqk5nAXaGXhsikPVLNelqzwlrp1LTPfIQ1qRMpxo
    #医生变更
    template_doctor_change:  V5h0F84t972kUzQvWy8qYrgdaYGJVj10pFeFVl19Nb8
    #问卷调查
    template_doctor_survey:  OqQXrb-e43_TJpq_70_K_y6vYJgY5mpjFYY4c5RWFP4
    #审核结果通知
    template_doctor_audit:  lCtOgJgL1tBJbAytqN7cn-FgCH_Usg99FENEy2TrC08
    #服务结果通知
    template_doctor_service: i34rq3xFLnpf_VN2Jor9n2YlQqJMM7oXyYvuctriISw
    ##处方待处理提醒
    template_prescription_pending: aPl14500g7SblWWGBsisRgFGqtSskiGxmhGMD5tS9ik
    ##服务状态提醒
    template_consult_notice: 5eOa_Wx60tqsbuQK7ITTgRXB-8SntBONvopai_HFnhY
    #居民体征异常提醒
    template_abnormal_signs: 5i4OuDef0Bzk3SBD9iuhOGqoCH0OSaH3HYIC8Sgg-yA
    #咨询请求通知
    template_consult_request: TeiAPgxC7JTVfWa24fkemlJ8Nvji_NCPYmxKzXql05A
    #签约申请通知
    template_sign_request: 7zB0Qf4nUEZlkGnoElmx8I4Q5dm0Gq9JZP6PCzl9b7s
    #随访提醒
    template_followup_success: -9blCMt1b7t24biL7QbkmQH0KWLgOIDQ5LtyX_Ai49E
    #处理结果通知
    template_treatment_result: J3W3-ZGZ5miHd0Ka1JLaXCYkIoCdiuJ-c527PH5nPQI
    #咨询回复提醒
    template_consult_reply: x7fIXWcd1YsXAnwhP-gmW1D__GtzD39j5KZLudoe0Y0
    #代办事项提醒
    template_schedule_remind: z32DERzD6X4ShOl86sI3YCOWl-lkr5Z9sKh1w_YG8Bs
yihu:
yihu:

+ 21 - 31
patient-co/patient-co-doctor-assistant/src/main/resources/application-localtest.yml

@ -26,40 +26,30 @@ im:
  data_base_name: im_new
  data_base_name: im_new
wechat:
wechat:
  appId: wx1f129f7b51701428
  appSecret: 988f005d8309ed1795939e0f042431fb
  appId: wxb3827510b2e15012
  appSecret: c5bdedd909ded9c2ee08028487e6f50d
  wechat_token: 27eb3bb24f149a7760cf1bb154b08040
  wechat_token: 27eb3bb24f149a7760cf1bb154b08040
  wechat_base_url: http%3a%2f%2fehr.yihu.com%2fwlyy
  wechat_base_url: http%3a%2f%2fehr.yihu.com%2fwlyy
  accId: gh_ffd64560fb21
  accId: gh_aa9cd602b84b
  message:
  message:
    ##医生追加建议提醒 --签约邀请
    doctor_invitel_template:  uXdBJVbrhKG-WLaCG4s8C4SXSr2kknQ94vKFt-3rIiA
    #咨询回复
    template_consult_notice: dr4QNyFoRvVsf8uWxXMC1dRyjwnbUuJwJ21vBLhf18
    #签约成功
    template_sign_success: VYGj8OUKj6FH4i4_nZS2UAHurJxQHx-7_OBPILIdB8s
    #签约失败
    template_sign_failed: m221Jrkm0UUY00ExTCpQNTB8t_1U_V4LR9Bg8BgH9-o
    #健康指导提醒
    template_health_notice: 5Nts8lA_at9Cd1JuTK-qDxx95lchpcmUfPTEwYDgXYQ
    #解约提醒
    template_termination:  qZm1NwSueAsbHaOf9DrnLoSj0X5gZuh9W7aDYzLWNds
    #预约成功
    template_appoint_success:  vU5x2tGyk1zUngBrEqMfnFqqMa6M8J98w8k5MCSUYM
    #预约取消
    template_appoint_failed:  r-bVEKgXVyl8O96saoJXlLd7DX1zW7fXA4a0PZHxiQM
    #缴费提醒
    template_expenses_remind:  pZby4Mz3H5angmjGTuvXzo9lwlaVfEiqORwI8soI-5E
    #健康教育
    template_healthy_article: aO_qqk5nAXaGXhsikPVLNelqzwlrp1LTPfIQ1qRMpxo
    #医生变更
    template_doctor_change:  V5h0F84t972kUzQvWy8qYrgdaYGJVj10pFeFVl19Nb8
    #问卷调查
    template_doctor_survey:  OqQXrb-e43_TJpq_70_K_y6vYJgY5mpjFYY4c5RWFP4
    #审核结果通知
    template_doctor_audit:  lCtOgJgL1tBJbAytqN7cn-FgCH_Usg99FENEy2TrC08
    #服务结果通知
    template_doctor_service: i34rq3xFLnpf_VN2Jor9n2YlQqJMM7oXyYvuctriISw
    ##处方待处理提醒
    template_prescription_pending: aPl14500g7SblWWGBsisRgFGqtSskiGxmhGMD5tS9ik
    ##服务状态提醒
    template_consult_notice: 5eOa_Wx60tqsbuQK7ITTgRXB-8SntBONvopai_HFnhY
    #居民体征异常提醒
    template_abnormal_signs: 5i4OuDef0Bzk3SBD9iuhOGqoCH0OSaH3HYIC8Sgg-yA
    #咨询请求通知
    template_consult_request: TeiAPgxC7JTVfWa24fkemlJ8Nvji_NCPYmxKzXql05A
    #签约申请通知
    template_sign_request: 7zB0Qf4nUEZlkGnoElmx8I4Q5dm0Gq9JZP6PCzl9b7s
    #随访提醒
    template_followup_success: -9blCMt1b7t24biL7QbkmQH0KWLgOIDQ5LtyX_Ai49E
    #处理结果通知
    template_treatment_result: J3W3-ZGZ5miHd0Ka1JLaXCYkIoCdiuJ-c527PH5nPQI
    #咨询回复提醒
    template_consult_reply: x7fIXWcd1YsXAnwhP-gmW1D__GtzD39j5KZLudoe0Y0
    #代办事项提醒
    template_schedule_remind: z32DERzD6X4ShOl86sI3YCOWl-lkr5Z9sKh1w_YG8Bs
yihu:
yihu:

+ 21 - 31
patient-co/patient-co-doctor-assistant/src/main/resources/application-test.yml

@ -25,40 +25,30 @@ im:
  data_base_name: im_new
  data_base_name: im_new
wechat:
wechat:
  appId: wx088a4d8e8208e6ce
  appSecret: ab3cdd509fb76fd0149e8864c97e8ddb
  appId: wxb3827510b2e15012
  appSecret: c5bdedd909ded9c2ee08028487e6f50d
  wechat_token: 27eb3bb24f149a7760cf1bb154b08040
  wechat_token: 27eb3bb24f149a7760cf1bb154b08040
  wechat_base_url: http%3a%2f%2fwww.xmtyw.cn%2fassistant
  wechat_base_url: http%3a%2f%2fwww.xmtyw.cn%2fassistant
  accId: gh_b0f086d0d2f5
  accId: gh_aa9cd602b84b
  message:
  message:
   ##医生追加建议提醒 --签约邀请
   doctor_invitel_template: uXdBJVbrhKG-WLaCG4s8C4SXSr2kknQ94vKFt-3rIiA
   #咨询回复
   template_consult_notice: dr4QNyFoRvVsf8uWxXMC1dRyjwnbUuJwJ21vBLhf18
   #签约成功
   template_sign_success: VYGj8OUKj6FH4i4_nZS2UAHurJxQHx-7_OBPILIdB8s
   #签约失败
   template_sign_failed: m221Jrkm0UUY00ExTCpQNTB8t_1U_V4LR9Bg8BgH9-o
   #健康指导提醒
   template_health_notice: 5Nts8lA_at9Cd1JuTK-qDxx95lchpcmUfPTEwYDgXYQ
   #解约提醒
   template_termination:  qZm1NwSueAsbHaOf9DrnLoSj0X5gZuh9W7aDYzLWNds
   #预约成功
   template_appoint_success:  vU5x2tGyk1zUngBrEqMfnFqqMa6M8J98w8k5MCSUYM
   #预约取消
   template_appoint_failed:  r-bVEKgXVyl8O96saoJXlLd7DX1zW7fXA4a0PZHxiQM
   #缴费提醒
   template_expenses_remind:  pZby4Mz3H5angmjGTuvXzo9lwlaVfEiqORwI8soI-5E
   #健康教育
   template_healthy_article: aO_qqk5nAXaGXhsikPVLNelqzwlrp1LTPfIQ1qRMpxo
   #医生变更
   template_doctor_change:  V5h0F84t972kUzQvWy8qYrgdaYGJVj10pFeFVl19Nb8
   #问卷调查
   template_doctor_survey:  OqQXrb-e43_TJpq_70_K_y6vYJgY5mpjFYY4c5RWFP4
   #审核结果通知
   template_doctor_audit:  lCtOgJgL1tBJbAytqN7cn-FgCH_Usg99FENEy2TrC08
   #服务结果通知
   template_doctor_service:  i34rq3xFLnpf_VN2Jor9n2YlQqJMM7oXyYvuctriISw
     ##处方待处理提醒
     template_prescription_pending: aPl14500g7SblWWGBsisRgFGqtSskiGxmhGMD5tS9ik
     ##服务状态提醒
     template_consult_notice: 5eOa_Wx60tqsbuQK7ITTgRXB-8SntBONvopai_HFnhY
     #居民体征异常提醒
     template_abnormal_signs: 5i4OuDef0Bzk3SBD9iuhOGqoCH0OSaH3HYIC8Sgg-yA
     #咨询请求通知
     template_consult_request: TeiAPgxC7JTVfWa24fkemlJ8Nvji_NCPYmxKzXql05A
     #签约申请通知
     template_sign_request: 7zB0Qf4nUEZlkGnoElmx8I4Q5dm0Gq9JZP6PCzl9b7s
     #随访提醒
     template_followup_success: -9blCMt1b7t24biL7QbkmQH0KWLgOIDQ5LtyX_Ai49E
     #处理结果通知
    template_treatment_result: J3W3-ZGZ5miHd0Ka1JLaXCYkIoCdiuJ-c527PH5nPQI
     #咨询回复提醒
     template_consult_reply: x7fIXWcd1YsXAnwhP-gmW1D__GtzD39j5KZLudoe0Y0
     #代办事项提醒
     template_schedule_remind: z32DERzD6X4ShOl86sI3YCOWl-lkr5Z9sKh1w_YG8Bs
yihu:
yihu:
  yihu_OpenPlatform_url: http://ssotest.yihu.cn/OpenPlatform/cgiBin/1.0/
  yihu_OpenPlatform_url: http://ssotest.yihu.cn/OpenPlatform/cgiBin/1.0/

+ 11 - 0
patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/config/DataSourceConfig.java

@ -40,6 +40,10 @@ public class DataSourceConfig {
    private boolean testOnBorrow;
    private boolean testOnBorrow;
    @Value("${spring.datasource.testOnReturn}")
    @Value("${spring.datasource.testOnReturn}")
    private boolean testOnReturn;
    private boolean testOnReturn;
    @Value("${spring.datasource.poolPreparedStatements}")
    private boolean poolPreparedStatements;
    @Value("${spring.datasource.maxPoolPreparedStatementPerConnectionSize}")
    private int maxPoolPreparedStatementPerConnectionSize;
@ -75,6 +79,9 @@ public class DataSourceConfig {
        datasource.setTestWhileIdle(testWhileIdle);
        datasource.setTestWhileIdle(testWhileIdle);
        datasource.setTestOnBorrow(testOnBorrow);
        datasource.setTestOnBorrow(testOnBorrow);
        datasource.setTestOnReturn(testOnReturn);
        datasource.setTestOnReturn(testOnReturn);
        datasource.setPoolPreparedStatements(poolPreparedStatements);
        datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
        return datasource;
        return datasource;
    }
    }
@ -107,6 +114,8 @@ public class DataSourceConfig {
        datasource.setTestWhileIdle(testWhileIdle);
        datasource.setTestWhileIdle(testWhileIdle);
        datasource.setTestOnBorrow(testOnBorrow);
        datasource.setTestOnBorrow(testOnBorrow);
        datasource.setTestOnReturn(testOnReturn);
        datasource.setTestOnReturn(testOnReturn);
        datasource.setPoolPreparedStatements(poolPreparedStatements);
        datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
        return datasource;
        return datasource;
    }
    }
@ -136,6 +145,8 @@ public class DataSourceConfig {
        datasource.setTestWhileIdle(testWhileIdle);
        datasource.setTestWhileIdle(testWhileIdle);
        datasource.setTestOnBorrow(testOnBorrow);
        datasource.setTestOnBorrow(testOnBorrow);
        datasource.setTestOnReturn(testOnReturn);
        datasource.setTestOnReturn(testOnReturn);
        datasource.setPoolPreparedStatements(poolPreparedStatements);
        datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
        return datasource;
        return datasource;
    }
    }

+ 17 - 4
patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/etl/convert/wlyy/AgeConvert.java

@ -9,7 +9,10 @@ import com.yihu.wlyy.statistics.vo.DataModel;
import com.yihu.wlyy.statistics.vo.WlyyJobConfigVO;
import com.yihu.wlyy.statistics.vo.WlyyJobConfigVO;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.List;
import java.util.Map;
/**
/**
 * Created by chenweida on 2017/6/5.
 * Created by chenweida on 2017/6/5.
@ -20,18 +23,28 @@ public class AgeConvert implements Convert {
     * @param slaveLevel 从1开始
     * @param slaveLevel 从1开始
     * @return
     * @return
     */
     */
    public List<DataModel> convert(JdbcTemplate jdbcTemplate, List oneList, String slaveLevel, WlyyDimensionQuota temp ) {
        oneList.stream().forEach(one -> {
    public List<DataModel> convert(JdbcTemplate jdbcTemplate, List<DataModel> oneList, String slaveLevel, WlyyDimensionQuota temp ) {
        Map<String,Object> tempMap = new HashMap<>();
        List<DataModel> result = new ArrayList<>();
        for(DataModel one:oneList) {
            try {
            try {
                Object value = DataModel.class.getMethod("get" + temp.getKey()).invoke(one);
                Object value = DataModel.class.getMethod("get" + temp.getKey()).invoke(one);
                Integer age= IdCardUtil.getAgeForIdcard(String.valueOf(value));
                Integer age= IdCardUtil.getAgeForIdcard(String.valueOf(value));
                String key = getAgeCode(age);
                String key = getAgeCode(age);
                if("63".equals(temp.getQuotaCode())){
                    if(tempMap.containsKey(String.valueOf(value))){
                        continue;
                    }
                }
                tempMap.put(String.valueOf(value),one);
                DataModel.class.getMethod("setSlaveKey" + slaveLevel, String.class).invoke(one, key);
                DataModel.class.getMethod("setSlaveKey" + slaveLevel, String.class).invoke(one, key);
                result.add(one);
            } catch (Exception e) {
            } catch (Exception e) {
                e.printStackTrace();
                e.printStackTrace();
            }
            }
        });
        return oneList;
        };
        return result;
    }
    }
    public String getAgeCode(Integer age) {
    public String getAgeCode(Integer age) {

+ 9 - 0
patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/etl/convert/wlyy/DiseaseConvert.java

@ -24,6 +24,7 @@ public class DiseaseConvert implements Convert {
        List<DataModel> returnList = new ArrayList<>();
        List<DataModel> returnList = new ArrayList<>();
        //初始化标签Map
        //初始化标签Map
//        Map<String, Object> map = initHealthLabesMap(jdbcTemplate, temp);
//        Map<String, Object> map = initHealthLabesMap(jdbcTemplate, temp);
        Map<String,Object> tempMap = new HashMap<>();
        //把标签Map设置到对应的维度里面
        //把标签Map设置到对应的维度里面
        List<String> keyList = null;
        List<String> keyList = null;
        for(DataModel one:oneList){
        for(DataModel one:oneList){
@ -32,9 +33,17 @@ public class DiseaseConvert implements Convert {
                for(String key:keyList){
                for(String key:keyList){
                    DataModel dataModelTemp = new DataModel();
                    DataModel dataModelTemp = new DataModel();
                    BeanUtils.copyProperties(one, dataModelTemp);
                    BeanUtils.copyProperties(one, dataModelTemp);
                    if("63".equals(temp.getQuotaCode())){
                        if(tempMap.containsKey(String.valueOf(one.getPatient()))){
                            continue;
                        }
                        tempMap.put(String.valueOf(one.getPatient()),one);
                    }
                    DataModel.class.getMethod("setSlaveKey" + slaveLevel, String.class).invoke(dataModelTemp, key);
                    DataModel.class.getMethod("setSlaveKey" + slaveLevel, String.class).invoke(dataModelTemp, key);
                    returnList.add(dataModelTemp);
                    returnList.add(dataModelTemp);
                }
                }
            }catch (Exception e) {
            }catch (Exception e) {
                e.printStackTrace();
                e.printStackTrace();
            }
            }

+ 2 - 2
patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/etl/convert/wlyy/PrescriptionStatusConvert.java

@ -38,7 +38,7 @@ public class PrescriptionStatusConvert implements Convert {
    }
    }
    public String getStatusCode(Integer status) {
    public String getStatusCode(Integer status) {
        if (status >= 0 && status <= 100) {
        if (status >= 0 && status < 100) {
            return Contant.prescriptionStatus.status_1;
            return Contant.prescriptionStatus.status_1;
        } else if (status==100) {
        } else if (status==100) {
            return Contant.prescriptionStatus.status_2;
            return Contant.prescriptionStatus.status_2;
@ -46,7 +46,7 @@ public class PrescriptionStatusConvert implements Convert {
            return Contant.prescriptionStatus.status_3;
            return Contant.prescriptionStatus.status_3;
        } else if (status==-1) {
        } else if (status==-1) {
            return Contant.prescriptionStatus.status_4;
            return Contant.prescriptionStatus.status_4;
        } else if (status==-3) {
        } else if (status==-3||status==-4||status==-5) {
            return Contant.prescriptionStatus.status_5;
            return Contant.prescriptionStatus.status_5;
        } else{
        } else{
            return "0";
            return "0";

+ 1 - 2
patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/etl/extract/db/DBExtract.java

@ -16,6 +16,7 @@ import java.util.List;
@Component
@Component
@Scope("prototype")
@Scope("prototype")
public class DBExtract<T> {
public class DBExtract<T> {
    Integer pageSize=100000;
    /**
    /**
     * 不分页抽取
     * 不分页抽取
@ -49,7 +50,6 @@ public class DBExtract<T> {
        if(StringUtils.isEmpty(countSql)){
        if(StringUtils.isEmpty(countSql)){
            return extract(clazz,sql,jdbcTemplate);
            return extract(clazz,sql,jdbcTemplate);
        }
        }
        int pageSize=10000;
        return SpringUtil.getBean(DBPageExtract.class).extractByPage(clazz,sql,countSql,pageSize,isMultithreading,jdbcTemplate);
        return SpringUtil.getBean(DBPageExtract.class).extractByPage(clazz,sql,countSql,pageSize,isMultithreading,jdbcTemplate);
    }
    }
    /**
    /**
@ -59,7 +59,6 @@ public class DBExtract<T> {
     * @return
     * @return
     */
     */
    public List<Object> extractByPage(Class<T> clazz,String sql,JdbcTemplate jdbcTemplate)throws  Exception{
    public List<Object> extractByPage(Class<T> clazz,String sql,JdbcTemplate jdbcTemplate)throws  Exception{
        int pageSize=10000;
        Boolean isMultithreading=false;
        Boolean isMultithreading=false;
        String countSql="";
        String countSql="";
        return SpringUtil.getBean(DBPageExtract.class).extractByPage(clazz,sql,countSql,pageSize,isMultithreading,jdbcTemplate);
        return SpringUtil.getBean(DBPageExtract.class).extractByPage(clazz,sql,countSql,pageSize,isMultithreading,jdbcTemplate);

+ 8 - 2
patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/service/JobService.java

@ -14,6 +14,8 @@ import com.yihu.wlyy.statistics.vo.WlyyJobConfigVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.annotation.Transactional;
@ -42,6 +44,9 @@ public class JobService {
    @Autowired
    @Autowired
    private DoctorPatientGroupInfoDao doctorPatientGroupInfoDao;
    private DoctorPatientGroupInfoDao doctorPatientGroupInfoDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Transactional
    @Transactional
    public void stopById(String id) throws Exception {
    public void stopById(String id) throws Exception {
@ -170,6 +175,7 @@ public class JobService {
    }
    }
    public void productDataByOneDay(String yesterday) throws Exception {
    public void productDataByOneDay(String yesterday) throws Exception {
        String sql="select * from wlyy_job_config_new a where  a.del='1' and a.id !=11 order by a.id asc";
        SimpleDateFormat dataSimple = new SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat dataSimple = new SimpleDateFormat("yyyy-MM-dd");
        Date date = dataSimple.parse(yesterday);
        Date date = dataSimple.parse(yesterday);
@ -181,7 +187,7 @@ public class JobService {
        calendar.add(calendar.DATE, -1);//把日期往后增加一天.整数往后推,负数往前移动
        calendar.add(calendar.DATE, -1);//把日期往后增加一天.整数往后推,负数往前移动
        Date nowDate = calendar.getTime();   //这个时间就是日期往后推一天的结果
        Date nowDate = calendar.getTime();   //这个时间就是日期往后推一天的结果
        String daybefore = new SimpleDateFormat("yyyy-MM-dd").format(nowDate.getTime());
        String daybefore = new SimpleDateFormat("yyyy-MM-dd").format(nowDate.getTime());
        List<QuartzJobConfig> quartzJobConfigs = wlyyJobConfigDao.findByIds();
        List<QuartzJobConfig> quartzJobConfigs = jdbcTemplate.query(sql,new BeanPropertyRowMapper(QuartzJobConfig.class));
        for (QuartzJobConfig quartzJobConfig : quartzJobConfigs) {
        for (QuartzJobConfig quartzJobConfig : quartzJobConfigs) {
            WlyyJobConfigVO wlyyJobConfigVO = new WlyyJobConfigVO();
            WlyyJobConfigVO wlyyJobConfigVO = new WlyyJobConfigVO();
@ -300,7 +306,7 @@ public class JobService {
        int day = daysBetween(startDate, endDate);
        int day = daysBetween(startDate, endDate);
        for (int i = 0; i < day; i++) {
        for (int i = 0; i < day; i++) {
            Cache.cleanCache();//清空缓存
            Cache.cleanCache();//清空缓存
            Thread.sleep(60000L);//休息60秒
           // Thread.sleep(60000L);//休息60秒
            productDataByOneDay(getYesterday(i, startDate));
            productDataByOneDay(getYesterday(i, startDate));
        }
        }
    }
    }

+ 5 - 5
patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/util/IdCardUtil.java

@ -63,27 +63,27 @@ public class IdCardUtil {
    public static String getSexForIdcard(String CardCode)
    public static String getSexForIdcard(String CardCode)
            throws Exception {
            throws Exception {
        try {
        try {
            String sex = "1";
            String sex = "2";
            if (CardCode.length() == 18) {
            if (CardCode.length() == 18) {
                if (Integer.parseInt(CardCode.substring(16).substring(0, 1)) % 2 == 0) {// 判断性别
                if (Integer.parseInt(CardCode.substring(16).substring(0, 1)) % 2 == 0) {// 判断性别
                    // modifid by lyr 2016-09-29
                    // modifid by lyr 2016-09-29
                    // sex =  Constant.level_sex_2;
                    // sex =  Constant.level_sex_2;
                    sex = "2";
                    sex = "1";
                    // modifid by lyr 2016-09-29
                    // modifid by lyr 2016-09-29
                } else {
                } else {
                    // modifid by lyr 2016-09-29
                    // modifid by lyr 2016-09-29
                    // sex =  Constant.level_sex_1;
                    // sex =  Constant.level_sex_1;
                    sex = "1";
                    sex = "2";
                    // modifid by lyr 2016-09-29
                    // modifid by lyr 2016-09-29
                }
                }
            } else if (CardCode.length() == 15) {
            } else if (CardCode.length() == 15) {
                String usex = CardCode.substring(14, 15);// 用户的性别
                String usex = CardCode.substring(14, 15);// 用户的性别
                if (Integer.parseInt(usex) % 2 == 0) {
                if (Integer.parseInt(usex) % 2 == 0) {
                    // sex =  Constant.level_sex_2;
                    // sex =  Constant.level_sex_2;
                    sex = "2";
                    sex = "1";
                } else {
                } else {
                    // sex =  Constant.level_sex_1;
                    // sex =  Constant.level_sex_1;
                    sex = "1";
                    sex = "2";
                }
                }
            }
            }
            return sex;
            return sex;

+ 4 - 3
patient-co/patient-co-statistics-es/src/main/resources/application.yml

@ -14,17 +14,18 @@ spring:
  datasource:
  datasource:
    driverClassName: com.mysql.jdbc.Driver
    driverClassName: com.mysql.jdbc.Driver
    initialSize: 20
    initialSize: 50
    maxActive: 50
    maxActive: 50
    minIdle: 50 #最大空闲连接
    minIdle: 50 #最大空闲连接
    maxWait: 10
    maxWait: 50
    validationQuery: SELECT 1 #SQL 查询, 用来验证从连接池取出的连接, 在将连接返回给调用者之前。 如果指定, 则查询必须是一个SQL SELECT 并且必须返回至少一行记录
    validationQuery: SELECT 1 #SQL 查询, 用来验证从连接池取出的连接, 在将连接返回给调用者之前。 如果指定, 则查询必须是一个SQL SELECT 并且必须返回至少一行记录
    testOnBorrow: true #指明是否在从池中取出连接前进行检验, 如果检验失败, 则从池中去除连接并尝试取出另一个。注意: 设置为true 后如果要生效,validationQuery 参数必须设置为非空字符串
    testOnBorrow: true #指明是否在从池中取出连接前进行检验, 如果检验失败, 则从池中去除连接并尝试取出另一个。注意: 设置为true 后如果要生效,validationQuery 参数必须设置为非空字符串
    testOnReturn: true #指明是否在归还到池中前进行检验 注意: 设置为true 后如果要生效validationQuery 参数必须设置为非空字符串
    testOnReturn: true #指明是否在归还到池中前进行检验 注意: 设置为true 后如果要生效validationQuery 参数必须设置为非空字符串
    testWhileIdle: true #指明连接是否被空闲连接回收器(如果有)进行检验,如果检测失败,则连接将被从池中去除
    testWhileIdle: true #指明连接是否被空闲连接回收器(如果有)进行检验,如果检测失败,则连接将被从池中去除
    minEvictableIdleTimeMillis: 3600000 #连接池中连接,在时间段内一直空闲,被逐出连接池的时间(1000*60*60),以毫秒为单位
    minEvictableIdleTimeMillis: 3600000 #连接池中连接,在时间段内一直空闲,被逐出连接池的时间(1000*60*60),以毫秒为单位
    timeBetweenEvictionRunsMillis: 300000 #在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位,一般比minEvictableIdleTimeMillis小
    timeBetweenEvictionRunsMillis: 300000 #在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位,一般比minEvictableIdleTimeMillis小
    poolPreparedStatements: true # 打开PSCache,并且指定每个连接上PSCache的大小
    maxPoolPreparedStatementPerConnectionSize: 50
    # REDIS
    # REDIS
  redis:
  redis:
    database: 0 # Database index used by the connection factory.
    database: 0 # Database index used by the connection factory.

+ 0 - 1
patient-co/patient-co-wlyy/pom.xml

@ -10,7 +10,6 @@
        <relativePath>../../patient-co-lib/pom.xml</relativePath>
        <relativePath>../../patient-co-lib/pom.xml</relativePath>
    </parent>
    </parent>
    <artifactId>patient-co-wlyy</artifactId>
    <artifactId>patient-co-wlyy</artifactId>
    <name>patient-co-wlyy</name>
    <name>patient-co-wlyy</name>
    <version>1.0.0</version>
    <version>1.0.0</version>

+ 2 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/config/SwaggerConfig.java

@ -180,7 +180,8 @@ public class SwaggerConfig {
                        regex("/express/.*"),
                        regex("/express/.*"),
                        regex("/doctorFeedback/.*"),
                        regex("/doctorFeedback/.*"),
                        regex("/patientFeedback/.*"),
                        regex("/patientFeedback/.*"),
                        regex("/esstatistics/.*")
                        regex("/esstatistics/.*"),
                        regex("/old/statistics/.*")
                ))
                ))
                .build()
                .build()
                .apiInfo(otherApiInfo());
                .apiInfo(otherApiInfo());

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/doctor/SignPatientLabelDao.java

@ -33,7 +33,7 @@ public interface SignPatientLabelDao extends
     * @param status
     * @param status
     * @return
     * @return
     */
     */
    @Query("select a from SignPatientLabel a where a.labelType = ?1 and a.status = ?2 ORDER BY a.sort ASC ")
    @Query("select a from SignPatientLabel a where a.labelType = ?1 and a.status = ?2 and a.labelCode !=0 ORDER BY a.sort ASC ")
    List<SignPatientLabel> findByLabelTypeAndStatus(String labelType,Integer status);
    List<SignPatientLabel> findByLabelTypeAndStatus(String labelType,Integer status);
    /**
    /**

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/followup/FollowUpDao.java

@ -75,5 +75,5 @@ public interface FollowUpDao extends PagingAndSortingRepository<Followup, Long>,
    
    
    @Modifying
    @Modifying
    @Query("update Followup a set a.status=?2 where a.prescriptionCode = ?1 ")
    @Query("update Followup a set a.status=?2 where a.prescriptionCode = ?1 ")
    void updateStatusByPrescriptionCode(String prescriptionCode, Integer status);
    void updateStatusByPrescriptionCode(String prescriptionCode, String status);
}
}

+ 18 - 29
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/health/PatientHealthIndexService.java

@ -910,39 +910,28 @@ public class PatientHealthIndexService extends BaseService {
    private void sendPrescriptionHealthIndexMsgresult(DevicePatientHealthIndex result, Patient patient) {
    private void sendPrescriptionHealthIndexMsgresult(DevicePatientHealthIndex result, Patient patient) {
        
        
        List<ConsultTeam> consultTeams = consultTeamDao.findUnfinishedConsultPrescription(patient.getCode());
        List<ConsultTeam> consultTeams = consultTeamDao.findUnfinishedConsultPrescription(patient.getCode());
        
        if(1 == result.getType()){
            for (ConsultTeam consultTeam:consultTeams) {
                if(1 == consultTeam.getHealthindexType() || 3 == consultTeam.getHealthindexType()){
                    org.json.JSONObject contentPatient = new org.json.JSONObject();
                    //患者发送的消息
                    contentPatient.put("title", "【本消息为系统提醒】:");
    
        for (ConsultTeam consultTeam:consultTeams) {
            if(consultTeam.getHealthindexType() != null){
                org.json.JSONObject contentPatient = new org.json.JSONObject();
                //患者发送的消息
                contentPatient.put("title", "【本消息为系统提醒】:");
                if(1 == result.getType()){
                    contentPatient.put("tzMsg", "体征记录:血糖 "+result.getValue1()+" mmol/L");
                    contentPatient.put("tzMsg", "体征记录:血糖 "+result.getValue1()+" mmol/L");
                    contentPatient.put("tzTime", "检测时间:"+DateUtil.dateToStrLong(result.getRecordDate()));
                    contentPatient.put("tzAlert","温馨提示:本条体征为居民上传的健康体征数据,您可以");
                    contentPatient.put("needUpload","false");
                    contentPatient.put("type",1);
                    //患者发送Im消息
                    ImUtill.sendTopicIM(patient.getCode(), patient.getName(), consultTeam.getConsult(), "16", contentPatient.toString(), null);
                }
            }
        }else if(2 == result.getType()){
            for (ConsultTeam consultTeam:consultTeams) {
                if(2 == consultTeam.getHealthindexType() || 3 == consultTeam.getHealthindexType()){
                    org.json.JSONObject contentPatient = new org.json.JSONObject();
                    //患者发送的消息
                    contentPatient.put("title", "【本消息为系统提醒】:");
                    contentPatient.put("tzMsg", "体征记录:血压 "+result.getValue1()+"/"+result.getValue2()+" mmHg");
                    contentPatient.put("tzTime", "检测时间:"+DateUtil.dateToStrLong(result.getRecordDate()));
                    contentPatient.put("tzAlert","温馨提示:本条体征为居民上传的健康体征数据,您可以");
                    contentPatient.put("needUpload","false");
                    contentPatient.put("type",2);
                    contentPatient.put("type",2);
                    //患者发送Im消息
                    ImUtill.sendTopicIM(patient.getCode(), patient.getName(), consultTeam.getConsult(), "16", contentPatient.toString(), null);
                }
                }else if(2 == result.getType()){
                    contentPatient.put("tzMsg", "体征记录:血压 "+result.getValue1()+"/"+result.getValue2()+" mmHg");
                    contentPatient.put("type",1);
                }else{}
                
                contentPatient.put("tzTime", "检测时间:"+DateUtil.dateToStrLong(result.getRecordDate()));
                contentPatient.put("tzAlert","温馨提示:本条体征为居民上传的健康体征数据,您可以");
                contentPatient.put("needUpload","false");
                
                //患者发送Im消息
                ImUtill.sendTopicIM(patient.getCode(), patient.getName(), consultTeam.getConsult(), "16", contentPatient.toString(), null);
            }
            }
        }
        }
        
    }
    }
    /**
    /**

+ 5 - 5
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionInfoService.java

@ -652,10 +652,10 @@ public class PrescriptionInfoService extends BaseService {
                //获取智业待结算接口,更新药品金额
                //获取智业待结算接口,更新药品金额
                prescriptionService.getPerscriptionInfoCostFromPayInfo(p.getCode());
                prescriptionService.getPerscriptionInfoCostFromPayInfo(p.getCode());
                
                //更新随访记录的状态为完成
                //更新随访记录的状态为完成
                followUpDao.updateStatusByPrescriptionCode(p.getCode(),1);
                
                followUpDao.updateStatusByPrescriptionCode(p.getCode(),"1");
                //发送Im消息
                //发送Im消息
                JSONObject content = new JSONObject();
                JSONObject content = new JSONObject();
                content.put("title", "我已经审核您" + DateUtil.dateToStr(p.getCreateTime(), "yyyy-MM-dd") + "发起的续方申请");
                content.put("title", "我已经审核您" + DateUtil.dateToStr(p.getCreateTime(), "yyyy-MM-dd") + "发起的续方申请");
@ -883,8 +883,8 @@ public class PrescriptionInfoService extends BaseService {
                p.setJwDeptCode(dept);
                p.setJwDeptCode(dept);
                p.setJwRegisterFee(registerFee);
                p.setJwRegisterFee(registerFee);
                p.setJwGisterTypeCode(rateTypeCode);//挂号类型
                p.setJwGisterTypeCode(rateTypeCode);//挂号类型
                
                
            } else {
            } else {
                //审核不通过
                //审核不通过
                p.setStatus(PrescriptionLog.PrescriptionLogStatus.no_reviewed.getValue());
                p.setStatus(PrescriptionLog.PrescriptionLogStatus.no_reviewed.getValue());

+ 84 - 84
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/statisticsES/StatisticsESService.java

@ -169,7 +169,7 @@ public class StatisticsESService {
    public JSONArray getDateIncrementDetail(String startDate, String endDate, String interval, String area, int level, String index, String level2_type) throws Exception {
    public JSONArray getDateIncrementDetail(String startDate, String endDate, String interval, String area, int level, String index, String level2_type) throws Exception {
        List<SaveModel> list = null;
        List<SaveModel> list = null;
        if (StringUtils.isNotEmpty(level2_type)) {
        if (StringUtils.isNotEmpty(level2_type)) {
            list = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, "1", interval, level2_type);
            list = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, "1", interval,1, level2_type);
        } else {
        } else {
            list = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, "1", interval);
            list = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, "1", interval);
        }
        }
@ -271,7 +271,7 @@ public class StatisticsESService {
        SaveModel saveModel = null;
        SaveModel saveModel = null;
        if (StringUtils.isNotEmpty(level2_type)) {
        if (StringUtils.isNotEmpty(level2_type)) {
            saveModel = elasticsearchUtil.findOneDateQuotaLevel1(startDate, endDate, area, level, index, "1", level2_type);
            saveModel = elasticsearchUtil.findOneDateQuotaLevel1(startDate, endDate, area, level, index, "1",1, level2_type);
        } else {
        } else {
            saveModel = elasticsearchUtil.findOneDateQuotaLevel0(startDate, endDate, area, level, index, "1");
            saveModel = elasticsearchUtil.findOneDateQuotaLevel0(startDate, endDate, area, level, index, "1");
        }
        }
@ -301,7 +301,7 @@ public class StatisticsESService {
        List<SaveModel> list = null;
        List<SaveModel> list = null;
        if (StringUtils.isNotEmpty(level2_type)) {
        if (StringUtils.isNotEmpty(level2_type)) {
            list = elasticsearchUtil.findListDateQuotaLevel1(startDate, endDate, area, level, index, "1", lowLevel, level2_type);
            list = elasticsearchUtil.findListDateQuotaLevel1(startDate, endDate, area, level, index, "1", lowLevel,1, level2_type);
        } else {
        } else {
            list = elasticsearchUtil.findListDateQuotaLevel0(startDate, endDate, area, level, index, "1", lowLevel);
            list = elasticsearchUtil.findListDateQuotaLevel0(startDate, endDate, area, level, index, "1", lowLevel);
        }
        }
@ -434,7 +434,7 @@ public class StatisticsESService {
//        if (endDate.compareTo(dateFormat.format(new Date())) >= 0) {
//        if (endDate.compareTo(dateFormat.format(new Date())) >= 0) {
//            endDate = elasticsearchUtil.getQuotaTime();
//            endDate = elasticsearchUtil.getQuotaTime();
//        }
//        }
        List<SaveModel> list = elasticsearchUtil.findOneDateQuotaLevel1(endDate,endDate, area, level, index, "2");
        List<SaveModel> list = elasticsearchUtil.findOneDateQuotaLevel1(endDate, area, level, index, "2");
        List<Map<String, Object>> resultList = new ArrayList<>();
        List<Map<String, Object>> resultList = new ArrayList<>();
        DecimalFormat df = new DecimalFormat("0.0000");
        DecimalFormat df = new DecimalFormat("0.0000");
        long total = 0;
        long total = 0;
@ -453,10 +453,10 @@ public class StatisticsESService {
                String code = saveModel.getSlaveKey1();
                String code = saveModel.getSlaveKey1();
                if (!"2".equals(code)) {
                if (!"2".equals(code)) {
                    total += saveModel.getResult2().intValue();
                    total += saveModel.getResult2();
                }
                }
            } else {
            } else {
                total += saveModel.getResult2().intValue();
                total += saveModel.getResult2();
            }
            }
            resultList.add(map);
            resultList.add(map);
        }
        }
@ -564,8 +564,8 @@ public class StatisticsESService {
     */
     */
    public long getIndexTotal(String endDate, String area, int level, String index, String timeLevel) throws Exception {
    public long getIndexTotal(String endDate, String area, int level, String index, String timeLevel) throws Exception {
        //endDate = elasticsearchUtil.changeTime(endDate);
        SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel0(endDate,endDate, area, level, index, timeLevel);
        endDate = elasticsearchUtil.changeTime(endDate);
        SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel0(endDate, area, level, index, timeLevel);
        return saveModel.getResult2().longValue();
        return saveModel.getResult2().longValue();
    }
    }
@ -579,7 +579,7 @@ public class StatisticsESService {
     */
     */
    public long getWeiJiaoFei(String endDate, String area, int level) throws Exception {
    public long getWeiJiaoFei(String endDate, String area, int level) throws Exception {
        SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel1(endDate, area, level, "16", "2", "0");
        SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel1(endDate, area, level, "16", "2", 1,"0");
        return saveModel.getResult2().longValue();
        return saveModel.getResult2().longValue();
    }
    }
@ -587,10 +587,10 @@ public class StatisticsESService {
    public JSONObject getRenewPercent(String level, String area, String year) throws Exception {
    public JSONObject getRenewPercent(String level, String area, String year) throws Exception {
        String renewIndex = "";
        String renewIndex = "";
        if ("5".equals(level)) {
        if ("1".equals(level)) {
            //团队的续签量
            //团队的续签量
            renewIndex = "42";
            renewIndex = "42";
        } else if ("4".equals(level)) {
        } else if ("2".equals(level)) {
            //社区的续签量
            //社区的续签量
            renewIndex = "43";
            renewIndex = "43";
        } else if ("3".equals(level)) {
        } else if ("3".equals(level)) {
@ -685,7 +685,7 @@ public class StatisticsESService {
     * @return
     * @return
     */
     */
    public JSONObject getGroupInfo(String endDate, String lowCode, String area, int level, String year) throws Exception {
    public JSONObject getGroupInfo(String endDate, String lowCode, String area, int level, String year) throws Exception {
        List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel1(endDate, endDate, area, level, "17", "2", lowCode, null, null);
        List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel1(endDate, endDate, area, level, "17", "2", 1,lowCode, null, null);
        long total = 0;
        long total = 0;
        if (list.size() > 0) {
        if (list.size() > 0) {
            total = list.get(0).getResult2().longValue();
            total = list.get(0).getResult2().longValue();
@ -799,7 +799,7 @@ public class StatisticsESService {
        if (endDate.compareTo(dateFormat.format(new Date())) >= 0) {
        if (endDate.compareTo(dateFormat.format(new Date())) >= 0) {
            endDate = elasticsearchUtil.getQuotaTime();
            endDate = elasticsearchUtil.getQuotaTime();
        }
        }
        SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel1(endDate, area, level, "8", "2", "6");
        SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel1(endDate, area, level, "8", "2", 1,"6");
        return saveModel.getResult2().longValue();
        return saveModel.getResult2().longValue();
    }
    }
@ -843,7 +843,7 @@ public class StatisticsESService {
        List<SaveModel> list = null;
        List<SaveModel> list = null;
        if (StringUtils.isNotEmpty(lowCode)) {
        if (StringUtils.isNotEmpty(lowCode)) {
            //一级维度
            //一级维度
            list = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, "2", lowCode, interval + "");
            list = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, "2", interval + "",1, lowCode);
        } else {
        } else {
            list = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, "2", interval + "");
            list = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, "2", interval + "");
        }
        }
@ -948,7 +948,7 @@ public class StatisticsESService {
        String low_level = String.valueOf(org.springframework.util.StringUtils.isEmpty(lowLevel) ? (level + 1) : lowLevel);
        String low_level = String.valueOf(org.springframework.util.StringUtils.isEmpty(lowLevel) ? (level + 1) : lowLevel);
        List<Map<String, Object>> resultList = new ArrayList<>();
        List<Map<String, Object>> resultList = new ArrayList<>();
        List<SaveModel> esModelList = (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel1(date, area, level, index, SaveModel.timeLevel_DDL, low_level, lowCode);
        List<SaveModel> esModelList = (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel1(date, area, level, index, SaveModel.timeLevel_DDL, low_level, 1,lowCode);
        if (esModelList != null && esModelList.size() > 0) {
        if (esModelList != null && esModelList.size() > 0) {
            for (SaveModel one : esModelList) {
            for (SaveModel one : esModelList) {
@ -1146,7 +1146,7 @@ public class StatisticsESService {
        String low_level = String.valueOf(org.springframework.util.StringUtils.isEmpty(lowLevel) ? (level + 1) : lowLevel);
        String low_level = String.valueOf(org.springframework.util.StringUtils.isEmpty(lowLevel) ? (level + 1) : lowLevel);
        List<Map<String, Object>> resultList = new ArrayList<>();
        List<Map<String, Object>> resultList = new ArrayList<>();
        List<SaveModel> esModelList = (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel1(date, area, level, index, SaveModel.timeLevel_DDL, lowLevel, lowCode);
        List<SaveModel> esModelList = (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel1(date, area, level, index, SaveModel.timeLevel_DDL, lowLevel, 1,lowCode);
        if (esModelList != null && esModelList.size() > 0) {
        if (esModelList != null && esModelList.size() > 0) {
            for (SaveModel one : esModelList) {
            for (SaveModel one : esModelList) {
@ -2039,9 +2039,9 @@ public class StatisticsESService {
            SaveModel signSaveModel = new SaveModel();
            SaveModel signSaveModel = new SaveModel();
            if (StringUtils.isNotBlank(lowCode)) {
            if (StringUtils.isNotBlank(lowCode)) {
                //续签量
                //续签量
                renewSaveModel = elasticsearchUtil.findOneDateQuotaLevel1(timeKey, area, level, renewIndex, "2", lowCode);
                renewSaveModel = elasticsearchUtil.findOneDateQuotaLevel1(timeKey, area, level, renewIndex, "2", 1,lowCode);
                //转签量
                //转签量
                switchSaveModel = elasticsearchUtil.findOneDateQuotaLevel1(timeKey, area, level, switchIndex, "2", lowCode);
                switchSaveModel = elasticsearchUtil.findOneDateQuotaLevel1(timeKey, area, level, switchIndex, "2", 1,lowCode);
            } else {
            } else {
                //续签量
                //续签量
                renewSaveModel = elasticsearchUtil.findOneDateQuotaLevel0(timeKey, area, level, renewIndex, "2");
                renewSaveModel = elasticsearchUtil.findOneDateQuotaLevel0(timeKey, area, level, renewIndex, "2");
@ -2064,7 +2064,7 @@ public class StatisticsESService {
                    lowCode = "2";
                    lowCode = "2";
                }
                }
                signIndex = "17";
                signIndex = "17";
                signSaveModel = elasticsearchUtil.findOneDateQuotaLevel1(date, area, level, signIndex, "2", lowCode);
                signSaveModel = elasticsearchUtil.findOneDateQuotaLevel1(date, area, level, signIndex, "2", 1,lowCode);
            } else {
            } else {
                signSaveModel = elasticsearchUtil.findOneDateQuotaLevel0(date, area, level, signIndex, "2");
                signSaveModel = elasticsearchUtil.findOneDateQuotaLevel0(date, area, level, signIndex, "2");
            }
            }
@ -2196,13 +2196,13 @@ public class StatisticsESService {
//        Map<String, Object> expenseStatus1Sigjn = getByIndexSingle(date, area, level, "1",dateFormat);
//        Map<String, Object> expenseStatus1Sigjn = getByIndexSingle(date, area, level, "1",dateFormat);
        SaveModel expenseStatus1Sigjn = elasticsearchUtil.findOneDateQuotaLevel0(date, area, level, "1", "2");
        SaveModel expenseStatus1Sigjn = elasticsearchUtil.findOneDateQuotaLevel0(date, area, level, "1", "2");
        JSONObject jsonObject = new JSONObject();
        JSONObject jsonObject = new JSONObject();
        if (Integer.valueOf(SaveModel.teamLevel)==level) {
        if (SaveModel.teamLevel.equals(level)) {
            jsonObject.put("name", expenseStatus1Sigjn.getTeamName());
            jsonObject.put("name", expenseStatus1Sigjn.getTeamName());
        } else if (Integer.valueOf(SaveModel.OrgLevel)==level) {
        } else if (SaveModel.OrgLevel.equals(level)) {
            jsonObject.put("name", expenseStatus1Sigjn.getHospitalName());
            jsonObject.put("name", expenseStatus1Sigjn.getHospitalName());
        } else if (Integer.valueOf(SaveModel.townLevel)==level) {
        } else if (SaveModel.townLevel.equals(level)) {
            jsonObject.put("name", expenseStatus1Sigjn.getTownName());
            jsonObject.put("name", expenseStatus1Sigjn.getTownName());
        } else if (Integer.valueOf(SaveModel.cityLevel)==level) {
        } else if (SaveModel.cityLevel.equals(level)) {
            jsonObject.put("name", expenseStatus1Sigjn.getCityName());
            jsonObject.put("name", expenseStatus1Sigjn.getCityName());
        }
        }
        jsonObject.put("code", area);
        jsonObject.put("code", area);
@ -2290,10 +2290,10 @@ public class StatisticsESService {
        if (StringUtils.isEmpty(lowCode)) {
        if (StringUtils.isEmpty(lowCode)) {
            //续签量
            //续签量
            renewSaveModels = elasticsearchUtil.findDateQuotaLevel0(timeKey, timeKey, area, level, index, "2", "", low_level);
            renewSaveModels = elasticsearchUtil.findDateQuotaLevel0(timeKey, timeKey, area, level, index, "2", "", lowLevel);
        } else {
        } else {
            //续签量
            //续签量
            renewSaveModels = elasticsearchUtil.findDateQuotaLevel1(timeKey, timeKey, area, level, index, "2", lowCode, "", low_level);
            renewSaveModels = elasticsearchUtil.findDateQuotaLevel1(timeKey, timeKey, area, level, index, "2",1, lowCode, "", low_level);
        }
        }
        if (renewSaveModels != null && renewSaveModels.size() > 0) {
        if (renewSaveModels != null && renewSaveModels.size() > 0) {
@ -2318,17 +2318,17 @@ public class StatisticsESService {
            //查询去年的签约转map
            //查询去年的签约转map
            List<SaveModel> yearsList = new ArrayList();
            List<SaveModel> yearsList = new ArrayList();
            if (StringUtils.isBlank(lowCode)) {
            if (StringUtils.isBlank(lowCode)) {
                yearsList = elasticsearchUtil.findListDateQuotaLevel0(lastDate,lastDate,area,level,"1","2",low_level);
                yearsList = elasticsearchUtil.findListDateQuotaLevel0(lastDate, "", Integer.valueOf(low_level), "1", "2", "");
            } else {
            } else {
                if ("3".equals(lowCode)) {
                if ("3".equals(lowCode)) {
                    //老年人
                    //老年人
                    yearsList = elasticsearchUtil.findListDateQuotaLevel1(lastDate, lastDate, level, "17", "2", low_level, "3");
                    yearsList = elasticsearchUtil.findListDateQuotaLevel1(lastDate, "", Integer.valueOf(low_level), "17", "2", "", 1,"3");
                } else if ("4".equals(lowCode)) {
                } else if ("4".equals(lowCode)) {
                    //高血压
                    //高血压
                    yearsList = elasticsearchUtil.findListDateQuotaLevel1(lastDate, "", level, "17", "2", low_level, "1");
                    yearsList = elasticsearchUtil.findListDateQuotaLevel1(lastDate, "", Integer.valueOf(low_level), "17", "2", "", 1,"1");
                } else if ("5".equals(lowCode)) {
                } else if ("5".equals(lowCode)) {
                    //糖尿病
                    //糖尿病
                    yearsList = elasticsearchUtil.findListDateQuotaLevel1(lastDate, "", level, "17", "2", low_level, "2");
                    yearsList = elasticsearchUtil.findListDateQuotaLevel1(lastDate, "", Integer.valueOf(low_level), "17", "2", "", 1,"2");
                } else {
                } else {
                }
                }
            }
            }
@ -2347,28 +2347,26 @@ public class StatisticsESService {
            for (Map<String, Object> reMap : resultList) {
            for (Map<String, Object> reMap : resultList) {
                reMap.put("amount", reMap.get("amount") != null ? Long.valueOf(reMap.get("amount").toString()) : 0L);
                reMap.put("amount", reMap.get("amount") != null ? Long.valueOf(reMap.get("amount").toString()) : 0L);
                int signNum = 0;
                int signNum = 0;
                Integer renewNum = null;
                int renewNum = 0;
                //获取去年签约的人数 默认是上个年度的最后一天
                //获取去年签约的人数 默认是上个年度的最后一天
                if (resultMap != null && resultMap.size() > 0) {
                if (resultMap != null && resultMap.size() > 0) {
                    SaveModel one = resultMap.get(String.valueOf(reMap.get("code")));
                    SaveModel one = resultMap.get(reMap.get("code").toString());
                    if (one != null) {
                    if (one != null) {
                        signNum = one.getResult2().intValue();
                        signNum = one.getResult2().intValue();
                    }
                    }
                } else {
                } else {
                }
                }
                if (renewMap != null && renewMap.size() > 0) {;
                    renewNum = renewMap.get(String.valueOf(reMap.get("code")));
                    if(renewNum==null){
                        renewNum=0;
                    }
                if (renewMap != null && renewMap.size() > 0) {
                    renewNum = renewMap.get(reMap.get("code").toString());
                } else {
                } else {
                }
                }
                reMap.put("renewNum", renewNum);
                reMap.put("renewNum", renewNum);
                reMap.put("signNum", signNum);
                reMap.put("signNum", signNum);
                reMap.put("rate", getRange(renewNum, signNum, 2));//续签率是 续签量/去年的签约数
                reMap.put("rate", getRange(renewNum, signNum, 2));//续签率是 续签量/去年的签约数
            }
            }
            if ((level == 2 && "5".equals(low_level)) || (level == 4) || (level == 3 && "5".equals(low_level))) {
            if ((level == 2 && "5".equals(lowLevel)) || (level == 4) || (level == 3 && "5".equals(lowLevel))) {
                translateTeamLeaderName(resultList);
                translateTeamLeaderName(resultList);
            }
            }
            //对结果进行排序
            //对结果进行排序
@ -2811,83 +2809,84 @@ public class StatisticsESService {
    public Map<String, Object> getPrescriptionCount(int level, String area, String disease) throws Exception {
    public Map<String, Object> getPrescriptionCount(int level, String area, String disease) throws Exception {
        String index = "58";
        String index = "58";
        Map<String, Object> rs = new HashedMap();
        Map<String, Object> rs = new HashedMap();
        List<SaveModel> totalList = null;
        List<SaveModel> processingList = null;
        List<SaveModel> finishedList = null;
        List<SaveModel> canceledList = null;
        List<SaveModel> unPassList = null;
        List<SaveModel> otherList = null;
        SaveModel total = null;
        SaveModel processing = null;
        SaveModel finished = null;
        SaveModel canceled = null;
        SaveModel unPass = null;
        SaveModel other = null;
        String quotaDate = elasticsearchUtil.getQuotaTime();
        //总数
        //总数
        if (StringUtils.isNotBlank(disease)) {
        if (StringUtils.isNotBlank(disease)) {
            totalList = elasticsearchUtil.findListDateQuotaLevel1(null, area, level, index, "2", null, disease);
            total = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index, "2", 1,disease);
        } else {
        } else {
            totalList = elasticsearchUtil.findListDateQuotaLevel0(null, area, level, index, "2", null);
            total = elasticsearchUtil.findOneDateQuotaLevel0(quotaDate, area, level, index, "2");
        }
        }
        //进行中
        //进行中
        if (StringUtils.isNotBlank(disease)) {
        if (StringUtils.isNotBlank(disease)) {
            processingList = elasticsearchUtil.findListDateQuotaLevel2(null, area, level, index, "2", null, disease, "1");
            processing = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, level, index, "2",  disease, "1");
        } else {
        } else {
            processingList = elasticsearchUtil.findListDateQuotaLevel1(null, area, level, index, "2", null, "1");
            processing = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index, "2", 1,"1");
        }
        }
        //已完成
        //已完成
        if (StringUtils.isNotBlank(disease)) {
        if (StringUtils.isNotBlank(disease)) {
            finishedList = elasticsearchUtil.findListDateQuotaLevel2(null, area, level, index, "2", null, disease, "2");
            finished = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, level, index, "2",  disease, "2");
        } else {
        } else {
            finishedList = elasticsearchUtil.findListDateQuotaLevel1(null, area, level, index, "2", null, "2");
            finished = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index, "2", 1,"2");
        }
        }
        //已经取消
        //已经取消
        if (StringUtils.isNotBlank(disease)) {
        if (StringUtils.isNotBlank(disease)) {
            canceledList = elasticsearchUtil.findListDateQuotaLevel2(null, area, level, index, "2", null, disease, "3");
            canceled = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, level, index, "2",  disease, "3");
        } else {
        } else {
            canceledList = elasticsearchUtil.findListDateQuotaLevel1(null, area, level, index, "2", null, "3");
            canceled = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index, "2", 1,"3");
        }
        }
        //审核不通过
        //审核不通过
        if (StringUtils.isNotBlank(disease)) {
        if (StringUtils.isNotBlank(disease)) {
            unPassList = elasticsearchUtil.findListDateQuotaLevel2(null, area, level, index, "2", null, disease, "4");
            unPass = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, level, index, "2",  disease, "4");
        } else {
        } else {
            unPassList = elasticsearchUtil.findListDateQuotaLevel1(null, area, level, index, "2", null, "4");
            unPass = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index, "2", 1,"4");
        }
        }
        //其他原因取消
        //其他原因取消
        if (StringUtils.isNotBlank(disease)) {
        if (StringUtils.isNotBlank(disease)) {
            otherList = elasticsearchUtil.findListDateQuotaLevel2(null, area, level, index, "2", null, disease, "5");
            other = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, level, index, "2",  disease, "5");
        } else {
        } else {
            otherList = elasticsearchUtil.findListDateQuotaLevel1(null, area, level, index, "2", null, "5");
            other = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index, "2", 1,"5");
        }
        }
        //总数
        //总数
        if (totalList != null && totalList.size() > 0) {
            rs.put("total", totalList.get(0).getResult2());
        if (total != null) {
            rs.put("total", total.getResult2());
        } else {
        } else {
            rs.put("total", 0);
            rs.put("total", 0);
        }
        }
        //进行中
        //进行中
        if (processingList != null && processingList.size() > 0) {
            rs.put("processingCount", processingList.get(0).getResult2());
        if (processing != null) {
            rs.put("processingCount", processing.getResult2());
        } else {
        } else {
            rs.put("processingCount", 0);
            rs.put("processingCount", 0);
        }
        }
        //已完成
        //已完成
        if (finishedList != null && finishedList.size() > 0) {
            rs.put("finishCount", finishedList.get(0).getResult2());
        if (finished != null) {
            rs.put("finishCount", finished.getResult2());
        } else {
        } else {
            rs.put("finishCount", 0);
            rs.put("finishCount", 0);
        }
        }
        //已取消
        //已取消
        if (canceledList != null && canceledList.size() > 0) {
            rs.put("patientCancelCount", canceledList.get(0).getResult2());
        if (canceled != null) {
            rs.put("patientCancelCount", canceled.getResult2());
        } else {
        } else {
            rs.put("patientCancelCount", 0);
            rs.put("patientCancelCount", 0);
        }
        }
        //审核不通过
        //审核不通过
        if (unPassList != null && unPassList.size() > 0) {
            rs.put("noReviewedCount", unPassList.get(0).getResult2());
        if (unPass != null) {
            rs.put("noReviewedCount", unPass.getResult2());
        } else {
        } else {
            rs.put("noReviewedCount", 0);
            rs.put("noReviewedCount", 0);
        }
        }
        //其他原因取消
        //其他原因取消
        if (otherList != null && otherList.size() > 0) {
            rs.put("payOuttimeCount", otherList.get(0).getResult2());
        if (other != null) {
            rs.put("payOuttimeCount", other.getResult2());
        } else {
        } else {
            rs.put("payOuttimeCount", 0);
            rs.put("payOuttimeCount", 0);
        }
        }
@ -2967,7 +2966,7 @@ public class StatisticsESService {
    public List<Map<String, Object>> getPrescriptionAgeLowLevel(String level, String lowlevel, String area, String disease) throws Exception {
    public List<Map<String, Object>> getPrescriptionAgeLowLevel(String level, String lowlevel, String area, String disease) throws Exception {
        String quotaDate = elasticsearchUtil.getQuotaTime();
        String quotaDate = elasticsearchUtil.getQuotaTime();
        List<SaveModel> list = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, Integer.parseInt(level), "58", "2", lowlevel, disease);
        List<SaveModel> list = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, Integer.parseInt(level), "58", "2", lowlevel, 1,disease);
        Map<String, Object> map = null;
        Map<String, Object> map = null;
        List<Map<String, Object>> rs = new ArrayList<>();
        List<Map<String, Object>> rs = new ArrayList<>();
        if (list.size() > 0) {
        if (list.size() > 0) {
@ -3109,16 +3108,16 @@ public class StatisticsESService {
            //类型0.总量,1.进行中,2.已完成,3.居民取消,4.审核不通过,5.其他原因取消
            //类型0.总量,1.进行中,2.已完成,3.居民取消,4.审核不通过,5.其他原因取消
            if ("0".equals(type)) {
            if ("0".equals(type)) {
                //总数
                //总数
                resultList = elasticsearchUtil.findLineChartDateQuotaLevel1(startTime, endTime, area, level, index, "2", "3", disease);
                resultList = elasticsearchUtil.findLineChartDateQuotaLevel1(startTime, endTime, area, level, index, "1", "3", 1,disease);
            } else {
            } else {
                resultList = elasticsearchUtil.findLineChartDateQuotaLevel2(startTime, endTime, area, level, index, "2", "3", disease, type);
                resultList = elasticsearchUtil.findLineChartDateQuotaLevel2(startTime, endTime, area, level, index, "1", "3", disease, type);
            }
            }
        } else {
        } else {
            if ("0".equals(type)) {
            if ("0".equals(type)) {
                //总数
                //总数
                resultList = elasticsearchUtil.findLineChartDateQuotaLevel0(startTime, endTime, area, level, index, "2", "3");
                resultList = elasticsearchUtil.findLineChartDateQuotaLevel0(startTime, endTime, area, level, index, "1", "3");
            } else {
            } else {
                resultList = elasticsearchUtil.findLineChartDateQuotaLevel1(startTime, endTime, area, level, index, "2", "3", type);
                resultList = elasticsearchUtil.findLineChartDateQuotaLevel1(startTime, endTime, area, level, index, "1", "3", 1,type);
            }
            }
        }
        }
@ -3130,6 +3129,7 @@ public class StatisticsESService {
                String monthKeyEs = "";
                String monthKeyEs = "";
                if (saveModel.getQuotaDate() != null) {
                if (saveModel.getQuotaDate() != null) {
                    monthKeyEs = DateUtil.changeQuotaDate(saveModel.getQuotaDate());
                    monthKeyEs = DateUtil.changeQuotaDate(saveModel.getQuotaDate());
                    m.put("month", monthKeyEs);
                }
                }
                if (StringUtils.isNotBlank(monthKeyEs) && monthKey.equals(monthKeyEs)) {
                if (StringUtils.isNotBlank(monthKeyEs) && monthKey.equals(monthKeyEs)) {
                    m.put("count", saveModel.getResult2());
                    m.put("count", saveModel.getResult2());
@ -3161,16 +3161,16 @@ public class StatisticsESService {
            if ("1".equals(type)) {
            if ("1".equals(type)) {
                saveModels = elasticsearchUtil.findListDateQuotaLevel0(quotaDate, area, level, index, "2", lowlevel);
                saveModels = elasticsearchUtil.findListDateQuotaLevel0(quotaDate, area, level, index, "2", lowlevel);
            } else if ("2".equals(type) || "3".equals(type) || "4".equals(type)) {
            } else if ("2".equals(type) || "3".equals(type) || "4".equals(type)) {
                saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index, "2", lowlevel, type);
                saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index, "2", lowlevel, 1,type);
            } else if ("5".equals(type)) {
            } else if ("5".equals(type)) {
                saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index, "2", lowlevel, "1");
                saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index, "2", lowlevel, 1,"1");
            } else if ("6".equals(type)) {
            } else if ("6".equals(type)) {
                saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index, "2", lowlevel, "5");
                saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index, "2", lowlevel, 1,"5");
            }
            }
        } else {
        } else {
            //类型 1.总量,2.已完成,3.居民取消,4.审核不通过,5.进行中,6.其他原因取消
            //类型 1.总量,2.已完成,3.居民取消,4.审核不通过,5.进行中,6.其他原因取消
            if ("1".equals(type)) {
            if ("1".equals(type)) {
                saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index, "2", lowlevel, disease);
                saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index, "2", lowlevel, 1,disease);
            } else if ("2".equals(type) || "3".equals(type) || "4".equals(type)) {
            } else if ("2".equals(type) || "3".equals(type) || "4".equals(type)) {
                saveModels = elasticsearchUtil.findListDateQuotaLevel2(quotaDate, area, level, index, "2", lowlevel, disease, type);
                saveModels = elasticsearchUtil.findListDateQuotaLevel2(quotaDate, area, level, index, "2", lowlevel, disease, type);
            } else if ("5".equals(type)) {
            } else if ("5".equals(type)) {
@ -3317,11 +3317,11 @@ public class StatisticsESService {
            healthDoctorList = elasticsearchUtil.findListDateQuotaLevel2(quotaTime, area, level, "62", "2", "", "2", disease);
            healthDoctorList = elasticsearchUtil.findListDateQuotaLevel2(quotaTime, area, level, "62", "2", "", "2", disease);
        } else {
        } else {
            //自取
            //自取
            seltList = elasticsearchUtil.findListDateQuotaLevel1(quotaTime, area, level, "62", "2", "", "1");
            seltList = elasticsearchUtil.findListDateQuotaLevel1(quotaTime, area, level, "62", "2", "", 1,"1");
            //物流配送
            //物流配送
            deliveryList = elasticsearchUtil.findListDateQuotaLevel1(quotaTime, area, level, "62", "2", "", "2");
            deliveryList = elasticsearchUtil.findListDateQuotaLevel1(quotaTime, area, level, "62", "2", "", 1,"2");
            //健管师配送
            //健管师配送
            healthDoctorList = elasticsearchUtil.findListDateQuotaLevel1(quotaTime, area, level, "62", "2", "", "2");
            healthDoctorList = elasticsearchUtil.findListDateQuotaLevel1(quotaTime, area, level, "62", "2", "", 1,"2");
        }
        }
        Map<String, Object> rs = new HashedMap();
        Map<String, Object> rs = new HashedMap();
@ -3379,7 +3379,7 @@ public class StatisticsESService {
        if (StringUtils.isNotBlank(disease)) {
        if (StringUtils.isNotBlank(disease)) {
            resultList = elasticsearchUtil.findLineChartDateQuotaLevel2(startTime, endTime, area, level, "62", "2", "3", type, disease);
            resultList = elasticsearchUtil.findLineChartDateQuotaLevel2(startTime, endTime, area, level, "62", "2", "3", type, disease);
        } else {
        } else {
            resultList = elasticsearchUtil.findLineChartDateQuotaLevel1(startTime, endTime, area, level, "62", "2", "3", type);
            resultList = elasticsearchUtil.findLineChartDateQuotaLevel1(startTime, endTime, area, level, "62", "2", "3", 1,type);
        }
        }
        for (Map<String, Object> m : rs) {
        for (Map<String, Object> m : rs) {
@ -3416,7 +3416,7 @@ public class StatisticsESService {
            //类型 1.自取,2.快递配送,3.健管师配送
            //类型 1.自取,2.快递配送,3.健管师配送
            saveModels = elasticsearchUtil.findListDateQuotaLevel2(quotaDate, area, level, index, "2", lowlevel, type, disease);
            saveModels = elasticsearchUtil.findListDateQuotaLevel2(quotaDate, area, level, index, "2", lowlevel, type, disease);
        } else {
        } else {
            saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index, "2", lowlevel, type);
            saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index, "2", lowlevel, 1,type);
        }
        }
        if ("5".equals(lowlevel)) {
        if ("5".equals(lowlevel)) {
            translateTeamLeaderName2(saveModels);
            translateTeamLeaderName2(saveModels);
@ -3497,7 +3497,7 @@ public class StatisticsESService {
        String quotaDate = elasticsearchUtil.getQuotaTime();
        String quotaDate = elasticsearchUtil.getQuotaTime();
        //1.总量
        //1.总量
        List<SaveModel> list = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, Integer.parseInt(level), "61", "2", lowlevel, disease);
        List<SaveModel> list = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, Integer.parseInt(level), "61", "2", lowlevel,1, disease);
        Map<String, Object> map = null;
        Map<String, Object> map = null;
        List<Map<String, Object>> countList = new ArrayList<>();
        List<Map<String, Object>> countList = new ArrayList<>();
        if ("1".equals(type)) {
        if ("1".equals(type)) {
@ -3558,7 +3558,7 @@ public class StatisticsESService {
        startDate = elasticsearchUtil.changeTime(startDate += " 00:00:00");
        startDate = elasticsearchUtil.changeTime(startDate += " 00:00:00");
        endDate = elasticsearchUtil.changeTime(endDate += " 23:59:59");
        endDate = elasticsearchUtil.changeTime(endDate += " 23:59:59");
        List<SaveModel> list = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, Integer.parseInt(level), "61", "2", type, disease);
        List<SaveModel> list = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, Integer.parseInt(level), "61", "2", type, 1,disease);
        String sql = "";
        String sql = "";
        Map<String, Object> map = null;
        Map<String, Object> map = null;
        List<Map<String, Object>> countList = new ArrayList<>();
        List<Map<String, Object>> countList = new ArrayList<>();
@ -3587,7 +3587,7 @@ public class StatisticsESService {
        SaveModel saveModel = null;
        SaveModel saveModel = null;
        String quotaDate = elasticsearchUtil.getQuotaTime();
        String quotaDate = elasticsearchUtil.getQuotaTime();
        if (StringUtils.isNotEmpty(disease)) {
        if (StringUtils.isNotEmpty(disease)) {
            saveModel = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, Integer.parseInt(level), "61", "2", disease);
            saveModel = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, Integer.parseInt(level), "61", "2", 1,disease);
        } else {
        } else {
            saveModel = elasticsearchUtil.findOneDateQuotaLevel0(quotaDate, area, Integer.parseInt(level), "61", "2");
            saveModel = elasticsearchUtil.findOneDateQuotaLevel0(quotaDate, area, Integer.parseInt(level), "61", "2");
        }
        }

+ 38 - 29
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/util/ElasticsearchUtil.java

@ -328,14 +328,23 @@ public class ElasticsearchUtil {
     * @param level     等级
     * @param level     等级
     * @param index     指标
     * @param index     指标
     * @param timeLevel 1增量 2到达量
     * @param timeLevel 1增量 2到达量
     * @param slaveKey1 一级维度
     * @param slaveKeyValue 一级维度
     * @param interval  1日 2周 3月
     * @param interval  1日 2周 3月
     * @param lowLevel  下个等级
     * @param lowLevel  下个等级
     * @return
     * @return
     * @throws Exception
     * @throws Exception
     */
     */
    public List findDateQuotaLevel1(String startDate, String endDate, String area, int level, String index, String timeLevel, String slaveKey1, String interval, String lowLevel) throws Exception {
    public List findDateQuotaLevel1(String startDate, String endDate, String area, int level, String index, String timeLevel,int keyNum, String slaveKeyValue, String interval, String lowLevel) throws Exception {
        String slaveKey = "";
        String slaveKeyName = "";
        if(keyNum==1){
            slaveKey = "slaveKey1";
            slaveKeyName = "slaveKey1Name";
        }else if(keyNum==2){
            slaveKey = "slaveKey2";
            slaveKeyName = "slaveKey2Name";
        }
        //时间格式转换  yyyy-MM-dd转成 2017-07-17T00:00:00+0800
        //时间格式转换  yyyy-MM-dd转成 2017-07-17T00:00:00+0800
        if (StringUtils.isNotEmpty(startDate)) {
        if (StringUtils.isNotEmpty(startDate)) {
            if(startDate.length()>10){
            if(startDate.length()>10){
@ -358,17 +367,17 @@ public class ElasticsearchUtil {
            low_level = lowLevel;
            low_level = lowLevel;
        }
        }
        if (SaveModel.teamLevel.equals(low_level)) {
        if (SaveModel.teamLevel.equals(low_level)) {
            sql.append("select team,teamName,slaveKey1,slaveKey1Name,sum(result1) result1, sum(result2) result2 from "+esIndex+" where ");
            groupBy.append("  group by team,teamName,slaveKey1,slaveKey1Name");
            sql.append("select team,teamName,"+slaveKey+","+slaveKeyName+",sum(result1) result1, sum(result2) result2 from "+esIndex+" where ");
            groupBy.append("  group by team,teamName,"+slaveKey+","+slaveKeyName);
        } else if (SaveModel.OrgLevel.equals(low_level)) {
        } else if (SaveModel.OrgLevel.equals(low_level)) {
            sql.append("select hospital,hospitalName,slaveKey1,slaveKey1Name,sum(result1) result1,sum(result2) result2 from "+esIndex+" where ");
            groupBy.append("  group by hospital,hospitalName,slaveKey1,slaveKey1Name");
            sql.append("select hospital,hospitalName,"+slaveKey+","+slaveKeyName+",sum(result1) result1,sum(result2) result2 from "+esIndex+" where ");
            groupBy.append("  group by hospital,hospitalName,"+slaveKey+","+slaveKeyName);
        } else if (SaveModel.townLevel.equals(low_level)) {
        } else if (SaveModel.townLevel.equals(low_level)) {
            sql.append("select town,townName,slaveKey1,slaveKey1Name,sum(result1) result1,sum(result2) result2 from "+esIndex+" where ");
            groupBy.append("  group by town,townName,slaveKey1,slaveKey1Name");
            sql.append("select town,townName,"+slaveKey+",slaveKey1Name,sum(result1) result1,sum(result2) result2 from "+esIndex+" where ");
            groupBy.append("  group by town,townName,"+slaveKey+","+slaveKeyName);
        } else if (SaveModel.cityLevel.equals(low_level)) {
        } else if (SaveModel.cityLevel.equals(low_level)) {
            sql.append("select city,cityName,slaveKey1,slaveKey1Name,sum(result1) result1,sum(result2) result2 from "+esIndex+" where ");
            groupBy.append("  group by city,cityName,slaveKey1,slaveKey1Name");
            sql.append("select city,cityName,"+slaveKey+","+slaveKeyName+",sum(result1) result1,sum(result2) result2 from "+esIndex+" where ");
            groupBy.append("  group by city,cityName,"+slaveKey+","+slaveKeyName);
        }
        }
        if(StringUtils.isNotEmpty(area)){
        if(StringUtils.isNotEmpty(area)){
@ -393,8 +402,8 @@ public class ElasticsearchUtil {
        if (StringUtils.isNotEmpty(endDate)) {
        if (StringUtils.isNotEmpty(endDate)) {
            sql.append(" and quotaDate<='" + endDate + "'");
            sql.append(" and quotaDate<='" + endDate + "'");
        }
        }
        if (StringUtils.isNotEmpty(slaveKey1)) {
            sql.append(" and slaveKey1='" + slaveKey1 + "'  ");
        if (StringUtils.isNotEmpty(slaveKeyValue)) {
            sql.append(" and "+slaveKey+"='" + slaveKeyValue + "'  ");
        }
        }
        //根据时间维度分组
        //根据时间维度分组
@ -588,11 +597,11 @@ public class ElasticsearchUtil {
     * @param level     等级 1 省 2 市 3 区县 4 机构 5团队
     * @param level     等级 1 省 2 市 3 区县 4 机构 5团队
     * @param index     指标code
     * @param index     指标code
     * @param timelevel // 1日 2年
     * @param timelevel // 1日 2年
     * @param slaveKey1  一级维度的key 不传返回全部
     * @param slaveKeyValue  一级维度的key 不传返回全部
     * @return
     * @return
     */
     */
    public SaveModel findOneDateQuotaLevel1(String quotaDate, String area, int level, String index, String timelevel, String slaveKey1) throws Exception {
        List list = findDateQuotaLevel1(quotaDate, quotaDate, area, level, index, timelevel,slaveKey1, null, null);
    public SaveModel findOneDateQuotaLevel1(String quotaDate, String area, int level, String index, String timelevel,int keyNum, String slaveKeyValue) throws Exception {
        List list = findDateQuotaLevel1(quotaDate, quotaDate, area, level, index, timelevel,keyNum,slaveKeyValue, null, null);
        return (SaveModel) list.get(0);
        return (SaveModel) list.get(0);
    }
    }
    /**
    /**
@ -605,11 +614,11 @@ public class ElasticsearchUtil {
     * @param level     等级 1 省 2 市 3 区县 4 机构 5团队
     * @param level     等级 1 省 2 市 3 区县 4 机构 5团队
     * @param index     指标code
     * @param index     指标code
     * @param timelevel // 1日 2年
     * @param timelevel // 1日 2年
     * @param slaveKey1  一级维度的key 不传返回全部
     * @param slaveKeyValue  一级维度的key 不传返回全部
     * @return
     * @return
     */
     */
    public SaveModel findOneDateQuotaLevel1(String startDate, String endDate, String area, int level, String index, String timelevel, String slaveKey1) throws Exception {
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel,slaveKey1, null, null);
    public SaveModel findOneDateQuotaLevel1(String startDate, String endDate, String area, int level, String index, String timelevel,int keyNum, String slaveKeyValue) throws Exception {
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel,keyNum,slaveKeyValue, null, null);
        return (SaveModel) list.get(0);
        return (SaveModel) list.get(0);
    }
    }
@ -625,7 +634,7 @@ public class ElasticsearchUtil {
     * @return
     * @return
     */
     */
    public List<SaveModel> findOneDateQuotaLevel1(String quotaDate, String area, int level, String index, String timelevel) throws Exception {
    public List<SaveModel> findOneDateQuotaLevel1(String quotaDate, String area, int level, String index, String timelevel) throws Exception {
        List list = findDateQuotaLevel1(quotaDate, quotaDate, area, level, index, timelevel,null, null, null);
        List list = findDateQuotaLevel1(quotaDate, quotaDate, area, level, index, timelevel,0,null, null, null);
        return list;
        return list;
    }
    }
    /**
    /**
@ -639,7 +648,7 @@ public class ElasticsearchUtil {
     * @return
     * @return
     */
     */
    public List<SaveModel> findOneDateQuotaLevel1(String startDate,String endDate, String area, int level, String index, String timelevel) throws Exception {
    public List<SaveModel> findOneDateQuotaLevel1(String startDate,String endDate, String area, int level, String index, String timelevel) throws Exception {
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel,null, null, null);
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel,0,null, null, null);
        return list;
        return list;
    }
    }
    /**
    /**
@ -725,11 +734,11 @@ public class ElasticsearchUtil {
     * @param index  指标code
     * @param index  指标code
     * @param timelevel   1增量   2到达量(按照年度)
     * @param timelevel   1增量   2到达量(按照年度)
     * @param interval  1日 2周 3月 (按照日周月聚合)
     * @param interval  1日 2周 3月 (按照日周月聚合)
     * @param slaveKey1  一级维度的key
     * @param slaveKeyValue  一级维度的key
     * @return
     * @return
     */
     */
    public  List<SaveModel>  findLineChartDateQuotaLevel1(String startDate,String endDate,  String area, int level, String index, String timelevel,String interval, String slaveKey1) throws Exception {
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel,slaveKey1, interval, null);
    public  List<SaveModel>  findLineChartDateQuotaLevel1(String startDate,String endDate,  String area, int level, String index, String timelevel,String interval,int keyNum, String slaveKeyValue) throws Exception {
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel,keyNum,slaveKeyValue, interval, null);
        return list;
        return list;
    }
    }
    /**
    /**
@ -799,11 +808,11 @@ public class ElasticsearchUtil {
     * @param index  指标code
     * @param index  指标code
     * @param timelevel   1增量   2到达量(按照年度)
     * @param timelevel   1增量   2到达量(按照年度)
     * @param lowLevel  下一级区域等级   1 省 2 市 3 区县 4 机构 5团队
     * @param lowLevel  下一级区域等级   1 省 2 市 3 区县 4 机构 5团队
     * @param slaveKey1  一级维度的key
     * @param slaveKeyValue  一级维度的key
     * @return
     * @return
     */
     */
    public  List<SaveModel>  findListDateQuotaLevel1(String quotaDate,  String area, int level, String index, String timelevel,String lowLevel, String slaveKey1) throws Exception {
        List list = findDateQuotaLevel1(quotaDate, quotaDate, area, level, index, timelevel,slaveKey1, null, lowLevel);
    public  List<SaveModel>  findListDateQuotaLevel1(String quotaDate,  String area, int level, String index, String timelevel,String lowLevel,int keyNum, String slaveKeyValue) throws Exception {
        List list = findDateQuotaLevel1(quotaDate, quotaDate, area, level, index, timelevel,keyNum,slaveKeyValue, null, lowLevel);
        return list;
        return list;
    }
    }
    /**
    /**
@ -818,11 +827,11 @@ public class ElasticsearchUtil {
     * @param index  指标code
     * @param index  指标code
     * @param timelevel   1增量   2到达量(按照年度)
     * @param timelevel   1增量   2到达量(按照年度)
     * @param lowLevel  下一级区域等级   1 省 2 市 3 区县 4 机构 5团队
     * @param lowLevel  下一级区域等级   1 省 2 市 3 区县 4 机构 5团队
     * @param slaveKey1  一级维度的key
     * @param slaveKeyValue  一级维度的key
     * @return
     * @return
     */
     */
    public  List<SaveModel>  findListDateQuotaLevel1(String startDate,String endDate,  String area, int level, String index, String timelevel,String lowLevel, String slaveKey1) throws Exception {
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel,slaveKey1, null, lowLevel);
    public  List<SaveModel>  findListDateQuotaLevel1(String startDate,String endDate,  String area, int level, String index, String timelevel,String lowLevel,int keyNum, String slaveKeyValue) throws Exception {
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel,keyNum,slaveKeyValue, null, lowLevel);
        return list;
        return list;
    }
    }
    /**
    /**

+ 2 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/feedback/DoctorFeedbackTemplateController.java

@ -42,9 +42,10 @@ public class DoctorFeedbackTemplateController extends BaseController {
    public String saveFeedback(
    public String saveFeedback(
            @RequestParam String receiver,
            @RequestParam String receiver,
            @RequestParam String title,
            @RequestParam String title,
            @RequestParam String type,
            @RequestParam String content) {
            @RequestParam String content) {
        try {
        try {
            pushMsgTask.put(receiver, "8", title, content, "");
            pushMsgTask.put(receiver, type, title, content, "");
            return write(200, "发送成功!");
            return write(200, "发送成功!");
        } catch (Exception e) {
        } catch (Exception e) {
            error(e);
            error(e);

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/statistic/EsStatisticsController.java

@ -1670,7 +1670,7 @@ public class EsStatisticsController extends BaseController {
                                              @ApiParam(name="disease", value="疾病") @RequestParam(required = false)String disease){
                                              @ApiParam(name="disease", value="疾病") @RequestParam(required = false)String disease){
        try{
        try{
            level = elasticsearchUtil.changeLevel(Integer.parseInt(level))+"";
            level = elasticsearchUtil.changeLevel(Integer.parseInt(level))+"";
            return write(200, "查询成功", "data", statisticsService.getPrescriptionAgeHistogram(level,area,disease));
            return write(200, "查询成功", "data", statisticsESService.getPrescriptionAgeHistogram(level,area,disease));
        } catch (Exception e) {
        } catch (Exception e) {
            error(e);
            error(e);
            return error(-1, "查询失败");
            return error(-1, "查询失败");

+ 16 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/gateway/service/GcEduArticleService.java

@ -1,7 +1,9 @@
package com.yihu.wlyy.web.third.gateway.service;
package com.yihu.wlyy.web.third.gateway.service;
import com.yihu.es.entity.ArticleTest;
import com.yihu.wlyy.config.es.ElastricSearchSave;
import com.yihu.wlyy.config.es.ElastricSearchSave;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.entity.patient.SignFamily;
import com.yihu.wlyy.entity.patient.SignFamily;
import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.repository.education.HealthEduArticlePatientDao;
import com.yihu.wlyy.repository.education.HealthEduArticlePatientDao;
@ -288,4 +290,18 @@ public class GcEduArticleService {
        List<String> groupPatient = jdbcTemplate.queryForList(tableSql+whereSql, String.class);
        List<String> groupPatient = jdbcTemplate.queryForList(tableSql+whereSql, String.class);
        patientSet.addAll(groupPatient);
        patientSet.addAll(groupPatient);
    }
    }
    @Transactional
    public void getSaveArticle(){
//        ArticleTest aa = new ArticleTest();
//        Patient pa = new Patient();
//        String batchNo = UUID.randomUUID().toString();
//        pa.setCode(batchNo);
//        pa.setCity("1212");
//        pa.setName("hukun");
//        batchNo = UUID.randomUUID().toString();
//        aa.setBatchNo(batchNo);
//        aa.setPatients(pa);
    }
}
}

+ 7 - 7
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/jkedu/controller/doctor/EduDoctorArticleController.java

@ -460,13 +460,13 @@ public class EduDoctorArticleController extends BaseController{
    }
    }
//    @RequestMapping(value = "/sendPatients", method = RequestMethod.POST)
//    @ResponseBody
//    @ApiOperation("文章群推送")
//    public void saveArticle(){
//
//
//    }
    @RequestMapping(value = "/saveArticle", method = RequestMethod.POST)
    @ResponseBody
    @ApiOperation("测试生成数据")
    public void saveArticle(){
    }
    /**
    /**
     * 获取要推送的患者
     * 获取要推送的患者