Index: ssts-web/src/main/webapp/disinfectsystem/config/qhrsgzzyy/spring/webservice-cxf.xml
===================================================================
diff -u -r40985 -r41002
--- ssts-web/src/main/webapp/disinfectsystem/config/qhrsgzzyy/spring/webservice-cxf.xml (.../webservice-cxf.xml) (revision 40985)
+++ ssts-web/src/main/webapp/disinfectsystem/config/qhrsgzzyy/spring/webservice-cxf.xml (.../webservice-cxf.xml) (revision 41002)
@@ -25,6 +25,17 @@
implementor="#CssdMessageServiceV4" />
+
+
+
+
+
+
+
+
+
+
Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/datasync/common/CssdMessageWebServiceV4Impl.java
===================================================================
diff -u -r40976 -r41002
--- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/datasync/common/CssdMessageWebServiceV4Impl.java (.../CssdMessageWebServiceV4Impl.java) (revision 40976)
+++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/datasync/common/CssdMessageWebServiceV4Impl.java (.../CssdMessageWebServiceV4Impl.java) (revision 41002)
@@ -98,6 +98,8 @@
private DateQueryAdapter dateQueryAdapter;
@Autowired
private TousseDefinitionManager tousseDefinitionManager;
+ @Autowired(required=false)
+ private CssdUseRecordServiceV4 cssdMessageUseRecordServiceV4;
/**
* 同步配置(取自各项目的参数名称配置文件fieldsMappingTalbe.json)
@@ -135,7 +137,11 @@
} else if ("INSTRUMENT_SET_DEFINITION_INFO_QUERY".equals(action)){
result = this.tousseDefinitionInfoQuery(action, message);
} else if ("INSTRUMENT_SET_USERECORD_REGISTRATION".equals(action)) {
- result = this.useRecordRegister(action, message);
+ if(cssdMessageUseRecordServiceV4 != null){
+ result = cssdMessageUseRecordServiceV4.CssdUseRecordService(message);
+ }else{
+ result = this.useRecordRegister(action, message);
+ }
} else if ("INSTRUMENT_SET_TRACE_INFO_QUERY".equals(action)) {
result = this.tousseTraceInfoQuery(action, message);
} else if ("INSTRUMENT_SET_USERECORD_INFO_QUERY".equals(action)) {
Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/datasync/common/CssdUseRecordServiceV4Impl.java
===================================================================
diff -u -r40324 -r41002
--- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/datasync/common/CssdUseRecordServiceV4Impl.java (.../CssdUseRecordServiceV4Impl.java) (revision 40324)
+++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/datasync/common/CssdUseRecordServiceV4Impl.java (.../CssdUseRecordServiceV4Impl.java) (revision 41002)
@@ -5,6 +5,7 @@
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -308,6 +309,9 @@
}
tiBarcode = tousseInstance.getBarcode();
}
+ if(tousseInsBarcodes.contains(tiBarcode)){
+ throw new RuntimeException(String.format("器械包实例条码%s重复推送!", tiBarcode));
+ }
tousseInsBarcodes.add(tiBarcode);
// 加急的
String urgentLevelId = processDataByXpath(document, null, urgentLevelIdXpath);
@@ -430,6 +434,8 @@
List statusErrorTiList = new ArrayList();
// 1、查询器械包实例
if(CollectionUtils.isNotEmpty(tousseInsBarcodes)){
+ //去除重复条码
+ tousseInsBarcodes = new ArrayList(new LinkedHashSet(tousseInsBarcodes));
for (String code : tousseInsBarcodes) {
BarcodeDevice bd = barcodeManager.getBarcodeByBarcode(code);
if (bd instanceof TousseInstance) {
@@ -445,6 +451,8 @@
//内镜循环实例id
if(CollectionUtils.isNotEmpty(endoscopeCycleInstanceIdList)){
+ //去除重复内镜循环实例id
+ endoscopeCycleInstanceIdList = new ArrayList(new LinkedHashSet(endoscopeCycleInstanceIdList));
List tousseInstanceList = objectDao.getCollection(TousseInstance.class.getSimpleName(), "endoscopeCycleInstanceId", endoscopeCycleInstanceIdList);
if(CollectionUtils.isEmpty(tousseInstanceList)){
throw new RuntimeException("内镜循环实例id" + StringTools.join(endoscopeCycleInstanceIdList, "、") + "没有关联的器械包实例");