humingfen 7 år sedan
förälder
incheckning
bac27e1f2e

+ 1 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/synergy/customer/CustomerSynergyManageController.java

@ -24,6 +24,7 @@ public class CustomerSynergyManageController extends BaseController {
                                @ApiParam(name="role",value="1医生,2客服管理员,3普通客服")
                                @RequestParam(required = true)Integer role){
        try {
            return write(200,"保存成功","data", synergyManageService.getWorkOrderInfo(workorderCode, role));
        }catch (Exception e){
            error(e);

+ 48 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/synergy/SynergyManageService.java

@ -1,11 +1,13 @@
package com.yihu.wlyy.service.synergy;
import org.apache.commons.lang3.StringUtils;
import com.yihu.wlyy.entity.synergy.ManageSynergyWorkorderDO;
import com.yihu.wlyy.repository.synergy.ManageSynergyWorkOrderDao;
import com.yihu.wlyy.repository.synergy.ManageSynergyWorkorderExecutorDao;
import com.yihu.wlyy.repository.synergy.ManageSynergyWorkorderServicerDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.HashMap;
@ -15,7 +17,9 @@ import java.util.Map;
 * Created by 刘文彬 on 2018/9/27.
 */
@Service
@Transactional
public class SynergyManageService {
    @Autowired
    private ManageSynergyWorkOrderDao workOrderDao;
    @Autowired
@ -26,6 +30,50 @@ public class SynergyManageService {
    public ManageSynergyWorkorderDO findWorkOrderByCode(String workorderCode) {
        return workOrderDao.findByCode(workorderCode);
    }
    /**
     * 我接收到的任务
     * @param code
     * @param keywords
     * @param workorderType
     * @param isMyTask
     * @param status
     * @param priority
     * @throws Exception
     */
    public void acceptTaskList(String code,String keywords,Integer workorderType,
                               Integer isMyTask,Integer status,Integer priority) throws Exception{
        String servicerTable = "";
        String whereSql = "";
        //关键字查询
        if(StringUtils.isNotEmpty(keywords)){
            servicerTable +=" left join wlyy.manage_synergy_workorder_servicer s on s.workorder_code=w.code ";
            whereSql += " and w.servicer_count<=10  ";
            whereSql += " and (w.create_user_name like '%"+keywords+"%' or s.service_patient_name like '%"+keywords+"%' " +
                    " or s.ssc like '%"+keywords+"%' or s.idcard like '%"+keywords+"%' ) ";
        }
        //服务类型
        if(workorderType!=null){
            whereSql += " and w.type ="+workorderType+" ";
        }
        //是否是我负责的
        if(isMyTask!=null){
            whereSql += " and e.executor_code ="+code+" ";
        }
        //工单状态
        if(status!=null){
            whereSql +=" and w.status ="+status+" ";
        }
        //优先级
        if(priority!=null){
            whereSql+= " and w.priority="+priority+" ";
        }
        String sql =" select DISTINCT w.* from wlyy.manage_synergy_workorder w  " +servicerTable+
                " left join wlyy.vmanage_synergy_workorder_executor e on e.workorder_code=w.code " +
                " where w.status in (2,3) and w.del=1  " +
                " and e.del=1 ";
    }
    //获取系统服务详情
    public Map<String, Object> getWorkOrderInfo(String workorderCode, Integer role) {

+ 1 - 2
patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/activemq/HealthArtListener.java

@ -2,7 +2,6 @@ package com.yihu.wlyy.activemq;
import com.yihu.es.entity.HealthEduArticleES;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.entity.patient.SignFamily;
import com.yihu.wlyy.service.app.consult.ConsultService;
import com.yihu.wlyy.service.common.account.PatientService;
import com.yihu.wlyy.task.PushMsgTask;
@ -23,7 +22,6 @@ import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;
import java.util.*;
/**
 * Created by chenweida on 2017/9/9.
@ -169,6 +167,7 @@ public class HealthArtListener implements MessageListener {
                        json.put("toUser", member.getCode());
                        json.remove("first");
                        json.put("first", weiXinOpenIdUtils.getTitleMes(patient, j.isNull("relation") ? 1 : j.getInt("relation"), patient.getName()));
//                        json.put("represented","");
                        if (StringUtils.isNotBlank(member.getOpenid())) {
                            pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 9, member.getOpenid(), patient.getName(), json);
                        }

+ 14 - 14
patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/task/PushMsgTask.java

@ -291,9 +291,9 @@ public class PushMsgTask {
            String temp_id = "";
            if (type == 3) {
                if (json.has("isPublic") && json.getInt("isPublic") == 1) {
                    temp.setUrl(url + "jbsq/html/public-consult-detail.html?openid=" + openid + "&code=" + json.getString("consult") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"));
                    temp.setUrl(url + "jbsq/html/public-consult-detail.html?openid=" + openid + "&code=" + json.getString("consult") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                } else {
                    temp.setUrl(url + "yszx/html/consulting-doctor.html?openid=" + openid + "&consult=" + json.getString("consult") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"));
                    temp.setUrl(url + "yszx/html/consulting-doctor.html?openid=" + openid + "&consult=" + json.getString("consult") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                }
                temp_id = template_consult_notice;
                temp.setTemplate_id(temp_id);
@ -328,10 +328,10 @@ public class PushMsgTask {
                } else {
                    if (json.has("agent") && ("1".equals(json.getString("agent")))) {
//                        发送给授权代理人
                        temp.setUrl(url + "ssgg/html/doctor-homepage-new.html?openid=" + openid + "&state=" + json.getString("doctor") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&isRenew=" + isRenew + "&signState=" + signState + "&represented=" + json.getString("represented") + "&signCode=" + json.getString("signCode"));
                        temp.setUrl(url + "ssgg/html/doctor-homepage-new.html?openid=" + openid + "&state=" + json.getString("doctor") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&isRenew=" + isRenew + "&signState=" + signState + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):"") + "&signCode=" + json.getString("signCode"));
                    } else if (json.has("agent") && ("0".equals(json.getString("agent")))) {
//                        发送给自己
                        temp.setUrl(url + "qygl/html/pay_flow.html?openid=" + openid + "&state=" + json.getString("doctor") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&isRenew=" + isRenew + "&signState=" + signState + "&represented=" + json.getString("represented") + "&signCode=" + json.getString("signCode"));
                        temp.setUrl(url + "qygl/html/pay_flow.html?openid=" + openid + "&state=" + json.getString("doctor") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&isRenew=" + isRenew + "&signState=" + signState + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):"") + "&signCode=" + json.getString("signCode"));
                    }
                }
                temp.setTouser(openid);
@ -354,7 +354,7 @@ public class PushMsgTask {
                keyword4.setValue(json.getString("content"));
                m.put("keyword4", keyword4);
            } else if (type == 4) {
                temp.setUrl(url + "yszd/html/guidance-detail.html?openid=" + openid + "&toUser=" + json.getString("toUser") + "&id=" + String.valueOf(json.get("id")) + "&toName=" + name + "&represented=" + json.getString("represented"));
                temp.setUrl(url + "yszd/html/guidance-detail.html?openid=" + openid + "&toUser=" + json.getString("toUser") + "&id=" + String.valueOf(json.get("id")) + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                temp_id = template_health_notice;
                temp.setTemplate_id(temp_id);
                WechatTemplateData keyword1 = new WechatTemplateData();
@ -378,7 +378,7 @@ public class PushMsgTask {
                keyword5.setValue(json.getString("content"));
                m.put("keyword5", keyword5);
            } else if (type == 5) {
                temp.setUrl(url + "ssgg/html/doctor-homepage-new.html?openid=" + openid + "&state=" + json.getString("doctor") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"));
                temp.setUrl(url + "ssgg/html/doctor-homepage-new.html?openid=" + openid + "&state=" + json.getString("doctor") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                temp_id = template_termination;
                temp.setTemplate_id(temp_id);
                WechatTemplateData keyword1 = new WechatTemplateData();
@ -398,7 +398,7 @@ public class PushMsgTask {
                keyword4.setValue(json.getString("date"));
                m.put("keyword4", keyword4);
            } else if (type == 6) {
                temp.setUrl(url + "wdyy/html/detail-appointment.html?openid=" + openid + "&orgCode=" + json.get("orgCode") + "&id=" + json.getString("id") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"));
                temp.setUrl(url + "wdyy/html/detail-appointment.html?openid=" + openid + "&orgCode=" + json.get("orgCode") + "&id=" + json.getString("id") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                temp_id = template_appoint_success;
                temp.setTemplate_id(temp_id);
                WechatTemplateData keyword1 = new WechatTemplateData();
@ -418,7 +418,7 @@ public class PushMsgTask {
                keyword4.setValue(json.getString("date"));
                m.put("planstarttime", keyword4);
            } else if (type == 7) {
                temp.setUrl(url + "wdyy/html/my-appointment.html?openid=" + openid + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"));
                temp.setUrl(url + "wdyy/html/my-appointment.html?openid=" + openid + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                temp_id = template_appoint_failed;
                temp.setTemplate_id(temp_id);
                WechatTemplateData keyword1 = new WechatTemplateData();
@ -458,11 +458,11 @@ public class PushMsgTask {
                keyword4.setValue(json.getString("content"));
                m.put("remark", keyword4);
            } else if (type == 9) {
                temp.setUrl(url + "jkjy/html/article.html?openid=" + openid + "&dataId=" + json.getString("article") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"));
                temp.setUrl(url + "jkjy/html/article.html?openid=" + openid + "&dataId=" + json.getString("article") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                //如果是ArticleUrl不为空,那就说明是外部系统推送文章(如:集美宣教)
                Boolean articleUrl = json.has("newArricleFlag") ? json.getBoolean("newArricleFlag") : false;
                if(articleUrl.booleanValue()){
                    temp.setUrl(url + "jkjy/html/article2.html?openid=" + openid + "&dataId=" + json.getString("article") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"));
                    temp.setUrl(url + "jkjy/html/article2.html?openid=" + openid + "&dataId=" + json.getString("article") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                }
                temp_id = template_healthy_article;
                temp.setTemplate_id(temp_id);
@ -490,7 +490,7 @@ public class PushMsgTask {
                if (json.has("url")) {
                    temp.setUrl(url + json.getString("url"));
                }else {
                    temp.setUrl(url + "qygl/html/signing-doctors.html?openid=" + openid + "&state=" + openid + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"));
                    temp.setUrl(url + "qygl/html/signing-doctors.html?openid=" + openid + "&state=" + openid + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                }
                temp.setTemplate_id(template_doctor_change);
                WechatTemplateData keyword1 = new WechatTemplateData();
@ -511,7 +511,7 @@ public class PushMsgTask {
                if (json.has("url")) {
                    temp.setUrl(url + json.getString("url"));
                } else {
                    String xinurl = url + "survey/html/survey_info.html?openid=" + openid + "&state=" + openid + "&survey_id=" + json.getString("survey_id") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented");
                    String xinurl = url + "survey/html/survey_info.html?openid=" + openid + "&state=" + openid + "&survey_id=" + json.getString("survey_id") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):"");
//                temp.setUrl(url + "survey/html/survey_info.html?openid=" + openid + "&state=" + openid + "&survey_id=" + json.getString("survey_id") + "&toUser=" + json.getString("toUser") + "&toName=" + name);
                    temp.setUrl(xinurl);
                }
@ -594,7 +594,7 @@ public class PushMsgTask {
                keyword1.setValue(json.getString("keyword1"));
                m.put("keyword1", keyword1);
            } else if (type == 16) {
                temp.setUrl(url + "xuqian/html/information.html?openid=" + openid + "&changeDoctor=" + 1 + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"));
                temp.setUrl(url + "xuqian/html/information.html?openid=" + openid + "&changeDoctor=" + 1 + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                temp.setTemplate_id(template_doctor_survey);
                WechatTemplateData keyword1 = new WechatTemplateData();
                keyword1.setColor("#000000");
@ -605,7 +605,7 @@ public class PushMsgTask {
                keyword2.setValue(json.getString("keyword2"));
                m.put("keyword2", keyword2);
            } else if (type == 17) {
                temp.setUrl(url + "yszx/html/manyidu.html?openid=" + openid + "&consult=" + json.getString("consult") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"));
                temp.setUrl(url + "yszx/html/manyidu.html?openid=" + openid + "&consult=" + json.getString("consult") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                temp.setTemplate_id(template_doctor_survey);
                WechatTemplateData keyword1 = new WechatTemplateData();
                keyword1.setColor("#000000");

+ 14 - 14
patient-co/patient-co-wlyy-job/src/main/resources/application-test.yml

@ -43,35 +43,35 @@ wechat:
  accId: gh_ffd64560fb21
  message:
   ##医生追加建议提醒 --签约邀请
   doctor_invitel_template: uXdBJVbrhKG-WLaCG4s8C4SXSr2kknQ94vKFt-3rIiA
   doctor_invitel_template: YA8VtN_JYORLHrbEhQkNoRjlpJXIGVGnb4_OhVq4OBs
   #咨询回复
   template_consult_notice: dr4QNyFoRvVsf8uWxXMC1dRyjwnbUuJwJ21vBLhf18
   template_consult_notice: oGFfTWPEYvwwfmcIK1hquZ4-cVXdNomV3bCMLfj97Jc
   #签约成功
   template_sign_success: VYGj8OUKj6FH4i4_nZS2UAHurJxQHx-7_OBPILIdB8s
   template_sign_success: SQBxvSvX_JA5xez11MIFvxzamV0w3i3DeU8yB8O1lUY
   #签约失败
   template_sign_failed: m221Jrkm0UUY00ExTCpQNTB8t_1U_V4LR9Bg8BgH9-o
   template_sign_failed: sFyAMmdJjzeqjzQvRcjIajDtUZx3pBhTGxRyj-A-uuQ
   #健康指导提醒
   template_health_notice: 5Nts8lA_at9Cd1JuTK-qDxx95lchpcmUfPTEwYDgXYQ
   template_health_notice: hOu3swzpEi07jY5ojEB1vd6M6pflksn3pgfAQ6R6NT0
   #解约提醒
   template_termination:  qZm1NwSueAsbHaOf9DrnLoSj0X5gZuh9W7aDYzLWNds
   template_termination:  K1rUqmIJ6RvQviit1r_ZyPCRmjdZyFZVe0_zKeVWu30
   #预约成功
   template_appoint_success:  vU5x2tGyk1zUngBrEqMfnFqqMa6M8J98w8k5MCSUYM
   template_appoint_success:  3JNK8saVZvWUTWZ1veamC_pAEJPOLorj0sRKv1_V6-Y
   #预约取消
   template_appoint_failed:  r-bVEKgXVyl8O96saoJXlLd7DX1zW7fXA4a0PZHxiQM
   template_appoint_failed:  iq9An2I_WgUC2BnouzSpL0bDflAO6B_AQw5TjTrYKgU
   #缴费提醒
   template_expenses_remind:  pZby4Mz3H5angmjGTuvXzo9lwlaVfEiqORwI8soI-5E
   template_expenses_remind:  umuDSVNrUy_yYPmENRg1BHszW3sDpFtCCPEdobXxAmQ
   #健康教育
   template_healthy_article: aO_qqk5nAXaGXhsikPVLNelqzwlrp1LTPfIQ1qRMpxo
   template_healthy_article: dH8ML1nDOruIAUnA9dv19w4HF95p_xiHcmpq-Noutxo
   #医生变更
   template_doctor_change:  V5h0F84t972kUzQvWy8qYrgdaYGJVj10pFeFVl19Nb8
   template_doctor_change:  RMKwJ-PLHP-uBwjJlHDgPaVFZhjuXvhSO7V8Dwh7vPc
   #问卷调查
   template_doctor_survey:  OqQXrb-e43_TJpq_70_K_y6vYJgY5mpjFYY4c5RWFP4
   #审核结果通知
   template_doctor_audit:  lCtOgJgL1tBJbAytqN7cn-FgCH_Usg99FENEy2TrC08
   template_doctor_audit:  kyrkan8cWQ22J_NC01e8yGwsn75MeUtfgdCrZKkwSLQ
   #服务结果通知
   template_doctor_service:  i34rq3xFLnpf_VN2Jor9n2YlQqJMM7oXyYvuctriISw
   template_doctor_service:  2hEhp2bLfmM-7Goc6rJ3EE4a4wvuhyndKufruYTk6A0
   #设备测量提醒
   template_device_measure_notice: bzwLOFFPSe2vq74IljvVIPmvjP-C4ebEUAFORyq-2dY
   template_device_measure_notice: 5bzC6o_9zlL24loYnF7hFLskuRzCyX8v48KfWmYOL3c
yihu:
  yihu_OpenPlatform_url: http://ssotest.yihu.cn/OpenPlatform/cgiBin/1.0/

+ 2 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/account/DoctorInfoService.java

@ -1322,13 +1322,14 @@ public class DoctorInfoService extends BaseService {
                        json.remove("toUser");
                        json.put("toUser", member.getCode());
                        json.remove("first");
                        json.put("first", weiXinOpenIdUtils.getTitleMes(p, (int) json.get("relation"), p.getName()) + p.getName() + ",您好!您签约团队的全科医生已变更,您的新全科医生信息如下:");
                        json.put("first", weiXinOpenIdUtils.getTitleMes(p, 0, p.getName()) + p.getName() + ",您好!您签约团队的全科医生已变更,您的新全科医生信息如下:");
                        pushMsgTask.putWxMsg(accessTokenUtils.getAccessToken(), 10, member.getOpenid(), p.getName(), json);
                    }
                }
            }
        }catch (Exception e){
            logger.info(e.getMessage());
            e.printStackTrace();
        }
    }

+ 4 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/FamilyContractService.java

@ -2635,15 +2635,17 @@ public class FamilyContractService extends BaseService {
                //发送代理人
                JSONArray jsonArray = weiXinOpenIdUtils.getAgentOpenId(p.getCode(), p.getOpenid());
                if (jsonArray != null && jsonArray.length() > 0) {
                    String msgFirst = (String)msg.get("first");
                    for (int i = 0; i < jsonArray.length(); i++) {
                        JSONObject j = jsonArray.getJSONObject(i);
                        Patient member = (Patient) j.get("member");
                        JSONObject data = msg;
                        data.remove("toUser");
                        data.put("toUser", member.getCode());
                        String first = (String) data.get("first");
                        String first = msgFirst;
                        data.remove("first");
                        data.put("first", weiXinOpenIdUtils.getTitleMes(p, j.getInt("relation"), p.getName()));
                        data.put("first", weiXinOpenIdUtils.getTitleMes(p, j.getInt("relation"), p.getName())+first);
//                        data.put("represented","");
                        pushMsgTask.putWxMsg(accessTokenUtils.getAccessToken(), 10, member.getOpenid(), p.getName(), data);
                    }
                }

+ 12 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/jimeiJkEdu/JMJkEduArticleService.java

@ -371,6 +371,7 @@ public class JMJkEduArticleService extends BaseService {
        Set<String> openidSet = getOpenid(patientSet);
        List<HealthEduArticleES> healthEduArticleESList = new ArrayList<>();
        List<HealthEduArticleES> healthEduArticleESList2 = new ArrayList<>();
        Doctor doctor = doctorDao.findByCode(sendCode);
        AdminTeam adminTeam =null;
        if(teamId!=null){
@ -403,12 +404,14 @@ public class JMJkEduArticleService extends BaseService {
        }
        JSONObject article = thirdJkEduArticleService.getArticalById(articleId,"","");
        Date createTime = new Date();
        Set<String> openidSetTemp = new HashSet<>();
        for (String patient : patientSet) {
            one = patientDao.findByCode(patient);
            if(one==null){
                continue;
            }
            HealthEduArticleES healthEduArticleES = new HealthEduArticleES();
            healthEduArticleES.setDoctorCode(doctor.getCode());
            healthEduArticleES.setDoctorName(doctor.getName());
@ -473,7 +476,10 @@ public class JMJkEduArticleService extends BaseService {
            healthEduArticleES.setUserType(1);
            healthEduArticleES.setOpenidSet(openidSet);
            healthEduArticleESList.add(healthEduArticleES);
            if(!openidSetTemp.contains(one.getOpenid())){
                openidSetTemp.add(one.getOpenid());
                healthEduArticleESList2.add(healthEduArticleES);
            }
        }
        if(healthEduArticleESList.size()>0){
@ -488,7 +494,7 @@ public class JMJkEduArticleService extends BaseService {
            elastricSearchSave.save(e, esIndex, esType);
            thirdJkEduArticleService.saveBehavior(articleId,doctor.getCode(),7,patientSet.size());
        }
        return healthEduArticleESList;
        return healthEduArticleESList2;
    }
    public JSONObject pushArticleConfirm(String articleId, String labelUnit, String labelSex, String labelServe, String labelDisease, String labelHealth,String userCode,String currentUserRole, String currentUserRoleLevel) throws Exception {
        JSONObject article = thirdJkEduArticleService.getArticalById(articleId,"","");
@ -1497,7 +1503,10 @@ public class JMJkEduArticleService extends BaseService {
            if(one==null){
                continue;
            }
            openidSet.add(one.getOpenid());
            if(one.getOpenid()!=null){
                openidSet.add(one.getOpenid());
            }
        }
        return openidSet;
    }

+ 13 - 13
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/task/PushMsgTask.java

@ -421,9 +421,9 @@ public class PushMsgTask {
            String temp_id = "";
            if (type == 3) {
                if (json.has("isPublic") && json.getInt("isPublic") == 1) {
                    temp.setUrl(url + "jbsq/html/public-consult-detail.html?openid=" + openid + "&code=" + json.getString("consult") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"));
                    temp.setUrl(url + "jbsq/html/public-consult-detail.html?openid=" + openid + "&code=" + json.getString("consult") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                } else {
                    temp.setUrl(url + "yszx/html/consulting-doctor.html?openid=" + openid + "&consult=" + json.getString("consult") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"));
                    temp.setUrl(url + "yszx/html/consulting-doctor.html?openid=" + openid + "&consult=" + json.getString("consult") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                }
                temp_id = template_consult_notice;
                temp.setTemplate_id(temp_id);
@ -458,7 +458,7 @@ public class PushMsgTask {
                } else {
                    if (json.has("agent") && ("1".equals(json.getString("agent")))) {
//                        发送给授权代理人
                        temp.setUrl(url + "ssgg/html/doctor-homepage-new.html?openid=" + openid + "&state=" + json.getString("doctor") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&isRenew=" + isRenew + "&signState=" + signState + "&represented=" + json.getString("represented") + "&signCode=" + json.getString("signCode"));
                        temp.setUrl(url + "ssgg/html/doctor-homepage-new.html?openid=" + openid + "&state=" + json.getString("doctor") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&isRenew=" + isRenew + "&signState=" + signState + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):"") + "&signCode=" + json.getString("signCode"));
                    } else if (json.has("agent") && ("0".equals(json.getString("agent")))) {
//                        发送给自己
                        temp.setUrl(url + "qygl/html/pay_flow.html?openid=" + openid + "&state=" + json.getString("doctor") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&isRenew=" + isRenew + "&signState=" + signState + "&represented=" + json.getString("represented") + "&signCode=" + json.getString("signCode"));
@ -484,7 +484,7 @@ public class PushMsgTask {
                keyword4.setValue(json.getString("content"));
                m.put("keyword4", keyword4);
            } else if (type == 4) {
                temp.setUrl(url + "yszd/html/guidance-detail.html?openid=" + openid + "&toUser=" + json.getString("toUser") + "&id=" + String.valueOf(json.get("id")) + "&toName=" + name + "&represented=" + json.getString("represented"));
                temp.setUrl(url + "yszd/html/guidance-detail.html?openid=" + openid + "&toUser=" + json.getString("toUser") + "&id=" + String.valueOf(json.get("id")) + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                temp_id = template_health_notice;
                temp.setTemplate_id(temp_id);
                WechatTemplateData keyword1 = new WechatTemplateData();
@ -508,7 +508,7 @@ public class PushMsgTask {
                keyword5.setValue(json.getString("content"));
                m.put("keyword5", keyword5);
            } else if (type == 5) {
                temp.setUrl(url + "ssgg/html/doctor-homepage-new.html?openid=" + openid + "&state=" + json.getString("doctor") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"));
                temp.setUrl(url + "ssgg/html/doctor-homepage-new.html?openid=" + openid + "&state=" + json.getString("doctor") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                temp_id = template_termination;
                temp.setTemplate_id(temp_id);
                WechatTemplateData keyword1 = new WechatTemplateData();
@ -528,7 +528,7 @@ public class PushMsgTask {
                keyword4.setValue(json.getString("date"));
                m.put("keyword4", keyword4);
            } else if (type == 6) {
                temp.setUrl(url + "wdyy/html/detail-appointment.html?openid=" + openid + "&orgCode=" + json.get("orgCode") + "&id=" + json.getString("id") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"));
                temp.setUrl(url + "wdyy/html/detail-appointment.html?openid=" + openid + "&orgCode=" + json.get("orgCode") + "&id=" + json.getString("id") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                temp_id = template_appoint_success;
                temp.setTemplate_id(temp_id);
                WechatTemplateData keyword1 = new WechatTemplateData();
@ -548,7 +548,7 @@ public class PushMsgTask {
                keyword4.setValue(json.getString("date"));
                m.put("planstarttime", keyword4);
            } else if (type == 7) {
                temp.setUrl(url + "wdyy/html/my-appointment.html?openid=" + openid + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"));
                temp.setUrl(url + "wdyy/html/my-appointment.html?openid=" + openid + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                temp_id = template_appoint_failed;
                temp.setTemplate_id(temp_id);
                WechatTemplateData keyword1 = new WechatTemplateData();
@ -588,7 +588,7 @@ public class PushMsgTask {
                keyword4.setValue(json.getString("content"));
                m.put("remark", keyword4);
            } else if (type == 9) {
                temp.setUrl(url + "jkjy/html/article.html?openid=" + openid + "&dataId=" + json.getString("article") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"));
                temp.setUrl(url + "jkjy/html/article.html?openid=" + openid + "&dataId=" + json.getString("article") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                temp_id = template_healthy_article;
                temp.setTemplate_id(temp_id);
                WechatTemplateData keyword1 = new WechatTemplateData();
@ -615,7 +615,7 @@ public class PushMsgTask {
                if (json.has("url")) {
                    temp.setUrl(url + json.getString("url"));
                } else {
                    temp.setUrl(url + "qygl/html/signing-doctors.html?openid=" + openid + "&state=" + openid + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"));
                    temp.setUrl(url + "qygl/html/signing-doctors.html?openid=" + openid + "&state=" + openid + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                }
                temp.setTemplate_id(template_doctor_change);
                WechatTemplateData keyword1 = new WechatTemplateData();
@ -636,7 +636,7 @@ public class PushMsgTask {
                if (json.has("url")) {
                    temp.setUrl(url + json.getString("url"));
                } else {
                    String xinurl = url + "survey/html/survey_info.html?openid=" + openid + "&state=" + openid + "&survey_id=" + json.getString("survey_id") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented");
                    String xinurl = url + "survey/html/survey_info.html?openid=" + openid + "&state=" + openid + "&survey_id=" + json.getString("survey_id") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):"");
//                temp.setUrl(url + "survey/html/survey_info.html?openid=" + openid + "&state=" + openid + "&survey_id=" + json.getString("survey_id") + "&toUser=" + json.getString("toUser") + "&toName=" + name);
                    temp.setUrl(xinurl);
                }
@ -719,7 +719,7 @@ public class PushMsgTask {
                keyword1.setValue(json.getString("keyword1"));
                m.put("keyword1", keyword1);
            } else if (type == 16) {
                temp.setUrl(url + "xuqian/html/information.html?openid=" + openid + "&changeDoctor=" + 1 + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"));
                temp.setUrl(url + "xuqian/html/information.html?openid=" + openid + "&changeDoctor=" + 1 + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                temp.setTemplate_id(template_doctor_survey);
                WechatTemplateData keyword1 = new WechatTemplateData();
                keyword1.setColor("#000000");
@ -730,7 +730,7 @@ public class PushMsgTask {
                keyword2.setValue(json.getString("keyword2"));
                m.put("keyword2", keyword2);
            } else if (type == 17) {
                temp.setUrl(url + "yszx/html/manyidu.html?openid=" + openid + "&consult=" + json.getString("consult") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"));
                temp.setUrl(url + "yszx/html/manyidu.html?openid=" + openid + "&consult=" + json.getString("consult") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):""));
                temp.setTemplate_id(template_doctor_survey);
                WechatTemplateData keyword1 = new WechatTemplateData();
                keyword1.setColor("#000000");
@ -853,7 +853,7 @@ public class PushMsgTask {
                keyword2.setValue(json.getString("keyword2"));
                m.put("keyword2", keyword2);
            }else if (type==25){
                temp.setUrl(url + "kfgl/html/plan-item-detail.html?openid=" + openid + "&planIds=" + json.getString("planIds") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented")+"&doctor="+json.getString("doctor"));
                temp.setUrl(url + "kfgl/html/plan-item-detail.html?openid=" + openid + "&planIds=" + json.getString("planIds") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + (StringUtils.isNotEmpty(json.getString("represented"))?json.getString("represented"):"")+"&doctor="+json.getString("doctor"));
                temp.setTemplate_id(template_doctor_service);
                WechatTemplateData keyword1 = new WechatTemplateData();
                keyword1.setColor("#000000");

+ 13 - 37
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/data/DataHandingService.java

@ -828,44 +828,20 @@ public class DataHandingService {
     * 24H干预指导率数据清洗
     */
    @Transactional(rollbackFor = Exception.class)
    public void abnormalSignRinse() throws Exception{
        int index =0;
        int a =0;
        while (true){
            a = index*1000;
            String sql = "select i.czrq,i.id,i.user as patient,m.receiver as doctor from wlyy.wlyy_message m " +
                    " LEFT JOIN device.wlyy_patient_health_index i on m.tz_code=i.id " +
                    " where m.type =2 and m.tz_type in ('1','2') and m.create_time>='2018-07-01 00:00:00' and m.create_time<='2018-09-26 16:00:00'  " +
                    " and i.manage_result=2 limit "+a+",1000";
            List<Map<String,Object>> resultList = jdbcTemplate.queryForList(sql);
            Date tzCzrq = null;
            Date guidanceCzrq =null;
            String guidanceSql = "";
            String patient ="";
            String doctor ="";
            long h24 = 1000*60*60*24+10;
            String tzCzrqStr ="";
            String guidanceCzrqStr ="";
            String tempSql = "";
            for(Map<String,Object> one: resultList){
                tzCzrq = (Date)one.get("czrq");
                guidanceCzrq = new Date(tzCzrq.getTime()+h24);
                tzCzrqStr = DateUtil.dateToStrLong(tzCzrq);
                guidanceCzrqStr = DateUtil.dateToStrLong(guidanceCzrq);
                patient = one.get("patient")+"";
                doctor = one.get("doctor")+"";
                guidanceSql = " select * from wlyy.wlyy_patient_health_guidance where patient='"+patient+"' and doctor='"+doctor+"' and czrq>='"+tzCzrqStr+"' and czrq<='"+guidanceCzrqStr+"'";
                List<Map<String,Object>> resultList2 = jdbcTemplate.queryForList(guidanceSql);
                if(resultList2!=null&&resultList2.size()>0){//有效干预
                    tempSql = "update device.wlyy_patient_health_index set manage_result=1 where id="+one.get("id");
                    jdbcTemplate.execute(tempSql);
                }
            }
            if(resultList.size()<1000){
                return;
    public void abnormalSignRinse() throws Exception {
        String sql = " select i.* from device.wlyy_patient_health_index i where i.manage_result=2 and i.czrq>='2018-07-01 00:00:00' order by id desc ";
        List<Map<String, Object>> resultList = jdbcTemplate.queryForList(sql);
        Date czrq = null;
        Date record_date = null;
        long h24 = 1000 * 60 * 60 * 24 + 10;
        String tempSql = "";
        for (Map<String, Object> one : resultList) {
            czrq = (Date) one.get("czrq");
            record_date = (Date) one.get("record_date");
            if (czrq.getTime() - record_date.getTime() <= h24) {
                tempSql = "update device.wlyy_patient_health_index set manage_result=1 where id=" + one.get("id");
                jdbcTemplate.execute(tempSql);
            }
            index++;
        }
    }
}

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/wechat/util/WeiXinOpenIdUtils.java

@ -133,7 +133,7 @@ public class WeiXinOpenIdUtils {
    }
    public String getTitleMes(Patient p, int ralation, String dealerName) throws Exception {
        return "因您是" + relations.get(familyRelationTrans(p, ralation)) + p.getName() + "的代理人,故请将该消息传达给" + dealerName + ":";
        return "因您是" + "家人" + p.getName() + "的代理人,故请将该消息传达给" + dealerName + ":";
    }
    /**

+ 19 - 19
patient-co/patient-co-wlyy/src/main/resources/application-test.yml

@ -58,45 +58,45 @@ wechat:
  accId: gh_710bf0b315a1
  message:
   ##医生追加建议提醒 --签约邀请
   doctor_invitel_template: uXdBJVbrhKG-WLaCG4s8C4SXSr2kknQ94vKFt-3rIiA
   doctor_invitel_template: YA8VtN_JYORLHrbEhQkNoRjlpJXIGVGnb4_OhVq4OBs
   #咨询回复
   template_consult_notice: dr4QNyFoRvVsf8uWxXMC1dRyjwnbUuJwJ21vBLhf18
   template_consult_notice: oGFfTWPEYvwwfmcIK1hquZ4-cVXdNomV3bCMLfj97Jc
   #签约成功
   template_sign_success: VYGj8OUKj6FH4i4_nZS2UAHurJxQHx-7_OBPILIdB8s
   template_sign_success: SQBxvSvX_JA5xez11MIFvxzamV0w3i3DeU8yB8O1lUY
   #签约失败
   template_sign_failed: m221Jrkm0UUY00ExTCpQNTB8t_1U_V4LR9Bg8BgH9-o
   template_sign_failed: sFyAMmdJjzeqjzQvRcjIajDtUZx3pBhTGxRyj-A-uuQ
   #健康指导提醒
   template_health_notice: 5Nts8lA_at9Cd1JuTK-qDxx95lchpcmUfPTEwYDgXYQ
   template_health_notice: hOu3swzpEi07jY5ojEB1vd6M6pflksn3pgfAQ6R6NT0
   #解约提醒
   template_termination:  qZm1NwSueAsbHaOf9DrnLoSj0X5gZuh9W7aDYzLWNds
   template_termination:  K1rUqmIJ6RvQviit1r_ZyPCRmjdZyFZVe0_zKeVWu30
   #预约成功
   template_appoint_success:  vU5x2tGyk1zUngBrEqMfnFqqMa6M8J98w8k5MCSUYM
   template_appoint_success:  3JNK8saVZvWUTWZ1veamC_pAEJPOLorj0sRKv1_V6-Y
   #预约取消
   template_appoint_failed:  r-bVEKgXVyl8O96saoJXlLd7DX1zW7fXA4a0PZHxiQM
   template_appoint_failed:  iq9An2I_WgUC2BnouzSpL0bDflAO6B_AQw5TjTrYKgU
   #缴费提醒
   template_expenses_remind:  pZby4Mz3H5angmjGTuvXzo9lwlaVfEiqORwI8soI-5E
   template_expenses_remind:  umuDSVNrUy_yYPmENRg1BHszW3sDpFtCCPEdobXxAmQ
   #健康教育
   template_healthy_article: aO_qqk5nAXaGXhsikPVLNelqzwlrp1LTPfIQ1qRMpxo
   template_healthy_article: dH8ML1nDOruIAUnA9dv19w4HF95p_xiHcmpq-Noutxo
   #医生变更
   template_doctor_change:  V5h0F84t972kUzQvWy8qYrgdaYGJVj10pFeFVl19Nb8
   template_doctor_change:  RMKwJ-PLHP-uBwjJlHDgPaVFZhjuXvhSO7V8Dwh7vPc
   #问卷调查
   template_doctor_survey:  OqQXrb-e43_TJpq_70_K_y6vYJgY5mpjFYY4c5RWFP4
   #审核结果通知
   template_doctor_audit:  lCtOgJgL1tBJbAytqN7cn-FgCH_Usg99FENEy2TrC08
   template_doctor_audit:  kyrkan8cWQ22J_NC01e8yGwsn75MeUtfgdCrZKkwSLQ
   #服务结果通知
   template_doctor_service:  i34rq3xFLnpf_VN2Jor9n2YlQqJMM7oXyYvuctriISw
   template_doctor_service:  2hEhp2bLfmM-7Goc6rJ3EE4a4wvuhyndKufruYTk6A0
   #体检报告提醒
   template_physical_examination:  tlsPJlgA90-I73j2QudyMG7C-LmrMn1lC4_UnJPyWSM
   template_physical_examination:  tlsPJlgA90-I73j2QudyMG7C-LmrMn1lC4_UnJPyWSM·
   #处理结果通知
   template_deal_with:  VagkqFW_LFqLKE3gP2wmPtUfDWQOah40XMloipfi1do
   template_deal_with:  q9AiUpG7h2_4MUVE7iIKLV8lVwVaytTrHozqnkPGSes
   #设备绑定结果通知
   template_patient_bind_device: 1GWPw6LFcSuz2LFTo6LhE-YY8abtmcKRvor1fUzfxBE
   template_patient_bind_device: GJD0OC5HnmFOyj9Bcn_LQEYxwIg2t2jAdOX3jKoqaC8
   #积分到账通知
   template_healthbank_credit: A2L6WBm1p6bDPYGkGnUmoMvpWlRruP2lapYwHfLV7Rg
   template_healthbank_credit: tY34D3fSojaYz1lJJ612eSbC4uR0JhDc20Z6MZKSzVk
   #支付提醒
   template_to_be_pay: Y5d-V3qW78ThFEi_DuepFdZ3dn1FpHeL2NzH0ilw-qM
   template_to_be_pay: MKbDtG8gDdxAVEZH8LMJqiDKKyWfbMEECyc6BI02nXA
   #支付成功通知
   template_pay_success: wetf1x_yZ7iKu6wRIld6KMXCO3NVase4VvhQrQxNWEo
   template_pay_success: UVsmMSLF4gInbZkaprS3pqRyQ5eteR09lJvaRfY9PTo
  imgUrl:
    #居民wifi图片地址
    patient_wifi_pic_url: group1/M00/0E/F7/rBFuWltgKzGAKylNAABYgyiykZs261.png