Index: ssts-web/src/main/webapp/disinfectsystem/config/dgszyy/config.js =================================================================== diff -u -r39103 -r39468 --- ssts-web/src/main/webapp/disinfectsystem/config/dgszyy/config.js (.../config.js) (revision 39103) +++ ssts-web/src/main/webapp/disinfectsystem/config/dgszyy/config.js (.../config.js) (revision 39468) @@ -282,6 +282,8 @@ enableEquipmentInspectionManagementFunction:true, //器械保养模块使用 disableTousseMaintain:true, +//外来器械单新增快速回收功能 +enableFastRecycling:true, //是否启用外来器械包的归还交接功能,pda enableReturnHandoverOfForeignTousseFunction:true } \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/setForeignTousseDefinition.jsp =================================================================== diff -u -r38671 -r39468 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/setForeignTousseDefinition.jsp (.../setForeignTousseDefinition.jsp) (revision 38671) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/setForeignTousseDefinition.jsp (.../setForeignTousseDefinition.jsp) (revision 39468) @@ -291,7 +291,7 @@ var selects = null; $(document).ready(function() { - if(applicationId == ''){ + if(applicationId == '' && tousseDefinitionID == ''){ $('#saveBtnTd').hide(); } Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/foreignTousseRecycleForTouchScreen.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/foreignTousseRecycleForTouchScreen.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/foreignTousseRecycleForTouchScreen.jsp (revision 39468) @@ -0,0 +1,308 @@ +<%@page import="com.forgon.disinfectsystem.entity.videomonitor.Workstation"%> +<%@page import="com.forgon.disinfectsystem.entity.basedatamanager.tousseGroup.TousseGroup"%> +<%@page import="com.forgon.disinfectsystem.basedatamanager.tousseGroup.service.TousseGroupManager"%> +<%@page import="java.util.List"%> +<%@page import="com.forgon.disinfectsystem.entity.recycledepartmentgroup.DepartmentGroup"%> +<%@page import="com.forgon.disinfectsystem.basedatamanager.departmentgroup.service.DepartmentGroupManager"%> +<%@page import="com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager"%> +<%@page import="com.forgon.disinfectsystem.entity.recyclingerror.RecyclingError"%> +<%@page import="com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance"%> +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@page import="java.util.Date"%> +<%@page import="java.text.SimpleDateFormat"%> +<%@page import="com.forgon.tools.SpringBeanManger"%> +<%@page import="com.forgon.directory.acegi.tools.AcegiHelper"%> + + + + + + + +消毒供应中心质量追溯管理系统 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+
+ + +
+ +
+
+

+  住院号: + +

+ +

+ 患者名称: + +

+
+
+

提示:扫描外来器械包条码、住院号或输入住院号方式可快速查找同名患者的所有器械包。

+
+
+ + +
+
+ + + + + + + + + + + + + + + + +
申请单单号器械包名称申请数量回收数量装载数量操作
+
+
+ + +
+
+ + +
+
+ + + + + + + + +
名称数量操作
+
    +
