|  | @ -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;
 | 
	
	
		
			
				|  | @ -9344,7 +9345,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String idcard = null;
 | 
	
		
			
				|  |  |         if (natAppointmentDO != null) {
 | 
	
		
			
				|  |  |             idcard = natAppointmentDO.getCardNo();
 | 
	
		
			
				|  |  |             idcard = natAppointmentDO.getMedicare();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (!StringUtils.isNoneBlank(idcard)) {
 | 
	
		
			
				|  |  |             throw new Exception("就诊卡不存在!");
 | 
	
	
		
			
				|  | @ -10494,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("3150000","0001",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;
 | 
	
	
		
			
				|  | @ -10531,7 +10534,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;
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                     }else {
 | 
	
		
			
				|  |  |                         rs = entranceService.BS10111(mediaCard, map.get("doctorMappingCode").toString(), map.get("deptCode").toString(), "31", "6", demoFlag);
 | 
	
	
		
			
				|  | @ -10616,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());
 | 
	
		
			
				|  |  |                     }
 | 
	
	
		
			
				|  | @ -10629,7 +10634,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |                 com.alibaba.fastjson.JSONArray array = new com.alibaba.fastjson.JSONArray();
 | 
	
		
			
				|  |  |                 array.add(jsondate);
 | 
	
		
			
				|  |  |                 try {
 | 
	
		
			
				|  |  |                     JSONObject jsonObject  = entranceService.BS10112(array.toString(),flag);
 | 
	
		
			
				|  |  |                     JSONObject jsonObject  = entranceService.BS10112(array.toString(),demoFlag);
 | 
	
		
			
				|  |  |                     //判断返回结果
 | 
	
		
			
				|  |  |                     String prers = jsonObject.getString("@RESULT");
 | 
	
		
			
				|  |  |                     //保存日志
 | 
	
	
		
			
				|  | @ -10650,7 +10655,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |                         String recipeTime = DateUtil.dateToStr(new Date(), "yyyyMMddHHmmss");
 | 
	
		
			
				|  |  |                         String applyDepaName = map.get("deptCode").toString();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                         String voucherNo = jsonObject.getString("@xtgzh") ;
 | 
	
		
			
				|  |  |                         String voucherNo = jsonObject.getString("@xtgzh0");
 | 
	
		
			
				|  |  |                         String applyDoctorName = map.get("doctorName").toString();
 | 
	
		
			
				|  |  |                         BasePatientDO patientDO = basePatientDao.findById(patientId);
 | 
	
		
			
				|  |  |                         String userName = null;
 | 
	
	
		
			
				|  | @ -10666,22 +10671,23 @@ 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();
 | 
	
	
		
			
				|  | @ -10689,10 +10695,11 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             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\"," +
 | 
	
	
		
			
				|  | @ -10749,12 +10756,24 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |                 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);
 | 
	
		
			
				|  |  |                     baseNatAppointmentDO.setIsSuccess("-1");
 | 
	
		
			
				|  |  |                     baseNatAppointmentDO.setCancelReson("患者本人取消");
 | 
	
		
			
				|  |  |                     baseNatAppointmentDO.setCancelTime(new Date());
 | 
	
		
			
				|  |  |                     baseNatAppointmentDO.setCancelBy(patientId);
 | 
	
		
			
				|  |  |                     baseNatAppointmentDao.save(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) {
 |