Browse Source

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

# Conflicts:
#	business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/XzzxEntranceService.java
#	svr/svr-internet-hospital-entrance/src/main/java/com/yihu/jw/entrance/controller/XzzxCotroller.java
wangzhinan 4 years ago
parent
commit
b28105407a

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

@ -140,8 +140,6 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    @Autowired
    private PrescriptionDao prescriptionDao;
    @Autowired
    private PrescriptionDiagnosisDao prescriptionDiagnosisDao;
    @Autowired
    private PrescriptionExpressageDao prescriptionExpressageDao;
    @Autowired
    private PrescriptionInfoDao prescriptionInfoDao;
@ -258,6 +256,8 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    private PrescriptionSignDao prescriptionSignDao;
    @Autowired
    private EnterpriseService enterpriseService;
    @Autowired
    private PrescriptionDiagnosisDao  prescriptionDiagnosisDao;
@ -7362,6 +7362,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            DoctorMappingDO doctorMappingDO = doctorMappingService.findMappingCode(outpatientDO.getDoctor(), outpatientDO.getHospital());
            List<WlyyPrescriptionInfoDO> infoDOS = prescriptionInfoDao.findByPrescriptionId(prescriptionId, 1);
            List<WlyyInspectionDO> inspectionDOS = wlyyInspectionDao.findByPrescriptionId(prescriptionId, 1);
            List<WlyyPrescriptionDiagnosisDO> prescriptionDiagnosisDOS = prescriptionDiagnosisDao.findByPrescriptionId(prescriptionId,1);
            List<WlyyPrescriptionExpressageDO> expressageDOS = prescriptionExpressageDao.findByOutpatientId(outpatientDO.getId());
            if (wxId.equalsIgnoreCase("xm_zsyy_wx")) {
@ -7452,6 +7453,19 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            }else if (wxId.equalsIgnoreCase("xm_xzzx_wx")){
                try {
                    if (prescriptionDiagnosisDOS!=null&&prescriptionDiagnosisDOS.size()!=0){
                        String diagnosisName = prescriptionDiagnosisDOS.get(0).getName();
                        String diagnosisCode = prescriptionDiagnosisDOS.get(0).getCode();
                        //同步诊断
                        com.alibaba.fastjson.JSONObject jsonObject2 = xzzxEntranceService.saveDiagnosisToEntrance(outpatientDO.getRegisterNo(),diagnosisName,diagnosisCode);
                        logger.info("上传诊断返回参数"+jsonObject2);
                        //{"msg":"交易成功","code":"0","data":{"PresDetail":{"PresNo":"16151365"}},"success":"True"}
                        if (jsonObject2.getString("code").equalsIgnoreCase("0")){
                            com.alibaba.fastjson.JSONObject jsonObject = jsonObject2.getJSONObject("data");
                            logger.info("上传诊断成功"+jsonObject2);
                        }
                    }
                    //同步处方
                    String applyDoctor = doctorMappingDO.getDoctorName()+"/"+doctorMappingDO.getMappingCode();
                    com.alibaba.fastjson.JSONObject object = xzzxEntranceService.savePrescriptionToEntrance("0",outpatientDO.getCardNo(),outpatientDO.getRegisterNo(),outpatientDO.getDept(),applyDoctor,"50100",infoDOS);
                    logger.info("成功上传处方"+object);

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

@ -186,4 +186,37 @@ public class XzyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
        wlyyHttpLogDao.save(log);
        return result;
    }
    public JSONObject refundRegisterNo(String outpatientId) throws Exception {
        JSONObject object = new JSONObject();
        WlyyOutpatientDO outpatientDO = outpatientDao.findById(outpatientId);
        if(outpatientDO!=null){
            DoctorMappingDO doctorMappingDO = doctorMappingDao.findByDoctor(outpatientDO.getDoctor());
            if (StringUtils.isNoneBlank(outpatientDO.getRegisterNo())){
                object = xzzxEntranceService.refundConsultationToEntrance(outpatientDO.getRegisterNo(), outpatientDO.getCardNo());
                logger.info("退号结果 res: " + object.toString());
                if (object!=null&&object.getString("code").equalsIgnoreCase("0")){
                    WlyyPatientRegisterDO wlyyPatientRegisterDO = patientRegisterDao.findByRegisterNo(outpatientDO.getRegisterNo());
                    wlyyPatientRegisterDO.setDel(0);
                    patientRegisterDao.save(wlyyPatientRegisterDO);
                    outpatientDO.setHisStatus(-1);
                    outpatientDao.save(outpatientDO);
                }
                //保存日志
                WlyyHttpLogDO log = new WlyyHttpLogDO();
                log.setCode("refundregisterOutPatient");
                log.setName("退号");
                log.setPatient(outpatientDO.getPatient());
                log.setDoctor(outpatientDO.getDoctor());
                log.setResponse(object.toString());
                log.setRequest("outPatientId=" + outpatientId + "&doctor=" + outpatientDO.getDoctor());
                log.setStatus(object.getString("code"));
                log.setCreateTime(new Date());
                wlyyHttpLogDao.save(log);
            }
        }
        return  object;
    }
}

