Index: ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerTests.java =================================================================== diff -u -r14491 -r16729 --- ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerTests.java (.../RecyclingRecordManagerTests.java) (revision 14491) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerTests.java (.../RecyclingRecordManagerTests.java) (revision 16729) @@ -264,11 +264,11 @@ try { recyclingRecordManager.saveOrUpdate(recyclingRecord, params3); - } catch (RecyclingRecordException e) { + } catch (RuntimeException e) { msg = e.getMessage(); } objectDao.flush(); - assertEquals("Test开口包已发货,不能保存。", msg); + assertEquals("Test开口包已发货2个,回收数量不能小于2个!", msg); // RecyclingRecordException 后事务未回滚,以至于申请单数据无法验证 // RecyclingApplication application4 = recyclingApplicationManager.getRecyclingApplicationById(""+recyclingRecord.getRecyclingApplication().getId()); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/AbstractCSSDTest.java =================================================================== diff -u -r16723 -r16729 --- ssts-web/src/test/java/test/forgon/disinfectsystem/AbstractCSSDTest.java (.../AbstractCSSDTest.java) (revision 16723) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/AbstractCSSDTest.java (.../AbstractCSSDTest.java) (revision 16729) @@ -1848,6 +1848,7 @@ ti1.setAmount(5); ti1.setRecyclingAmount(null); ti1.setSendOutAmount(0); + ti1.setTousseType(TousseDefinition.PACKAGE_TYPE_INSIDE); ti1.setTousseDefinitionId(map.get("Test开胸包")); ti1.setInvoicePlan(application); @@ -1857,6 +1858,7 @@ ti2.setAmount(5); ti2.setRecyclingAmount(null); ti2.setSendOutAmount(0); + ti2.setTousseType(TousseDefinition.PACKAGE_TYPE_INSIDE); ti2.setTousseDefinitionId(map.get("Test开颅包")); ti2.setInvoicePlan(application); @@ -1866,6 +1868,7 @@ ti3.setAmount(5); ti3.setRecyclingAmount(null); ti3.setSendOutAmount(0); + ti3.setTousseType(TousseDefinition.PACKAGE_TYPE_INSIDE); ti3.setTousseDefinitionId(map.get("Test开口包")); ti3.setInvoicePlan(application); @@ -1875,6 +1878,7 @@ ti4.setIsRecycling("是"); ti4.setRecyclingAmount(null); ti4.setSendOutAmount(0); + ti4.setTousseType(TousseDefinition.PACKAGE_TYPE_INSIDE); ti4.setTousseDefinitionId(map.get("Test穿刺包")); ti4.setInvoicePlan(application); @@ -1884,6 +1888,7 @@ ti1.setIsRecycling("否"); ti5.setRecyclingAmount(null); ti5.setSendOutAmount(0); + ti5.setTousseType(TousseDefinition.PACKAGE_TYPE_DRESSING); ti5.setTousseDefinitionId(map.get("Test治疗巾")); ti5.setInvoicePlan(application); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/UnPackingDisinfectGoodsInstanceTests.java =================================================================== diff -u -r14407 -r16729 --- ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/UnPackingDisinfectGoodsInstanceTests.java (.../UnPackingDisinfectGoodsInstanceTests.java) (revision 14407) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/UnPackingDisinfectGoodsInstanceTests.java (.../UnPackingDisinfectGoodsInstanceTests.java) (revision 16729) @@ -16,6 +16,7 @@ import test.forgon.constant.Constants; import test.forgon.disinfectsystem.AbstractCSSDTest; +import com.forgon.disinfectsystem.common.CssdUtils; import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.materialinstance.MaterialInstance; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; @@ -60,6 +61,7 @@ TousseDefinition tousseDefinition = new TousseDefinition(); tousseDefinition.setName("湿化瓶(小口)"); tousseDefinition.setIsCleanedEntirely("是"); + tousseDefinition.setIsApplyEntireTousse(com.forgon.Constants.STR_YES); tousseDefinition.setIsRecycling(TousseDefinition.STR_YES); tousseDefinition.setIsPacking(TousseDefinition.STR_NO); tousseDefinition.setIsTraceable(TousseDefinition.STR_NO); @@ -88,6 +90,7 @@ TousseDefinition tousseDefinition2 = new TousseDefinition(); tousseDefinition2.setName("雾化器(小口)"); tousseDefinition2.setIsCleanedEntirely("是"); + tousseDefinition2.setIsApplyEntireTousse(com.forgon.Constants.STR_YES); tousseDefinition2.setIsRecycling(TousseDefinition.STR_NO); tousseDefinition2.setIsPacking(TousseDefinition.STR_NO); tousseDefinition2.setIsTraceable(TousseDefinition.STR_NO); @@ -117,10 +120,10 @@ application.setDepartCoding("testNeike"); application.setSettleAccountsDepart("测试内科仓库1"); application.setSettleAccountsDepartCoding("testNeike"); + application.setHandleDepart(Constants.ORG_UNIT_NAME_CSSD); + application.setHandleDepartCoding(Constants.ORG_UNIT_CODE_CSSD); application.setSerialNumber("010000001"); application.setApplicant("张三"); - application.setHandleDepartCoding(Constants.ORG_UNIT_CODE_DISINFECT); - application.setHandleDepart(Constants.ORG_UNIT_NAME_CSSD); List items = new ArrayList(); TousseItemVo vo = new TousseItemVo(); vo.setId(0L); @@ -129,6 +132,20 @@ vo.setDiposable("否"); vo.setTousseDefinitionId(td1.getId()); vo.setTousseDefinitionID(td1.getId()); + JSONArray array = new JSONArray(); + for (MaterialInstance ms : td1.getMaterialInstances()) { + JSONObject obj = new JSONObject(); + obj.put("name", CssdUtils.getMaterialName(ms.getMaterialDefinition())); + obj.put("tousseType", "器械"); + obj.put("count", ms.getCount()); + array.add(obj); + } + vo.setDisinfectMaterilas(array.toString()); + +// String name = obj.optString("name"); +// String type = obj.optString("tousseType"); +// String count = obj.optString("count"); +// vo.setTousseType("消毒物品"); TousseItemVo vo2 = new TousseItemVo(); @@ -138,6 +155,15 @@ vo2.setDiposable("否"); vo2.setTousseDefinitionId(td2.getId()); vo2.setTousseDefinitionID(td2.getId()); + JSONArray array2 = new JSONArray(); + for (MaterialInstance ms : td2.getMaterialInstances()) { + JSONObject obj = new JSONObject(); + obj.put("name", CssdUtils.getMaterialName(ms.getMaterialDefinition())); + obj.put("tousseType", "器械"); + obj.put("count", ms.getCount()); + array2.add(obj); + } + vo2.setDisinfectMaterilas(array2.toString()); vo2.setTousseType("消毒物品"); items.add(vo); @@ -160,7 +186,8 @@ assertEquals(tis.size(), 3); String sql2 = String.format("where po.tousseName='%s' and po.invoicePlanID=%s", "湿化瓶(小口)",application.getId()); List tis2 = tousseInstanceManager.getTousseInstanceBySql(sql2); - assertEquals(tis2.size(), 2); + //是否回收等于[是],在回收的时候创建包实例,是否回收等于[否],在申请的时候创建包实例, + assertEquals(tis2.size(), 0); RecyclingRecord recyclingRecord = new RecyclingRecord(); recyclingRecord.setRecyclingApplication(application); @@ -288,9 +315,9 @@ TousseDefinition td_雾化器_小口 = tousseDefinitionManager.getTousseDefinitionByName("雾化器(小口)"); TousseDefinition td_临床治疗碗 = tousseDefinitionManager.getTousseDefinitionByName("临床治疗碗包"); String str = "{'tousseJson':["; - str += "{'basketBarcode':'019000001','basketId':0,'tousseName':'临床治疗碗','amount':2,'tousseDefinitionID':"+td_临床治疗碗.getId()+",'itemType':'材料','tousseNameForMaterial':'临床治疗碗包','idCardBarcode':'','tousseAmountForMaterial':1},"; - str += "{'basketBarcode':'019000002','basketId':0,'tousseName':'临床敷料镊[14CM]','amount':1,'tousseDefinitionID':"+td_临床治疗碗.getId()+",'itemType':'材料','tousseNameForMaterial':'临床治疗碗包','idCardBarcode':'','tousseAmountForMaterial':1},"; - str += "{'basketBarcode':'019000002','basketId':0,'tousseName':'临床组织镊[14cm]','amount':1,'tousseDefinitionID':"+td_临床治疗碗.getId()+",'itemType':'材料','tousseNameForMaterial':'临床治疗碗包','idCardBarcode':'','tousseAmountForMaterial':1},"; + str += "{'basketBarcode':'019000001','basketId':0,'tousseName':'临床治疗碗','amount':2,'tousseDefinitionID':"+td_临床治疗碗.getId()+",'itemType':'材料','tousseNameForMaterial':'临床治疗碗包','idCardBarcode':'','tousseAmountForMaterial':1,'basketGroupBarcodes':'019000001;019000002'},"; + str += "{'basketBarcode':'019000002','basketId':0,'tousseName':'临床敷料镊[14CM]','amount':1,'tousseDefinitionID':"+td_临床治疗碗.getId()+",'itemType':'材料','tousseNameForMaterial':'临床治疗碗包','idCardBarcode':'','tousseAmountForMaterial':1,'basketGroupBarcodes':'019000001;019000002'},"; + str += "{'basketBarcode':'019000002','basketId':0,'tousseName':'临床组织镊[14cm]','amount':1,'tousseDefinitionID':"+td_临床治疗碗.getId()+",'itemType':'材料','tousseNameForMaterial':'临床治疗碗包','idCardBarcode':'','tousseAmountForMaterial':1,'basketGroupBarcodes':'019000001;019000002'},"; str += "{'basketBarcode':'019000002','basketId':0,'tousseName':'湿化瓶(小口)','amount':0,'tousseDefinitionID':"+td_湿化瓶_小口.getId()+",'itemType':'器械包','tousseNameForMaterial':'','idCardBarcode':'','tousseAmountForMaterial':0},"; str += "{'basketBarcode':'019000002','basketId':0,'tousseName':'雾化器(小口)','amount':0,'tousseDefinitionID':"+td_雾化器_小口.getId()+",'itemType':'器械包','tousseNameForMaterial':'','idCardBarcode':'','tousseAmountForMaterial':0},"; str += "{'basketBarcode':'019000003','basketId':0,'tousseName':'湿化瓶(小口)','amount':2,'tousseDefinitionID':"+td_湿化瓶_小口.getId()+",'itemType':'器械包','tousseNameForMaterial':'','idCardBarcode':'','tousseAmountForMaterial':2},"; @@ -310,9 +337,9 @@ InvoicePlan application = recyclingRecord.getRecyclingApplication(); assertNotNull(application); - List tis3 = tousseInstanceManager.getTousseInstanceBySql(" where tousseName = '雾化器(小口)_" + application.getId() + "'"); + List tis3 = tousseInstanceManager.getTousseInstanceBySql(" where tousseName = '雾化器(小口)' and invoicePlanID = " + application.getId()); assertEquals(tis3.size(), 2); - List tis4 = tousseInstanceManager.getTousseInstanceBySql(" where tousseName = '湿化瓶(小口)_" + application.getId() + "'"); + List tis4 = tousseInstanceManager.getTousseInstanceBySql(" where tousseName = '湿化瓶(小口)' and invoicePlanID = " + application.getId()); assertEquals(tis4.size(), 2); } Index: ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/RecyclingBasketTests.java =================================================================== diff -u -r14107 -r16729 --- ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/RecyclingBasketTests.java (.../RecyclingBasketTests.java) (revision 14107) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/RecyclingBasketTests.java (.../RecyclingBasketTests.java) (revision 16729) @@ -59,6 +59,7 @@ TousseItem ti1 = new TousseItem(); ti1.setTousseName("Test穿刺包"); ti1.setAmount(4); + ti1.setTousseType(TousseDefinition.PACKAGE_TYPE_INSIDE); ti1.setRecyclingAmount(null); ti1.setSendOutAmount(0); ti1.setInvoicePlan(application); @@ -108,6 +109,7 @@ TousseItem ti1 = new TousseItem(); ti1.setTousseName("Test开胸包"); ti1.setAmount(2); + ti1.setTousseType(TousseDefinition.PACKAGE_TYPE_INSIDE); ti1.setRecyclingAmount(null); ti1.setSendOutAmount(0); ti1.setInvoicePlan(application); @@ -117,6 +119,7 @@ ti2.setAmount(2); ti2.setRecyclingAmount(null); ti2.setSendOutAmount(0); + ti2.setTousseType(TousseDefinition.PACKAGE_TYPE_INSIDE); ti2.setInvoicePlan(application); List applicationItems = new ArrayList(); @@ -195,6 +198,7 @@ TousseItem ti1 = new TousseItem(); ti1.setTousseName("Test开胸包"); ti1.setAmount(5); + ti1.setTousseType(TousseDefinition.PACKAGE_TYPE_INSIDE); ti1.setRecyclingAmount(null); ti1.setSendOutAmount(0); ti1.setInvoicePlan(application); @@ -203,6 +207,7 @@ ti2.setTousseName("Test开口包"); ti2.setAmount(2); ti2.setRecyclingAmount(null); + ti2.setTousseType(TousseDefinition.PACKAGE_TYPE_INSIDE); ti2.setSendOutAmount(0); ti2.setInvoicePlan(application); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/TousseIntoBasketRestrictionsTests.java =================================================================== diff -u -r14632 -r16729 --- ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/TousseIntoBasketRestrictionsTests.java (.../TousseIntoBasketRestrictionsTests.java) (revision 14632) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/TousseIntoBasketRestrictionsTests.java (.../TousseIntoBasketRestrictionsTests.java) (revision 16729) @@ -43,10 +43,11 @@ @Test public void testTousseIntoBasketAmount(){ prepareData(); - TousseDefinition td_Test开胸包 = tousseDefinitionManager.getTousseDefinitionByName("Test开胸包"); + TousseDefinition td2 = tousseDefinitionManager.getTousseDefinitionByName("Test开口包"); + TousseDefinition td = tousseDefinitionManager.getTousseDefinitionByName("Test开胸包"); //空篮筐 - String params = "[{barcode:'019000001',scanedGoods:[{name:'Test开口包',type:'器械包',amount:5}]}]"; - JSONObject result = recyclingRecordManager.recycleTousseIntoBasket("" + td_Test开胸包.getId(),3,params); + String params = "[{barcode:'019000001',scanedGoods:[{name:'Test开口包',tousseDefinitionID:" + td2.getId() + ",type:'器械包',amount:5}]}]"; + JSONObject result = recyclingRecordManager.recycleTousseIntoBasket("" + td.getId(),3,params); boolean success = result.optBoolean("success"); assertEquals(true, success); @@ -60,15 +61,14 @@ Set items = new HashSet(); ClassifiedItem item = new ClassifiedItem(); item.setAmount(3); - TousseDefinition td = tousseDefinitionManager.getTousseDefinitionByName("Test开胸包"); + item.setTousseDefinition(td); item.setIsRestrictAmountGoods(true); item.setClassifyBasket(basket); items.add(item); ClassifiedItem item3 = new ClassifiedItem(); item3.setAmount(5); - TousseDefinition td2 = tousseDefinitionManager.getTousseDefinitionByName("Test开口包"); item3.setTousseDefinition(td2); item3.setIsRestrictAmountGoods(false); item3.setClassifyBasket(basket); @@ -78,8 +78,8 @@ ObjectDao.save(basket); //篮筐内已经放入物品占80%体积,继续放60%的东西 - String params2 = "[{barcode:'019000001',scanedGoods:[{name:'Test开胸包',type:'器械包',amount:1},{name:'Test开口包',type:'器械包',amount:3}]}]"; - JSONObject result2 = recyclingRecordManager.recycleTousseIntoBasket("" + td_Test开胸包.getId(),3,params2); + String params2 = "[{barcode:'019000001',scanedGoods:[{name:'Test开胸包',putBasketMaxAmount:5,type:'器械包',amount:1},{name:'Test开口包',putBasketMaxAmount:0,type:'器械包',amount:3}]}]"; + JSONObject result2 = recyclingRecordManager.recycleTousseIntoBasket("" + td.getId(),3,params2); JSONObject data2 = result2.optJSONObject("data"); assertEquals(1, data2.optInt("amount")); @@ -97,7 +97,7 @@ //篮筐已满是否还能继续放东西 String params3 = "[{barcode:'019000001',scanedGoods:[{name:'Test开口包',type:'器械包',amount:3}]}]"; - JSONObject result3 = recyclingRecordManager.recycleTousseIntoBasket("" + td_Test开胸包.getId(),3,params3); + JSONObject result3 = recyclingRecordManager.recycleTousseIntoBasket("" + td.getId(),3,params3); boolean success2 = result3.optBoolean("success"); assertEquals(false, success2); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/RecyclingMaterialsTest.java =================================================================== diff -u -r14107 -r16729 --- ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/RecyclingMaterialsTest.java (.../RecyclingMaterialsTest.java) (revision 14107) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/RecyclingMaterialsTest.java (.../RecyclingMaterialsTest.java) (revision 16729) @@ -64,6 +64,7 @@ ti1.setAmount(2); ti1.setRecyclingAmount(null); ti1.setSendOutAmount(0); + ti1.setTousseType(TousseDefinition.PACKAGE_TYPE_INSIDE); ti1.setTousseDefinitionId(map.get("Test开颅包")); ti1.setInvoicePlan(application); @@ -72,6 +73,7 @@ ti2.setAmount(2); ti2.setRecyclingAmount(null); ti2.setSendOutAmount(0); + ti2.setTousseType(TousseDefinition.PACKAGE_TYPE_INSIDE); ti2.setTousseDefinitionId(map.get("Test开口包")); ti2.setInvoicePlan(application); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/AddRecyclingItemsForRecyclingRecord.java =================================================================== diff -u -r14107 -r16729 --- ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/AddRecyclingItemsForRecyclingRecord.java (.../AddRecyclingItemsForRecyclingRecord.java) (revision 14107) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/AddRecyclingItemsForRecyclingRecord.java (.../AddRecyclingItemsForRecyclingRecord.java) (revision 16729) @@ -49,6 +49,7 @@ ti1.setAmount(5); ti1.setTousseDefinitionId(tousseDefinitionId); ti1.setRecyclingAmount(null); + ti1.setTousseType(TousseDefinition.PACKAGE_TYPE_INSIDE); ti1.setSendOutAmount(0); ti1.setInvoicePlan(application);