| 
					
				 | 
			
			
				@ -10805,5 +10805,267 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return res; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //先调预约核酸检测的接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map natAppointment(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<String,Object> returnMap = new HashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //先进行核算检测预约 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (object!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            com.alibaba.fastjson.JSONObject jsonObject = object.getJSONObject("MsgInfo"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String Msg = jsonObject.getString("Msg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (Msg.contains("Error")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                throw new Exception(Msg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseNatAppointmentDO.setIsSuccess("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseNatAppointmentDO= baseNatAppointmentDao.save(baseNatAppointmentDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                returnMap.put("id",baseNatAppointmentDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                returnMap.put("msg","预约成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            returnMap.put("id",baseNatAppointmentDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            returnMap.put("msg","预约失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return  returnMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //预约核酸成功后通过订单id去挂号生成订单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String,Object> registerAndNatPre(Integer id) throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseNatAppointmentDO baseNatAppointmentDO = baseNatAppointmentDao.findOne(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> map = findRandomDoctor(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> returnMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (baseNatAppointmentDO!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            net.sf.json.JSONObject jsondate = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsondate.put("checkPart","鼻/咽拭子"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsondate.put("cardNo",baseNatAppointmentDO.getMedicare()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsondate.put("chargeFlag","2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsondate.put("chargeCode","361322"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsondate.put("icdCode","Z00.000"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsondate.put("socialNo",baseNatAppointmentDO.getCardNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsondate.put("tellPhone",baseNatAppointmentDO.getMobile()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsondate.put("address1",baseNatAppointmentDO.getProvinceName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsondate.put("address2",baseNatAppointmentDO.getCityName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsondate.put("address3",baseNatAppointmentDO.getTownName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsondate.put("address4",baseNatAppointmentDO.getStreetName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsondate.put("address5",""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsondate.put("area",baseNatAppointmentDO.getAddress()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsondate.put("winNo","6"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsondate.put("target","1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsondate.put("quantity","1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if("1".equalsIgnoreCase(baseNatAppointmentDO.getIsSuccess())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                logger.info("挂号开始"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String date = DateUtil.dateToStr(new Date(), "yyyy-MM-dd"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (map!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    List<WlyyPatientRegisterDO> patientRegisterDOs = patientRegisterDao.findByPatientAndDateAndDoctorAndDel(baseNatAppointmentDO.getPatientId(), date,map.get("doctorCode").toString() ,1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    net.sf.json.JSONObject rs = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (patientRegisterDOs != null && patientRegisterDOs.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        WlyyPatientRegisterDO registerDO = patientRegisterDOs.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        //判断是否已经挂号,如果已经挂号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if (StringUtils.isNotBlank(registerDO.getConNo()) && StringUtils.isNotBlank(registerDO.getRegisterNo())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            net.sf.json.JSONObject res = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            res.put("@RESULT", "0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            logger.info("已经挂号 res: " + res.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            jsondate.put("serialNo",registerDO.getRegisterNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            jsondate.put("dept",map.get("deptCode").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            jsondate.put("doctor",map.get("doctorMappingCode").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseNatAppointmentDO.setDoctorId(map.get("doctorMappingCode").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            returnMap.put("msg","已经挂号的数据有误"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            returnMap.put("status","-1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            returnMap.put("id",baseNatAppointmentDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            return returnMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        rs = entranceService.BS10111(baseNatAppointmentDO.getMedicare(), 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"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if ("0".equals(rsCode)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            //存储挂号号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            // {"resquest":{"@RESULT":"0","@MSG":"完成","@serial_no":"47770476","@times":"28"}} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String serialNo = (String) res.get("@serial_no"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String conNo = (String) res.get("@times"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String xtgzh = (String) res.get("@xtgzh"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String realOrder = (String) res.get("@real_order"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            logger.info("挂号流水 @serial_no: " + serialNo + " @times: " + conNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            jsondate.put("serialNo",serialNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            jsondate.put("dept",map.get("deptCode").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            jsondate.put("doctor",map.get("doctorMappingCode").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            //存储就诊记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            WlyyPatientRegisterDO registerDO = new WlyyPatientRegisterDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            // 存储挂号医生与挂号科室 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setDoctor(map.get("doctorCode").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setDoctorName(map.get("doctorName").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setDept(map.get("deptCode").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setDeptName(map.get("deptName").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setRealOrder(realOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setXtgzh(xtgzh); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setPatient(baseNatAppointmentDO.getPatientId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setPatientName(baseNatAppointmentDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            //挂号流水号与挂号次数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setRegisterNo(serialNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setConNo(conNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setDel(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setDate(DateUtil.dateToStr(new Date(), "yyyy-MM-dd")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            patientRegisterDao.save(registerDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            //保存日志 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            WlyyHttpLogDO log = new WlyyHttpLogDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            log.setCode("registerNat"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            log.setName("挂号"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            log.setPatient(baseNatAppointmentDO.getPatientId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            log.setDoctor(map.get("doctorCode").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            log.setResponse(rs.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            log.setStatus(rsCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            log.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            wlyyHttpLogDao.save(log); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } else if ("-2".equals(rsCode)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String serialNo = (String) res.get("@serial_no"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String xtgzh = (String) res.get("@xtgzh"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String realOrder = (String) res.get("@real_order"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String conNo = (String) res.get("@times"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            jsondate.put("serialNo",serialNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            jsondate.put("dept",map.get("deptCode").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            jsondate.put("doctor",map.get("doctorMappingCode").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            logger.info("挂号流水 @serial_no: " + serialNo + " @times: " + conNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            //存储就诊记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            WlyyPatientRegisterDO registerDO = new WlyyPatientRegisterDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setDoctor(map.get("doctorCode").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setDoctorName(map.get("doctorName").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setDept(map.get("deptCode").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setDeptName(map.get("deptName").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setRealOrder(realOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setXtgzh(xtgzh); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setPatient(baseNatAppointmentDO.getPatientId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setPatientName(baseNatAppointmentDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setRegisterNo(serialNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setConNo(conNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            registerDO.setDate(DateUtil.dateToStr(new Date(), "yyyy-MM-dd")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            patientRegisterDao.save(registerDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            //保存日志 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            WlyyHttpLogDO log = new WlyyHttpLogDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            log.setCode("registerOutPatient"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            log.setName("挂号"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            log.setPatient(baseNatAppointmentDO.getPatientId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            log.setDoctor(map.get("doctorCode").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            log.setResponse(rs.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            log.setStatus(rsCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            log.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            wlyyHttpLogDao.save(log); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            returnMap.put("msg","请求挂号失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            returnMap.put("status","-1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            returnMap.put("id",baseNatAppointmentDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            return returnMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        baseNatAppointmentDO.setDoctorId(map.get("doctorMappingCode").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logger.info("开单开始"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logger.info("NatPre params:"+jsondate.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    com.alibaba.fastjson.JSONArray array = new com.alibaba.fastjson.JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    array.add(jsondate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        JSONObject jsonObject  = entranceService.BS10112(array.toString(),demoFlag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        //判断返回结果 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String prers = jsonObject.getString("@RESULT"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        //保存日志 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        WlyyHttpLogDO log = new WlyyHttpLogDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        log.setCode("NatAppointment"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        log.setName("核酸检测开方"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        log.setPatient(baseNatAppointmentDO.getPatientId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        log.setDoctor(map.get("doctorCode").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        log.setResponse(jsonObject.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        log.setRequest(jsondate.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        log.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        wlyyHttpLogDao.save(log); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if ("0".equals(prers)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String realOrder = jsonObject.getString("@real_order"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseNatAppointmentDO.setRealOrder(realOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseNatAppointmentDao.save(baseNatAppointmentDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String recipeTime = DateUtil.dateToStr(new Date(), "yyyyMMddHHmmss"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String applyDepaName = map.get("deptName").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String voucherNo = jsonObject.getString("@xtgzh0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String applyDoctorName = map.get("doctorName").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            BasePatientDO patientDO = basePatientDao.findById(baseNatAppointmentDO.getPatientId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String userName = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String idcard = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            if (patientDO != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                userName = patientDO.getName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                idcard = patientDO.getIdcard(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            PatientMappingDO patientMappingDO = patientMappingDao.findByPatient(baseNatAppointmentDO.getPatientId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String userNo = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            if (patientMappingDO != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                userNo = patientMappingDO.getMappingCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        /*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= 80+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        /*if ("0".equals(rsCode)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            free = res.getString("@total_charge"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        }*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            ylzPayService.msgPush("01", baseNatAppointmentDO.getMedicare(), "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"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            returnMap.put("id",baseNatAppointmentDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            return returnMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    returnMap.put("msg","预约成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    returnMap.put("status","200"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    returnMap.put("id",baseNatAppointmentDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    returnMap.put("msg","医生映射表找不到对应信息"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    returnMap.put("status","-1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    returnMap.put("id",baseNatAppointmentDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                returnMap.put("msg","该单状态出错:"+baseNatAppointmentDO.getIsSuccess()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                returnMap.put("status","-1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                returnMap.put("id",baseNatAppointmentDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return returnMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |