Index: ssts-web/src/main/webapp/disinfectsystem/packing/comboToussePackingView.js =================================================================== diff -u -r16876 -r16968 --- ssts-web/src/main/webapp/disinfectsystem/packing/comboToussePackingView.js (.../comboToussePackingView.js) (revision 16876) +++ ssts-web/src/main/webapp/disinfectsystem/packing/comboToussePackingView.js (.../comboToussePackingView.js) (revision 16968) @@ -15,7 +15,6 @@ } var str = "            "; str += "            "; - str += "     "; top.Ext4.getCmp("comboGrid").setTitle("已聚合的器械包" + str + "器械包总数量:" + totalAmount); } @@ -33,7 +32,10 @@ tousseName : tousseName, amount : amount, maxAmount : amount, - packageType : packageType + packageType : packageType, + errorAmount : 0, + damageAmount : 0, + unWashAmount : 0 }] sourceStore.insert(0,addItem); }else{ @@ -64,7 +66,24 @@ } } +/** + * 是否存在丢失报损器械 + * @param record + * @returns {Boolean} + */ +function isExistErrorOrDamage(record){ + var exist = false; + var tousseName = record.data["tousseName"]; + var errorAmount = record.data["errorAmount"]; + var damageAmount = record.data["damageAmount"]; + if(errorAmount > 0 || damageAmount > 0){ + showResult(tousseName + "丢失器械" + errorAmount + "件,报损器械" + damageAmount + "件,请补充后再装配!"); + exist = true; + } + return exist; +} + /** * >> 或 >>>> */ @@ -76,11 +95,17 @@ if(isAllMove){ var store = waitComboTousseGrid.getStore(); - for(var i = 0 ; i < store.getCount() ; i++){ - var record = store.getAt(i); - addTousseToTousseGrid(comboGridStore,record.get("id"),record.get("tousseName"),record.get("maxAmount"),record.get("packageType")); + var count = store.getCount(); + if(count > 0){ + for(var i = (count-1) ; i >= 0 ; i--){ + var record = store.getAt(i); + var isExist = isExistErrorOrDamage(record); + if(!isExist){ + addTousseToTousseGrid(comboGridStore,record.get("id"),record.get("tousseName"),record.get("maxAmount"),record.get("packageType")); + waitComboTousseStore.remove(record); + } + } } - waitComboTousseStore.removeAll(); }else{ var records = waitComboTousseGrid.getSelectionModel().getSelection(); if (records.length == 0) { @@ -98,15 +123,17 @@ showResult("聚合数量不能大于总数量!"); return false; } - addTousseToTousseGrid(comboGridStore,id,tousseName,amount,packageType); - - if(amount == maxAmount){ - waitComboTousseStore.remove(records[i]); - }else{ - var num = Number(maxAmount) - Number(amount); - records[i].set('amount', num); - records[i].set('maxAmount', num); - } + var isExist = isExistErrorOrDamage(records[i]); + if(!isExist){ + addTousseToTousseGrid(comboGridStore,id,tousseName,amount,packageType); + if(amount == maxAmount){ + waitComboTousseStore.remove(records[i]); + }else{ + var num = Number(maxAmount) - Number(amount); + records[i].set('amount', num); + records[i].set('maxAmount', num); + } + } } } resetComboTousseTotolAmount(); @@ -347,6 +374,8 @@ waitComboTousseStore.removeAll(); var comboGrid = top.Ext4.getCmp("comboGrid").getStore(); comboGrid.removeAll(); + var comboTousseDataGrid = top.Ext4.getCmp("comboTousseDataGrid").getStore(); + comboTousseDataGrid.removeAll(); var record = records; if (records.length > 0){ @@ -377,12 +406,18 @@ var name = includeTousseJson[i].name; var amount = includeTousseJson[i].currrentTaskAmount; var packageType = includeTousseJson[i].packageType; + var errorAmount = includeTousseJson[i].errorAmount; + var damageAmount = includeTousseJson[i].damageAmount; + var unWashAmount = includeTousseJson[i].unWashAmount; var addItem = [{ id : id, tousseName : name, amount : amount, maxAmount : amount, - packageType:packageType + packageType:packageType, + errorAmount : errorAmount, + damageAmount : damageAmount, + unWashAmount : unWashAmount }] waitComboTousseStore.insert(0,addItem); } @@ -411,17 +446,29 @@ {name : 'tousseName',mapping : 'tousseName'}, {name : 'amount',mapping : 'amount'}, {name : 'maxAmount',mapping : 'maxAmount'}, - {name : 'packageType',mapping : 'packageType'} + {name : 'packageType',mapping : 'packageType'}, + {name : 'errorAmount',mapping : 'errorAmount'}, + {name : 'damageAmount',mapping : 'damageAmount'}, + {name : 'unWashAmount',mapping : 'unWashAmount'} ] }), columns:[{ header : "器械包名称", dataIndex : 'tousseName', - width : 160 + width : 140, + renderer: function(v,metaData,record,rowIndex, columnIndex, store,view){ + var errorAmount = record.get('errorAmount'); + var damageAmount = record.get('damageAmount'); + if(errorAmount > 0 || damageAmount > 0){ + return "
" + v + "
"; + }else{ + return v; + } + } }, { header : "聚合数量", dataIndex : 'amount', - width : 100, + width : 70, editor : { xtype: 'numberfield', allowDecimals : false, @@ -434,9 +481,13 @@ } } }, { - header : "总数量", + header : "可装配数量", dataIndex : 'maxAmount', - width : 100 + width : 80 + }, { + header : "未清洗数量", + dataIndex : 'unWashAmount', + width : 75 }] });