Index: ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/mq/dao/dgszyy/MQDataDaoImpl.java
===================================================================
diff -u -r29878 -r29887
--- ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/mq/dao/dgszyy/MQDataDaoImpl.java (.../MQDataDaoImpl.java) (revision 29878)
+++ ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/mq/dao/dgszyy/MQDataDaoImpl.java (.../MQDataDaoImpl.java) (revision 29887)
@@ -79,7 +79,8 @@
private void buildOrgUnitSyncListener() {
EwellServiceTool ewellServiceTool = new EwellServiceTool();
try {
- ewellServiceTool.buildTopicListener(MQHelper.queueManagerName, "EQ.S17.PS02017.COLLECT", "S17", new MessageHandler() {
+ logger.info("监听科室EQ.S17.PS02017.COLLECT队列");
+ ewellServiceTool.buildTopicListener(MQHelper.ORGANDUSERQUEUEMANAGERNAME, "EQ.S17.PS02017.COLLECT", "S17", new MessageHandler() {
@Override
public void onMessage(MessageEntity messageEntity) {
if(messageEntity != null){
@@ -109,6 +110,10 @@
* @param orgUnitString
*/
private void synchAllOrgUnitVoData(String orgUnitString) {
+ /*String orgResult= "PS02017DG01PS02017S17001S92S17-12020-12-11 13:20:30"
+ + "admin2020-11-26 18:34:34admin2020-12-11 13:20:12102780101内一科病区1NYKBQMGTUA011002010102内一科科室02病区21是888"
+ + "admin2020-11-26 18:34:34admin2020-12-11 13:20:12102780101内一科病区2NYKBQMGTUA011002010102内一科科室02病区21是888"
+ + "";*/
try {
// 解析入库
if (StringUtils.isNotBlank(orgUnitString)) {
@@ -123,29 +128,23 @@
List orgUnitVoList = new ArrayList();
for (int i = 1; i <= nodeList2.size(); i++) {
String msgXpath = "/ESBEntry/MsgInfo/Msg[" + i + "]";
- String orgUnitInfo = MQHelper.processDataByXpath(doc, msgXpath); // 科室信息
- if(StringUtils.isNotBlank(orgUnitInfo)){
- Document document = DocumentHelper.parseText(orgUnitInfo);
- String actionXpath = "/Msg/@action"; //action判断增、删、改
- String codingXpath = "/Msg/DEPT_CODE"; // 科室代码
- String nameXpath = "/Msg/DEPT_NAME"; // 科室名称
- String parentCodingXpath = "/Msg/SUPERIOR_DEPT_CODE"; // 上级科室代码
- String action = MQHelper.processDataByXpath(document, actionXpath);
- String coding = MQHelper.processDataByXpath(document, codingXpath);
- String name = MQHelper.processDataByXpath(document, nameXpath);
- String parentCoding = MQHelper.processDataByXpath(document, parentCodingXpath);
- // 构建科室VO
- OrgUnitVo orgUnitVo = new OrgUnitVo();
- orgUnitVo.setCoding(coding);
- orgUnitVo.setName(name);
- orgUnitVo.setParentCoding(parentCoding);
- if("insert".equals(action) || "update".equals(action)){
- orgUnitVoList.add(orgUnitVo);
- }else{
- logger.debug("成功接收科室同步的数据!action = " + action + " 不同步科室!");
- }
+ String actionXpath = msgXpath + "/@action"; //action判断增、删、改
+ String codingXpath = msgXpath + "/DEPT_CODE"; // 科室代码
+ String nameXpath = msgXpath + "/DEPT_NAME"; // 科室名称
+ String parentCodingXpath = msgXpath + "/SUPERIOR_DEPT_CODE"; // 上级科室代码
+ String action = MQHelper.processDataByXpath(doc, actionXpath);
+ String coding = MQHelper.processDataByXpath(doc, codingXpath);
+ String name = MQHelper.processDataByXpath(doc, nameXpath);
+ String parentCoding = MQHelper.processDataByXpath(doc, parentCodingXpath);
+ // 构建科室VO
+ OrgUnitVo orgUnitVo = new OrgUnitVo();
+ orgUnitVo.setCoding(coding);
+ orgUnitVo.setName(name);
+ orgUnitVo.setParentCoding(parentCoding);
+ if("insert".equals(action) || "update".equals(action)){
+ orgUnitVoList.add(orgUnitVo);
}else{
- logger.info("找不到/ESBEntry/MsgInfo/Msg节点内容为空!");
+ logger.debug("成功接收科室同步的数据!action = " + action + " 不同步科室!");
}
}
OrgUnitVo[] allVos = new OrgUnitVo[orgUnitVoList.size()];
@@ -175,9 +174,10 @@
*/
@SuppressWarnings("deprecation")
private void buildUserSyncListener () {
+ logger.info("监听用户EQ.S17.PS02018.COLLECT队列");
EwellServiceTool ewellServiceTool = new EwellServiceTool();
try {
- ewellServiceTool.buildTopicListener(MQHelper.queueManagerName, "EQ.S17.PS02018.COLLECT", "S17", new MessageHandler() {
+ ewellServiceTool.buildTopicListener(MQHelper.ORGANDUSERQUEUEMANAGERNAME, "EQ.S17.PS02018.COLLECT", "S17", new MessageHandler() {
@Override
public void onMessage(MessageEntity messageEntity) {
if(messageEntity != null){
@@ -205,6 +205,9 @@
* 解析用户信息
*/
private void synchAllUserVoData(String userString) {
+ /*String userResult = "PS02018DG01PS02018S17001S92S17-12020-12-11 10:32:14"
+ + "admin2020-11-26 19:04:23admin2020-12-11 10:32:03105570004何炎燊HYSWO1972-11-06 00:00:001男10010605总院门诊开单10010605总院门诊开单1医生0882"
+ + "";*/
try {
// 解析入库
if (StringUtils.isNotBlank(userString)) {
@@ -219,29 +222,23 @@
List userVoList = new ArrayList();
for (int i = 1; i <= nodeList2.size(); i++) {
String msgXpath = "/ESBEntry/MsgInfo/Msg[" + i + "]";
- String userInfo = MQHelper.processDataByXpath(doc, msgXpath); // 用户信息
- if(StringUtils.isNotBlank(userInfo)){
- Document document = DocumentHelper.parseText(userInfo);
- String actionXpath = "/Msg/@action"; //action判断增、删、改
- String codeXpath = "/Msg/STAFF_CODE"; // 职工工号
- String staffNameXpath = "/Msg/STAFF_NAME"; // 职工姓名
- String orgUnitCodingXpath = "/Msg/SUBOR_DEPT_CODE"; // 从属科室代码
- String action = MQHelper.processDataByXpath(document, actionXpath);
- String staffCode = MQHelper.processDataByXpath(document, codeXpath);
- String staffName = MQHelper.processDataByXpath(document, staffNameXpath);
- String orgUnitCoding = MQHelper.processDataByXpath(document, orgUnitCodingXpath);
- // 构建人员VO
- UserVo userVo = new UserVo();
- userVo.setCoding(staffCode);
- userVo.setName(staffName);
- userVo.setDeptCode(orgUnitCoding);
- if("insert".equals(action) || "update".equals(action)){
- userVoList.add(userVo);
- }else{
- logger.debug("成功接收人员同步的数据!action = " + action + " 不同步人员!");
- }
+ String actionXpath = msgXpath + "/@action"; //action判断增、删、改
+ String codeXpath = msgXpath + "/STAFF_CODE"; // 职工工号
+ String staffNameXpath = msgXpath + "/STAFF_NAME"; // 职工姓名
+ String orgUnitCodingXpath = msgXpath + "/SUBOR_DEPT_CODE"; // 从属科室代码
+ String action = MQHelper.processDataByXpath(doc, actionXpath);
+ String staffCode = MQHelper.processDataByXpath(doc, codeXpath);
+ String staffName = MQHelper.processDataByXpath(doc, staffNameXpath);
+ String orgUnitCoding = MQHelper.processDataByXpath(doc, orgUnitCodingXpath);
+ // 构建人员VO
+ UserVo userVo = new UserVo();
+ userVo.setCoding(staffCode);
+ userVo.setName(staffName);
+ userVo.setDeptCode(orgUnitCoding);
+ if("insert".equals(action) || "update".equals(action)){
+ userVoList.add(userVo);
}else{
- logger.info("找不到/ESBEntry/MsgInfo/Msg节点内容为空!");
+ logger.debug("成功接收人员同步的数据!action = " + action + " 不同步人员!");
}
}
UserVo[] allVos = new UserVo[userVoList.size()];
Index: ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/mq/dao/dgszyy/MQHelper.java
===================================================================
diff -u -r29626 -r29887
--- ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/mq/dao/dgszyy/MQHelper.java (.../MQHelper.java) (revision 29626)
+++ ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/mq/dao/dgszyy/MQHelper.java (.../MQHelper.java) (revision 29887)
@@ -42,6 +42,11 @@
public static String queueManagerName = "QMGR.S17";
/**
+ * 科室人员同步队列管理器名称
+ */
+ public static String ORGANDUSERQUEUEMANAGERNAME = "QMGR.P17";
+
+ /**
* 获取入院病人信息(东莞中医院)
* 需要发送带有住院号的xml消息到平台,然后平台再返回对应的住院病人信息
* @return