浏览代码

Merge branch 'dev' of trick9191/wlyy2.0 into dev

trick9191 5 年之前
父节点
当前提交
e50eef389e

+ 31 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java

@ -41,6 +41,7 @@ import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.patient.dao.BasePatientMedicareCardDao;
import com.yihu.jw.restmodel.base.dict.DictHospitalDeptVO;
import com.yihu.jw.restmodel.base.org.BaseOrgVO;
import com.yihu.jw.restmodel.hospital.archive.ArchiveVO;
import com.yihu.jw.restmodel.hospital.consult.WlyyHospitalSysDictVO;
import com.yihu.jw.restmodel.hospital.doctor.WlyyDoctorWorkTimeVO;
import com.yihu.jw.restmodel.hospital.prescription.*;
@ -4046,4 +4047,34 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    public List<WlyyHospitalSysDictDO> findByDict(String name,String hospital){
        return sysDictDao.findByHospitalAndDictNameOrderBySortAsc(hospital,name);
    }
    /**
     * 建立档案
     * @param json
     * @return
     * @throws Exception
     */
    public net.sf.json.JSONObject setRecord(String json)throws Exception{
        ArchiveVO archiveVO = objectMapper.readValue(json,ArchiveVO.class);
        if(archiveVO!=null){
           return entranceService.BS16018(archiveVO,demoFlag);
        }
        return null;
    }
    /**
     * 获取HIIS居民档案信息
     * @param idcard
     * @param patient
     * @param admitNum
     * @return
     * @throws Exception
     */
    public JSONArray findPatientRecord(String idcard,String patient,String admitNum)throws Exception{
        String patientId = null;
        if(StringUtils.isNotBlank(patient)){
            patientId = patientMappingService.findHisPatNoByPatient(patient);
        }
       return entranceService.BS10008(idcard,patientId,admitNum,demoFlag);
    }
}

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

@ -22,12 +22,12 @@ import com.yihu.jw.hospital.prescription.dao.PrescriptionDao;
import com.yihu.jw.hospital.prescription.service.entrance.util.ConvertUtil;
import com.yihu.jw.hospital.prescription.service.entrance.util.MqSdkUtil;
import com.yihu.jw.hospital.prescription.service.entrance.util.WebserviceUtil;
import com.yihu.jw.restmodel.hospital.archive.ArchiveVO;
import com.yihu.jw.restmodel.hospital.prescription.*;
import com.yihu.jw.util.common.PwdUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.http.HttpClientUtil;
import com.yihu.jw.util.idcard.IdCardUtil;
import com.yihu.jw.utils.StringUtil;
import net.sf.json.JSON;
import net.sf.json.JSONArray;
import net.sf.json.xml.XMLSerializer;
@ -2282,4 +2282,139 @@ public class EntranceService {
            }}
        return i;
    }
    /**
     * 建立档案
     * @param archiveVO
     * @param demoFlag
     * @return
     * @throws Exception
     */
    public net.sf.json.JSONObject BS16018(ArchiveVO archiveVO, boolean demoFlag) throws Exception {
        String fid="BS16018";
        logger.info(" BS16018 begin");
        String resp="";
        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>");
            sbs.append("<endNum>20000</endNum>");
            sbs.append("<Msg>");
            sbs.append("<root>");
            sbs.append("<request ");
            if(StringUtils.isNotBlank(archiveVO.getId0000())){
                sbs.append(" id0000=\""+archiveVO.getId0000()+"\" ");
            }
            if(StringUtils.isNotBlank(archiveVO.getCardno())){
                sbs.append(" cardno=\""+archiveVO.getCardno()+"\" ");
            }
            if(StringUtils.isNotBlank(archiveVO.getXming0())){
                sbs.append(" xming0=\""+archiveVO.getXming0()+"\" ");
            }
            if(StringUtils.isNotBlank(archiveVO.getSfzhao())){
                sbs.append(" sfzhao=\""+archiveVO.getSfzhao()+"\" ");
            }
            if(StringUtils.isNotBlank(archiveVO.getXbie00())){
                sbs.append(" xbie00=\""+archiveVO.getXbie00()+"\" ");
            }
            if(StringUtils.isNotBlank(archiveVO.getBrnl00())){
                sbs.append(" brnl00=\""+archiveVO.getBrnl00()+"\" ");
            }
            if(StringUtils.isNotBlank(archiveVO.getYytel0())){
                sbs.append(" yytel0=\""+archiveVO.getYytel0()+"\" ");
            }
            if(StringUtils.isNotBlank(archiveVO.getCsrq00())){
                sbs.append(" csrq00=\""+archiveVO.getCsrq00()+"\" ");
            }
            if(StringUtils.isNotBlank(archiveVO.getBjjbie())){
                sbs.append(" bjjbie=\""+archiveVO.getBjjbie()+"\" ");
            }
            if(StringUtils.isNotBlank(archiveVO.getCardtype())){
                sbs.append(" cardtype=\""+archiveVO.getCardtype()+"\" ");
            }
            if(StringUtils.isNotBlank(archiveVO.getGuid00())){
                sbs.append(" guid00=\""+archiveVO.getGuid00()+"\" ");
            }
            if(StringUtils.isNotBlank(archiveVO.getGrsfen())){
                sbs.append(" grsfen=\""+archiveVO.getGrsfen()+"\" ");
            }
            if(StringUtils.isNotBlank(archiveVO.getAddres())){
                sbs.append(" addres=\""+archiveVO.getAddres()+"\" ");
            }
            if(StringUtils.isNotBlank(archiveVO.getSmdj00())){
                sbs.append(" smdj00=\""+archiveVO.getSmdj00()+"\" ");
            }
            if(StringUtils.isNotBlank(archiveVO.getEhealthCardId())){
                sbs.append(" ehealth_card_id=\""+archiveVO.getEhealthCardId()+"\" ");
            }
            if(StringUtils.isNotBlank(archiveVO.getMindexId())){
                sbs.append(" mindex_id=\""+archiveVO.getMindexId()+"\" ");
            }
            if(StringUtils.isNotBlank(archiveVO.getSmkId())){
                sbs.append(" smk_id=\""+archiveVO.getSmkId()+"\" ");
            }
            if(StringUtils.isNotBlank(archiveVO.getFwqd00())){
                sbs.append(" fwqd00=\""+archiveVO.getFwqd00()+"\" ");
            }
            sbs.append(" />");
            sbs.append("</root>");
            sbs.append("</Msg>");
            sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
            //查询信息拼接
            logger.info(fid+" sbs:"+sbs.toString());
            sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
            resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
            resp = MqSdkUtil.xml2jsonArrayRootRow(resp);
            logger.info(fid+" resp:"+resp);
        }
        return ConvertUtil.convertListEnvelopInRequest(resp);
    }
    /**
     * 获取居民基本信息
     * @param idcard 身份证
     * @param patientId his 居民ID
     * @param admitNum 就诊次数
     * @param demoFlag
     * @return
     * @throws Exception
     */
    public JSONArray BS10008(String idcard,String patientId,String admitNum,boolean demoFlag) throws Exception {
        String fid="BS10008";
        String resp="";
        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>");
            sbs.append("<Msg>");
            if(StringUtils.isNotBlank(idcard)){
                sbs.append(" and Id_Card = '"+idcard+"' ");
            }
            if(StringUtils.isNotBlank(patientId)){
                sbs.append(" and Patient_Id = '"+patientId+"' ");
            }
            if(StringUtils.isNotBlank(admitNum)){
                sbs.append(" and Admit_Num = '"+admitNum+"' ");
            }
            sbs.append("</Msg>");
            sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
            resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
            resp = MqSdkUtil.xml2jsonArrayRootRow(resp);
        }
        return ConvertUtil.convertListEnvelopInBodyRow(resp);
    }
}

