Forráskód Böngészése

Merge branch 'dev' of lyr/patient-co-management into dev

lyr 8 éve
szülő
commit
3fb24bfe60

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

@ -33,6 +33,7 @@ import com.yihu.wlyy.repository.patient.SignFamilyDao;
import com.yihu.wlyy.service.app.scheduling.DoctorWorkTimeService;
import com.yihu.wlyy.service.app.talk.TalkGroupService;
import com.yihu.wlyy.service.common.SMSService;
import com.yihu.wlyy.task.PushMsgTask;
import com.yihu.wlyy.util.MD5;
import org.apache.commons.beanutils.converters.IntegerConverter;
import org.apache.commons.lang3.StringUtils;
@ -832,6 +833,23 @@ public class DoctorInfoService extends BaseService {
        newDoctorTeamMember.setDel("1");
        newDoctorTeamMember.setCode(UUID.randomUUID().toString().replace("-", ""));
        doctorTeamDoctor.save(newDoctorTeamMember);
        Patient p = patientDao.findByCode(patient);
        JSONObject data = new JSONObject();
        if(StringUtils.isNotEmpty(oldDoctorCode)) {
            data.put("first", "因签约团队内分工调整,您的责任医生有变动," + signFamily.getDoctorHealthName() +
                    "医生无法继续为您服务,具体变动如下:");
            data.put("keyword1", "家庭签约");
            data.put("keyword2", newD.getName());
            data.put("remark",  signFamily.getDoctorName() + "医生与" + newD.getName() +
                    "医生一道,为您提供优质健康服务");
        } else {
            data.put("first", "您的签约团队新增一位责任医生,其将与" + signFamily.getDoctorName() +
                    "医生一道,为您提供优质健康管理服务,医生信息如下:");
            data.put("keyword1", "家庭签约");
            data.put("keyword2", newD.getName());
        }
        PushMsgTask.getInstance().putWxMsg("", 10, p.getOpenid(), p.getName(), data);
    }
    @Transactional
@ -885,6 +903,15 @@ public class DoctorInfoService extends BaseService {
        newDoctorTeamMember.setCode(UUID.randomUUID().toString().replace("-", ""));
        doctorTeamDoctor.save(newDoctorTeamMember);
        Patient p = patientDao.findByCode(patient);
        JSONObject data = new JSONObject();
        data.put("first", "您的签约团队新增一位责任医生,其将与" + signFamily.getDoctorName() +
                "医生一道,为您提供优质健康管理服务,医生信息如下:");
        data.put("keyword1", "家庭签约");
        data.put("keyword2", newD.getName());
        PushMsgTask.getInstance().putWxMsg("", 10, p.getOpenid(), p.getName(), data);
        return 1;
    }
@ -1031,5 +1058,16 @@ public class DoctorInfoService extends BaseService {
        newDoctorTeamMember.setDel("1");
        newDoctorTeamMember.setCode(UUID.randomUUID().toString().replace("-", ""));
        doctorTeamDoctor.save(newDoctorTeamMember);
        Patient p = patientDao.findByCode(patient);
        JSONObject data = new JSONObject();
        data.put("first", "因签约团队内分工调整,您的责任医生有变动," + signFamily.getDoctorName() +
                "医生无法继续为您服务,具体变动如下:");
        data.put("keyword1", "家庭签约");
        data.put("keyword2", newD.getName());
        data.put("remark", newD.getName() + "医生" +
                (StringUtils.isNotEmpty(signFamily.getDoctorHealthName()) ? ( "与" + signFamily.getDoctorHealthName() + "医生一道") : "") +
                ",为您提供优质健康服务");
        PushMsgTask.getInstance().putWxMsg("", 10, p.getOpenid(), p.getName(), data);
    }
}

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

