Index: ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/service/ExpensiveGoodsManagerImpl.java =================================================================== diff -u -r22098 -r22115 --- ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/service/ExpensiveGoodsManagerImpl.java (.../ExpensiveGoodsManagerImpl.java) (revision 22098) +++ ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/service/ExpensiveGoodsManagerImpl.java (.../ExpensiveGoodsManagerImpl.java) (revision 22115) @@ -293,9 +293,19 @@ Iterator it = curExpensiveGoods.getExpensiveGoodsModelList().iterator(); while(it.hasNext()){ ExpensiveGoodsModel curexpensiveGoodsModel = it.next(); + if(StringUtils.isBlank(curexpensiveGoodsModel.getModel())){ + continue; + } ExpensiveGoodsModel expensiveGoodsModel = existModel(expensiveGoods.getExpensiveGoodsModelList(),curexpensiveGoodsModel.getId()); if(expensiveGoodsModel == null){ + String sql = String.format("select count(*) from %s po where %s",ExpensiveGoodsModelStock.class.getSimpleName(), SqlUtils.getLongFieldPredicate("po.expensiveGoodsModel_id", curexpensiveGoodsModel.getId())); + int count = objectDao.countBySql(sql); + if(count > 0){ + throw new RuntimeException(String.format("高值耗材型号\"%s\"在型号库存中,不能修改!",curexpensiveGoodsModel.getModel())); + } + objectDao.delete(curexpensiveGoodsModel); it.remove(); + } } Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsView.js =================================================================== diff -u -r22094 -r22115 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsView.js (.../expensiveGoodsView.js) (revision 22094) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsView.js (.../expensiveGoodsView.js) (revision 22115) @@ -6,6 +6,7 @@ var autoFillExternalCodeOfDisposableGoods = false; var SUPPLIER_TYPE_SUPPLIER = '生产厂家'; var supplierStore = null; +var selectedRow = null; var registrationCertificationBatchNumStore = null; var batchRecord = null; @@ -67,6 +68,7 @@ } function addExpensiveGoods(id) { + expensiveGoodsModelStore.removeAll(); autoFillExternalCodeOfDisposableGoods = getBoolValueFromJs('sstsConfig.autoFillExternalCodeOfDisposableGoods',autoFillExternalCodeOfDisposableGoods); var dType = document.getElementById("parm_s_type").value; var diposableGooodsStore = new Ext.data.SimpleStore({ @@ -84,6 +86,7 @@ }); top.Ext.getCmp('expensiveGoodsModelGirdId').stopEditing();// 停止编辑 expensiveGoodsModelStore.add(p);// 插入到最后一行 + top.Ext.getCmp('expensiveGoodsModelGirdId').getSelectionModel().selectLastRow(); top.Ext.getCmp('expensiveGoodsModelGirdId').startEditing(n, 0);// 开始编辑0单元格 } @@ -97,24 +100,43 @@ allowBlank : false, listeners : { change : function(textField, newValue, oldValue) { - var rowIndex = top.Ext.getCmp('expensiveGoodsModelGirdId').getStore().getCount();//grid的行数 - var configStore = top.Ext.getCmp('expensiveGoodsModelGirdId').getStore(); - var judge = []; - for(var i =0 ;i < rowIndex ; i++ ){ - var electRecord = configStore.getAt(i); - var certification = configStore.getAt(i).data.expensiveGoodsModel; - var type = configStore.getAt(i).data.type; - if(certification != ''){ - if(judge.contains(newValue)){ - showResult('已包含相同型号:'+ newValue +',不可重复添加!'); - judge.splice(0,judge.length); //数组清空 - textField.setValue(oldValue); - return false; - }else{ - judge.push(electRecord.get('expensiveGoodsModel')); - } - } - } +// var rowIndex = top.Ext.getCmp('expensiveGoodsModelGirdId').getStore().getCount();//grid的行数 +// var configStore = top.Ext.getCmp('expensiveGoodsModelGirdId').getStore(); +// var judge = []; +// judge.push(newValue); +//// for(var i =0 ;i < rowIndex ; i++ ){ +//// var electRecord = configStore.getAt(i); +//// var certification = configStore.getAt(i).data.expensiveGoodsModel; +//// var type = configStore.getAt(i).data.type; +//// if(certification != ''){ +//// if(judge.contains(newValue)){ +//// showResult('已包含相同型号:'+ newValue +',不可重复添加!'); +//// judge.splice(0,judge.length); //数组清空 +//// textField.setValue(oldValue); +//// return false; +//// }else{ +//// judge.push(electRecord.get('expensiveGoodsModel')); +//// } +//// } +//// } +//// textField.setValue(newValue); +// var num3 = selectedRow; +// +// configStore.each(function(record){ +// var certification = record.data.expensiveGoodsModel; +// var num1 = textField.getPosition()[0]; +// var num2 = configStore.indexOf(record); +// if(certification != ''){ +// if(judge.contains(newValue) && num2 != selectedRow){ +// showResult('已包含相同型号:'+ newValue +',不可重复添加!'); +// judge.splice(0,judge.length); //数组清空 +// textField.setValue(oldValue); +// return false; +// }else{ +// judge.push(certification); +// } +// } +// }); } } }) @@ -770,6 +792,11 @@ singleSelect : false }), colModel : expensiveGoodsModelColumnModel, + listeners : { + rowclick : function(grid,rowIndex){ + selectedRow = rowIndex; + } + }, tbar : [{ text : '新增', width : 70 , @@ -951,6 +978,37 @@ } } + //判断在型号列表中有没有重复值与空值 + var configStore = top.Ext.getCmp('expensiveGoodsModelGirdId').getStore(); + var judge = []; + var haveSameValue = false; + configStore.each(function(record){ + var certification = record.data.expensiveGoodsModel; + if(certification != ''){ + if(judge.contains(certification)){ + showResult('已包含相同型号:'+ certification +',不可重复添加!'); + judge.splice(0,judge.length); //数组清空 +// textField.setValue(oldValue); + haveSameValue = true; + return false; + }else{ + judge.push(certification); + } + }else{ + haveSameValue = true; + showResult('型号规格不能为空!'); + return false; + + } + }); + if(haveSameValue){ + top.Ext.getCmp('saveBtn').enable(); + return ; + } + + + + // if(!stringLooksEquals(originalGoodsType,goodsType)){ // msg += "是否确定更改物品类型?" // }