Index: ssts-web/src/main/webapp/disinfectsystem/config/xkyy/interfaces/mybatis/FindPatientInfoByTreatmentNumMapper.xml =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/config/xkyy/interfaces/mybatis/FindPatientInfoByTreatmentNumMapper.xml (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/config/xkyy/interfaces/mybatis/FindPatientInfoByTreatmentNumMapper.xml (revision 31166) @@ -0,0 +1,20 @@ + + + + + + + + \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/config/xkyy/interfaces/dataSyncConfig.json =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/config/xkyy/interfaces/dataSyncConfig.json (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/config/xkyy/interfaces/dataSyncConfig.json (revision 31166) @@ -0,0 +1,15 @@ +{ + "同步组织机构":{ + "默认父节点的编码" : "0", + "更新交集数据" : true, + "移除差集数据" : false + }, + "同步用户":{ + "默认父节点的编码" : "0", + "更新交集数据" : true, + "移除差集数据" : false, + "默认角色ID":[ + "ROLE_1_0" + ] + } +} \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/config/xkyy/spring/HERP.xml =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/config/xkyy/spring/HERP.xml (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/config/xkyy/spring/HERP.xml (revision 31166) @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/config/xkyy/spring/timer.xml =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/config/xkyy/spring/timer.xml (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/config/xkyy/spring/timer.xml (revision 31166) @@ -0,0 +1,34 @@ + + + + + + + + + + + timingAutoSignInvoice + + + + + + + + + 0 0 1 * * ? + + + + + + + + + + + + + \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/config/xkyy/interfaces/mybatis/SyncSupplierMapper.xml =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/config/xkyy/interfaces/mybatis/SyncSupplierMapper.xml (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/config/xkyy/interfaces/mybatis/SyncSupplierMapper.xml (revision 31166) @@ -0,0 +1,14 @@ + + + + + + + + \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/config/xkyy/print/printConfig.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/config/xkyy/print/printConfig.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/config/xkyy/print/printConfig.js (revision 31166) @@ -0,0 +1,1223 @@ + +var invoicePlanPrintConfig = { + customProject : 'zsly', + isPrintTousse : true, + isPrintDisinfectGoods : true, + isPrintDisposableGoods : true, // 打印申请单是否打印一次性物品 + isMergePrintTousseAndDisposable : false, // 器械包和一次性物品是否合并打印 + printByOriginalApplications : true, //不合并打印情况下是否按原始单据逐份打印 + printApplyInfo : false, + printOrder : 1, // 1:优先打印一次性物品, 2:优先打印器械包 + // 在器械包和一次性物品不合并打印的情况下,消毒物品打印方式: + // 1:优先与一次性物品合并打印,如果无一次性物品则与器械包合并打印, 2:优先与器械包一起合并打印,如果没有器械包则与一次性物品合并打印 ,3:单独打印 + disinfectGoodsPrintMode : 2, + rowsPerPage : 8, + headerContent : [ + // 标题 + {label : "广州市胸科医院(回收清单)", dataIndex : 'header', fontSize : 17, position : ["15","1%","90%",5],type: 'html', beforeStr: "
", afterStr: "
"}, + {label : "申请科室:", dataIndex : 'depart', fontSize : 10, position : ["55","5%","90%",5]}, + {label : "申请人:", dataIndex : 'applicant', fontSize : 10, position : ["55","40%","90%",5]}, + {label : "申请时间:", dataIndex : 'applicationTime', fontSize : 10, position : ["55","70%","90%",5]} + ], + goodsTable :{ + rowHeight : 25, + position : ["75","2%","97%","2000"], + content : [ + {header : "序号", dataIndex : 'serialNumber', width : 60, align : 'center', fontSize : 11}, + {header : "物品名称", dataIndex : 'goodsName', width : 340, align : 'left', fontSize : 11}, + {header : "申请数量", dataIndex : 'applyAmount', width : 180, align : 'center', fontSize : 11}, + {header : "确认数量", dataIndex : '', width : 180, align : 'center', fontSize : 11} + ] + }, + footer: { + fontSize : 14, + content : [ + {label : "打印人:", dataIndex : 'printUser'}, + {label : " 打印时间:", dataIndex : 'printTime'} + ] + } +} + +var batchPrintInvoicesConfig = { + headerFooter : [ + // 标题 + {label : "广州市胸科医院出库单(供应室)", dataIndex : '', fontSize : 15, position : ["20","25%","99%",5]}, + {label : "领用科室:", dataIndex : 'depart', fontSize : 11, position : ["55","2%","90%",5]}, +// {label : "制单人:", dataIndex : 'printUser', fontSize : 11, position : ["55","35%","90%",5]}, + {label : "领用人:", dataIndex : '', fontSize : 11, position : ["10cm","5%","90%",5]}, + {label : "仓管员:", dataIndex : '', fontSize : 11, position : ["10cm","40%","90%",5]}, + {label : "制单:", dataIndex : 'printUser', fontSize : 11, position : ["10cm","75%","90%",5]}, + {label : "备注:", dataIndex : 'remark', fontSize : 11, position : ["11cm","5%","90%",5]}, + {label : "打印时间:", dataIndex : 'printTime', fontSize : 11, position : ["11cm","40%","90%",5]} +// {label : "发料人:", dataIndex : 'sender', fontSize : 11, position : ["10cm","75%","90%",5]}//, +// {barcodes : [ +// {codeType : "128Auto", dataIndex : 'departBarcode', position : ["3mm","74%","40mm","8mm"], +// styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true}, +// {itemNameID: 0, styleName: 'FontSize', styleValue: 6}, +// {itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true} +// ] +// } +// ]} + ], + currentPageNumber : {label : "第#页", fontSize : 11, position : ["11cm","75%","90%",5]}, + totalPageAmount : {label : "共&页", fontSize : 11, position : ["11cm","81%","90%",5]}, + goodsTable :{ + rowHeight : 25, + position : ["100","0.5cm","22cm","6.5cm"], + headRepeat : true, + columns : [ + {header : "序号", dataIndex : 'serialNumber', width : '90', align : 'center', fontSize : 11}, + {header : "名称", dataIndex : 'name', width : '300', align : 'left', fontSize : 11}, + {header : "数量", dataIndex : 'amount', width : '100', align : 'center', fontSize : 11}, + {header : "规格", dataIndex : 'specification', width : '110', align : 'center', fontSize : 11}, + {header : "单位", dataIndex : 'unit', width : '100', align : 'center', fontSize : 11}, +// {header : "批次/灭菌日期", dataIndex : 'batchNumber', width : 105, align : 'center', fontSize : 11}, +// {header : "失效日期", dataIndex : 'expireDate', width : 85, align : 'center', fontSize : 11}, + {header : "单价", dataIndex : 'price', width : '100', align : 'right', fontSize : 11}, + {header : "金额", dataIndex : 'totalPrice', width : '100', align : 'right', fontSize : 11} + ] + } +} + +//11111111111111111111111111111111111111111111111111111 +function createInvoiceInfo3_xkyy(title,serialNumber,applicant,applicationTime,depart,sender,sendTime,remark,goods,totalprice,applicationType,sterilization) { + LODOP = getLodop(document.getElementById('LODOP'), document + .getElementById('LODOP_EM')); + var goodsArray = goods.split("#@"); + var row = 8; + if(goodsArray.length > row){ + var tempResult = ""; + for ( var i = 1; i <= goodsArray.length; i++) { + if( i%row == 0){ + if(i == goodsArray.length){ + tempResult += goodsArray[i-1]; + }else{ + tempResult += goodsArray[i-1]+"#@#$&";//#$&,作为8条一页的分隔符 + } + }else{ + if(i == goodsArray.length){ + tempResult += goodsArray[i-1]; + }else{ + tempResult += goodsArray[i-1]+"#@"; + } + } + } + var resultArray = tempResult.split("#$&"); + for ( var j = 0; j < resultArray.length; j++) { + LODOP.NEWPAGE(); + if(applicationType == "消毒物品申请单" && !sterilization){ + printSterilizeGoods_xkyy(title,serialNumber,applicant,applicationTime,depart,sender,sendTime,remark,resultArray[j],totalprice,j+1,resultArray.length); + }else if(applicationType == "一次性物品申请单"){ + printDiposableGood_xkyy(title,serialNumber,applicant,applicationTime,depart,sender,sendTime,remark,resultArray[j],totalprice,j+1,resultArray.length); + }else{ + printTousseInfo_xkyy(title,serialNumber,applicant,applicationTime,depart,sender,sendTime,remark,resultArray[j],totalprice,j+1,resultArray.length); + } + + } + }else{ + if(applicationType == "消毒物品申请单" && !sterilization){ + printSterilizeGoods_xkyy(title,serialNumber,applicant,applicationTime,depart,sender,sendTime,remark,goods,totalprice,1,1); + }else if(applicationType == "一次性物品申请单"){ + printDiposableGood_xkyy(title,serialNumber,applicant,applicationTime,depart,sender,sendTime,remark,goods,totalprice,1,1); + }else{ + printTousseInfo_xkyy(title,serialNumber,applicant,applicationTime,depart,sender,sendTime,remark,goods,totalprice,1,1); + } + } +}; + +//发货单 +function printInvoice_xkyy(title,barcode,serialNumber,applicant,applicationTime,depart,sender,sendTime,remark,goods,price,printType,applicationType,sterilization) { + if (goods != null && goods != '') { + createInvoiceInfo3_xkyy(title,serialNumber,applicant,applicationTime,depart,sender,sendTime,remark,goods,price,applicationType,sterilization); + if(printType == 0){//直接打印 + LODOP.PRINT(); + }else{//打印预览 + LODOP.SET_SHOW_MODE("HIDE_PAPER_BOARD",1); + LODOP.PREVIEW(); + } + } else { + alert("打印内容为空"); + } +} + +//打印发货器械包 +function printTousseInfo_xkyy(title,serialNumber,applicant,applicationTime,depart,sender,sendTime,remark,goods,totalprice,pageNumber,totalPage){ + LODOP.SET_PRINT_STYLE("FontSize",17); + var titleTable = "
"+title+"
"; + LODOP.ADD_PRINT_TABLE("20","1%","99%",5,titleTable); + LODOP.SET_PRINT_STYLE("FontSize",10); + LODOP.ADD_PRINT_TEXT("55","5%","90%",5,"领用科室: "+depart); + LODOP.ADD_PRINT_TEXT("55","40%","90%",5,"出库日期: " + sendTime); + LODOP.ADD_PRINT_TEXT("55","75%","90%",5,"出库单号: "+serialNumber); + var tableHtml = ""; + tableHtml += ""; + if(goods != null && goods.length > 0){ + var goodsArray = goods.split("#@"); + var row = 8; + //一页打印8条数据,不够补充空行 + var currentPageTotalPrice = 0.00; + if(goodsArray.length < row){ + for ( var i = 0; i < goodsArray.length; i++) { + var good = goodsArray[i].split("#&"); + var goodsName = good[0]; + var goodsAmount = good[1]; + var price = good[2]; + var totalPrice = good[3]; + var batchNumber = good[4]; + var sterilizerName = good[5]; + var frequency = good[6]; + var specification = ""; + var index = goodsName.indexOf("["); + currentPageTotalPrice += parseFloat(totalPrice); + if(index != -1 ){ + specification = goodsName.substring(index+1,goodsName.length-1); + goodsName = goodsName.substring(0,index); + } + tableHtml += ""; + } + for ( var j = goodsArray.length; j < row; j++) { + tableHtml += ""; + } + }else{ + for ( var i = 0; i < row; i++) { + var good = goodsArray[i].split("#&"); + var goodsName = good[0]; + var goodsAmount = good[1]; + var price = good[2]; + var totalPrice = good[3]; + currentPageTotalPrice += parseFloat(totalPrice); + var batchNumber = good[4]; + var sterilizerName = good[5]; + var frequency = good[6]; + var specification = ""; + var index = goodsName.indexOf("["); + if(index != -1 ){ + specification = goodsName.substring(index+1,goodsName.length-1); + goodsName = goodsName.substring(0,index); + } + tableHtml += ""; + } + } + } + tableHtml += "
物品名称数量灭菌日期灭菌炉名称炉次单价总价
"+goodsName+""+goodsAmount+""+batchNumber+""+sterilizerName+""+frequency+""+returnFloat(price)+""+returnFloat(totalPrice)+"
"+goodsName+""+goodsAmount+""+batchNumber+""+sterilizerName+""+frequency+""+returnFloat(price)+""+returnFloat(totalPrice)+"
合计: "+returnFloat(currentPageTotalPrice)+"元    总计: "+returnFloat(totalprice)+"元
"; + LODOP.ADD_PRINT_TABLE("75","2%","97%","2000",tableHtml); + + LODOP.ADD_PRINT_TEXT("445","5%","90%",5,"领用人: "); + LODOP.ADD_PRINT_TEXT("445","40%","90%",5,"仓管员: "); + LODOP.ADD_PRINT_TEXT("445","75%","90%",5,"制单: " + sender); + LODOP.ADD_PRINT_TEXT("475","5%","90%",5,"备注: "); + var date = new Date(); + var retval = date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate() +" "+date.getHours()+":"+date.getMinutes(); + LODOP.ADD_PRINT_TEXT("475","50%","90%",5,"打印日期: "+retval); + LODOP.ADD_PRINT_TEXT("475","80%","90%",5,"第"+pageNumber+"页/共"+totalPage+"页"); +} + +//打印发货一次性物品 +function printDiposableGood_xkyy(title,serialNumber,applicant,applicationTime,depart,sender,sendTime,remark,goods,totalprice,pageNumber,totalPage){ + LODOP.SET_PRINT_STYLE("FontSize",17); + var titleTable = "
"+title+"
"; + LODOP.ADD_PRINT_TABLE("20","1%","99%",5,titleTable); + LODOP.SET_PRINT_STYLE("FontSize",10); + LODOP.ADD_PRINT_TEXT("55","5%","90%",5,"领用科室: "+depart); + var outDate = sendTime; + if(outDate != null && outDate.length > 0){ + outDate = outDate.substring(0,10); + } + LODOP.ADD_PRINT_TEXT("55","40%","90%",5,"出库日期: " + outDate); + LODOP.ADD_PRINT_TEXT("55","75%","90%",5,"出库单号: "+serialNumber); + var tableHtml = ""; + tableHtml += ""; + if(goods != null && goods.length > 0){ + var goodsArray = goods.split("#@"); + var row = 8; + //一页打印8条数据,不够补充空行 + if(goodsArray.length < row){ + for ( var i = 0; i < goodsArray.length; i++) { + var good = goodsArray[i].split("#&"); + var goodsName = good[0]; + var goodsAmount = good[1]; + var price = good[2]; + var totalPrice = good[3]; + var batchNumber = good[4]; + var externalCode = good[7]; + var specification = good[8]; + tableHtml += ""; + } + for ( var j = goodsArray.length; j < row; j++) { + tableHtml += ""; + } + }else{ + for ( var i = 0; i < row; i++) { + var good = goodsArray[i].split("#&"); + var goodsName = good[0]; + var goodsAmount = good[1]; + var price = good[2]; + var totalPrice = good[3]; + var batchNumber = good[4]; + var externalCode = good[7]; + var specification = good[8]; + tableHtml += ""; + } + } + } + tableHtml += "
编号物品名称数量规格批次单价总价
"+externalCode+""+goodsName+""+goodsAmount+""+specification+""+batchNumber+""+returnFloat(price)+""+returnFloat(totalPrice)+"
"+externalCode+""+goodsName+""+goodsAmount+""+specification+""+batchNumber+""+returnFloat(price)+""+returnFloat(totalPrice)+"
合计: "+returnFloat(totalprice)+"元
"; + LODOP.ADD_PRINT_TABLE("75","2%","97%","100%",tableHtml); + LODOP.ADD_PRINT_TEXT("445","5%","90%",5,"领用人: "); + LODOP.ADD_PRINT_TEXT("445","40%","90%",5,"仓管员: "); + LODOP.ADD_PRINT_TEXT("445","75%","90%",5,"制单: " + sender); + LODOP.ADD_PRINT_TEXT("475","5%","90%",5,"备注: "); + var date = new Date(); + var retval = date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate() +" "+date.getHours()+":"+date.getMinutes(); + LODOP.ADD_PRINT_TEXT("475","50%","90%",5,"打印日期: "+retval); + LODOP.ADD_PRINT_TEXT("475","80%","90%",5,"第"+pageNumber+"页/共"+totalPage+"页"); +} + +//打印不灭菌的消毒物品 +function printSterilizeGoods_xkyy(title,serialNumber,applicant,applicationTime,depart,sender,sendTime,remark,goods,totalprice,pageNumber,totalPage){ + LODOP.SET_PRINT_STYLE("FontSize",17); + var titleTable = "
"+title+"
"; + LODOP.ADD_PRINT_TABLE("20","1%","99%",5,titleTable); + LODOP.SET_PRINT_STYLE("FontSize",10); + LODOP.ADD_PRINT_TEXT("55","5%","90%",5,"领用科室: "+depart); + var outDate = sendTime; + if(outDate != null && outDate.length > 0){ + outDate = outDate.substring(0,10); + } + LODOP.ADD_PRINT_TEXT("55","40%","90%",5,"出库日期: " + outDate); + LODOP.ADD_PRINT_TEXT("55","75%","90%",5,"出库单号: "+serialNumber); + var tableHtml = ""; + tableHtml = tableHtml + ""; + if(goods != null && goods.length > 0){ + var goodsArray = goods.split("#@"); + var row = 8; + //一页打印8条数据,不够补充空行 + if(goodsArray.length < row){ + for ( var i = 0; i < goodsArray.length; i++) { + var good = goodsArray[i].split("#&"); + var goodsName = good[0]; + var goodsAmount = good[1]; + var price = good[2]; + var totalPrice = good[3]; +// var batchNumber = good[4]; + var operationTime = good[7]; + var validUntil = good[8]; +// var specification = ""; + var index = goodsName.indexOf("["); + if(index != -1 ){ + specification = goodsName.substring(index+1,goodsName.length-1); + goodsName = goodsName.substring(0,index); + } + tableHtml = tableHtml + ""; + } + for ( var j = goodsArray.length; j < row; j++) { + tableHtml = tableHtml + ""; + } + }else{ + for ( var i = 0; i < row; i++) { + var good = goodsArray[i].split("#&"); + var goodsName = good[0]; + var goodsAmount = good[1]; + var price = good[2]; + var totalPrice = good[3]; +// var batchNumber = good[4]; + var operationTime = good[7]; + var validUntil = good[8]; +// var specification = ""; + var index = goodsName.indexOf("["); + if(index != -1 ){ +// specification = goodsName.substring(index+1,goodsName.length-1); + goodsName = goodsName.substring(0,index); + } + tableHtml = tableHtml + ""; + } + } + } + tableHtml = tableHtml + "
物品名称数量消毒日期失效日期单价总价
"+goodsName+""+goodsAmount+""+operationTime+""+validUntil+""+returnFloat(price)+""+returnFloat(totalPrice)+"
"+goodsName+""+goodsAmount+""+operationTime+""+validUntil+""+returnFloat(price)+""+returnFloat(totalPrice)+"
合计: "+returnFloat(totalprice)+"元
"; + LODOP.ADD_PRINT_TABLE("75","2%","97%","2000",tableHtml); + + LODOP.ADD_PRINT_TEXT("445","5%","90%",5,"领用人: "); + LODOP.ADD_PRINT_TEXT("445","40%","90%",5,"仓管员: "); + LODOP.ADD_PRINT_TEXT("445","75%","90%",5,"制单: " + sender); + LODOP.ADD_PRINT_TEXT("475","5%","90%",5,"备注: "); + var date = new Date(); + var retval = date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate() +" "+date.getHours()+":"+date.getMinutes(); + LODOP.ADD_PRINT_TEXT("475","50%","90%",5,"打印日期: "+retval); + LODOP.ADD_PRINT_TEXT("475","80%","90%",5,"第"+pageNumber+"页/共"+totalPage+"页"); +} +//保留两位小数点,一位小数自动补零 +function returnFloat(value) { + value = Math.round(parseFloat(value) * 100) / 100; + var xsd = value.toString().split("."); + if (xsd.length == 1) { + value = value.toString() + ".00"; + return value; + } + if (xsd.length > 1) { + if (xsd[1].length < 2) { + value = value.toString() + "0"; + } + return value; + } +} + +function batchPrintInvoices_CurrentProject(result, printType){ + printInvoices_xkyy(result,result.depart, printType); +} +function printInvoices_xkyy(result, applicationDepart, printType) { + //打印器械包 + var length = result.tousse.length; + var length2 = result.disinfectGoods.length; + var length3 = result.diposableGoods.length; + var serialNumber = result.serialNumber; + var sendTime = result.sendTime; + var goods = null; + var title = ""; + DWREngine.setAsync(false); + SupplyRoomConfigTableManager.getStartTimeObject(function(config){ + if(config != null){ + title = config.unitName; + title += "出库单(供应室)"; + } + }); + DWREngine.setAsync(true); + var currentUser = $Id('userName').value; + var pagePrice = 0.00; + for(var i = 0;i < length ; i++){ + var totalPrice = result.tousse[i].totalPrice;//单价 + pagePrice += totalPrice; + } + for(var i = 0;i < length2 ; i++){ + var materialTotalPrice = result.disinfectGoods[i].materialTotalPrice; + pagePrice += materialTotalPrice; + } + for(var i = 0;i < length3 ; i++){ + var totalPrice = result.diposableGoods[i].diposableGoodsTotalPrice;//灭菌炉 + pagePrice += totalPrice; + } + + for(var i = 0;i < length ; i++){ + var tousseName = result.tousse[i].name; + if(tousseName.lastIndexOf("_") != -1){ + tousseName = tousseName.substring(0,tousseName.lastIndexOf("_")); + } + var amount = result.tousse[i].amount; + var batchNumber = result.tousse[i].sterilizationdate;//灭菌日期 + var sterilizerName = result.tousse[i].sterilizerName;//灭菌炉 + var frequency = result.tousse[i].frequency;//炉次 + var price = result.tousse[i].price;//单价 + var totalPrice = result.tousse[i].totalPrice;//单价 + if (goods == null) { + goods = tousseName + "#&" + amount + "#&" + price + "#&" + totalPrice + "#&" + batchNumber +"#&" + sterilizerName + "#&" + frequency ; + } else { + goods += "#@" + tousseName + "#&" + amount + "#&" + price + "#&" + totalPrice + "#&" + batchNumber +"#&" + sterilizerName + "#&" + frequency; + } + } + + var type = "器械包申请单"; + if(goods != null){ + printInvoice_xkyy(title,"",serialNumber,"","",applicationDepart,currentUser,sendTime,"",goods,pagePrice,printType,type,true); + } + //打印消毒物品 + var goods = null; + for(var i = 0;i < length2 ; i++){ + var materialName = result.disinfectGoods[i].materialName; + var materialAmount = result.disinfectGoods[i].materialAmount; + var materialPrice = result.disinfectGoods[i].materialPrice;//灭菌日期 + var materialTotalPrice = result.disinfectGoods[i].materialTotalPrice;//灭菌炉 + var batchNumber = "-";//炉次 + var sterilizerName = ""; + var frequency= ""; + var operationTime = result.disinfectGoods[i].operationTime;//单价 + var validUntil = result.disinfectGoods[i].validUntil;//单价 + if (goods == null) { + goods = materialName + "#&" + materialAmount + "#&" + materialPrice + "#&" + materialTotalPrice + "#&" + batchNumber +"#&" + sterilizerName + "#&" + frequency +"#&" + operationTime +"#&" +validUntil ; + } else { + goods += "#@" + materialName + "#&" + materialAmount + "#&" + materialPrice + "#&" + materialTotalPrice + "#&" + batchNumber +"#&" + sterilizerName + "#&" + frequency +"#&" + operationTime +"#&" +validUntil ; + } + } + type = "消毒物品申请单"; + if(goods != null){ + printInvoice_xkyy(title,"",serialNumber,"","",applicationDepart,currentUser,sendTime,"",goods,pagePrice,printType,type,false); + } + //打印一次性物品 + var length3 = result.diposableGoods.length; + goods = null; + for(var i = 0;i < length3 ; i++){ + var name = result.diposableGoods[i].diposableGoodsName; + var count = result.diposableGoods[i].diposableGoodsAmount; + var price = result.diposableGoods[i].diposableGoodsPrice;//灭菌日期 + var totalPrice = result.diposableGoods[i].diposableGoodsTotalPrice;//灭菌炉 + var batchNumber = result.diposableGoods[i].batchNumber;;//炉次 + var specification = result.diposableGoods[i].specification;;//规格 + var sterilizerName = "-"; + var frequency= "-"; + var externalCode = result.diposableGoods[i].externalCode; + if (goods == null) { + goods = name + "#&" + count + "#&" + price + "#&" + totalPrice + "#&" + batchNumber +"#&" + sterilizerName + "#&" + frequency+ "#&" +externalCode + "#&" + specification; + } else { + goods = goods + "#@" + name + "#&" + count + "#&" + price + "#&" + totalPrice + "#&" + batchNumber +"#&" + sterilizerName + "#&" + frequency+ "#&" +externalCode + "#&" + specification; + } + } + type = "一次性物品申请单"; + if(goods != null){ + printInvoice_xkyy(title,"",serialNumber,"","",applicationDepart,currentUser,sendTime,"",goods,pagePrice,printType,type,false); + } +} +//11111111111111111111111111111111111111111111111111111 + +// +var invoiceComboPrintConfig = { + headerFooter : [ + // 页眉名称 + {label : "广州市胸科医院", dataIndex : '', fontSize : 10, position : ["5","1%","90%",5]}, + // 标题 + {label : "材料出库单", dataIndex : '', fontSize : 15, position : ["20","40%","99%",5]}, + {label : "部门:", dataIndex : 'depart', fontSize : 11, position : ["55","2%","90%",5]}, + {label : "单号:", dataIndex : 'serialNumber', fontSize : 11, position : ["55","35%","90%",5]}, + {label : "仓库:消毒供应中心", dataIndex : '', fontSize : 11, position : ["55","75%","90%",5]}, + {label : "制单人:", dataIndex : 'printUser', fontSize : 11, position : ["80","75%","90%",5]}, + {label : "申请时间:", dataIndex : 'applicationTime', fontSize : 11, position : ["80","35%","90%",5]}, + {label : "备注:", dataIndex : 'remark', fontSize : 11, position : ["80","2%","90%",5]}, + {label : "主管:", dataIndex : '', fontSize : 11, position : ["415","5%","90%",5]}, + {label : "领料人:", dataIndex : '', fontSize : 11, position : ["415","40%","90%",5]}, + {label : "发货员:", dataIndex : 'sender', fontSize : 11, position : ["415","75%","90%",5]}, + {label : "发货日期:", dataIndex : 'sendTime', fontSize : 11, position : ["445","5%","90%",5]}, + {barcodes : [ + {codeType : "128Auto", dataIndex : 'departBarcode', position : ["3mm","74%","40mm","8mm"], + styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true}, + {itemNameID: 0, styleName: 'FontSize', styleValue: 6}, + {itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true} + ] + } + ]} + ], + currentPageNumber : {label : "第#页", fontSize : 11, position : ["445","75%","90%",5]}, + totalPageAmount : {label : "共&页", fontSize : 11, position : ["445","81%","90%",5]}, + goodsTable :{ + rowHeight : 25, + position : ["100","1%","97%","7cm"], + headRepeat : true, + columns : [ + {header : "名称", dataIndex : 'name', width : 220, align : 'left', fontSize : 11}, + {header : "数量", dataIndex : 'count', width : 40, align : 'right', fontSize : 11}, + {header : "单位", dataIndex : 'unit', width : 40, align : 'center', fontSize : 11}, + {header : "规格", dataIndex : 'specification', width : 110, align : 'center', fontSize : 11}, + {header : "批次/灭菌日期", dataIndex : 'batchNumber', width : 105, align : 'center', fontSize : 11}, + {header : "失效日期", dataIndex : 'expireDate', width : 85, align : 'center', fontSize : 11}, + {header : "单价", dataIndex : 'price', width : 60, align : 'right', fontSize : 11}, + {header : "金额", dataIndex : 'totalPrice', width : 75, align : 'right', fontSize : 11} + ] + } +} + +var applicationPrintConfig = { + isPrintTousse : true, + isPrintDisinfectGoods : true, + isPrintDisposableGoods : true, // 打印申请单是否打印一次性物品 + isMergePrintTousseAndDiposable : true, // 器械包和一次性物品是否合并打印 + printApplyInfo : true, + // 在器械包和一次性物品不合并打印的情况下,消毒物品打印方式: + // 1:优先与一次性物品合并打印,如果无一次性物品则与器械包合并打印, 2:优先与器械包一起合并打印,如果没有器械包则与一次性物品合并打印 ,3:单独打印 + disinfectGoodsPrintMode : 1, + rowsPerPage : 11, + headerContent : [ + // 标题 + {label : "广州市胸科医院", dataIndex : '', fontSize : 17, position : ["15","35%","99%",5]}, + {label : "去向:", dataIndex : 'depart', fontSize : 10, position : ["55","5%","90%",5]}, + {label : "单号:", dataIndex : 'serialNum', fontSize : 10, position : ["55","25%","90%",5]}, + {label : "日期:", dataIndex : 'printTime', fontSize : 10, position : ["55","41%","90%",5]}, + {label : "备注:", dataIndex : 'remark', fontSize : 10, position : ["55","65%","90%",5]} + ], + goodsTable :{ + rowHeight : 25, + position : ["75","2%","97%","2000"], + content : [ + {header : "序号", dataIndex : 'serialNumber', width : 60, align : 'center', fontSize : 11}, + {header : "名称", dataIndex : 'goodsName', width : 340, align : 'left', fontSize : 11}, + {header : "规格", dataIndex : 'sp', width : 185, align : 'center', fontSize : 11}, + {header : "数量", dataIndex : 'goodsAmount', width : 60, align : 'right', fontSize : 11}, + {header : "单位", dataIndex : 'unit', width : 60, align : 'center', fontSize : 11}, + {header : "单价", dataIndex : 'price', width : 60, align : 'right', fontSize : 11}, + {header : "金额", dataIndex : 'rowPrice', width : 75, align : 'right', fontSize : 11} + ] + }, + footer: { + fontSize : 14, + content : [ + {label : "制单:", dataIndex : 'printUser'}, + {label : " 申请人:", dataIndex : 'applicant'}, + {label : " 复核: ", dataIndex : ''}, + {label : " 验收: ", dataIndex : ''}, + {label : "提交时间:", dataIndex : 'applicationTime'} + ] + } + } + +var borrowPrintConfig = { + isPrintTousse : true, + isPrintDisinfectGoods : true, + isPrintDisposableGoods : false, // 打印申请单是否打印一次性物品 + isMergePrintTousseAndDiposable : true, // 器械包和一次性物品是否合并打印 + printApplyInfo : true, + disinfectGoodsPrintMode : 1, + rowsPerPage : 9, + headerContent : [ + // 标题 + {label : "广州市胸科医院", dataIndex : '', fontSize : 10, position : ["5","1%","90%",5]}, + {label : "借物单", dataIndex : '', fontSize : 17, position : ["22","45%","99%",5]}, + {label : "去向:", dataIndex : 'depart', fontSize : 10, position : ["55","5%","90%",5]}, + {label : "单号:", dataIndex : 'serialNum', fontSize : 10, position : ["55","25%","90%",5]}, + {label : "日期:", dataIndex : 'printTime', fontSize : 10, position : ["55","41%","90%",5]}, + {label : "备注:", dataIndex : 'remark', fontSize : 10, position : ["55","65%","90%",5]} + ], + goodsTable :{ + rowHeight : 25, + position : ["75","2%","97%","2000"], + content : [ + {header : "序号", dataIndex : 'serialNumber', width : 60, align : 'center', fontSize : 11}, + {header : "名称", dataIndex : 'goodsName', width : 340, align : 'left', fontSize : 11}, + {header : "规格", dataIndex : 'sp', width : 185, align : 'center', fontSize : 11}, + {header : "单位", dataIndex : 'unit', width : 60, align : 'center', fontSize : 11}, + {header : "数量", dataIndex : 'goodsAmount', width : 60, align : 'right', fontSize : 11}, + {header : "单价", dataIndex : 'price', width : 60, align : 'right', fontSize : 11}, + {header : "金额", dataIndex : 'rowPrice', width : 75, align : 'right', fontSize : 11} + ] + }, + footer: { + fontSize : 14, + content : [ + {label : "制单:", dataIndex : 'printUser'}, + {label : " 申请人:", dataIndex : 'applicant'}, + {label : " 复核: ", dataIndex : ''}, + {label : " 验收: ", dataIndex : ''}, + {label : "提交时间:", dataIndex : 'applicationTime'} + ] + } + + } +//大标签配置,100x80mm +var largeLabelConfig = { + customPrint:printLargeLabel +} +// 加大标签配置,100x100mm +var exLargeLabelConfig = { + headerContent : [ + // 器械包名称,水平居中 + {label : "", dataIndex : 'name', position : ["1mm","0mm","RightMargin:0mm","BottomMargin:0mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + {label : "装配员:", dataIndex : 'operator', fontSize : 10, bold: 1, position : ["6mm","5mm","50mm","10px"]}, + {label : "审核员:", dataIndex : 'reviewer', fontSize : 10, bold: 1, position : ["6mm","55mm","50mm","10px"]}, + {label : "灭菌日期:", dataIndex : 'sterilizationDate', fontSize : 10, bold: 1, position : ["10mm","5mm","50mm","10px"]}, + {label : "失效日期:", dataIndex : 'validDate', fontSize : 10, bold: 1, position : ["10mm","55mm","50mm","10px"]}, + + {label : "", dataIndex : 'materials', position : ["14mm","0mm","RightMargin:0mm","BottomMargin:20mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + + {label : "灭菌程序:", dataIndex : 'sterilingType', position : ["78mm","0mm","RightMargin:50mm","BottomMargin:0mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + + {label : "", dataIndex : 'name', position : ["87mm","0mm","RightMargin:50mm","BottomMargin:0mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + {label : "", dataIndex : 'name', position : ["87mm","50mm","RightMargin:0mm","BottomMargin:0mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + {label : "", dataIndex : 'packageTypeAbbreviation', position : ["77mm","51mm","4mm","8mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + {label : "", dataIndex : 'packageTypeAbbreviation', position : ["91mm","1mm","4mm","8mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + {label : "", dataIndex : 'packageTypeAbbreviation', position : ["91mm","51mm","4mm","8mm"], type: 'html', beforeStr: "
", afterStr: "
"} + + ], + barcodes : [ + {codeType : "128Auto", dataIndex : 'barcode', position : ["77mm","55mm","40mm","8mm"], + styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true}, + {itemNameID: 0, styleName: 'FontSize', styleValue: 6}, + {itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true} + ] + }, + {codeType : "128Auto", dataIndex : 'barcode', position : ["91mm","5mm","40mm","8mm"], + styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true}, + {itemNameID: 0, styleName: 'FontSize', styleValue: 6}, + {itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true} + ] + }, + {codeType : "128Auto", dataIndex : 'barcode', position : ["91mm","55mm","40mm","8mm"], + styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true}, + {itemNameID: 0, styleName: 'FontSize', styleValue: 6}, + {itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true} + ] + } + ] +} +//构造表格 +function getMaterialsTabHtml_smallLabel(tousse){ + //绘制材料明细表格 + var materials = tousse.materials; + // 打印材料明细 + var materialsTab = ""; + var borderSize = 1; + // 中大六院只打印材料,不打印一次性物品 + var printMaterials = new Array(); + for (var i=0;i 0){ + var materialStr = ""; + var fontSize = 8; + var rows = Math.ceil(materialsAmount / 3) ; // 向上取整 + for (var i=0;i" + material.showName + ""; + materialStr += "" + material.count + ""; + materialStr += ""; + } + if (materialStr.length > 0) { + materialsTab += ""; + materialsTab += materialStr; + materialsTab += "
"; + } + + } + return materialsTab; +} + +function printLargeLabel(obj){ + doGetLodop(); + // 设置默认字体 + setDefaultFontNameSizeBold('宋体',10,1); + // 默认条码属性 + LODOP.SET_PRINT_STYLE('ShowBarText', true); + LODOP.SET_PRINT_STYLE('FontSize', 6); + LODOP.SET_PRINT_STYLE('NotOnlyHighPrecision', true); + + var size = 11; + if (obj.name.length >15){ + size = 7; + } + + LODOP.ADD_PRINT_TEXT("1mm","0mm","RightMargin:0mm","BottomMargin:0mm", obj.name); + setFontSizeBold(11,1);// 设置字体 + setAlignment('center');// 对齐 + var curDate = new Date(); + var packingDateTime = date2string(curDate) + packingDateTime = packingDateTime.substring(0,16); + + LODOP.ADD_PRINT_TEXT("6mm","2mm","50mm","8px", "装配员:"+obj.operator); + setFontSizeBold(10,1);// 设置字体 + LODOP.ADD_PRINT_TEXT("6mm","30mm","50mm","8px", "审核员:"+obj.reviewer); + setFontSizeBold(10,1);// 设置字体 + LODOP.ADD_PRINT_TEXT("6mm","58mm","50mm","8px", "灭菌日期:"+obj.sterilizationDate); + setFontSizeBold(10,1);// 设置字体 + + LODOP.ADD_PRINT_TEXT("10mm","2mm","70mm","8px", "配包时间:" + packingDateTime); + setFontSizeBold(10,1);// 设置字体 + + LODOP.ADD_PRINT_TEXT("10mm","58mm","50mm","8px", "失效日期:"+obj.validDate); + setFontSizeBold(10,1);// 设置字体 + + // 打印表格 + var tableStr = getMaterialsTabHtml_largeLabel(obj); + addPrintTable(tableStr,"14mm","0mm","RightMargin:0mm","44mm"); + setAlignment('center');// 居中对齐 + + LODOP.ADD_PRINT_TEXT("67mm","0mm","RightMargin:50mm","BottomMargin:0mm", obj.name); + setFontSizeBold(size,1);// 设置字体 + setAlignment('center');// 居中对齐 + LODOP.ADD_PRINT_TEXT("67mm","50mm","RightMargin:0mm","BottomMargin:0mm", obj.name); + setFontSizeBold(size,1);// 设置字体 + setAlignment('center');// 居中对齐 + + LODOP.ADD_PRINT_BARCODE("57mm","55mm","40mm","8mm","128Auto", obj.barcode);// 条码1 + LODOP.ADD_PRINT_BARCODE("71mm","5mm","40mm","8mm","128Auto", obj.barcode);// 条码2 + LODOP.ADD_PRINT_BARCODE("71mm","55mm","40mm","8mm","128Auto", obj.barcode);// 条码3 + + var hospitalName = obj.hospitalName; + + var sterilizerStr = ""; + var sterilizer = obj.sterilizer; + var frequency = obj.frequency; + var fontSize = 10; + + if(sterilizer == null || sterilizer.length == 0){ + LODOP.ADD_PRINT_TEXT("58mm","0mm","RightMargin:50mm","BottomMargin:0mm", hospitalName); + }else{ + if (sterilizer.length < 10){ + sterilizer = "【"+sterilizer + "】"; + } + else{ + fontSize = 8; + sterilizer = "【"+sterilizer + "】"; + } + + LODOP.ADD_PRINT_TEXT("56mm","0mm","RightMargin:50mm","BottomMargin:0mm", sterilizer); + setFontSizeBold(fontSize,1);// 设置字体 + setAlignment('center');// 居中对齐 + LODOP.ADD_PRINT_TEXT("61mm","0mm","RightMargin:50mm","BottomMargin:0mm", "第" + frequency +"炉"); + } + setFontSizeBold(fontSize,1);// 设置字体 + setAlignment('center');// 居中对齐 + + // 包装方式简称1 + LODOP.ADD_PRINT_TEXT("57mm","51mm","4mm","8mm", obj.packageTypeAbbreviation); + setFontSizeBold(10,0);// 设置字体 + setAlignment('center');// 对齐 + // 包装方式简称2 + LODOP.ADD_PRINT_TEXT("71mm","1mm","4mm","8mm", obj.packageTypeAbbreviation); + setFontSizeBold(10,0);// 设置字体 + setAlignment('center');// 对齐 + // 包装方式简称3 + LODOP.ADD_PRINT_TEXT("71mm","51mm","4mm","8mm", obj.packageTypeAbbreviation); + setFontSizeBold(10,0);// 设置字体 + setAlignment('center');// 对齐 +} +//小标签配置,50x30mm +var smallLabelConfig = { + customPrint:printSmallLable_xkyy +} +function printSmallLable_xkyy(obj){ + doGetLodop(); + + // 划线 + if(obj.markTousse){ + LODOP.ADD_PRINT_LINE('4.8mm','0mm','4.8mm','50mm',0,1); + LODOP.ADD_PRINT_LINE('13mm','0mm','13mm','50mm',0,1); + } + // 设置默认字体 + setDefaultFontNameSizeBold('宋体',10,0); + + //胸科医院:判断包名称的长度(长度越长,字体就要越小,解决名字长时换行的问题) + var fontSize = getFontSizeByStr(obj.name,[ + {maxLen:12,fontSize:10}, + {maxLen:14,fontSize:9}, + {maxLen:17,fontSize:7}, + {maxLen:20,fontSize:6}, + {maxLen:25,fontSize:5}, + {maxLen:30,fontSize:4}, + {maxLen:1000,fontSize:3} + ]); + LODOP.ADD_PRINT_TEXT("1mm","0mm","RightMargin:0mm","5mm", obj.name); + setFontSizeBold(fontSize,1);// 设置字体 + setAlignment('center');// 对齐 + + LODOP.ADD_PRINT_TEXT("5mm","1mm","34mm","6mm", "灭菌:"+obj.sterilizationDate); + setFontSizeBold(9,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("5mm","30mm","30mm","6mm", "装配:"+obj.operator); + setFontSizeBold(9,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("9mm","1mm","34mm","6mm", "失效:"+obj.validDate); + setFontSizeBold(9,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("9mm","30mm","30mm","6mm", "审核:"+obj.reviewer); + setFontSizeBold(9,0);// 设置字体 + + + var sterilizer = obj.sterilizer; + var frequency = obj.frequency; + + var str = obj.hospitalName; + if(sterilizer == null || sterilizer.length == 0){ + str = obj.hospitalName; + }else{ + str = "【"+sterilizer + "】第" + frequency +"炉"; + } + + LODOP.ADD_PRINT_TEXT("14mm","0mm","RightMargin:0mm","5mm", str); + setFontSizeBold(9,0);// 设置字体 + setAlignment('center');// 对齐 + + // 默认条码属性 + LODOP.SET_PRINT_STYLE('ShowBarText', true); + LODOP.SET_PRINT_STYLE('FontSize', 4); + LODOP.SET_PRINT_STYLE('NotOnlyHighPrecision', true); + LODOP.ADD_PRINT_BARCODE("18mm","10mm","30mm","10mm","128Auto", obj.barcode);// 条码1 +} + +//消毒物品小标签50x30 +var smallLabel_disinfectConfig = { + customPrint:printSmallLabel_disinfect +} +//消毒物品的打印 +function printSmallLabel_disinfect(obj){ + doGetLodop(); + // 设置默认字体 + setDefaultFontNameSizeBold('宋体',12,1); + // 默认条码属性 + LODOP.SET_PRINT_STYLE('ShowBarText', true); + LODOP.SET_PRINT_STYLE('FontSize', 6); + LODOP.SET_PRINT_STYLE('NotOnlyHighPrecision', true); + + //胸科医院:判断包名称的长度(长度越长,字体就要越小,解决名字长时换行的问题) + var fontSize = getFontSizeByStr(obj.name,[ + {maxLen:12,fontSize:10}, + {maxLen:14,fontSize:9}, + {maxLen:17,fontSize:7}, + {maxLen:20,fontSize:6}, + {maxLen:25,fontSize:5}, + {maxLen:30,fontSize:4}, + {maxLen:1000,fontSize:3} + ]); + var tousseName = obj.name; + var department = obj.department; + if(department != null && department != ""){ + if(obj.isPrintOrg == true){ + tousseName = "(" + department + ")" + tousseName; + } + } + LODOP.ADD_PRINT_TEXT("1mm","0mm","RightMargin:0mm","3mm", tousseName); + setFontSizeBold(fontSize ,1);// 设置字体 + setAlignment('center');// 对齐 + + LODOP.ADD_PRINT_TEXT("5mm","1mm","44mm","6mm", "消毒:"+obj.sterilizationDate); + setFontSizeBold(8,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("5mm","28mm","30mm","6mm", "装配员:"+obj.operator); + setFontSizeBold(8,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("9mm","1mm","44mm","6mm", "失效:"+obj.validDate); + setFontSizeBold(8,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("9mm","28mm","44mm","6mm", "审核员:"+obj.reviewer); + setFontSizeBold(8,0);// 设置字体 + + var tableStr = getMaterialsTabHtml_smallLabel(obj); + addPrintTable(tableStr,"13mm","1mm","RightMargin:1mm","40mm"); + setAlignment('center');// 居中对齐 + + LODOP.ADD_PRINT_BARCODE("22mm","10mm","30mm","8mm","128Auto", obj.barcode);// 条码1 +} + +var foreignTousseLargeLabelConfig = { + customPrint:foreignTousseLargeLabel_xkyy +} +function foreignTousseLargeLabel_xkyy(printSummaryObj){ + var name = printSummaryObj.name ; + var barcode = printSummaryObj.barcode; + var material = printSummaryObj.material; + var operator = printSummaryObj.operator; + var reviewer = printSummaryObj.reviewer; + var sterilizationDate = printSummaryObj.sterilizationDate; + var validDate = printSummaryObj.validDate; + var foreignPackageObjectArray = printSummaryObj.foreignPackageObjectArray; + var sterilizer = printSummaryObj.sterilizer; + var frequency = printSummaryObj.frequency; + var hospitalName = printSummaryObj.hospitalName; + var hospitalNumber = printSummaryObj.hospitalNumber; + var clinicNumber = printSummaryObj.clinicNumber; + var total = printSummaryObj.total; + var labelType = printSummaryObj.labelType; + var patient = printSummaryObj.patient; + var patientArea = printSummaryObj.patientArea; + var bedNumber = printSummaryObj.bedNumber; + if(isUndefinedOrNullOrEmpty(patientArea)){ + patientArea = ''; + } + if(isUndefinedOrNull(bedNumber)){ + bedNumber = ''; + } + + var sterilizerStr = ""; + if(sterilizer == null || sterilizer.length == 0){ + sterilizerStr = hospitalName; + }else{ + sterilizerStr = "【"+sterilizer + "】第" + frequency +"炉"; + } + + doGetLodop(); + // 设置默认字体 + setDefaultFontNameSizeBold('宋体',12,1); + // 默认条码属性 + LODOP.SET_PRINT_STYLE('ShowBarText', true); + LODOP.SET_PRINT_STYLE('FontSize', 6); + LODOP.SET_PRINT_STYLE('NotOnlyHighPrecision', true); + + //胸科医院:判断包名称的长度(长度越长,字体就要越小,解决名字长时换行的问题) + var fontSize = getFontSizeByStr(printSummaryObj.name,[ + {maxLen:12,fontSize:10}, + {maxLen:14,fontSize:9}, + {maxLen:17,fontSize:7}, + {maxLen:20,fontSize:6}, + {maxLen:25,fontSize:5}, + {maxLen:30,fontSize:4}, + {maxLen:1000,fontSize:3} + ]); + LODOP.ADD_PRINT_TEXT("1mm","0mm","RightMargin:0mm","3mm", name); + setFontSizeBold(fontSize ,1);// 设置字体 + setAlignment('center');// 对齐 + + LODOP.ADD_PRINT_TEXT("5mm","1mm","44mm","6mm", "灭菌:" + sterilizationDate); + setFontSizeBold(8,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("5mm","28mm","44mm","6mm", "装配员:" + operator); + setFontSizeBold(8,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("9mm","1mm","30mm","6mm", "失效:" + validDate); + setFontSizeBold(8,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("9mm","28mm","44mm","6mm", "审核员:" + reviewer); + setFontSizeBold(8,0);// 设置字体 + + LODOP.ADD_PRINT_TEXT("13mm","10mm","44mm","6mm", total); + setFontSizeBold(8,0);// 设置字体 + + LODOP.ADD_PRINT_TEXT("17mm","1mm","28mm","6mm", "病人:" + patient); + setFontSizeBold(8,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("17mm","28mm","44mm","6mm", "诊疗号:" + clinicNumber); + setFontSizeBold(8,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("21mm","10mm","44mm","6mm", sterilizerStr); + setFontSizeBold(8,0);// 设置字体 + + LODOP.ADD_PRINT_BARCODE("24mm","10mm","30mm","6mm","128Auto", barcode);// 条码1 +} +var foreignProxyDisinfectionLabelConfig = { + customPrint:foreignProxyDisinfectionLabel_xkyy, + // 可带表格线的table定义 + table : { + rules : 'rows', + style : 'width: 50mm; height: 30mm', + cellspacing : '0', + cellpadding : '0', + position : [0,"0mm","100%","100%"], + printMode : {mode : 'PRINT_PAGE_PERCENT', value : 'Full-Page'}, + beforeStr: "", afterStr: "", + rows : [ + // 每个表格行的定义 + {height : "", tds : [ + { label : "", dataIndex : 'name', colspan: 4, styles : [{minLen:0, maxLen:14, style: "font-size:12px;font-weight:bold;text-align:center"},{minLen :14, maxLen:100 ,style : "font-size:10px;text-align:center"}]} + ] + }, + {height : "", tds : [ + { label : "", dataIndex : 'depart', colspan: 4, style : "font-size:12px;text-align:center;height:5mm"} + ] + }, + {height : "", tds : [ + { label : "灭菌程序:", dataIndex : 'sterilingType', colspan: 4, style : "font-size:12px;text-align:center;height:5mm"} + ] + }, + {height : "", tds : [ + { label : "灭菌:", dataIndex : 'sterilizationDate', colspan: 2, style : "font-size:11px; text-align:center;height:5mm;width:24mm"}, + { label : "失效:", dataIndex : 'validDate', colspan: 2, length: 10, style : "font-size:11px; text-align:center;width:24mm"} + ] + }, + {height : "", tds : [ + { label : "", dataIndex : 'barcode', colspan: 4, style : "font-size:10px;text-align:center"} + ] + } + ] + } +} +function foreignProxyDisinfectionLabel_xkyy(obj){ + doGetLodop(); + + // 设置默认字体 + setDefaultFontNameSizeBold('宋体',12,1); + // 默认条码属性 + LODOP.SET_PRINT_STYLE('ShowBarText', true); + LODOP.SET_PRINT_STYLE('FontSize', 6); + LODOP.SET_PRINT_STYLE('NotOnlyHighPrecision', true); + + var name = obj.name + "(" + obj.depart + ")"; + + //胸科医院:判断包名称的长度(长度越长,字体就要越小,解决名字长时换行的问题) + var fontSize = getFontSizeByStr(obj.name,[ + {maxLen:12,fontSize:10}, + {maxLen:14,fontSize:9}, + {maxLen:17,fontSize:7}, + {maxLen:20,fontSize:6}, + {maxLen:25,fontSize:5}, + {maxLen:30,fontSize:4}, + {maxLen:1000,fontSize:3} + ]); + var validDate = obj.validDate; + if (obj.validDate.length > 10){ + obj.validDate = obj.validDate.substring(0,10); + } + LODOP.ADD_PRINT_TEXT("1mm","0mm","RightMargin:0mm","5mm", name); + setFontSizeBold(fontSize,1);// 设置字体 + setAlignment('center');// 对齐 + + LODOP.ADD_PRINT_TEXT("5mm","1mm","34mm","6mm","灭菌日期:"+obj.sterilizationDate); + setFontSizeBold(7,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("5mm","28mm","30mm","6mm", "灭菌程序:"+obj.sterilingType); + setFontSizeBold(7,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("9mm","1mm","34mm","6mm", "失效日期:"+obj.validDate); + setFontSizeBold(7,0);// 设置字体 + + LODOP.ADD_PRINT_TEXT("9mm","28mm","30mm","6mm", "灭菌员:"+obj.applicant); + setFontSizeBold(7,0);// 设置字体 + + + var sterilizer = obj.sterilizer; + var frequency = obj.frequency; + + var str = obj.hospitalName; + if(sterilizer == null || sterilizer.length == 0){ + str = obj.hospitalName; + }else{ + str = "【"+sterilizer + "】第" + frequency +"炉"; + } + + LODOP.ADD_PRINT_TEXT("14mm","0mm","RightMargin:0mm","5mm", str); + setFontSizeBold(7,0);// 设置字体 + setAlignment('center');// 对齐 + + + LODOP.ADD_PRINT_BARCODE("18mm","11mm","30mm","10mm","128Auto", obj.barcode);// 条码1 +} +var foreignTousseAppliationPrintConfig = { + isPrintTousse : true, + isPrintDisinfectGoods : false, + isPrintDisposableGoods : false, // 打印申请单是否打印一次性物品 + isPrintForeignTousse : true, // 是否打印外来器械包 + isMergePrintTousseAndDisposable : false, // 器械包和一次性物品是否合并打印 + printByOriginalApplications : true, //不合并打印情况下是否按原始单据逐份打印 + printApplyInfo : true, + printOrder : 1, // 1:优先打印一次性物品, 2:优先打印器械包 + // 在器械包和一次性物品不合并打印的情况下,消毒物品打印方式: + // 1:优先与一次性物品合并打印,如果无一次性物品则与器械包合并打印, 2:优先与器械包一起合并打印,如果没有器械包则与一次性物品合并打印 ,3:单独打印 + disinfectGoodsPrintMode : 3, + rowsPerPage : 20, + headerContent : [ + // 标题 + {label : "广州市胸科医院", dataIndex : '', fontSize : 10, position : ["10","4%","90%",5]}, + {label : "外来器械接收单", dataIndex : 'header', fontSize : 17, position : ["30","15%","99%",22]}, + + {label : "姓名:", dataIndex : 'patient', fontSize : 11, position : ["90","4%","90%",5]}, + {label : "性别:", dataIndex : 'patientSex', fontSize : 11, position : ["90","80mm","90%",5]}, + {label : "年龄:", dataIndex : 'patientAge', fontSize : 11, position : ["90","130mm","90%",5]}, + + {label : "床号:", dataIndex : 'bedNumber', fontSize : 11, position : ["120","4%","90%",5]}, + {label : "住院号:", dataIndex : 'hospitalNumber', fontSize : 11, position : ["120","80mm","90%",5]}, + + {label : "单号:", dataIndex : 'serialNum', fontSize : 11, position : ["150","4%","90%",10]}, + {label : "申请科室:", dataIndex : 'depart', fontSize : 11, position : ["150","80mm","90%",5]}, + {label : "结算科室:", dataIndex : 'settleAccountsDepart', fontSize : 11, position : ["150","130mm","90%",10]}, + + {label : "申请人:", dataIndex : 'applicant', fontSize : 11, position : ["180","4%","90%",10]}, + {label : "打印时间:", dataIndex : 'printTime', fontSize : 11, position : ["180","80mm","90%",10]}, + + {label : "备注:", dataIndex : 'remark', fontSize : 11, position : ["210","4%","90%",5]}, + + + {label : "手术名称:", dataIndex : 'surgery', fontSize : 11, position : ["280","4%","90%",10]}, + {label : "手术医生:", dataIndex : 'doctor', fontSize : 11, position : ["320","4%","90%",10]}, + {label : "手术时间:", dataIndex : 'operationTime', fontSize : 11, position : ["360","4%","90%",10]}, + + {label : "手术器械清单:", dataIndex : '', fontSize : 11, position : ["400","4%","90%",10]}, + + + {label : "清洗注意事项:", dataIndex : '', fontSize : 11, position : ["680","4%","90%",5]}, + {label : "灭菌方式:", dataIndex : '', fontSize : 11, position : ["720","4%","90%",5]}, + {label : "公司名称:", dataIndex : 'supplierName', fontSize : 11, position : ["760","4%","90%",5]}, + {label : "联系方式:", dataIndex : '', fontSize : 11, position : ["800","4%","90%",5]}, + {label : "送包日期及时间:", dataIndex : '', fontSize : 11, position : ["840","4%","90%",5]}, + {label : "送包者签名:", dataIndex : '', fontSize : 11, position : ["880","4%","90%",5]}, + {label : "回收者签名:", dataIndex : '', fontSize : 11, position : ["920","4%","90%",5]} + + ], + goodsTable :{ + rowHeight : 25, + position : ["430","8%","170mm","1000"], + content : [ + {header : "序号", dataIndex : 'serialNumber', width : 60, align : 'center', fontSize : 11}, + {header : "名称", dataIndex : 'goodsName', width : 300, align : 'left', fontSize : 11}, + {header : "数量", dataIndex : 'goodsAmount', width : 60, align : 'right', fontSize : 11}, + {header : "材料名称及数量", dataIndex : 'sp', width : 300, align : 'center', fontSize : 11} + ] + }, + footer: { + fontSize : 14, + content : [ + {label : "", dataIndex : ''} + ] + },barcodes : [ + {codeType : "128Auto", dataIndex : 'serialNum', position : ["30","65%",210,30], + styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true}, + {itemNameID: 0, styleName: 'FontSize', styleValue: 6}, + {itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true} + ] + } + ] +} + +//一次性物品 +function printDiposableGoodsInfo(barcode,name,expDate,supplierName,batchNumber,printType,specification , externalCode) { + if (!isUndefinedOrNullOrEmpty(barcode)) { + formTypeOfPrinted = 'diposableGoodsBatchStock'; + var myObj = printConfig[formTypeOfPrinted]; + if(!isUndefinedOrNullOrEmpty(myObj)){ + var printSummaryObj = { + 'barcode': barcode, + 'name': name, + 'expDate': expDate, + 'supplierName': supplierName, + 'batchNumber': batchNumber, + 'printType': printType, + 'specification': specification, + 'externalCode': externalCode + } + print2(printSummaryObj); + return; + } + creatediposableGoodsInfo(barcode,name,expDate,supplierName,batchNumber,specification , externalCode); + setPrinterByConfig(); + if(printType == 0){//直接打印 + LODOP.PRINT(); + }else{//打印预览 + LODOP.SET_SHOW_MODE("HIDE_PAPER_BOARD",1); + LODOP.PREVIEW(); + } + } else { + alert("打印内容为空"); + } +} +function creatediposableGoodsInfo(barcode,name,expDate,supplierName,batchNumber,specification , externalCode) { + LODOP = getLodop(document.getElementById('LODOP'), document + .getElementById('LODOP_EM')); + + var tableHtml =""; + tableHtml += ""; + if(name.length > 10){ + tableHtml += ""; + tableHtml += ""; + + tableHtml += ""; + tableHtml += ""; + tableHtml += ""; + + tableHtml += "
"+name+"
"; + }else{ + tableHtml += "
"+name+"
"; + } + tableHtml += "
批次:"+batchNumber; + tableHtml += "
规格:"+specification; + tableHtml += "
失效期:"+expDate; + tableHtml += "
外部编码:"+externalCode; + tableHtml += "
"; + tableHtml += "
"+barcode; + tableHtml += "
"; + LODOP.ADD_PRINT_HTM(0,0,"100%","100%",""+tableHtml+""); + LODOP.SET_PRINT_MODE("PRINT_PAGE_PERCENT","Full-Page"); +}; + +var printConfig = { + //发货计划单 + invoicePlan : invoicePlanPrintConfig, + batchPrintInvoices: batchPrintInvoicesConfig, + // 发货单(通用发货单) + invoiceCombo : invoiceComboPrintConfig, + // 发货单(一次性物品) + invoiceDiposableGoods : invoiceComboPrintConfig, + // 发货单(器械包或者回收申请单) + invoiceTousse : invoiceComboPrintConfig, + // 发货单(消毒物品) + invoiceDisinfectGoods : invoiceComboPrintConfig, + // 申请单 + application : applicationPrintConfig, + // 消毒物品申请单 + disinfectGoodsApplication : applicationPrintConfig, + // 借物单 + borrow : borrowPrintConfig, + + // 小标签:50x30规格 + smallLabel : smallLabelConfig, + //消毒物品标签50x30 + smallLabel2_disinfect : smallLabel_disinfectConfig, + //胸科医院外来器械标签50x30 + foreignTousseLargeLabel: foreignTousseLargeLabelConfig, + // 大标签:100x80规格 + largeLabel : largeLabelConfig, + // 加大标签:100x100规格 + exLargeLabel : exLargeLabelConfig, + // 外部代理灭菌标签 + foreignProxyDisinfectionLabel : foreignProxyDisinfectionLabelConfig, + //外来器械申请单 + foreignTousseAppliation : foreignTousseAppliationPrintConfig +}; \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/config/xkyy/interfaces/mybatis/SyncOrgUnitAndUserMapper.xml =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/config/xkyy/interfaces/mybatis/SyncOrgUnitAndUserMapper.xml (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/config/xkyy/interfaces/mybatis/SyncOrgUnitAndUserMapper.xml (revision 31166) @@ -0,0 +1,27 @@ + + + + + + + + + + \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/config/xkyy/config.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/config/xkyy/config.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/config/xkyy/config.js (revision 31166) @@ -0,0 +1,59 @@ +var sstsConfig = { + // 禁用标识牌功能 + disableIdCard : false, + // 回收时科室显示结算科室 + showSettleAccountsDepartInRecycling : false, + // 审核器械包必须入篮筐(一级供应室) + mustScanBasketForTousseReview : false, + // 审核器械包必须入篮筐(二级供应室) + mustScanBasketForTousseReviewOf2ndSupplyRoom : false, + // 申请表单的类型:1 : 通用申请单(组合申请单),2:分开的申请单 + applicationFormType : 2, + hidePackageSpec : true, + // 申请界面是否显示器械包或消毒物品的的单位 + showTousseUnitColumn : false, + // 条码类型:1:一维码, 2:二维码 + barcodeType : 1, + // 申请器械包时是否自动归还待归还物品 + autoReturnTousse : false, + // 是否隐藏进入审核列表按钮 + hideEnterReviewListButton : false, + // 是否自动补全用户名 + autoFillUserName:false, + // 自动补全用户名的长度 + autoFillUserNameLength:6, + // 是否支持部分终止申请单中的物品 + enableTerminatePartOfApplication : false, + //限制入库单填写的一次性物品为能申领的物品 + restrictGodownEntryDiposableGoods : false, + //提交申请单前显示申请的物品清单 + showAppliedGoodsBeforeSubmit : false, + printRecyclingConfigFormVersion: 2,// 发货计划设置页的版本,默认为1 + hideApplyDepartColumn : false, // 隐藏申请科室 + hideSettleDepartColumn : true, // 隐藏结算科室 + showInspectorField : false, // 装配界面显示检查人字段 + showWrapperField : false, // 装配界面显示包装人字段 + showSterilizer : true, // 装配界面显示灭菌炉和炉次 + sterilizerNotAllowBlank : false, // 是否允许灭菌炉输入为空 + invoicePlanPrintButtonName : '回收清单', // 打印计划计划按钮的名字 + // 使用记录审核方式, 1: 审核和转换按钮分开; 2:审核和转换按钮合并为1个 3:不需要保存、保存并审核等按钮,直接就是保存审核生成申请一体式 + useRecordAuditMode : 3, + //是否启用本地文件访问 + enableLocalFileSystemObject : false, + allowApplyDisposableGoodsWhenUnderstock: false, + // 一次性物品库存不足时,是否允许申领 + //是否隐藏一次性物品退库单列表添加功能按钮(无此配置项或配置的值不为true(一般为false)时才显示添加退库单功能,为true时则隐藏该按钮) + hiddenGodownOutAddButton:false, + //外部代理灭菌装配时是否必须入篮筐 + mustScanBasketForForeignProxy : false, + useRecordWashHandNurseAllowBlank:true, + useRecordCircuitNurseAllowBlank:true, + useRecordOperationRoomAllowBlank:true, + packingPageOperatorDefaultLastOperator:true, + packingPageReviewerDefaultLastReviewer:true, + //隐藏预回收的三个字段(预回收人、预回收确认人、预回收时间) + hiddenRecyclingPeople:true, + hiddenPreRecyclingConfirmPeople:true, + hiddenPreRecyclingTime:true, + allowApplyDisposableGoodsWhenUnderstock:false +} \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/config/xkyy/interfaces/mybatis/syncFromHERP_Mapper.xml =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/config/xkyy/interfaces/mybatis/syncFromHERP_Mapper.xml (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/config/xkyy/interfaces/mybatis/syncFromHERP_Mapper.xml (revision 31166) @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/config/xkyy/spring/HIS.xml =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/config/xkyy/spring/HIS.xml (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/config/xkyy/spring/HIS.xml (revision 31166) @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/config/xkyy/interfaces/mybatis/FindPatientInfoByHospitalNumMapper.xml =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/config/xkyy/interfaces/mybatis/FindPatientInfoByHospitalNumMapper.xml (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/config/xkyy/interfaces/mybatis/FindPatientInfoByHospitalNumMapper.xml (revision 31166) @@ -0,0 +1,20 @@ + + + + + + + + \ No newline at end of file