Index: ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/mq/dao/dgszyy/MQHelper.java =================================================================== diff -u -r29887 -r30591 --- ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/mq/dao/dgszyy/MQHelper.java (.../MQHelper.java) (revision 29887) +++ ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/mq/dao/dgszyy/MQHelper.java (.../MQHelper.java) (revision 30591) @@ -92,7 +92,7 @@ } //请求响应消费方:一次请求,一条响应 或者 推送发送方:一次推送,一条推送结果(EHSB平台提供的平台接入方法) logger.debug("开始查询并解析手术申请单住院病人信息"); - String fid = "BS10003"; + String fid = "BS30002"; String Req = "1XDGYZSXT123456" + fid + "" + fid + "S17001" + "" + fid + "" + fid + "S17001S17S00DG01" + DateTools.getCurrentDayByFormat("yyyy-MM-dd HH:mm:ss")+ "" + "0500" @@ -113,6 +113,32 @@ e.printStackTrace(); logger.debug("连接消息队列失败!" + e); } +/* responce = "" + + "" + + "BS30002" + + "BS30002S17001" + + "S00" + + "S17" + + "DG01" + + "2021-02-01 15:51:14.423" + + "" + + "" + + "1" + + "query success" + + "" + + "" + + "1" + + "1" + + "" + + "" + + "" + + "112788711127887001111278870012018-07-16T15:20:002018-07-16T16:05:001212右胫骨骨折切复空心螺钉内固定术腰硬联合麻醉0715谭志锋1593黄浩波汤华倩0499龙丽如0720陈杰0720陈杰0499龙丽如汤华倩1002012302骨七科病区1.胫骨骨折 (右胫骨远端骨折)450126200708044922葛英霞2007-08-04T00:00:00汉族1]]>" + + "" + + "" + + "112788711127887002111278870022019-07-06T14:10:002019-07-06T14:45:000505右胫骨螺钉取除术腰硬联合麻醉Ⅰ类1593黄浩波0746刘亮洪2669林翠婷1850郭启仁李刚李刚1850郭启仁2669林翠婷1002012302骨七科病区右胫骨远端骨骺骨折术后450126200708044922葛英霞2007-08-04T00:00:00汉族1]]>" + + "" + + "" + +"";*/ if (StringUtils.isNotBlank(responce)) { // 开始解析 try { @@ -136,21 +162,26 @@ Document document = DocumentHelper.parseText(patientInfo); // 解析住院病人信息并入库 String hospitalNumberXpath = "/msg/body/row/INHOSP_INDEX_NO"; + String circuitNurseXpath = "/msg/body/row/TOUR_NURSE_NAME"; String serialNumberXpath = "/msg/body/row/INHOSP_NO"; String patientNameXpath = "/msg/body/row/PAT_NAME"; String patientBirthdayXpath = "/msg/body/row/DATE_BIRTH"; String patientSexXpath = "/msg/body/row/PHYSI_SEX_NAME"; String patientIDCardXpath = "/msg/body/row/ID_NUMBER"; - String doctorNameXpath = "/msg/body/row/CHIEF_DR_NAME"; - String operationXpath = "/msg/body/row/SURGERY_HISTORY"; - String operationTimeXpath = "/msg/body/row/RECORD_DATE"; - String patientAreaXpath = "/msg/body/row/ADMIT_WARD_NAME"; - String ascriptionDepartmentXpath = "/msg/body/row/ADMIT_DEPT_NAME"; + String doctorNameXpath = "/msg/body/row/SURGERY_DR_NAME"; + String operationXpath = "/msg/body/row/SURGERY_OPER_NAME"; + String operationTimeXpath = "/msg/body/row/SURGERY_BEGIN_DATE"; + //String patientAreaXpath = "/msg/body/row/ADMIT_WARD_NAME"; + String ascriptionDepartmentXpath = "/msg/body/row/SURGERY_DEPT_NAME"; + String opRoomIdXpath = "/msg/body/row/SURGERY_ROOM_NAME"; String roomNumberXpath = null; // 没有对应的房间号字段 - String bedNumberXpath = "/msg/body/row/ADMIT_BED_INDEX_NO"; + //String bedNumberXpath = "/msg/body/row/ADMIT_BED_INDEX_NO"; String visitDateXpath = "/msg/body/row/RECORD_DATE"; + String visitAmountXpath = "/msg/body/row/INHOSP_NUM"; + String operationScheduleIdXpath = "/msg/body/row/SURGERY_NO"; String hospitalNumber = processDataByXpath(document, hospitalNumberXpath); + String circuitNurse = processDataByXpath(document, circuitNurseXpath); String serialNumber = processDataByXpath(document, serialNumberXpath); String patientName = processDataByXpath(document, patientNameXpath); String patientBirthday = processDataByXpath(document, patientBirthdayXpath); @@ -159,10 +190,14 @@ String doctorName = processDataByXpath(document, doctorNameXpath); String operation = processDataByXpath(document, operationXpath); String operationTime = processDataByXpath(document, operationTimeXpath); - String patientArea = processDataByXpath(document, patientAreaXpath); + if (StringUtils.isNotBlank(operationTime)) { + operationTime = operationTime.replace("T", " "); + } + //String patientArea = processDataByXpath(document, patientAreaXpath); String ascriptionDepartment = processDataByXpath(document, ascriptionDepartmentXpath); String roomNumber = processDataByXpath(document, roomNumberXpath); - String bedNumber = processDataByXpath(document, bedNumberXpath); + String opRoomId = processDataByXpath(document, opRoomIdXpath); + //String bedNumber = processDataByXpath(document, bedNumberXpath); String visitDate = processDataByXpath(document, visitDateXpath); // 记录录入时间 if (StringUtils.isNotBlank(visitDate)) { visitDate = visitDate.replace("T", " "); @@ -173,9 +208,12 @@ Date date = DateTools.convertTime(patientBirthday, sdf); patientBirthday = DateTools.getFormatDateStr(date, "yyyy-MM-dd HH:mm:ss"); } + String visitAmount = processDataByXpath(document, visitAmountXpath); + String operationScheduleId = processDataByXpath(document, operationScheduleIdXpath); PatientInfoVO patientInfoVO = new PatientInfoVO(); patientInfoVO.setHospitalNumber(hospitalNumber); + patientInfoVO.setCircuitNurse(circuitNurse); patientInfoVO.setSerialNumber(serialNumber); patientInfoVO.setPatientName(patientName); patientInfoVO.setPatientAge(birthdayToAge(patientBirthday)); @@ -184,11 +222,14 @@ patientInfoVO.setDoctorName(doctorName); patientInfoVO.setOperation(operation); patientInfoVO.setOperationTime(operationTime); - patientInfoVO.setPatientArea(patientArea); + //patientInfoVO.setPatientArea(patientArea); patientInfoVO.setAscriptionDepartment(ascriptionDepartment); patientInfoVO.setRoomNumber(roomNumber); - patientInfoVO.setBedNumber(bedNumber); + patientInfoVO.setOpRoomId(opRoomId); + //patientInfoVO.setBedNumber(bedNumber); patientInfoVO.setVisitDate(visitDate); + patientInfoVO.setVisitId(StringUtils.isBlank(visitAmount) ? null : Long.valueOf(visitAmount)); + patientInfoVO.setOperationScheduleId(operationScheduleId); if (!checkObjAllFieldsIsNull(patientInfoVO)) { patientInfoVOList.add(patientInfoVO); @@ -206,6 +247,9 @@ if (StringUtils.isBlank(o2.getVisitDate()) && StringUtils.isNotBlank(o1.getVisitDate())) { return 1; } + if(StringUtils.isBlank(o1.getVisitDate()) || StringUtils.isBlank(o2.getVisitDate())){ + return 0; + } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { Date date1 = sdf.parse(o1.getVisitDate()); Index: ssts-web/build.gradle =================================================================== diff -u -r30471 -r30591 --- ssts-web/build.gradle (.../build.gradle) (revision 30471) +++ ssts-web/build.gradle (.../build.gradle) (revision 30591) @@ -407,7 +407,7 @@ // 拷贝SDKConfig.properties,到/resources目录下(东莞中医院DGZYY-174) def SDKConfigFileSource = webProjectDir + "/src/main/webapp/disinfectsystem/config/" + projectName + "/interfaces/mqConfig/SDKConfig.properties" - def SDKConfigFileDirTarget = webAppClassesDir; + def SDKConfigFileDirTarget = webProjectDir + "/src/main/resources"; def existSDKConfigFile = new File(SDKConfigFileSource).exists(); if(existSDKConfigFile){ println "拷贝SDKConfig.properties到" + SDKConfigFileDirTarget;