Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java =================================================================== diff -u -r26823 -r26826 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 26823) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 26826) @@ -1659,7 +1659,7 @@ public void getTousseInstanceByBarcodeForDepartInventory(){ String barcode = StrutsParamUtils.getPraramValue("barcode", null); String departCoding = StrutsParamUtils.getPraramValue("departCoding", null); - Long wareHouseId = StrutsParamUtils.getPraramLongValue("wareHouseId", null); + String wareHouseName = StrutsParamUtils.getPraramValue("wareHouseName", null); JSONObject obj = new JSONObject(); try { TousseInstance ti = tousseInstanceManager.getTousseInstanceByBarcode(barcode); @@ -1674,7 +1674,7 @@ throw new RuntimeException(new StringBuffer().append("[").append(ti.getTousseName()).append("]").append(TousseInstance.STATUS_DISCARD).toString()); } //仓库为空,或仓库属于供应室仓库 - if(wareHouseId == null || (ti.getWareHouseId() != null && !wareHouseId.equals(ti.getWareHouseId()) && !wareHouseManager.checkIsOneCSSDWareHouse(ti.getWareHouseId()))){ + if(StringUtils.isBlank(wareHouseName) || (ti.getWareHouseId() != null && wareHouseName.indexOf(ti.getWareHouseName()) == -1 && !wareHouseManager.checkIsOneCSSDWareHouse(ti.getWareHouseId()))){ throw new RuntimeException(String.format("[%s]仓库位置不匹配且不为一级供应室仓库!仓库为%s", ti.getTousseName(), ti.getWareHouseName())); } if(!departCoding.equals(ti.getDepartCoding())){ Index: ssts-web/src/main/java/com/forgon/disinfectsystem/inventoryrecord/action/InventoryRecordAction.java =================================================================== diff -u -r26757 -r26826 --- ssts-web/src/main/java/com/forgon/disinfectsystem/inventoryrecord/action/InventoryRecordAction.java (.../InventoryRecordAction.java) (revision 26757) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/inventoryrecord/action/InventoryRecordAction.java (.../InventoryRecordAction.java) (revision 26826) @@ -20,9 +20,12 @@ import org.apache.struts2.convention.annotation.ParentPackage; import com.forgon.Constants; +import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; import com.forgon.disinfectsystem.entity.assestmanagement.ExpensiveGoods; import com.forgon.disinfectsystem.entity.assestmanagement.ExpensiveGoodsInstance; +import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse; import com.forgon.disinfectsystem.entity.stocktakemanager.InventoryExpensiveGoodsItem; import com.forgon.disinfectsystem.entity.stocktakemanager.InventoryExpensiveItem; import com.forgon.disinfectsystem.entity.stocktakemanager.InventoryItem; @@ -49,6 +52,11 @@ private ObjectDao objectDao; + private WareHouseManager wareHouseManager; + + public void setWareHouseManager(WareHouseManager wareHouseManager) { + this.wareHouseManager = wareHouseManager; + } public void setInventoryRecordManager( InventoryRecordManager inventoryRecordManager) { this.inventoryRecordManager = inventoryRecordManager; @@ -363,12 +371,33 @@ * 保存基数盘点记录相关信息 */ public void saveInventoryRecordOfBaseAmount(){ - String inventoryInfo = StrutsParamUtils.getPraramValue("inventoryInfo", null); - String wareHouseName = StrutsParamUtils.getPraramValue("wareHouseName", null); - Long wareHouseId = StrutsParamUtils.getPraramLongValue("wareHouseId", null); - String departName = StrutsParamUtils.getPraramValue("departName", null); - String departCoding = StrutsParamUtils.getPraramValue("departCoding", null); - JSONArray arr = JSONArray.fromObject(inventoryInfo); - inventoryRecordManager.saveInventoryInfo(arr, wareHouseName, wareHouseId, departCoding, departName); + JSONObject obj = null; + try { + String inventoryInfo = StrutsParamUtils.getPraramValue("inventoryInfo", null); + String wareHouseNames = StrutsParamUtils.getPraramValue("wareHouseName", null); + String wareHouseIds = StrutsParamUtils.getPraramValue("wareHouseId", null); + String wareHouseName = null; + Long wareHouseId = null; + if(StringUtils.isNotBlank(wareHouseNames) && StringUtils.isNotBlank(wareHouseIds)){ + if(wareHouseNames.indexOf(",") == -1 && wareHouseIds.indexOf(",") == -1){//如果只选择了一个仓库,就改为选择的仓库 + wareHouseName = wareHouseNames; + wareHouseId = Long.valueOf(wareHouseIds); + }else{//否则就获取当前登录科室的默认仓库 + String orgUnitCoding = AcegiHelper.getLoginUser().getCurrentOrgUnitCode(); + WareHouse wh = wareHouseManager.getDefaultWareHouseByUnitCode(orgUnitCoding); + wareHouseName = wh.getName(); + wareHouseId = wh.getId(); + } + } + String departName = StrutsParamUtils.getPraramValue("departName", null); + String departCoding = StrutsParamUtils.getPraramValue("departCoding", null); + JSONArray arr = JSONArray.fromObject(inventoryInfo); + inventoryRecordManager.saveInventoryInfo(arr, wareHouseName, wareHouseId, departCoding, departName); + obj = JSONUtil.buildJsonObject(true, "保存成功"); + } catch (Exception e) { + obj = JSONUtil.buildJsonObject(false, "保存失败"); + e.printStackTrace(); + } + StrutsResponseUtils.output(obj); } } Index: ssts-web/src/main/webapp/disinfectsystem/departmentStock/baseCountInventory.js =================================================================== diff -u -r26793 -r26826 --- ssts-web/src/main/webapp/disinfectsystem/departmentStock/baseCountInventory.js (.../baseCountInventory.js) (revision 26793) +++ ssts-web/src/main/webapp/disinfectsystem/departmentStock/baseCountInventory.js (.../baseCountInventory.js) (revision 26826) @@ -131,7 +131,7 @@ render : function(c) { c.getEl().on('keypress', function(e) { if (e.getKey() == 13) {// - loadScanGoods(); + loadScanGoods(wareHouseName); } }); } @@ -157,7 +157,7 @@ /** * 扫描器械包条码 */ -function loadScanGoods() { +function loadScanGoods(wareHouseName) { var barcode = top.Ext.getCmp('tempBarcode').getValue(); top.Ext.getCmp('tempBarcode').setValue(''); if (barcode != '') { @@ -174,7 +174,7 @@ url : WWWROOT + '/disinfectSystem/tousseInstanceAction!getTousseInstanceByBarcodeForDepartInventory.do', params : { barcode : barcode, - wareHouseId : wareHouseId, + wareHouseName : wareHouseName, departCoding : departCoding }, success : function(response, options) {