Index: ssts-web/src/main/webapp/disinfectsystem/invoice/auxiliaryInvoiceForm.js =================================================================== diff -u -r37058 -r37536 --- ssts-web/src/main/webapp/disinfectsystem/invoice/auxiliaryInvoiceForm.js (.../auxiliaryInvoiceForm.js) (revision 37058) +++ ssts-web/src/main/webapp/disinfectsystem/invoice/auxiliaryInvoiceForm.js (.../auxiliaryInvoiceForm.js) (revision 37536) @@ -263,14 +263,30 @@ return false; }*/ getTousseGridData(); - + form.form.submit( { //url : WWWROOT + '/disinfectSystem/invoiceAction!saveDepartInvoice.do', url : WWWROOT + '/disinfectSystem/invoiceAction!saveInvoiceByDepartOrInvoicePlanId.do', method : 'POST', waitMsg : '正在保存数据,请稍候', waitTitle : '提交表单', success : function(form, action) { + var resultData = action.result.resultData; + //DGSETYY-80:4.3提示发货失败信息 + if (resultData && resultData.length > 0) { + for ( var i = 0; i < sendOutGoodsStore.getCount(); i++) { + var record = sendOutGoodsStore.getAt(i); + var barcode = record.data.barcode; + for (var k = 0; k < resultData.length; k++) { + if (resultData[k].barcode == barcode) { + showMultipleResult(resultData[k].invoiceFailReason); + var doc = documentGetElementsByClassName('x-grid3-body',top.document.getElementById('sendOutGoods'))[0]; + documentGetElementsByClassName('x-grid3-row',doc)[i].style.backgroundColor = 'red'; + } + } + } + return + } // 一定要事务提交成功才返回发货计划列表界面 showResult(action.result.message , null , sstsConfig.messagePauseTimeOnInvoiceplanPage); if(action.result.success){ @@ -928,6 +944,31 @@ for ( var i = 0; i < rows.length; i++) { barcodes.push(rows[i].data.barcode); } + var orgUnitCoding = top.Ext.getCmp("orgUnitCoding").getValue(); + + //DGSETYY-80:4.3提示发货失败信息 + if (sstsConfig.enableTraceableToussesShippedBackToTheOriginalApplyInfoFunctio) { + var resultData = []; + Ext4.Ajax.request({ + url: WWWROOT + '/disinfectSystem/invoiceAction!validateTousseInstancesForAuxiliaryInvoice', + params: { barcode: barcodes.join(','), orgUnitCoding: orgUnitCoding}, + async: false, + success: function (response, options) { + var result = Ext4.decode(response.responseText); + if(result.resultData){ + resultData = result.resultData; + } + } + }); + + if(resultData.length > 0){ + for (var i = 0; i < resultData.length; i++) { + showMultipleResult(resultData[i].invoiceFailReason); + } + return; + } + } + var barcodeToMonitoringInfoMap = {}; var defMonitoringInfo = { noBiologicalMonitoring: false,