Index: ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/service/ExpensiveGoodsGodownEntryManagerImpl.java =================================================================== diff -u -r20978 -r20980 --- ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/service/ExpensiveGoodsGodownEntryManagerImpl.java (.../ExpensiveGoodsGodownEntryManagerImpl.java) (revision 20978) +++ ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/service/ExpensiveGoodsGodownEntryManagerImpl.java (.../ExpensiveGoodsGodownEntryManagerImpl.java) (revision 20980) @@ -148,18 +148,49 @@ this.save(expensiveGoodsGodownEntry); Map idToExpensiveGoodsMap = context.getIdToExpensiveGoodsMap(); + Map idToExpensiveGoodsInstanceMap = context.getIdToExpensiveGoodsInstanceMap(); + Map idToExpensiveGoodsStockMap = context.getExpensiveGoodsIdToExpensiveGoodsStockMap(); List itemList = expensiveGoodsGodownEntry.getItemsList(); for (int i = 0; i < itemList.size(); ++i) { ExpensiveGoodsGodownEntryItem godownEntryItem = itemList.get(i); Long expensiveGoodsId = godownEntryItem.getExpensiveGoodsId(); + Long expensiveGoodsStockId = godownEntryItem.getExpensiveGoodsStockId(); + Long expensiveGoodsInstanceId = godownEntryItem.getExpensiveGoodsInstanceId(); if (expensiveGoodsId == null) { throw new RuntimeException("高值耗材物品定义id不能为空!"); - } + } + if (expensiveGoodsInstanceId == null) { + throw new RuntimeException("高值耗材实例id不能为空!"); + } + if (expensiveGoodsStockId == null) { + throw new RuntimeException("高值耗材库存id不能为空!"); + } ExpensiveGoods expensiveGoods = idToExpensiveGoodsMap.get(expensiveGoodsId); if (expensiveGoods == null) { throw new RuntimeException("高值耗材物品定义已被删除!"); } - newExpensiveGoodsGodownOutEntryItem(expensiveGoodsGodownEntry, context , godownEntryItem); + ExpensiveGoodsInstance expensiveGoodsInstance = idToExpensiveGoodsInstanceMap.get(expensiveGoodsInstanceId); + if (expensiveGoodsInstance == null) { + throw new RuntimeException("高值耗材实例已被删除!"); + } + if(!expensiveGoodsInstance.inWarehouse()){ + throw new RuntimeException("高值耗材状态不是已入库!"); + } + expensiveGoodsInstance.setGodownOutEntryId(expensiveGoodsGodownEntry.getId()); + expensiveGoodsInstance.setGodownOutEntryItemId(godownEntryItem.getId()); + expensiveGoodsInstance.setStatus(ExpensiveGoodsInstance.STATUS_OUT_WAREHOUSE); + objectDao.update(expensiveGoodsInstance); + ExpensiveGoodsStock expensiveGoodsStock = idToExpensiveGoodsStockMap.get(expensiveGoodsStockId); + if (expensiveGoodsStock == null) { + throw new RuntimeException("高值耗材库存已被删除!"); + } + if(expensiveGoodsInstance.entryPurchase()){ + expensiveGoodsStock.adjustAmount(-1); + }else{ +// expensiveGoodsStock.adjustPreAmount(-1); + } + objectDao.update(expensiveGoodsStock); +// newExpensiveGoodsGodownOutEntryItem(expensiveGoodsGodownEntry, context , godownEntryItem); objectDao.update(godownEntryItem); } @@ -565,7 +596,8 @@ // 汇总信息 summaryDiposableGoodsInfoForGodownOutEntry2(expensiveGoodsGodownEntry, expensiveGoodsServiceContext); - lockAndGetDiposableGoodsResources(ExpensiveGoodsGodownEntry.TYPE_OUT,expensiveGoodsGodownEntry.getWarehouseID(),expensiveGoodsGodownEntry.getWarehouseName(),expensiveGoodsServiceContext); + expensiveGoodsManager.lockAndGetExpensiveGoodsResources(expensiveGoodsServiceContext); +// lockAndGetDiposableGoodsResources(ExpensiveGoodsGodownEntry.TYPE_OUT,expensiveGoodsGodownEntry.getWarehouseID(),expensiveGoodsGodownEntry.getWarehouseName(),expensiveGoodsServiceContext); saveGodownOutEntry_internal(expensiveGoodsGodownEntry, expensiveGoodsServiceContext); } @@ -666,9 +698,17 @@ for (ExpensiveGoodsGodownEntryItem godownEntryItem : itemList) { Long expensiveGoodsId = godownEntryItem .getExpensiveGoodsId(); + Long expensiveGoodsStockId = godownEntryItem.getExpensiveGoodsStockId(); + Long expensiveGoodsInstanceId = godownEntryItem.getExpensiveGoodsInstanceId(); if (DatabaseUtil.isPoIdValid(expensiveGoodsId)) { expensiveGoodsIDsSet.add(expensiveGoodsId); } + if (DatabaseUtil.isPoIdValid(expensiveGoodsStockId)) { + expensiveGoodsServiceContext.getExpensiveGoodsStockIdsSet().add(expensiveGoodsStockId); + } + if (DatabaseUtil.isPoIdValid(expensiveGoodsInstanceId)) { + expensiveGoodsServiceContext.getExpensiveGoodsInstanceIdsSet().add(expensiveGoodsInstanceId); + } } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/ExpensiveGoodsInstance.java =================================================================== diff -u -r20977 -r20980 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/ExpensiveGoodsInstance.java (.../ExpensiveGoodsInstance.java) (revision 20977) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/ExpensiveGoodsInstance.java (.../ExpensiveGoodsInstance.java) (revision 20980) @@ -86,6 +86,9 @@ private Long godownEntryId;// private Long godownEntryItemId;// + private Long godownOutEntryId; + private Long godownOutEntryItemId; + private Long expensiveGoodsStockId; private UseRecord useRecord; @@ -248,6 +251,22 @@ // this.userecordId = userecordId; // } + public Long getGodownOutEntryId() { + return godownOutEntryId; + } + + public Long getGodownOutEntryItemId() { + return godownOutEntryItemId; + } + + public void setGodownOutEntryId(Long godownOutEntryId) { + this.godownOutEntryId = godownOutEntryId; + } + + public void setGodownOutEntryItemId(Long godownOutEntryItemId) { + this.godownOutEntryItemId = godownOutEntryItemId; + } + public Long getExpensiveGoodsStockId() { return expensiveGoodsStockId; } @@ -306,6 +325,19 @@ public void setEntryType(String entryType) { this.entryType = entryType; } + + public boolean entryPurchase() { + if (ENTRY_TYPE_PURCHASE.equals(entryType)) { + return true; + } + return false; + } + public boolean entryPrepare() { + if (ENTRY_TYPE_PREPARE.equals(entryType)) { + return true; + } + return false; + } public String getFirstBodyCode() { return firstBodyCode; Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsGodownOutEntryView.js =================================================================== diff -u -r20841 -r20980 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsGodownOutEntryView.js (.../expensiveGoodsGodownOutEntryView.js) (revision 20841) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsGodownOutEntryView.js (.../expensiveGoodsGodownOutEntryView.js) (revision 20980) @@ -1,99 +1,15 @@ -var entityName = "退库单"; +var entityName = "退库单"; var grid; var g_localID = 1;// 为了区分每一个item,增加的ID。 var commonEntry = new commonEntry(); -//单价数据源 -var priceStore = null; -var PriceRecord = null; -// 清除表单数据 -function clearFormData(){ - disposableGoodsBatchNumStore.removeAll(); - priceStore.removeAll(); -} -// 清空批次和价格 -function clearBatchNumberAndPrice() { - clearBatchNumber(); - clearPrice(); -} -function clearBatchNumber() { - clearCombo(disposableGoodsBatchNumStore,'batchNumber1'); -} -// 清空价格 -function clearPrice() { - clearCombo(priceStore,'combo_price'); -} -// 设置批次 -function setBatchNumbers(batches,selectFirst) { - clearBatchNumber(); - if(typeof(batches) == 'undefined' || batches == null){ - return; - } - for(var i = 0;i 0){ - setCmpValue('batchNumber1',batches[0].batchNumber); - - var combo = top.Ext.getCmp("batchNumber1"); - // 触发选中事件 - combo.fireEvent('select', combo,disposableGoodsBatchNumStore.getAt(0),0); - } - } -} -//设置价格 -function setPrices(prices,selectFirst) { - clearPrice() - if(typeof(prices) == 'undefined' || prices == null){ - return; - } - for(var i = 0;i 0){ - setCmpValue('combo_price',prices[0].price); - } - } -} -//全部一次性物品 -var allDiposableGoodsStore = new Ext.data.Store({ - pageSize: 100, - proxy : new Ext.data.HttpProxy({ - url : WWWROOT + '/disinfectSystem/diposableGoodsAction!getDiposableGoodsData.do?allItems=yes', - method : 'POST' - }), - reader : new Ext.data.JsonReader({ - totalProperty : 'totalCount', - root : 'data' - }, [ - {name : 'id',mapping : 'id'}, - {name : 'spelling',mapping : 'spelling'}, - {name : 'name',mapping : 'name'}, - {name : 'displayName',mapping : 'displayName'}, - {name : 'referencePrice',mapping : 'referencePrice'}, - {name : 'specification',mapping : 'specification'},//规格 - {name : 'disposableGoodsName',mapping : 'disposableGoodsName'}//没拼接的名字 - ]) -}); -batchNumStore = new top.Ext.data.Store({ - proxy : new top.Ext.data.HttpProxy({ - url : WWWROOT + '/disinfectSystem/diposableGoodsAction!getDisposableGoodsBatchList.do', - method : 'POST' - }), - reader : new top.Ext.data.JsonReader({ - fields : [ - {name : 'id'}, - {name : 'batchNumber'} - ] - }) -}); +//表单提交的结果状态(分别表示初始、提交成功、失败等) +var formSubmitResultInit = "0"; +var formSubmitResultSucc = "1"; +var formSubmitResultFail = "-1"; +var entryItemJsonArray = []; //退库项数组,用于Selenium自动化测试 + +//仓库数据源 var wareHouseStore = new Ext.data.Store({ proxy : new Ext.data.HttpProxy({ url : WWWROOT + '/disinfectSystem/baseData/wareHouseAction!getWareHouseData.do', @@ -114,15 +30,16 @@ // 触发选中事件 combo.fireEvent('select', combo,records[0],0); } - top.Ext.getCmp("name1").enable(); } } }); -var disposableGoodsStockStore = new Ext.data.Store({ +// 高值耗材物品定义数据源 +var expensiveGoodsStore = new Ext.data.Store({ pageSize: 100, proxy : new Ext.data.HttpProxy({ - url : WWWROOT + '/disinfectSystem/disposableGoodsStockAction!getDisposableGoodsStockData.do', + url : WWWROOT + '/disinfectSystem/expensiveGoodsAction!getExpensiveGoodsData.do', + //url : WWWROOT + '/disinfectSystem/expensiveGoodsAction!searchExpensiveGoods.do', method : 'POST' }), reader : new Ext.data.JsonReader({ @@ -132,63 +49,65 @@ {name : 'id',mapping : 'id'}, {name : 'spelling',mapping : 'spelling'}, {name : 'name',mapping : 'name'}, + {name : 'displayName',mapping : 'displayName'}, {name : 'referencePrice',mapping : 'referencePrice'}, - {name : 'supplierName',mapping : 'supplierName'}, - ]), - listeners : { - beforeload : function(store,option) { - store.baseParams['wareHouseId'] = top.Ext.getCmp('warehouseID').getValue(); - } - } + {name : 'validityTime',mapping : 'validityTime'}, + {name : 'certification',mapping : 'certification'} + ]) }); -var disposableGoodsBatchNumStore = new Ext.data.Store({ +function dateCompare(date1,date2){ + date1 = date1.replace(/\-/gi,"/"); + date2 = date2.replace(/\-/gi,"/"); + var time1 = new Date(date1).getTime(); + var time2 = new Date(date2).getTime(); + if(time1 > time2){ + return 1; + }else if(time1 == time2){ + return 2; + }else{ + return 3; + }} + +//供应商(高值耗材)数据源 +var expensiveGoodsSupplierStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/baseData/supplierAction!getSupplierData.do?supplierType='+encodeURI(expensiveGoodsSupplier), + method : 'POST' + }), reader : new Ext.data.JsonReader({ - fields : [ - {name : 'id'}, - {name : 'disposableGoodsId'}, - {name : 'disposableGoodsStockId'}, - {name : 'disposableGoodsBatchId'}, - {name : 'disposableGoodsBatchStockId'}, - {name : 'batchNumber'}, - {name : 'cost'}, - {name : 'supplierName'}, - {name : 'expDate'} - ] - }) + totalProperty : 'totalCount', + root : 'data' + }, [ + {name : 'id',mapping : 'id'}, + {name : 'name',mapping : 'name'} + ]) }); -var BatchRecord = Ext.data.Record.create([ { - name: 'id', - name: 'disposableGoodsId', - name: 'disposableGoodsStockId', - name: 'disposableGoodsBatchId', - name: 'disposableGoodsBatchStockId', - name : 'batchNumber', - name : 'cost', - name : 'supplierName', - name : 'expDate' -} ]); +//类别数据源 +var gradeStore = new Ext.data.SimpleStore({ + data:[['一类'],['二类'],['三类']], + fields:['name'] +}); -var GodownEntryItemRecord = Ext.data.Record.create([ - {name : 'disposableGoodsID'}, - {name : 'disposableGoodsStockID'}, - {name : 'disposableGoodsBatchID'}, - {name : 'disposableGoodsBatchStockID'}, - {name : 'expensiveDisposableGoodsId'}, - {name : 'localID'}, +//退库明细item +var ExpensiveGoodsGodownEntryItemRecord = Ext.data.Record.create([ + {name : 'localID'}, {name : 'id'}, - {name : 'name'}, - {name : 'amount'}, - {name : 'canOutAmount'}, - {name : 'cost'}, - {name : 'batchNumber'}, - {name : 'identification'}, - {name : 'identificationID'}, - {name : 'batchID'}, - {name : 'disposableGoodsStockID'}, + {name : 'supplierId'}, + {name : 'supplierName'}, + {name : 'expensiveGoodsId'}, + {name : 'expensiveGoodsInstanceId'}, + {name : 'expensiveGoodsStockId'}, + {name : 'expensiveGoodsName'}, + {name : 'status'}, + {name : 'barcode'}, {name : 'expDate' ,type : 'date'}, - {name : 'supplierName'} + {name : 'price'}, + {name : 'firstBodyCode'}, + {name : 'secondBodyCode'}, + {name : 'thirdBodyCode'}, + {name : 'grade'} ]); /** @@ -200,23 +119,12 @@ top.Ext.getCmp('warehouseID').setValue(id); top.Ext.getCmp('warehouseName').setValue(name); } - -// 获取当前选中的批次 -function getSelectedBatch(){ - var batchNumber = top.Ext.getCmp('batchNumber1').getValue(); - var batch = findRecordDataByNameAndValue(disposableGoodsBatchNumStore,'batchNumber',batchNumber); - return batch; -} -// 获取当前选中的价格 -function getSelectedPriceAmount(){ - return getSelectedDataFromCombo(priceStore,'combo_price','price'); -} function loadBarcodeDeviceInfo() { - var barcode = top.Ext.getCmp('barcode').getValue(); + var barcode = top.Ext.getCmp('scanBarcode').getValue(); // 清除已加载的信息 - top.Ext.getCmp("barcode").setValue('');// 清除条码 + top.Ext.getCmp("scanBarcode").setValue('');// 清除条码 Ext.Ajax.request({ - url : WWWROOT + '/disinfectSystem/receiveRecordAction!loadBarcodeDeviceInfo.do', + url : WWWROOT + '/disinfectSystem/expensiveGoodsGodownEntryAction!loadBarcodeDeviceInfo.do', params : { barcode : barcode }, @@ -230,9 +138,10 @@ return; } if(resultObj.barcodeType == '高值耗材'){ - addExpensiveDisposablegoodsItems(resultObj.disposablegoods); + addItems(resultObj.expensiveGoodsInstance); + setTotalMoney(top.Ext.getCmp('expensiveGoodsGodownEntryItemGrid')); }else{ - + showResult('只能扫描高值耗材条码!'); } }else{ showResult('输入的条码无效!'); @@ -244,148 +153,202 @@ } }); } -//验证一次性物品是否重复 -function isExpensiveDisposablegoodsRepeat(disposableGoods){ - var store = top.Ext.getCmp('godownEntryItemGrid').getStore(); - for(var i = 0;i < store.getCount();i++){ - var item = store.getAt(i).data; - if(item.barcode == disposableGoods.barcode){ - return true; - } +function loadExpensiveGoodsInstanceByBodyBarcode() { + var firstBodyCode = top.Ext.getCmp('firstBodyCode1').getValue(); + var secondBodyCode = top.Ext.getCmp('secondBodyCode1').getValue(); + var thirdBodyCode = top.Ext.getCmp('thirdBodyCode1').getValue(); + if(isUndefinedOrNullOrEmpty(firstBodyCode) || isUndefinedOrNullOrEmpty(secondBodyCode) || isUndefinedOrNullOrEmpty(thirdBodyCode)){ + return; } + Ext.Ajax.request({ + url : WWWROOT + '/disinfectSystem/expensiveGoodsGodownEntryAction!loadExpensiveGoodsInstanceByBodyBarcode.do', + params : { + firstBodyCode : firstBodyCode, + secondBodyCode : secondBodyCode, + thirdBodyCode : thirdBodyCode + }, + success : function(response, options) { + var result = response.responseText; + if (result != null && result != "null") { + var resultObj = JSON.parse(result); + + if(!resultObj.success){ + showResult(resultObj.errMsg); + return; + } + if(resultObj.barcodeType == '高值耗材'){ + addItems(resultObj.expensiveGoodsInstance); + setTotalMoney(top.Ext.getCmp('expensiveGoodsGodownEntryItemGrid')); + }else{ + showResult('只能扫描高值耗材条码!'); + } + }else{ + showResult('输入的条码无效!'); + } - return false; + }, + failure : function(response, options) { + var result = Ext.decode(response.responseText); + } + }); } -function addExpensiveDisposablegoodsItems(diposableGood){ - if(isExpensiveDisposablegoodsRepeat(diposableGood)){ - showResult("该物品已存在!"); - return; - } - - var tousseName = diposableGood.showName; - var barcode = diposableGood.barcode; - var batchNumber = diposableGood.batchNumber; - var price = diposableGood.price; - var expDate = diposableGood.expDate; - var fluctuationPrice = diposableGood.fluctuationPrice; - var supplierName = diposableGood.supplierName; - //添加操作 - var godownEntryItem = new GodownEntryItemRecord({ - disposableGoodsID: diposableGood.disposableGoodsID, - disposableGoodsStockID: diposableGood.disposableGoodsStockID, - disposableGoodsBatchID: diposableGood.disposableGoodsBatchID, - disposableGoodsBatchStockID: diposableGood.disposableGoodsBatchStockID, - expensiveDisposableGoodsId: diposableGood.expensiveDisposablegoodsId, - localID:g_localID++, - id : "", - identificationID : '', - name : tousseName, - barcode: barcode, - amount : 1, - canOutAmount : 1, - cost : price, - batchNumber : batchNumber, - expDate : expDate, - supplierName : supplierName - }); - top.Ext.getCmp('godownEntryItemGrid').getStore().insert(0 , godownEntryItem); -} -function addItems(disposableGoodsStockID,name,amount,batch,priceAmount){ - if(isUndefinedOrNull(batch)){ - showResult("请填写批次!"); - return false; - } - var batchNumber = batch.batchNumber; - if(top.Ext.getCmp('name1').getValue() == null || top.Ext.getCmp('name1').getValue() == ''){ - showResult("请填写物品名称!"); - return false; - } - - if(top.Ext.getCmp('amount1').getValue() == null || top.Ext.getCmp('amount1').getValue() == ''){ - showResult("请填写数量!"); - return false; - } - - if(!top.Ext.getCmp('amount1').isValid()){ - showResult("请正确填写数量!"); - return false; - } - if(top.Ext.getCmp('batchNumber1').getValue() == null || top.Ext.getCmp('batchNumber1').getValue() == ''){ - showResult("请填写批次!"); - return false; - } - if(isUndefinedOrNull(priceAmount)){ - showResult("请选择价格!"); - return false; - } - // 物品是否重复 - var godownEntryItemGridStore = top.Ext.getCmp('godownEntryItemGrid').getStore(); - for(var i = 0;i < godownEntryItemGridStore.getCount();i++){ - var godownEntryItem = godownEntryItemGridStore.getAt(i).data; - if(godownEntryItem.disposableGoodsStockID == disposableGoodsStockID && godownEntryItem.batchNumber == batchNumber && godownEntryItem.cost == priceAmount.price){ +/** + * 添加明细 + * @param supplierId 供应商id + * @param supplierName 供应商名字 + * @param expensiveGoodsId 高值耗材定义id + * @param name 高值耗材名称 + * @param cost 单价 + * @param expDate 失效期 + * @param certification 注册证号 + * @param firstBodyCode 自身条码1 + * @param secondBodyCode 自身条码2 + * @param thirdBodyCode 自身条码3 + * @param grade 类别 + * @returns {Boolean} + */ +function addItems(expensiveGoodsInstance){ + for(var i = 0;i < top.Ext.getCmp('expensiveGoodsGodownEntryItemGrid').getStore().getCount();i++){ + var expensiveGoodsGodownEntryItemData = top.Ext.getCmp('expensiveGoodsGodownEntryItemGrid').getStore().getAt(i).data; + if(expensiveGoodsGodownEntryItemData.id == expensiveGoodsInstance.id){ showResult("该物品已经存在,不能重复添加!"); return false; } } -// var cost = top.Ext.getCmp('cost').getValue(); - var expDate = top.Ext.getCmp('expDate').getValue(); - var supplierName = top.Ext.getCmp('supplierName').getValue(); + //添加操作 - var godownEntryItem = new GodownEntryItemRecord({ - disposableGoodsID: batch.disposableGoodsId, - disposableGoodsStockID: batch.disposableGoodsStockId, - disposableGoodsBatchID: batch.disposableGoodsBatchId, - disposableGoodsBatchStockID: batch.id, + var expensiveGoodsGodownEntryItem = new ExpensiveGoodsGodownEntryItemRecord({ localID:g_localID++, - id : "", - identificationID : '', - batchID : batch.id, - name : name, - amount : amount, - canOutAmount : priceAmount.amount, -// cost : cost, - cost : priceAmount.price, - batchNumber : batch.batchNumber, - expDate : expDate, - supplierName : supplierName + id : null, + expensiveGoodsId : expensiveGoodsInstance.expensiveGoodsId, + expensiveGoodsInstanceId : expensiveGoodsInstance.id, + expensiveGoodsStockId: expensiveGoodsInstance.expensiveGoodsStockId, + expensiveGoodsName : expensiveGoodsInstance.expensiveGoodsName, + status : expensiveGoodsInstance.status, + barcode : expensiveGoodsInstance.barcode, +// certification:certification, +// expDate : expDate, + price : Ext.num(parseFloat(expensiveGoodsInstance.price),0), + firstBodyCode:expensiveGoodsInstance.firstBodyCode, + secondBodyCode:expensiveGoodsInstance.secondBodyCode, + thirdBodyCode:expensiveGoodsInstance.thirdBodyCode }); - //top.Ext.getCmp('godownEntryItemGrid').getStore().add(godownEntryItem); - top.Ext.getCmp('godownEntryItemGrid').getStore().insert(0 , godownEntryItem); -// top.Ext.getCmp('name1').setValue(''); -// top.Ext.getCmp('amount1').setValue(''); -// top.Ext.getCmp('batchNumber1').setValue(''); -// top.Ext.getCmp('cost').setValue(''); -// top.Ext.getCmp('disposableGoodsStockID').setValue(''); -// disposableGoodsBatchNumStore.removeAll(); -// top.Ext.getCmp('expDate').setValue(''); -// top.Ext.getCmp('supplierName').setValue(''); -// top.Ext.getCmp('name1').focus(); + + top.Ext.getCmp('expensiveGoodsGodownEntryItemGrid').getStore().add(expensiveGoodsGodownEntryItem); + //top.Ext.getCmp('expensiveGoodsGodownEntryItemGrid').getStore().insert(0 , expensiveGoodsGodownEntryItem); +// clearAddedElementValue(); } +/** + * 清空每个被添加的元素的值 + */ +function clearAddedElementValue(){ + top.Ext.getCmp('supplier1').setValue(''); + top.Ext.getCmp('expensiveGoodsId1').setValue(''); + top.Ext.getCmp('name1').setValue(''); + top.Ext.getCmp('certification1').setValue(''); + top.Ext.getCmp('expDate1').setValue(''); + top.Ext.getCmp('cost1').setValue(''); + top.Ext.getCmp('firstBodyCode1').setValue(''); + top.Ext.getCmp('secondBodyCode1').setValue(''); + top.Ext.getCmp('thirdBodyCode1').setValue(''); + top.Ext.getCmp('grade1').setValue(''); +} + function renderDeleteButton(v,p,record){ + //如果为修改,则隐藏删除图标 + if(commonEntry.isOpen()){ + return ""; + } return ""; } +/** +* 精确计算arg1和arg2的乘积 +* @param arg1 +* @param arg2 +* @return +*/ +function accMul(arg1,arg2) { + var s1=null ,m=0; + if(!arg1){ + s1 = '0.0'; + }else{ + s1=arg1.toString(); + } + if(!arg2){ + s2='0.0'; + }else{ + s2=arg2.toString(); + } + try{m+=s1.split(".")[1].length;}catch(e){s1='0.0';} + try{m+=s2.split(".")[1].length;}catch(e){s2='0.0';} + return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m); +} +/** +* 精确计算arg1和arg2的和 +* @param arg1 +* @param arg2 +* @return +*/ +function accAdd(arg1,arg2){ + var r1=null ,m=0; + if(!arg1){ + r1 = '0.0'; + }else{ + r1=arg1.toString(); + } + if(!arg2){ + r2='0.0'; + }else{ + r2=arg2.toString(); + } + try{r1=arg1.toString().split(".")[1].length;}catch(e){r1=0;} + try{r2=arg2.toString().split(".")[1].length;}catch(e){r2=0;} + m=Math.pow(10,Math.max(r1,r2)); + return round((arg1*m+arg2*m)/m,2); +} +function round(v,e){ + var t=1; + for(;e>0;t*=10,e--); + for(;e<0;t/=10,e++); + return Math.round(v*t)/t; +} +function setTotalMoney(grid) { + var totalMoney = 0.0; + grid.getStore().each(function(record){ + var cost = Ext.num(parseFloat(record.data.cost),0.0); + totalMoney += cost; + }); + top.Ext.getCmp("totalPrice").setValue(Ext.util.Format.usMoney(totalMoney)); +} +function renderTotalPrice(val,p,record){ + var cost = Ext.num(parseFloat(record.data.cost),0.0); + var total = Ext.util.Format.usMoney(cost); + return total; +} function deleteItem(localID){ - var godownEntryItemGridStore = top.Ext.getCmp('godownEntryItemGrid').getStore(); - for(var i = 0;i