+
+
+ +
+ + \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/foreignTousseRecycleForTouchScreen.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/foreignTousseRecycleForTouchScreen.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/foreignTousseRecycleForTouchScreen.js (revision 39468) @@ -0,0 +1,877 @@ +var lock; +var progressbar = null; +var progressLabel = null; +//锁定键盘 +function lockup(e) { e.preventDefault(); } +//高亮层不锁定 +function lockout(e) { e.stopPropagation(); } + +function alertDiv(alertWord, hideCloseButton) { + lock = true; + document.getElementById("showWord").innerHTML = alertWord; + if (typeof (hideCloseButton) != 'undefined' && hideCloseButton) { + $('#idBoxClose').hide(); + $('#progressbar').show(); + } else { + $('#idBoxClose').show(); + $('#progressbar').hide(); + } + ab = new AlertBox("idBox"); + ab.onShow = function () { + if (lock) { + $$E.addEvent(document, "keydown", lockup); + $$E.addEvent(this.box, "keydown", lockout); + OverLay.show(); + } + }; + ab.onClose = function () { + $$E.removeEvent(document, "keydown", lockup); + $$E.removeEvent(this.box, "keydown", lockout); + OverLay.close(); + }; + + ab.center = true; + ab.show(); +} + +function closeDiv() { + ab.close(); +} + +//显示外来器械包明细 +function showTousseInfo(row) { + var width = 840; + var height = 400; + var tousseName = $('#showTousseName' + row).val(); + var tousseDefinitionID = $('#tousseDefinitionID' + row).val(); + + if (resolution == '1980') { + width = 1230; + height = 800; + } + var recyclingStatus = ''; + var canUpdatePrice = false; + var recyclingItemId = ''; + var applicationId = $('#applicationId' + row).val(); + if (sstsConfig.enableModifyThePriceOfForeignTousseInrecyclingRecord) { + if (recyclingStatus == '待接收') { + canUpdatePrice = true; + } else if (recyclingStatus == '部分接收' && recyclingItemId == '') { + canUpdatePrice = true; + } + } + var canUpdateWeight = false; + if (sstsConfig.enableModifyWeightOfForeignTousseAfterApply && sstsConfig.foreignTousseAddWeight) { + if (recyclingStatus == '待接收') { + canUpdateWeight = true; + } else if (recyclingStatus == '部分接收' && recyclingItemId == '') { + canUpdateWeight = true; + } + } + + layerIndex = layer.open({ + type: 2, + title: [tousseName + ' 信息', true], + content: 'setForeignTousseDefinition.jsp?resolution=' + resolution + '&width=' + width + '&height=' + height + '&row=' + row + '&tousseDefinitionID=' + tousseDefinitionID + '&applicationId=' + applicationId + '&recyclingrecordId=&canUpdatePrice=' + canUpdatePrice + '&canUpdateWeight=' + canUpdateWeight, + area: [width + 'px', height + 'px'], + border: [5, 0.3, '#fff', true], + closeBtn: [2, true] + }); +} + +//添加数量 +function add(row) { + var recycleAmount = $('#recycleAmount' + row).val() == '' ? 0 : parseInt($('#recycleAmount' + row).val(), 10) + 1; + if (recycleAmount > 1) { + alertDiv("外来器械包回收数量不能大于1,请点击器械包名修改材料数量!"); + return; + } + $('#recycleAmount' + row).val(recycleAmount); +} + +//减少数量 +function reduce(row) { + var recycleAmount = $('#recycleAmount' + row).val() == '' ? 0 : parseInt($('#recycleAmount' + row).val(), 10) - 1; + if (recycleAmount >= 0) { + $('#recycleAmount' + row).val(recycleAmount); + } +} + +//将器械包放入篮筐中 +function putTousseInTheBasket(row) { + if ($('#basketsUl').children().length > 0) { + var tousseName = $('#showTousseName' + row).val(); + var isCleanedEntirely = $('#isCleanedEntirely' + row).val(); + var tousseDefinitionID = $('#tousseDefinitionID' + row).val(); + var amount = parseInt($('#recycleAmount' + row).val(), 10) - parseInt($('#loadedAmount' + row).val(), 10); + var app_id = $('#applicationId' + row).val(); + var invoicePlanVersion = $('#invoicePlanVersion' + row).val(); + var tousseType = $('#tousseType' + row).val(); + + if (amount == 0) { + alertDiv('没有可以放入篮筐的器械包。'); + } else { + var items = { + tousseDefinitionID: tousseDefinitionID, + tousseName: tousseName, + amount: amount, + isCleanedEntirely: isCleanedEntirely, + app_id: app_id, + tousseType: tousseType, + invoicePlanVersion: invoicePlanVersion + } + var loadedAmount = tousseIntoBasketFunction(items); + if (loadedAmount > 0) { + $('#loadedAmount' + row).val(parseInt(loadedAmount, 10) + parseInt($('#loadedAmount' + row).val(), 10)); + if (parseInt($('#loadedAmount' + row).val(), 10) == parseInt($('#recycleAmount' + row).val(), 10)) { + $('#showTousseName' + row).addClass('input-a-yellow'); + } + } + } + } else { + alertDiv('请先扫描篮筐条码。'); + } +} + +//判断此次能入筐的数量. +function tousseIntoBasketFunction(itemJson) { + var tousseDefinitionID = itemJson.tousseDefinitionID; + var tousseName = itemJson.tousseName; + var recycleAmount = itemJson.amount; + var isCleanedEntirely = itemJson.isCleanedEntirely; + var app_id = itemJson.app_id; + var invoicePlanVersion = itemJson.invoicePlanVersion; + var tousseType = itemJson.tousseType; + var params = getScanedGoods(isCleanedEntirely); + var loadedAmount = 0; + DWREngine.setAsync(false); + RecyclingRecordTableManager.getTousseIntoBasketAmount("", tousseDefinitionID, recycleAmount, "", JSON.stringify(params), "", app_id, function (result) { + var jsonObj = JSON.parse(result); + loadedAmount = jsonObj.success; + if (!jsonObj.success) { + alertDiv(jsonObj.message); + } else { + var data = jsonObj.data; + loadedAmount = data.amount; + if (isCleanedEntirely == "否") { + var materials = data.materials; + for (var i = 0; i < materials.length; i++) { + var item = materials[i]; + var basketItem = { + ci_id: "", + type: '材料', + orgUnitName: '', + tousseName: tousseName, + materialName: item.materialName, + showName: item.materialName, + amount: item.materialAmount, + tousseAmount: loadedAmount, + basketBarcode: item.basketBarcode, + app_id: app_id, + tousseDefinitionID: tousseDefinitionID, + basketGroupBarcodes: item.basketBarcode, + invoicePlanVersion: invoicePlanVersion, + putBasketMaxAmount: item.putBasketMaxAmount + }; + addBasketItemElement(basketItem); + } + } else { + var basketItem = { + ci_id: "", + type: tousseType, + orgUnitName: '', + tousseName: tousseName, + materialName: "", + showName: tousseName, + amount: loadedAmount, + tousseAmount: loadedAmount, + basketBarcode: data.basketBarcode, + app_id: app_id, + tousseDefinitionID: tousseDefinitionID, + basketGroupBarcodes: data.basketBarcode, + invoicePlanVersion: invoicePlanVersion, + putBasketMaxAmount: data.putBasketMaxAmount + }; + addBasketItemElement(basketItem); + } + } + }); + DWREngine.setAsync(true); + return loadedAmount; +} + +//创建物品入筐 +function addBasketItemElement(basketItem) { + var basketElement = $('tbody[class="clearfix"]:eq(0)'); + + var ci_id = basketItem.ci_id; + var type = basketItem.type; + var orgUnitName = basketItem.orgUnitName; + var tousseName = basketItem.tousseName; + var materialName = basketItem.materialName; + var showName = basketItem.showName; + var amount = basketItem.amount; + var tousseAmount = basketItem.tousseAmount; + var app_id = basketItem.app_id; + var tousseDefinitionID = basketItem.tousseDefinitionID; + var basketGroupBarcodes = basketItem.basketGroupBarcodes; + var invoicePlanVersion = basketItem.invoicePlanVersion; + var putBasketMaxAmount = basketItem.putBasketMaxAmount; + + var str = showName; + if (showName.length > 12) { + str = showName.substring(0, 12) + "..."; + } + var element = ''; + + element += ''; + element += ''; + element += ''; + element += '' + str + ''; + element += ''; + element += ''; + element += '' + amount + ''; + element += ''; + element += ''; + element += '删除'; + element += ''; + element += ''; + + var json = {}; + json.classifiedItemId = ci_id; + json.type = type; + json.orgUnitName = orgUnitName; + json.tousseName = tousseName; + json.materialName = materialName; + json.amount = amount;//td显示的数量 + json.tousseAmount = tousseAmount;//材料相对的包数量 + json.app_id = app_id; + json.tousseDefinitionID = tousseDefinitionID; + json.basketGroupBarcodes = basketGroupBarcodes; + json.putBasketMaxAmount = putBasketMaxAmount; + json.invoicePlanVersion = invoicePlanVersion; + + basketElement.prepend($(element)); + basketElement.find("input:first").val(JSON.stringify(json)); + refreshBasketTotalNum(basketElement); +} + +// 刷新对应篮筐的包与材料总数量 +function refreshBasketTotalNum(liElement) { + if (liElement) { + var total = 0; + $(liElement).parents('.basketLi').find('tr').each(function () { + var num = $(this).find('.num').text(); + if (num) { + total += parseInt(num); + } + }); + $(liElement).parents('.basketLi').find('.totalAmount').html(total); + } +} + +//更改颜色 +function setTousseItemLoadedAmountCss(row) { + var loadedAmount = parseInt($('#loadedAmount' + row).val(), 10); + if (loadedAmount == 0) { + $("#showTousseName" + row).removeClass('input-a-yellow'); + } +} + +//删除篮筐中的物品 +function deleteBasketItem(deleteButton) { + var element = $(deleteButton).parents('.basketItemLi'); + var clearfixBox = $(deleteButton).parents('.clearfix'); + var basketItemLi = $(deleteButton).parents('.basketItemLi'); + + var item = JSON.parse(basketItemLi.find('input').val()); + $('#tousseItemTbody').find('tr').each(function (i, element) { + if ($('#tousseDefinitionID' + i).val() == item.tousseDefinitionID) { + var loadedAmount = parseInt($('#loadedAmount' + i).val(), 10); + $('#loadedAmount' + i).val(loadedAmount - 1); + setTousseItemLoadedAmountCss(i); + } + }); + element.remove(); + tousseIntoBasketInfo.remove(item.tousseDefinitionID, item.basketGroupBarcodes); + refreshBasketTotalNum(clearfixBox); +} + +//删除整个篮筐 +function deleteBasket(deleteButton) { + var liElement = $(deleteButton).parents('.basketLi'); + $(liElement).find('.basketItemLi').each(function () { + var hideStr = $(this).find('input').val(); + var hiddenjson = JSON.parse(hideStr); + var tousseDefinitionID = hiddenjson.tousseDefinitionID; + $('#tousseItemTbody').find('tr').each(function (i, element) { + if ($('#tousseDefinitionID' + i).val() == tousseDefinitionID) { + var loadedAmount = parseInt($('#loadedAmount' + i).val(), 10); + $('#loadedAmount' + i).val(loadedAmount - 1); + setTousseItemLoadedAmountCss(i); + } + }); + }); + + $(liElement).remove(); +} + +//添加篮筐 +function addBasketElement(msg) { + var isBasketLoaded = false; + var currentNode; + var basketItem = msg.basket; + $("#basketsUl li").each(function () { + var hide = $(this).find('input'); + var item = JSON.parse(hide.val()); + if (item.barcode == basketItem.containerBarcode) { + isBasketLoaded = true; + currentNode = $(this); + return false; + } + }); + + + if (isBasketLoaded) { + //将篮筐放置在最前面 + $("#basketsUl").prepend(currentNode); + } else { + var showBasketLoadMaterialAmount = sstsConfig.showBasketLoadMaterialAmount; + var imageButton = ''; + if (showBasketLoadMaterialAmount == true) { + imageButton = ''; + } + var basketElement = '
  • '; + basketElement += ''; + basketElement += ''; + basketElement += ''; + basketElement += ''; + basketElement += ''; + basketElement += ''; + basketElement += ''; + basketElement += ''; + basketElement += ''; + basketElement += '
    '; + basketElement += ''; + basketElement += '' + basketItem.containerName + '' + '' + imageButton + ''; + basketElement += ''; + basketElement += '0'; + basketElement += ''; + basketElement += '删除'; + basketElement += '
    '; + basketElement += ''; + basketElement += ''; + + basketElement += ''; + basketElement += '
    '; + basketElement += '
  • '; + var obj = $(basketElement); + $("#basketsUl").prepend(obj); + var json = { + classifyBasketId: basketItem.id, + barcode: basketItem.containerBarcode, + washClassifyType: basketItem.washClassifyType, + basketName: basketItem.containerName + }; + $("#basketsUl li:first").find('input').val(JSON.stringify(json)); + } +} + +// 待装载篮筐视图中的树形菜单伸缩的处理 +function toggleItems(spanElement) { + $(spanElement).toggleClass("minus"); + $(spanElement).parents('.basketLi').find('.tousseTable').toggle(); +} + +/*--------------------------- +功能:停止事件冒泡 +---------------------------*/ +function stopBubble(e) { + //如果提供了事件对象,则这是一个非IE浏览器 + if (e && e.stopPropagation) + //因此它支持W3C的stopPropagation()方法 + e.stopPropagation(); + else + //否则,我们需要使用IE的方式来取消事件冒泡 + window.event.cancelBubble = true; +} +//阻止浏览器的默认行为 +function stopDefault(e) { + //阻止默认浏览器动作(W3C) + if (e && e.preventDefault) + e.preventDefault(); + //IE中阻止函数器默认动作的方式 + else + window.event.returnValue = false; + return false; +} + +//在页面无需将光标定位在输入框相应全局的扫描枪事件 +var barcodeTemp = ''; +var basketBarcode = null; +var tempBasketBarcode = ""; +function showKeyDown() { + if (event.keyCode == 48 || event.keyCode == 96) { + barcodeTemp += '0'; + } else if (event.keyCode == 49 || event.keyCode == 97) { + barcodeTemp += '1'; + } else if (event.keyCode == 50 || event.keyCode == 98) { + barcodeTemp += '2'; + } else if (event.keyCode == 51 || event.keyCode == 99) { + barcodeTemp += '3'; + } else if (event.keyCode == 52 || event.keyCode == 100) { + barcodeTemp += '4'; + } else if (event.keyCode == 53 || event.keyCode == 101) { + barcodeTemp += '5'; + } else if (event.keyCode == 54 || event.keyCode == 102) { + barcodeTemp += '6'; + } else if (event.keyCode == 55 || event.keyCode == 103) { + barcodeTemp += '7'; + } else if (event.keyCode == 56 || event.keyCode == 104) { + barcodeTemp += '8'; + } else if (event.keyCode == 57 || event.keyCode == 105) { + barcodeTemp += '9'; + } else if (event.keyCode == 13) { + if (barcodeTemp !== '') { + loadBarcodeDevice(); + } + } + + stopBubble(event); + stopDefault(event); +} + +// 器械包信息界面保存 +function submitForeignTousseDefinition(applicationId, foreignTousseInfo) { + $.ajax({ + type: 'post', + url: WWWROOT + '/disinfectSystem/foreigntousseapplication/foreignTousseApplicationAction!updateForeignTousseDefiniton.do', + data: { id: applicationId, foreignTousseInfo: foreignTousseInfo }, + dataType: 'json', + success: function (msg) { + alertDiv(msg.message); + }, + error: function (XMLHttpRequest, textStatus, errorThrown) { + alertDiv(textStatus); + } + }); +} + +//扫描篮筐条码 +function loadBarcodeDevice() { + if (barcodeTemp.length >= 9) { + var barcode = barcodeTemp; + barcodeTemp = ''; + $.ajax({ + type: 'get', + url: WWWROOT + '/disinfectSystem/recyclingRecordAction!getBarcodeInfo.do', + dataType: 'json', + data: { + 'barcode': barcode + }, + success: function (msg) { + if (msg.errorMessage != null) { + alertDiv(msg.errorMessage); + } else if (msg.basket != null) { + //不装配的篮筐不能回收扫描 + var containerStatus = msg.basketStatus; + if (containerStatus == "清洗完成" || containerStatus == "清洗中") { + $("#dialogConfirm").dialog({ + resizable: false, + height: 310, + width: 600, + modal: true, + open: function () { + $("#confirmMsg").text("【" + msg.basket.containerName + "】当前状态为【" + containerStatus + "】,还有物品未装配,是否继续使用该篮筐?"); + }, + close: function () { + $("#confirmMsg").text(""); + }, + buttons: { + "是": function () { + addBasketElement(msg); + $(this).dialog("close"); + }, + "否": function () { + $(this).dialog("close"); + } + } + }); + } else { + addBasketElement(msg); + } + } else { + alertDiv('没有找到该条码所对应的信息。'); + } + $("#codeScan").val(""); + }, + error: function () { } + }); + } else { + alertDiv('条码长度不符合规范。'); + barcodeTemp = ''; + } +} + +// 获取已入篮筐的数据 +function getScanedGoods(isCleanedEntirely, materialIsAdd) { + var basketJsonArray = new Array(); + $("#basketsUl li").each(function () { + var hideStr = $(this).find('input').val(); + var hiddenjson = JSON.parse(hideStr); + + var scanedGoodsArray = new Array(); + $(this).find('dl').children().each(function (i, element) { + if ($(this).attr('type') == 'hidden') { + var itemJson = $(this).val(); + var json = JSON.parse(itemJson); + if (json.classifiedItemId == "") { + var type = json.type; + var name = json.tousseName; + if (type == '材料') { + name = json.materialName; + } + scanedGoodsArray.push({ + name: name, + tousseDefinitionID: json.tousseDefinitionID, + tousseName: json.tousseName, + tousseType: json.tousseType, + type: json.type, + amount: json.amount, + idCardBarcode: json.idCardBarcode, + putBasketMaxAmount: json.putBasketMaxAmount + }); + } else if (materialIsAdd) { + var type = json.type; + var name = json.tousseName; + if (type == '材料') { + name = json.materialName; + } + scanedGoodsArray.push({ + name: name, + tousseDefinitionID: json.tousseDefinitionID, + tousseName: json.tousseName, + tousseType: json.tousseType, + type: json.type, + amount: json.amount, + id: json.classifyBasketId, + idCardBarcode: json.idCardBarcode, + putBasketMaxAmount: json.putBasketMaxAmount + }); + } + } + }); + + if (isCleanedEntirely == "是") { + if (sstsConfig.cleanedEntirelyTousseIntoWashClassifyEmptyBasket) { + if (isUndefinedOrNullOrEmpty(hiddenjson.washClassifyType)) { + basketJsonArray.push({ + barcode: hiddenjson.barcode, + name: hiddenjson.basketName, + washClassifyType: hiddenjson.washClassifyType, + scanedGoods: scanedGoodsArray + }); + return false; + } + } else { + basketJsonArray.push({ + barcode: hiddenjson.barcode, + name: hiddenjson.basketName, + washClassifyType: hiddenjson.washClassifyType, + scanedGoods: scanedGoodsArray + }); + return false; + } + } else { + basketJsonArray.push({ + barcode: hiddenjson.barcode, + name: hiddenjson.basketName, + washClassifyType: hiddenjson.washClassifyType, + scanedGoods: scanedGoodsArray + }); + } + }); + return basketJsonArray; +} + +var array = new Array(); + +function addItem(array, itemJson) { + var len = array.length; + var isExist = false; + var hospitalNum = $('#hospitalNum').val(); + var patientName = $('#patientName').text(); + for (var i = 0; i < len; i++) { + if (array[i].app_id == itemJson.app_id) { + if (array[i].tousseJson == null) { + array[i].tousseJson = new Array(); + } + var len2 = array[i].tousseJson.length; + array[i].tousseJson[len2] = itemJson; + isExist = true; + } + } + if (!isExist) { + array[len] = {}; + array[len].app_id = itemJson.app_id; + array[len].errorDamageDetail = ""; + array[len].confirmation = ""; + array[len].quickSecondaryRecyclingForgonTousse = true; + array[len].expressRecycling = false; + array[len].patientName = patientName; + array[len].hospitalNum = hospitalNum; + array[len].invoicePlanVersion = itemJson.invoicePlanVersion; + array[len].tousseJson = new Array(); + array[len].tousseJson[0] = itemJson; + } +} + +//保存验证 +function submitCheck() { + var isThereTousseItems = false; + var isThereRecycleAmountEmpty = false; + + $('#tousseItemTbody').find('tr').each(function (index, element) { + if ($('#loadedAmount' + index).val() != 0) { + isThereTousseItems = true; + if ($('#recycleAmount' + index).val() == '' || parseInt($('#recycleAmount' + index).val(), 10) == 0) { + isThereRecycleAmountEmpty = true; + return false; + } + } + }); + + if (!isThereTousseItems) { + alertDiv('回收记录中至少要有一条所回收器械包信息。'); + return false; + } + + if (isThereRecycleAmountEmpty) { + alertDiv('回收数量不能为空。'); + return false; + } + + array = []; + + $("#basketsUl li").each(function () { + var basketValue = $(this).find('input:first').val(); + var basketJson = JSON.parse(basketValue); + var basketBarcode = basketJson.barcode; + var id = basketJson.classifyBasketId; + $(this).find('.basketItemLi').each(function () { + var itemJson = $(this).find('input:first').val(); + var json = JSON.parse(itemJson); + var obj = {}; + obj.basketBarcode = basketBarcode; + obj.basketId = id; + obj.tousseName = json.tousseName; + obj.amount = json.amount; + obj.itemType = json.type; + obj.tousseNameForMaterial = json.tousseName; + obj.tousseAmountForMaterial = json.tousseAmount; + obj.tousseDefinitionID = json.tousseDefinitionID; + obj.basketGroupBarcodes = json.basketGroupBarcodes; + obj.app_id = json.app_id; + obj.invoicePlanVersion = json.invoicePlanVersion; + addItem(array, obj); + }); + }); + + return true; +} + +function submintApplication(i) { + $.ajax({ + url: WWWROOT + "/disinfectSystem/recyclingRecordAction!saveExpressRecycling.do", + type: "POST", + timeout: 300000, + data: { + params: JSON.stringify(array[i]) + }, + success: function (msg) { + var json = JSON.parse(msg); + + if (!json.success) { + alertDiv(json.msg); + array = []; + return + } + + if (json.versionNotMatch) { + alertDiv(json.message); + } else { + updateProgressBar((i + 1)); + } + } + }); +} + +var maxLen = 0; +function updateProgressBar(val) { + progress(val * (100 / maxLen)); + if (parseInt(val) < maxLen) { + setTimeout("submintApplication(" + parseInt(val) + ")", 50); + } else { + array = new Array(); + setTimeout(function () { + window.location.reload(); + }, 1000); + } +} + +function progress(i) { + progressbar.progressbar("option", { value: i }); +} + +//保存 +function doSaveAction() { + if (submitCheck()) { + alertDiv("保存中,请稍候......", true); + + maxLen = array.length; + submintApplication(0); + } +} + +//取消 +function cancel() { + if (confirm("确认取消吗?")) { + location.href = 'awaitForRecycleList.jsp?resolution=' + resolution + '&source=' + source; + } +} + +//添加器械包 +function addToussItem(itemJson) { + var showTousseName = itemJson.tousseName; + var _index = itemJson.tousseName.indexOf('_'); + if (_index >= 0) { + showTousseName = tousseName.substring(0, _index); + } + var row = itemJson.row; + var serialNumber = itemJson.serialNumber; + var applicationAmount = itemJson.applicationAmount; + var recycleAmount = itemJson.recycleAmount; + var loadedAmount = itemJson.loadedAmount || 0; + var tousseDefinitionID = itemJson.tousseDefinitionID; + var applicationId = itemJson.applicationId; + var isCleanedEntirely = itemJson.isCleanedEntirely || ''; + var invoicePlanVersion = itemJson.invoicePlanVersion || ''; + var departCoding = itemJson.departCoding || ''; + var tousseType = itemJson.tousseType || ''; + var html = ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += '' + serialNumber + ''; + html += ''; + html += ''; + html += '+'; + html += ''; + html += '-'; + html += ''; + html += '入筐'; + html += ''; + + $("#tousseItemTbody").append(html); +} + +//获取外来器械包 +function getAwaitForQuickRecyclingTousse(queryContent) { + $.ajax({ + type: 'post', + url: WWWROOT + '/disinfectSystem/recyclingRecordAction!getAwaitForQuickRecyclingTousse.do', + dataType: 'json', + data: { + 'type': 'quickSecondaryRecyclingForgonTousse', + 'queryContent': queryContent + }, + success: function (msg) { + if (msg.patientInfo) { + var patientName = msg.patientInfo.patientName; + $('#patientName').html(patientName); + $("#tousseItemTbody").html(''); + var expressRecyclingVos = msg.expressRecyclingVos || []; + if (expressRecyclingVos.length > 0) { + for (var i = 0; i < expressRecyclingVos.length; i++) { + var recycleAmount = expressRecyclingVos[i].prepareRecycleAmount; + if (recycleAmount == null || recycleAmount == 0) { + recycleAmount = expressRecyclingVos[i].amount; + } + + var items = { + row: i, + serialNumber: expressRecyclingVos[i].serialNumber, + tousseName: expressRecyclingVos[i].tousseName, + applicationAmount: expressRecyclingVos[i].amount, + recycleAmount: recycleAmount, + loadedAmount: '', + isApplyEntireTousse: expressRecyclingVos[i].isApplyEntireTousse, + isCleanedEntirely: expressRecyclingVos[i].isCleanedEntirely, + tousseType: expressRecyclingVos[i].tousseType, + depart: expressRecyclingVos[i].depart, + departCoding: expressRecyclingVos[i].departCoding, + applicationId: expressRecyclingVos[i].applicationId, + tousseDefinitionID: expressRecyclingVos[i].tousseDefinitionID, + departGroupId: expressRecyclingVos[i].departGroupId, + tousseGroupId: expressRecyclingVos[i].tousseGroupId, + invoicePlanVersion: expressRecyclingVos[i].invoicePlanVersion + } + + addToussItem(items); + } + $('#hospitalNum').val(queryContent) + } + $('#hospitalNumInput').val(''); + } else { + alertDiv(msg.message); + } + } + }); +} + +function onkeydownHospitalNum(that) { + document.onkeydown = null; + if (event.keyCode == 13) { + var hospitalNumInput = $('#hospitalNumInput').val(); + getAwaitForQuickRecyclingTousse(hospitalNumInput) + setTimeout(function () { + document.onkeydown = showKeyDown; + }, 1000); + } +} + +function onblurHospitalNum() { + setTimeout(function () { + document.onkeydown = showKeyDown; + }, 1000); +} + +var hospitalNumInputValue = ''; +$(function () { + document.onkeydown = showKeyDown; + // getAwaitForQuickRecyclingTousse('12345') + + // setTimeout(() => { + // barcodeTemp = '010100069' + // loadBarcodeDevice(); + // }, 1000); + + progressbar = $("#progressbar"); + progressLabel = $(".progress-label"); + progressbar.progressbar({ + value: false, + change: function () { + progressLabel.text(parseInt(progressbar.progressbar("value")) + "%"); + }, + complete: function () { + progressLabel.text("完成!"); + setTimeout(function () { + closeDiv(); + }, 500); + } + }); +})