Przeglądaj źródła

医生、科室简介

zdm 5 lat temu
rodzic
commit
5dc5c29a12

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

@ -1666,70 +1666,69 @@ public class EntranceService {
    //======================================中山医院公众号===end=======================================================================================
    /**
     * 同步医生简介到本地库
     * 获取/同步医生简介到本地库
     * @param doctorCode 医生编码,当医生编码不为空则获取单个医生的简介,如果医生编码为空则获取所有医生简介
     * @param demoFlag
     * @return
     * @throws Exception
     */
    public int BS16010(boolean demoFlag) throws Exception {
    public JSON BS16010(String doctorCode,boolean demoFlag) throws Exception {
        int i = 0;
        String fid = "BS16010";
        String resp = "";
        if (demoFlag) {
            resp = getJosnFileResullt(fid);
            resp = MqSdkUtil.xml2jsonArrayRootRowMS02003(resp);
        } 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>500</endNum><Msg></Msg>");
            if (StringUtils.isNotBlank(doctorCode)) {
                sbs.append("<query compy=\"=\" item=\"doctorNumber\" splice=\"and\" value=\"" + doctorCode + "\"/>");
            }
            //查询信息拼接
            sbs.append("<MsgInfo><endNum>10000</endNum><Msg></Msg><startNum>1</startNum></MsgInfo></ESBEntry>");
            sbs.append(" <query compy=\"=\" item=\"page\" splice=\"and\" value=\"1\"/>" +
                    "  <query compy=\"=\" item=\"initpnum\" splice=\"and\" value=\"500\"/>" +
                    "<startNum>1</startNum></MsgInfo></ESBEntry>");
            resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
            resp = MqSdkUtil.xml2jsonArrayRootRowMS02003(resp);
            logger.info("resp="+resp);
        }
        net.sf.json.JSONObject jsonObject= net.sf.json.JSONObject.fromObject(resp);
        if(null!=jsonObject&&"1".equals(jsonObject.get("code").toString())) {
            //如果简介不为空,根据第三方医生code获取互联网医生code
            //根据医生code获取医生信息,保存简介
            i++;
        }
        return i;
        return MqSdkUtil.xml2jsonArrayRootRowBS16011(resp);
    }
    /**
     * 同步科室简介到本地库
     * 获取单个/同步科室简介到本地库
     * @param depNumber 科室编码:,当科室编码不为空则获取单个科室的简介,如果科室编码为空则获取所有科室简介
     * @param demoFlag
     * @return
     * @throws Exception
     */
    public int BS16011(boolean demoFlag) throws Exception {
    public JSON BS16011(String depNumber,boolean demoFlag) throws Exception {
        int i = 0;
        String fid = "BS16011";
        String resp = "";
        if (demoFlag) {
            resp = getJosnFileResullt(fid);
            resp = MqSdkUtil.xml2jsonArrayRootRowMS02003(resp);
        } 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></Msg>");
            if (StringUtils.isNotBlank(depNumber)) {
                sbs.append("<query compy=\"=\" item=\"depNumber\" splice=\"and\" value=\"" + depNumber + "\"/>");
            }
            //查询信息拼接
            sbs.append("<MsgInfo><endNum>10000</endNum><Msg></Msg><startNum>1</startNum></MsgInfo></ESBEntry>");
            sbs.append("<query compy=\"=\" item=\"page\" splice=\"and\" value=\"1\"/>"+
                    "<query compy=\"=\" item=\"initpnum\" splice=\"and\" value=\"1000\"/>"+
                    "<startNum>1</startNum></MsgInfo></ESBEntry>");
            resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
            resp = MqSdkUtil.xml2jsonArrayRootRowMS02003(resp);
            logger.info("resp="+resp);
        }
        net.sf.json.JSONObject jsonObject= net.sf.json.JSONObject.fromObject(resp);
        if(null!=jsonObject&&"1".equals(jsonObject.get("code").toString())) {
        }
        return i;
        return  MqSdkUtil.xml2jsonArrayRootRowBS16011(resp);
    }

+ 23 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/util/MqSdkUtil.java

@ -403,5 +403,28 @@ public class MqSdkUtil {
        return getMsgInfo(json);
    }
    /**
     * 将xml字符串<STRONG>转换</STRONG>为JSON字符串,msg的根节点为row
     * XML中Msg为数组
     *
     * @param xmlString xml字符串
     * @return JSON<STRONG>对象</STRONG>
     */
    public static JSON xml2jsonArrayRootRowBS16011(String xmlString) throws Exception {
        XMLSerializer xmlSerializer = new XMLSerializer();
        JSON json = xmlSerializer.read(xmlString);
        Object retInfo=  ((JSONObject) json).get("RetInfo");
        Object retCode= ((JSONObject) retInfo).get("RetCode");
        if(retCode.equals("1")){
            //成功
            Object jsonObject = ((net.sf.json.JSONObject) json).get("MsgInfo");
            ((net.sf.json.JSONObject) json).element("MsgInfo",  jsonObject);
        }else if(retCode.equals("0")){
            //重新封装到json中
            ((net.sf.json.JSONObject) json).element("MsgInfo",   ((JSONObject) retInfo).get("RetCon"));
        }
        return json;
    }
}

Plik diff jest za duży
+ 53 - 0
business/base-service/src/mqConfig/mqdata/BS16011.json


+ 10 - 4
svr/svr-internet-hospital-entrance/src/main/java/com/yihu/jw/entrance/controller/MqSdkController.java

@ -12,6 +12,7 @@ import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import net.sf.json.JSON;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
@ -389,15 +390,20 @@ public class MqSdkController extends EnvelopRestEndpoint {
    @GetMapping(value = "/BS16010")
    @ApiOperation(value = "医生简介同步")
    public ObjEnvelop BS16010() throws Exception {
        int obj = entranceService.BS16010(demoFlag);
    public ObjEnvelop BS16010(
            @ApiParam(name = "doctorCode", value = "医生编码")
            @RequestParam(value = "doctorCode",defaultValue = "") String doctor) throws Exception {
        JSON obj = entranceService.BS16010(doctor,demoFlag);
        System.out.println("共同步"+obj+"位医生简介!");
        return success(obj);
    }
    @GetMapping(value = "/BS16011")
    @ApiOperation(value = "科室简介同步")
    public ObjEnvelop BS16011() throws Exception {
        int obj = entranceService.BS16011(demoFlag);
    public ObjEnvelop BS16011(
            @ApiParam(name = "depNumber", value = "科室编码")
            @RequestParam(value = "depNumber",defaultValue = "") String depNumber
    ) throws Exception {
        JSON obj = entranceService.BS16011(depNumber,demoFlag);
        System.out.println("共同步"+obj+"个科室简介!");
        return success(obj);
    }