Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js
===================================================================
diff -u -r28406 -r28468
--- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 28406)
+++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 28468)
@@ -1,4 +1,7 @@
var tousseArray = new Array();
+var splitTousseArray = new Array();
+var splitTousseArray2 = new Array();
+var newSplitTousseArray = new Array();
var deleteTousseItemArray = new Array();
// 科室绑定的篮筐的条码数组
var departBindingBasketBarcodes = [];
@@ -9,6 +12,109 @@
* 不回收的器械包的集合。这个是由绑定带出来的器械包,并且不回收,在回收这里本来是不做处理的。现在要能修改原来的申请数量,相关的还有装配任务
*/
var unrecycleTousseItemArray = new Array();
+
+//弹出不同申请科室或者不同资产归属的器械包
+function loadApplicationTousseSplitByOrgUnit(){
+ $.ajax({
+ type : "post",
+ url : WWWROOT + '/disinfectSystem/recyclingRecordAction!loadApplicationTousseSplitByOrgUnit.do',
+ data:{
+ recyclingRecordId:params_appId
+ },
+ dataType:'json',
+ success:function(result){
+ if(result.success){
+ if(result.data.length > 0){
+ var data = result.data;
+ splitTousseArray2 = data;
+ var table = '';
+ var name = (sstsConfig.methodOfSplitRecyclingApplication == 2)?'资产归属':'所属科室';
+ table += '
';
+ table += '';
+ table += '物品名称 | 数量 | '+name+' |
';
+ table += '';
+ table += '';
+ for(var i=0;i';
+ table += ''+data[i].tousseName+' | '+data[i].amount+' | '+data[i].depart+' | ';
+ table += '';
+ }
+ table += '';
+ table += '
';
+ layer.open({
+ type: 1,
+ skin: 'layui-layer-rim', //加上边框
+ area: ['500px', '400px'], //宽高
+ shade:0,
+ title:'该申请单中以下物品不属于当前回收科室:',
+ content: table
+ });
+ }
+ }
+ }
+ })
+}
+//打开不同申请科室或者不同资产归属的器械包
+function openApplicationTousseSplitByOrgUnit(newTousseArray,tousseArray){
+ var table = '该申请单中以下物品不属于当前回收科室(回收科室名称),请确认是否拆单回收:
';
+ var name = (sstsConfig.methodOfSplitRecyclingApplication == 2)?'资产归属':'所属科室';
+ table += '
';
+ table += '';
+ layer.open({
+ type: 1,
+ skin: 'layui-layer-rim', //加上边框
+ area: ['500px', '400px'], //宽高
+ title:'拆单回收',
+ content: table,
+ success:function(){
+ //保存不同申请科室或者不同资产归属的器械包
+ document.getElementById('saveApplicationTousseSplitByOrgUnit').addEventListener('click',function(){
+ var k=0;
+ var splitTousseArray = [];
+ $('.saveTousseTable').find('.isSplit').each(function(item){
+ var isSplit = $(this).find('input:checked').val();
+ var tousseName = $(this).parent().find('td').eq(0).text();
+ var amount = parseInt($(this).parent().find('td').eq(1).text());
+ var depart = $(this).parent().find('td').eq(2).text();
+ if(isSplit == 'true'){
+ splitTousseArray[k] = {
+ isSplit:isSplit,
+ tousseName:tousseName,
+ amount:amount,
+ depart:depart
+ }
+ for(var j=0;j= 0){
+ if(json.barcode == basketBarcode){
basketElement = $(this).find("dl");
basketHidenValue = hideStr;
@@ -1189,7 +1284,7 @@
});
}
-function createBasketUiElement(basketBarcode,classifyBasketId,basketName,washClassifyType,sequence){
+function createBasketUiElement(basketBarcode,classifyBasketId,basketName,washClassifyType,sequence,isIdCard){
var basketElement = '';
basketElement += '';
basketElement += '';
@@ -1209,7 +1304,7 @@
basketElement += '';
var obj = $(basketElement);
$("#basketsUl").prepend(obj);
- var json = getBasketJSON(classifyBasketId,basketBarcode,washClassifyType,sequence,basketName);
+ var json = getBasketJSON(classifyBasketId,basketBarcode,washClassifyType,sequence,basketName,isIdCard);
$("#basketsUl li:first").find('input').val(json);
toggleItems(obj.find('span')[0]);
}
@@ -1226,7 +1321,8 @@
}
}
}
-function addBasketElement(basketItem){
+function addBasketElement(basketItem,isIdCard){
+ isIdCard = isIdCard || false;
var currentNode;
var isBasketLoaded = false;
$("#basketsUl li").each(function(){
@@ -1244,7 +1340,7 @@
$("#basketsUl").prepend(currentNode);
// toggleItems(currentNode.find('span')[1]);
}else{
- createBasketUiElement(basketItem.containerBarcode,basketItem.id,basketItem.containerName,basketItem.washClassifyType);
+ createBasketUiElement(basketItem.containerBarcode,basketItem.id,basketItem.containerName,basketItem.washClassifyType,undefined,isIdCard);
}
$("#scanContainerBarcodeTipUl").hide();
}
@@ -1627,7 +1723,7 @@
alertDiv("【"+idCardClassifyBasket.containerName + "】当前状态为【" + idCardClassifyBasket.containerStatus + "】,还有物品未装配");
return false;
}else{
- addBasketElement(idCardClassifyBasket);
+ addBasketElement(idCardClassifyBasket,true);
}
}
var basketHideStr = $("#basketsUl li:first").find('input').val();
@@ -2361,13 +2457,14 @@
}
}
-function getBasketJSON(itemId,barcode,washClassifyType,sequence,basketName){
+function getBasketJSON(itemId,barcode,washClassifyType,sequence,basketName,isIdCard){
var json = {};
json.classifyBasketId = itemId;
json.barcode = barcode;
json.washClassifyType = washClassifyType;
json.sequence = sequence;
json.basketName = basketName;
+ json.isIdCard = isIdCard;
return JSON.stringify(json);
}
@@ -2473,7 +2570,7 @@
* @param idCardBarcode
* @returns {Number}
*/
-function tousseIntoBasketFunction(tousseInstanceId,tousseDefinitionID,tousseName,recycleAmount,isCleanedEntirely,orgUnitName,idCardBarcode,tousseInstanceBarcode,tousseType,row){
+function tousseIntoBasketFunction(tousseInstanceId,tousseDefinitionID,tousseName,recycleAmount,isCleanedEntirely,orgUnitName,idCardBarcode,tousseInstanceBarcode,tousseType,row,isIDCard){
var params = getScanedGoods(isCleanedEntirely);
newAmount = 0;
if(params.length <=0){
@@ -2528,7 +2625,7 @@
var amountSum = 0;
if(isCleanedEntirely == '否'){
var tousseAmount = 0;
- $('dl[class="sed clearfix"]').each(function(){
+ $('dl[class="sed clearfix"]').eq(0).each(function(){
var basketEle = $(this).prev().prev().prev().prev().prev().val();
var basketJSON = JSON.parse(basketEle);
$(this).children().each(function(){
@@ -2537,38 +2634,21 @@
if(!isUndefinedOrNullOrEmpty(hideValue)){
var obj = JSON.parse(hideValue);
if(obj.tousseName == tousseName){
- var amount = obj.amount/obj.tousseAmount;
var delButton = $(this).next().next().next().next().find('a');
- obj.tousseAmount = obj.tousseAmount + recycleAmount;
- obj.amount = obj.tousseAmount*amount;
- tousseAmount = obj.tousseAmount;
- $(this).val(JSON.stringify(obj));
- $(this).next().next().next().html(obj.amount);
- var hideElement = $(delButton).parent().prev().prev().prev().prev();
- var item = JSON.parse(hideElement.val());
- var tousse = {
- basketBarcode: basketJSON.barcode,
- basketId: basketJSON.classifyBasketId,
- classifiedItemId:'',
- tousseName: item.materialName,
- tousseDefinitionID: item.tousseDefinitionID,
- amount: parseInt(recycleAmount*amount),
- tousseAmountForMaterial: parseInt(recycleAmount),
- itemType: item.type,
- tousseNameForMaterial: item.tousseName,
- idCardBarcode: item.idCardBarcode,
- basketGroupBarcodes:item.basketGroupBarcodes,
- lastTousseInstanceId:item.lastTousseInstanceId,
- tousseInstanceBarcode:item.tousseInstanceBarcode
+ tousseAmount = obj.tousseAmount + recycleAmount;
+ if(tousseAmount < 0){
+ alertDiv('【'+tousseName+'】减少的数量不能大于篮筐现有的【'+tousseName+'】数量'+obj.amount);
+ return;
}
- addOrDelTousse(tousse);
+ deleteBasketItem(delButton);
}
}
}
});
});
-
- loadedAmountSum = tousseAmount;
+ if(tousseAmount > 0){
+ putTousseInTheBasket(row,tousseAmount);
+ }
}else {
$("#basketsUl li").eq(0).find('dl').children().each(function(i,element){
if($(this).attr('type') == 'hidden'){
@@ -2654,9 +2734,9 @@
}
});
}
+ $('#loadedAmount'+row).val(loadedAmountSum);
}
- $('#loadedAmount'+row).val(loadedAmountSum);
setTousseItemLoadedAmountCss(row);
addAllBasketTotalNum();
refreshSplitBasketView();
@@ -2668,7 +2748,14 @@
alertDiv("【"+tousseName+"】的清洗装载数量上限为"+putBasketMaxAmount+",本次入筐数量为"+recycleAmount+",当前篮筐容量不够,请用其它篮筐装载。");
return 0;
}
- $('#loadedAmount'+row).val(recycleAmountNew);
+ //丢失报损器械
+ if(isIDCard == '是'){
+ setIdCardErrorIntoBasketAmount(row,loadedAmount);
+ $('#loadedAmount'+row).val(parseInt(loadedAmount,10)+parseInt($('#loadedAmount'+row).val(),10));
+ }else {
+ $('#loadedAmount'+row).val(recycleAmountNew);
+ }
+
if(recycleAmountNew > putBasketMaxAmount && loadedAmountNew < putBasketMaxAmount){
$('#loadedAmount'+row).val(putBasketMaxAmount);
loadedAmount = putBasketMaxAmount-loadedAmountNew;
@@ -2759,14 +2846,24 @@
var inputSuccess = false;
newAmount = 0;
if($('#basketsUl').children().length > 0){
+ var basketsObj = $('#basketsUl').children().eq(0).find('input[type=hidden]').val();
+ basketsObj = JSON.parse(basketsObj);
+ var isIdCard = basketsObj.isIdCard;
+ var basketName = basketsObj.basketName;
var tousseName = $('#tousseName'+row).val();
var tousseDefinitionID = $('#tousseDefinitionID'+row).val();
var showTousseName = $('#showTousseName'+row).val();
var tousseType = $('#tousseType'+row).val();
var isCleanedEntirely = $('#isCleanedEntirely'+row).val();
var recycleAmount = parseInt($('#recycleAmount'+row).val(),10);
var loadedAmount = parseInt($('#loadedAmount'+row).val(),10);
- var applicationAmount = parseInt($('#applicationAmount'+row).val(),10);
+ var applicationAmount = parseInt($('#applicationAmount'+row).val(),10);
+ var msg = "";
+ if(isIdCard == true){
+ if(basketName.indexOf(tousseName+'(标识牌') == -1){
+ msg = '不允许将包放入标识牌的篮筐中,请扫描其它的清洗篮筐!';
+ }
+ }
//是否开启限制使用记录转换的申请单不能添加别的物品
if(sstsConfig.restrictAddOtherGoodsToApplicationFromUseRecord && $('#useRecordId').val() !='' && recycleAmount > applicationAmount){
alertDiv("回收数量不能超过申请数量");
@@ -2775,7 +2872,6 @@
var amount = recycleAmountNew || recycleAmount - parseInt($('#loadedAmount'+row).val(),10);
newAmount = amount;
//回收数量扣减入筐操作 如果已经入筐就不能入筐,只能是手动从篮筐里面删除,因为程序不晓得从哪个篮筐里面扣减
- var msg = "";
if(amount > 9999){
msg = "入筐数量不能大于9999!";
@@ -2793,27 +2889,27 @@
var isIDCard = $('#isThereIdentificationCard'+row).val();
if(isIDCard == '是'){
var showMsg = null;
- var recyclingErrorJsonArrayStr = $('#recyclingError'+row).val();
+ var recyclingErrorJsonArrayStr = $('#recyclingError'+row).val();
if(!isUndefinedOrNullOrEmpty(recyclingErrorJsonArrayStr)){
- var recyclingErrorJsonArray = JSON.parse(recyclingErrorJsonArrayStr);
- var isIdCardLost = false;
+ var recyclingErrorJsonArray = JSON.parse(recyclingErrorJsonArrayStr);
for(var j = 0;j < recyclingErrorJsonArray.length;j++) {
if(recyclingErrorJsonArray[j].materialName == '器械包标识牌'){
isIdCardLost = true;
var errorAmount = parseInt(recyclingErrorJsonArray[j].amount);
- var intoBasketAmount = parseInt(recyclingErrorJsonArray[j].intoBasketAmount);
- if(errorAmount == 0 || errorAmount == intoBasketAmount){
+ var intoBasketAmount = recyclingErrorJsonArray[j].intoBasketAmount;
+ if(errorAmount == 0 || errorAmount == intoBasketAmount){
showMsg = $('#tousseName'+row).val()+"扫描的标识牌数量不等于回收数量,如果标识牌丢失,请在回收误差中登记丢失记录!";
}else{
- amount = errorAmount;
- }
+ if(errorAmount - intoBasketAmount >0){
+ amount = errorAmount - intoBasketAmount;
+ }
+ }
break;
}
}
- if(isIdCardLost && recycleAmount > amount){
+ if(!isIdCardLost && amount > 0){
showMsg = $('#tousseName'+row).val()+"扫描的标识牌数量不等于回收数量,如果标识牌丢失,请在回收误差中登记丢失记录!";
}
- amount = recycleAmount - loadedAmount;
}else{
var tousseAmount = parseInt($('#recycleAmount'+row).val(),10);
var scannedAmount = parseInt($('#loadedAmount'+row).val(),10);
@@ -2832,17 +2928,8 @@
if(amount == 0){
alertDiv('没有可以放入篮筐的器械包。');
}else{
- var loadedAmount = tousseIntoBasketFunction("",tousseDefinitionID,tousseName,amount,isCleanedEntirely,orgUnitName,"","",tousseType,row);
+ var loadedAmount = tousseIntoBasketFunction("",tousseDefinitionID,tousseName,amount,isCleanedEntirely,orgUnitName,"","",tousseType,row,isIDCard);
newAmount = 0;
- if(loadedAmount > 0){
- $('#loadedAmount'+row).val(parseInt(loadedAmount,10)+parseInt($('#loadedAmount'+row).val(),10));
- //丢失报损器械
- if(isIDCard == '是'){
- setIdCardErrorIntoBasketAmount(row,loadedAmount);
- }
-
- inputSuccess = true;
- }
refreshAllBasketTotalNum();
}
@@ -3451,7 +3538,7 @@
if(recyclingErrorJsonArray[j].materialName == '器械包标识牌'){
var errorType = recyclingErrorJsonArray[j].errorType;
var errorAmount = recyclingErrorJsonArray[j].amount;
- var intoBasketAmount = recyclingErrorJsonArray[j].intoBasketAmount;
+ var intoBasketAmount = recyclingErrorJsonArray[j].intoBasketAmount;
if(errorType == '缺失' && errorAmount != intoBasketAmount){
isAllTousseInTheBasket = false;
}
@@ -3493,9 +3580,34 @@
* @param confirmation
* @returns
*/
-function getJsonParams(confirmation){
+function getJsonParams(confirmation,isConfirm){
+ var newTousseArray = [];
+ var length = splitTousseArray2.length;
+ if(length > 0){
+ var k=0;
+ for(var j=0;j 0 && isConfirm == false){
+ openApplicationTousseSplitByOrgUnit(newTousseArray,tousseArray);
+ return '';
+ }
var paramJson = {};
- paramJson.tousseJson = tousseArray;
+ paramJson.tousseJson = tousseArray;
+ paramJson.splitTousseJson = newSplitTousseArray;
paramJson.delToussItems = deleteTousseItemArray;
paramJson.unrecycleTousseItemArray = unrecycleTousseItemArray;
paramJson.tousseIntoBasketInfo = getTousseIntoBasketInfo();
@@ -3751,11 +3863,13 @@
* @param print 保存并打印回收记录操作
* Annie 如果tally为true是清点确认 否则就是false
*/
-function submitFormFunction(confirmation,saveAndNew,autoReturnTheBorrowingTousse,print,recyclingAmountConfirm){
+function submitFormFunction(confirmation,saveAndNew,autoReturnTheBorrowingTousse,print,recyclingAmountConfirm,isConfirm){
var websocketSessionId = getWebsocketSessionId();
+ isConfirm = isConfirm || false;
+ var jsonStr = getJsonParams(confirmation,isConfirm);
+ if(jsonStr == '') {return;}
+ var jSONe = JSON.parse(jsonStr);
alertDiv("保存中,请稍候......", true);
- var jsonStr = getJsonParams(confirmation);
- var jSONe = JSON.parse(jsonStr);
if(IntheBoxState == true){
jSONe.tally = true;
}else{
@@ -3929,10 +4043,11 @@
* @param print 保存并打印回收记录操作
* Annie 如果tally为true是清点确认 否则就是false
*/
-function submitFormFunctionForInventoryConfirm(confirmation,saveAndNew,autoReturnTheBorrowingTousse,print,recyclingAmountConfirm){
-
+function submitFormFunctionForInventoryConfirm(confirmation,saveAndNew,autoReturnTheBorrowingTousse,print,recyclingAmountConfirm,isConfirm){
+ isConfirm = isConfirm || false;
+ var jsonStr = getJsonParams(confirmation,isConfirm);
+ if(jsonStr == '') {return;}
alertDiv("保存中,请稍候......", true);
- var jsonStr = getJsonParams(confirmation);
var jSONe = JSON.parse(jsonStr)
if(IntheBoxState == true){
jSONe.tally = true;
Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp
===================================================================
diff -u -r28339 -r28468
--- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp (.../recycleForTouchScreen.jsp) (revision 28339)
+++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp (.../recycleForTouchScreen.jsp) (revision 28468)
@@ -110,6 +110,17 @@
.autoCloseTitle{font-size:18px;font-weight: bold;font-family: "微软雅黑";margin-bottom:0;}
.autoCloseText{color:red;font-size:22px;margin-left: 29px;font-weight: bold;}
.autoCloseBtn{font-size:14px;color:#b5a614;display: block;cursor: pointer;}
+
+.tousseTable {
+ width: 480px;
+}
+
+.tousseTable th,.tousseTable td {
+ height: 30px;
+ border: 1px solid #ddd;
+ text-align: center;
+ line-height: 30px;
+}