Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java =================================================================== diff -u -r17793 -r17962 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java (.../CssdUtils.java) (revision 17793) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java (.../CssdUtils.java) (revision 17962) @@ -1138,7 +1138,9 @@ obj.put("packTime", packTime); obj.put("haveUnSupplementMaterials", haveUnSupplementMaterials); - + if(barcodeArray != null && barcodeArray.size()>0){ + obj.put("barcode", barcodeArray.getString(0)); // 条码集合 + } return obj; } Index: ssts-selenium-test/src/test/java/test_4_1/tools/SeleniumRuntimeData.java =================================================================== diff -u --- ssts-selenium-test/src/test/java/test_4_1/tools/SeleniumRuntimeData.java (revision 0) +++ ssts-selenium-test/src/test/java/test_4_1/tools/SeleniumRuntimeData.java (revision 17962) @@ -0,0 +1,93 @@ +/** + * + */ +package test_4_1.tools; + +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; + +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + +import org.apache.commons.lang3.StringUtils; + +import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; + +/** + * @author jeffli 2017年5月2日 下午2:01:36 + * + */ +public class SeleniumRuntimeData { + + private List tousseInfo = new LinkedList(); + + public void addPackingTousseInfo(JSONArray tousseArray) { + if (tousseArray == null) { + return; + } + for (int i = 0; i < tousseArray.size(); i++) { + JSONObject tousse = tousseArray.getJSONObject(i); + tousseInfo.add(tousse); + } + } + + /** + * 获取普通器械包条码 + * + */ + public String getInsideTousseBarcode() { + Set barcodeSet = getInsideTousseBarcodes(); + if (barcodeSet.isEmpty()) { + return null; + } + return barcodeSet.iterator().next(); + } + + /** + * 获取普通器械包条码 + * + */ + public Set getInsideTousseBarcodes() { + return getTousseBarcodesByTousseType(TousseDefinition.PACKAGE_TYPE_INSIDE); + } + + /** + * 获取敷料包条码 + * + */ + public String getDressingTousseBarcode() { + Set barcodeSet = getDressingTousseBarcodes(); + if (barcodeSet.isEmpty()) { + return null; + } + return barcodeSet.iterator().next(); + } + + /** + * 获取敷料包条码 + * + */ + public Set getDressingTousseBarcodes() { + return getTousseBarcodesByTousseType(TousseDefinition.PACKAGE_TYPE_DRESSING); + } + + /** + * 获取器械包条码 + * + */ + public Set getTousseBarcodesByTousseType(String pTousseType) { + Set barcodeSet = new HashSet(); + for (JSONObject jsonObject : tousseInfo) { + String tousseType = jsonObject.optString("tousseType"); + if (StringUtils.equals(tousseType, pTousseType)) { + String barcode = jsonObject.optString("barcode"); + if (StringUtils.isNotBlank(barcode)) { + barcodeSet.add(barcode); + } + } + } + return barcodeSet; + } +} Index: ssts-selenium-test/src/test/java/test_4_1/Delivery.java =================================================================== diff -u -r17918 -r17962 --- ssts-selenium-test/src/test/java/test_4_1/Delivery.java (.../Delivery.java) (revision 17918) +++ ssts-selenium-test/src/test/java/test_4_1/Delivery.java (.../Delivery.java) (revision 17962) @@ -33,6 +33,98 @@ } /** + * 器械包,敷料包发货 ,现在是手动初始化的数据,TODO 需要申请回收清洗装配审核灭菌模块也初始化数据。 + * */ + @Test + public void Delivery_TousseAndDressing() { + try { + + Utils.retryingFindAndSendKeys(By.id("senderBarcode"), + Utils.settings.getJSONObject("一级供应室用户").getString("条码") + + "\n"); + + Utils.retryingFind(By.id("scanText")).clear(); + String barcode = Utils.getSeleniumRuntimeData().getInsideTousseBarcode(); + // 器械包条码 + Utils.retryingFindAndSendKeys(By.id("scanText"),barcode + "\n"); + barcode = Utils.getSeleniumRuntimeData().getDressingTousseBarcode(); + // 敷料包条码 + Utils.retryingFindAndSendKeys(By.id("scanText"),barcode + "\n"); + // 点击保存按钮 + Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '保存')]")); + + } catch (Exception e) { + e.printStackTrace(); + AssertJUnit.fail(e.getMessage()); + } + } + /** + * 消毒物品固定条码发货,TODO 需要申请回收清洗装配审核灭菌模块也初始化数据。 + * */ + @Test + public void Delivery_FixedBarcodeDisinfection() { + try { + + Utils.retryingFindAndSendKeys(By.id("senderBarcode"), + Utils.settings.getJSONObject("一级供应室用户").getString("条码") + + "\n"); + + Utils.retryingFind(By.id("scanText")).clear(); + // 固定条码 + Utils.retryingFindAndSendKeys(By.id("scanText"),"010016005" + "\n"); + // 点击保存按钮 + Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '保存')]")); + + } catch (Exception e) { + e.printStackTrace(); + AssertJUnit.fail(e.getMessage()); + } + } + /** + * 消毒物品发货,TODO 需要申请回收清洗装配审核灭菌模块也初始化数据。 + * */ + @Test + public void Delivery_Disinfection() { + try { + + Utils.retryingFindAndSendKeys(By.id("senderBarcode"), + Utils.settings.getJSONObject("一级供应室用户").getString("条码") + + "\n"); + + Utils.retryingFind(By.id("scanText")).clear(); + // 条码 + Utils.retryingFindAndSendKeys(By.id("scanText"),"010016000" + "\n"); + // 点击保存按钮 + Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '保存')]")); + + } catch (Exception e) { + e.printStackTrace(); + AssertJUnit.fail(e.getMessage()); + } + } + /** + * 外来器械发货,TODO 需要申请回收清洗装配审核灭菌模块也初始化数据。 + * */ + @Test + public void Delivery_Foreign() { + try { + + Utils.retryingFindAndSendKeys(By.id("senderBarcode"), + Utils.settings.getJSONObject("一级供应室用户").getString("条码") + + "\n"); + + Utils.retryingFind(By.id("scanText")).clear(); + // 条码 + Utils.retryingFindAndSendKeys(By.id("scanText"),"010016006" + "\n"); + // 点击保存按钮 + Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '保存')]")); + + } catch (Exception e) { + e.printStackTrace(); + AssertJUnit.fail(e.getMessage()); + } + } + /** * 一级供应室发货 * */ @Test Index: ssts-selenium-test/src/test/java/test_4_1/tools/TestUtils.java =================================================================== diff -u --- ssts-selenium-test/src/test/java/test_4_1/tools/TestUtils.java (revision 0) +++ ssts-selenium-test/src/test/java/test_4_1/tools/TestUtils.java (revision 17962) @@ -0,0 +1,89 @@ +/** + * + */ +package test_4_1.tools; + +import java.util.Set; + +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + +import org.apache.commons.lang3.StringUtils; +import org.testng.Assert; +import org.testng.annotations.Test; + +import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; + +/** + * @author jeffli 2017年5月2日 下午2:51:52 + * + */ +public class TestUtils { + + /** + * 测试添加装配返回的器械包信息 + * */ + @Test + public void test_SeleniumRuntimeData_addPackingTousseInfo() { + JSONArray tousseArray = new JSONArray(); + { + JSONObject tousse = new JSONObject(); + tousse.put("tousseName", "器械包1"); + tousse.put("barcode", "010000001"); + tousse.put("tousseType", TousseDefinition.PACKAGE_TYPE_INSIDE); + tousseArray.add(tousse); + } + { + JSONObject tousse = new JSONObject(); + tousse.put("tousseName", "器械包2"); + tousse.put("barcode", "010000002"); + tousse.put("tousseType", TousseDefinition.PACKAGE_TYPE_INSIDE); + tousseArray.add(tousse); + } + { + JSONObject tousse = new JSONObject(); + tousse.put("tousseName", "敷料包1"); + tousse.put("barcode", "010100001"); + tousse.put("tousseType", TousseDefinition.PACKAGE_TYPE_DRESSING); + tousseArray.add(tousse); + } + { + JSONObject tousse = new JSONObject(); + tousse.put("tousseName", "敷料包2"); + tousse.put("barcode", "010100002"); + tousse.put("tousseType", TousseDefinition.PACKAGE_TYPE_DRESSING); + tousseArray.add(tousse); + } + { + JSONObject tousse = new JSONObject(); + tousse.put("tousseName", "外来器械包1"); + tousse.put("barcode", "010200001"); + tousse.put("tousseType", TousseDefinition.PACKAGE_TYPE_FOREIGN); + tousseArray.add(tousse); + } + { + JSONObject tousse = new JSONObject(); + tousse.put("tousseName", "外来器械包2"); + tousse.put("barcode", "010200002"); + tousse.put("tousseType", TousseDefinition.PACKAGE_TYPE_FOREIGN); + tousseArray.add(tousse); + } + Utils.getSeleniumRuntimeData().addPackingTousseInfo(tousseArray); + { + String barcode = Utils.getSeleniumRuntimeData().getInsideTousseBarcode(); + Assert.assertTrue(StringUtils.equals(barcode, "010000001") || StringUtils.equals(barcode, "010000002")); + Set barcodes = Utils.getSeleniumRuntimeData().getInsideTousseBarcodes(); + Assert.assertEquals(barcodes.size(), 2); + Assert.assertTrue(barcodes.contains("010000001")); + Assert.assertTrue(barcodes.contains("010000002")); + } + { + String barcode = Utils.getSeleniumRuntimeData().getDressingTousseBarcode(); + Assert.assertTrue(StringUtils.equals(barcode, "010100001") || StringUtils.equals(barcode, "010100002")); + Set barcodes = Utils.getSeleniumRuntimeData().getDressingTousseBarcodes(); + Assert.assertEquals(barcodes.size(), 2); + Assert.assertTrue(barcodes.contains("010100001")); + Assert.assertTrue(barcodes.contains("010100002")); + } + } +} Index: ssts-selenium-test/src/test/java/test_4_1/tools/Utils.java =================================================================== diff -u -r17947 -r17962 --- ssts-selenium-test/src/test/java/test_4_1/tools/Utils.java (.../Utils.java) (revision 17947) +++ ssts-selenium-test/src/test/java/test_4_1/tools/Utils.java (.../Utils.java) (revision 17962) @@ -86,10 +86,20 @@ */ public static List reBarcodes = new ArrayList(); /** + * 动态产生的数据 + */ + private static SeleniumRuntimeData seleniumRuntimeData = new SeleniumRuntimeData(); + /** * 单次一次性物品入库后产生的条码 */ public static List disposableGoodsBatchBarcodesAfterEntry = new ArrayList(); + + + public static SeleniumRuntimeData getSeleniumRuntimeData() { + return seleniumRuntimeData; + } + /** * 根据项目名称,初始化项目的配置对象 * @@ -232,6 +242,7 @@ barcodes.add((String) b.get(j)); } } + seleniumRuntimeData.addPackingTousseInfo(array); } Utils.reBarcodes.addAll(barcodes); return barcodes;