Index: ssts-web/src/test/java/test/forgon/disinfectsystem/invoicemanager/service/InvoicePlanManagerTest.java =================================================================== diff -u -r17339 -r17353 --- ssts-web/src/test/java/test/forgon/disinfectsystem/invoicemanager/service/InvoicePlanManagerTest.java (.../InvoicePlanManagerTest.java) (revision 17339) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/invoicemanager/service/InvoicePlanManagerTest.java (.../InvoicePlanManagerTest.java) (revision 17353) @@ -485,6 +485,62 @@ assertNotNull(list); assertTrue(list.size() > 0); } + { + // 只申请不发货包 + WareHouse wareHouse_CSSD = wareHouseManager.getDefaultWareHouseByUnitCode(Constants.ORG_UNIT_CODE_CSSD); + TousseDefinition td = tousseDefinitionManager.getTousseDefinitionByName("Test开胸包"); + RecyclingApplication application1 = new RecyclingApplication(); + application1.setSerialNumber("201504280001"); + application1.setApplicant("吴启华"); + application1.setDepartCoding("3266"); + application1.setIncludeInvoiceItems(InvoicePlan.SIGNED_TRUE); + application1.setSettleAccountsDepartCoding("3266"); + application1.setDepart("外六科护士站18B"); + String applicationTime1 = "2015-04-28 09:00"; + try { + application1.setApplicationTime(new SimpleDateFormat( + "yyyy-MM-dd HH:mm").parse(applicationTime1)); + } catch (ParseException e) { + } + application1.setIncludeInvoiceItems(1); + application1.setCommittedStatus(true); + application1.setRecyclingStatus("待回收"); + application1.setDeliverStatus(InvoicePlan.DELIVERSTATUS_AWAITDELIVER); + application1.setType(InvoicePlan.TYPE_COMBO_FORM); + application1.setHandleDepart(Constants.ORG_UNIT_NAME_CSSD); + application1.setHandleDepartCoding(Constants.ORG_UNIT_CODE_CSSD); + List itemList1 = new ArrayList(); + TousseItem item1 = new TousseItem(); + item1.setTousseName("Test开胸包"); + item1.setAmount(2); + item1.setRecyclingAmount(null); + item1.setTousseType(TousseDefinition.PACKAGE_TYPE_INSIDE); + item1.setDiposable("否"); + item1.setInvoicePlan(application1); + item1.setTousseDefinitionId(td.getId()); + itemList1.add(item1); + + TousseItem item2 = new TousseItem(); + item2.setTousseName("不回收的包"); + item2.setAmount(2); + item2.setRecyclingAmount(null); + item2.setIsRecycling(TousseDefinition.STR_NO); + item2.setTousseType(TousseDefinition.PACKAGE_TYPE_INSIDE); + item2.setDiposable("否"); + item2.setInvoicePlan(application1); + item2.setTousseDefinitionId(td.getId()); + itemList1.add(item2); + + application1.setApplicationItems(itemList1); + objectDao.saveOrUpdate(application1); + + + Collection list = invoiceManager + .getWaitDeliverGoods("3266", null, null); + + assertNotNull(list); + assertTrue(list.size() > 0); + } } /** * 测试计算不回收物品项的逻辑 @@ -773,6 +829,116 @@ assertEquals(application1.getIncludeInvoiceItems().intValue(), 0); } + { + // 1个物品需要回收,1个一次性物品 + TousseDefinition td = tousseDefinitionManager.getTousseDefinitionByName("Test开胸包"); + RecyclingApplication application1 = new RecyclingApplication(); + application1.setSerialNumber("201504280001"); + application1.setApplicant("吴启华"); + application1.setDepartCoding("3266"); + application1.setIncludeInvoiceItems(InvoicePlan.SIGNED_TRUE); + application1.setSettleAccountsDepartCoding("3266"); + application1.setDepart("外六科护士站18B"); + String applicationTime1 = "2015-04-28 09:00"; + try { + application1.setApplicationTime(new SimpleDateFormat( + "yyyy-MM-dd HH:mm").parse(applicationTime1)); + } catch (ParseException e) { + } + application1.setIncludeInvoiceItems(1); + application1.setCommittedStatus(true); + application1.setRecyclingStatus("待回收"); + application1.setDeliverStatus(InvoicePlan.DELIVERSTATUS_AWAITDELIVER); + application1.setType(InvoicePlan.TYPE_COMBO_FORM); + application1.setHandleDepart(Constants.ORG_UNIT_NAME_CSSD); + application1.setHandleDepartCoding(Constants.ORG_UNIT_CODE_CSSD); + List itemList1 = new ArrayList(); + TousseItem item1 = new TousseItem(); + item1.setTousseName("Test开胸包"); + item1.setAmount(2); + item1.setRecyclingAmount(null); + item1.setIsRecycling(TousseDefinition.STR_YES); + item1.setTousseType(TousseDefinition.PACKAGE_TYPE_INSIDE); + item1.setDiposable("否"); + item1.setInvoicePlan(application1); + item1.setTousseDefinitionId(td.getId()); + itemList1.add(item1); + + TousseItem item2 = new TousseItem(); + item2.setTousseName("一次性物品"); + item2.setAmount(2); + item2.setRecyclingAmount(null); + item2.setTousseType(TousseItem.TYPE_DIPOSABLE_GOODS); + item2.setDiposable("是"); +// item2.setSendOutAmount(2); + item2.setIsRecycling(TousseDefinition.STR_NO); + item2.setInvoicePlan(application1); + item2.setTousseDefinitionId(td.getId()); + itemList1.add(item2); + + application1.setApplicationItems(itemList1); +// objectDao.saveOrUpdate(application1); + + + invoicePlanManager.computeAndSetInvoiceStatus(application1); + + assertEquals(application1.getIncludeInvoiceItems().intValue(), 1); + } + { + // 1个物品需要回收,1个一次性物品(已发货) + TousseDefinition td = tousseDefinitionManager.getTousseDefinitionByName("Test开胸包"); + RecyclingApplication application1 = new RecyclingApplication(); + application1.setSerialNumber("201504280001"); + application1.setApplicant("吴启华"); + application1.setDepartCoding("3266"); + application1.setIncludeInvoiceItems(InvoicePlan.SIGNED_TRUE); + application1.setSettleAccountsDepartCoding("3266"); + application1.setDepart("外六科护士站18B"); + String applicationTime1 = "2015-04-28 09:00"; + try { + application1.setApplicationTime(new SimpleDateFormat( + "yyyy-MM-dd HH:mm").parse(applicationTime1)); + } catch (ParseException e) { + } + application1.setIncludeInvoiceItems(1); + application1.setCommittedStatus(true); + application1.setRecyclingStatus("待回收"); + application1.setDeliverStatus(InvoicePlan.DELIVERSTATUS_AWAITDELIVER); + application1.setType(InvoicePlan.TYPE_COMBO_FORM); + application1.setHandleDepart(Constants.ORG_UNIT_NAME_CSSD); + application1.setHandleDepartCoding(Constants.ORG_UNIT_CODE_CSSD); + List itemList1 = new ArrayList(); + TousseItem item1 = new TousseItem(); + item1.setTousseName("Test开胸包"); + item1.setAmount(2); + item1.setRecyclingAmount(null); + item1.setIsRecycling(TousseDefinition.STR_YES); + item1.setTousseType(TousseDefinition.PACKAGE_TYPE_INSIDE); + item1.setDiposable("否"); + item1.setInvoicePlan(application1); + item1.setTousseDefinitionId(td.getId()); + itemList1.add(item1); + + TousseItem item2 = new TousseItem(); + item2.setTousseName("一次性物品"); + item2.setAmount(2); + item2.setRecyclingAmount(null); + item2.setTousseType(TousseItem.TYPE_DIPOSABLE_GOODS); + item2.setDiposable("是"); + item2.setSendOutAmount(2); + item2.setIsRecycling(TousseDefinition.STR_NO); + item2.setInvoicePlan(application1); + item2.setTousseDefinitionId(td.getId()); + itemList1.add(item2); + + application1.setApplicationItems(itemList1); +// objectDao.saveOrUpdate(application1); + + + invoicePlanManager.computeAndSetInvoiceStatus(application1); + + assertEquals(application1.getIncludeInvoiceItems().intValue(), 0); + } }