Browse Source

接诊卡列表

zdm 5 years ago
parent
commit
75f3dd63b4

+ 24 - 21
src/main/java/com/yihu/wlyy/controller/MqSdkController.java

@ -25,14 +25,13 @@ public class MqSdkController /*extends EnvelopRestEndpoint */{
    @GetMapping(value = "/BS15017")
    @ApiOperation(value = "门诊余额查询")
    public String BS15017(
            @ApiParam(name = "cardNo", value = "卡号", required = true)
            @RequestParam(value = "cardNo") String cardNo) {
            @ApiParam(name = "CARD_NO", value = "卡号", required = true)
            @RequestParam(value = "CARD_NO") String CARD_NO) {
        try {
            String obj = "";
            if (!testProfiles) {
                obj = entranceService.qutpatientBalance(cardNo);
                obj = entranceService.qutpatientBalance(CARD_NO);
            } else {
                //{"Msg":{"CARD_NO":"D26818411","ZHYE":"0.00","YEXZ_FLAG":"1"},"MsgCount":"1","CurrentNum":"1"}
                obj = "{\"Msg\":{\"CARD_NO\":\"D26818411\",\"ZHYE\":\"0.00\",\"YEXZ_FLAG\":\"1\"},\"MsgCount\":\"1\",\"CurrentNum\":\"1\"}";
            }
            System.out.println("obj==" + obj);
@ -43,23 +42,27 @@ public class MqSdkController /*extends EnvelopRestEndpoint */{
        return "";
    }
//    @GetMapping(value = "/BS15017")
//    public String  findById(String cardNo) {
//        try {
//            String  obj="";
//            if(!testProfiles){
//                obj=  entranceService.qutpatientBalance(cardNo);
//            }else {
//                //{"Msg":{"CARD_NO":"D26818411","ZHYE":"0.00","YEXZ_FLAG":"1"},"MsgCount":"1","CurrentNum":"1"}
//                obj="{\"Msg\":{\"CARD_NO\":\"D26818411\",\"ZHYE\":\"0.00\",\"YEXZ_FLAG\":\"1\"},\"MsgCount\":\"1\",\"CurrentNum\":\"1\"}";
//            }
//            System.out.println("obj=="+obj);
//        } catch (Exception e) {
//            e.printStackTrace();
//            return "";
//        }
//        return "";
//    }
    @GetMapping(value = "/BS15018")
    @ApiOperation(value = "门诊就诊卡列表")
    public String BS15018(
            @ApiParam(name = "SOCIAL_NO", value = "身份证号", required = true)
            @RequestParam(value = "SOCIAL_NO") String SOCIAL_NO,
            @ApiParam(name = "CARD_NO", value = "就诊卡号", required = false)
            @RequestParam(value = "CARD_NO",required = false) String CARD_NO) {
        try {
            String  obj="";
            if(!testProfiles){
                obj=  entranceService.BS15018(SOCIAL_NO,CARD_NO);
            }else {
                obj="[{\"PAT_NO\":\"P5616242-0  \",\"CARD_NO\":\"D40136791\",\"CARD_STAT\":\"旧卡停用\",\"OP_DATE\":\"2011-09-27 15:35:57\",\"CARD_TYPE\":\"2\",\"CARD_TYPE_NAME\":\"社保卡\",\"social_no\":\"350211198411053024\"},{\"PAT_NO\":\"P5616242-0  \",\"CARD_NO\":\"DA1872143\",\"CARD_STAT\":\"激活\",\"OP_DATE\":\"2014-07-25 08:46:40\",\"CARD_TYPE\":\"2\",\"CARD_TYPE_NAME\":\"社保卡\",\"social_no\":\"350211198411053024\"}]";
            }
            System.out.println("obj=="+obj);
        } catch (Exception e) {
            e.printStackTrace();
            return "";
        }
        return "";
    }

+ 41 - 0
src/main/java/com/yihu/wlyy/service/EntranceService.java

@ -1,6 +1,8 @@
package com.yihu.wlyy.service;
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;
@ -56,7 +58,46 @@ public class EntranceService {
        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 {
        JSONObject msg=new JSONObject();
        List<String> stringList=new ArrayList<>();
        //<MsgInfo><endNum>20000</endNum><Msg/><query compy="=" item="SOCIAL_NO" splice="and" value="'350211198411053024'"/><startNum>1</startNum></MsgInfo>
        msg.put("endNum","20000");
        msg.put("Msg", "" );
//        JSONArray jsonArray=new JSONArray();
        JSONObject query=new JSONObject();
        query.put("@compy","=");
        query.put("@item","SOCIAL_NO");
        query.put("@splice","and");
        query.put("@value",SOCIAL_NO);
        stringList.add(SOCIAL_NO);
//            JSONObject query1=new JSONObject();
//            query1.put("@compy","=");
//            query1.put("@item","card_no");
//            query1.put("@splice","and");
//            query1.put("@value",CARD_NO);
//            msg.put("query",query1);
//            stringList.add(CARD_NO);
//        jsonArray.put(query);
//        jsonArray.put(query1);
        msg.put("query",query);
        msg.put("startNum",1);
        String resp = MqSdkUtil.putReqAndGetResp(msg.toString(), BS15018, "2",stringList);
        resp= MqSdkUtil.xml2jsonArrayRootRow(resp);
        return resp;
    }

+ 34 - 11
src/main/java/com/yihu/wlyy/util/MqSdkUtil.java

@ -87,15 +87,7 @@ public class MqSdkUtil {
            msgId = queueTools.putMsg(queueManager, xmlNodeName, json2xml(reqMsg,xmlNodeName,"JKZL","123456","S60","S01",stringList));
            // 获取响应消息
            respMsg = queueTools.getMsgById(queueManager, xmlNodeName, msgId, 3);
            if (StringUtils.isNotBlank(respMsg)) {
                if ("1".equals(parsingWay)) {
                    respMsg = xml2jsonObject(respMsg);
                } else {
                    respMsg = xml2jsonArray(respMsg);
                }
            }
            // 此处为获取响应数据后的业务处理
            log.info("respMsg==" + respMsg);
//            log.info("respMsg==" + respMsg);
            return respMsg;
        } catch (MQException e) {
            // 2033表示队列中没有消息
@ -136,6 +128,7 @@ public class MqSdkUtil {
        //是否展示类型
        xmlSerializer.setObjectName("ESBEntry");
        xmlSerializer.setTypeHintsEnabled(false);
        xmlSerializer.setSkipNamespaces(true);
        JSONObject jsonObject=new JSONObject();
        JSONObject accessControl=new JSONObject();
        accessControl.put("Fid",fid);
@ -154,8 +147,12 @@ public class MqSdkUtil {
//{"Fid":"BS15017","Password":[],"UserName":[]},"MessageHeader":{"Fid":"BS15017","MsgDate":"2018-11-21 13:20:40","SourceSysCode":"S60","TargetSysCode":"S01"},"MsgInfo":{"endNum":"20000","Msg":[],"query":{"@compy":"=","@item":"CARD_NO","@splice":"and","@value":"D26818411"},"startNum":"1"}}
        String root="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n";
        String xmlString=xmlSerializer.write(jsonObject);
        for (String str:stringList){
            xmlString=xmlString.replace(str,"'"+str+"'");
        try {
            for (String str:stringList){
                xmlString=xmlString.replace(str+"","'"+str+"'");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return xmlString.replace(root,"");
    }
@ -189,6 +186,32 @@ public class MqSdkUtil {
        return getMsgInfo(json);
    }
    /**
     * 将xml字符串<STRONG>转换</STRONG>为JSON字符串,msg的根节点为row
     * XML中Msg为数组
     *
     * @param xmlString xml字符串
     * @return JSON<STRONG>对象</STRONG>
     */
    public static String xml2jsonArrayRootRow(String xmlString) throws Exception {
        XMLSerializer xmlSerializer = new XMLSerializer();
        JSON json = xmlSerializer.read(xmlString);
        Object jsonObject = ((net.sf.json.JSONObject) json).get("MsgInfo");
        if (null != jsonObject) {
            net.sf.json.JSONObject jsonObject1 = (net.sf.json.JSONObject) jsonObject;
            //获取到数组中的CDATA进行再解析
            net.sf.json.JSONArray jsonArray = (net.sf.json.JSONArray) jsonObject1.get("Msg");
            net.sf.json.JSONArray jsonArray1 = new net.sf.json.JSONArray();
            for (Object object : jsonArray) {
                JSON jsonsub = xmlSerializer.read(object.toString());
                jsonArray1.add(jsonsub);
            }
            //重新封装到json中
            ((net.sf.json.JSONObject) json).element("MsgInfo", jsonArray1);
        }
        return getMsgInfo(json);
    }
    /**
     * 将xml字符串<STRONG>转换</STRONG>为JSON字符串
     * 其中Msg为一个对象