+ 4 - 0
business/base-service/src/mqConfig/esbmq-config.xml

@ -66,6 +66,10 @@
				<MS02014_0>EwellQ.S60.MS02014.PUT</MS02014_0>
				<MS02014_1>EwellQ.S60.MS02014.GET</MS02014_1>
				<!--建立档案-->
				<BS16018_0>EwellQ.S60.BS16018.PUT</BS16018_0>
				<BS16018_1>EwellQ.S60.BS16018.GET</BS16018_1>
				<!--检查检验start-->
				<BS20030_0>EwellQ.S60.BS20030.PUT</BS20030_0>
				<BS20030_1>EwellQ.S60.BS20030.GET</BS20030_1>

+ 9 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/WlyyInspectionDO.java

@ -27,6 +27,7 @@ public class WlyyInspectionDO extends UuidIdentityEntity {
    private String code;//项目编码',
    private String name;//(检查方法)',
    private String chargeAmount;//单价
    private String groupName;//检查检验方法
    private String information;//病史与体征',
    private String checkEquip;//类别',
@ -278,4 +279,12 @@ public class WlyyInspectionDO extends UuidIdentityEntity {
    public void setCheckPartName(String checkPartName) {
        this.checkPartName = checkPartName;
    }
    public String getChargeAmount() {
        return chargeAmount;
    }
    public void setChargeAmount(String chargeAmount) {
        this.chargeAmount = chargeAmount;
    }
}

+ 6 - 2
common/common-request-mapping/src/main/java/com/yihu/jw/rm/hospital/BaseHospitalRequestMapping.java

@ -336,10 +336,14 @@ public class BaseHospitalRequestMapping {
        public static final String findByDict ="/findByDict";
    
        //根据居民CODE换取居民请求秘钥
        public static final String getPatientAccetokenByIdcard="getPatientAccetokenByIdcard";
        public static final String getPatientAccetokenByIdcard="/getPatientAccetokenByIdcard";
    
        //医生待办事项列表
        public static final String doctorUpcomingList = "doctorUpcomingList";
        public static final String doctorUpcomingList = "/doctorUpcomingList";
        public static final String setRecord = "/setRecord";
        public static final String findPatientRecord = "/findPatientRecord";
    }

+ 173 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/archive/ArchiveVO.java

@ -0,0 +1,173 @@
package com.yihu.jw.restmodel.hospital.archive;
import io.swagger.annotations.ApiModel;
/**
 * Created by Trick on 2019/12/4.
 */
@ApiModel(value = "建档实体", description = "建档实体")
public class ArchiveVO {
    private String id0000;//医保保险号
    private String cardno;//卡号
    private String xming0;//姓名
    private String sfzhao;//身份证
    private String xbie00;//1-男 2-女
    private String brnl00;//年龄
    private String yytel0;//电话
    private String csrq00;//出生日期
    private String bjjbie;//保健级别
    private String cardtype;//2-医保 X-自费
    private String guid00;//市民健康ID
    private String grsfen;//个人身份,自费病人可为空,医保的不能为空
    private String addres;//地址
    private String smdj00;//实名登记
    private String ehealthCardId;//电子健康卡ID
    private String mindexId;//居民健康卡索引ID
    private String smkId;//经信局市民卡ID
    private String fwqd00;//服务渠道
    public String getId0000() {
        return id0000;
    }
    public void setId0000(String id0000) {
        this.id0000 = id0000;
    }
    public String getCardno() {
        return cardno;
    }
    public void setCardno(String cardno) {
        this.cardno = cardno;
    }
    public String getXming0() {
        return xming0;
    }
    public void setXming0(String xming0) {
        this.xming0 = xming0;
    }
    public String getSfzhao() {
        return sfzhao;
    }
    public void setSfzhao(String sfzhao) {
        this.sfzhao = sfzhao;
    }
    public String getXbie00() {
        return xbie00;
    }
    public void setXbie00(String xbie00) {
        this.xbie00 = xbie00;
    }
    public String getBrnl00() {
        return brnl00;
    }
    public void setBrnl00(String brnl00) {
        this.brnl00 = brnl00;
    }
    public String getYytel0() {
        return yytel0;
    }
    public void setYytel0(String yytel0) {
        this.yytel0 = yytel0;
    }
    public String getCsrq00() {
        return csrq00;
    }
    public void setCsrq00(String csrq00) {
        this.csrq00 = csrq00;
    }
    public String getBjjbie() {
        return bjjbie;
    }
    public void setBjjbie(String bjjbie) {
        this.bjjbie = bjjbie;
    }
    public String getCardtype() {
        return cardtype;
    }
    public void setCardtype(String cardtype) {
        this.cardtype = cardtype;
    }
    public String getGuid00() {
        return guid00;
    }
    public void setGuid00(String guid00) {
        this.guid00 = guid00;
    }
    public String getGrsfen() {
        return grsfen;
    }
    public void setGrsfen(String grsfen) {
        this.grsfen = grsfen;
    }
    public String getAddres() {
        return addres;
    }
    public void setAddres(String addres) {
        this.addres = addres;
    }
    public String getSmdj00() {
        return smdj00;
    }
    public void setSmdj00(String smdj00) {
        this.smdj00 = smdj00;
    }
    public String getEhealthCardId() {
        return ehealthCardId;
    }
    public void setEhealthCardId(String ehealthCardId) {
        this.ehealthCardId = ehealthCardId;
    }
    public String getMindexId() {
        return mindexId;
    }
    public void setMindexId(String mindexId) {
        this.mindexId = mindexId;
    }
    public String getSmkId() {
        return smkId;
    }
    public void setSmkId(String smkId) {
        this.smkId = smkId;
    }
    public String getFwqd00() {
        return fwqd00;
    }
    public void setFwqd00(String fwqd00) {
        this.fwqd00 = fwqd00;
    }
}

+ 18 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/PrescriptionEndpoint.java

@ -904,4 +904,22 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
        }
        return success(array);
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.setRecord)
    @ApiOperation(value = "建立档案")
    public Envelop setRecord(@ApiParam(name = "json", value = "档案实体json")
                             @RequestParam(value = "json",required = true) String json)throws Exception{
        return success(prescriptionService.setRecord(json));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findPatientRecord)
    @ApiOperation(value = "获取HIIS居民档案信息")
    public Envelop findPatientRecord(@ApiParam(name = "idcard", value = "居民身份证")
                                     @RequestParam(value = "idcard",required = false) String idcard,
                                     @ApiParam(name = "patient", value = "居民code")
                                     @RequestParam(value = "patient",required = false)String patient,
                                     @ApiParam(name = "admitNum", value = "就诊次数")
                                     @RequestParam(value = "admitNum",required = false)String admitNum)throws Exception{
        return success(prescriptionService.findPatientRecord(idcard,patient,admitNum));
    }
}