Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.js =================================================================== diff -u -r40586 -r40844 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.js (.../goodsApplicationView.js) (revision 40586) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.js (.../goodsApplicationView.js) (revision 40844) @@ -2189,6 +2189,16 @@ } return ; } + //GDSKQYY-16:如果批量打印发货计划的版本为2时 + if(sstsConfig.batchPrintInvoicePlanVersion == 2){ + commonEquipmentDeliveryPlanList2(obj); + if (!isIE6OrIE7){ + objMask.printMask.hide(); + }else { + mask.hide(); + } + return ; + } if (!isIE6OrIE7){ objMask.printMask.hide(); } Index: ssts-web/src/main/webapp/disinfectsystem/print/printApplicationGoods.js =================================================================== diff -u -r33824 -r40844 --- ssts-web/src/main/webapp/disinfectsystem/print/printApplicationGoods.js (.../printApplicationGoods.js) (revision 33824) +++ ssts-web/src/main/webapp/disinfectsystem/print/printApplicationGoods.js (.../printApplicationGoods.js) (revision 40844) @@ -1,4 +1,4 @@ -function getPrintJsonParams(action, ids , config){ +function getPrintJsonParams(action, ids, config) { var printParams = {}; printParams.action = action; printParams.ids = ids; @@ -20,238 +20,266 @@ printParams.printScope.printByOriginalApplications = config.printByOriginalApplications; printParams.printScope.isPrintToSendGood = config.isPrintToSendGood; printParams.printScope.customProject = config.customProject; - if(printConfig.isMergePrint){ + if (printConfig.isMergePrint) { printParams.printScope.isMergePrint = printConfig.isMergePrint; } var isMergeRemark = false; - if(sstsConfig.enableApplyGoodsRemarkFunction){ - if(config.goodsTable && config.goodsTable.content && config.goodsTable.content.length > 0){ - for(var i=0;i 0) { + for (var i = 0; i < config.goodsTable.content.length; i++) { var dataIndex = config.goodsTable.content[i].dataIndex; - if(dataIndex == 'remarkOfApplyGoods'){ + if (dataIndex == 'remarkOfApplyGoods') { isMergeRemark = true; } } } } - if(isMergeRemark){ + if (isMergeRemark) { printParams.printScope.isMergeRemark = isMergeRemark; } return printParams; } //批量打印发货计划 -function commonEquipmentDeliveryPlanList(printData){ +function commonEquipmentDeliveryPlanList(printData) { //所有物品的集合 var goodsArr = []; var goodsAnArr = []; - for(var i = 0; i < printData.data.length; i++){ + for (var i = 0; i < printData.data.length; i++) { var pages = printData.data[i].pages; - for(var j = 0; j < pages.length; j++ ){ + for (var j = 0; j < pages.length; j++) { var rows = pages[j].rows; - for(var k = 0; k < rows.length; k++){ + for (var k = 0; k < rows.length; k++) { var goodsName = rows[k].goodsName; goodsArr.push(goodsName); - var anObj = {depart : printData.data[i].depart, name : goodsName,applyAmount : rows[k].applyAmount }; + var anObj = { depart: printData.data[i].depart, name: goodsName, applyAmount: rows[k].applyAmount }; goodsAnArr.push(anObj); } } } var dataResult = []; var departArray = []; var nameArray = []; - for(var i = 0;i < goodsAnArr.length;i++){ - if(!departArray.contains(goodsAnArr[i].depart)){ + for (var i = 0; i < goodsAnArr.length; i++) { + if (!departArray.contains(goodsAnArr[i].depart)) { departArray.push(goodsAnArr[i].depart); } - if(!nameArray.contains(goodsAnArr[i].name)){ + if (!nameArray.contains(goodsAnArr[i].name)) { nameArray.push(goodsAnArr[i].name); } } - for(var i = 0;i < goodsAnArr.length;i++){ + for (var i = 0; i < goodsAnArr.length; i++) { var existsDepart = false; - for(var j = 0 ;j < dataResult.length;j++){ - if(dataResult[j].depart == goodsAnArr[i].depart){ + for (var j = 0; j < dataResult.length; j++) { + if (dataResult[j].depart == goodsAnArr[i].depart) { var toolArray = dataResult[j].tool; - if(!toolArray){ + if (!toolArray) { toolArray = []; } - if(toolArray.length > 0){ + if (toolArray.length > 0) { var existsTool = false; - for(var k = 0;k < toolArray.length;k++){ - if(toolArray[k].name == goodsAnArr[i].name){ - if(!toolArray[k].applyAmount){ + for (var k = 0; k < toolArray.length; k++) { + if (toolArray[k].name == goodsAnArr[i].name) { + if (!toolArray[k].applyAmount) { toolArray[k].applyAmount = 0; } toolArray[k].applyAmount += goodsAnArr[i].applyAmount; existsTool = true; } } - if(!existsTool){ - var toolObject = {name:goodsAnArr[i].name,applyAmount:goodsAnArr[i].applyAmount}; + if (!existsTool) { + var toolObject = { name: goodsAnArr[i].name, applyAmount: goodsAnArr[i].applyAmount }; toolArray.push(toolObject); departObject.tool = toolArray; } - + } existsDepart = true; break; } } - if(!existsDepart){ + if (!existsDepart) { var departObject = {}; departObject.depart = goodsAnArr[i].depart; var toolArray = []; - toolArray.push({name:goodsAnArr[i].name,applyAmount:goodsAnArr[i].applyAmount}); + toolArray.push({ name: goodsAnArr[i].name, applyAmount: goodsAnArr[i].applyAmount }); departObject.tool = toolArray; dataResult.push(departObject); } } - var LODOP = getLodop(document.getElementById('LODOP'),document.getElementById('LODOP_EM')); - LODOP.SET_PRINT_STYLE("FontSize",17); - var titleTable = "
"+"通用器械发货计划"+"
"; - LODOP.ADD_PRINT_TABLE("15","1%","99%",5,titleTable); - LODOP.SET_PRINT_STYLE("FontSize",10); - var date = new Date(); - var retval = date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate() +" "+timeformat(date.getHours())+":"+timeformat(date.getMinutes()); - var tableHtml = ""; - tableHtml += ""; - tableHtml += ""; - for(var i = 0; i < nameArray.length; i++){ - tableHtml += "" - } - tableHtml += ""; - var totalArr = []; - for(var i = 0;i < nameArray.length; i++){ - totalArr.push(0); - } - for(var i = 0; i < departArray.length; i++){ - tableHtml += ""; - tableHtml += ""; - for(var j = 0; j < nameArray.length; j++){ - tableHtml += ""; + var LODOP = getLodop(document.getElementById('LODOP'), document.getElementById('LODOP_EM')); + LODOP.SET_PRINT_STYLE("FontSize", 17); + var titleTable = "
科室"; - tableHtml += nameArray[i]; - tableHtml += "
"+departArray[i]+""; - var existsValue; - for(var k = 0; k < dataResult[i].tool.length; k++ ){ - if(dataResult[i].tool[k].name == nameArray[j]){ - tableHtml += dataResult[i].tool[k].applyAmount; - totalArr[j] += dataResult[i].tool[k].applyAmount; - existsValue = true; - break; - } - } - if(!existsValue){ - tableHtml += " "; - } - tableHtml += "
" + "通用器械发货计划" + "
"; + LODOP.ADD_PRINT_TABLE("15", "1%", "99%", 5, titleTable); + LODOP.SET_PRINT_STYLE("FontSize", 10); + var date = new Date(); + var retval = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " + timeformat(date.getHours()) + ":" + timeformat(date.getMinutes()); + var tableHtml = ""; + tableHtml += ""; + tableHtml += ""; + for (var i = 0; i < nameArray.length; i++) { + tableHtml += "" + } + tableHtml += ""; + var totalArr = []; + for (var i = 0; i < nameArray.length; i++) { + totalArr.push(0); + } + for (var i = 0; i < departArray.length; i++) { + tableHtml += ""; + tableHtml += ""; + for (var j = 0; j < nameArray.length; j++) { + tableHtml += ""; } - tableHtml += ""; - tableHtml += ""; - for(var i = 0; i < totalArr.length; i++){ - tableHtml += ""; + if (!existsValue) { + tableHtml += " "; } - tableHtml += ""; - tableHtml += "
科室"; + tableHtml += nameArray[i]; + tableHtml += "
" + departArray[i] + ""; + var existsValue; + for (var k = 0; k < dataResult[i].tool.length; k++) { + if (dataResult[i].tool[k].name == nameArray[j]) { + tableHtml += dataResult[i].tool[k].applyAmount; + totalArr[j] += dataResult[i].tool[k].applyAmount; + existsValue = true; + break; } - tableHtml += "
"; - tableHtml += "合计"; - tableHtml += ""; - tableHtml += totalArr[i]; - tableHtml += "
"; + tableHtml += ""; + } + tableHtml += ""; + } + tableHtml += ""; + tableHtml += ""; + tableHtml += "合计"; + tableHtml += ""; + for (var i = 0; i < totalArr.length; i++) { + tableHtml += ""; + tableHtml += totalArr[i]; + tableHtml += ""; + } + tableHtml += ""; + tableHtml += ""; - LODOP.ADD_PRINT_TABLE("75","2%","97%","2000",tableHtml); - LODOP.PRINT(); - return ; + LODOP.ADD_PRINT_TABLE("75", "2%", "97%", "2000", tableHtml); + LODOP.PRINT(); + return; } -function formatMoney(v){ + +//GDSKQYY-16:批量打印发货计划2 +function commonEquipmentDeliveryPlanList2(printData) { + var title = ''; + var goodCount = 0; + var date = new Date(); + var printTime = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " + timeformat(date.getHours()) + ":" + timeformat(date.getMinutes()); + var departHtml = '科室(诊位)名称待发物品总数'; + for (var i = 0; i < printData.data.length; i++) { + title = printData.data[i].header; + var totalGoodsAmount = printData.data[i].totalGoodsAmount; + var depart = printData.data[i].depart; + departHtml += '' + departHtml += '' + depart + '' + totalGoodsAmount + ''; + departHtml += '' + goodCount += totalGoodsAmount; + } + departHtml += '合计' + goodCount + ''; + var tableHtml = "

" + title + "待发物品总数单

"; + tableHtml += "

打印时间:" + printTime + "

"; + tableHtml += ""; + tableHtml += departHtml + tableHtml += "
"; + + LODOP.ADD_PRINT_HTM("10", "2%", "97%", "2000", tableHtml); + LODOP.PRINT(); + return; +} +function formatMoney(v) { return Number(v).toFixed(2); } -function isIETrue(){ +function isIETrue() { var vals = ''; - if(!!window.ActiveXObject || "ActiveXObject" in window){ - if(vals !== ''){ - var DEFAULT_VERSION = 8.0; + if (!!window.ActiveXObject || "ActiveXObject" in window) { + if (vals !== '') { + var DEFAULT_VERSION = 8.0; var ua = navigator.userAgent.toLowerCase(); - var safariVersion = ua.match(/msie ([\d.]+)/) || ''; - if(safariVersion == ''){ + var safariVersion = ua.match(/msie ([\d.]+)/) || ''; + if (safariVersion == '') { return false; } - if(safariVersion[1] <= DEFAULT_VERSION ){ + if (safariVersion[1] <= DEFAULT_VERSION) { return true; - }else { + } else { return false; } } return true; - }else{ + } else { return false; -   } + } } //批量打印申请单 function printApplicationGoods(printType, printSummaryObj) { LODOP = getLodop(document.getElementById('LODOP'), document - .getElementById('LODOP_EM')); - if(!isUndefinedOrNullOrEmpty(LODOP)){ + .getElementById('LODOP_EM')); + if (!isUndefinedOrNullOrEmpty(LODOP)) { var myObj = printConfig[formTypeOfPrinted]; - if(isUndefinedOrNullOrEmpty(myObj)){ - var msg = '未找到('+formTypeOfPrinted+')的打印配置'; + if (isUndefinedOrNullOrEmpty(myObj)) { + var msg = '未找到(' + formTypeOfPrinted + ')的打印配置'; alert(msg); return; } - if(myObj.print2){ - printSummaryObj.goods=printSummaryObj.pages[0].rows; + if (myObj.print2) { + printSummaryObj.goods = printSummaryObj.pages[0].rows; print2(printSummaryObj); - }else { - print(printSummaryObj,myObj.print2column); + } else { + print(printSummaryObj, myObj.print2column); } - if(printType == 0){//直接打印 - LODOP.PRINT(); - }else{ - LODOP.SET_SHOW_MODE("HIDE_PAPER_BOARD",1); - if(isIETrue()){ + if (printType == 0) {//直接打印 + LODOP.PRINT(); + } else { + LODOP.SET_SHOW_MODE("HIDE_PAPER_BOARD", 1); + if (isIETrue()) { var value = LODOP.PREVIEW(); - if(value == 1){ + if (value == 1) { var tousseItemIds = []; - top.Ext4.Array.each(printSummaryObj.pages, function(page){ - top.Ext4.Array.each(page.rows, function(row){ + top.Ext4.Array.each(printSummaryObj.pages, function (page) { + top.Ext4.Array.each(page.rows, function (row) { tousseItemIds = tousseItemIds.concat(row.tousseItemIds); - // tousseItemIds.push(row.tousseItemId); + // tousseItemIds.push(row.tousseItemId); }); }); - if(tousseItemIds.length > 0){ + if (tousseItemIds.length > 0) { var tousseItemIdStrs = JSON.stringify(tousseItemIds); Ext.Ajax.request({ - url : WWWROOT + '/disinfectSystem/recyclingApplicationAction!updateTousseItemPrintStatus.do', - params : {ids : tousseItemIdStrs, setPrintTime : true}, - success : function(response, options) { + url: WWWROOT + '/disinfectSystem/recyclingApplicationAction!updateTousseItemPrintStatus.do', + params: { ids: tousseItemIdStrs, setPrintTime: true }, + success: function (response, options) { //更新完打印状态之后,及时刷新页面 grid.dwrReload(); } }); } } - }else { + } else { LODOP.PREVIEW(); - LODOP.On_Return = function(id,value){ - if(value == 1){ + LODOP.On_Return = function (id, value) { + if (value == 1) { var tousseItemIds = []; - top.Ext4.Array.each(printSummaryObj.pages, function(page){ - top.Ext4.Array.each(page.rows, function(row){ + top.Ext4.Array.each(printSummaryObj.pages, function (page) { + top.Ext4.Array.each(page.rows, function (row) { tousseItemIds = tousseItemIds.concat(row.tousseItemIds); - // tousseItemIds.push(row.tousseItemId); + // tousseItemIds.push(row.tousseItemId); }); }); - if(tousseItemIds.length > 0){ + if (tousseItemIds.length > 0) { var tousseItemIdStrs = JSON.stringify(tousseItemIds); Ext.Ajax.request({ - url : WWWROOT + '/disinfectSystem/recyclingApplicationAction!updateTousseItemPrintStatus.do', - params : {ids : tousseItemIdStrs, setPrintTime : true}, - success : function(response, options) { + url: WWWROOT + '/disinfectSystem/recyclingApplicationAction!updateTousseItemPrintStatus.do', + params: { ids: tousseItemIdStrs, setPrintTime: true }, + success: function (response, options) { //更新完打印状态之后,及时刷新页面 grid.dwrReload(); } @@ -260,47 +288,47 @@ } } } - } - }else{ - showResult("打印失败:获取不到LODOP对象"+LODOP) + } + } else { + showResult("打印失败:获取不到LODOP对象" + LODOP) } } // 打印外来器械申请单 function doPrintForeignTousseApplication(printType, printSummaryObj) { LODOP = getLodop(document.getElementById('LODOP'), document - .getElementById('LODOP_EM')); - print(printSummaryObj); - if(printType == 0){//直接打印 - LODOP.PRINT(); - }else{//打印预览 - LODOP.SET_SHOW_MODE("HIDE_PAPER_BOARD",1); - LODOP.PREVIEW(); - } + .getElementById('LODOP_EM')); + print(printSummaryObj); + if (printType == 0) {//直接打印 + LODOP.PRINT(); + } else {//打印预览 + LODOP.SET_SHOW_MODE("HIDE_PAPER_BOARD", 1); + LODOP.PREVIEW(); + } } var totalRows = 10; //打印待召回的器械包 -function printRecalledTousses(title,userName,printData,printType) { - printRecalledFunction(title,userName,printData); - if(printType == 0){//直接打印 - LODOP.PRINT(); - }else{//打印预览 - LODOP.SET_SHOW_MODE("HIDE_PAPER_BOARD",1); - LODOP.PREVIEW(); - } +function printRecalledTousses(title, userName, printData, printType) { + printRecalledFunction(title, userName, printData); + if (printType == 0) {//直接打印 + LODOP.PRINT(); + } else {//打印预览 + LODOP.SET_SHOW_MODE("HIDE_PAPER_BOARD", 1); + LODOP.PREVIEW(); + } } -function printRecalledTousseData(title,depart,applicant,applicationTime,printUser,goods,pageNumber,totalPage,remark,serialNum,departAppAmount){ - LODOP.SET_PRINT_STYLE("FontSize",17); - var titleTable = "
"+title+"
"; - LODOP.ADD_PRINT_TABLE("15","1%","99%",5,titleTable); - LODOP.SET_PRINT_STYLE("FontSize",10); - LODOP.ADD_PRINT_TEXT("55","5%","90%",5,"去向:" + depart); - LODOP.ADD_PRINT_TEXT("55","25%","90%",5,"单号:" + serialNum); +function printRecalledTousseData(title, depart, applicant, applicationTime, printUser, goods, pageNumber, totalPage, remark, serialNum, departAppAmount) { + LODOP.SET_PRINT_STYLE("FontSize", 17); + var titleTable = "
" + title + "
"; + LODOP.ADD_PRINT_TABLE("15", "1%", "99%", 5, titleTable); + LODOP.SET_PRINT_STYLE("FontSize", 10); + LODOP.ADD_PRINT_TEXT("55", "5%", "90%", 5, "去向:" + depart); + LODOP.ADD_PRINT_TEXT("55", "25%", "90%", 5, "单号:" + serialNum); var date = new Date(); - var retval = date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate() +" "+timeformat(date.getHours())+":"+timeformat(date.getMinutes()); - LODOP.ADD_PRINT_TEXT("55","45%","90%",5,"日期:" + retval); - var rem = remark==null?"":remark; - LODOP.ADD_PRINT_TEXT("55","65%","90%",5,"备注:" + rem); + var retval = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " + timeformat(date.getHours()) + ":" + timeformat(date.getMinutes()); + LODOP.ADD_PRINT_TEXT("55", "45%", "90%", 5, "日期:" + retval); + var rem = remark == null ? "" : remark; + LODOP.ADD_PRINT_TEXT("55", "65%", "90%", 5, "备注:" + rem); var tableHtml = ""; tableHtml += ""; tableHtml += ""; @@ -310,73 +338,73 @@ tableHtml += ""; var totalAmount = 0; var totalPrice = 0.00; - var startIndex = (pageNumber -1)*totalRows ; - var endIndex = pageNumber*totalRows; - if(endIndex > goods.length){ + var startIndex = (pageNumber - 1) * totalRows; + var endIndex = pageNumber * totalRows; + if (endIndex > goods.length) { endIndex = goods.length; } - if(goods != null && goods.length > 0){ - for ( var i = startIndex; i < endIndex; i++) { - if(goods[i] == null || goods[i] == ""){ + if (goods != null && goods.length > 0) { + for (var i = startIndex; i < endIndex; i++) { + if (goods[i] == null || goods[i] == "") { continue; } var goodsName = goods[i].data.tousseName; var status = goods[i].data.status; var barcode = goods[i].data.barcode; totalAmount += 1; var sterilizeTimeStr = goods[i].data.sterilizeTimeStr; - - if(sterilizeTimeStr != ''){ - sterilizeTimeStr = sterilizeTimeStr.substring(0,10) + + if (sterilizeTimeStr != '') { + sterilizeTimeStr = sterilizeTimeStr.substring(0, 10) } - var serialNumber = i+1; - tableHtml += " "; - tableHtml += ""; - tableHtml += ""; + var serialNumber = i + 1; + tableHtml += " "; + tableHtml += ""; + tableHtml += ""; tableHtml += ""; tableHtml += ""; tableHtml += ""; } } - if(pageNumber == totalPage){ + if (pageNumber == totalPage) { //合计 - var tAmount = departAppAmount==null?totalAmount:(departAppAmount+totalAmount); + var tAmount = departAppAmount == null ? totalAmount : (departAppAmount + totalAmount); tableHtml += ""; - tableHtml += ""; + tableHtml += ""; tableHtml += ""; } //页码 tableHtml += ""; tableHtml += "
序号包名称
"+(serialNumber)+""+goodsName+""+barcode+" 
" + (serialNumber) + "" + goodsName + "" + barcode + " " + sterilizeTimeStr + "" + status + "
合计"+(tAmount)+" " + (tAmount) + " 
    制单: " + printUser + "        申请人: " + applicant + " "; tableHtml += "               复核: "; tableHtml += "            验收: "; - tableHtml += "            提交时间:"+applicationTime; - tableHtml += "       第"+pageNumber+"页/共"+totalPage+"页"; + tableHtml += "            提交时间:" + applicationTime; + tableHtml += "       第" + pageNumber + "页/共" + totalPage + "页"; tableHtml += "
"; - LODOP.ADD_PRINT_TABLE("75","2%","97%","2000",tableHtml); - return (totalAmount+"#;"+formatMoney(totalPrice)); + LODOP.ADD_PRINT_TABLE("75", "2%", "97%", "2000", tableHtml); + return (totalAmount + "#;" + formatMoney(totalPrice)); } -function printRecalledFunction(title,userName,printData) { - LODOP = getLodop(document.getElementById('LODOP'),document.getElementById('LODOP_EM')); +function printRecalledFunction(title, userName, printData) { + LODOP = getLodop(document.getElementById('LODOP'), document.getElementById('LODOP_EM')); var len = printData.length; - if( len > totalRows){ - var totalPage = parseInt(len/ totalRows)+1; + if (len > totalRows) { + var totalPage = parseInt(len / totalRows) + 1; var departAppAmount = 0; - for ( var j = 0; j < totalPage; j++) { + for (var j = 0; j < totalPage; j++) { LODOP.NEWPAGE(); - var t = printRecalledTousseData(title,"","","",userName,printData,j+1,totalPage,"","",departAppAmount); + var t = printRecalledTousseData(title, "", "", "", userName, printData, j + 1, totalPage, "", "", departAppAmount); var temp = t.split("#;"); departAppAmount += parseInt(temp[0]); } - }else{ - printRecalledTousseData(title,"","","",userName,printData,1,1,"","",null); + } else { + printRecalledTousseData(title, "", "", "", userName, printData, 1, 1, "", "", null); } }; -function getPrintTime(){ +function getPrintTime() { var date = new Date(); - var printTime = date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate() +" "+timeformat(date.getHours())+":"+timeformat(date.getMinutes()); + var printTime = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " + timeformat(date.getHours()) + ":" + timeformat(date.getMinutes()); return printTime; } @@ -387,464 +415,464 @@ * @param printType * @param isBatchPrint 是否是批量打印,如果是批量打印,将根据后台传过来的summary中的printTemplate属性重新设置formTypeOfPrinted。printTemplate的默认值为invoicePlan */ -function printByJsonPrintObject(printObj, msgBox, isNotSupplyRoomUser,printType,isBatchPrint){ +function printByJsonPrintObject(printObj, msgBox, isNotSupplyRoomUser, printType, isBatchPrint) { var totalPageAmount = printObj.totalPageAmount; var count = 0; - for (var i=0;i 0){ - var tousseItemIdStrs = JSON.stringify(tousseItemIds); - Ext.Ajax.request({ - url : WWWROOT + '/disinfectSystem/recyclingApplicationAction!updateTousseItemPrintStatus.do', - params : {ids : tousseItemIdStrs, setPrintTime : true}, - success : function(response, options) { - //更新完打印状态之后,及时刷新页面 - grid.dwrReload(); - } - }); - } - } - } - hideMessageBox(true); + if (!isNotSupplyRoomUser && printType == 0) { + var tousseItemIds = []; + top.Ext4.Array.each(summary.pages, function (page) { + top.Ext4.Array.each(page.rows, function (row) { + tousseItemIds = tousseItemIds.concat(row.tousseItemIds); + // tousseItemIds.push(row.tousseItemId); + }); + }); + if (tousseItemIds.length > 0) { + var tousseItemIdStrs = JSON.stringify(tousseItemIds); + Ext.Ajax.request({ + url: WWWROOT + '/disinfectSystem/recyclingApplicationAction!updateTousseItemPrintStatus.do', + params: { ids: tousseItemIdStrs, setPrintTime: true }, + success: function (response, options) { + //更新完打印状态之后,及时刷新页面 + grid.dwrReload(); + } + }); + } + } + } + hideMessageBox(true); } // 打印申请单的通用函数,包括器械包(含消毒物品、自定义器械包),一次性物品 -function printApplyGoods(printParams,printType,isNotSupplyRoomUser,windowObj){ - if ( isNotSupplyRoomUser ){ - printParams.printScope.rowsPerPage = printConfig.application.rowsPerPage; +function printApplyGoods(printParams, printType, isNotSupplyRoomUser, windowObj) { + if (isNotSupplyRoomUser) { + printParams.printScope.rowsPerPage = printConfig.application.rowsPerPage; } - else{ - printParams.printScope.rowsPerPage = printConfig.invoicePlan.rowsPerPage; - } - DWREngine.setAsync(false); - RecyclingApplicationTableManager.findPrintRecyclingGoods(JSON.stringify(printParams) , function(result){ - var obj = JSON.parse(result); - if (obj.success){ - var msgBox = null; - if (printType == 0){ - msgBox = top.Ext.MessageBox.show({ - title:'请等待', - msg:'打印中……', - width:350, - progress:true, - closable:false - }); - } - - printByJsonPrintObject(obj, msgBox, isNotSupplyRoomUser,printType,false); - grid.dwrReload(); - hideMessageBox(true); - if (printType == 0 && windowObj != null){ - windowObj.close(); - } - } - else{ - showResult(obj.message); - } - }); - DWREngine.setAsync(true); + else { + printParams.printScope.rowsPerPage = printConfig.invoicePlan.rowsPerPage; + } + DWREngine.setAsync(false); + RecyclingApplicationTableManager.findPrintRecyclingGoods(JSON.stringify(printParams), function (result) { + var obj = JSON.parse(result); + if (obj.success) { + var msgBox = null; + if (printType == 0) { + msgBox = top.Ext.MessageBox.show({ + title: '请等待', + msg: '打印中……', + width: 350, + progress: true, + closable: false + }); + } + + printByJsonPrintObject(obj, msgBox, isNotSupplyRoomUser, printType, false); + grid.dwrReload(); + hideMessageBox(true); + if (printType == 0 && windowObj != null) { + windowObj.close(); + } + } + else { + showResult(obj.message); + } + }); + DWREngine.setAsync(true); } //simon-add:根据借物单ID打印相应收费单 -function printBorrowChargeById(applicationId,printType){ -var table; -var otherMsg; -$.ajax({ - url : WWWROOT + '/disinfectSystem/recyclingApplicationAction!loadBrrowCharge.do', - type:'post', - data:{'applicationId':applicationId}, - dataType:'json', - async:false, - success:function(msg){ - table=msg.table; - otherMsg=msg.otherMsg; - }, - error:function(msg){} -}); +function printBorrowChargeById(applicationId, printType) { + var table; + var otherMsg; + $.ajax({ + url: WWWROOT + '/disinfectSystem/recyclingApplicationAction!loadBrrowCharge.do', + type: 'post', + data: { 'applicationId': applicationId }, + dataType: 'json', + async: false, + success: function (msg) { + table = msg.table; + otherMsg = msg.otherMsg; + }, + error: function (msg) { } + }); -//将table数据分类统计, -//已归还信息 -var alreadyReturn=new Array(); -//未归还信息 -var remainReturn=new Array(); -//最小发货时间 -var minDeliverTime; -//遍历 -for(var p=0;pti){ - minDeliverTime=ti; - } - if(detail.type=='发货'){ - //发货数量则在发货信息数组中加入多少条数据,此数据为发货时间 - for(var d=0;d ti) { + minDeliverTime = ti; } + if (detail.type == '发货') { + //发货数量则在发货信息数组中加入多少条数据,此数据为发货时间 + for (var d = 0; d < detail.amount; d++) { + deliver[dLength + d] = detail.time; + + } + } else if (detail.type == '实际还物' || detail.type == '使用完全归还') { + //发货数量则在发货信息数组中加入多少条数据,此数据为发货时间 + for (var d = 0; d < detail.amount; d++) { + returnMsg[rLength + d] = detail.time; + } + } } + //实际借出总数 + var lendAmount = deliver.length; + //实际归还总数 + var returnAmount = returnMsg.length; + //剩余未归还数量 + var remainAmount = lendAmount - returnAmount; + //已归还物品总借出天数 + var lendDays = 0; + //未归还物品截止目前借出天数 + var remainDays = 0; + //遍历相减得到总借出天数 + for (var v = 0; v < returnMsg.length; v++) { + var end = Date.parse(new Date(revertDate(returnMsg[v]))); + var start = Date.parse(new Date(revertDate(deliver[v]))); + var days = Math.ceil((end - start) / 86400000); + lendDays = lendDays + days; + } + + //遍历得到未归还器械包截至目前借出天数 + for (var v = returnAmount; v < lendAmount; v++) { + var end = Date.parse(new Date()); + var start = Date.parse(new Date(revertDate(deliver[v]))); + var days = Math.ceil((end - start) / 86400000); + remainDays = remainDays + days; + } + + //最后把记录转换成两条json,放到总的已归还信息和未归还信息json数组中 + //已归还记录 + var alreadyReturnChild = {}; + //名称 + alreadyReturnChild.tousseName = tousseName; + //规格 + //借出总数 + alreadyReturnChild.lendAmount = lendAmount; + //已归还数量 + alreadyReturnChild.returnAmount = returnAmount; + //未还数量 + //借出天数 + alreadyReturnChild.lendDays = lendDays; + //截止目前借出天数 + //借物单价(元/天) + alreadyReturnChild.price = price; + //金额 + alreadyReturnChild.totalPrice = Math.floor((lendDays * price) * 100) / 100; + + //未归还记录 + var remainReturnChild = {}; + //名称 + remainReturnChild.tousseName = tousseName; + //规格 + //借出总数 + remainReturnChild.lendAmount = lendAmount; + //已归还数量 + //未还数量 + remainReturnChild.remainAmount = remainAmount; + //借出天数 + //截止目前借出天数 + remainReturnChild.remainDays = remainDays; + //借物单价(元/天) + remainReturnChild.price = price; + //金额 + remainReturnChild.totalPrice = Math.floor((remainDays * price) * 100) / 100; + if (returnAmount != 0) { + alreadyReturn.push(alreadyReturnChild); + } + if (remainAmount != 0) { + remainReturn.push(remainReturnChild); + } } - //实际借出总数 - var lendAmount=deliver.length; - //实际归还总数 - var returnAmount=returnMsg.length; - //剩余未归还数量 - var remainAmount=lendAmount-returnAmount; - //已归还物品总借出天数 - var lendDays=0; - //未归还物品截止目前借出天数 - var remainDays=0; - //遍历相减得到总借出天数 - for(var v=0;v" - +"" - +"类别" - +"序号" - +"名称" - +"规格" - +"借出总数" - +"已归还数量" - +"未还数量" - +"总借出天数" - +"截止目前借出天数" - +"借出单价(元/天)" - +"总金额(元)" - +"" - +""; - - //遍历已归还信息数组 - for(var v=0;v"; - if(v==0){ - tableHtml=tableHtml+"已还";//"+alreadyReturn.length+" - } - tableHtml=tableHtml+""+(v+1)+"" - +""+alreadyReturn[v].tousseName+"" - +"" - +""+alreadyReturn[v].lendAmount+"" - +""+alreadyReturn[v].returnAmount+"" - +"" - +""+alreadyReturn[v].lendDays+"" - +"" - +""+alreadyReturn[v].price+"" - +""+alreadyReturn[v].totalPrice+"" - +""; - sum=sum+alreadyReturn[v].totalPrice; + var tableHtml = "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + ""; + + //遍历已归还信息数组 + for (var v = 0; v < alreadyReturn.length; v++) { + tableHtml = tableHtml + ""; + if (v == 0) { + tableHtml = tableHtml + "";//"+alreadyReturn.length+" } - - //遍历未归还信息数组 - for(var v=0;v0){ - tableHtml=tableHtml+""; - if(v==0){ - tableHtml=tableHtml+""; - } - tableHtml=tableHtml+"" - +"" - +"" - +"" - +"" - +"" - +"" - +"" - +"" - +"" - +""; - sum=sum+remainReturn[v].totalPrice; - } - } - - //合计:金额 - tableHtml=tableHtml+"" - +"" - +"" - +"" - +"" - +"" - +"" - +"" - +"" - +"" - +"" - +"" - +""; - - - tableHtml=tableHtml+"" - +"" - +"" - +"" - +"
类别序号名称规格借出总数已归还数量未还数量总借出天数截止目前借出天数借出单价(元/天)总金额(元)
已还
未还"+(v+1)+""+remainReturn[v].tousseName+""+remainReturn[v].lendAmount+""+remainReturn[v].remainAmount+""+remainReturn[v].remainDays+""+remainReturn[v].price+""+remainReturn[v].totalPrice+"
合计         "+Math.floor((sum)*10)/10+"
" - +"打印时间: "+dateToStr(time) - +"" - +"科室确认人:" - +"" - +"制单人:"+applicant - +"
"; + tableHtml = tableHtml + "" + (v + 1) + "" + + "" + alreadyReturn[v].tousseName + "" + + "" + + "" + alreadyReturn[v].lendAmount + "" + + "" + alreadyReturn[v].returnAmount + "" + + "" + + "" + alreadyReturn[v].lendDays + "" + + "" + + "" + alreadyReturn[v].price + "" + + "" + alreadyReturn[v].totalPrice + "" + + ""; + sum = sum + alreadyReturn[v].totalPrice; + } - - //2、按次收费模式的收费单格式 - var totalAmountPerUse=0; - var tableHtml1=""//border='1' style='border-collapse: collapse;width:22cm;' - +"" - +"" - +"" - +"" - +"" - +"" - +"" - +"" - +"" - +""; - - for(var v=0;v" - +"" - +"" - +"" - +"" - +"" - +"" - +""; - totalAmountPerUse=totalAmountPerUse+alreadyReturn[v].totalPrice; + //遍历未归还信息数组 + for (var v = 0; v < remainReturn.length; v++) { + if (remainReturn[v].remainAmount > 0) { + tableHtml = tableHtml + ""; + if (v == 0) { + tableHtml = tableHtml + ""; } - - //合计:金额 - tableHtml1=tableHtml1+"" - +"" - +"" - +"" - +"" - +"" - +"" - +""; - - tableHtml1=tableHtml1+"" - +"" - +"" - +"" - +"
序号名称规格借出数量借出单价(元)金额(元)
"+(v+1)+""+alreadyReturn[v].tousseName+""+alreadyReturn[v].lendAmount+""+alreadyReturn[v].price+""+alreadyReturn[v].price*alreadyReturn[v].lendAmount+"
未还
合计"+Math.floor((totalAmountPerUse)*100)/100+"
" - +"打印时间: "+dateToStr(time) - +"" - +"科室确认人:" - +"" - +"制单人:"+applicant - +"
"; - - //医院名 - var hospital = " "; - //处理科室表头显示 - var showHandleDepart = " "; - if( !isUndefinedOrNullOrEmpty(sstsConfig.currentHospital) ){ - hospital = sstsConfig.currentHospital; + tableHtml = tableHtml + "" + (v + 1) + "" + + "" + remainReturn[v].tousseName + "" + + "" + + "" + remainReturn[v].lendAmount + "" + + "" + + "" + remainReturn[v].remainAmount + "" + + "" + + "" + remainReturn[v].remainDays + "" + + "" + remainReturn[v].price + "" + + "" + remainReturn[v].totalPrice + "" + + ""; + sum = sum + remainReturn[v].totalPrice; } - if( !isUndefinedOrNullOrEmpty(handleDepart) && handleDepart != "null"){ - showHandleDepart = "("+handleDepart+")"; - } - - wareHouse = (wareHouse == null ? wareHouse :""); - - var head='

'+hospital+'借物收费单'+showHandleDepart+'

' - +'
部门:'+depart+'仓库:' - +''+wareHouse+'
' - +'
备注:
'; + } - - LODOP.SET_PRINT_STYLE("ItemType",1); - LODOP.ADD_PRINT_HTM('0.2cm','0.5cm',"23cm","3cm",head); -// LODOP.SET_PRINT_STYLE("ItemType",1); -// LODOP.ADD_PRINT_HTM('8.5cm','0.5cm',"23cm","2cm",footer); + //合计:金额 + tableHtml = tableHtml + "" + + "合计" + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + "" + Math.floor((sum) * 10) / 10 + "" + + ""; + + + tableHtml = tableHtml + "" + + "" + + "打印时间: " + dateToStr(time) + + "" + + "" + + "科室确认人:" + + "" + + "" + + "制单人:" + applicant + + "" + + ""; + + + //2、按次收费模式的收费单格式 + var totalAmountPerUse = 0; + var tableHtml1 = ""//border='1' style='border-collapse: collapse;width:22cm;' + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + ""; + + for (var v = 0; v < alreadyReturn.length; v++) { + tableHtml1 = tableHtml1 + "" + + "" + + "" + + "" + + "" + + "" + + "" + + ""; + totalAmountPerUse = totalAmountPerUse + alreadyReturn[v].totalPrice; + } + + //合计:金额 + tableHtml1 = tableHtml1 + "" + + "" + + "" + + "" + + "" + + "" + + "" + + ""; + + tableHtml1 = tableHtml1 + "" + + "" + + "" + + "" + + "
序号名称规格借出数量借出单价(元)金额(元)
" + (v + 1) + "" + alreadyReturn[v].tousseName + "" + alreadyReturn[v].lendAmount + "" + alreadyReturn[v].price + "" + alreadyReturn[v].price * alreadyReturn[v].lendAmount + "
合计" + Math.floor((totalAmountPerUse) * 100) / 100 + "
" + + "打印时间: " + dateToStr(time) + + "" + + "科室确认人:" + + "" + + "制单人:" + applicant + + "
"; + + //医院名 + var hospital = " "; + //处理科室表头显示 + var showHandleDepart = " "; + if (!isUndefinedOrNullOrEmpty(sstsConfig.currentHospital)) { + hospital = sstsConfig.currentHospital; + } + if (!isUndefinedOrNullOrEmpty(handleDepart) && handleDepart != "null") { + showHandleDepart = "(" + handleDepart + ")"; + } + + wareHouse = (wareHouse == null ? wareHouse : ""); + + var head = '

' + hospital + '借物收费单' + showHandleDepart + '

' + + '
部门:' + depart + '仓库:' + + '' + wareHouse + '
' + + '
备注:
'; + + + LODOP.SET_PRINT_STYLE("ItemType", 1); + LODOP.ADD_PRINT_HTM('0.2cm', '0.5cm', "23cm", "3cm", head); + // LODOP.SET_PRINT_STYLE("ItemType",1); + // LODOP.ADD_PRINT_HTM('8.5cm','0.5cm',"23cm","2cm",footer); LODOP.SET_PRINT_STYLE("ItemType", 2); LODOP.SET_PRINT_STYLE("FontSize", 8); - LODOP.ADD_PRINT_TEXT('8.7cm','21cm',"RightMargin:0.5cm","BottomMargin:1cm", "第#页/共&页"); - LODOP.SET_PRINT_STYLE("ItemType",4); + LODOP.ADD_PRINT_TEXT('8.7cm', '21cm', "RightMargin:0.5cm", "BottomMargin:1cm", "第#页/共&页"); + LODOP.SET_PRINT_STYLE("ItemType", 4); //判断收费模式 var isOpen; - if(isUndefinedOrNullOrEmpty(sstsConfig.isBorrowChargeByDayAndShow)||sstsConfig.isBorrowChargeByDayAndShow.open==false){ - isOpen=false; - }else{ - isOpen=true; + if (isUndefinedOrNullOrEmpty(sstsConfig.isBorrowChargeByDayAndShow) || sstsConfig.isBorrowChargeByDayAndShow.open == false) { + isOpen = false; + } else { + isOpen = true; } - if(isOpen){// + if (isOpen) {// /*采取按天收费模式后,要保持旧的收费单显示的还是按次收费,在配置文件中设置一个截止时间点。 * 时间点前且已发货的收费单,显示的都是按次收费;时间点前未发货的采用按天收费;截止点后新申请的都是按天收费 */ //如果申请时间小于配置的更新时间 - var updateTime=Date.parse(new Date(revertDate(sstsConfig.isBorrowChargeByDayAndShow.updateTime))); - var tableTime=Date.parse(new Date(revertDate(table[0].time))); - if(tableTime2){ - sec=parseInt(timeArray[2],10); + var array = dateStr.split(' '); + var dateArray = array[0].split('-'); + var timeArray = array[1].split(':'); + var year = parseInt(dateArray[0], 10); + var month = parseInt(dateArray[1], 10) - 1; + var day = parseInt(dateArray[2], 10); + var hour = parseInt(timeArray[0], 10); + var min = parseInt(timeArray[1], 10); + var sec = 0; + if (timeArray.length > 2) { + sec = parseInt(timeArray[2], 10); } - var date=new Date(); + var date = new Date(); date.setFullYear(year); date.setMonth(month); date.setDate(day); @@ -854,35 +882,35 @@ return date; } -function dateToStr(datetime){ +function dateToStr(datetime) { - var year = datetime.getFullYear(); - var month = datetime.getMonth()+1; - var date = datetime.getDate(); - var hour = datetime.getHours(); - var minutes = datetime.getMinutes(); - var second = datetime.getSeconds(); - - if(month<10){ - month = "0" + month; - } - if(date<10){ - date = "0" + date; - } - if(hour <10){ - hour = "0" + hour; - } - if(minutes <10){ - minutes = "0" + minutes; - } - if(second <10){ - second = "0" + second ; - } - - var time = year+"-"+month+"-"+date+" "+hour+":"+minutes+":"+second; //2009-06-12 17:18:05 - return time; + var year = datetime.getFullYear(); + var month = datetime.getMonth() + 1; + var date = datetime.getDate(); + var hour = datetime.getHours(); + var minutes = datetime.getMinutes(); + var second = datetime.getSeconds(); + + if (month < 10) { + month = "0" + month; } + if (date < 10) { + date = "0" + date; + } + if (hour < 10) { + hour = "0" + hour; + } + if (minutes < 10) { + minutes = "0" + minutes; + } + if (second < 10) { + second = "0" + second; + } + var time = year + "-" + month + "-" + date + " " + hour + ":" + minutes + ":" + second; //2009-06-12 17:18:05 + return time; +} +