Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.js =================================================================== diff -u -r26370 -r26389 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.js (.../goodsApplicationView.js) (revision 26370) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.js (.../goodsApplicationView.js) (revision 26389) @@ -2433,17 +2433,54 @@ top.Ext.MessageBox.confirm("请确认", "要打印所选申请单的全部物品吗?", function (btn) { if (btn == 'yes') { - //通过json stringify和parse克隆js对象 - var config = JSON.parse(JSON.stringify(printConfig.invoicePlan)); - config.isPrintTousse = true; - config.isPrintDisinfectGoods = true; - config.isPrintDressing = true; - config.isPrintDisposableGoods = true; - config.printApplyInfo = false; - - var printParams = getPrintJsonParams("print", ids, config); - formTypeOfPrinted = "invoicePlan"; - printApplyGoods(printParams, 0, SSTS_PrintApplicationGoods, null); + var records = grid.getSelectionModel().getSelections(); + var invoicePlanIds = null; + var foreignProxyIdsMap = {}; + var foreignTousseMap = {}; + // 申请单ID根据类型分组 + for (var i = 0; i < records.length; i++) { + if (records[i].json['type'] == '外部器械包代理灭菌申请单') { + var depart = records[i].data['depart']; + if (foreignProxyIdsMap[depart] == null) { + foreignProxyIdsMap[depart] = records[i].data['id']; + } else { + foreignProxyIdsMap[depart] = foreignProxyIdsMap[depart] + ',' + records[i].data['id']; + } + } else if (records[i].json['type'] == '外来器械包申请单') { + foreignTousseMap[i] = records[i]; + } else { + if (invoicePlanIds == null) { + invoicePlanIds = records[i].data['id']; + } else { + invoicePlanIds = invoicePlanIds + ';' + records[i].data['id']; + } + } + } + + for (var prop in foreignTousseMap) { + formTypeOfPrinted = "foreignTousseAppliation"; + printForeignTousseApplication(foreignTousseMap[prop], 0); + } + + for (var prop in foreignProxyIdsMap) { + formTypeOfPrinted = "foreignProxyDisinfectionApplication"; + batchPrintForeignProxyDisinfectionApplications(foreignProxyIdsMap[prop], prop, 0); + } + + if (invoicePlanIds != null) { + //通过json stringify和parse克隆js对象 + var config = JSON.parse(JSON.stringify(printConfig.invoicePlan)); + config.isPrintTousse = true; + config.isPrintDisinfectGoods = true; + config.isPrintDressing = true; + config.isPrintDisposableGoods = true; + config.printApplyInfo = false; + + var printParams = getPrintJsonParams("print", invoicePlanIds, config); + formTypeOfPrinted = "invoicePlan"; + printApplyGoods(printParams, 0, SSTS_PrintApplicationGoods, null); + } + } }); } @@ -3036,6 +3073,114 @@ } } +function printForeignTousseApplication(record, printType){ + DWREngine.setAsync(false); + SupplyRoomConfigTableManager.getStartTimeObject(function(config){ + if(config != null){ + title = config.unitName; + } + }); + var applicationId = record.json['id']; + var applicant = record.json['applicant']; + var applicationTime = record.json['applicationTime']; + var depart = record.json['depart']; + var remark = record.json['remark']; + var roomNumber = record.json['roomNumber']; + var bedNumber = record.json['bedNumber']; + var patient = record.json['patient']; + var patientAge = record.json['patientAge']; + var patientSex = record.json['patientSex']; + var hospitalNumber = record.json['hospitalNumber']; + var clinicNumber = record.json['clinicNumber']; + var patientArea = record.json['patientArea']; + var doctor = record.json['doctor']; + var surgery = record.json['surgery']; + var recyclingTime = record.json['recyclingTime']; + var operationTimeStr = record.json['operationTimeString']; + var operationTime; + if(operationTimeStr==null || operationTimeStr==''){ + operationTime=''; + }else{ + operationTime = new Date(operationTimeStr).Format("yyyy-MM-dd hh:mm"); + } + + var supplierContactName = record.json['supplierContactName']; + var supplierPhoneNumber = record.json['supplierPhoneNumber']; + + var supplierName = record.json['supplierName']; + /* var goodsDetail = getPrintGoodsInfo(); + if(goodsDetail == null || goodsDetail.length <= 0){ + showResult("请填写申请的物品!"); + return; + } + var tousses = buildTousses();*/ + + formTypeOfPrinted = "foreignTousseAppliation"; + + var config = printConfig.foreignTousseAppliation; + var printParams = getPrintJsonParams("print", applicationId , config); + printParams.printScope.rowsPerPage = printConfig.foreignTousseAppliation.rowsPerPage; + RecyclingApplicationTableManager.findPrintRecyclingGoods(JSON.stringify(printParams) , function(result){ + var obj = JSON.parse(result); + if (obj.success){ + var summary = obj.data[0]; + summary.pageIndex = 0; + summary.title = title; + summary.applicant = applicant; + summary.applicationTime = applicationTime; + summary.depart = depart; + summary.remark = remark; + summary.roomNumber = roomNumber; + summary.bedNumber = bedNumber; + summary.patient = patient; + summary.patientAge = patientAge; + summary.patientSex = patientSex; + summary.hospitalNumber = hospitalNumber; + summary.clinicNumber = clinicNumber; + summary.patientArea = patientArea; + summary.surgery = surgery; + summary.operationTime = operationTime; + summary.doctor = doctor; + summary.supplierName = supplierName; + //供应商联系人 + summary.supplierContactName = supplierContactName; + //供应商联系电话 + summary.supplierPhoneNumber = supplierPhoneNumber; + //summary.goodsDetail = goodsDetail; + //summary.tousses = tousses; + //第一次回收时间 + summary.recyclingTime = recyclingTime; + summary.printType = printType; + var myObj = printConfig[formTypeOfPrinted]; + if(isUndefinedOrNullOrEmpty(myObj)){ + var msg = '未找到('+formTypeOfPrinted+')的打印配置'; + alert(msg); + return; + } + // 自定义打印 + if (!isUndefinedOrNullOrEmpty(myObj.customPrint)) { + myObj.customPrint(summary); + return; + } + doPrintForeignTousseApplication(printType, summary); + + var isSupplyRoomUser = validateIsSupplyRoomUser(); + + if (isSupplyRoomUser && printType == 0){ + RecyclingApplicationTableManager.updatePrintStatus(applicationId,function(result){ + //更新完打印状态之后,及时刷新页面 + grid.dwrReload(); + }); + } + }else{ + showResult(obj.message); + } + DWREngine.setAsync(true); + }); +} + + + Ext.onReady(function() { Ext.QuickTips.init(); Ext.apply(Ext.QuickTips.getQuickTip(), {