Explorar o código

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

chenweida %!s(int64=8) %!d(string=hai) anos
pai
achega
f8b86a1799

+ 7 - 1
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/message/NoticeJob.java

@ -73,7 +73,13 @@ public class NoticeJob implements Job {
                String noticeContent1 = " 您当前有[zxsize]条未处理消息,其中[qysize]为条签约消息。请尽快处理~";
                String noticeContent2 = " 您当前有[zxsize]条未处理消息,请尽快处理~";
                String noticeContent3 = " 您当前有[qysize]条签约消息待处理,请尽快处理~";
                if ("1".equals(doctorWorkTimeService.isDoctorWorking(doctor.getCode(), -1).get("status"))) {
                String workTime = "";
                try {
                    workTime = doctorWorkTimeService.isDoctorWorking(doctor.getCode(), -1).getString("status");
                } catch (Exception e) {
                }
                if ("1".equals(workTime)) {
                    //得到医生多少条咨询消息
                    Integer zxsize = getDoctorMesssageCount(doctor.getCode(), 1);
                    //得到医生多少条签约消息

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

@ -14,6 +14,7 @@ import com.yihu.wlyy.entity.doctor.team.sign.DoctorPatientGroup;
import com.yihu.wlyy.entity.doctor.team.sign.DoctorPatientGroupInfo;
import com.yihu.wlyy.entity.doctor.team.sign.DoctorTeam;
import com.yihu.wlyy.entity.doctor.team.sign.DoctorTeamMember;
import com.yihu.wlyy.entity.log.OperatorLog;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.entity.patient.SignFamily;
import com.yihu.wlyy.entity.patient.WlyyPatientSick;
@ -27,6 +28,7 @@ import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.repository.doctor.DoctorPatientGroupInfoDao;
import com.yihu.wlyy.repository.doctor.DoctorTeamDao;
import com.yihu.wlyy.repository.doctor.DoctorTeamMemberDao;
import com.yihu.wlyy.repository.log.OperatorLogDao;
import com.yihu.wlyy.repository.patient.PatientDao;
import com.yihu.wlyy.repository.patient.PatientSickDao;
import com.yihu.wlyy.repository.patient.SignFamilyDao;
@ -105,6 +107,8 @@ public class DoctorInfoService extends BaseService {
    TalkGroupService talkGroupService;
    @Autowired
    WeiXinAccessTokenUtils accessTokenUtils;
    @Autowired
    protected OperatorLogDao operatorLogDao;
    /**
     * 获取医生的签约病人
@ -735,7 +739,7 @@ public class DoctorInfoService extends BaseService {
                        continue;
                    }
                }
                JSONObject iswork = workTimeService.isDoctorWorking(doc.getCode());
                JSONObject iswork = type == 1 ? workTimeService.isFamousDoctorWorking(doc.getCode()) : workTimeService.isDoctorWorking(doc.getCode());
                if (iswork.getString("status").equals("1")) {
                    workingDoctor.add(doc);
                }
@ -821,8 +825,6 @@ public class DoctorInfoService extends BaseService {
            }
        }
        Doctor newD = doctorDao.findByCode(newDoctorCode);
        String oldDoctorHealthName = signFamily.getDoctorHealthName();
        //修改签约中的健康管理师
        signFamily.setDoctorHealth(newD.getCode());
        signFamily.setDoctorHealthName(newD.getName());
@ -841,41 +843,39 @@ public class DoctorInfoService extends BaseService {
        Patient p = patientDao.findByCode(patient);
        JSONObject data = new JSONObject();
        if(StringUtils.isNotEmpty(oldDoctorCode)) {
            data.put("toUser", patient);
            data.put("doctor", newD.getCode());
            data.put("doctorName", newD.getName());
            data.put("first", p.getName() + ",您好!因签约团队内分工调整,您的责任医生有变动," + oldDoctorHealthName +
        if (StringUtils.isNotEmpty(oldDoctorCode)) {
            data.put("first", "因签约团队内分工调整,您的责任医生有变动," + signFamily.getDoctorHealthName() +
                    "医生无法继续为您服务,具体变动如下:");
            data.put("keyword1", "家庭医生");
            data.put("keyword1", "家庭签约");
            data.put("keyword2", newD.getName());
            if (StringUtils.isEmpty(signFamily.getDoctor()) || signFamily.getDoctorHealth().equals(signFamily.getDoctor())) {
                data.put("remark", newD.getName() + "医生将专门为您提供优质健康服务");
            } else {
                data.put("remark", newD.getName() + "医生与" + signFamily.getDoctorName() + "医生一道,为您提供优质健康服务");
            }
            data.put("remark", signFamily.getDoctorName() + "医生与" + newD.getName() +
                    "医生一道,为您提供优质健康服务");
        } else {
            data.put("toUser", patient);
            data.put("doctor", newD.getCode());
            data.put("doctorName", newD.getName());
            data.put("first", p.getName() + ",您好!您的签约团队已为您新增一位责任医生,医生信息如下:");
            data.put("keyword1", "家庭医生");
            data.put("first", "您的签约团队新增一位责任医生,其将与" + signFamily.getDoctorName() +
                    "医生一道,为您提供优质健康管理服务,医生信息如下:");
            data.put("keyword1", "家庭签约");
            data.put("keyword2", newD.getName());
            if (StringUtils.isEmpty(signFamily.getDoctor()) || signFamily.getDoctorHealth().equals(signFamily.getDoctor())) {
                data.put("remark", newD.getName() + "医生将专门为您提供优质的健康服务");
            } else {
                data.put("remark", newD.getName() + "医生与" + signFamily.getDoctorName() + "医生一道,为您提供优质健康服务");
            }
        }
        PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 10, p.getOpenid(), p.getName(), data);
    }
    @Transactional
    public void updateTeamHealthDoctors(String newDoctorCode, String oldDoctorCode, String patients) throws Exception {
    public void updateTeamHealthDoctors(String newDoctorCode, String oldDoctorCode, String patients, String loginUser) throws Exception {
        String[] patiensString = patients.split(",");
        for (int i = 0; i < patiensString.length; i++) {
            updateTeamHealthDoctor(newDoctorCode, oldDoctorCode, patiensString[i]);
        }
        OperatorLog operatorLog = new OperatorLog();
        operatorLog.setCreateTime(new Date());
        operatorLog.setMethod("/doctor/updateTeamHealthDoctors");
        operatorLog.setMethodName("转换团队中的健康管理师");
        operatorLog.setCreateUser(loginUser);
        JSONObject jo = new JSONObject();
        jo.put("newDoctorCode", newDoctorCode);
        jo.put("oldDoctorCode", oldDoctorCode);
        jo.put("patients", patients);
        operatorLog.setParams(jo.toString());
        operatorLogDao.save(operatorLog);
    }
    @Transactional
@ -924,17 +924,10 @@ public class DoctorInfoService extends BaseService {
        Patient p = patientDao.findByCode(patient);
        JSONObject data = new JSONObject();
        data.put("toUser", patient);
        data.put("doctor", newD.getCode());
        data.put("doctorName", newD.getName());
        data.put("first", p.getName() + ",您好!您的签约团队已为您新增一位责任医生,医生信息如下:");
        data.put("keyword1", "家庭医生");
        data.put("first", "您的签约团队新增一位责任医生,其将与" + signFamily.getDoctorName() +
                "医生一道,为您提供优质健康管理服务,医生信息如下:");
        data.put("keyword1", "家庭签约");
        data.put("keyword2", newD.getName());
        if (StringUtils.isEmpty(signFamily.getDoctor()) || signFamily.getDoctorHealth().equals(signFamily.getDoctor())) {
            data.put("remark", newD.getName() + "医生将专门为您提供优质的健康服务");
        } else {
            data.put("remark", newD.getName() + "医生与" + signFamily.getDoctorName() + "医生一道,为您提供优质健康服务");
        }
        PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 10, p.getOpenid(), p.getName(), data);
        return 1;
@ -1045,11 +1038,22 @@ public class DoctorInfoService extends BaseService {
    }
    @Transactional
    public void updateTeamDoctors(String newDoctorCode, String oldDoctorCode, String patients) throws Exception {
    public void updateTeamDoctors(String newDoctorCode, String oldDoctorCode, String patients, String loginUser) throws Exception {
        String[] patiensString = patients.split(",");
        for (int i = 0; i < patiensString.length; i++) {
            updateTeamDoctor(newDoctorCode, oldDoctorCode, patiensString[i]);
        }
        OperatorLog operatorLog = new OperatorLog();
        operatorLog.setCreateTime(new Date());
        operatorLog.setMethod("/doctor/updateTeamDoctors");
        operatorLog.setMethodName("转换团队中的全科医生");
        operatorLog.setCreateUser(loginUser);
        JSONObject jo = new JSONObject();
        jo.put("newDoctorCode", newDoctorCode);
        jo.put("oldDoctorCode", oldDoctorCode);
        jo.put("patients", patients);
        operatorLog.setParams(jo.toString());
        operatorLogDao.save(operatorLog);
    }
    private void updateTeamDoctor(String newDoctorCode, String oldDoctorCode, String patient) throws Exception {
@ -1068,7 +1072,6 @@ public class DoctorInfoService extends BaseService {
        }
        Doctor newD = doctorDao.findByCode(newDoctorCode);
        String oldDoctorName = signFamily.getDoctorName();
        //修改签约中的全科医生
        signFamily.setDoctor(newD.getCode());
        signFamily.setDoctorName(newD.getName());
@ -1087,20 +1090,13 @@ public class DoctorInfoService extends BaseService {
        Patient p = patientDao.findByCode(patient);
        JSONObject data = new JSONObject();
        data.put("toUser", patient);
        data.put("doctor", newD.getCode());
        data.put("doctorName", newD.getName());
        data.put("first", p.getName() + ",您好!因签约团队内分工调整,您的责任医生有变动," + oldDoctorName +
        data.put("first", "因签约团队内分工调整,您的责任医生有变动," + signFamily.getDoctorName() +
                "医生无法继续为您服务,具体变动如下:");
        data.put("keyword1", "家庭医生");
        data.put("keyword1", "家庭签约");
        data.put("keyword2", newD.getName());
        if (StringUtils.isEmpty(signFamily.getDoctorHealth()) || signFamily.getDoctor().equals(signFamily.getDoctorHealth())) {
            data.put("remark", newD.getName() + "医生将专门为您提供优质健康服务");
        } else {
            data.put("remark", newD.getName() + "医生与" + signFamily.getDoctorHealthName() + "医生一道,为您提供优质健康服务");
        }
        data.put("remark", newD.getName() + "医生" +
                (StringUtils.isNotEmpty(signFamily.getDoctorHealthName()) ? ("与" + signFamily.getDoctorHealthName() + "医生一道") : "") +
                ",为您提供优质健康服务");
        PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 10, p.getOpenid(), p.getName(), data);
    }
}

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

@ -5,6 +5,7 @@ import java.util.*;
import com.yihu.wlyy.entity.consult.ConsultTeam;
import com.yihu.wlyy.entity.doctor.team.admin.AdminTeam;
import com.yihu.wlyy.entity.doctor.team.sign.*;
import com.yihu.wlyy.entity.log.OperatorLog;
import com.yihu.wlyy.entity.organization.Hospital;
import com.yihu.wlyy.entity.dict.SystemDict;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
@ -17,6 +18,7 @@ import com.yihu.wlyy.entity.patient.SignFamilyCode;
import com.yihu.wlyy.repository.consult.ConsultTeamDao;
import com.yihu.wlyy.repository.dict.SystemDictDao;
import com.yihu.wlyy.repository.doctor.*;
import com.yihu.wlyy.repository.log.OperatorLogDao;
import com.yihu.wlyy.repository.message.MessageDao;
import com.yihu.wlyy.repository.organization.HospitalDao;
import com.yihu.wlyy.repository.patient.PatientDao;
@ -116,6 +118,8 @@ public class FamilyContractService extends BaseService {
    WeiXinAccessTokenUtils accessTokenUtils;
    @Autowired
    private DoctorWorkTimeService doctorWorkTimeService;
    @Autowired
    private OperatorLogDao operatorLogDao;
    public SignFamily findSignFamilyByCode(String code) {
        return signFamilyDao.findByCodeAndType(code, 2);
@ -383,7 +387,7 @@ public class FamilyContractService extends BaseService {
                           String idcard,
                           String ssc,
                           String mobile,
                           String emerMobile)throws  Exception {
                           String emerMobile) throws Exception {
        // 查询三师签约
        JSONObject json = new JSONObject();
        SignFamily sc = signFamilyDao.findByIdcard(idcard);
@ -507,7 +511,7 @@ public class FamilyContractService extends BaseService {
     * @param doctorType 医生类型
     * @return
     */
    public int sign(String doctor, String patient, int doctorType) throws  Exception{
    public int sign(String doctor, String patient, int doctorType) throws Exception {
        Patient p = patientDao.findByCode(patient);
        if (p == null) {
            return -1;
@ -583,7 +587,7 @@ public class FamilyContractService extends BaseService {
                //如果在工作时间内就推送
                PushMsgTask.getInstance().put(doctor, MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.D_SW_01.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.家庭签约.name(), "您有一条新的家庭签约申请!", patient);
            }
         }
        }
        return 1;
    }
@ -635,7 +639,7 @@ public class FamilyContractService extends BaseService {
     * @param reason  解约理由
     * @return
     */
    public int surrender(String patient, String patientName, String userPhoto, String doctor, String doctorName, String openid, String reason, int sex) throws Exception{
    public int surrender(String patient, String patientName, String userPhoto, String doctor, String doctorName, String openid, String reason, int sex) throws Exception {
        // 更新为待解约
        int res = signFamilyDao.surrender(patient, doctor);
        SignFamily signFamily = signFamilyDao.findByjiatingPatient(patient);
@ -1629,7 +1633,7 @@ public class FamilyContractService extends BaseService {
     * @param healthDoctor 健康管理师code
     * @return
     */
    public JSONObject updateSignInfo(String patient, String healthDoctor, String doctor, String expensesType) {
    public JSONObject updateSignInfo(String patient, String healthDoctor, String doctor, String expensesType, String loginUser) {
        JSONObject result = new JSONObject();
        Patient p = patientDao.findByCode(patient);
@ -1793,11 +1797,22 @@ public class FamilyContractService extends BaseService {
        for (JSONObject msg : wxMessages) {
            PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 10, p.getOpenid(), p.getName(), msg);
        }
        OperatorLog operatorLog = new OperatorLog();
        operatorLog.setCreateTime(new Date());
        operatorLog.setMethod("/doctor/family_contract/sign_info_update");
        operatorLog.setMethodName("签约信息变更");
        operatorLog.setCreateUser(loginUser);
        JSONObject jo = new JSONObject();
        jo.put("patient", patient);
        jo.put("healthDoctor", healthDoctor);
        jo.put("expensesType", expensesType);
        jo.put("doctor", doctor);
        operatorLog.setParams(jo.toString());
        operatorLogDao.save(operatorLog);
        return result;
    }
    public JSONObject findNoHealthSignFamilyHealthByParams(String doctorCode,String teamCode, String params) throws Exception {
    public JSONObject findNoHealthSignFamilyHealthByParams(String doctorCode, String teamCode, String params) throws Exception {
        JSONObject returnMap = new JSONObject();
        String addressSql = "select a.signcode,a.name,a.address,a.code,a.hasopenid,a.idcard from( SELECT " +
                "  sf.CODE signcode, " +
@ -1813,15 +1828,15 @@ public class FamilyContractService extends BaseService {
                " WHERE " +
                " sf.type = 2 " +
                " AND sf. STATUS >= 0 " +
               // " and sf.doctor = ? " +
                // " and sf.doctor = ? " +
                " and sf.admin_team_code = ? " +
                " AND ( sf.doctor_health is null or sf.doctor_health ='' ) ) a where 1=1";
        if (!org.springframework.util.StringUtils.isEmpty(params)) {
            addressSql += " AND a.address like '%" + params + "%'";
        }
        List<Map<String, Object>> datas = jdbcTemplate.queryForList(addressSql,teamCode);
        List<Map<String, Object>> datas = jdbcTemplate.queryForList(addressSql, teamCode);
        if (datas != null && datas.size() > 0) {
            JSONArray jsonArray=new JSONArray();
            JSONArray jsonArray = new JSONArray();
            for (Map<String, Object> map : datas) {
                JSONObject jo = new JSONObject();
                jo.put("signcode", map.get("signcode"));
@ -1834,7 +1849,7 @@ public class FamilyContractService extends BaseService {
                jo.put("sex", IdCardUtil.getSexForIdcard_new(map.get("idcard").toString()));
                jsonArray.put(jo);
            }
            returnMap.put("address",jsonArray);
            returnMap.put("address", jsonArray);
        }
        String patientNameSql = "select a.signcode,a.name,a.address,a.code,a.hasopenid,a.idcard from( SELECT " +
                "  sf.CODE signcode, " +
@ -1857,9 +1872,9 @@ public class FamilyContractService extends BaseService {
        if (!org.springframework.util.StringUtils.isEmpty(params)) {
            patientNameSql += " AND a.name like '%" + params + "%'";
        }
        datas = jdbcTemplate.queryForList(patientNameSql,teamCode);
        datas = jdbcTemplate.queryForList(patientNameSql, teamCode);
        if (datas != null && datas.size() > 0) {
            JSONArray jsonArray=new JSONArray();
            JSONArray jsonArray = new JSONArray();
            for (Map<String, Object> map : datas) {
                JSONObject jo = new JSONObject();
                jo.put("signcode", map.get("signcode"));
@ -1871,12 +1886,12 @@ public class FamilyContractService extends BaseService {
                jo.put("sex", IdCardUtil.getSexForIdcard_new(map.get("idcard").toString()));
                jsonArray.put(jo);
            }
            returnMap.put("name",jsonArray);
            returnMap.put("name", jsonArray);
        }
        return returnMap;
    }
    public JSONObject findNoHealthSignFamilyHealth(String doctorCode, String labelType, String patientName,Long teamCode) throws Exception {
    public JSONObject findNoHealthSignFamilyHealth(String doctorCode, String labelType, String patientName, Long teamCode) throws Exception {
        JSONObject returnMap = new JSONObject();
        //健康管理师
        String sql = "SELECT " +
@ -1901,7 +1916,7 @@ public class FamilyContractService extends BaseService {
                " AND ( sf.doctor_health is null or sf.doctor_health ='' ) ";
        List<Map<String, Object>> datas = null;
        //查找居民
        datas = jdbcTemplate.queryForList(sql, labelType, doctorCode,teamCode);
        datas = jdbcTemplate.queryForList(sql, labelType, doctorCode, teamCode);
        //根据类别查找标签
        List<SignPatientLabel> s = labelDao.findByLabelTypeAndStatus(labelType, 1);
@ -2156,26 +2171,26 @@ public class FamilyContractService extends BaseService {
        return result;
    }
    public Map<String, List<Patient>> getPatientByLevel(String doctorCode,Long team) {
    public Map<String, List<Patient>> getPatientByLevel(String doctorCode, Long team) {
        Map<String, List<Patient>> returnMap = new HashMap<>();
        Doctor doctor = doctorDao.findByCode(doctorCode);
        //判断当前用户是健康管理师还是全科
        if (doctor.getLevel() == 3) {
            //健康管理师
            List<Patient> jkgl = signFamilyDao.findByDoctorHealthPatient(doctorCode,team);
            List<Patient> jkgl = signFamilyDao.findByDoctorHealthPatient(doctorCode, team);
            returnMap.put("jk", jkgl);
        } else if (doctor.getLevel() == 2) {
            //全科医生
            List<Patient> qkys = signFamilyDao.findByDoctorPatient(doctorCode,team);
            List<Patient> qkys = signFamilyDao.findByDoctorPatient(doctorCode, team);
            returnMap.put("qk", qkys);
            //健康管理师
            List<Patient> jkgl = signFamilyDao.findByDoctorHealthPatient(doctorCode,team);
            List<Patient> jkgl = signFamilyDao.findByDoctorHealthPatient(doctorCode, team);
            returnMap.put("jk", jkgl);
        }
        return returnMap;
    }
    public JSONObject getPatientByLable(String doctorCode, String labelType, String level,Long team) throws Exception {
    public JSONObject getPatientByLable(String doctorCode, String labelType, String level, Long team) throws Exception {
        JSONObject returnMap = new JSONObject();
        Doctor doctor = doctorDao.findByCode(doctorCode);
        //判断当前用户是健康管理师还是全科
@ -2199,11 +2214,11 @@ public class FamilyContractService extends BaseService {
                    " WHERE " +
                    " sf.type = 2 " +
                    " AND sf. STATUS >= 0 " +
                    " and sf.doctor_health = ? "+
                    " and sf.doctor_health = ? " +
                    " and sf.admin_team_code = ? ";
            //查找居民
            datas = jdbcTemplate.queryForList(sql, labelType, doctorCode,team);
            datas = jdbcTemplate.queryForList(sql, labelType, doctorCode, team);
        } else if (level.equals("2")) {
            //全科
            String sql = "SELECT " +
@ -2223,11 +2238,11 @@ public class FamilyContractService extends BaseService {
                    " WHERE " +
                    " sf.type = 2 " +
                    " AND sf. STATUS >= 0 " +
                    " and  sf.doctor = ?  "+
                    " and  sf.doctor = ?  " +
                    " and sf.admin_team_code = ? ";
            //查找居民
            datas = jdbcTemplate.queryForList(sql, labelType, doctorCode,team);
            datas = jdbcTemplate.queryForList(sql, labelType, doctorCode, team);
        } else {
            throw new Exception("参数错误!");

+ 3 - 5
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/account/DoctorController.java

@ -7,6 +7,7 @@ import java.util.List;
import java.util.Map;
import com.yihu.wlyy.entity.consult.ConsultTeam;
import com.yihu.wlyy.entity.log.OperatorLog;
import com.yihu.wlyy.entity.organization.Hospital;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.doctor.profile.DoctorComment;
@ -1580,9 +1581,8 @@ public class DoctorController extends BaseController {
                if (StringUtils.isEmpty(patients)) {
                    return error(-1, "居民不能为空");
                }
                doctorInfoService.updateTeamHealthDoctors(newDoctorCode, oldDoctorCode, patients);
                doctorInfoService.updateTeamHealthDoctors(newDoctorCode, oldDoctorCode, patients, getUID());
            }
            infoMessage(new StringBuffer("/doctor/updateTeamHealthDoctors  医生:" + getUID() + "转移了患者:" + patients + ",的健管师,新健管师是:" + newDoctorCode).toString());
            return write(200, "更新成功");
        } catch (Exception e) {
            e.printStackTrace();
@ -1604,9 +1604,7 @@ public class DoctorController extends BaseController {
                                    String oldDoctorCode,
                                    String patients) {
        try {
            doctorInfoService.updateTeamDoctors(newDoctorCode, oldDoctorCode, patients);
            infoMessage(new StringBuffer("/doctor/updateTeamDoctors  医生:" + oldDoctorCode + "转移了患者:" + patients + ",的全科,新全科是:" + newDoctorCode).toString());
            doctorInfoService.updateTeamDoctors(newDoctorCode, oldDoctorCode, patients, getUID());
            return write(200, "更新成功");
        } catch (Exception e) {
            e.printStackTrace();

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

@ -814,12 +814,11 @@ public class DoctorFamilyContractController extends WeixinBaseController {
                return error(-1, "参数不能同时为空");
            }
            JSONObject result = familyContractService.updateSignInfo(patient, healthDoctor, doctor, expensesType);
            JSONObject result = familyContractService.updateSignInfo(patient, healthDoctor, doctor, expensesType,getUID());
            if (result.getInt("status") != 1) {
                return error(-1, result.getString("msg"));
            }
            infoMessage(new StringBuffer("/doctor/family_contract/sign_info_update  患者:" + patient + "被医生:" + getUID() + ",转移到健康管理师:" + healthDoctor + ",全科:" + doctor).toString());
            return write(200, "更新成功");
        } catch (Exception e) {
            e.printStackTrace();