Index: ssts-web/src/test/java/test/forgon/disinfectsystem/tousseInstanceManager/TousseInstanceManagerTests.java =================================================================== diff -u -r38505 -r38591 --- ssts-web/src/test/java/test/forgon/disinfectsystem/tousseInstanceManager/TousseInstanceManagerTests.java (.../TousseInstanceManagerTests.java) (revision 38505) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/tousseInstanceManager/TousseInstanceManagerTests.java (.../TousseInstanceManagerTests.java) (revision 38591) @@ -2,109 +2,27 @@ import static org.junit.Assert.assertEquals; +import java.util.HashSet; +import java.util.Set; + import org.apache.commons.lang3.StringUtils; import org.junit.Test; -import static org.junit.Assert.*; import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.directory.model.BarcodeDevice; import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.packing.ReviewedBasket; import com.forgon.disinfectsystem.entity.sterilizationTransition.SterilizationTransition; import com.forgon.disinfectsystem.entity.sterilizationTransition.SterilizationTransitionItem; -import com.forgon.disinfectsystem.entity.sterilizationTransition.SterilizationTransitionItemVO; import com.forgon.serialnumber.model.SerialNum; import test.forgon.disinfectsystem.AbstractCSSDTest; public class TousseInstanceManagerTests extends AbstractCSSDTest { /** - * 验证灭菌交接扫描器械包条码,验证灭菌方式是否一致 - */ - @Test - public void TestLoadTousseInstanceByBarcodeforSterilizationTransition(){ - makeActiveUser("cssduser1"); - //当前登录用户不能代理灭菌自己科室处理的包 - String orgUnitCoding = AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig(); - String orgUnitCodingOther = orgUnitCoding+"1"; - //方法所属参数 - Long sterilizationTransitionId = null; - String barcode = null; - String oldSterilizationMode = null; - boolean checkSterilizationMode = true; - //构建场景数据 - - SterilizationTransition sterilizationTransition = new SterilizationTransition(); - objectDao.saveOrUpdate(sterilizationTransition); - sterilizationTransitionId = sterilizationTransition.getId(); - - TousseDefinition td1 = new TousseDefinition(); - td1.setTousseType(TousseDefinition.PACKAGE_TYPE_INSIDE); - td1.setName("测试灭菌交接扫描条码场景的包1"); - td1.setTousseType(TousseDefinition.PACKAGE_TYPE_INSIDE); - //td1.setTaskGroup("任务组1"); - objectDao.saveOrUpdate(td1); - - TousseInstance ti1 = new TousseInstance(); - ti1.setTousseFixedBarcode(false); - ti1.setTousseDefinition(td1); - ti1.setOrgUnitCoding(orgUnitCodingOther); - ti1.setBarcode(serialNumManager.getSerialNumberStr(SerialNum.TYPE_BARCODE)); - ti1.setSterilingMode("灭菌方式1"); - ti1.setTousseName(td1.getName()); - ti1.setStatus(TousseInstance.STATUS_REVIEWED); - objectDao.saveOrUpdate(ti1); - oldSterilizationMode = ti1.getSterilingMode(); - - TousseInstance ti2 = new TousseInstance(); - ti2.setTousseFixedBarcode(false); - ti2.setTousseDefinition(td1); - ti2.setOrgUnitCoding(orgUnitCodingOther); - ti2.setBarcode(serialNumManager.getSerialNumberStr(SerialNum.TYPE_BARCODE)); - ti2.setSterilingMode("灭菌方式2"); - ti2.setTousseName(td1.getName()); - ti2.setStatus(TousseInstance.STATUS_REVIEWED); - objectDao.saveOrUpdate(ti2); - barcode = ti2.getBarcode(); - - - SterilizationTransitionItem item1 = new SterilizationTransitionItem(); - item1.setTousseDefinitionId(td1.getId()); - item1.setSterilizationTransition(sterilizationTransition); - item1.setTousseInstanceId(ti1.getId()); - item1.setTousseInstanceBarcode(ti1.getBarcode()); - objectDao.saveOrUpdate(item1); - String msg = null; - //灭菌交接中已经录入了灭菌方式为灭菌方式1的ti1,然后扫灭菌方式为灭菌方式2的ti2的条码,必须拦截 - try { - tousseInstanceManager.loadTousseInstanceByBarcodeforSterilizationTransition(barcode, sterilizationTransitionId, oldSterilizationMode, checkSterilizationMode); - } catch (Exception e) { - msg = e.getMessage(); - } - String tiSterilingModeMessage = ""; - if(StringUtils.isNotBlank(ti2.getSterilingMode())){ - tiSterilingModeMessage = "属于【" + ti2.getSterilingMode() + "】物品"; - } - String oldSterilingModeMessage = ""; - if(StringUtils.isNotBlank(oldSterilizationMode)){ - oldSterilingModeMessage = "【" + oldSterilizationMode + "】"; - } - assertEquals(msg, "【" + ti2.getTousseName() + "】" + tiSterilingModeMessage + "与原有" + oldSterilingModeMessage + "物品的灭菌方式不一致,不能录入。"); - //灭菌交接中已经录入了灭菌方式为灭菌方式1的ti1,然后扫灭菌方式为灭菌方式1的ti2的条码,可以通过 - ti2.setSterilingMode(ti1.getSterilingMode()); - objectDao.saveOrUpdate(ti2); - SterilizationTransitionItemVO vo = null; - try { - vo = tousseInstanceManager.loadTousseInstanceByBarcodeforSterilizationTransition(barcode, sterilizationTransitionId, oldSterilizationMode, checkSterilizationMode); - } catch (Exception e) { - msg = e.getMessage(); - } - assertNotNull(vo); - assertEquals(vo.getTousseInstanceId(), ti2.getId()); - } - /** * 验证灭菌交接扫描篮筐时,验证灭菌方式是否一致 */ @Test @@ -120,6 +38,7 @@ //构建场景数据 Container container = new Container(); container.setBarcode(serialNumManager.getSerialNumberStr(SerialNum.TYPE_BARCODE)); + container.setContainerName("测试篮筐1"); objectDao.saveOrUpdate(container); containerBarcode = container.getBarcode(); ReviewedBasket rb = new ReviewedBasket(); @@ -168,8 +87,16 @@ String msg = null; //灭菌交接中已经录入了灭菌方式为灭菌方式1的ti1,然后扫篮筐内有灭菌方式为灭菌方式2的篮筐的条码,拦截 + BarcodeDevice barcodeDevice = new BarcodeDevice(); + barcodeDevice.setBarcode(containerBarcode); + barcodeDevice.setId(container.getId()); + barcodeDevice.setType(container.getType()); try { - tousseInstanceManager.checkSterilizationMode(containerBarcode, sterilizationTransitionId, oldSterilizationMode); + Long proxyDisinfectionId = null; + Set tousseInstanceIdsOfScanned = new HashSet(); + String containerBarcodeOfScanned = ""; + tousseInstanceManager.checkSterilizationMode(sterilizationTransitionId, proxyDisinfectionId, tousseInstanceIdsOfScanned + , containerBarcodeOfScanned, container); } catch (Exception e) { msg = e.getMessage(); } @@ -188,7 +115,11 @@ objectDao.saveOrUpdate(ti2); msg = ""; try { - tousseInstanceManager.checkSterilizationMode(containerBarcode, sterilizationTransitionId, oldSterilizationMode); + Long proxyDisinfectionId = null; + Set tousseInstanceIdsOfScanned = new HashSet(); + String containerBarcodeOfScanned = ""; + tousseInstanceManager.checkSterilizationMode(sterilizationTransitionId, proxyDisinfectionId, tousseInstanceIdsOfScanned + , containerBarcodeOfScanned, container); } catch (Exception e) { msg = e.getMessage(); } @@ -206,7 +137,11 @@ objectDao.saveOrUpdate(ti3); //灭菌交接中已经录入了灭菌方式为灭菌方式1的ti1,然后扫篮筐内有灭菌方式为灭菌方式1和3的篮筐的条码,拦截 try { - tousseInstanceManager.checkSterilizationMode(containerBarcode, sterilizationTransitionId, oldSterilizationMode); + Long proxyDisinfectionId = null; + Set tousseInstanceIdsOfScanned = new HashSet(); + String containerBarcodeOfScanned = ""; + tousseInstanceManager.checkSterilizationMode(sterilizationTransitionId, proxyDisinfectionId, tousseInstanceIdsOfScanned + , containerBarcodeOfScanned, container); } catch (Exception e) { msg = e.getMessage(); }