Kaynağa Gözat

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

trick9191 7 yıl önce
ebeveyn
işleme
1b9929fccb

+ 3 - 1
patient-co/patient-co-doctor-assistant/src/main/java/com/yihu/wlyy/service/common/account/PatientService.java

@ -142,7 +142,9 @@ public class PatientService extends TokenService {
            patient.setOpenidTime(new Date());
        }
        //System.out.println("========openid=======");
        patient.setOpenid(openid);
        if(!"undefined".equals(openid)){
            patient.setOpenid(openid);
        }
        Patient ps = patientDao.save(patient);
        System.out.print(new JSONObject(ps));
        if (StringUtils.isNotEmpty(patient.getOpenid())) {

+ 6 - 2
patient-co/patient-co-doctor-assistant/src/main/java/com/yihu/wlyy/service/weixin/wxpay/service/OnePayService.java

@ -86,7 +86,9 @@ public class OnePayService {
        //更新患者信息
        if (card != null) {
            Patient p = patientDao.findByCode(patient);
            p.setOpenid(openid);
            if(!"undefined".equals(openid)){
                p.setOpenid(openid);
            }
            p.setSsc(card.getAttachCardNo());
//            增加绑定电子社保卡信息
            p.setSicardStatus(1);
@ -475,7 +477,9 @@ public class OnePayService {
                //保存到患者表
                Patient p = patientDao.findByCode(patient);
                p.setOpenid(openid);
                if(!"undefined".equals(openid)){
                    p.setOpenid(openid);
                }
//            增加绑定电子社保卡信息
                p.setSicardTime(new Date());
                patientDao.save(p);

+ 5 - 1
patient-co/patient-co-doctor-assistant/src/main/java/com/yihu/wlyy/web/common/account/LoginController.java

@ -114,6 +114,10 @@ public class LoginController extends BaseController {
                         @ApiParam(required = false, name = "platform", value = "医生端pc,取药系统 或者对外系统") @RequestParam(required = false) Integer platform,
                         @ApiParam(required = false, name = "password", value = "密码") @RequestParam(required = false) String password,
                         @ApiParam(required = false, name = "openid", value = "openid") @RequestParam(required = false) String openid) {
        if(StringUtils.isNotBlank(openid)&&"undefined".equals(openid)){
            return error(-1, "openid参数不合法");
        }
        String errorMessage;
        LoginLog loginLog = new LoginLog();
        loginLog.setCreateTime(new Date());
@ -253,7 +257,7 @@ public class LoginController extends BaseController {
                    }
                    loginLogService.saveLog(loginLog);
                    if(StringUtils.isNotBlank(openid)){
                    if(!"undefined".equals(openid)&&StringUtils.isNotBlank(openid)){
                        doctor.setOpenid(openid);
                        doctorService.save(doctor);
                    }

+ 1 - 1
patient-co/patient-co-doctor-assistant/src/main/java/com/yihu/wlyy/web/common/account/WechatController.java

@ -263,7 +263,7 @@ public class WechatController extends WeixinBaseController {
            password = StringUtils.reverse(password);
            patient.setPassword(MD5.GetMD5Code(password + salt));
            patient.setSsc(ssc);
            if (!org.springframework.util.StringUtils.isEmpty(openid)) {
            if (!org.springframework.util.StringUtils.isEmpty(openid)&&!"undefined".equals(openid)) {
                patient.setOpenid(openid);
                patient.setOpenidTime(new Date());
            }

+ 1 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/label/SignPatientLabelInfoService.java

@ -1777,6 +1777,7 @@ public class SignPatientLabelInfoService extends BaseService {
     * @param custom      自定义标签
     * @return
     */
    @Deprecated
    public int setPatientLabels(String patient, String idcard, String patientName, String health, String disease, String custom, String doctor, String caller) {
        Patient p = patientDao.findByCode(patient);

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

@ -325,7 +325,7 @@ public class FamilyContractService extends BaseService {
     * @param patient 患者标识
     * @return
     */
    public JSONObject findDoctorMainPage(String patient, String doctor) {
        public JSONObject findDoctorMainPage(String patient, String doctor) {
        JSONObject json = new JSONObject();
        // 查询医生基本信息
        Doctor d = doctorDao.findByCode(doctor);
@ -1680,11 +1680,13 @@ public class FamilyContractService extends BaseService {
            return result;
        }
        // 患者标签设置
        if (!(labelInfoService.setPatientLabels(p.getCode(), p.getIdcard(),
                p.getName(), healthLabel, disease, customLabel, sf.getDoctor(), caller) == 1)) {
            throw new Exception("patient sign label settting error:" + p.getIdcard());
        }
        // 患者标签设置1.4.9.1
        labelInfoService.resetPatientLabels(p.getCode(),healthLabel,disease,customLabel);
//        if (!(labelInfoService.setPatientLabels(p.getCode(), p.getIdcard(),
//                p.getName(), healthLabel, disease, customLabel, sf.getDoctor(), caller) == 1)) {
//            throw new Exception("patient sign label settting error:" + p.getIdcard());
//        }
        // 推送消息消息给微信端
        if (type == 1) {
@ -3961,6 +3963,145 @@ public class FamilyContractService extends BaseService {
        return 1;
    }
    public int signRenewHealth(String doctor, String patient, String reason, String countryCode,String medicareNumber,String sevId) throws Exception {
        Patient p = patientDao.findByCode(patient);
        if (p == null) {
            return -1;
        }
        //1.4.2 设置医疗卡号
        setPatientMedicareNo(patient,medicareNumber);
        Doctor d = doctorDao.findByCode(doctor);
        if (d == null) {
            return -3;
        }
        List<SignFamily> res = signFamilyDao.findByDoctorAndPatientHossPost(patient, DateUtil.getSignYear() + "");
        if (res != null && res.size() > 0) {
            return -2;
        }
        SignFamily sf = new SignFamily();
        String sql = "SELECT t.doctor,t.team_code teamCode,t.admin_team_code adminTeamCode,t.mobile FROM wlyy_sign_family t WHERE t.patient ='" + patient + "' AND t.status=-4 AND t.expenses_status='1' AND t.sign_year ='" + (DateUtil.getSignYear() - 1) + "'";
        List<Map<String, Object>> signs = jdbcTemplate.queryForList(sql);
        if (signs == null || signs.size() == 0) {
            return -4;
        }
        Map<String, Object> sign = signs.get(0);
        //判断续签医生是否一致
        if (doctor.equals(sign.get("doctor"))) {
            //如果一致保存团队信息
            sf.setRenewFlag("1");
            sf.setTeamCode((String) sign.get("teamCode"));
            Integer c = (Integer) sign.get("adminTeamCode");
            sf.setAdminTeamId(c.longValue());
        } else {
            //如果不一致 查看医生团队
            sf.setRenewFlag("2");
        }
        sf.setCode(getCode());
        sf.setCzrq(new Date());
        sf.setPatientApplyDate(new Date());
        if (d != null) {
            sf.setDoctorHealth(doctor);
            sf.setDoctorHealthName(d.getName());
        }
        sf.setMobile((String) sign.get("mobile"));
        sf.setName(p.getName());
        sf.setIdcard(p.getIdcard());
        sf.setOpenid(p.getOpenid());
        sf.setPatient(patient);
        sf.setHospital(d.getHospital());
        sf.setHospitalName(d.getHospitalName());
        sf.setSsc(p.getSsc());
        sf.setStatus(0);//0为初始状态
        sf.setType(2);// 设置为家庭签约
        sf.setSignType("1");//用户申请
        sf.setSignSource("2");//签约来源【1 社区签约 2 移动签约】
        //******************扣费接口**********************/
        sf.setExpensesStatus("0");   //扣费状态 【0未扣费 1已扣费 2已退费】
        sf.setSignYear(DateUtil.getSignYear() + "");
        //sf.setBegin(DateUtil.stringToDate(DateUtil.getSignYear() + "-07-01 00:00:00", "yyyy-MM-dd HH:mmm:ss"));
        sf.setBegin(new Date());
        sf.setEnd(DateUtil.stringToDate(DateUtil.getSignYear() + 1 + "-06-30 23:59:59", "yyyy-MM-dd HH:mmm:ss"));
        if (StringUtils.isNotBlank(reason)) {
            sf.setRenewChangeReason(reason);
        }
        //1.3.5新增居委会字段
        signWebService.setPatientCountryFamily(countryCode, sf);
        SignFamily temp = signFamilyDao.save(sf);
        //设置居民服务类型
        //1.4.9.1版本
        signWebService.setSevId(temp,sevId);
        if (temp != null) {
            // 添加签约消息
            Message message = new Message();
            message.setCzrq(new Date());
            message.setCreateTime(new Date());
            message.setContent("您有一条新的家庭医生续签申请!");
            message.setRead(1);//设置未读
            message.setReceiver(doctor);//设置接受医生的code
            message.setSender(patient);//设置发送的用户
            message.setSenderName(p.getName());
            message.setCode(getCode());
            message.setSenderPhoto(p.getPhoto());
            message.setTitle("家庭续签申请");
            message.setType(1);//家庭签约信息
            message.setReadonly(1);//是否只读消息
            if ("1".equals(sf.getRenewFlag())) {
                message.setSignStatus("8");//续签
            } else {
                message.setSignStatus("9");//改签
            }
            //message.setSignStatus("1");//过期以后,变为1为签约
            message.setSex(p.getSex());
            message.setOver("1");//未处理
            message.setData(sf.getCode());
            messageDao.save(message);
            if(messageService.getMessageNoticeSettingByMessageType(doctor,"1",MessageNoticeSetting.MessageTypeEnum.signSwitch.getValue())){
                // 发送消息给医生
                JSONObject jsonObject = doctorWorkTimeService.isDoctorWorking(doctor);
                if (jsonObject.getString("status").equals("1")) {
                    //如果在工作时间内就推送
                    pushMsgTask.put(doctor, MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.D_SW_01.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.家庭签约.name(), p.getName() + "申请与您续签家庭医生", patient);
                }
                //            新增发送医生助手模板消息 v1.4.0 by wujunjie
                if (StringUtils.isNotEmpty(d.getOpenid())){
                    String url = doctorAssistant + "/wlyy/feldsher/sendDoctorTemplates";
                    List<NameValuePair> params = new ArrayList<>();
                    params.add(new BasicNameValuePair("type", "5"));
                    params.add(new BasicNameValuePair("openId", d.getOpenid()));
                    params.add(new BasicNameValuePair("url", targetUrl));
                    params.add(new BasicNameValuePair("first", d.getName() + "医生您好,你有一条新的签约申请待处理"));
                    params.add(new BasicNameValuePair("remark", "请尽快使用厦门i健康APP处理居民的签约申请"));
                    SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
                    String date = format.format(new Date());
                    String keywords = date + "," + p.getName();
                    params.add(new BasicNameValuePair("keywords", keywords));
                    httpClientUtil.post(url, params, "UTF-8");
                }
            }
        }
        return 1;
    }
    /**
     * @param code
     * @return

+ 286 - 76
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/SignWebService.java

@ -1896,11 +1896,6 @@ public class SignWebService extends BaseService {
                                 String expenses,
                                 String refuseReason) throws Exception {
//        List<SignFamily> renews = signFamilyDao.findByDoctorAndPatientOverDue(dotorCode, patientCode, signYear);
//
//        if (renews == null || renews.size() == 0) {
//            renews = signFamilyDao.findByDoctorHealthAndPatient(dotorCode, patientCode, signYear);
//        }
        SignFamily renew = signFamilyDao.findByCode(signCode);
        if (renew != null) {
@ -2063,6 +2058,180 @@ public class SignWebService extends BaseService {
        return 1;
    }
    /**
     * 1.4.9.1健管师同意流程
     * 健康管理师同意流程
     * @param access_token 微信登录证明
     * @param dotorCode  当前登录医生
     * @param patientCode 患者code
     * @param state 同意状态
     * @param mesId 消息id
     * @param signCode 签约code
     * @param health 健康情况多条“,”分隔
     * @param disease 疾病类型 格式同上
     * @param custom 普通标签 格式同上
     * @param sevId 服务类型
     * @param doctor 全科医生编码
     * @param teamCode 团队
     * @param expenses 收费类别
     * @param refuseReason 拒绝原因
     * @return
     * @throws Exception
     */
    public int agreeRenewHealth(String access_token, String dotorCode, String patientCode, String state, Long mesId, String signCode, String health,
                                 String disease,
                                 String custom,
                                 String sevId, String doctor,
                                 Long teamCode,
                                 String expenses,
                                 String refuseReason) throws Exception {
        SignFamily renew = signFamilyDao.findByCode(signCode);
        if (renew != null) {
            int status = renew.getStatus();
            if (status == 0) {
                if (StringUtils.isNotBlank(state)) {
                    if ("0".equals(state)) {
                        renew.setStatus(-2);
                        renew.setRefuseSpeak(refuseReason);
                    } else if ("1".equals(state)) {
                        renew.setStatus(1);
                        //1.3.3.2新增需求
                        //设置居民服务类型
                        setSevId(renew, sevId);
                        //1.3.3.2新增需求
                        //设置居民标签
                        signPatientLabelInfoService.resetPatientLabels(renew.getPatient(), health, disease, custom);
                        //1.4.9.1 建管师分配医生
                        if (StringUtils.isNotBlank(doctor)) {
                            setSignFamilyDoctor(renew, doctor);
                        }
                        //1.3.3.2设置新团队
                        if (teamCode != null && teamCode != 0) {
                            renew.setAdminTeamId(teamCode);
                        }
                        renew.setExpensesType(StringUtils.isEmpty(expenses) ? "01" : expenses);//收费类别
                    }
                }
                renew.setApplyDate(new Date());
                //1.3.3.4 根据团队设置标识
                setRenewFlag(renew, teamCode);
                signFamilyDao.save(renew);
                //消息设为已读
                setMessState(mesId);
                if ("1".equals(state)) {
                    setRenewLog(renew);
                }
                //发送微信模板消息
                JSONObject data = new JSONObject();
                data.put("doctorName", renew.getDoctorName());
                data.put("date", DateUtil.dateToStr(new Date(), "yyyy-MM-dd"));
                data.put("doctor", dotorCode);
                data.put("toUser", patientCode);
                data.put("represented", patientCode);
                data.put("toName", renew.getName());
                data.put("isRenew", "1");//表示为续签操作
                data.put("signCode", signCode);
                Patient patient = patientService.findByCode(renew.getPatient());
                if (patient != null && StringUtils.isNotBlank(patient.getOpenid())) {
                    data.put("agent","0");
                    if ("0".equals(state)) {
                        if (StringUtils.isNotEmpty(refuseReason)){
                            data.put("content", refuseReason);
                        }else {
                            data.put("content", "家庭医生续签");
                        }
                        WechatTemplateConfig templateConfig = templateConfigDao.findByScene("template_sign_failed","failed");
                        String first = templateConfig.getFirst();
                        first = first.replace("key1",(renew.getName()==null?"":renew.getName())).replace("br","\n");
                        String remark = templateConfig.getRemark();
                        data.put("first", first);
                        data.put("remark", remark);
                        pushMsgTask.putWxMsg(access_token, 2, patient.getOpenid(), patient.getName(), data);
                    } else if ("1".equals(state)) {
                        WechatTemplateConfig templateConfig = templateConfigDao.findByScene("template_sign_success","success");
                        String first = templateConfig.getFirst();
                        first = first.replace("key1",(renew.getName()==null?"":renew.getName())).replace("br","\n");
                        String remark = templateConfig.getRemark();
                        String keyword4 = templateConfig.getKeyword4();
                        data.put("first", first);
                        data.put("remark", remark);
                        data.put("content", keyword4);
                        pushMsgTask.putWxMsg(access_token, 1, patient.getOpenid(), patient.getName(), data);
                    }
                }else {
                    //发送代理人
                    JSONArray jsonArray = weiXinOpenIdUtils.getAgentOpenId(patient.getCode(), patient.getOpenid());
                    data.put("agent","1");
                    if (jsonArray != null && jsonArray.length() > 0) {
                        for (int i = 0; i < jsonArray.length(); i++) {
                            JSONObject j = jsonArray.getJSONObject(i);
                            Patient member = (Patient) j.get("member");
                            data.remove("toUser");
                            data.put("toUser", member.getCode());
                            //String first = (String) json.get("first");
                            if ("0".equals(state)) {
                                WechatTemplateConfig templateConfig = templateConfigDao.findByScene("template_sign_failed","failed");
                                String first = templateConfig.getFirst();
                                first = first.replace("key1",(patient.getName()==null?"":patient.getName())).replace("br","\n");
                                String remark = templateConfig.getRemark();
                                data.put("first", weiXinOpenIdUtils.getTitleMes(patient, (int) j.get("relation"), patient.getName()) + "\n" + first);
                                data.put("remark", remark);
                                pushMsgTask.putWxMsg(access_token, 2, member.getOpenid(), patient.getName(), data);
                            } else if ("1".equals(state)) {
                                WechatTemplateConfig templateConfig = templateConfigDao.findByScene("template_sign_success","success");
                                String first = templateConfig.getFirst();
                                first = first.replace("key1",(patient.getName()==null?"":patient.getName())).replace("br","\n");
                                String remark = templateConfig.getRemark();
                                data.put("first", weiXinOpenIdUtils.getTitleMes(patient, (int) j.get("relation"), patient.getName()) + "\n" + first);
                                data.put("remark", remark);
                                pushMsgTask.putWxMsg(access_token, 1, member.getOpenid(), patient.getName(), data);
                            }
                        }
                    }
                }
            } else if (status == 1) {
                //已经同意
                return 2;
            } else if (status == -1) {
                //已拒绝
                return 3;
            } else if (status == -2) {
                //已拒绝
                return 4;
            } else if (status == -3) {
                //已解约
                return 5;
            } else if (status == -4) {
                //已到期
                return 6;
            } else {
                //已取消
                return 7;
            }
        } else {
            return 0;
        }
        return 1;
    }
    /**
     * 获取年度列表
     * 团队
@ -2626,85 +2795,126 @@ public class SignWebService extends BaseService {
        renew.setDoctorHealth(hd.getCode());
    }
    public void setSignFamilyDoctor(SignFamily renew, String doctor) {
        Doctor d = doctorDao.findByCode(doctor);
        //设置签约医生
        renew.setDoctor(doctor);
        renew.setDoctorName(d.getName());
        renew.setSignDoctorCode(doctor);
        renew.setSignDoctorName(d.getName());
        //创建团队
        DoctorTeam t = new DoctorTeam();
        String code = getCode();
        t.setCode(code);
        t.setName(renew.getDoctorName() + "," + d.getName() + "," + renew.getName());
        t.setSignType("2");
        t.setDel("1");
        t.setCzrq(new Date());
        //新建健康管理师
        DoctorTeamMember hdmb = new DoctorTeamMember();
        hdmb.setName(renew.getDoctorHealthName());
        hdmb.setMemberCode(renew.getDoctorHealth());
        hdmb.setCode(getCode());
        hdmb.setDel("1");
        hdmb.setCzrq(new Date());
        hdmb.setTeam(code);
        hdmb.setType(3);
        hdmb.setSignType("2");
        //新建全科医生成员
        DoctorTeamMember dmb = new DoctorTeamMember();
        dmb.setName(renew.getDoctorName());
        dmb.setMemberCode(renew.getDoctor());
        dmb.setCode(getCode());
        dmb.setDel("1");
        dmb.setCzrq(new Date());
        dmb.setTeam(code);
        dmb.setType(2);
        dmb.setSignType("2");
        //新建居民成员
        DoctorTeamMember pmb = new DoctorTeamMember();
        pmb.setName(renew.getName());
        pmb.setMemberCode(renew.getPatient());
        pmb.setCode(getCode());
        pmb.setDel("1");
        pmb.setCzrq(new Date());
        pmb.setTeam(code);
        pmb.setType(5);
        pmb.setSignType("2");
        //新增团队成员
        doctorTeamMemberDao.save(hdmb);
        doctorTeamMemberDao.save(dmb);
        doctorTeamMemberDao.save(pmb);
        //保存团队
        doctorTeamDao.save(t);
        return ;
    }
    public void updateHealthDoctor(SignFamily renew, String healthDoctor) {
        DoctorTeam team = doctorTeamDao.findByCode(renew.getTeamCode());
        if (StringUtils.isNotBlank(renew.getDoctorHealth())) {
            //删除之前健管师成员
            doctorTeamMemberDao.deleteMember(renew.getDoctorHealth());
        }
        Doctor hd = doctorDao.findByCode(healthDoctor);
        if (hd == null) {
            return;
        }
        if(team!=null){
            team.setName(renew.getDoctorName() + "," + hd.getName() + "," + renew.getName());
            //新建健康管理师
            DoctorTeamMember hdmb = new DoctorTeamMember();
            hdmb.setName(hd.getName());
            hdmb.setMemberCode(healthDoctor);
            hdmb.setCode(getCode());
            hdmb.setDel("1");
            hdmb.setCzrq(new Date());
            hdmb.setTeam(team.getCode());
            hdmb.setType(3);
            hdmb.setSignType("2");
            //新增团队成员
            doctorTeamMemberDao.save(hdmb);
            //保存团队
            doctorTeamDao.save(team);
        }else{
            //创建团队
            DoctorTeam t = new DoctorTeam();
            String code = getCode();
            t.setCode(code);
            t.setName(renew.getDoctorName() + "," + hd.getName() + "," + renew.getName());
            t.setSignType("2");
            t.setDel("1");
            t.setCzrq(new Date());
            //新建健康管理师
            DoctorTeamMember hdmb = new DoctorTeamMember();
            hdmb.setName(hd.getName());
            hdmb.setMemberCode(healthDoctor);
            hdmb.setCode(getCode());
            hdmb.setDel("1");
            hdmb.setCzrq(new Date());
            hdmb.setTeam(code);
            hdmb.setType(3);
            hdmb.setSignType("2");
            //新建全科医生成员
            DoctorTeamMember dmb = new DoctorTeamMember();
            dmb.setName(renew.getDoctorName());
            dmb.setMemberCode(renew.getDoctor());
            dmb.setCode(getCode());
            dmb.setDel("1");
            dmb.setCzrq(new Date());
            dmb.setTeam(code);
            dmb.setType(2);
            dmb.setSignType("2");
            //新建居民成员
            DoctorTeamMember pmb = new DoctorTeamMember();
            pmb.setName(renew.getName());
            pmb.setMemberCode(renew.getPatient());
            pmb.setCode(getCode());
            pmb.setDel("1");
            pmb.setCzrq(new Date());
            pmb.setTeam(code);
            pmb.setType(5);
            pmb.setSignType("2");
            //新增团队成员
            doctorTeamMemberDao.save(hdmb);
            doctorTeamMemberDao.save(dmb);
            doctorTeamMemberDao.save(pmb);
            //保存团队
            doctorTeamDao.save(t);
        }
        //创建团队
        DoctorTeam t = new DoctorTeam();
        String code = getCode();
        t.setCode(code);
        t.setName(renew.getDoctorName() + "," + hd.getName() + "," + renew.getName());
        t.setSignType("2");
        t.setDel("1");
        t.setCzrq(new Date());
        //新建健康管理师
        DoctorTeamMember hdmb = new DoctorTeamMember();
        hdmb.setName(hd.getName());
        hdmb.setMemberCode(healthDoctor);
        hdmb.setCode(getCode());
        hdmb.setDel("1");
        hdmb.setCzrq(new Date());
        hdmb.setTeam(code);
        hdmb.setType(3);
        hdmb.setSignType("2");
        //新建全科医生成员
        DoctorTeamMember dmb = new DoctorTeamMember();
        dmb.setName(renew.getDoctorName());
        dmb.setMemberCode(renew.getDoctor());
        dmb.setCode(getCode());
        dmb.setDel("1");
        dmb.setCzrq(new Date());
        dmb.setTeam(code);
        dmb.setType(2);
        dmb.setSignType("2");
        //新建居民成员
        DoctorTeamMember pmb = new DoctorTeamMember();
        pmb.setName(renew.getName());
        pmb.setMemberCode(renew.getPatient());
        pmb.setCode(getCode());
        pmb.setDel("1");
        pmb.setCzrq(new Date());
        pmb.setTeam(code);
        pmb.setType(5);
        pmb.setSignType("2");
        //新增团队成员
        doctorTeamMemberDao.save(hdmb);
        doctorTeamMemberDao.save(dmb);
        doctorTeamMemberDao.save(pmb);
        //保存团队
        doctorTeamDao.save(t);
        renew.setTeamCode(code);
        renew.setDoctorHealthName(hd.getName());
        renew.setDoctorHealth(hd.getCode());
    }

+ 2 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/account/WechatController.java

@ -440,7 +440,8 @@ public class WechatController extends WeixinBaseController {
                //判断d登录密码是否正确
                if (loginPassword.equals(p.getPassword())) {
                    // 绑定用户手机号和openid
                    if (StringUtils.isNotBlank(openid) && !"undefined".equals(openid)) {//undefined不更新数据库
                    if (StringUtils.isNotBlank(openid) && !"undefined".equals(openid)) {
                        //undefined不更新数据库
                        //patient.setOpenid(openid);
                        //1.判斷居民OPenid是不是空
                        if (StringUtils.isNotBlank(p.getOpenid())) {

+ 17 - 4
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/sign/DoctorSignController.java

@ -1,11 +1,13 @@
package com.yihu.wlyy.web.doctor.sign;
import com.yihu.wlyy.aop.ObserverRequired;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.service.app.account.DoctorInfoService;
import com.yihu.wlyy.service.app.account.PatientInfoService;
import com.yihu.wlyy.service.app.sign.FamilyContractService;
import com.yihu.wlyy.service.app.sign.SignWebService;
import com.yihu.wlyy.service.common.account.DoctorService;
import com.yihu.wlyy.service.common.account.PatientService;
import com.yihu.wlyy.service.third.jw.JwSignService;
import com.yihu.wlyy.util.CommonUtil;
@ -37,8 +39,6 @@ import java.util.*;
@Api(description = "医生端-签约管理")
public class DoctorSignController extends WeixinBaseController {
    //	@Autowired
//	private SignContractService signContractService;
    @Autowired
    private PatientInfoService patientInfoService;
    @Autowired
@ -56,6 +56,8 @@ public class DoctorSignController extends WeixinBaseController {
    private PatientService patientService;
    @Autowired
    private FamilyContractService familyContractService;
    @Autowired
    private DoctorService doctorService;
    @RequestMapping(value = "getPatientFamilyServer",method = RequestMethod.GET)
    @ResponseBody
@ -507,11 +509,22 @@ public class DoctorSignController extends WeixinBaseController {
                             @RequestParam(required = false) String healthDoctor,
                             @RequestParam(required = false) Long teamCode,
                             @RequestParam(required = false) String expenses,
                             @RequestParam(required = false) String refuseReason) {
                             @RequestParam(required = false) String refuseReason,
                             @RequestParam(required = false) String doctor) {
        try {
            //屏蔽了预签约
            int rs = 0;
            rs = signWebService.agreeRenewOverDue(getAccessToken(), getUID(), patient, state, mesId, "", signCode, health, disease, custom, sevId, healthDoctor, teamCode, expenses, refuseReason);
            //1.4.9.1新增健康管理师同意签约流程,判断当前登录的
            Doctor d = doctorService.findDoctorByCode(getUID());
            if(d.getLevel()==2){
                //全科医生处理,分配健管师及团队
                rs = signWebService.agreeRenewOverDue(getAccessToken(), getUID(), patient, state, mesId, "", signCode, health, disease, custom, sevId, healthDoctor, teamCode, expenses, refuseReason);
            }else if(d.getLevel() ==3){
                //建管师处理,分配全科医生及团队
                rs = signWebService.agreeRenewHealth(getAccessToken(), getUID(), patient, state, mesId,signCode, health, disease, custom, sevId, doctor, teamCode, expenses, refuseReason);
            }
            if (rs != 1) {
                //设置代码为已读
                signWebService.setMessState(mesId);

+ 6 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/sign/FamilyContractController.java

@ -499,7 +499,12 @@ public class FamilyContractController extends WeixinBaseController {
//                result = familyContractService.signRenewOverdue(doctor,healthDoctor,patient,reason,countryCode,medicareNumber);
//            }
            int result = -1;
            result = familyContractService.signRenewOverdue(doctor,healthDoctor,patient,reason,countryCode,medicareNumber,sevId);
            Doctor d = doctorService.findDoctorByCode(doctor);
            if(d.getLevel()==2){
                result = familyContractService.signRenewOverdue(doctor,healthDoctor,patient,reason,countryCode,medicareNumber,sevId);
            }else if(d.getLevel()==3){
                result = familyContractService.signRenewHealth(doctor,patient,reason,countryCode,medicareNumber,sevId);
            }
            if (result == -1) {
                return error(-1, "用户信息查询失败");

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/wechat/process/WeiXinEventProcess.java

@ -880,7 +880,7 @@ public class WeiXinEventProcess {
        articleConsult.put("Url", url);
        articleConsult.put("Title", "您有一个开通专科服务的邀请,点击查看");
        articleConsult.put("Description", "家庭医生协助专科医生团队为您提供专项服务");
        articleConsult.put("PicUrl", picUrlConsult);
        articleConsult.put("PicUrl", "http://172.19.103.54/group1/M00/0E/F6/rBFuWltXz9mAREmZAALp-xsC9nA897.png");
        articles.add(articleConsult);
    }