Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js
===================================================================
diff -u -r28327 -r28331
--- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 28327)
+++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 28331)
@@ -24,7 +24,7 @@
var tousseInstanceBarcode = item.tousseInstanceBarcode;
var length = tousseArray.length;
var sigle = true;
- var deleteIndex = [];
+ var deleteIndex = [];
for(var i = 0;i < length ; i++){
var t_basketBarcode = tousseArray[i].basketBarcode;
var t_tousseName = tousseArray[i].tousseName;
@@ -36,12 +36,12 @@
var t_basketGroupBarcodes = tousseArray[i].basketGroupBarcodes;
var t_lastTousseInstanceId = tousseArray[i].lastTousseInstanceId;
var t_tousseInstanceBarcode = tousseArray[i].tousseInstanceBarcode;
- var t_itemType = tousseArray[i].itemType;
+ var t_itemType = tousseArray[i].itemType;
if(t_basketBarcode == basketBarcode && itemType == t_itemType && t_tousseName == tousseName && t_tousseDefinitionID == item.tousseDefinitionID && t_idCardBarcode == idCardBarcode && t_tousseInstanceBarcode == tousseInstanceBarcode){
if(itemType == '材料' && (tousseNameForMaterial != t_tousseNameForMaterial || basketGroupBarcodes != t_basketGroupBarcodes)){
continue;
}
- tousseArray[i].amount = t_amount + amount;
+ tousseArray[i].amount = t_amount+amount;
tousseArray[i].tousseAmountForMaterial = t_amountForMaterial + tousseAmountForMaterial;
tousseArray[i].basketSequence = item.basketSequence;
if(tousseArray[i].amount === 0){
@@ -60,7 +60,7 @@
var newTousse = {
basketBarcode: basketBarcode,
basketId: basketId,
- classifiedItemId: '',
+ classifiedItemId: item.classifiedItemId || '',
tousseDefinitionID: item.tousseDefinitionID,
tousseInstanceBarcode:tousseInstanceBarcode,
tousseName: tousseName,
@@ -75,7 +75,7 @@
};
tousseArray.push(newTousse);
}
- }
+ }
}
@@ -389,16 +389,116 @@
},
buttons: {
"是": function() {
- if(actionFunction == 'deleteTousse'){//删器械包
- deleteTousseItem(row);
- }else if(actionFunction == 'deleteBasketItem'){//删篮筐内物品
- deleteBasketItem(deleteButton);
- }else if(actionFunction == 'deleteBasket'){//删篮筐
- deleteBasket(deleteButton,basketBarcode,basketId);
- }
- refreshSplitBasketView();
- refreshAllBasketTotalNum();
- $(this).dialog("close");
+ var delInfo = [];
+ if(actionFunction == 'deleteTousse'){
+ var tousseDefinitionID = parseInt($('#tousseDefinitionID'+row).val(),10);
+ var tdIds = tousseDefinitionID || '';
+ tdIds = [tdIds];
+ delInfo = [{
+ classifyBasketId:'',
+ tdIds:tdIds
+ }];
+ }else if(actionFunction == 'deleteBasketItem'){
+ var hideElement = $(deleteButton).parent().prev().prev().prev().prev();
+
+ var basketElement = $(deleteButton).parent().parent();
+ var basketJSON = basketElement.prev().prev().prev().prev().prev();
+ var basket = basketJSON.val()?JSON.parse(basketJSON.val()):{};
+ var item = hideElement.val()?JSON.parse(hideElement.val()):{};
+ var classifiedItemId = item.classifiedItemId;
+ var classifyBasketId = basket.classifyBasketId || '';
+ var tdIds = item.tousseDefinitionID || '';
+ tdIds = [tdIds];
+ if(classifiedItemId == ''){
+ delInfo = [];
+ }else {
+ delInfo = [{
+ classifyBasketId:classifyBasketId,
+ tdIds:tdIds
+ }];
+ }
+ }else {
+ var tdIds = [];
+ var ids = [];
+ var key = 0;
+ var k = 0;
+ $(deleteButton).parent().parent().find('dl').find('input').each(function(){
+ var item = $(this).val()?JSON.parse($(this).val()):{};
+ if(item.classifiedItemId !== ''){
+ ids[k] = item.classifiedItemId;
+ k++;
+ }
+ tdIds[key] = item.tousseDefinitionID;
+ key++
+ });
+ if(ids.length > 0){
+ delInfo = [{
+ classifyBasketId:basketId,
+ tdIds:tdIds
+ }];
+ }else {
+ delInfo = [];
+ }
+ }
+
+ var data = {
+ recyclingRecordId:params_id,
+ delInfo:JSON.stringify(delInfo)
+ }
+ var that = this;
+
+ if(delInfo.length > 0){
+ $.ajax({
+ type : "post",
+ url : WWWROOT + '/disinfectSystem/recyclingRecordAction!verifyDeleteItemsInBasket.do',
+ data:data,
+ dataType:'json',
+ success:function(result){
+ if(result.success){
+ if(result.data.length > 0){
+ if(actionFunction == 'deleteTousse'){//删器械包
+ var tousseNames = result.data[0].tousseNames[0];
+ alertDiv('【'+tousseNames+'】已经进行了装配或者发货,不能删除!');
+ }else if(actionFunction == 'deleteBasketItem'){//删篮筐内物品
+ var tousseNames = result.data[0].tousseNames[0];
+ alertDiv('【'+tousseNames+'】已经进行了装配或者发货,不能删除!');
+ }else if(actionFunction == 'deleteBasket'){//删篮筐
+ var str = result.data[0].tousseNames.join(',');
+ var containerName = result.data[0].containerName;
+ alertDiv('该篮筐【'+containerName+'】里的【'+str+'】已经进行了装配或者发货,不能删除!');
+ }
+ return;
+ }
+
+ if(actionFunction == 'deleteTousse'){//删器械包
+ deleteTousseItem(row);
+ }else if(actionFunction == 'deleteBasketItem'){//删篮筐内物品
+ deleteBasketItem(deleteButton);
+ }else if(actionFunction == 'deleteBasket'){//删篮筐
+ deleteBasket(deleteButton,basketBarcode,basketId);
+ }
+ refreshSplitBasketView();
+ refreshAllBasketTotalNum();
+ $(that).dialog("close");
+ }
+ },
+ error:function(result){
+ console.log(result)
+ }
+ });
+ }else {
+ if(actionFunction == 'deleteTousse'){//删器械包
+ deleteTousseItem(row);
+ }else if(actionFunction == 'deleteBasketItem'){//删篮筐内物品
+ deleteBasketItem(deleteButton);
+ }else if(actionFunction == 'deleteBasket'){//删篮筐
+ deleteBasket(deleteButton,basketBarcode,basketId);
+ }
+ refreshSplitBasketView();
+ refreshAllBasketTotalNum();
+ $(that).dialog("close");
+ }
+
},"否": function() {
$(this).dialog("close");
}
@@ -643,13 +743,13 @@
}
//删除篮筐中的物品
-function deleteBasketItem(deleteButton){
+function deleteBasketItem(deleteButton,sum){
+ var sumCount = sum || 0;
var hideElement = $(deleteButton).parent().prev().prev().prev().prev();
var nameElement = $(deleteButton).parent().prev().prev().prev();
var barcodeElement = $(deleteButton).parent().prev().prev();
var amountElement = $(deleteButton).parent().prev();
var delElement = $(deleteButton).parent();
-
var basketElement = $(deleteButton).parent().parent();
var basketJSON = basketElement.prev().prev().prev().prev().prev();
var basket = basketJSON.val()?JSON.parse(basketJSON.val()):{};
@@ -685,39 +785,58 @@
});
}
var tousseAmountForMaterial = item.tousseAmount;
- //alert(name+"--"+type+"--"+amount+"--"+tousseNameForMaterial+"--"+usebasketAmount+"--"+basketGroupNum);
+
if(type == '材料'){
unloadStaff(item.tousseDefinitionID,tousseAmountForMaterial,idCardBarcode);
}else{
name = item.tousseName;
var amount = item.amount;
-
unloadStaff(item.tousseDefinitionID,amount,idCardBarcode);
-
- var basketId = basket.classifyBasketId;
- var containerBarcode = basket.barcode;
- var tousse = {
- basketBarcode: containerBarcode,
- basketId: basketId,
- classifiedItemId: '',
- tousseName: name,
- tousseDefinitionID: item.tousseDefinitionID,
- amount: -parseInt(amount),
- tousseAmountForMaterial: -parseInt(tousseAmountForMaterial),
- itemType: type,
- tousseNameForMaterial: tousseNameForMaterial,
- idCardBarcode: idCardBarcode,
- basketGroupBarcodes: basketGroupBarcodes,
+
+ if(sumCount == 0){
+ var basketId = basket.classifyBasketId;
+ var containerBarcode = basket.barcode;
+ var tousse = {
+ basketBarcode: containerBarcode,
+ basketId: basketId,
+ classifiedItemId: item.classifiedItemId || '',
+ tousseName: name,
+ tousseDefinitionID: item.tousseDefinitionID,
+ amount: -parseInt(amount),
+ tousseAmountForMaterial: -parseInt(tousseAmountForMaterial),
+ itemType: type,
+ tousseNameForMaterial: tousseNameForMaterial,
+ idCardBarcode: idCardBarcode,
+ basketGroupBarcodes: basketGroupBarcodes,
lastTousseInstanceId:item.lastTousseInstanceId,
tousseInstanceBarcode:item.tousseInstanceBarcode
- }
- addOrDelTousse(tousse);
-
- hideElement.remove();
- nameElement.remove();
- barcodeElement.remove();
- amountElement.remove();
- delElement.remove();
+ }
+ addOrDelTousse(tousse);
+ hideElement.remove();
+ nameElement.remove();
+ barcodeElement.remove();
+ amountElement.remove();
+ delElement.remove();
+ }else {
+ var basketId = basket.classifyBasketId;
+ var containerBarcode = basket.barcode;
+ var tousse = {
+ basketBarcode: containerBarcode,
+ basketId: basketId,
+ classifiedItemId: item.classifiedItemId || '',
+ tousseName: name,
+ tousseDefinitionID: item.tousseDefinitionID,
+ amount: parseInt(amount-sumCount),
+ tousseAmountForMaterial: -parseInt(tousseAmountForMaterial),
+ itemType: type,
+ tousseNameForMaterial: tousseNameForMaterial,
+ idCardBarcode: idCardBarcode,
+ basketGroupBarcodes: basketGroupBarcodes,
+ lastTousseInstanceId:item.lastTousseInstanceId,
+ tousseInstanceBarcode:item.tousseInstanceBarcode
+ }
+ addOrDelTousse(tousse);
+ }
}
checkLoadedAmount();
refreshSequence(delElement.parent().parent(),0);
@@ -2339,15 +2458,139 @@
var loadedAmount = 0;
var recyclingApplicationId = $('#recyclingApplicationId').val();
var materials = $('#materials'+row).val();
- DWREngine.setAsync(false);
+ DWREngine.setAsync(false);
RecyclingRecordTableManager.getTousseIntoBasketAmount(materials,tousseDefinitionID,recycleAmount,idCardBarcode,JSON.stringify(params),JSON.stringify(getTousseIntoBasketInfo()),recyclingApplicationId,function(result){
- var jsonObj = JSON.parse(result);
-
+ var jsonObj = JSON.parse(result);
+ console.log(jsonObj)
if(!jsonObj.success){
alertDiv(jsonObj.message);
}else{
- var data = jsonObj.data;
- loadedAmount = data.amount;
+ var data = jsonObj.data;
+ var packAmount = data.packAmount;
+ var invoiceAmount = data.invoiceAmount;
+ var recycleAmountNew = parseInt($('#recycleAmount'+row).val());
+ var loadedAmountNew = parseInt($('#loadedAmount'+row).val());
+ var maxCount = Math.max.call(null,packAmount,invoiceAmount);
+ var putBasketMaxAmount = data.putBasketMaxAmount || 0;
+
+ if(!sstsConfig.allowDecreaseRecyclingAmountGreatUnPackingAmount){
+ if(recycleAmountNew < maxCount){
+ alertDiv(tousseName+"已装配"+packAmount+"个,已发货"+invoiceAmount+"个,修改后回收的数量为"+recycleAmountNew+",不能小于已装配或者已发货的数量!");
+ return 0;
+ }
+ }
+
+ if(recycleAmount < 0){
+ var loadedAmount = parseInt($('#loadedAmount'+row).val());
+ var sum = 0;
+ var recycleCount1 = 0;
+ var len = 0;
+ $("#basketsUl li").each(function(){
+ $(this).find('dl').children().each(function(i,element){
+ if($(this).attr('type') == 'hidden'){
+ var hideStr = $(this).val();
+ var json = JSON.parse(hideStr);
+ var delButton = $(this).next().next().next().next().find('a');
+ sum = parseInt(loadedAmount+recycleAmount);
+
+ if(json.tousseName == tousseName){
+ len ++;
+ if(json.classifiedItemId == ''){
+ var count = parseInt($(this).next().next().next().text());
+ var recycleCount = count+recycleAmount;
+ $(this).next().next().next().html(recycleCount);
+ json.amount = recycleCount;
+ $(this).val(JSON.stringify(json));
+ if(recycleCount >= 0){
+ deleteBasketItem(delButton,count);
+ return;
+ }else {
+ deleteBasketItem(delButton,0);
+ recycleCount1 = recycleCount;
+ }
+ }
+ }
+ }
+ });
+ if(len == 1){
+ $(this).find('dl').children().each(function(i,element){
+ if($(this).attr('type') == 'hidden'){
+ var hideStr = $(this).val();
+ var json = JSON.parse(hideStr);
+ var delButton = $(this).next().next().next().next().find('a');
+
+ if(json.tousseName == tousseName){
+ if(json.classifiedItemId !== ''){
+ var count = parseInt($(this).next().next().next().text());
+ var recycleCount = count+recycleAmount;
+ $(this).next().next().next().html(recycleCount);
+ json.amount = recycleCount;
+ $(this).val(JSON.stringify(json));
+ if(recycleCount >= 0){
+ deleteBasketItem(delButton,count);
+ return;
+ }else {
+ deleteBasketItem(delButton,0);
+ }
+ }
+ }
+ }
+ });
+ }
+ if(recycleCount1 < 0){
+ $(this).find('dl').children().each(function(i,element){
+ if($(this).attr('type') == 'hidden'){
+ var hideStr = $(this).val();
+ var json = JSON.parse(hideStr);
+ var delButton = $(this).next().next().next().next().find('a');
+ var recycleAmount2 = (recycleCount1 == 0)?recycleAmount:recycleCount1;
+ if(json.tousseName == tousseName){
+ if(json.classifiedItemId !== '') {
+ var count = parseInt($(this).next().next().next().text());
+ var recycleCount = count+recycleAmount2;
+ $(this).next().next().next().html(recycleCount);
+ json.amount = recycleCount;
+ $(this).val(JSON.stringify(json));
+ if(recycleCount >= 0){
+ deleteBasketItem(delButton,count);
+ return;
+ }else {
+ deleteBasketItem(delButton,0);
+ }
+ }
+ }
+ }
+ });
+ }
+ });
+
+ $('#loadedAmount'+row).val(sum);
+
+ if(sum == 0){
+ $('#loadedAmount'+row).css('background','#fff');
+ }else {
+ $('#loadedAmount'+row).css('background','rgb(183, 217, 165)');
+ }
+ addAllBasketTotalNum();
+ refreshSplitBasketView();
+ return;
+ }else if(recycleAmount > 0){
+ if(recycleAmountNew > putBasketMaxAmount && loadedAmountNew == putBasketMaxAmount && putBasketMaxAmount !== 0){
+ alertDiv("【"+tousseName+"】的清洗装载数量上限为"+putBasketMaxAmount+",本次入筐数量为"+recycleAmount+",当前篮筐容量不够,请用其它篮筐装载。");
+ return 0;
+ }
+
+ loadedAmount = data.amount;
+ $('#loadedAmount'+row).val(recycleAmountNew);
+
+ if(recycleAmountNew > putBasketMaxAmount && loadedAmountNew < putBasketMaxAmount){
+ $('#loadedAmount'+row).val(putBasketMaxAmount);
+ loadedAmount = putBasketMaxAmount-loadedAmountNew;
+ }
+ }else {
+ return 0;
+ }
+
if(isCleanedEntirely == "否"){
var materials = data.materials;
if(materials == null){
@@ -2420,27 +2663,18 @@
alertDiv("回收数量不能超过申请数量");
return false;
}
- var amount = recycleAmount - parseInt($('#loadedAmount'+row).val(),10);
+ var amount = recycleAmount - parseInt($('#loadedAmount'+row).val(),10);
newAmount = amount;
//回收数量扣减入筐操作 如果已经入筐就不能入筐,只能是手动从篮筐里面删除,因为程序不晓得从哪个篮筐里面扣减
var msg = "";
- if(amount < 0){
- $("#basketsUl li").each(function(){
- $(this).find('dl').children().each(function(i,element){
- if($(this).attr('type') == 'hidden'){
- var hideStr = $(this).val();
- var json = JSON.parse(hideStr);
- if(json.tousseName == tousseName){
- msg = tousseName+"已入筐,请从篮筐内删除后再入筐!";
- return false;
- }
- }
- });
- });
- }
+
if(amount > 9999){
msg = "入筐数量不能大于9999!";
- }
+ }
+
+ if(recycleAmount == 0){
+ msg = "入筐数量不能为0!";
+ }
if(!isUndefinedOrNullOrEmpty(msg)){
alertDiv(msg);
@@ -3431,7 +3665,7 @@
recyclingUserDefault = false;
}
var submitUrl = WWWROOT + "/disinfectSystem/recyclingRecordAction!saveRecyclingRecord.do";
-
+
$.ajax({
url : submitUrl,
type : "POST",
@@ -3446,7 +3680,8 @@
recyclingUser : recyclingUser,
departmentSender:departmentSender,
operator : operator,
- depart : depart,
+ depart : depart,
+ websocketSessionId : getWebsocketSessionId(),
recyclingTime : recyclingTime,
recyclingUserDefault : recyclingUserDefault,
autoReturnTheBorrowingTousse : autoReturnTheBorrowingTousse,
@@ -3487,7 +3722,7 @@
if(saveAndNew){
location.href = "recycleForTouchScreen.jsp?resolution=" + resolution + "&rememberRecycleUser=" + rememberRecycleUser;
}else{
- location.href = "awaitForRecycleList.jsp?resolution=" + resolution + "&voluntarilyUrgentItems=" + voluntarilyUrgentItemsString;
+ location.href = encodeURI("awaitForRecycleList.jsp?resolution=" + resolution + "&voluntarilyUrgentItems=" + voluntarilyUrgentItemsString);
}
}else{
if(result.versionNotMatch){
@@ -3946,13 +4181,8 @@
// 判断是否被删除,为0代表没有被删除
if($('#deleted'+row).val() == '0'){
var amount = parseInt($('#recycleAmount'+row).val(),10) - parseInt($('#loadedAmount'+row).val(),10);
- // 回收数量大于已装载(入筐)数量,则需要入筐
- if(amount > 0){
- var success = putTousseInTheBasket(row);
- if(!success){
- return false;
- }
- }
+ // 回收数量大于已装载(入筐)数量,则需要入筐
+ putTousseInTheBasket(row);
}
});
}
@@ -5470,7 +5700,7 @@
function cleanIsRecyclingFun(){
if(window.opener){
window.opener.isRecyclingWindow = null;
- }
+ }
}
function cleanIsRecycling(){
Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp
===================================================================
diff -u -r28321 -r28331
--- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp (.../recycleForTouchScreen.jsp) (revision 28321)
+++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp (.../recycleForTouchScreen.jsp) (revision 28331)
@@ -9,7 +9,7 @@
<%@page import="com.forgon.disinfectsystem.common.*"%>
<%@page import="com.forgon.directory.acegi.tools.AcegiHelper"%>
<%@page import="com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition"%>
-
+<%@page import="com.forgon.log.model.Log"%>
<%@page import="com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance,com.forgon.disinfectsystem.entity.recyclingerror.RecyclingError,com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager"%>
@@ -716,4 +716,9 @@
+
+
+
+
+