123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534 |
- package com.yihu.wlyy.service;
- import com.yihu.wlyy.util.DateUtil;
- import com.yihu.wlyy.util.MqSdkUtil;
- import org.apache.commons.lang3.StringUtils;
- import org.json.JSONArray;
- import org.json.JSONObject;
- import org.springframework.stereotype.Service;
- import java.text.SimpleDateFormat;
- 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,String real_order) 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 + "'\"/>");
- }
- if(StringUtils.isNotBlank(real_order)) {
- sbs.append("<query compy=\"=\" item=\"real_order\" splice=\"and\" value=\"'" + real_order + "'\"/>");
- }
- //查询信息结束
- 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 admNo,String registerSn,String startTime,String endTime) 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(admNo)) {
- sbs.append("<query compy=\"=\" item=\"ADM_NO\" splice=\"and\" value=\"'" + admNo + "'\"/>");
- }
- if (StringUtils.isNotBlank(registerSn)) {
- sbs.append("<query compy=\"=\" item=\"REGISTER_SN\" splice=\"and\" value=\"'" + registerSn + "'\"/>");
- }
- if (StringUtils.isNotBlank(startTime)) {
- sbs.append("<query compy=\">=\" item=\"CON_DATE\" splice=\"and\" value=\"'" + startTime + "'\"/>");
- }
- if (StringUtils.isNotBlank(endTime)) {
- sbs.append("<query compy=\"<\" item=\"CON_DATE\" splice=\"and\" value=\"'" + endTime + "'\"/>");
- }
- //查询信息结束
- 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 win_no,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(win_no)){
- sbs.append("<query compy=\"=\" item=\"win_no\" splice=\"and\" value=\"'"+win_no+"'\"/>");
- }
- 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,String py_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+"'\"/>");
- }
- if(StringUtils.isNotBlank(py_code)){
- sbs.append("<query compy=\"=\" item=\"py_code\" splice=\"and\" value=\"'"+py_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;
- }
- /**
- * 诊断编码
- * @return
- * @throws Exception
- */
- public String MS25002(String py_code,String win_no) throws Exception {
- String fid="MS25002";
- 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+"'\"/>");
- }
- 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>MS25002</Fid><UserName>jcjy</UserName><Password>123456</Password></AccessControl>
- // <MessageHeader><Fid>MS25002</Fid><MsgDate>2018-10-09 16:52:39</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>
- // <MsgInfo><endNum>20000</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 guahao(String patNo,String dept,String doctor) 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(patNo)) {
- sbs.append("<query compy=\"=\" item=\"PAT_NO\" splice=\"and\" value=\"'" + patNo + "'\"/>");
- }
- if (StringUtils.isNotBlank(dept)) {
- sbs.append("<query compy=\"=\" item=\"ADM_SPEC\" splice=\"and\" value=\"'" + dept + "'\"/>");
- }
- if (StringUtils.isNotBlank(doctor)) {
- sbs.append("<query compy=\"=\" item=\"CON_DOC\" splice=\"and\" value=\"'" + doctor + "'\"/>");
- }
- //获取当前时间 查询当前时间往前推24小时是否有挂号 (医保当天有效,自费24小时有效)
- String now= DateUtil.dateToStr(DateUtil.getNowDate(),DateUtil.YYYY_MM_DD_HH_MM_SS);
- System.out.println("new="+now);
- String preday= DateUtil.dateToStr(DateUtil.getPreDays(DateUtil.getNowDate(),-1),DateUtil.YYYY_MM_DD_HH_MM_SS);
- System.out.println("preDay="+preday);
- // if (StringUtils.isNotBlank(preday)) {
- // sbs.append("<query compy=\">\" item=\"ADM_DAT\" splice=\"and\" value=\"'" + preday + "'\"/>");
- // }
- // if (StringUtils.isNotBlank(now)) {
- // sbs.append("<query compy=\"<\" item=\"ADM_DAT\" splice=\"and\" value=\"'" + now + "'\"/>");
- // }
- sbs.append("<order item=\"ADM_DAT\" sort=\"desc\"/>");
- //查询信息结束
- sbs.append("</MsgInfo></ESBEntry>");
- String resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
- resp = MqSdkUtil.xml2jsonArrayRootRow(resp);
- return resp;
- }
- }
|