|  | @ -0,0 +1,451 @@
 | 
	
		
			
				|  |  | package com.yihu.jw.hospital.prescription.service.entrance;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.prescription.service.entrance.util.MqSdkUtil;
 | 
	
		
			
				|  |  | import com.yihu.jw.util.date.DateUtil;
 | 
	
		
			
				|  |  | import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  | import org.json.JSONObject;
 | 
	
		
			
				|  |  | import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.util.ArrayList;
 | 
	
		
			
				|  |  | import java.util.Date;
 | 
	
		
			
				|  |  | import java.util.List;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * 互联网医院对外服务
 | 
	
		
			
				|  |  |  * Created by zdm on 2019/5/20.
 | 
	
		
			
				|  |  |  */
 | 
	
		
			
				|  |  | @Service
 | 
	
		
			
				|  |  | public class EntranceService {
 | 
	
		
			
				|  |  |     //门诊余额查询
 | 
	
		
			
				|  |  |     private static String BS15017="BS15017";
 | 
	
		
			
				|  |  |     //门诊就诊卡列表
 | 
	
		
			
				|  |  |     private static String BS15018="BS15018";
 | 
	
		
			
				|  |  |     //门诊处方信息(所有处方)
 | 
	
		
			
				|  |  |     private static String BS16017="BS16017";
 | 
	
		
			
				|  |  |     //患者门诊就诊记录
 | 
	
		
			
				|  |  |     private static String BS30025="BS30025";
 | 
	
		
			
				|  |  |     //医院药品字典
 | 
	
		
			
				|  |  |     private static String MS30001="MS30001";
 | 
	
		
			
				|  |  |     //门诊给药方式接口
 | 
	
		
			
				|  |  |     private static String BS10110="BS10110";
 | 
	
		
			
				|  |  |     //线上挂号接口
 | 
	
		
			
				|  |  |     private static String BS10111="BS10111";
 | 
	
		
			
				|  |  |     //线上处方接口
 | 
	
		
			
				|  |  |     private static String BS10112="BS10112";
 | 
	
		
			
				|  |  |     //医生挂号权限查询接口
 | 
	
		
			
				|  |  |     private static String BS10114="BS10114";
 | 
	
		
			
				|  |  |     //科室字典
 | 
	
		
			
				|  |  |     private static String MS02001="MS02001";
 | 
	
		
			
				|  |  |     //号别字典接口
 | 
	
		
			
				|  |  |     private static String MS02013="MS02013";
 | 
	
		
			
				|  |  |     //医院频次字典表
 | 
	
		
			
				|  |  |     private static String MS30012="MS30012";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 查询门诊余额
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String qutpatientBalance(String cardNo) throws Exception {
 | 
	
		
			
				|  |  |         JSONObject msg=new JSONObject();
 | 
	
		
			
				|  |  |         msg.put("endNum","20000");
 | 
	
		
			
				|  |  |         msg.put("Msg", new net.sf.json.JSONArray() );
 | 
	
		
			
				|  |  |         JSONObject query=new JSONObject();
 | 
	
		
			
				|  |  |         query.put("@compy","=");
 | 
	
		
			
				|  |  |         query.put("@item","CARD_NO");
 | 
	
		
			
				|  |  |         query.put("@splice","and");
 | 
	
		
			
				|  |  |         query.put("@value",cardNo);
 | 
	
		
			
				|  |  |         msg.put("query",query);
 | 
	
		
			
				|  |  |         msg.put("startNum",1);
 | 
	
		
			
				|  |  |         List<String> stringList=new ArrayList<>();
 | 
	
		
			
				|  |  |         stringList.add(cardNo);
 | 
	
		
			
				|  |  |         //获取消息
 | 
	
		
			
				|  |  |         String resp = MqSdkUtil.putReqAndGetResp(msg.toString(), BS15017, "1",stringList);
 | 
	
		
			
				|  |  |         //解析
 | 
	
		
			
				|  |  |         resp= MqSdkUtil.xml2jsonObject(resp);
 | 
	
		
			
				|  |  |         return resp;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 门诊就诊卡列表
 | 
	
		
			
				|  |  |      * @param SOCIAL_NO 身份证号
 | 
	
		
			
				|  |  |      * @param CARD_NO 就诊卡号
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String BS15018(String SOCIAL_NO, String CARD_NO) throws Exception {
 | 
	
		
			
				|  |  |         String fid=BS15018;
 | 
	
		
			
				|  |  |         StringBuffer sbs= new StringBuffer();
 | 
	
		
			
				|  |  |         //AccessControl :用户、密码、服务id
 | 
	
		
			
				|  |  |         sbs.append("<ESBEntry><AccessControl><Fid>"+fid+"</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
 | 
	
		
			
				|  |  |         //MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
 | 
	
		
			
				|  |  |         sbs.append("<MessageHeader><Fid>"+fid+"</Fid><MsgDate>"+ DateUtil.dateToStr(new Date(),DateUtil.YYYY_MM_DD_HH_MM_SS)+"</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
 | 
	
		
			
				|  |  |         //查询信息拼接
 | 
	
		
			
				|  |  |         sbs.append("<MsgInfo><endNum>20000</endNum><Msg/>");
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(SOCIAL_NO)){
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\"=\" item=\"SOCIAL_NO\" splice=\"and\" value=\"'"+SOCIAL_NO+"'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(CARD_NO)){
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\"=\" item=\"card_no\" splice=\"and\" value=\"'"+CARD_NO+"'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //查询信息结束
 | 
	
		
			
				|  |  |         sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid );
 | 
	
		
			
				|  |  |         resp= MqSdkUtil.xml2jsonArrayRootRow(resp);
 | 
	
		
			
				|  |  |         return resp;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 门诊处方信息(所有处方)
 | 
	
		
			
				|  |  |      * @param REGISTER_SN 流水号
 | 
	
		
			
				|  |  |      * @param PAT_NO 病人id
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String BS16017(String REGISTER_SN,String PAT_NO,String ADM_NO) throws Exception {
 | 
	
		
			
				|  |  |         String fid=BS16017;
 | 
	
		
			
				|  |  |         StringBuffer sbs= new StringBuffer();
 | 
	
		
			
				|  |  |         //AccessControl :用户、密码、服务id
 | 
	
		
			
				|  |  |         sbs.append("<ESBEntry><AccessControl><Fid>"+fid+"</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
 | 
	
		
			
				|  |  |         //MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
 | 
	
		
			
				|  |  |         sbs.append("<MessageHeader><Fid>"+fid+"</Fid><MsgDate>"+ DateUtil.dateToStr(new Date(),DateUtil.YYYY_MM_DD_HH_MM_SS)+"</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
 | 
	
		
			
				|  |  |         //查询信息拼接
 | 
	
		
			
				|  |  |         sbs.append("<MsgInfo><endNum>20000</endNum><Msg/>");
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(REGISTER_SN)){
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\"=\" item=\"REGISTER_SN\" splice=\"and\" value=\"'"+REGISTER_SN+"'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(PAT_NO)) {
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\"=\" item=\"PAT_NO\" splice=\"and\" value=\"'" + PAT_NO + "'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(ADM_NO)) {
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\"=\" item=\"ADM_NO\" splice=\"and\" value=\"'" + ADM_NO + "'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //查询信息结束
 | 
	
		
			
				|  |  |         sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid );
 | 
	
		
			
				|  |  |         resp= MqSdkUtil.xml2jsonArrayRootRow(resp);
 | 
	
		
			
				|  |  |         return resp;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      *  患者门诊就诊记录
 | 
	
		
			
				|  |  |      *  使用时间查询的话,很可能会超时。时间没有索引,所以超时时间需要加长
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String BS30025(String PAT_NO,String ADM_NO,String REGISTER_SN,String PAT_CARDNO,String social_no) throws Exception {
 | 
	
		
			
				|  |  |         String fid=BS30025;
 | 
	
		
			
				|  |  |         StringBuffer sbs= new StringBuffer();
 | 
	
		
			
				|  |  |         //AccessControl :用户、密码、服务id
 | 
	
		
			
				|  |  |         sbs.append("<ESBEntry><AccessControl><Fid>"+fid+"</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
 | 
	
		
			
				|  |  |         //MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
 | 
	
		
			
				|  |  |         sbs.append("<MessageHeader><Fid>"+fid+"</Fid><MsgDate>"+ DateUtil.dateToStr(new Date(),DateUtil.YYYY_MM_DD_HH_MM_SS)+"</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
 | 
	
		
			
				|  |  |         //查询信息拼接
 | 
	
		
			
				|  |  |         sbs.append("<MsgInfo><onceFlag>1</onceFlag><startNum>1</startNum><endNum>50000</endNum><Msg/>");
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(PAT_NO)){
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\"=\" item=\"PAT_NO\" splice=\"and\" value=\"'"+PAT_NO+"'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(ADM_NO)){
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\"=\" item=\"ADM_NO\" splice=\"and\" value=\"'"+ADM_NO+"'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(REGISTER_SN)){
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\"=\" item=\"REGISTER_SN\" splice=\"and\" value=\"'"+REGISTER_SN+"'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(PAT_CARDNO)){
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\"=\" item=\"PAT_CARDNO\" splice=\"and\" value=\"'"+PAT_CARDNO+"'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(social_no)){
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\"=\" item=\"social_no\" splice=\"and\" value=\"'"+social_no+"'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //查询信息结束
 | 
	
		
			
				|  |  |         sbs.append("</MsgInfo></ESBEntry>");
 | 
	
		
			
				|  |  |         String resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid );
 | 
	
		
			
				|  |  |         resp= MqSdkUtil.xml2jsonArrayRootRow(resp);
 | 
	
		
			
				|  |  |         return resp;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      *  医院药品字典(所有字典一次返回)
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String MS30001() throws Exception {
 | 
	
		
			
				|  |  |         String fid=MS30001;
 | 
	
		
			
				|  |  |         StringBuffer sbs= new StringBuffer();
 | 
	
		
			
				|  |  |         //AccessControl :用户、密码、服务id
 | 
	
		
			
				|  |  |         sbs.append("<ESBEntry><AccessControl><Fid>"+fid+"</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
 | 
	
		
			
				|  |  |         //MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
 | 
	
		
			
				|  |  |         sbs.append("<MessageHeader><Fid>"+fid+"</Fid><MsgDate>"+ DateUtil.dateToStr(new Date(),DateUtil.YYYY_MM_DD_HH_MM_SS)+"</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
 | 
	
		
			
				|  |  |         //查询信息拼接
 | 
	
		
			
				|  |  |         sbs.append("<MsgInfo><endNum>1000</endNum><Msg></Msg><startNum>1</startNum></MsgInfo></ESBEntry>");
 | 
	
		
			
				|  |  |         String resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid );
 | 
	
		
			
				|  |  |         resp= MqSdkUtil.xml2jsonArrayRootRow(resp);
 | 
	
		
			
				|  |  |         return resp;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      *  医院药品字典(所有字典一次返回)
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String MS53001(String charge_code,String py_code,String stock_amount,String visible_flag) throws Exception {
 | 
	
		
			
				|  |  |         String fid="MS53001";
 | 
	
		
			
				|  |  |         StringBuffer sbs= new StringBuffer();
 | 
	
		
			
				|  |  |         //AccessControl :用户、密码、服务id
 | 
	
		
			
				|  |  |         sbs.append("<ESBEntry><AccessControl><Fid>"+fid+"</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
 | 
	
		
			
				|  |  |         //MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
 | 
	
		
			
				|  |  |         sbs.append("<MessageHeader><Fid>"+fid+"</Fid><MsgDate>"+ DateUtil.dateToStr(new Date(),DateUtil.YYYY_MM_DD_HH_MM_SS)+"</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
 | 
	
		
			
				|  |  |         //查询信息拼接
 | 
	
		
			
				|  |  |         sbs.append("<MsgInfo><endNum>10</endNum><Msg/>");
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(charge_code)){
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\"=\" item=\"charge_code\" splice=\"and\" value=\"'"+charge_code+"'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(py_code)){
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\"=\" item=\"py_code\" splice=\"and\" value=\"'"+py_code+"'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(stock_amount)){
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\">=\" item=\"stock_amount\" splice=\"and\" value=\"'"+stock_amount+"'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(visible_flag)){
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\"=\" item=\"visible_flag\" splice=\"and\" value=\"'"+visible_flag+"'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //<ESBEntry><AccessControl><Fid>MS53001</Fid><UserName>jkzl</UserName><Password>123456</Password></AccessControl>
 | 
	
		
			
				|  |  |         // <MessageHeader><Fid>MS53001</Fid><MsgDate>2018-10-09 16:52:39</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>
 | 
	
		
			
				|  |  |         // <MsgInfo><endNum>20000</endNum><Msg/>
 | 
	
		
			
				|  |  |         // <query compy="=" item="charge_code" splice="and" value="'00659'"/>
 | 
	
		
			
				|  |  |         // <startNum>1</startNum></MsgInfo></ESBEntry>
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid );
 | 
	
		
			
				|  |  |         resp= MqSdkUtil.xml2jsonArrayRootRow(resp);
 | 
	
		
			
				|  |  |         return resp;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      *  门诊给药方式
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String BS10110(String supply_code) throws Exception {
 | 
	
		
			
				|  |  |         String fid=BS10110;
 | 
	
		
			
				|  |  |         StringBuffer sbs= new StringBuffer();
 | 
	
		
			
				|  |  |         //AccessControl :用户、密码、服务id
 | 
	
		
			
				|  |  |         sbs.append("<ESBEntry><AccessControl><Fid>"+fid+"</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
 | 
	
		
			
				|  |  |         //MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
 | 
	
		
			
				|  |  |         sbs.append("<MessageHeader><Fid>"+fid+"</Fid><MsgDate>"+ DateUtil.dateToStr(new Date(),DateUtil.YYYY_MM_DD_HH_MM_SS)+"</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
 | 
	
		
			
				|  |  |         //查询信息拼接
 | 
	
		
			
				|  |  |         sbs.append("<MsgInfo><endNum>20000</endNum><Msg/>");
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(supply_code)){
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\"=\" item=\"supply_code\" splice=\"and\" value=\"'"+supply_code+"'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
 | 
	
		
			
				|  |  |         //<ESBEntry><AccessControl><Fid>BS10110</Fid><UserName>jkzl</UserName><Password>123456</Password></AccessControl>
 | 
	
		
			
				|  |  |         // <MessageHeader><Fid>BS10110</Fid><MsgDate>2018-10-09 16:52:39</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>
 | 
	
		
			
				|  |  |         // <MsgInfo><endNum>20000</endNum><Msg/><query compy="=" item="supply_code" splice="and" value="'002'"/><startNum>1</startNum></MsgInfo></ESBEntry>
 | 
	
		
			
				|  |  |         String resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid );
 | 
	
		
			
				|  |  |         resp= MqSdkUtil.xml2jsonArrayRootRow(resp);
 | 
	
		
			
				|  |  |         return resp;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      *  线上挂号
 | 
	
		
			
				|  |  |      *  @param card_no 卡号
 | 
	
		
			
				|  |  |      *  @param doctor 医生工号
 | 
	
		
			
				|  |  |      *  @param dept 科室编码
 | 
	
		
			
				|  |  |      *  @param charge_type 号别
 | 
	
		
			
				|  |  |      *  @param win_no 分部号
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String BS10111(String card_no,String doctor,String dept,String charge_type,String win_no) throws Exception {
 | 
	
		
			
				|  |  |         String fid=BS10111;
 | 
	
		
			
				|  |  |         StringBuffer sbs= new StringBuffer();
 | 
	
		
			
				|  |  |         //AccessControl :用户、密码、服务id
 | 
	
		
			
				|  |  |         sbs.append("<ESBEntry><AccessControl><Fid>"+fid+"</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
 | 
	
		
			
				|  |  |         //MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
 | 
	
		
			
				|  |  |         sbs.append("<MessageHeader><Fid>"+fid+"</Fid><MsgDate>"+ DateUtil.dateToStr(new Date(),DateUtil.YYYY_MM_DD_HH_MM_SS)+"</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
 | 
	
		
			
				|  |  |         //查询信息拼接
 | 
	
		
			
				|  |  |         sbs.append("<MsgInfo><endNum>20000</endNum><Msg><![CDATA[<?xml version=\"1.0\" encoding=\"utf-8\"?><root>");
 | 
	
		
			
				|  |  |         sbs.append("<resquest card_no=\""+card_no+"\" doctor=\""+doctor+"\" dept=\""+dept+"\" charge_type=\""+charge_type+"\"   win_no=\""+win_no+"\" >");
 | 
	
		
			
				|  |  |         sbs.append("</resquest></root>]]></Msg><startNum>1</startNum></MsgInfo></ESBEntry>");
 | 
	
		
			
				|  |  |         //<ESBEntry><AccessControl><Fid>BS10111</Fid><UserName>jkzl</UserName><Password>123456</Password></AccessControl>
 | 
	
		
			
				|  |  |         // <MessageHeader><Fid>BS10111</Fid><MsgDate>2018-10-09 16:52:39</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>
 | 
	
		
			
				|  |  |         // <MsgInfo><endNum>20000</endNum><Msg>
 | 
	
		
			
				|  |  |         // <![CDATA[<?xml version="1.0" encoding="utf-8"?><root>
 | 
	
		
			
				|  |  |         // <resquest card_no="DB8687139" doctor="1142" dept="1030000" charge_type="01"   win_no="6" ></resquest></root>]]></Msg><startNum>1</startNum></MsgInfo></ESBEntry>
 | 
	
		
			
				|  |  |         //超时等待时间150s
 | 
	
		
			
				|  |  |         String resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid );
 | 
	
		
			
				|  |  |         resp= MqSdkUtil.xml2jsonArrayRootRow(resp);
 | 
	
		
			
				|  |  |         return resp;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      *  线上处方
 | 
	
		
			
				|  |  |      *  @param card_no 卡号
 | 
	
		
			
				|  |  |      *  @param doctor 医生工号
 | 
	
		
			
				|  |  |      *  @param dept 科室编码
 | 
	
		
			
				|  |  |      *  @param charge_code 号别
 | 
	
		
			
				|  |  |      *  @param win_no 分部号
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String BS10112(String card_no,String doctor,String dept,String charge_code,String win_no,String charge_flag,String quantity, String serial_no,String group_no,
 | 
	
		
			
				|  |  |                           String serial,String icd_code,String diag_two,String diag_three,String diag_four,String diag_five,String dosage,String unit,String usage,String supply_code, String days,String frequency) throws Exception {
 | 
	
		
			
				|  |  |         String fid=BS10112;
 | 
	
		
			
				|  |  |         //多个request? 诊断2到诊断4
 | 
	
		
			
				|  |  |         StringBuffer sbs=new StringBuffer();
 | 
	
		
			
				|  |  |         sbs.append("<ESBEntry><AccessControl><Fid>BS10112</Fid><UserName>jkzl</UserName><Password>123456</Password></AccessControl>");
 | 
	
		
			
				|  |  |         sbs.append("<MessageHeader><Fid>BS10112</Fid><MsgDate>2018-10-09 16:52:39</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
 | 
	
		
			
				|  |  |         sbs.append("<MsgInfo><endNum>20000</endNum><Msg><![CDATA[<?xml version=\"1.0\" encoding=\"utf-8\"?><root>");
 | 
	
		
			
				|  |  |         sbs.append("<resquest card_no=\""+card_no+"\" doctor=\""+doctor+"\" dept=\""+dept+"\" charge_code=\""+charge_code+"\" win_no=\""+win_no+"\" charge_flag=\""+charge_flag+"\" ");
 | 
	
		
			
				|  |  |         sbs.append("quantity=\""+quantity+"\"  serial_no=\""+serial_no+"\"  group_no=\""+group_no+"\"   serial=\""+serial+"\"   icd_code=\""+icd_code/*+"\" dosage=\""+dosage+"\" unit=\""+unit+"\" "*/);
 | 
	
		
			
				|  |  |         sbs.append(/*"usage=\""+usage+"\" supply_code=\""+supply_code+"\" days=\""+days+"\" frequency=\""+frequency+*/"\" days=\""+days+"\" frequency=\""+frequency+"\"/>");
 | 
	
		
			
				|  |  |       /*  多个处方明细,使用多个 request
 | 
	
		
			
				|  |  |        sbs.append("<resquest card_no=\"DB8687139\" doctor=\"1142\" dept=\"1030000\" charge_code=\"05504\" win_no=\"6\" charge_flag=\"1\" ");
 | 
	
		
			
				|  |  |         sbs.append("quantity=\"1\"  serial_no=\"46674523\"  group_no=\"71\"   serial=\"01\"   icd_code=\"Z00.001\" dosage=\"1\" unit=\"15\" ");
 | 
	
		
			
				|  |  |         sbs.append("usage=\"bid\" supply_code=\"001\" days=\"34\" frequency=\"?T×é\"/>");*/
 | 
	
		
			
				|  |  |         sbs.append("</root>]]></Msg><startNum>1</startNum></MsgInfo></ESBEntry>");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid );
 | 
	
		
			
				|  |  |         resp= MqSdkUtil.xml2jsonArrayRootRow(resp);
 | 
	
		
			
				|  |  |         return resp;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      *  医生挂号权限查询接口
 | 
	
		
			
				|  |  |      *  @param doctor_code 医生工号
 | 
	
		
			
				|  |  |      *  @param dept 科室编码
 | 
	
		
			
				|  |  |      *  @param charge_type 号别
 | 
	
		
			
				|  |  |      *  @param win_no 分部号
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String BS10114(String doctor_code,String dept,String charge_type,String win_no) throws Exception {
 | 
	
		
			
				|  |  |         String fid=BS10114;
 | 
	
		
			
				|  |  |         StringBuffer sbs= new StringBuffer();
 | 
	
		
			
				|  |  |         //AccessControl :用户、密码、服务id
 | 
	
		
			
				|  |  |         sbs.append("<ESBEntry><AccessControl><Fid>"+fid+"</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
 | 
	
		
			
				|  |  |         //MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
 | 
	
		
			
				|  |  |         sbs.append("<MessageHeader><Fid>"+fid+"</Fid><MsgDate>"+ DateUtil.dateToStr(new Date(),DateUtil.YYYY_MM_DD_HH_MM_SS)+"</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
 | 
	
		
			
				|  |  |         //查询信息拼接
 | 
	
		
			
				|  |  |         sbs.append("<MsgInfo><endNum>20000</endNum><Msg/>");
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(doctor_code)){
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\"=\" item=\"doctor_code\" splice=\"and\" value=\"'"+doctor_code+"'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(dept)){
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\"=\" item=\"dept\" splice=\"and\" value=\"'"+dept+"'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(charge_type)){
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\"=\" item=\"charge_type\" splice=\"and\" value=\"'"+charge_type+"'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(win_no)){
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\"=\" item=\"win_no\" splice=\"and\" value=\"'"+win_no+"'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
 | 
	
		
			
				|  |  |         //<ESBEntry><AccessControl><Fid>BS10114</Fid><UserName>jkzl</UserName><Password>123456</Password></AccessControl>
 | 
	
		
			
				|  |  |         // <MessageHeader><Fid>BS10114</Fid><MsgDate>2018-10-09 16:52:39</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>
 | 
	
		
			
				|  |  |         // <MsgInfo><endNum>20000</endNum><Msg/><query compy="=" item="doctor_code" splice="and" value="'0791'"/> <startNum>1</startNum></MsgInfo></ESBEntry>
 | 
	
		
			
				|  |  |         String resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid );
 | 
	
		
			
				|  |  |         resp= MqSdkUtil.xml2jsonArrayRootRow(resp);
 | 
	
		
			
				|  |  |         return resp;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      *  科室字典
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String MS02001() throws Exception {
 | 
	
		
			
				|  |  |         String fid=MS02001;
 | 
	
		
			
				|  |  |         StringBuffer sbs= new StringBuffer();
 | 
	
		
			
				|  |  |         //AccessControl :用户、密码、服务id
 | 
	
		
			
				|  |  |         sbs.append("<ESBEntry><AccessControl><Fid>"+fid+"</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
 | 
	
		
			
				|  |  |         //MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
 | 
	
		
			
				|  |  |         sbs.append("<MessageHeader><Fid>"+fid+"</Fid><MsgDate>"+ DateUtil.dateToStr(new Date(),DateUtil.YYYY_MM_DD_HH_MM_SS)+"</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
 | 
	
		
			
				|  |  |         //查询信息拼接
 | 
	
		
			
				|  |  |         sbs.append("<MsgInfo><endNum>1000</endNum><Msg></Msg>");
 | 
	
		
			
				|  |  |         sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
 | 
	
		
			
				|  |  |         //<ESBEntry><AccessControl><Fid>MS02001</Fid><UserName>rjss</UserName><Password>123456</Password></AccessControl>
 | 
	
		
			
				|  |  |         // <MessageHeader><Fid>MS02001</Fid><MsgDate>2018-06-20 09:47:14</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>
 | 
	
		
			
				|  |  |         // <MsgInfo><endNum>1000</endNum><Msg></Msg><startNum>1</startNum></MsgInfo></ESBEntry>
 | 
	
		
			
				|  |  |         String resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid );
 | 
	
		
			
				|  |  |         resp= MqSdkUtil.xml2jsonArrayRootRow(resp);
 | 
	
		
			
				|  |  |         return resp;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      *  号别字典
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String MS02013() throws Exception {
 | 
	
		
			
				|  |  |         String fid=MS02013;
 | 
	
		
			
				|  |  |         StringBuffer sbs= new StringBuffer();
 | 
	
		
			
				|  |  |         //AccessControl :用户、密码、服务id
 | 
	
		
			
				|  |  |         sbs.append("<ESBEntry><AccessControl><Fid>"+fid+"</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
 | 
	
		
			
				|  |  |         //MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
 | 
	
		
			
				|  |  |         sbs.append("<MessageHeader><Fid>"+fid+"</Fid><MsgDate>"+ DateUtil.dateToStr(new Date(),DateUtil.YYYY_MM_DD_HH_MM_SS)+"</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
 | 
	
		
			
				|  |  |         //查询信息拼接
 | 
	
		
			
				|  |  |         sbs.append("<MsgInfo><endNum>20000</endNum><Msg/><startNum>1</startNum></MsgInfo></ESBEntry>");
 | 
	
		
			
				|  |  |         //<ESBEntry><AccessControl><Fid>MS02001</Fid><UserName>rjss</UserName><Password>123456</Password></AccessControl>
 | 
	
		
			
				|  |  |         // <MessageHeader><Fid>MS02001</Fid><MsgDate>2018-06-20 09:47:14</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>
 | 
	
		
			
				|  |  |         // <MsgInfo><endNum>20000</endNum><Msg/><startNum>1</startNum></MsgInfo></ESBEntry>
 | 
	
		
			
				|  |  |         String resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid );
 | 
	
		
			
				|  |  |         resp= MqSdkUtil.xml2jsonArrayRootRow(resp);
 | 
	
		
			
				|  |  |         return resp;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      *  医院频次字典表
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String MS30012() throws Exception {
 | 
	
		
			
				|  |  |         String fid="MS30012";
 | 
	
		
			
				|  |  |         StringBuffer sbs= new StringBuffer();
 | 
	
		
			
				|  |  |         //AccessControl :用户、密码、服务id
 | 
	
		
			
				|  |  |         sbs.append("<ESBEntry><AccessControl><Fid>"+fid+"</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
 | 
	
		
			
				|  |  |         //MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
 | 
	
		
			
				|  |  |         sbs.append("<MessageHeader><Fid>"+fid+"</Fid><MsgDate>"+ DateUtil.dateToStr(new Date(),DateUtil.YYYY_MM_DD_HH_MM_SS)+"</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
 | 
	
		
			
				|  |  |         //查询信息拼接
 | 
	
		
			
				|  |  |         sbs.append("<MsgInfo><endNum>20000</endNum><Msg/><startNum>1</startNum></MsgInfo></ESBEntry>");
 | 
	
		
			
				|  |  |         //<ESBEntry><AccessControl><Fid>MS30012</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>
 | 
	
		
			
				|  |  |         // <MessageHeader><Fid>MS30012</Fid><MsgDate>2018-06-20 09:47:14</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>
 | 
	
		
			
				|  |  |         // <MsgInfo><endNum>1000</endNum><Msg></Msg><startNum>1</startNum></MsgInfo></ESBEntry>
 | 
	
		
			
				|  |  |         String resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid );
 | 
	
		
			
				|  |  |         resp= MqSdkUtil.xml2jsonArrayRootRow(resp);
 | 
	
		
			
				|  |  |         return resp;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 诊断编码
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String MS25001(String py_code) throws Exception {
 | 
	
		
			
				|  |  |         String fid="MS25001";
 | 
	
		
			
				|  |  |         StringBuffer sbs= new StringBuffer();
 | 
	
		
			
				|  |  |         //AccessControl :用户、密码、服务id
 | 
	
		
			
				|  |  |         sbs.append("<ESBEntry><AccessControl><Fid>"+fid+"</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
 | 
	
		
			
				|  |  |         //MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
 | 
	
		
			
				|  |  |         sbs.append("<MessageHeader><Fid>"+fid+"</Fid><MsgDate>"+ DateUtil.dateToStr(new Date(),DateUtil.YYYY_MM_DD_HH_MM_SS)+"</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
 | 
	
		
			
				|  |  |         //查询信息拼接
 | 
	
		
			
				|  |  |         sbs.append("<MsgInfo><endNum>1000</endNum><Msg/>");
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(py_code)){
 | 
	
		
			
				|  |  |             sbs.append("<query compy=\"=\" item=\"py_code\" splice=\"and\" value=\"'"+py_code+"'\"/>");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
 | 
	
		
			
				|  |  |         String resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid );
 | 
	
		
			
				|  |  |         resp= MqSdkUtil.xml2jsonArrayRootRow(resp);
 | 
	
		
			
				|  |  |         return resp;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |