Index: ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.js =================================================================== diff -u -r26775 -r26859 --- ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.js (.../tousseInstanceView.js) (revision 26775) +++ ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.js (.../tousseInstanceView.js) (revision 26859) @@ -1236,8 +1236,20 @@ url : WWWROOT + '/disinfectSystem/tousseInstanceAction!deleteTousseGood.do', params : {ids : ids,reason:remark}, success : function(response, options) { - showResult("废弃成功!"); - grid.dwrReload(); + var result = Ext.decode(response.responseText); + if(result.message){ + showResult(result.message); + } + if(result.success){ + if(!result.message){ + showResult("废弃成功!"); + } + grid.dwrReload(); + }else{ + if(!result.message){ + showResult("废弃失败!"); + } + } }, failure : function(response, options) {} }); Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java =================================================================== diff -u -r26829 -r26859 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 26829) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 26859) @@ -1117,10 +1117,11 @@ error = e.getMessage(); } if(StringUtils.isBlank(error)){ - jobj.put("success", true); + jobj.put(JSONUtil.JSON_KEY_SUCCESS, true); }else{ - jobj.put("success", false); - jobj.put("msg", error); + jobj.put(JSONUtil.JSON_KEY_SUCCESS, false); + jobj.put(JSONUtil.JSON_KEY_MSG, error); + jobj.put(JSONUtil.JSON_KEY_MESSAGE, error); } StrutsResponseUtils.output(jobj); } Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r26851 -r26859 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 26851) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 26859) @@ -472,6 +472,7 @@ } DisposableGoodsServiceContext autoDeductionDisposableGoodsServiceContext = new DisposableGoodsServiceContext(); autoDeductionDisposableGoodsServiceContext.setScene(DisposableGoodsServiceContext.SCENE_INVOICE_AUTO_DEDUCTION); + autoDeductionDisposableGoodsServiceContext.setOrgUnitCode(orgUnitCoding); autoDeductionDisposableGoodsServiceContext.setWarehouseId(wareHouse.getId().toString()); autoDeductionDisposableGoodsServiceContext.getDisposableGoodsIdsSet().addAll(disposableGoodsIds); diposableGoodsManager.lockAndGetDisposableGoodsResources(autoDeductionDisposableGoodsServiceContext); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/disposablegoods/service/DisposableGoodsServiceContext.java =================================================================== diff -u -r25141 -r26859 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/disposablegoods/service/DisposableGoodsServiceContext.java (.../DisposableGoodsServiceContext.java) (revision 25141) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/disposablegoods/service/DisposableGoodsServiceContext.java (.../DisposableGoodsServiceContext.java) (revision 26859) @@ -31,12 +31,20 @@ * 一次性物品条码集合 */ private Set disposableGoodsBarcodesSet = new HashSet(); - + /** - * + * 相关的科室编码 */ + private String orgUnitCode; + + /** + * 仓库id + */ private String warehouseId; - + + /** + * 目标仓库id + */ private String targetWarehouseId; /** @@ -179,6 +187,14 @@ this.disposableGoodsBarcodesSet = disposableGoodsBarcodesSet; } + public String getOrgUnitCode() { + return orgUnitCode; + } + + public void setOrgUnitCode(String orgUnitCode) { + this.orgUnitCode = orgUnitCode; + } + public String getWarehouseId() { return warehouseId; } Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java =================================================================== diff -u -r26620 -r26859 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 26620) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 26859) @@ -2713,6 +2713,7 @@ public void lockAndGetDisposableGoodsResources( DisposableGoodsServiceContext disposableGoodsServiceContext) { disposableGoodsServiceContext.validateParams(); + String orgUnitCode = disposableGoodsServiceContext.getOrgUnitCode(); String warehouseId = disposableGoodsServiceContext.getWarehouseId(); String targetWarehouseId = disposableGoodsServiceContext.getTargetWarehouseId(); Set disposableGoodsIDsSet = disposableGoodsServiceContext.getDisposableGoodsIdsSet(); @@ -2770,13 +2771,21 @@ barcodeToDisposableGoodsBatchStockMap, idToIdentificationMap, disposableGoodsStockList); }else{ - if (!diposableGoodsStockIDsSet.isEmpty()) { + if (CollectionUtils.isNotEmpty(diposableGoodsStockIDsSet)) { disposableGoodsStockList = getDisposableGoodsStockByDisposableGoodsStockIDs(diposableGoodsStockIDsSet); if (disposableGoodsStockList == null || disposableGoodsStockList.size() != diposableGoodsStockIDsSet .size()) { throw new RuntimeException("某些物品库存已被删除!"); } + }else{ + String hql = String.format("from %s where amount > 0 and warehouseID =%s)", + DisposableGoodsStock.class.getSimpleName(),WareHouse.class.getSimpleName(),warehouseId); + if(StringUtils.isNotBlank(orgUnitCode)){ + hql = String.format("from %s where amount > 0 and warehouseID in (select id from %s where orgUnitCode='%s')", + DisposableGoodsStock.class.getSimpleName(),WareHouse.class.getSimpleName(),orgUnitCode); + } + disposableGoodsStockList = objectDao.findByHql(hql); } } // 获取目标仓库库存