| 
					
				 | 
			
			
				@ -1,6 +1,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.hospital.prescription.service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSON; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONPObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.fasterxml.jackson.databind.ObjectMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.dict.dao.DictDeptDescDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.dict.dao.DictHospitalDeptDao; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -9328,6 +9329,32 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return MixEnvelop.getSuccess(IotRequestMapping.Common.message_success_find, object); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop selectByUrlHsjc(Integer id,String wxId) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WxWechatDO wxWechatDO = wechatDao.findById(wxId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (wxWechatDO == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new Exception("微信配置不存在!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseNatAppointmentDO natAppointmentDO = baseNatAppointmentDao.findOne(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BasePatientWechatDo> patientWechatDos = patientWechatDao.findByWechatIdAndPatientId(wxId, natAppointmentDO.getPatientId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (patientWechatDos == null || patientWechatDos.size() == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new Exception("openid不存在!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BasePatientWechatDo patientWechatDo = patientWechatDos.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String idcard = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (natAppointmentDO != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            idcard = natAppointmentDO.getMedicare(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (!StringUtils.isNoneBlank(idcard)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new Exception("就诊卡不存在!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String url = ylzPayService.createSicardPayUrl(wxWechatDO.getAppOriginId(), patientWechatDo.getOpenid(), idcard, "WX"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        com.alibaba.fastjson.JSONObject object = com.alibaba.fastjson.JSONObject.parseObject(url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return MixEnvelop.getSuccess(IotRequestMapping.Common.message_success_find, object); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取居民openId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -10426,6 +10453,33 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map saveNatAppointment(String mediaCard,String patientId,String name,String cardNo,String cardType,String mobile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                   String firstJobCode,String firstJobName,String secondJobCode,String secondJobName,String natTime,String address,String provinceName,String cityName,String townName,String streetName) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseNatAppointmentDO baseNatAppointmentDO= new BaseNatAppointmentDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setMedicare(mediaCard); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setName(name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setCardNo(cardNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setCardType(cardType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setAddress(address); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setAppointmentTime(DateUtil.strToDate(natTime,"yyyy-MM-dd hh:mm:ss")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setCityName(cityName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setFirstJobCode(firstJobCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setFirstJobName(firstJobName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setSecondJobCode(secondJobCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setSecondJobName(secondJobName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setProvinceName(provinceName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setTownName(townName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setStreetName(streetName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setPatientId(patientId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setIsSuccess("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setPayStatus("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setMobile(mobile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setInspectionCode("鼻/咽拭子"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setInspectionName("鼻/咽拭子"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setIcdCode("Z00.000"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setChargeCode("361322"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setWinNo("6"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setDept("3150000"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO.setDeptName("感染疾病科"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseNatAppointmentDO= baseNatAppointmentDao.save(baseNatAppointmentDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map returnMap = new HashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        net.sf.json.JSONObject jsondate = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jsondate.put("checkPart","鼻/咽拭子"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -10441,12 +10495,14 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jsondate.put("address4",streetName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jsondate.put("address5",2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jsondate.put("area",address); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jsondate.put("winNo",6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jsondate.put("target",2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jsondate.put("quantity",1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> map = findRandomDoctor(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        net.sf.json.JSONObject rs = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (map!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //先进行核算检测预约 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String result = entranceService.BS10144(map.get("deptCode").toString(),map.get("doctorMappingCode").toString(),natTime,mediaCard,name,patientId,mobile,demoFlag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String result = entranceService.BS10144("3150000","0001",natTime,mediaCard,name,cardNo,mobile,demoFlag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            com.alibaba.fastjson.JSONObject object = com.alibaba.fastjson.JSONObject.parseObject(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("核酸检测预约结束"+result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Boolean flag = false; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -10478,10 +10534,11 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            returnMap.put("msg","已经挂号的数据有误"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            returnMap.put("status","-1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            return map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            returnMap.put("id",baseNatAppointmentDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            return returnMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        rs = entranceService.BS10111(cardNo, map.get("doctorMappingCode").toString(), map.get("deptCode").toString(), "31", "6", demoFlag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        rs = entranceService.BS10111(mediaCard, map.get("doctorMappingCode").toString(), map.get("deptCode").toString(), "31", "6", demoFlag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        net.sf.json.JSONObject res = rs.getJSONObject("resquest"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        logger.info("挂号结果 res: " + res.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String rsCode = res.getString("@RESULT"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -10563,7 +10620,8 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            returnMap.put("msg","请求挂号失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            returnMap.put("status","-1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            return map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            returnMap.put("id",baseNatAppointmentDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            return returnMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        baseNatAppointmentDO.setDoctorId(map.get("doctorMappingCode").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -10573,8 +10631,10 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                logger.info("开单开始"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                logger.info("saveNatAppointment params:"+jsondate.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                com.alibaba.fastjson.JSONArray array = new com.alibaba.fastjson.JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                array.add(jsondate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    JSONObject jsonObject  = entranceService.BS10112(jsondate.toString(),flag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    JSONObject jsonObject  = entranceService.BS10112(array.toString(),demoFlag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //判断返回结果 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String prers = jsonObject.getString("@RESULT"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //保存日志 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -10590,10 +10650,12 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if ("0".equals(prers)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String realOrder = jsonObject.getString("@real_order"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        baseNatAppointmentDO.setRealOrder(realOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        baseNatAppointmentDO.setIsSuccess("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        baseNatAppointmentDao.save(baseNatAppointmentDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String recipeTime = DateUtil.dateToStr(new Date(), "yyyyMMddHHmmss"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String applyDepaName = map.get("deptCode").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String voucherNo = jsonObject.getString("@xtgzh0") ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String voucherNo = jsonObject.getString("@xtgzh0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String applyDoctorName = map.get("doctorName").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        BasePatientDO patientDO = basePatientDao.findById(patientId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String userName = null; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -10609,51 +10671,35 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        logger.info("cardNo:" + cardNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        JSONObject jsonObject1 =entranceService.BS15054(patientMappingDO.getMappingCode(),realOrder,demoFlag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        /*JSONObject jsonObject1 =entranceService.BS15054(patientMappingDO.getMappingCode(),realOrder,demoFlag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        net.sf.json.JSONObject res = jsonObject1.getJSONObject("resquest"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        logger.info("获取待结算数据 res: " + res.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String rsCode = res.getString("@RESULT"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String free= 0+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if ("0".equals(rsCode)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String rsCode = res.getString("@RESULT");*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String free= 80+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        /*if ("0".equals(rsCode)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            free = res.getString("@total_charge"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        ylzPayService.msgPush("01", cardNo, "01", patientDO.getMobile(), "00", userNo, userName, idcard, voucherNo, applyDepaName, applyDoctorName, recipeTime, free, "1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        }*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        ylzPayService.msgPush("01", mediaCard, "01", patientDO.getMobile(), "00", userNo, userName, idcard, voucherNo, applyDepaName, applyDoctorName, recipeTime, free, "1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        /*//成功后发送模板消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        sendNatWxTemplat(name,cardNo,mobile,natTime,realOrder,"natAppointmentRemind");*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        returnMap.put("msg","核酸检测开方失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        returnMap.put("status","-1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        returnMap.put("id",baseNatAppointmentDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return returnMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDO.setMedicare(mediaCard); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDO.setName(name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDO.setCardNo(cardNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDO.setCardType(cardType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDO.setAddress(address); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDO.setAppointmentTime(DateUtil.strToDate(natTime,"yyyy-MM-dd hh:mm:ss")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDO.setCityName(cityName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDO.setFirstJobCode(firstJobCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDO.setFirstJobName(firstJobName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDO.setSecondJobCode(secondJobCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDO.setSecondJobName(secondJobName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDO.setProvinceName(provinceName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDO.setTownName(townName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDO.setStreetName(streetName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDO.setPatientId(patientId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDO.setIsSuccess("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDO.setPayStatus("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDO.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDO.setMobile(mobile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseNatAppointmentDao.save(baseNatAppointmentDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            returnMap.put("msg","预约成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            returnMap.put("status","200"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            returnMap.put("id",baseNatAppointmentDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return returnMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop getNatRecords(String patientId,Integer page ,Integer pageSize){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "select t.name as \"name\"," + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -10701,24 +10747,39 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //患者取消预约 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String cancelNatAppointment (Integer id,String patientId ) throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String cancelNatAppointment (Integer id,String patientId ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BasePatientDO patientDO = basePatientDao.findById(patientId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String res = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (patientDO!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String patientCode = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            patientCode = patientMappingService.findHisPatNoByIdCard(patientDO.getIdcard()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            BaseNatAppointmentDO baseNatAppointmentDO = baseNatAppointmentDao.findOne(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (null!=baseNatAppointmentDO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                res = entranceService.BS10145(baseNatAppointmentDO.getDept(),baseNatAppointmentDO.getDoctorId(),DateUtil.dateToStr(baseNatAppointmentDO.getAppointmentTime(),"yyyy-MM-dd hh:mm:ss"),baseNatAppointmentDO.getMedicare(),baseNatAppointmentDO.getName(),patientCode,baseNatAppointmentDO.getMobile(),demoFlag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (res.contains("Error")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    throw new Exception(res); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseNatAppointmentDO.setIsSuccess("-1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseNatAppointmentDO.setCancelReson("患者本人取消"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseNatAppointmentDO.setCancelTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseNatAppointmentDO.setCancelBy(patientId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseNatAppointmentDao.save(baseNatAppointmentDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                patientCode = patientMappingService.findHisPatNoByIdCard(patientDO.getIdcard()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                BaseNatAppointmentDO baseNatAppointmentDO = baseNatAppointmentDao.findOne(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (null!=baseNatAppointmentDO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    res = entranceService.BS10145("3150000","0001",DateUtil.dateToStr(baseNatAppointmentDO.getAppointmentTime(),"yyyy-MM-dd hh:mm:ss"),baseNatAppointmentDO.getMedicare(),baseNatAppointmentDO.getName(),baseNatAppointmentDO.getCardNo(),baseNatAppointmentDO.getMobile(),demoFlag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logger.info("核酸检测预约取消"+res); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    com.alibaba.fastjson.JSONObject jsonObject = com.alibaba.fastjson.JSONObject.parseObject(res); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Boolean flag = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (jsonObject!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        com.alibaba.fastjson.JSONObject object = jsonObject.getJSONObject("MsgInfo"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String Msg = object.getString("Msg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if (Msg.contains("Error")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            throw new Exception(Msg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseNatAppointmentDO.setIsSuccess("-1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseNatAppointmentDO.setCancelReson("患者本人取消"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseNatAppointmentDO.setCancelTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseNatAppointmentDO.setCancelBy(patientId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseNatAppointmentDao.save(baseNatAppointmentDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return res; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 |