Selaa lähdekoodia

微生物检验

zdm 6 vuotta sitten
vanhempi
commit
841a49ffee

+ 40 - 32
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/EntranceService.java

@ -1126,33 +1126,47 @@ public class EntranceService {
        if (demoFlag) {
            resp = getJosnFileResullt(fid);
        } else {
            StringBuffer sbs = new StringBuffer();
            //AccessControl :用户、密码、服务id
            sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</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>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
            //查询信息拼接
            sbs.append("<MsgInfo><endNum>1000</endNum><Msg/>");
            if (StringUtils.isNotBlank(patNo)) {
                sbs.append("<query compy=\"=\" item=\"inpatient_no\" splice=\"and\" value=\"'" + patNo + "'\"/>");
            }
            if (StringUtils.isNotBlank(conNo)) {
                sbs.append("<query compy=\"=\" item=\"times\" splice=\"and\" value=\"'" + conNo + "'\"/>");
            //获取微生物送检记录
            JSONArray jsonArray= BS20018(patNo,conNo,demoFlag);
            for(Object object:jsonArray){
                net.sf.json.JSONObject jsonObjectBody=(net.sf.json.JSONObject)object;
                jsonObjectBody= (net.sf.json.JSONObject)jsonObjectBody.get("body");
                jsonObjectBody=null==jsonObjectBody?jsonObjectBody:(net.sf.json.JSONObject)jsonObjectBody.get("row");
                if(null!=jsonObjectBody){
                    String applyno=null==jsonObjectBody.get("applyno")?"":jsonObjectBody.get("applyno").toString();
                    if(StringUtils.isNotBlank(applyno)){
                        StringBuffer sbs = new StringBuffer();
                        //AccessControl :用户、密码、服务id
                        sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</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>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
                        //查询信息拼接
                        sbs.append("<MsgInfo><endNum>20000</endNum><Msg/>");
                        if (StringUtils.isNotBlank(applyno)) {
                            //TODO 是ApplyNo?
                            sbs.append("<query compy=\"=\" item=\"applyno\" splice=\"and\" value=\"'" + applyno + "'\"/>");
                        }
                        sbs.append("<order item=\"ResultTime\" sort=\"desc\"/>");
                        sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
                        resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
                        resp = MqSdkUtil.xml2jsonArrayRootRow(resp);
                        ConvertUtil.convertListEnvelopInBodyRow(resp);
                    }
                }
                return null;
            }
            sbs.append("<order item=\"apply_date\" sort=\"desc\"/>");
            //<ESBEntry><AccessControl><Fid>BS25017</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>
            // <MessageHeader><Fid>BS25017</Fid><MsgDate>2019-06-03 13:52:39</MsgDate><SourceSysCode>S47</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>
            // <MsgInfo><endNum>20000</endNum><Msg/>
            // <query compy="=" item="inpatient_no" splice="and" value="'P10728535-0'"/>
            // <query compy="=" item="times" splice="and" value="'62'"/>
            // <order item="apply_date" sort="desc"/><startNum>1</startNum></MsgInfo></ESBEntry>
            sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
            resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
            resp = MqSdkUtil.xml2jsonArrayRootRow(resp);
        }
        return ConvertUtil.convertListEnvelopInBodyRow(resp);
    }
    /**
     * 获取微生物检查记录
     * @param patNo 居民唯一号 必传
     * @param conNo 就诊次数 必传
     * @param demoFlag
     * @return
     * @throws Exception
     */
    public JSONArray BS20018(String patNo,String  conNo,boolean demoFlag) throws Exception {
        String fid="BS20018";
        String resp="";
@ -1165,20 +1179,14 @@ public class EntranceService {
            //MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
            sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
            //查询信息拼接
            sbs.append("<MsgInfo><endNum>1000</endNum><Msg/>");
            sbs.append("<MsgInfo><endNum>20000</endNum><Msg/>");
            if (StringUtils.isNotBlank(patNo)) {
                sbs.append("<query compy=\"=\" item=\"inpatient_no\" splice=\"and\" value=\"'" + patNo + "'\"/>");
                sbs.append("<query compy=\"=\" item=\"CureNo\" splice=\"and\" value=\"'" + patNo + "'\"/>");
            }
            if (StringUtils.isNotBlank(conNo)) {
                sbs.append("<query compy=\"=\" item=\"times\" splice=\"and\" value=\"'" + conNo + "'\"/>");
                sbs.append("<query compy=\"=\" item=\"patientid\" splice=\"and\" value=\"'" + conNo + "'\"/>");
            }
            sbs.append("<order item=\"apply_date\" sort=\"desc\"/>");
            //<ESBEntry><AccessControl><Fid>BS25017</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>
            // <MessageHeader><Fid>BS25017</Fid><MsgDate>2019-06-03 13:52:39</MsgDate><SourceSysCode>S47</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>
            // <MsgInfo><endNum>20000</endNum><Msg/>
            // <query compy="=" item="inpatient_no" splice="and" value="'P10728535-0'"/>
            // <query compy="=" item="times" splice="and" value="'62'"/>
            // <order item="apply_date" sort="desc"/><startNum>1</startNum></MsgInfo></ESBEntry>
            sbs.append("<order item=\"receiveTime\" sort=\"desc\"/>");
            sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
            resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
            resp = MqSdkUtil.xml2jsonArrayRootRow(resp);