|
@ -166,123 +166,123 @@ public class BookingController extends WeixinBaseController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// @RequestMapping(value = "CreateOrderByDoctor", method = RequestMethod.POST)
|
|
|
// @ResponseBody
|
|
|
// @ApiOperation("(内网)转诊预约挂号")
|
|
|
// public String CreateOrderByDoctor(@ApiParam(name = "hospitalId", value = "医院ID", defaultValue = "350211A1001")
|
|
|
// @RequestParam(value = "hospitalId", required = true) String hospitalId,
|
|
|
// @ApiParam(name = "hospitalName", value = "医院名称", defaultValue = "厦门大学附属第一医院")
|
|
|
// @RequestParam(value = "hospitalName", required = true) String hospitalName,
|
|
|
// @ApiParam(name = "hosDeptId", value = "科室ID", defaultValue = "1011610")
|
|
|
// @RequestParam(value = "hosDeptId", required = true) String hosDeptId,
|
|
|
// @ApiParam(name = "hosDeptName", value = "医院科室名称", defaultValue = "内分泌糖尿病科门诊")
|
|
|
// @RequestParam(value = "hosDeptName", required = true) String hosDeptName,
|
|
|
// @ApiParam(name = "doctorId", value = "医生ID", defaultValue = "50108")
|
|
|
// @RequestParam(value = "doctorId", required = true) String doctorId,
|
|
|
// @ApiParam(name = "doctorName", value = "医生姓名", defaultValue = "杨叔禹")
|
|
|
// @RequestParam(value = "doctorName", required = true) String doctorName,
|
|
|
// @ApiParam(name = "arrangeDate", value = "排班信息", defaultValue = "{\"sectionType\":\"p\",\"startTime\":\"2016-12-29 14:00:00\",\"endTime\":\"2016-12-29 14:08:00\"}")
|
|
|
// @RequestParam(value = "arrangeDate", required = true) String arrangeDate,
|
|
|
// @ApiParam(name = "patient", value = "患者代码", defaultValue = "01954b2ebbb24a40a05da9d2f5c94795")
|
|
|
// @RequestParam(value = "patient", required = true) String patient,
|
|
|
// @ApiParam(name = "patientName", value = "患者姓名", defaultValue = "张锦川")
|
|
|
// @RequestParam(value = "patientName", required = true) String patientName,
|
|
|
// @ApiParam(name = "cardNo", value = "身份证号码", defaultValue = "35052419880511553X")
|
|
|
// @RequestParam(value = "cardNo", required = true) String cardNo,
|
|
|
// @ApiParam(name = "clinicCard", value = "市民卡号", defaultValue = "A0601003595X")
|
|
|
// @RequestParam(value = "clinicCard", required = true) String clinicCard,
|
|
|
// @ApiParam(name = "patientPhone", value = "患者手机", defaultValue = "13559207522")
|
|
|
// @RequestParam(value = "patientPhone", required = true) String patientPhone,
|
|
|
// @ApiParam(name = "dcode", value = "代预约医生编号", defaultValue = "test00000000005")
|
|
|
// @RequestParam(value = "dcode", required = true) String dcode,
|
|
|
// @ApiParam(name = "dname", value = "代预约医生名称", defaultValue = "组2全科医生")
|
|
|
// @RequestParam(value = "dname", required = true) String dname) {
|
|
|
// try {
|
|
|
// String orderCode = guahaoXM.CreateOrderByDoctor(hospitalId, hospitalName, hosDeptId, hosDeptName, doctorId, doctorName, arrangeDate, patient, patientName, cardNo, clinicCard, patientPhone, dname, dcode);
|
|
|
// //获取预约信息查询是否挂号成功
|
|
|
// PatientReservation obj = patientReservationService.findByCode(orderCode);
|
|
|
// if (obj != null) {
|
|
|
// String des = "";
|
|
|
// try {
|
|
|
// String msg = obj.getDname() + "医生已成功为您预约:" + DateUtil.dateToChinese(obj.getStartTime()) + "," + obj.getOrgName() +
|
|
|
// obj.getDeptName() + obj.getDoctorName() + "医生的号源。您可直接前往医院就诊。";
|
|
|
//
|
|
|
// //发送短信消息,调用总部发送信息的接口
|
|
|
// JSONObject resultJson = smsService.sendMsg(patientPhone,msg);
|
|
|
// if (resultJson != null && resultJson.getInt("result") != 0) {
|
|
|
// des = "短信提醒失败!(原因:"+resultJson.getString("description")+")";
|
|
|
// }
|
|
|
// //保存短信记录
|
|
|
// SMS sms = new SMS();
|
|
|
// sms.setContent(msg+des);
|
|
|
// sms.setCaptcha(null);
|
|
|
// Date date = new Date();
|
|
|
// sms.setDeadline(date);
|
|
|
// sms.setCzrq(date);
|
|
|
// sms.setMobile(patientPhone);
|
|
|
// sms.setIp(NetworkUtil.getIpAddress(request));
|
|
|
// sms.setType(6);
|
|
|
// sms.setStatus(1);
|
|
|
// smsDao.save(sms);
|
|
|
//
|
|
|
// // 推送消息给微信端
|
|
|
// Patient p = patientService.findByCode(patient);
|
|
|
// if (StringUtils.isNotEmpty(p.getOpenid())) {
|
|
|
//
|
|
|
// JSONObject json = new JSONObject();
|
|
|
// json.put("first", "");
|
|
|
// json.put("toUser", patient);
|
|
|
// json.put("represented",patient);//被代理人
|
|
|
// json.put("id", orderCode);
|
|
|
// json.put("date", obj.getStartTime());
|
|
|
// json.put("orgName", obj.getOrgName());
|
|
|
// json.put("orgCode", obj.getOrgCode());
|
|
|
// json.put("doctorName", obj.getDeptName());
|
|
|
// json.put("deptName", obj.getDeptName());
|
|
|
// json.put("remark", patientName + ",您好!\n" + msg);
|
|
|
//
|
|
|
// //判断是否判定openId,有没有发则查找家人发送
|
|
|
// if(StringUtils.isNotBlank(p.getOpenid())){
|
|
|
// // 添加到发送队列
|
|
|
// pushMsgTaskWlyy.putWxMsg(getAccessToken(), 6, p.getOpenid(), patientName, json);
|
|
|
// }
|
|
|
////
|
|
|
// //发送代理人
|
|
|
// JSONArray jsonArray = weiXinOpenIdUtils.getAgentOpenId(p.getCode(),p.getOpenid());
|
|
|
// 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");
|
|
|
// JSONObject data = json;
|
|
|
// data.remove("toUser");
|
|
|
// data.put("toUser",member.getCode());
|
|
|
// //String first = (String) json.get("first");
|
|
|
// data.remove("first");
|
|
|
// data.put("first",weiXinOpenIdUtils.getTitleMes(p,j.getInt("relation"),p.getName()));
|
|
|
// pushMsgTaskWlyy.putWxMsg(getAccessToken(), 6, member.getOpenid(), p.getName(), data);
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
@RequestMapping(value = "CreateOrderByDoctor", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
@ApiOperation("(内网)转诊预约挂号")
|
|
|
public String CreateOrderByDoctor(@ApiParam(name = "hospitalId", value = "医院ID", defaultValue = "350211A1001")
|
|
|
@RequestParam(value = "hospitalId", required = true) String hospitalId,
|
|
|
@ApiParam(name = "hospitalName", value = "医院名称", defaultValue = "厦门大学附属第一医院")
|
|
|
@RequestParam(value = "hospitalName", required = true) String hospitalName,
|
|
|
@ApiParam(name = "hosDeptId", value = "科室ID", defaultValue = "1011610")
|
|
|
@RequestParam(value = "hosDeptId", required = true) String hosDeptId,
|
|
|
@ApiParam(name = "hosDeptName", value = "医院科室名称", defaultValue = "内分泌糖尿病科门诊")
|
|
|
@RequestParam(value = "hosDeptName", required = true) String hosDeptName,
|
|
|
@ApiParam(name = "doctorId", value = "医生ID", defaultValue = "50108")
|
|
|
@RequestParam(value = "doctorId", required = true) String doctorId,
|
|
|
@ApiParam(name = "doctorName", value = "医生姓名", defaultValue = "杨叔禹")
|
|
|
@RequestParam(value = "doctorName", required = true) String doctorName,
|
|
|
@ApiParam(name = "arrangeDate", value = "排班信息", defaultValue = "{\"sectionType\":\"p\",\"startTime\":\"2016-12-29 14:00:00\",\"endTime\":\"2016-12-29 14:08:00\"}")
|
|
|
@RequestParam(value = "arrangeDate", required = true) String arrangeDate,
|
|
|
@ApiParam(name = "patient", value = "患者代码", defaultValue = "01954b2ebbb24a40a05da9d2f5c94795")
|
|
|
@RequestParam(value = "patient", required = true) String patient,
|
|
|
@ApiParam(name = "patientName", value = "患者姓名", defaultValue = "张锦川")
|
|
|
@RequestParam(value = "patientName", required = true) String patientName,
|
|
|
@ApiParam(name = "cardNo", value = "身份证号码", defaultValue = "35052419880511553X")
|
|
|
@RequestParam(value = "cardNo", required = true) String cardNo,
|
|
|
@ApiParam(name = "clinicCard", value = "市民卡号", defaultValue = "A0601003595X")
|
|
|
@RequestParam(value = "clinicCard", required = true) String clinicCard,
|
|
|
@ApiParam(name = "patientPhone", value = "患者手机", defaultValue = "13559207522")
|
|
|
@RequestParam(value = "patientPhone", required = true) String patientPhone,
|
|
|
@ApiParam(name = "dcode", value = "代预约医生编号", defaultValue = "test00000000005")
|
|
|
@RequestParam(value = "dcode", required = true) String dcode,
|
|
|
@ApiParam(name = "dname", value = "代预约医生名称", defaultValue = "组2全科医生")
|
|
|
@RequestParam(value = "dname", required = true) String dname) {
|
|
|
try {
|
|
|
String orderCode = guahaoXM.CreateOrderByDoctor(hospitalId, hospitalName, hosDeptId, hosDeptName, doctorId, doctorName, arrangeDate, patient, patientName, cardNo, clinicCard, patientPhone, dname, dcode);
|
|
|
//获取预约信息查询是否挂号成功
|
|
|
PatientReservation obj = patientReservationService.findByCode(orderCode);
|
|
|
if (obj != null) {
|
|
|
String des = "";
|
|
|
try {
|
|
|
String msg = obj.getDname() + "医生已成功为您预约:" + DateUtil.dateToChinese(obj.getStartTime()) + "," + obj.getOrgName() +
|
|
|
obj.getDeptName() + obj.getDoctorName() + "医生的号源。您可直接前往医院就诊。";
|
|
|
|
|
|
//发送短信消息,调用总部发送信息的接口
|
|
|
JSONObject resultJson = smsService.sendMsg(patientPhone,msg);
|
|
|
if (resultJson != null && resultJson.getInt("result") != 0) {
|
|
|
des = "短信提醒失败!(原因:"+resultJson.getString("description")+")";
|
|
|
}
|
|
|
//保存短信记录
|
|
|
SMS sms = new SMS();
|
|
|
sms.setContent(msg+des);
|
|
|
sms.setCaptcha(null);
|
|
|
Date date = new Date();
|
|
|
sms.setDeadline(date);
|
|
|
sms.setCzrq(date);
|
|
|
sms.setMobile(patientPhone);
|
|
|
sms.setIp(NetworkUtil.getIpAddress(request));
|
|
|
sms.setType(6);
|
|
|
sms.setStatus(1);
|
|
|
smsDao.save(sms);
|
|
|
|
|
|
// 推送消息给微信端
|
|
|
Patient p = patientService.findByCode(patient);
|
|
|
if (StringUtils.isNotEmpty(p.getOpenid())) {
|
|
|
|
|
|
JSONObject json = new JSONObject();
|
|
|
json.put("first", "");
|
|
|
json.put("toUser", patient);
|
|
|
json.put("represented",patient);//被代理人
|
|
|
json.put("id", orderCode);
|
|
|
json.put("date", obj.getStartTime());
|
|
|
json.put("orgName", obj.getOrgName());
|
|
|
json.put("orgCode", obj.getOrgCode());
|
|
|
json.put("doctorName", obj.getDeptName());
|
|
|
json.put("deptName", obj.getDeptName());
|
|
|
json.put("remark", patientName + ",您好!\n" + msg);
|
|
|
|
|
|
//判断是否判定openId,有没有发则查找家人发送
|
|
|
if(StringUtils.isNotBlank(p.getOpenid())){
|
|
|
// 添加到发送队列
|
|
|
pushMsgTaskWlyy.putWxMsg(getAccessToken(), 6, p.getOpenid(), patientName, json);
|
|
|
}
|
|
|
//
|
|
|
// }
|
|
|
// else{
|
|
|
// des +=" 微信提醒失败,患者无绑定微信!";
|
|
|
// }
|
|
|
// BusinessLogs.info(BusinessLogs.BusinessType.appointment, getUID(), p.getCode(), new JSONObject(obj));
|
|
|
// }
|
|
|
// catch (Exception ex)
|
|
|
// {
|
|
|
// ex.printStackTrace();
|
|
|
// }
|
|
|
// return write(200, "创建挂号单成功!"+des,"data",obj.getId());
|
|
|
// } else {
|
|
|
// return error(-1, "创建挂号单失败!");
|
|
|
// }
|
|
|
// } catch (Exception e) {
|
|
|
// error(e);
|
|
|
// return error(-1, e.getMessage());
|
|
|
// }
|
|
|
// }
|
|
|
//发送代理人
|
|
|
JSONArray jsonArray = weiXinOpenIdUtils.getAgentOpenId(p.getCode(),p.getOpenid());
|
|
|
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");
|
|
|
JSONObject data = json;
|
|
|
data.remove("toUser");
|
|
|
data.put("toUser",member.getCode());
|
|
|
//String first = (String) json.get("first");
|
|
|
data.remove("first");
|
|
|
data.put("first",weiXinOpenIdUtils.getTitleMes(p,j.getInt("relation"),p.getName()));
|
|
|
pushMsgTaskWlyy.putWxMsg(getAccessToken(), 6, member.getOpenid(), p.getName(), data);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
else{
|
|
|
des +=" 微信提醒失败,患者无绑定微信!";
|
|
|
}
|
|
|
BusinessLogs.info(BusinessLogs.BusinessType.appointment, getUID(), p.getCode(), new JSONObject(obj));
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ex.printStackTrace();
|
|
|
}
|
|
|
return write(200, "创建挂号单成功!"+des,"data",obj.getId());
|
|
|
} else {
|
|
|
return error(-1, "创建挂号单失败!");
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
error(e);
|
|
|
return error(-1, e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "CancelOrder", method = RequestMethod.POST)
|
|
|
@ResponseBody
|