Browse Source

药品字典

zdm 5 years ago
parent
commit
665f941c7c

+ 46 - 5
src/main/java/com/yihu/wlyy/controller/MqSdkController.java

@ -23,7 +23,7 @@ public class MqSdkController /*extends EnvelopRestEndpoint */{
    private EntranceService entranceService;
    @GetMapping(value = "/BS15017")
    @ApiOperation(value = "门诊余额查询")
    @ApiOperation(value = "固定入参:门诊余额查询")
    public String BS15017(
            @ApiParam(name = "CARD_NO", value = "卡号", required = true)
            @RequestParam(value = "CARD_NO") String CARD_NO) {
@ -43,7 +43,7 @@ public class MqSdkController /*extends EnvelopRestEndpoint */{
    }
    @GetMapping(value = "/BS15018")
    @ApiOperation(value = "门诊就诊卡列表")
    @ApiOperation(value = "固定入参:门诊就诊卡列表")
    public String BS15018(
            @ApiParam(name = "SOCIAL_NO", value = "身份证号", required = true)
            @RequestParam(value = "SOCIAL_NO") String SOCIAL_NO,
@ -65,10 +65,10 @@ public class MqSdkController /*extends EnvelopRestEndpoint */{
    }
    @GetMapping(value = "/BS16017")
    @ApiOperation(value = "门诊处方信息(所有处方)")
    @ApiOperation(value = "根据流水号或者居民id查找门诊处方信息(所有处方)")
    public String BS16017(
            @ApiParam(name = "REGISTER_SN", value = "流水号", required = true)
            @RequestParam(value = "REGISTER_SN") String REGISTER_SN,
            @ApiParam(name = "REGISTER_SN", value = "流水号", required = false)
            @RequestParam(value = "REGISTER_SN",required = false) String REGISTER_SN,
            @ApiParam(name = "PAT_NO", value = "病人id", required = false)
            @RequestParam(value = "PAT_NO",required = false) String PAT_NO) {
        try {
@ -86,6 +86,47 @@ public class MqSdkController /*extends EnvelopRestEndpoint */{
        return "";
    }
    @GetMapping(value = "/BS30025")
    @ApiOperation(value = " 查询某个时间段的患者门诊就诊记录 V1.00")
    public String BS30025(@ApiParam(name = "PAT_NO", value = "居民id")
                          @RequestParam(value = "PAT_NO",required = false) String PAT_NO,
                          @ApiParam(name = "startTime", value = "就诊开始时间")
                          @RequestParam(value = "startTime",required = false) String startTime,
                          @ApiParam(name = "endTime", value = "就诊结束时间")
                          @RequestParam(value = "endTime",required = false) String endTime) {
        try {
            String obj = "";
            if (!testProfiles) {
                obj = entranceService.BS30025(PAT_NO,startTime, endTime);
            } 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 "";
    }
    @GetMapping(value = "/MS30001")
    @ApiOperation(value = "医院药品字典 V1.00")
    public String MS30001() {
        try {
            String  obj="";
            if(!testProfiles){
                obj=  entranceService.MS30001();
            }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 "";
    }
}

+ 58 - 5
src/main/java/com/yihu/wlyy/service/EntranceService.java

@ -75,10 +75,10 @@ public class EntranceService {
     * @throws Exception
     */
    public String BS15018(String SOCIAL_NO, String CARD_NO) throws Exception {
        String fid="BS15018";
        String fid=BS15018;
        StringBuffer sbs= new StringBuffer();
        //AccessControl :用户、密码、服务id
        sbs.append("<ESBEntry><AccessControl><Fid>"+fid+"</Fid><Password>JKZL</Password><UserName>123456</UserName></AccessControl>");
        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>");
       //查询信息拼接
@ -102,15 +102,17 @@ public class EntranceService {
     * @throws Exception
     */
    public String BS16017(String REGISTER_SN,String PAT_NO) throws Exception {
        String fid="BS16017";
        String fid=BS16017;
        StringBuffer sbs= new StringBuffer();
        //AccessControl :用户、密码、服务id
        sbs.append("<ESBEntry><AccessControl><Fid>"+fid+"</Fid><Password>JKZL</Password><UserName>123456</UserName></AccessControl>");
        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/>");
        sbs.append("<query compy=\"=\" item=\"REGISTER_SN\" splice=\"and\" value=\"'"+REGISTER_SN+"'\"/>");
        if(StringUtils.isNotBlank(REGISTER_SN)){
            sbs.append("<query compy=\"=\" item=\"REGISTER_SN\" splice=\"and\" value=\"'"+REGISTER_SN+"'\"/>");
        }
        sbs.append("<query compy=\"=\" item=\"PAT_NO\" splice=\"and\" value=\"'"+PAT_NO+"'\"/>");
        //查询信息结束
        sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
@ -120,5 +122,56 @@ public class EntranceService {
        return resp;
    }
    /**
     *  患者门诊就诊记录
     *  使用时间查询的话,很可能会超时。时间没有索引,所以超时时间需要加长
     * @param startTime 就诊时间
     * @return
     * @throws Exception
     */
    public String BS30025(String PAT_NO,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(startTime)){
            sbs.append("<query compy=\"&gt;=\" item=\"CON_DATE\" splice=\"and\" value=\"'"+startTime+"'\"/>");
        }
        if(StringUtils.isNotBlank(endTime)){
            sbs.append("<query compy=\"&lt;\" 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;
    }
}

+ 17 - 8
src/main/java/com/yihu/wlyy/util/MqSdkUtil.java

@ -131,7 +131,7 @@ public class MqSdkUtil {
            // 发送请求消息
            msgId = queueTools.putMsg(queueManager, xmlNodeName, reqMsg);
            // 获取响应消息
            respMsg = queueTools.getMsgById(queueManager, xmlNodeName, msgId, 3);
            respMsg = queueTools.getMsgById(queueManager, xmlNodeName, msgId, 5);
            return respMsg;
        } catch (MQException e) {
            // 2033表示队列中没有消息
@ -245,17 +245,26 @@ public class MqSdkUtil {
        if(retCode.equals("1")){
            //成功
            Object jsonObject = ((net.sf.json.JSONObject) json).get("MsgInfo");
            net.sf.json.JSONArray jsonArray1 = new net.sf.json.JSONArray();
            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());
                Object msgCount=jsonObject1.get("MsgCount");
                if("1".equals(msgCount)){
                    JSON jsonsub = xmlSerializer.read(jsonObject1.get("Msg").toString());
                    jsonArray1.add(jsonsub);
                    //重新封装到json中
                    ((net.sf.json.JSONObject) json).element("MsgInfo", jsonArray1);
                }else {
                    //获取到数组中的CDATA进行再解析
                    net.sf.json.JSONArray jsonArray = (net.sf.json.JSONArray) jsonObject1.get("Msg");
                    for (Object object : jsonArray) {
                        JSON jsonsub = xmlSerializer.read(object.toString());
                        jsonArray1.add(jsonsub);
                    }
                    //重新封装到json中
                    ((net.sf.json.JSONObject) json).element("MsgInfo", jsonArray1);
                }
                //重新封装到json中
                ((net.sf.json.JSONObject) json).element("MsgInfo", jsonArray1);
            }
        }else if(retCode.equals("0")){
            //重新封装到json中