Index: ssts-web/src/test/java/test/forgon/disinfectsystem/AbstractCSSDTest.java =================================================================== diff -u -r12728 -r12807 --- ssts-web/src/test/java/test/forgon/disinfectsystem/AbstractCSSDTest.java (.../AbstractCSSDTest.java) (revision 12728) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/AbstractCSSDTest.java (.../AbstractCSSDTest.java) (revision 12807) @@ -40,8 +40,10 @@ import com.forgon.directory.service.SysUserManager; import com.forgon.directory.vo.LoginUserData; import com.forgon.disinfectsystem.basedatamanager.container.service.ContainerManager; +import com.forgon.disinfectsystem.basedatamanager.goodsstock.service.GoodsStockManager; import com.forgon.disinfectsystem.basedatamanager.sterilizer.service.SterilizerManager; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; +import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodBatchStockManager; import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodsManager; import com.forgon.disinfectsystem.diposablegoods.service.GodownEntryManager; @@ -183,7 +185,12 @@ protected InvoicePlanManager invoicePlanManager; @Autowired protected InvoiceManager invoiceManager; + @Autowired + protected WareHouseManager wareHouseManager; + @Autowired + protected GoodsStockManager goodsStockManager; + public static final float DIPOSABLEGOODS_PRICE_F = 1.1f; protected static final int AMOUNT = 500; @@ -726,15 +733,15 @@ objectDao.excuteSQL("delete from receiveRecordItem"); objectDao.excuteSQL("delete from IdentificationOfDiposableGoods"); - objectDao.excuteSQL("delete from DiposableGoodBatchStock"); + objectDao.excuteSQL("delete from DisposableGoodsBatchStock"); objectDao.excuteSQL("delete from DiposableGoodsTemplateItem"); // 删除一次性物品入库单 objectDao.excuteSQL("delete from GodownEntryItem"); objectDao.excuteSQL("delete from GodownEntry"); - objectDao.excuteSQL("delete from DiposableGoods"); + objectDao.excuteSQL("delete from " + DisposableGoodsStock.class.getSimpleName()); //objectDao.excuteSQL("delete from DataDirectory_GYEY_COST_ACCOUNTING"); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/packing/InvoicePlanManagerTests.java =================================================================== diff -u -r12331 -r12807 --- ssts-web/src/test/java/test/forgon/disinfectsystem/packing/InvoicePlanManagerTests.java (.../InvoicePlanManagerTests.java) (revision 12331) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/packing/InvoicePlanManagerTests.java (.../InvoicePlanManagerTests.java) (revision 12807) @@ -5,14 +5,19 @@ import java.util.Date; import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; import org.testng.annotations.Test; import net.sf.json.JSONObject; import test.forgon.disinfectsystem.AbstractCSSDTest; import com.forgon.disinfectsystem.basedatamanager.container.service.ContainerManager; +import com.forgon.disinfectsystem.basedatamanager.goodsstock.service.GoodsStockManager; +import com.forgon.disinfectsystem.basedatamanager.toussedefinition.service.TousseInstanceUtils; 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.goodsstock.GoodsStock; import com.forgon.disinfectsystem.entity.invoicemanager.Invoice; import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; @@ -27,9 +32,11 @@ * @date 2015-10-22 */ public class InvoicePlanManagerTests extends AbstractCSSDTest { - + @Autowired private TousseInstanceManager tousseInstanceManager; + @Autowired private InvoicePlanManager invoicePlanManager; + @Autowired private InvoiceManager invoiceManager; public void setInvoicePlanManager(InvoicePlanManager invoicePlanManager) { @@ -76,9 +83,28 @@ //3.装配器械包 TousseDefinition td = tousseDefinitionManager.getTousseDefinitionByName("Test开胸包"); //4.模拟创建器械包实例并灭菌 + //4.1 创建对应的仓库 + WareHouse wareHouse1 = new WareHouse(); + wareHouse1.setCreatedUserId(1l); + wareHouse1.setCreatedUserName("admin"); + wareHouse1.setCreateTime(new Date()); + wareHouse1.setName("仓库1"); + wareHouse1.setOrgUnitCode("admin"); + wareHouse1.setOrgUnitName("供应室"); + wareHouseManager.saveOrUpdateWareHouse(wareHouse1); + + WareHouse wareHouse2 = new WareHouse(); + wareHouse2.setCreatedUserId(1l); + wareHouse2.setCreatedUserName("admin"); + wareHouse2.setCreateTime(new Date()); + wareHouse2.setName("仓库2"); + wareHouse2.setOrgUnitCode("testOR"); + wareHouse2.setOrgUnitName("临床科室"); + wareHouseManager.saveOrUpdateWareHouse(wareHouse2); + TousseInstance tousseInstance1 = new TousseInstance(); tousseInstance1.setTousseDefinition(td); - tousseInstance1.setOrgUnitCoding(""); + tousseInstance1.setOrgUnitCoding("testOR2"); tousseInstance1.setOrgUnitName(""); tousseInstance1.setReviewer(""); tousseInstance1.setReviewerCode(""); @@ -110,6 +136,22 @@ tousseInstance2.setBarcode("010000124"); tousseInstanceManager.saveOrUpdate(tousseInstance2); + //4.2 器械包入库 + GoodsStock stock1 = TousseInstanceUtils.newGoodsStock(tousseInstance1, wareHouse1); + GoodsStock stock2 = TousseInstanceUtils.newGoodsStock(tousseInstance2, wareHouse1); + List list = new ArrayList(); + list.add(stock1); + list.add(stock2); + + goodsStockManager.saveOrUpdateGoodsStock(list, GoodsStockManager.MODE_INSTOCK); + GoodsStock getStock = new GoodsStock(); + getStock.setWareHouseId(wareHouse1.getId()); + getStock.setTousseDefinitionId(td.getId()); + + List retlist = goodsStockManager.getGoodsStockList(getStock); + assertNotNull(retlist); + assertFalse(retlist.isEmpty()); + assertEquals(new Integer(2),retlist.get(0).getAmount()); //5.器械包发货 JSONObject params = new JSONObject(); @@ -118,6 +160,8 @@ params.put("departCode", "testOR"); params.put("assistantSender", "admin"); params.put("sender", "admin"); + params.put("warehouseID", wareHouse1.getId()); + params.put("warehouseName", wareHouse1.getName()); List voList = new ArrayList(); ScanGoodsVo vo = new ScanGoodsVo(); @@ -137,6 +181,21 @@ //6.断言器械包状态 assertEquals(TousseInstance.STATUS_SHIPPED, tousseInstance1.getStatus()); assertEquals(TousseInstance.STATUS_SHIPPED, tousseInstance2.getStatus()); + //6.1 断言器械包的库存 + //1 出库仓库库存为0 + getStock = new GoodsStock(); + getStock.setWareHouseId(wareHouse1.getId()); + getStock.setTousseDefinitionId(td.getId()); + retlist = goodsStockManager.getGoodsStockList(getStock); + assertNotNull(retlist); + assertTrue(retlist.isEmpty()); + assertEquals(new Integer(0),retlist.get(0).getAmount()); + //2 入库仓库库存为2 + getStock.setWareHouseId(wareHouse2.getId()); + retlist = goodsStockManager.getGoodsStockList(getStock); + assertNotNull(retlist); + assertFalse(retlist.isEmpty()); + assertEquals(new Integer(2),retlist.get(0).getAmount()); //7.查询出发货单数据 Invoice invoice1 = invoiceManager.getInvoiceByTousseInstanceId(tousseInstance1.getId()+""); @@ -145,6 +204,7 @@ assertNotNull(invoice2); }catch(Exception e){ e.printStackTrace(); + throw new RuntimeException(e.getMessage()); } } }