Index: ssts-web/src/test/java/test/forgon/disinfectsystem/invoicemanager/service/TestPDAForeignProxyTousseGoodsInvoiceManager.java
===================================================================
diff -u -r13055 -r16743
--- ssts-web/src/test/java/test/forgon/disinfectsystem/invoicemanager/service/TestPDAForeignProxyTousseGoodsInvoiceManager.java (.../TestPDAForeignProxyTousseGoodsInvoiceManager.java) (revision 13055)
+++ ssts-web/src/test/java/test/forgon/disinfectsystem/invoicemanager/service/TestPDAForeignProxyTousseGoodsInvoiceManager.java (.../TestPDAForeignProxyTousseGoodsInvoiceManager.java) (revision 16743)
@@ -15,6 +15,7 @@
import com.forgon.disinfectsystem.entity.assestmanagement.TousseStock;
import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition;
import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance;
+import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse;
import com.forgon.disinfectsystem.entity.invoicemanager.Invoice;
import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan;
import com.forgon.disinfectsystem.entity.sterilizationmanager.foreignproxydisinfection.ForeignProxyDisinfection;
@@ -33,10 +34,12 @@
private String [] barcodeArray1 = {"201410170001","201410170002","201410170003"};
ForeignProxyDisinfection foreignProxyDisinfection = null;
+
/**
- * 创建一张外部代理灭菌申请单,申请数量为3个test121#压力蒸汽灭菌包
+ * 创建外部代理灭菌器械包实例
*/
- private void createForeignProxyTousseGoodsApplication(){
+ private void createForeignProxyTousseGoodsInstance(){
+// createSimpleTousseInstanceByParam(barcodeArray1, "test121#压力蒸汽灭菌包", TousseDefinition.PACKAGE_TYPE_FOREIGNPROXY, Constants.ORG_UNIT_NAME_OR, Constants.ORG_UNIT_CODE_OR, 6.00);
foreignProxyDisinfection = new ForeignProxyDisinfection();
foreignProxyDisinfection.setApplicant("林倩");
foreignProxyDisinfection.setApplicationTime(new Date());
@@ -48,71 +51,147 @@
foreignProxyDisinfection.setSerialNumber("2014101700001");
foreignProxyDisinfection.setSettleAccountsDepart(Constants.ORG_UNIT_NAME_OR);
foreignProxyDisinfection.setSettleAccountsDepartCoding(Constants.ORG_UNIT_CODE_OR);
- objectDao.saveOrUpdate(foreignProxyDisinfection);
- List foreignProxyItems = new ArrayList();
- ForeignProxyItem foreignProxyItem = new ForeignProxyItem();
- foreignProxyItem.setTousseName("test121#压力蒸汽灭菌包");
- foreignProxyItem.setInvoicePlanID(foreignProxyDisinfection.getId());
- foreignProxyItem.setPackageType("棉布");
- foreignProxyItem.setCount(3);
- foreignProxyItem.setForeignProxyDisinfection(foreignProxyDisinfection);
- objectDao.saveOrUpdate(foreignProxyItem);
- for(String barcode : barcodeArray1){
- TousseInstance instance = tousseInstanceManager.getTousseInstanceByBarcode(barcode);
- instance.setForeignProxyItem_id(foreignProxyItem.getId());
- objectDao.saveOrUpdate(instance);
- }
- List list = new ArrayList();
- for(String barcode : barcodeArray1){
- TousseInstance instance = tousseInstanceManager.getTousseInstanceByBarcode(barcode);
- instance.setForeignProxyItem_id(foreignProxyItem.getId());
- TousseItem item = new TousseItem();
- item.setTousseName("test121#压力蒸汽灭菌包");
- item.setInvoicePlanID(foreignProxyDisinfection.getId());
- item.setAmount(1);
- item.setDiposable("否");
- item.setInvoicePlan(foreignProxyDisinfection);
- list.add(item);
- tousseItemManager.saveOrUpdate(item);
- }
- foreignProxyItems.add(foreignProxyItem);
- foreignProxyDisinfection.setForeignProxyItems(foreignProxyItems);
- foreignProxyDisinfection.setApplicationItems(list);
- foreignProxyDisinfectionManager.saveOrUpdate(foreignProxyDisinfection);
+ JSONObject params = new JSONObject();
+ JSONArray itemInfoList = new JSONArray();
+ JSONObject itemInfo = new JSONObject();
+
+ itemInfo.put("id", null);
+ itemInfo.put("packageType", "棉布");
+ itemInfo.put("count", 3);
+
+ itemInfo.put("tousseName", "test121#压力蒸汽灭菌包");
+ itemInfo.put("tousseType", null);
+ itemInfo.put("sterilingType", "低温灭菌");
+ itemInfo.put("sterileStartDate", null);
+ itemInfo.put("basketName", null);
+ itemInfo.put("basketBarcode", null);
+ itemInfoList.add(itemInfo);
+ params.put("itemInfoList", itemInfoList);
+
+ params.put("applicationTimeStr", com.forgon.Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM.format(new Date()));
+ params.put("arrivedTimeStr", com.forgon.Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM.format(new Date()));
+ params.put("scheduleTimeStr", com.forgon.Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM.format(new Date()));
+
+ foreignProxyDisinfectionManager.packForeignProxyDisinfection(foreignProxyDisinfection, params);
}
-
- /**
- * 创建外部代理灭菌器械包实例
- */
- private void createForeignProxyTousseGoodsInstance(){
- createSimpleTousseInstanceByParam(barcodeArray1, "test121#压力蒸汽灭菌包", TousseDefinition.PACKAGE_TYPE_FOREIGNPROXY, Constants.ORG_UNIT_NAME_OR, Constants.ORG_UNIT_CODE_OR, 6.00);
- }
/*
* 测试外部代理灭菌器械包全部发货
*/
@Test
public void testSendAllForeignProxyTousseGoods(){
- map.clear();
- for(String barcode :barcodeArray1){
- map.put(barcode, 1);
+
+ prepareData();
+
+ assertNotNull(foreignProxyDisinfection.getId());
+ List tousseList = foreignProxyDisinfection.getTousseInstanceList(objectDao);
+ assertNotNull(tousseList);
+ assertEquals(tousseList.size(), 3);
+ // 设置为已灭菌状态
+ for (TousseInstance tousseInstance : tousseList) {
+ tousseInstance.setStatus(TousseInstance.STATUS_STERILED);
}
- map.put("departCode", Constants.ORG_UNIT_CODE_OR);
- String jsonStr = createSendOutParam(map);
- SendForeignProxyTousseGoods(jsonStr, testAll);
+ //运行前对全局变量清空,以防止影响下一个用例的运行结果
+ WareHouse wareHouse_CSSD = wareHouseManager.getDefaultWareHouseByUnitCode(Constants.ORG_UNIT_CODE_CSSD);
+ assertNotNull(wareHouse_CSSD);
+ JSONObject params = new JSONObject();
+ JSONArray invoiceItems1 = new JSONArray();
+
+ for(TousseInstance tousseInstance :tousseList){
+ JSONObject invoiceItems1_1 = new JSONObject();
+ invoiceItems1_1.put("barcode", tousseInstance.getBarcode());
+ invoiceItems1_1.put("sendAmount", 1);
+ invoiceItems1_1.put("isRoutine", TousseInstance.ROUTINE_YES);
+ invoiceItems1.add(invoiceItems1_1);
+ }
+ params.put("mode", "depart");
+ params.put("departCode", Constants.ORG_UNIT_CODE_OR);
+ params.put("assistantSender", "朱广兴");
+ params.put("sender", "朱广兴");
+ params.put("invoiceItems", invoiceItems1);
+ params.put("sourceWarehouseId", wareHouse_CSSD.getId());
+ params.put("sourceWarehouseName", wareHouse_CSSD.getName());
+
+ webServiceManager.submitInvoicePlans(params.toString());
+ //发货单
+ Invoice invoice = (Invoice)objectDao.getByProperty(Invoice.class.getSimpleName(), "invoicePlan.serialNumber", foreignProxyDisinfection.getSerialNumber());
+ assertNotNull(invoice);
+
+ //全部发货
+ //断言发货单关联的包实例为3个
+ List tousseInstanceList = invoice.getTousseInstances(objectDao);
+ assertNotNull(tousseInstanceList);
+ assertEquals(tousseInstanceList.size(), 3);
+ for (TousseInstance tousseInstance : tousseInstanceList) {
+ //断言发货状态为已发货
+ assertEquals(TousseInstance.STATUS_SHIPPED , tousseInstance.getStatus());
+ }
+
+ //断言申请单状态为已发货
+ assertEquals(InvoicePlan.DELIVERSTATUS_DELIVERED , invoice.getInvoicePlan().getDeliverStatus());
+
+ //断言发货单金额 TODO
}
/*
* 测试外部代理灭菌器械包部分发货
*/
@Test
public void testSendPartForeignProxyTousseGoods(){
- map.clear();
- map.put("201410170001", 1);
- map.put("201410170002", 1);
- map.put("departCode", Constants.ORG_UNIT_CODE_OR);
- String jsonStr = createSendOutParam(map);
- SendForeignProxyTousseGoods(jsonStr, testPart);
+
+ prepareData();
+
+ assertNotNull(foreignProxyDisinfection.getId());
+ List tousseList = foreignProxyDisinfection.getTousseInstanceList(objectDao);
+ assertNotNull(tousseList);
+ assertEquals(tousseList.size(), 3);
+ // 设置为已灭菌状态
+ for (TousseInstance tousseInstance : tousseList) {
+ tousseInstance.setStatus(TousseInstance.STATUS_STERILED);
+ }
+ //运行前对全局变量清空,以防止影响下一个用例的运行结果
+ WareHouse wareHouse_CSSD = wareHouseManager.getDefaultWareHouseByUnitCode(Constants.ORG_UNIT_CODE_CSSD);
+ assertNotNull(wareHouse_CSSD);
+ JSONObject params = new JSONObject();
+ JSONArray invoiceItems1 = new JSONArray();
+
+ List invoiceTousseList = new ArrayList(2);
+ invoiceTousseList.add(tousseList.get(0));
+ invoiceTousseList.add(tousseList.get(1));
+ for(TousseInstance tousseInstance :invoiceTousseList){
+ JSONObject invoiceItems1_1 = new JSONObject();
+ invoiceItems1_1.put("barcode", tousseInstance.getBarcode());
+ invoiceItems1_1.put("sendAmount", 1);
+ invoiceItems1_1.put("isRoutine", TousseInstance.ROUTINE_YES);
+ invoiceItems1.add(invoiceItems1_1);
+ }
+ params.put("mode", "depart");
+ params.put("departCode", Constants.ORG_UNIT_CODE_OR);
+ params.put("assistantSender", "朱广兴");
+ params.put("sender", "朱广兴");
+ params.put("invoiceItems", invoiceItems1);
+ params.put("sourceWarehouseId", wareHouse_CSSD.getId());
+ params.put("sourceWarehouseName", wareHouse_CSSD.getName());
+
+ webServiceManager.submitInvoicePlans(params.toString());
+ //发货单
+ Invoice invoice = (Invoice)objectDao.getByProperty(Invoice.class.getSimpleName(), "invoicePlan.serialNumber", foreignProxyDisinfection.getSerialNumber());
+ assertNotNull(invoice);
+
+ //全部发货
+ //断言发货单关联的包实例为2个
+ List tousseInstanceList = invoice.getTousseInstances(objectDao);
+ assertNotNull(tousseInstanceList);
+ assertEquals(tousseInstanceList.size(), 2);
+ for (TousseInstance tousseInstance : tousseInstanceList) {
+ // 断言发货状态为已发货
+ assertEquals(TousseInstance.STATUS_SHIPPED , tousseInstance.getStatus());
+ }
+
+ // 断言申请单状态为部分发货
+ assertEquals(InvoicePlan.DELIVERSTATUS_PARTDELIVERED , invoice.getInvoicePlan().getDeliverStatus());
+
+ //断言发货单金额 TODO
}
public void SendForeignProxyTousseGoods(String jsonStr, String type){
@@ -177,8 +256,6 @@
initBasicData();
//创建消毒物品器械包并增加库存
createForeignProxyTousseGoodsInstance();
- //创建消毒物品申请单
- createForeignProxyTousseGoodsApplication();
}
}