Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/apply/chain/ComboFillFormHandler.java =================================================================== diff -u -r18289 -r26696 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/apply/chain/ComboFillFormHandler.java (.../ComboFillFormHandler.java) (revision 18289) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/apply/chain/ComboFillFormHandler.java (.../ComboFillFormHandler.java) (revision 26696) @@ -75,8 +75,16 @@ * @param frame 打开了的桌面图标的frame(即当前申请单的frame) */ private void fillGeneral(ApplyGoodBo applyGoodBo, WebElement frame) { - applyComboServiceImpl.apply_oneSupplyRoom(applyGoodBo); - Utils.switchToFrame(frame); + //一级供应室申请多张通用申请单 + + applyComboServiceImpl.apply_oneSupplyRoom(applyGoodBo); + Utils.switchToFrame(frame); + + for(int i=0;i<2;i++){ + applyComboServiceImpl.apply_oneSupplyRoom2(applyGoodBo); + Utils.switchToFrame(frame); + } + applyGoodBo = ApplyGoodBoFactory.createApplyNormalGoodBo(SettingConstants.二级供应室用户, ApplyBtnEnum.COMBO); applyComboServiceImpl.apply_secondSupplyRoom(applyGoodBo); Utils.switchToFrame(frame); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/apply/service/ApplyComboServiceImpl.java =================================================================== diff -u -r18289 -r26696 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/apply/service/ApplyComboServiceImpl.java (.../ApplyComboServiceImpl.java) (revision 18289) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/apply/service/ApplyComboServiceImpl.java (.../ApplyComboServiceImpl.java) (revision 26696) @@ -38,8 +38,19 @@ ApplyHelper.handleApplyGoodWithTemplate(applyGoodBo, map, templateTousseGoods, templateDisposableGoods); } - @Override + public void apply_oneSupplyRoom2(ApplyGoodBo applyGoodBo) { + //打开申请单的窗口 + ApplyHelper.switchToApplyWindow(applyGoodBo); + //如果该科室存在对应的模板,则编辑模板物品的数量,这里默认编辑了左边和右边的grid的第一个物品的数量,日后可以根据对应的情况改写这段代码 + Map templateTousseGoods = ApplyHelper.createTemplateGoods(new Integer[][]{{0, 5}}); + Map map = new HashMap<>(); + map.put("一级供应室敷料包", 2); + map.put("一级供应室消毒物品1", 5); + ApplyHelper.handleApplyGoodWithTemplate(applyGoodBo, map, templateTousseGoods, null); + } + + @Override public void apply_secondSupplyRoom(ApplyGoodBo applyGoodBo) { //打开申请单的窗口 ApplyHelper.switchToApplyWindow(applyGoodBo); Index: ssts-web/src/test/resources/test/forgon/disinfectsystem/selenium/config/all/settings.json =================================================================== diff -u -r26524 -r26696 --- ssts-web/src/test/resources/test/forgon/disinfectsystem/selenium/config/all/settings.json (.../settings.json) (revision 26524) +++ ssts-web/src/test/resources/test/forgon/disinfectsystem/selenium/config/all/settings.json (.../settings.json) (revision 26696) @@ -165,6 +165,10 @@ "条码": "019000004", "名称": "清洗筐119" }, + "一级供应室清洗篮筐5": { + "条码": "019000007", + "名称": "清洗筐122" + }, "二级供应室清洗机": { "清洗机条码": "010173002", "清洗程序条码": "010172005" Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java =================================================================== diff -u -r26582 -r26696 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java (.../ALL.java) (revision 26582) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java (.../ALL.java) (revision 26696) @@ -31,8 +31,8 @@ import test.forgon.disinfectsystem.selenium.tools.Utils; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; +import com.forgon.disinfectsystem.common.CssdUtils; import com.forgon.tools.util.PathUtils; -import com.forgon.util.StringUtil; /** * @author cherry 2017-02-06 @@ -168,6 +168,11 @@ // supplyRoomConfigManager.save(supplyRoomConfig); /** + * 开启配置项 + */ + CssdUtils.setAndWriteConfigByNameAndValue("enbaleCheckToConfirm", Boolean.toString(true));//开启清点确认 + + /** * 一次性物品入库以及修改消毒物品包定义 * (由于省医增加配置一次性物品没库存无法申请,调整一次性物品入库到申请前) */ @@ -182,8 +187,8 @@ /********************************* * 回收清点 *********************************/ - logger.info("回收开始:"); - Utils.DateTime(); +// logger.info("回收开始:"); +// Utils.DateTime(); final String SERVER_URL = Utils.settings.get("服务器地址").toString(); Utils.driver.get(SERVER_URL + "/?logonType=1080p"); login.login_secondSupplyRoom(false); @@ -385,12 +390,77 @@ recyle.recyle_customSet(); logger.info("一级供应室消毒物品申请单回收完成"); JSWaiter.waitUntilJQueryReady(); + Utils.waitUntilUrlContains( + SERVER_URL + + "/disinfectsystem/touchScreen/recycle/awaitForRecycleList.jsp?resolution=1980", + 8); + } else { + JSWaiter.waitUntilJQueryReady(); + Utils.waitUntilUrlContains( + SERVER_URL + + "/disinfectsystem/touchScreen/recycle/awaitForRecycleList.jsp?resolution=1980", + 8); + } + + /** 消毒物品增加材料数量 */ + Utils.retryingFindAndClick(By.id("appTypeSelect")); + Utils.retryingFindAndClick(By + .cssSelector("option[value='通用申请单']")); + element = Utils.retryingFind(By.id("awaitForRecycleTable")); + if (Utils.isFind(element)) { + recyle.recycle_changeMaterialAmount(); + logger.info("消毒物品增加材料数量完成"); + JSWaiter.waitUntilJQueryReady(); + Utils.waitUntilUrlContains( + SERVER_URL + + "/disinfectsystem/touchScreen/recycle/awaitForRecycleList.jsp?resolution=1980", + 8); + } else { + JSWaiter.waitUntilJQueryReady(); + Utils.waitUntilUrlContains( + SERVER_URL + + "/disinfectsystem/touchScreen/recycle/awaitForRecycleList.jsp?resolution=1980", + 8); + } + + /** 清点确认*/ + Utils.retryingFindAndClick(By.id("appTypeSelect")); + Utils.retryingFindAndClick(By + .cssSelector("option[value='通用申请单']")); + element = Utils.retryingFind(By.id("awaitForRecycleTable")); + if (Utils.isFind(element)) { + recyle.recyle_checkAndConfirm(); + logger.info("清点确认回收完成"); + JSWaiter.waitUntilJQueryReady(); + Utils.waitUntilUrlContains( + SERVER_URL + + "/disinfectsystem/touchScreen/recycle/awaitForRecycleList.jsp?resolution=1980", + 8); + } else { + JSWaiter.waitUntilJQueryReady(); + JSWaiter.waitUntilJQueryReady(); + Utils.waitUntilUrlContains( + SERVER_URL + + "/disinfectsystem/touchScreen/recycle/awaitForRecycleList.jsp?resolution=1980", + 8); + } + + /** 部分回收 */ + Utils.retryingFindAndClick(By.id("appTypeSelect")); + Utils.retryingFindAndClick(By + .cssSelector("option[value='通用申请单']")); + element = Utils.retryingFind(By.id("awaitForRecycleTable")); + if (Utils.isFind(element)) { + recyle.recyle_partialRecycling(); + logger.info("部分回收完成"); + JSWaiter.waitUntilJQueryReady(); Utils.driver.get(Utils.settings.get("服务器地址").toString()); } else { JSWaiter.waitUntilJQueryReady(); Utils.driver.get(Utils.settings.get("服务器地址").toString()); } + /*** 一级供应室清洗 ***/ Utils.DateTime(); Index: ssts-web/src/test/java/test/forgon/constant/Constants.java =================================================================== diff -u -r26524 -r26696 --- ssts-web/src/test/java/test/forgon/constant/Constants.java (.../Constants.java) (revision 26524) +++ ssts-web/src/test/java/test/forgon/constant/Constants.java (.../Constants.java) (revision 26696) @@ -124,7 +124,13 @@ * 6、清洗筐121(条码:019000006,所属科室:测试手术室) */ public static final String CLASSIFY_BASKET_6 = "019000006"; + /** + * 7、清洗筐122(条码:019000007,所属科室:测试供应室) + */ + public static final String CLASSIFY_BASKET_7 = "019000007"; + + /** * 清洗机1(属性科室:测试供应室,条码:010173001,含有的清洗程序:P1、P2、P3、P4) */ public static final String RINSER_1 = "010173001"; Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/apply/service/ApplyComboService.java =================================================================== diff -u -r18289 -r26696 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/apply/service/ApplyComboService.java (.../ApplyComboService.java) (revision 18289) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/apply/service/ApplyComboService.java (.../ApplyComboService.java) (revision 26696) @@ -14,6 +14,11 @@ * 向处理科室一级供应室申请器械包、敷料包、消毒物品 */ void apply_oneSupplyRoom(ApplyGoodBo applyGoodBo); + + /** + * 向处理科室一级供应室申请器械包、敷料包、消毒物品 + */ + void apply_oneSupplyRoom2(ApplyGoodBo applyGoodBo); /** * 向处理科室二级供应室申请器械包、敷料包、消毒物品 @@ -24,4 +29,5 @@ * 供应室返回修改申请单,临床用户重新修改申请单提交,临床用户删除申请单,供应室终止申请单和终止申请单部分物品 */ void beforeApply(); + } Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Recyle.java =================================================================== diff -u -r26572 -r26696 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Recyle.java (.../Recyle.java) (revision 26572) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Recyle.java (.../Recyle.java) (revision 26696) @@ -402,8 +402,198 @@ fail(e.getMessage()); } } + + /** + * 修改消毒物品材料数量 + * */ + @Test + public void recycle_changeMaterialAmount() { + try { + // 输入临床科室条码,只显示临床科室的申请单 + Utils.retryingFindAndSendKeys(By.tagName("body"), Utils.settings + .getJSONObject("临床科室").getString("条码") + "\n"); + + Utils.retryingFindClickFirstCellOfTable(By.id("awaitForRecycleTable")); + waitUrlChange(); + + /** + * 修改材料数量 + */ + //点击呼吸机 +// Utils.retryingFindAndClick(By.cssSelector("input[type='text'][value='呼吸机']")); + Utils.retryingFindAndClick(By.id("showTousseName2")); + Utils.driver.switchTo().defaultContent(); + Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); + WebElement materialItemsTable = Utils.retryingFind(By.id("materialItemsTable")); + List addButtonList = materialItemsTable.findElements(By.className("add")); + //点击增加材料按钮:“+” + for(int i=0;i wait = WaitFactory.createDefaultWait(); + wait.until(ExpectedConditions.alertIsPresent()); + Alert alertBox = Utils.driver.switchTo().alert(); + alertBox.accept(); + + String recyclingFormWindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(recyclingFormWindowhandle); + + //扫描篮筐 + WebElement tousseItemTable = this.scanRecycleUserBarcode(); + tousseItemTable.sendKeys(Utils.settings.getJSONObject("一级供应室清洗篮筐3") + .getString("条码") + "\n"); + dialogWindowClose(); + tousseItemTable = Utils.retryingFind(By.id("tousseItemTable")); + List addButtons = tousseItemTable.findElements(By + .cssSelector(".btn-a")); + //点击入筐按钮 + for(int i=0;i addButtons = tousseItemTable.findElements(By + .cssSelector(".btn-a")); + for(int i=0;i addButtons = tousseItemTable.findElements(By + .cssSelector(".btn-a")); + //部分回收,只回收一个包 + addButtons.get(0).click(); + dialogClose(); + + Utils.retryingFindAndClick(By.id("saveBtn")); + dialogWindowClose(); + + //保存后,断言待回收列表、回收记录列表同时存在回收记录 + Utils.retryingFindAndClick(By.id("appTypeSelect")); + Utils.retryingFindAndClick(By + .cssSelector("option[value='通用申请单']")); + element = Utils.retryingFindForthCellOfTable(By + .id("awaitForRecycleTable")); + //待回收记录 + WebElement await = Utils.driver.findElement(By.xpath("//*[@id='awaitForRecycleTable']//tr[1]/td[2]")); + String applyTime1 = await.getText(); + String style1 = await.getAttribute("style"); + //已回收记录 + WebElement record = Utils.driver.findElement(By.xpath("//*[@id='recyclingRecordTable']//tr[1]/td[6]")); + String applyTime2 = record.getText(); + String style2 = record.getAttribute("background-color: yellow;"); + //通过申请时间断言这两条记录为同一申请单 + assertTrue("待回收列表第一条申请单不是部分回收申请单!","background-color: yellow;".equals(style1)); + assertTrue("回收记录列表第一条申请单不是部分回收申请单!","background-color: yellow;".equals(style2)); + assertTrue("申请时间不一致,不是同一张申请单!",applyTime1.equals(applyTime2)); + + } catch (Exception e) { + e.printStackTrace(); + fail(e.getMessage()); + } + } + + + /** * 一级供应室回收二级供应室使用记录转换的申请单 * */ @Test Index: ssts-web/src/test/java/test/forgon/disinfectsystem/CSSDTestDataProcess.java =================================================================== diff -u -r26524 -r26696 --- ssts-web/src/test/java/test/forgon/disinfectsystem/CSSDTestDataProcess.java (.../CSSDTestDataProcess.java) (revision 26524) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/CSSDTestDataProcess.java (.../CSSDTestDataProcess.java) (revision 26696) @@ -1944,6 +1944,17 @@ container10.setDepartName(Constants.ORG_UNIT_NAME_OR); containerManager.saveOrUpdate(container10); + Container container11 = new Container(); + container11.setBarcode(Constants.Barcode.CLASSIFY_BASKET_7); + container11.setContainerName("清洗筐122"); + container11.setPurpose(Container.CONTAINER_PURPOSE_CLEAN_BASKET); + container11.setContainerType(Container.CONTAINERTYPE_BASKET); + container11.setStatus(Container.CONTAINER_STATUS_FREE); + container11.setType(BarcodeDevice.BARCODE_TYPE_CONTAINER); + container11.setDepartCode(Constants.ORG_UNIT_CODE_CSSD); + container11.setDepartName(Constants.ORG_UNIT_NAME_CSSD); + containerManager.saveOrUpdate(container11); + containerManager.createVirtualContainer(999 , null); }