+ 143 - 2
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/XzzxEntranceService.java

@ -1258,7 +1258,7 @@ public class XzzxEntranceService{
            condition1 += "<DayCount>"+prescriptionInfoDO.getDays()+"</DayCount>";
            condition1 += "<Usage>"+prescriptionInfoDO.getSupplyCode()+"</Usage>";
            condition1 += "<TotalDoseage>"+prescriptionInfoDO.getQuantity()+"</TotalDoseage>";
            condition1 += "<TotalUnit>"+prescriptionInfoDO.getPackQuantity()+prescriptionInfoDO.getUnitName()+"/"+prescriptionInfoDO.getPackUnit()+"</TotalUnit>";
            condition1 += "<TotalUnit>"+prescriptionInfoDO.getPackUnit()+"</TotalUnit>";
            condition1 += "<PrescribeMemo>"+"</PrescribeMemo>";
            condition1 += "<FryMode>"+"</FryMode>";
            condition1 += "<HerbalTakeMethodClass>"+"</HerbalTakeMethodClass>";
@ -1282,6 +1282,95 @@ public class XzzxEntranceService{
    }
    /**
     * 保存入门诊断信息到his
     * @param ApplyNo
     * @param DiagnosisName
     * @param DiagnosisCode
     * @param ChnSymPtomsCode
     * @param ChnSymPtomsName
     * @param ChnDiagnosisCode
     * @param ChnDiagnosisName
     * @return
     * @throws Exception
     */
    public String saveDiagnosis(String ApplyNo,String DiagnosisName,String DiagnosisCode,
                                             String ChnSymPtomsCode,String ChnSymPtomsName,String ChnDiagnosisCode,String ChnDiagnosisName)throws Exception{
        String api = "saveDiagnosis";
        String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
                "<root> " +
                "   <serverName>"+api+"</serverName>  " +
                "   <format>xml</format>" +
                "   <callOperator></callOperator> " +
                "   <certificate>"+key+"</certificate> " +
                "</root>";
        String condition ="";
        if (!StringUtils.isEmpty(ApplyNo)){
            condition += "<ApplyNo>"+ApplyNo+"</ApplyNo>";
        }
        if (!StringUtils.isEmpty(DiagnosisName)){
            condition += "<DiagnosisName>"+DiagnosisName+"</DiagnosisName>";
        }
        if (!StringUtils.isEmpty(DiagnosisCode)){
            condition += "<DiagnosisCode>"+DiagnosisCode+"</DiagnosisCode>";
        }
        condition+="<ChnSymPtomsCode>"+"</ChnSymPtomsCode>";
        condition+="<ChnSymPtomsName>"+"</ChnSymPtomsName>";
        condition+="<ChnDiagnosisCode>"+"</ChnDiagnosisCode>";
        condition+="<ChnDiagnosisName>"+"</ChnDiagnosisName>";
        String msgBody ="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                "<root>"+condition+"</root>";
        Map<String,String> params = new HashedMap();
        params.put("msgHeader",msgHeader);
        params.put("msgBody",msgBody);
        logger.info("saveDiagnosis params:"+params.toString());
        String xml = getXzzxWebServiceInfo("CallInterface",params,getOperateUrl());
        XMLSerializer xmlSerializer = new XMLSerializer();
        String json = xmlSerializer.read(xml).toString();
        logger.info(" saveDiagnosis json:"+json);
        return json;
    }
    /**
     * 发送退号信息到his
     * @param ApplyNo
     * @return
     * @throws Exception
     */
    public String refundConsultation(String ApplyNo,String PayCardNo)throws Exception{
        String api = "refundConsultation";
        String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
                "<root> " +
                "   <serverName>"+api+"</serverName>  " +
                "   <format>xml</format>" +
                "   <callOperator></callOperator> " +
                "   <certificate>"+key+"</certificate> " +
                "</root>";
        String condition ="";
        if (!StringUtils.isEmpty(ApplyNo)){
            condition += "<ApplyNo>"+ApplyNo+"</ApplyNo>";
        }
        if (!StringUtils.isEmpty(PayCardNo)){
            condition += "<PayCardNo>"+PayCardNo+"</PayCardNo>";
        }
        String msgBody ="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                "<root>"+condition+"</root>";
        Map<String,String> params = new HashedMap();
        params.put("msgHeader",msgHeader);
        params.put("msgBody",msgBody);
        logger.info("refundConsultation params:"+params.toString());
        String xml = getXzzxWebServiceInfo("CallInterface",params,getOperateUrl());
        XMLSerializer xmlSerializer = new XMLSerializer();
        String json = xmlSerializer.read(xml).toString();
        logger.info("refundConsultation json:"+json);
        return json;
    }
    /**
     * 组装检查检验项目参数
     *
@ -2716,7 +2805,7 @@ public Map checkSyncHis(String IoFlag,String PayCardNo,String NullahNumber,Strin
    /**
     *
     * 保存处方到entrance
     * @param ioFlag 门诊住院标志
     * @param payCardNo 就诊卡号
     * @param nullahNumber 挂号流水号
@ -2754,6 +2843,58 @@ public Map checkSyncHis(String IoFlag,String PayCardNo,String NullahNumber,Strin
        return jsonObject;
    }
    /**
     * 保存诊断到entrance
     * @param applyNo 必填,流水号
     * @param diagnosisName 必填,诊断名称
     * @param diagnosisCode 诊断代码
     * @return
     * @throws Exception
     */
    public JSONObject saveDiagnosisToEntrance(String applyNo,String diagnosisName,String diagnosisCode) throws Exception {
        JSONObject jsonObject = new JSONObject();
        String response = "";
        String url = entranceUrl+"saveDiagnosis";
        ObjectMapper mapper = new ObjectMapper();
        Map<String,String> params = new HashedMap();
        params.put("ApplyNo",applyNo);
        params.put("DiagnosisName",diagnosisName);
        params.put("DiagnosisCode",diagnosisCode);
        logger.info("params"+params.toString());
        response = httpClientUtil.httpPost(url,params);
        logger.info("诊断同步"+response);
        JSONObject object = JSONObject.parseObject(response);
        if(object.getInteger("status")==200){
            jsonObject = object.getJSONObject("obj");
        }
        return jsonObject;
    }
    /**
     * 发送退号信息到entrance
     * @param applyNo 必填,流水号
     * @param payCardNo 必填,卡号
     * @return
     * @throws Exception
     */
    public JSONObject refundConsultationToEntrance(String applyNo,String payCardNo) throws Exception {
        JSONObject jsonObject = new JSONObject();
        String response = "";
        String url = entranceUrl+"refundConsultation";
        ObjectMapper mapper = new ObjectMapper();
        Map<String,String> params = new HashedMap();
        params.put("ApplyNo",applyNo);
        params.put("PayCardNo",payCardNo);
        logger.info("params"+params.toString());
        response = httpClientUtil.httpPost(url,params);
        logger.info("诊断同步"+response);
        JSONObject object = JSONObject.parseObject(response);
        if(object.getInteger("status")==200){
            jsonObject = object.getJSONObject("obj");
        }
        return jsonObject;
    }
//=====================hospital应用调用entrance应用============end=================

+ 49 - 1
svr/svr-internet-hospital-entrance/src/main/java/com/yihu/jw/entrance/controller/XzzxCotroller.java

@ -16,7 +16,6 @@ import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionInfoVO;
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionVO;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.utils.StringUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -424,6 +423,55 @@ public class XzzxCotroller extends EnvelopRestEndpoint {
        }
        return ObjEnvelop.getSuccess("ok",xzzxEntranceService.savePrescriptionToHospital(IoFlag,PayCardNo,NullahNumber,ApplyDept,ApplyDoctor,ExecuteDept,prescriptionInfoDOList));
    }
    /**
     * 保存入门诊断信息到his
     * @param ApplyNo
     * @param DiagnosisName
     * @param DiagnosisCode
     * @param ChnSymPtomsCode
     * @param ChnSymPtomsName
     * @param ChnDiagnosisCode
     * @param ChnDiagnosisName
     * @return
     * @throws Exception
     */
    @PostMapping(value = "/saveDiagnosis")
    @ApiOperation(value = "保存入门诊断信息到his", notes = "保存入门诊断信息到his")
    public ObjEnvelop saveDiagnosis(@ApiParam(name = "ApplyNo", value = "必填,流水号", required = false)
                                                 @RequestParam(value = "ApplyNo",required = false)String ApplyNo,
                                                 @ApiParam(name = "DiagnosisName", value = "必填,诊断名称", required = false)
                                                 @RequestParam(value = "DiagnosisName",required = false)String DiagnosisName,
                                                 @ApiParam(name = "DiagnosisCode", value = "诊断代码", required = false)
                                                 @RequestParam(value = "DiagnosisCode",required = false)String DiagnosisCode,
                                                 @ApiParam(name = "ChnSymPtomsCode", value = "中医证型代码", required = false)
                                                 @RequestParam(value = "ChnSymPtomsCode",required = false)String ChnSymPtomsCode,
                                                 @ApiParam(name = "ChnSymPtomsName", value = "中医证型", required = false)
                                                 @RequestParam(value = "ChnSymPtomsName",required = false)String ChnSymPtomsName,
                                                 @ApiParam(name = "ChnDiagnosisCode", value = "中医诊断代码", required = false)
                                                 @RequestParam(value = "ChnDiagnosisCode",required = false)String ChnDiagnosisCode,
                                                 @ApiParam(name = "ChnDiagnosisName", value = "中医诊断名称", required = false)
                                                 @RequestParam(value = "ChnDiagnosisName",required = false)String ChnDiagnosisName)throws Exception{
        return ObjEnvelop.getSuccess("ok",xzzxEntranceService.saveDiagnosis(ApplyNo,DiagnosisName,DiagnosisCode,ChnSymPtomsCode,ChnSymPtomsName,ChnDiagnosisCode,ChnDiagnosisName));
    }
    /**
     * 发送退号信息到his
     * @param ApplyNo
     * @return
     * @throws Exception
     */
    @PostMapping(value = "/refundConsultation")
    @ApiOperation(value = "发送退号信息到his", notes = "发送退号信息到his")
    public ObjEnvelop refundConsultation(@ApiParam(name = "ApplyNo", value = "必填,流水号", required = false)
                                    @RequestParam(value = "ApplyNo",required = false)String ApplyNo,
                                    @ApiParam(name = "PayCardNo", value = "必填,就诊卡号", required = false)
                                    @RequestParam(value = "PayCardNo",required = false)String PayCardNo)throws Exception{
        return ObjEnvelop.getSuccess("ok",xzzxEntranceService.refundConsultation(ApplyNo,PayCardNo));
    }
    /**
     * 获取检验单据信息
     * @return

+ 13 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/consult/DoctorConsultEndpoint.java

@ -264,6 +264,19 @@ public class DoctorConsultEndpoint extends EnvelopRestEndpoint {
				String rsCode = "";
				String mes = "";
				if("xm_xzzx_wx".equals(wxId)){ //心脏中心挂号
					if (demoFlag.equalsIgnoreCase("true")){
						rsCode="0";
						mes="已退号";
					}else {
						JSONObject res = xzyyPrescriptionService.refundRegisterNo(outpatientCode);
						if (res!=null&&res.getString("code").equalsIgnoreCase("0")){
							rsCode = "0";
							mes="已退号";
						}else {
							rsCode = "-1";
							mes="退号失败";
						}
					}
				}else {
					if (demoFlag.equalsIgnoreCase("true")){