@ -1612,6 +1612,15 @@ public class FamilyContractService extends BaseService {
     */
    public JSONObject updateSignInfo(String patient, String healthDoctor, String doctor, String expensesType) {
        JSONObject result = new JSONObject();
        Patient p = patientDao.findByCode(patient);
        if (p == null) {
            result.put("status", -1);
            result.put("msg", "居民不存在");
            return result;
        }
        List<JSONObject> wxMessages = new ArrayList<>();
        SignFamily signFamily = signFamilyDao.findByjiatingPatientYes(patient);
@ -1644,6 +1653,22 @@ public class FamilyContractService extends BaseService {
                    teamMember.setCzrq(new Date());
                    doctorTeamDoctor.save(teamMember);
                }
                JSONObject data = new JSONObject();
                data.put("first", "因签约团队内分工调整,您的责任医生有变动," + signFamily.getDoctorHealthName() +
                        "医生无法继续为您服务,具体变动如下:");
                data.put("keyword1", "家庭签约");
                data.put("keyword2", docHealth.getName());
                data.put("remark", signFamily.getDoctorName() + "医生与" + docHealth.getName() +
                        "医生一道,为您提供优质健康服务");
                wxMessages.add(data);
            } else {
                JSONObject data = new JSONObject();
                data.put("first", "您的签约团队新增一位责任医生,其将与" + signFamily.getDoctorName() +
                        "医生一道,为您提供优质健康管理服务,医生信息如下:");
                data.put("keyword1", "家庭签约");
                data.put("keyword2", docHealth.getName());
                wxMessages.add(data);
            }
            // 新增团队信息
            if (StringUtils.isNotEmpty(signFamily.getTeamCode())) {
@ -1701,6 +1726,16 @@ public class FamilyContractService extends BaseService {
            signFamily.setDoctor(docQk.getCode());
            signFamily.setDoctorName(docQk.getName());
            signFamily.setCzrq(new Date());
            JSONObject data = new JSONObject();
            data.put("first", "因签约团队内分工调整,您的责任医生有变动," + signFamily.getDoctorName() +
                    "医生无法继续为您服务,具体变动如下:");
            data.put("keyword1", "家庭签约");
            data.put("keyword2", docQk.getName());
            data.put("remark", docQk.getName() + "医生" +
                    (StringUtils.isNotEmpty(signFamily.getDoctorHealthName()) ? ("与" + signFamily.getDoctorHealthName() + "医生一道") : "") +
                    ",为您提供优质健康服务");
            wxMessages.add(data);
        }
        if (StringUtils.isNotEmpty(expensesType)) {
@ -1716,6 +1751,10 @@ public class FamilyContractService extends BaseService {
        result.put("status", 1);
        result.put("msg", "更新成功");
        for (JSONObject msg : wxMessages) {
            PushMsgTask.getInstance().putWxMsg("", 10, p.getOpenid(), p.getName(), msg);
        }
        return result;
    }

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

@ -175,7 +175,7 @@ public class PushMsgTask {
    /**
     * 发送微信模板消息
     *
     * @param type 1:签约成功  2:签约失败  3:咨询回复通知  4:健康指导提醒  5:解约申请通知  6:预约挂号成功通知  7:预约取消通知 8 缴费提醒 9 健康教育
     * @param type 1:签约成功  2:签约失败  3:咨询回复通知  4:健康指导提醒  5:解约申请通知  6:预约挂号成功通知  7:预约取消通知 8 缴费提醒 9 健康教育  10 签约医生变更
     * @param json 当type==1||type==2时:{"first":"消息主题",”doctor":"医生code","doctorName":"医生名","date":"签约时间","content":"签约内容","remark":"消息备注"}
     *             type==3时:{"first":"消息主题","consult":"医生咨询编号","consultcontent":"咨询内容","replycontent":"回复内容","doctorName":"医生名","remark":"消息备注"}
     *             type==4时:{"first":"消息主题","date":"指导时间","orgName":"指导机构","doctorName":"指导医生名","content":"指导内容","remark":"消息备注"}
@ -183,6 +183,7 @@ public class PushMsgTask {
     *             type==6时:{"first":"消息主题","date":"预约时间",”id":"预约ID","doctorName":"医生名","orgName":"预约医院","deptName":"预约科室","remark":"消息备注"}
     *             type==7时:{"first":"消息主题","name":"就诊人名","date":"预约时间","doctorName":"医生名","orgName":"预约医院","remark":"消息备注"}
     *             type==9时:{"first":"消息主题","name":"患教标题","doctorName":"医生名","date":"发送时间","remark":"消息备注"}
     *             type==10时:{"first":"消息主题","name":"患教标题","doctorName":"医生名","date":"发送时间","remark":"消息备注"}
     * @return
     */
    private boolean sendWeixinMessage(String access_token, int type, String openid, String name, JSONObject json) {
@ -405,6 +406,14 @@ public class PushMsgTask {
                keyword5.setColor("#000000");
                keyword5.setValue(json.getString("remark"));
                m.put("remark", keyword5);
            } else if (type == 10){
                temp.setUrl("");
                temp.setTemplate_id(SystemConf.getInstance().getSystemProperties()
                        .getProperty("template_healthy_article"));
                WechatTemplateData keyword1 = new WechatTemplateData();
                keyword1.setColor("#000000");
                keyword1.setValue(json.getString("keyword1"));
                m.put("keyword1", keyword1);
            }
            temp.setData(m);
            ObjectMapper mapper = new ObjectMapper();