Index: ssts-web/src/main/webapp/disinfectsystem/print/printApplicationGoods.js =================================================================== diff -u -r24871 -r25554 --- ssts-web/src/main/webapp/disinfectsystem/print/printApplicationGoods.js (.../printApplicationGoods.js) (revision 24871) +++ ssts-web/src/main/webapp/disinfectsystem/print/printApplicationGoods.js (.../printApplicationGoods.js) (revision 25554) @@ -20,7 +20,132 @@ printParams.printScope.customProject = config.customProject; return printParams; } +//批量打印发货计划 +function commonEquipmentDeliveryPlanList(printData){ + //所有物品的集合 + var goodsArr = []; + var goodsAnArr = []; + for(var i = 0; i < printData.data.length; i++){ + var pages = printData.data[i].pages; + for(var j = 0; j < pages.length; j++ ){ + var rows = pages[j].rows; + 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 }; + goodsAnArr.push(anObj); + } + } + } + var dataResult = []; + var departArray = []; + var nameArray = []; + 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)){ + nameArray.push(goodsAnArr[i].name); + } + } + 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){ + var toolArray = dataResult[j].tool; + if(!toolArray){ + toolArray = []; + } + 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){ + toolArray[k].applyAmount = 0; + } + toolArray[k].applyAmount += goodsAnArr[i].applyAmount; + existsTool = true; + } + } + if(!existsTool){ + var toolObject = {name:goodsAnArr[i].name,applyAmount:goodsAnArr[i].applyAmount}; + toolArray.push(toolObject); + departObject.tool = toolArray; + } + + } + existsDepart = true; + break; + } + } + if(!existsDepart){ + var departObject = {}; + departObject.depart = goodsAnArr[i].depart; + var toolArray = []; + 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 += ""; + } + tableHtml += ""; + } + tableHtml += ""; + tableHtml += ""; + for(var i = 0; i < totalArr.length; i++){ + 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; + } + } + if(!existsValue){ + tableHtml += " "; + } + tableHtml += "
"; + tableHtml += "合计"; + tableHtml += ""; + tableHtml += totalArr[i]; + tableHtml += "
"; + + LODOP.ADD_PRINT_TABLE("75","2%","97%","2000",tableHtml); + LODOP.PRINT(); + return ; +} function formatMoney(v){ return Number(v).toFixed(2); } @@ -171,8 +296,7 @@ * @param isBatchPrint 是否是批量打印,如果是批量打印,将根据后台传过来的summary中的printTemplate属性重新设置formTypeOfPrinted。printTemplate的默认值为invoicePlan */ function printByJsonPrintObject(printObj, msgBox, isNotSupplyRoomUser,printType,isBatchPrint){ - - var totalPageAmount = printObj.totalPageAmount; + var totalPageAmount = printObj.totalPageAmount; var count = 0; for (var i=0;i