Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/disinfectionInthaBox.js =================================================================== diff -u -r25392 -r25695 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/disinfectionInthaBox.js (.../disinfectionInthaBox.js) (revision 25392) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/disinfectionInthaBox.js (.../disinfectionInthaBox.js) (revision 25695) @@ -2,7 +2,9 @@ var lock = false; var progressbar = null; var progressLabel= null; - +var tousseArray = new Array(); +var deleteTousseItemArray = new Array(); +var unrecycleTousseItemArray = new Array(); $(function() { progressbar = $("#progressbar"); progressLabel = $(".progress-label"); @@ -214,7 +216,6 @@ }else if(event.keyCode == 13){ loadBarcodeDevice(barcodeTemp); } - stopBubble(event); stopDefault(event); } @@ -353,6 +354,7 @@ }); return { barcode : hiddenjson.barcode, + classifyBasketId : hiddenjson.classifyBasketId, name:hiddenjson.containerName, washClassifyType : hiddenjson.washClassifyType, scanedGoods : scanedGoodsArray @@ -372,23 +374,86 @@ }); return findEl; } -/*** 创建物品入筐*/ +//添加或删除器械包 +function addOrDelTousse(item){ + var basketBarcode = item.basketBarcode; + var basketId = item.basketId; + var classifiedItemId = item.classifiedItemId; + var tousseName = item.tousseName; + var amount = item.amount; + var tousseAmountForMaterial = item.tousseAmountForMaterial; + var itemType = item.itemType; + var tousseNameForMaterial = item.tousseNameForMaterial; + var idCardBarcode = item.idCardBarcode; + var basketGroupBarcodes = item.basketGroupBarcodes; + var length = tousseArray.length; + var sigle = true; + var deleteIndex = []; + for(var i = 0;i < length ; i++){ + var t_basketBarcode = tousseArray[i].basketBarcode; + var t_tousseName = tousseArray[i].tousseName; + var t_amount = tousseArray[i].amount; + var t_tousseNameForMaterial = tousseArray[i].tousseNameForMaterial; + var t_tousseDefinitionID = tousseArray[i].tousseDefinitionID; + var t_idCardBarcode = tousseArray[i].idCardBarcode; + var t_amountForMaterial = tousseArray[i].tousseAmountForMaterial; + var t_basketGroupBarcodes = tousseArray[i].basketGroupBarcodes; + var t_itemType = tousseArray[i].itemType; + if(t_basketBarcode == basketBarcode && itemType == t_itemType && t_tousseName == tousseName && t_tousseDefinitionID == item.tousseDefinitionID && t_idCardBarcode == idCardBarcode){ + if(itemType == '材料' && (tousseNameForMaterial != t_tousseNameForMaterial || basketGroupBarcodes != t_basketGroupBarcodes)){ + continue; + } + tousseArray[i].amount = t_amount + amount; + tousseArray[i].tousseAmountForMaterial = t_amountForMaterial + tousseAmountForMaterial; + tousseArray[i].basketSequence = item.basketSequence; + if(tousseArray[i].amount === 0){ + //如果数量为0,入筐后又移除了 + deleteIndex.push(i); + } + sigle = false; + } + } + for(var i = 0; i < deleteIndex.length;++i){ + tousseArray.splice(deleteIndex[i],1); + } + if(sigle){ + // if(basketBarcode && item.tousseDefinitionID && amount && tousseName && itemType){ + if(basketBarcode){ + //需要保证基本信息是有效的 + var newTousse = { + basketBarcode: basketBarcode, + basketId: basketId, + classifiedItemId: '', + tousseDefinitionID: item.tousseDefinitionID, + tousseName: tousseName, + amount: amount, + tousseAmountForMaterial: tousseAmountForMaterial, + itemType: itemType, + tousseNameForMaterial: tousseNameForMaterial, + idCardBarcode: idCardBarcode, + basketGroupBarcodes: basketGroupBarcodes, + basketSequence: item.basketSequence + }; + tousseArray.push(newTousse); + } + } +} +/*** 创建物品入筐*/ function addBasketItemElement(tousseName,materialName,materialAmount,tousseAmount,tousseDefinitionID,idCardBarcode,putBasketMaxAmount, batchToBasket,materialInstanceId,isImplant,tousseType){ var success = true; var recyclingApplicationId = param_recyclingApplicationId; if(batchToBasket && sstsConfig.enableMaterialWashclasifyInCustomRecycle){ var params = getScanedGoods(); DWREngine.setAsync(false); ////Annie 组合数组 - var putMaterialIntoBasketGood=[{ - materialInstanceId:materialInstanceId, - amount:1, - scanedBasketAnmaterials:'asd', - tousseIntoBasketInfo:'asd', - recyclingApplicationId:1, - }]; - + // var putMaterialIntoBasketGood=[{ + // materialInstanceId:materialInstanceId, + // amount:materialAmount, + // scanedBasketAndMaterials:JSON.stringify(params), + // tousseIntoBasketInfo:JSON.stringify(tousseIntoBasketInfo.getResult()), + // recyclingApplicationId:recyclingApplicationId, + // }]; RecyclingRecordTableManager.putMaterialIntoBasket(materialInstanceId,materialAmount,JSON.stringify(params),JSON.stringify(tousseIntoBasketInfo.getResult()),recyclingApplicationId,function(result){ var jsonObj = JSON.parse(result); @@ -418,26 +483,46 @@ }else{ var params = getFirstBasketScanedGoods(); DWREngine.setAsync(false); - //Annie 组合数组 - var materialInstanceGoood =[{ + var materialInstanceItme =[{ materialInstanceId:materialInstanceId, - scanedBasketAnmaterials:'asd', - tousseIntoBasketInfo:'asd', - recyclingApplicationId:1, - }] - RecyclingRecordTableManager.canAddThisBasketItem(materialInstanceId,JSON.stringify(params),JSON.stringify(tousseIntoBasketInfo.getResult()),recyclingApplicationId,function(result){ - var jsonObj = JSON.parse(result); - - if(!jsonObj.success){ - alertDiv(jsonObj.message); - success = false; - }else{ - success = addItemToThisBasket($("#basketsUl li:first"),tousseName,materialName,materialAmount,tousseAmount, - tousseDefinitionID,idCardBarcode,putBasketMaxAmount,materialInstanceId,isImplant,tousseType); + scanedBasketAndMaterials:params, + tousseIntoBasketInfo:JSON.stringify(tousseIntoBasketInfo.getResult()), + recyclingApplicationId:recyclingApplicationId, + }]; + $.ajax({ + url: WWWROOT + '/disinfectSystem/recyclingRecordAction!canAddThisBasketItem.do', + data:{params:JSON.stringify(materialInstanceItme)}, + type:'get', + success:function(data){ + var jsonObj = JSON.parse(data); + if(jsonObj.success == true){ + success = addItemToThisBasket($("#basketsUl li:first"),tousseName,materialName,materialAmount,tousseAmount, + tousseDefinitionID,idCardBarcode,putBasketMaxAmount,materialInstanceId,isImplant,tousseType); + }else{ + alertDiv(jsonObj.message); + success = false; + } } - }); + }) DWREngine.setAsync(true); } + // var hideElement = $("#basketId"+params[0].barcode); + // var item = JSON.parse(hideElement.val()); + var tousse = { + basketBarcode:params[0].barcode,//篮筐条码 + basketId: params[0].classifyBasketId,//篮筐ID + classifiedItemId: '', + tousseName:materialName, + tousseDefinitionID: tousseDefinitionID, + amount: tousseAmount, + tousseAmountForMaterial: tousseAmount,//annie + itemType: '材料', + tousseNameForMaterial: tousseName, + idCardBarcode: '', // 如果没有标识牌,要把值设为空字符串 + basketGroupBarcodes:params[0].barcode, + basketSequence:0 + } + addOrDelTousse(tousse) return success; } /** @@ -482,10 +567,10 @@ return false; } }); - if(!isExist){ - var element = ''; - element += '
' + showName + '
'; + var element =''; + // element += '
' + showName + '
'; + element += '
'; element += '
' + materialName + '
'; element += '
' + materialAmount + '
'; element += '
删除
'; @@ -574,6 +659,7 @@ } //将器械包放入篮筐中 +var successBack = false; function putMaterialInBasket(row,batchToBasket,thisAmount){ var inputSuccess = false; if($('#basketsUl').children().length > 0){ @@ -583,7 +669,8 @@ var recycleAmount = parseInt($('#recycleAmount'+row).val(),10); var applicationAmount = parseInt($('#applicationAmount'+row).val(),10); var loadedAmount = parseInt($('#loadedAmount'+row).val(),10); - var tousseAmount = parseInt($('#tousseAmount'+row).val(),10); + // var tousseAmount = parseInt($('#tousseAmount'+row).val(),10); + var tousseAmount = applicationAmount; var tousseDefinitionID = $('#tousseDefinitionID'+row).val(); var idCardBarcode = $('#idCardBarcode'+row).val(); var putBasketMaxAmount = $('#putBasketMaxAmount'+row).val(); @@ -600,12 +687,10 @@ var success = addBasketItemElement(tousseName,materialName,insertBasketAmount,tousseAmount,tousseDefinitionID,idCardBarcode, putBasketMaxAmount,batchToBasket,materialInstanceId,isImplant,tousseType); - if(success){ $('#loadedAmount'+row).val(loadedAmount + insertBasketAmount) - if(applicationAmount == parseInt($('#loadedAmount'+row).val(),10)){ - deleteTousseItem(row); + // deleteTousseItem(row); } inputSuccess = true; } @@ -625,6 +710,8 @@ $('#deleted'+row).val('1'); } + + function add(row){ var recycleAmount = parseInt($('#recycleAmount'+row).val(),10); var applicationAmount = parseInt($('#applicationAmount'+row).val(),10); @@ -654,7 +741,7 @@ layerIndex = layer.open({ type : 2, title : ['修改数量',true], - content : 'updateAmount.jsp?resolution='+resolution+'&row='+row, + content : 'updateAmount.jsp?resolution='+1980+'&row='+row, area : [width + 'px' , height + 'px'], border : [5, 0.3, '#fff', true], closeBtn : [2 , true], @@ -718,32 +805,11 @@ var materialInstanceId = materialItem.materialInstanceId; var isImplant = materialItem.isImplant; var tousseType = materialItem.tousseType; + var urgentAmount = materialItem.urgentAmount; if(tousseType==PACKAGE_TYPE_SPLIT|| tousseType==PACKAGE_TYPE_FOREIGN){ hasForeignTousse = true; } - // var trElement = $(''+ - // ''+ - // ''+ - // '' + - // ''+ - // '' + - // ''+ - // ''+ - // ''+ - // ''+ - // ''+ - // '' + idCardBarcode + '' + - // '' + tousseName + '' + - // ''+ - // ''+ - // '+'+ - // ''+ - // '-'+ - // ''+ - // '入筐'+ - // ''); - //Annie 改 var trElement = $(''+ ''+ @@ -756,15 +822,15 @@ ''+ ''+ ''+ - // '' + idCardBarcode + '' + - // '' + tousseName + '' + - ''+ + ''+ + ''+ ''+ '+'+ ''+ '-'+ ''+ '入筐'+ + '删除'+ ''); $("#tousseItemTable").append(trElement); return true; @@ -775,116 +841,568 @@ $(spanElement).toggleClass("minus"); $(spanElement).nextAll('.sed').toggle(); } - +/** + * 判断tousseItem表是否是空的。删除的项不算在内 + */ +function isTousseItemTableEmpty(){ + var isEmpty = true; + $("#tousseItemTable > tbody > tr").each(function() { + var style = $(this).attr("style"); + if (style != 'display: none;'){ + isEmpty = false; + return false; + } + }); + return isEmpty; +} +/** + * 验证加急数量是否大于回收数量。如果加急数量大于回收数量,返回true,否则返回false + * @param row + */ +function validateUrgentAmount(row,recycleAmount){ + var urgentAmount = $('#urgentAmount'+row).val() == ''?0:parseInt($('#urgentAmount'+row).val(),10); + if(urgentAmount > recycleAmount){ + alertDiv('回收数量不能小于加急数量'); + return true; + } + return false; +} +/** + * 显示回收物品清单 + */ +function showRecyclingDetail(recyclingItems,confirmCallback){ + if(recyclingItems && recyclingItems.length > 0){ + var tdStyle = 'font-size:28px;text-align:center;'; + var tdLeftStyle = 'font-size:28px;text-align:left;'; + var tdRightStyle = 'font-size:28px;text-align:right;'; + var seqWidth = '70px;', nameWidth = '570px;',amoutWidth='140px;'; + var table = ''; + for(var i = 0; i < recyclingItems.length;++i){ + var recyclingItem = recyclingItems[i]; + table += ''; + } + table += '
回收物品清单
序号器械包回收数量
'+(i+1)+''+recyclingItem.tousseName+''+recyclingItem.recyclingAmount+'
'; + var html = '
'+table+'
'; + $(html).dialog({ + maxHeight: 600, + width: 800, + modal:true, + buttons: { + '保存':function(){ + if(confirmCallback){ + confirmCallback(); + } + $(this).dialog( "close" ); + }, + '取消': function() { + $(this).dialog( "close" ); + } + } + }); + } +} function submitCheck(){ - var isThereRecycleAmountEmpty = false; + var isThereTousseItems = false; + var isAllTousseInTheBasket = true; + var urgentAmountError = false; + var recyclingRecordId = $('#recyclingApplicationId').val(); + if (isTousseItemTableEmpty() && recyclingRecordId == ''){ + alert("空白的回收单不能保存!"); + return false; + } + var isEmptyFormSubmit = true; $('#tousseItemTable').children().first().children().each(function(index,element){ if($('#deleted'+index).val() == '0'){ - isThereRecycleAmountEmpty = true; - return false; + isThereTousseItems = true; + + var tousseType = $('#tousseType'+index).val(); + var recyclingAmount = parseInt($('#recycleAmount'+index).val(),10); + var loadedAmount = parseInt($('#loadedAmount'+index).val(),10); + + if(loadedAmount > 0 && recyclingAmount > loadedAmount){ + isAllTousseInTheBasket = false; + return false; + } + + if(loadedAmount > 0){ + isEmptyFormSubmit = false; + } + if(validateUrgentAmount(index,recyclingAmount)){ + highlightExistTousseItem(index); + urgentAmountError = true; + return false; + } + + //标识牌丢失验证 + var isIDCard = $('#isThereIdentificationCard'+index).val(); + if(isIDCard == '是'){ + var recyclingErrorJsonArrayStr = $('#recyclingError'+index).val(); + if(!isUndefinedOrNullOrEmpty(recyclingErrorJsonArrayStr)){ + var recyclingErrorJsonArray = JSON.parse(recyclingErrorJsonArrayStr); + for(var j = 0;j < recyclingErrorJsonArray.length;j++) { + if(recyclingErrorJsonArray[j].materialName == '器械包标识牌'){ + var errorType = recyclingErrorJsonArray[j].errorType; + var errorAmount = recyclingErrorJsonArray[j].amount; + var intoBasketAmount = recyclingErrorJsonArray[j].intoBasketAmount; + if(errorType == '缺失' && errorAmount != intoBasketAmount){ + isAllTousseInTheBasket = false; + } + break; + } + } + } + } } }); - if(isThereRecycleAmountEmpty){ - alertDiv('还有物品未入筐,请全部入筐后再保存!'); + + if(!isAllTousseInTheBasket){ + alertDiv('部分器械包回收数量大于装载数量,不能保存。'); return false; } + if(urgentAmountError){ + return false; + } + if(isEmptyFormSubmit){ + alertDiv("不能保存空的回收单!"); + return false; + } + // //验证清点人是否为空(前提为配置清点人强制不能为空,默认为允许为空) + // if(sstsConfig.recyclePageOperatorNotNull == true && $("#operator").val() == ''){ + // alertDiv('清点人不能为空,请扫描清点人条码。'); + // return false; + // } + + //验证清点人是否为空(前提为配置清点人强制不能为空) + // if(sstsConfig.recyclePageRecyclingUserNotNull == true && $("#recyclingUser").val() == ''){ + // alertDiv('回收人不能为空,请扫描回收人条码。'); + // return false; + // } return true; } +/* +function submitCheck(){ + var isThereRecycleAmountEmpty = false; + // $('#tousseItemTable').children().first().children().each(function(index,element){ + // if($('#deleted'+index).val() == '0'){ + // isThereRecycleAmountEmpty = true; + // return false; + // } + // }); + // if(isThereRecycleAmountEmpty){ + // alertDiv('还有物品未入筐,请全部入筐后再保存!'); + // return false; + // } + return true; +} +*/ var btSave=false; + +//保存 +/** + * 获取此次回收的数据. + * @param confirmation + * @returns + */ +function getJsonParams(confirmation){ + var paramJson = {}; + paramJson.tousseJson = tousseArray; + paramJson.delToussItems = deleteTousseItemArray; + paramJson.unrecycleTousseItemArray = unrecycleTousseItemArray; + paramJson.tousseIntoBasketInfo = getTousseIntoBasketInfo(); + paramJson.errorDamageDetail = getMaterialErrorDamageDetail(); + paramJson.urgentTousseItems = getUrgentTousseItems(); + paramJson.confirmation = confirmation; + paramJson.tally = false; + paramJson.recyclingItemArray = getRecyclingItemInfo(); + return JSON.stringify(paramJson); +} +/** + * 获取左边的回收的信息. + * @returns {Array} + */ +function getRecyclingItemInfo(){ + var recyclingItemJsonArray = new Array(); + $('#tousseItemTable').children().first().children().each(function(index,element){ + if($('#deleted'+index).val() == '0'){ + var tousseName = $('#tousseName'+index).val(); + var recycleAmount = $('#recycleAmount'+index).val(); + var tousseDefinitionID = $('#tousseDefinitionID'+index).val(); + var tousseRemark = $('#tousseRemark'+index).val(); + var errorRemark = $('#hiddenErrorRemark'+index).val(); + var damageRemark = $('#hiddenDamageRemark'+index).val(); + var urgentLevel = $('#urgentLevel'+index).val(); + var errorDamageQmKey = $('#hiddenErrorDamageQmKey'+index).val(); + var loadedAmount =$('#loadedAmount'+index).val(); + var tousseOrIDCardInstanceBarcodes = $('#tousseOrIDCardInstanceBarcodes'+index).val(); + recyclingItemJsonArray.push({ + tousseName:tousseName, + recycleAmount:recycleAmount, + loadedAmount:loadedAmount,//Annie + tousseDefinitionID:tousseDefinitionID, + tousseRemark:'', + errorRemark:'', + damageRemark:'', + urgentLevel:'', + errorDamageQmKey:'', + tousseOrIDCardInstanceBarcodes:'' + }); + } + }); + + return recyclingItemJsonArray; +} +function getTousseIntoBasketInfo(){ + tousseIntoBasketInfo.clear(); + $("#basketsUl li").each(function(){ + var hide = $(this).find('input:first'); + var basketItem = JSON.parse(hide.val()); + + $(this).find('dl').children().each(function(i,element){ + if($(this).attr('type') == 'hidden'){ + var obj = $(this).val(); + var tousseItem = JSON.parse(obj); + tousseIntoBasketInfo.addTousseBasket(tousseItem,basketItem); + } + }); + }); + return tousseIntoBasketInfo.getResult(); +} +/** + * 获取回收误差信息,拼成字符串传到后台 + */ +function getMaterialErrorDamageDetail() { + var errorJsonArray = new Array(); + $('#tousseItemTable').children().first().children().each(function(i,element){ + if(!isUndefinedOrNullOrEmpty($('#recyclingError'+i).val())){ + var recyclingItemErrorJsonStr = $('#recyclingError'+i).val(); + if(!isUndefinedOrNullOrEmpty(recyclingItemErrorJsonStr)){ + var jsonArray = JSON.parse(recyclingItemErrorJsonStr); + for(var j = 0;j < jsonArray.length ; j++){ + jsonArray[j].itemType = '回收误差'; + errorJsonArray.push(jsonArray[j]); + } + } + } + var recyclingItemDamageJsonStr = $('#recyclingDamage'+i).val(); + if(!isUndefinedOrNullOrEmpty(recyclingItemDamageJsonStr)){ + var jsonArray = JSON.parse(recyclingItemDamageJsonStr); + for(var j = 0;j < jsonArray.length ; j++){ + jsonArray[j].itemType = '器械报损'; + errorJsonArray.push(jsonArray[j]); + } + } + }); + return errorJsonArray; +} +/** + * 加急物品 + */ +function getUrgentTousseItems(){ + var urgentItemJsonArray = new Array(); + $('#tousseItemTable').children().first().children().each(function(index,element){ + if($('#deleted'+index).val() == '0'){ + var tousseName = $('#tousseName'+index).val(); + var tousseDefinitionID = $('#tousseDefinitionID'+index).val(); + var originalUrgentAmount = parseInt($('#originalUrgentAmount'+index).val(),10); + var urgentAmount = parseInt($('#urgentAmount'+index).val(),10); + var tousseItemId = $('#tousseItemId'+index).val(); + //已保存的tousseItem不能再修改 + // if(tousseItemId == ""){ + // urgentItemJsonArray.push({ + // tousseName:tousseName, + // tousseDefinitionID:tousseDefinitionID, + // urgentAmount:urgentAmount + // }); + // } + //接口未返回 tousseItemId + if(tousseItemId == undefined){ + urgentItemJsonArray.push({ + tousseName:tousseName, + tousseDefinitionID:tousseDefinitionID, + urgentAmount:urgentAmount + }); + } + } + }); + return urgentItemJsonArray; +} function doSaveAction(){ + submitFunction(false,false,false,false); +} +function submitFunction(confirmation,saveAndNew,print,recyclingAmountConfirm){ if(submitCheck()){ - var array = new Array(); - $("#basketsUl").children().each(function(){ - var id = null; - var basketBarcode = null; - var containerName = null; - var washClassifyType = null; - var sequence = null; - var classifiedItemsInfo = {}; - $(this).children().each(function(){ - if($(this).is('input') && $(this).attr('type') == 'hidden'){ - var baskethideStr = $(this).val(); - var basketJson = JSON.parse(baskethideStr); - basketBarcode = basketJson.barcode; - id = basketJson.classifyBasketId; - containerName = basketJson.containerName; - washClassifyType = basketJson.washClassifyType; - sequence = basketJson.sequence; - }else if($(this).is('dl')){ - $(this).children().each(function(i,element){ - if($(this).attr('type') == 'hidden'){ - var itemJson = $(this).val(); - var json = JSON.parse(itemJson); - var obj = {}; - obj.basketBarcode = basketBarcode; - obj.containerName = containerName; - obj.washClassifyType = washClassifyType; - obj.sequence = sequence; - obj.basketId = id; - obj.materialName = json.materialName; - obj.materialAmount = json.amount; - obj.tousseName = json.tousseName; - obj.tousseAmountForMaterial = json.tousseAmount; - obj.tousseDefinitionID = json.tousseDefinitionID; - obj.idCardBarcode = json.idCardBarcode; - obj.putBasketMaxAmount = json.putBasketMaxAmount; - var isExist = false; - var len = array.length; - for(var j = 0;j < len;j++){ - if(array[j].tousseDefinitionID == json.tousseDefinitionID){ - isExist = true; - var materials = array[j].materials; - if(materials == null){ - materials = new Array(); - } - var m_len = materials.length; - var idCardIsExist = false; - for(var n = 0 ; n < m_len ; n++){ - if(materials[n].idCardBarcode == json.idCardBarcode){ - idCardIsExist = true; - } - } - if(!idCardIsExist){ - array[j].recycleAmount = (parseInt(array[j].recycleAmount) + parseInt(json.tousseAmount)); - } - materials[m_len] = obj; - } - } - if(!isExist){ - array[len] = {}; - array[len].tousseDefinitionID = json.tousseDefinitionID; - array[len].tousseName = json.tousseName; - array[len].tousseType = json.tousseType; - array[len].recycleAmount = json.tousseAmount; - array[len].idCardBarcode = json.idCardBarcode; - array[len].materials = new Array(); - array[len].materials[0] = obj; - } - } - }); + //回收物品清单 + var recyclingTousses = []; + var isPartIntheBasket = false; + $('#tousseItemTable').children().first().children().each(function(index,element){ + if($('#deleted'+index).val() == '0'){ + var tousseName = $('#tousseName'+index).val(); + // var tousseName = $('#showTousseName'+index).val(); + var recyclingAmount = parseInt($('#recycleAmount'+index).val(),10); + var loadedAmount = parseInt($('#loadedAmount'+index).val(),10); + if(recyclingAmount > 0){ + //有回收,那加入回收物品清单 + recyclingTousses.push({tousseName:tousseName,recyclingAmount:recyclingAmount}); } - }); + if(recyclingAmount > loadedAmount){ + isPartIntheBasket = true; + return false; + } + } }); - window.opener.customIntoBasketFun(array); - window.close(); + //部分入筐提示 + if(isPartIntheBasket){ + if(sstsConfig.enablePartRecycle == true){ + dialogConfirm("还有部分器械包未装入篮筐,是否继续保存?",function(){ + if(sstsConfig.showRecyclingDetail && recyclingTousses.length > 0){ + showRecyclingDetail(recyclingTousses,function(){ + checkAutoReturnBorrowing(confirmation,saveAndNew,print,recyclingAmountConfirm); + }); + }else{ + checkAutoReturnBorrowing(confirmation,saveAndNew,print,recyclingAmountConfirm); + } + }); + }else{ + alertDiv('还有部分器械包未装入容器,不能保存。'); + } + }else{ + if(sstsConfig.showRecyclingDetail && recyclingTousses.length > 0){ + showRecyclingDetail(recyclingTousses,function(){ + checkAutoReturnBorrowing(confirmation,saveAndNew,print,recyclingAmountConfirm); + }); + }else{ + checkAutoReturnBorrowing(confirmation,saveAndNew,print,recyclingAmountConfirm); + } + } } } +/** + * 检查是否有未归还的器械包,如果有,那就提示. + * @param confirmation 确认回收记录操作 + * @param saveAndNew 保存并新建回收记录操作 + * @param print 保存并打印回收记录操作 + */ +var params_id; +//添加或删除器械包 +function checkAutoReturnBorrowing(confirmation,saveAndNew,print,recyclingAmountConfirm){ + //除申请还物单、自定义器械申请单、外来器械申请单、历史回收记录等可以直接提交外,其它类型的单回收都需要判断是否有物品要归还,包括手动添加回收申请单、科室申领添加的申请单、使用记录转换的申请单等都需要判断是否需要自动归还 + if(!isUndefinedOrNullOrEmpty(params_id)){ + submitFormFunction(confirmation,saveAndNew,false,print,recyclingAmountConfirm); + return; + } + var tousseNames = []; + for(var i = 0; i < tousseArray.length;++i){ + if(parseInt(tousseArray[i].amount) > 0){ + if(tousseArray[i].itemType == '材料'){ + tousseNames.push(tousseArray[i].tousseNameForMaterial); + }else{ + tousseNames.push(tousseArray[i].tousseName); + } + } + } + // var departCode = document.getElementById('departCode').value; + // // var departCode = ''; + var borrowApplicationInfo = null; + // DWREngine.setAsync(false); + // RecyclingApplicationTableManager.getUnReturnBorrowApplication(params_appId , departCode,tousseNames.join(';'),function(datesOfTousseLease){ + // borrowApplicationInfo = datesOfTousseLease; + // }); + // DWREngine.setAsync(true); + if(borrowApplicationInfo){ + // var borrowApplicationInfoJson = JSON.parse(borrowApplicationInfo); + // var borrowTimes = borrowApplicationInfoJson.borrowTimes; + // var tousseLeaseAmount = borrowTimes.split(';').length; + // + // var confirmMessage = '您有'+tousseLeaseAmount+'张申请日期为'+borrowTimes+'的借物单的以下物品未归还,是否申请归还?'; + // var tdStyle = 'font-size:28px;text-align:center;'; + // var nameWidth = '440px;',taskGroupWidth='200px;',amoutWidth='140px;'; + // var table = ''; + // for(var i = 0; i < borrowApplicationInfoJson.tousseData.length;++i){ + // var tousseData = borrowApplicationInfoJson.tousseData[i]; + // table += ''; + // } + // table += '
'+ confirmMessage +'
器械包数量
'+tousseData.tousseName+''+tousseData.amount+'
'; + // var html = '
'+table+'
'; + dialogConfirm(html,function(){ + submitFormFunction(confirmation,saveAndNew,true,print,recyclingAmountConfirm); + },function(){ + submitFormFunction(confirmation,saveAndNew,false,print,recyclingAmountConfirm); + },800 , 500); + }else{ + submitFormFunction(confirmation,saveAndNew,false,print,recyclingAmountConfirm); + } +} +/** + * 提交回收记录. + * @param confirmation 确认回收记录操作 + * @param saveAndNew 保存并新建回收记录操作 + * @param autoReturnTheBorrowingTousse 自动归还借物单 + * @param print 保存并打印回收记录操作 + * Annie 如果tally为true是清点确认 否则就是false + */ +function submitFormFunction(confirmation,saveAndNew,autoReturnTheBorrowingTousse,print,recyclingAmountConfirm,IntheBoxState){ + alertDiv("保存中,请稍候......", true); + var jsonStr = getJsonParams(confirmation); + var jSONe= JSON.parse(jsonStr) + if(IntheBoxState == true){ + jSONe.tally = true; + }else{ + jSONe.tally = false; + } + var id = document.getElementById('id').value; + var app_id = document.getElementById('recyclingApplicationId').value; + var departCode = document.getElementById('departCode').value; + var recyclingUser = document.getElementById('recyclingUser').value; + var operator = document.getElementById('operator').value; + var depart = document.getElementById('depart').value; + var recyclingTime = document.getElementById('recyclingTime').value; + var recyclingUserDefault = true; + if(sstsConfig.hasOwnProperty('recyclingUserDefault') && !sstsConfig.recyclingUserDefault){ + recyclingUserDefault = false; + } + $.ajax({ + url : WWWROOT + "/disinfectSystem/recyclingRecordAction!saveRecyclingRecord.do", + type : "POST", + timeout : 300000, + dataType :'json', + data : { + jsonParam : "" + JSON.stringify(jSONe) + "", + id : id, + recyclingApplicationId : app_id, + invoicePlanVersion : $("#invoicePlanVersion").val(), + departCode : departCode, + recyclingUser : recyclingUser, + operator : operator, + depart : depart, + recyclingTime : recyclingTime, + recyclingUserDefault : recyclingUserDefault, + autoReturnTheBorrowingTousse : autoReturnTheBorrowingTousse, + recyclingAmountConfirm:recyclingAmountConfirm, + remark:$('#remarkText').text(), + communicationUserName:$('#communicationUserName').val(), + communicationUserCode:$('#communicationUserCode').val(), + needPrint : print + }, + success : function(result) { + if(result.success){ + if(print && result.recyclingPrintData && result.recyclingPrintData.length > 0){ + printRecyclingDetail(result.recyclingPrintData); + } + alertDiv(result.message, true); + setTimeout("closeDiv()",1200); + + var voluntarilyUrgentItems = result.voluntarilyUrgentItems; + var voluntarilyUrgentItemsString = ''; + if (sstsConfig.enableTousseVoluntarilyUrgent && + voluntarilyUrgentItems && voluntarilyUrgentItems.length > 0) { + voluntarilyUrgentItemsString = JSON.stringify(voluntarilyUrgentItems); + } + if(saveAndNew){ + location.href = "disinfectionInthaBox.jsp?resolution=" + 1908 + "&rememberRecycleUser=" + rememberRecycleUser; + }else{ + location.href = "awaitForRecycleList.jsp?resolution=" + 1908 + "&voluntarilyUrgentItems=" + voluntarilyUrgentItemsString; + } + }else{ + if(result.versionNotMatch){ + closeDiv(); + layer.open({ + type: 1, + content: '' + result.message + '', //这里content是一个普通的String + btn: ['关闭','关闭并刷新'], + area: ['600px', '400px'], + btnAlign: 'c', + btn2:function(){ + refresh(); + } + }); + }else{ + alertDiv(result.message); + } + + } + }, + error: function(x, t, m) { + closeDiv(); + if(t == "timeout") { + alert("提交超时,请重试"); + } else { + alert(t); + } + } + }); +} function cancel() { window.close(); } +/*Annie 删除*/ +function deleteTousseItems(row){ + $('#tousseItemsTr'+row).hide(); + $('#deleted'+row).val('1'); + var tousseName = $('#tousseName'+row).val(); + var amountLeft = parseInt($('#loadedAmount'+row).val(),10); + var tousseDefinitionID = parseInt($('#tousseDefinitionID'+row).val(),10); + var tousse = { + tousseDefinitionID: tousseDefinitionID, + tousseName: tousseName, + amount: amountLeft + } + deleteTousseItemArray.push(tousse); + //移除篮筐内物品 + $("#basketsUl li").each(function(){ + var jsonObj = null; + $(this).find('dl').children().each(function(i,element){ + if($(this).attr('type') == 'hidden'){ + var obj = $(this).val(); + jsonObj = JSON.parse(obj); + }else if($(this).attr('class') == 'del'){ + if(jsonObj.tousseName == tousseName){ + var deleteButton = $(this).find('a'); + deleteBasketItem(deleteButton); + } + } + }); + }); + var depart = $('#depart').val(); + var recyclingTime = $('#recyclingTime').val(); + var applicationAmount = $('#applicationAmount'+row).val(); + var description = "ID=" + params_appId + ",科室[" + depart + "]的申请单在" + recyclingTime + "回收时删除[" + tousseName + "]" + applicationAmount + "个"; + //日志记录 + $.ajax({ + type:'get', + url : WWWROOT + '/log/saveLog.do', + data:'model=' + encodeURI("回收模块") + '&type=D&description=' + encodeURI(description), + dataType:'text', + success:function(msg){ + }, + error:function(msg){ + } + }); + return true; +} +function deleteConfirm(confirmMsg,actionFunction,row,deleteButton,basketBarcode,basketId){ + if(actionFunction == 'deleteTousse'){//删器械包 + deleteTousseItems(row); + }else if(actionFunction == 'deleteBasketItem'){//删篮筐内物品 + deleteTousseItems(deleteButton); + }else if(actionFunction == 'deleteBasket'){//删篮筐 + deleteBasket(deleteButton,basketBarcode,basketId); + } + refreshSplitBasketView(); + refreshAllBasketTotalNum(); + $(this).dialog("close"); +} //一键入筐 function allInputBasket(){ $('#tousseItemTable').children().first().children().each(function(row,element){ if($('#deleted'+row).val() == '0'){ var amount = parseInt($('#recycleAmount'+row).val(),10) - parseInt($('#loadedAmount'+row).val(),10); - if(amount > 0){ putMaterialInBasket(row,true); //var success = putMaterialInBasket(row); //if(!success){ - //return false; + //return false; //} } } @@ -904,34 +1422,6 @@ $("#allIntoBasket").css('visibility','hidden');//元素隐藏,需要显示,否则拆分信息显示的位置会不对 } } -/* -function loadItem() { - initConfigControl(); - tousseIntoBasketInfo.parseJson(param_tousseIntoBasketInfo); - $("#tousseItemTable").empty(); - $("#basketsUl").empty(); - document.onkeydown = showKeyDown; - $.ajax({ - type : 'post', - url : encodeURI(WWWROOT + '/disinfectSystem/recyclingRecordAction!loadUnCleanedEntirelyMaterial.do?data=' + param_data), - dataType : 'json', - success : function(result) { - if(result && result.success){ - for ( var i = 0; i < result.data.length; i++) { - var materialAmount = result.data[i].amount; - if(materialAmount <= 0){ - continue; - } - addWaitRecycleMaterialItem(i,result.data[i]); - } - } - updateSplitInfo(); - }, - error : function() { - } - }); -} -*/ function encodeAll(text) { var encoded = encodeURI(text); @@ -951,7 +1441,6 @@ } } function sortBasket(){ -// $("#basketsUl").prepend($("#basketsUl li.otherBasket"));//其实不需要,因为把植入物跟空篮筐都排前后,剩下的自然就在最后面了 $("#basketsUl").prepend($("#basketsUl li.containImplantBasket")); $("#basketsUl").prepend($("#basketsUl li.emptyBasket")); } Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/disinfectionInthaBox.jsp =================================================================== diff -u -r25392 -r25695 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/disinfectionInthaBox.jsp (.../disinfectionInthaBox.jsp) (revision 25392) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/disinfectionInthaBox.jsp (.../disinfectionInthaBox.jsp) (revision 25695) @@ -18,6 +18,7 @@ 消毒供应中心质量追溯管理系统 + @@ -33,6 +34,7 @@ <%----%> + <%----%> @@ -55,9 +57,7 @@ @@ -92,6 +92,16 @@ overflow:hidden; margin: 0px; } + .zhuangzai-table .list-item .tousseName{ + width:0; + } + .zhuangzai-table .list-item .materialName{ + width:395px; + } + .mbody .btn-h,.mbody .btn-h:hover{ + margin-top:285px; + display:inline-block; + }