Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r14568 -r14579 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 14568) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 14579) @@ -3518,6 +3518,10 @@ datas.put(goodsName, vo); } vo.addInvoicePlanID(invoicePlan.getId()); + Long disposableGoodsId = applicationItem.getDisposableGoodsId(); + if(DatabaseUtil.isPoIdValid(disposableGoodsId)){ + vo.getDisposableGoodsIdSet().add(disposableGoodsId); + } vo.setCount(vo.getCount() + notSendAmount); vo.setUrgentAmount(vo.getUrgentAmount() + applicationItem.getUrgentAmount()); vo.setApplicationAmount(vo.getCount() + notSendAmount); Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/vo/ApplicationGoodsVo.java =================================================================== diff -u -r14225 -r14579 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/vo/ApplicationGoodsVo.java (.../ApplicationGoodsVo.java) (revision 14225) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/vo/ApplicationGoodsVo.java (.../ApplicationGoodsVo.java) (revision 14579) @@ -3,8 +3,10 @@ */ package com.forgon.disinfectsystem.recyclingapplication.vo; +import java.util.HashSet; import java.util.LinkedList; import java.util.List; +import java.util.Set; import org.apache.commons.lang3.StringUtils; @@ -42,6 +44,8 @@ private String isCleanedEntirely = Constants.STR_YES; // 是否整包清洗 + private Set disposableGoodsIdSet = new HashSet(); + public boolean isBeforeToday() { return beforeToday; } @@ -164,5 +168,13 @@ public void setIsCleanedEntirely(String isCleanedEntirely) { this.isCleanedEntirely = isCleanedEntirely; } + + public Set getDisposableGoodsIdSet() { + return disposableGoodsIdSet; + } + + public void setDisposableGoodsIdSet(Set disposableGoodsIdSet) { + this.disposableGoodsIdSet = disposableGoodsIdSet; + } } Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java =================================================================== diff -u -r14526 -r14579 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 14526) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 14579) @@ -1053,6 +1053,36 @@ } } + // 根据名字获取库存 + public void getStorageByDisposableGoodsIds(){ + JSONArray storages = new JSONArray(); + try { + String disposableGoodsIds = StrutsParamUtils.getPraramValue( + "disposableGoodsIds", ""); + String warehouseId = StrutsParamUtils.getPraramValue( + "warehouseId", ""); + if(StringUtils.isNotBlank(disposableGoodsIds) && StringUtils.isNotBlank(warehouseId)){ + Set disposableGoodsIdSet = new HashSet(); + String[] disposableGoodsIdsArr = disposableGoodsIds.split(","); + for (String disposableGoodsId : disposableGoodsIdsArr) { + disposableGoodsIdSet.add(Long.valueOf(disposableGoodsId)); + } + List disposableGoodsStocks = diposableGoodsManager.getDisposableGoodsStockByDisposableGoodsIDs(warehouseId, disposableGoodsIdSet); + if(disposableGoodsStocks != null){ + for (DisposableGoodsStock disposableGoodsStock : disposableGoodsStocks) { + JSONObject storage = new JSONObject(); + storage.put("name", disposableGoodsStock.getShowName()); + storage.put("storage", disposableGoodsStock.getAmount()); + storages.add(storage); + } + } + } + } catch (NumberFormatException e) { + e.printStackTrace(); + } + StrutsResponseUtils.output(storages); + } + public void loadDisposableGoodsStorageRecord(){ String disposableGoodsId = StrutsParamUtils.getPraramValue("disposableGoodsId", null); String startDate = StrutsParamUtils.getPraramValue("startDate", null); Index: ssts-web/src/main/webapp/disinfectsystem/invoice/invoicePlanExtractedForm.js =================================================================== diff -u -r14467 -r14579 --- ssts-web/src/main/webapp/disinfectsystem/invoice/invoicePlanExtractedForm.js (.../invoicePlanExtractedForm.js) (revision 14467) +++ ssts-web/src/main/webapp/disinfectsystem/invoice/invoicePlanExtractedForm.js (.../invoicePlanExtractedForm.js) (revision 14579) @@ -53,6 +53,13 @@ return v; } } +function formatStorage(v,p,record){ + if (v==null || v.length <= 0){ + return ''; + }else{ + return v; + } +} function sayGoods(record){ if(record && record.data){ speaker.speak(record.data.showTousseName + ",数量为" + record.data.count); @@ -540,6 +547,57 @@ return false; } +//刷新库存 +var lastLoadWarehouseId = null; +function refreshStorage(warehouseId){ + if(lastLoadWarehouseId != null && lastLoadWarehouseId == warehouseId){ + return; + } + var ids = ''; + for ( var i = 0; i < recyclingapplicationStore.getCount(); i++) { + var record = recyclingapplicationStore.getAt(i); + var data = record.data; + if(data.diposable != '是'){ + continue; + } + var disposableGoodsIdSet = data.disposableGoodsIdSet; + if(disposableGoodsIdSet.length > 0){ + for(var di=0;di 0){ + for ( var i = 0; i < storages.length; i++) { + var storage = storages[i]; + var record = findRecordByNameAndValueFromStore(recyclingapplicationStore,'name',storage.name); + if(record){ + record.set('storage',storage.storage); + } + } + } +} /** * 发货单窗口 * @param orgUnitCoding 科室编码 @@ -579,9 +637,11 @@ {name : 'urgentAmount'}, {name : 'tempAmount'}, {name : 'errorAmount'}, + {name : 'storage'}, {name : 'amount'}, {name : 'applicationAmount'}, {name : 'batchNumber'}, + {name : 'disposableGoodsIdSet'}, {name : 'invoicePlanType'} ] }); @@ -596,6 +656,11 @@ listeners: { load: function(thiz,records,options){ initErrorAmount(); + var sourceWarehouseIdCmp = top.Ext.getCmp('sourceWarehouseId'); + if(sourceWarehouseIdCmp != null){ + var sourceWarehouseId = sourceWarehouseIdCmp.getValue(); + refreshStorage(sourceWarehouseId); + } } } }); @@ -631,6 +696,7 @@ {header : '加急',id : 'urgentAmount',dataIndex : 'urgentAmount',width : 50,value : 0, menuDisabled: true,renderer:getDefaultAmount}, {header : '实发',id : 'tempAmount',dataIndex : 'tempAmount',width : 50,value : 0, menuDisabled: true,renderer:getDefaultAmount}, {header : '误差',id : 'errorAmount',dataIndex : 'errorAmount',width : 50,value : 0, menuDisabled: true,renderer:getDefaultAmount}, + {header : '库存',id : 'storage',dataIndex : 'storage',width : 50,value : 0, menuDisabled: true,renderer:formatStorage}, {id : 'diposable',header : "是否一次性材料",dataIndex : 'diposable',hidden :true}, {id :'applicationAmount',header : "最大发货数量",dataIndex : 'applicationAmount',hidden : true,width :150} // {id : 'deleteItem',header:'删除',hidden :true,width :40,menuDisabled: true, @@ -921,6 +987,8 @@ top.Ext.getCmp('warehouse').setValue(record.data.name); top.Ext.getCmp('sourceWarehouseId').setValue(record.data.id); top.Ext.getCmp('sourceWarehouseName').setValue(record.data.name); + // 刷新库存数据 + refreshStorage(record.data.id); top.Ext.getCmp('remark2').focus(); }, specialkey : function(field, ee) {