Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js
===================================================================
diff -u -r27355 -r27361
--- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 27355)
+++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 27361)
@@ -19,7 +19,8 @@
var tousseNameForMaterial = item.tousseNameForMaterial;
var idCardBarcode = item.idCardBarcode;
var basketGroupBarcodes = item.basketGroupBarcodes;
-
+ var lastTousseInsatnceId = item.lastTousseInsatnceId;
+ var tousseInstanceBarcode = item.tousseInstanceBarcode;
var length = tousseArray.length;
var sigle = true;
var deleteIndex = [];
@@ -32,6 +33,7 @@
var t_idCardBarcode = tousseArray[i].idCardBarcode;
var t_amountForMaterial = tousseArray[i].tousseAmountForMaterial;
var t_basketGroupBarcodes = tousseArray[i].basketGroupBarcodes;
+ var t_lastTousseInsatnceId = tousseArray[i].lastTousseInsatnceId;
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)){
@@ -58,14 +60,16 @@
basketId: basketId,
classifiedItemId: '',
tousseDefinitionID: item.tousseDefinitionID,
+ tousseInstanceBarcode:tousseInstanceBarcode,
tousseName: tousseName,
amount: amount,
tousseAmountForMaterial: tousseAmountForMaterial,
itemType: itemType,
tousseNameForMaterial: tousseNameForMaterial,
idCardBarcode: idCardBarcode,
basketGroupBarcodes: basketGroupBarcodes,
- basketSequence: item.basketSequence
+ basketSequence: item.basketSequence,
+ lastTousseInsatnceId:lastTousseInsatnceId
};
tousseArray.push(newTousse);
}
@@ -803,6 +807,31 @@
}
/**
+ * 判断此包实例条码是否已经入筐.
+ * @param barcode
+ * @return {Boolean}
+ */
+function tousseInstanceBarcodeIsExist(barcode){
+ var exist = false;
+ $('dl[class="sed clearfix"]').each(function(){
+ $(this).children().each(function(){
+ if($(this).attr('type') == 'hidden'){
+ var hideValue = $(this).val();
+ if(!isUndefinedOrNullOrEmpty(hideValue)){
+ var hiddenjson = JSON.parse(hideValue);
+ if(hiddenjson.tousseInstanceBarcode == barcode){
+ exist = true;
+ return false;
+ }
+ }
+ }
+ });
+ });
+ return exist;
+}
+
+
+/**
* 创建物品入筐
* @param basketItem
*/
@@ -822,6 +851,8 @@
var basketGroupBarcodes = basketItem.basketGroupBarcodes;
var putBasketMaxAmount = basketItem.putBasketMaxAmount;
var isExist = false;
+ var lastTousseInsatnceId = basketItem.lastTousseInsatnceId;
+ var tousseInstanceBarcode = basketItem.tousseInstanceBarcode;
var basketElement = $('dl[class="sed clearfix"]:eq(0)');
var basketHidenValue = $("#basketsUl li:first").find('input').val();
if(type == '材料'){
@@ -874,8 +905,11 @@
});
}
if(!isExist){
-
var showBarcode = idCardBarcode;
+ if(sstsConfig.defaultRecycleAmountOfTousseFormIsZero || sstsConfig.defaultRecycleAmountOfComboFormIsZero){
+ showBarcode = tousseInstanceBarcode;
+ }
+
if(type == '材料' && idCardBarcode == ""){
showBarcode = tousseName;
}
@@ -885,7 +919,7 @@
element += '
' + amount + '';
element += '删除';
- var json = getBasketItemJSON(ci_id,type,orgUnitName,tousseName,materialName,amount,tousseAmount,idCardBarcode,tousseDefinitionID,basketGroupBarcodes,putBasketMaxAmount,tousseType);
+ var json = getBasketItemJSON(ci_id,type,orgUnitName,tousseName,materialName,amount,tousseAmount,idCardBarcode,tousseDefinitionID,basketGroupBarcodes,putBasketMaxAmount,tousseType,lastTousseInsatnceId,tousseInstanceBarcode);
basketElement.prepend($(element));
basketElement.find("input:first").val(json);
}
@@ -911,8 +945,10 @@
tousseNameForMaterial: tousseNameForMaterial,
idCardBarcode: idCardBarcode,
tousseDefinitionID: tousseDefinitionID,
+ tousseInstanceBarcode:tousseInstanceBarcode,
basketGroupBarcodes: basketGroupBarcodes,
- basketSequence:basketJson.sequence
+ basketSequence:basketJson.sequence,
+ lastTousseInsatnceId:lastTousseInsatnceId
}
addOrDelTousse(tousse);
}
@@ -1227,7 +1263,11 @@
alertDiv(msg.errorMessage);
}
}else{
- alertDiv(msg.errorMessage);
+ if(sstsConfig.defaultRecycleAmountOfComboFormIsZero || sstsConfig.defaultRecycleAmountOfTousseFormIsZero){
+ newAlert(msg.errorMessage);
+ }else{
+ alertDiv(msg.errorMessage);
+ }
}
}
}else if(msg.orgUnit!= null){
@@ -1250,55 +1290,115 @@
if(!checkSelectDepartBeforeAddTousse()){
return false;
}
-
- if(!msg.isIDCardInstance){ //扫描器械包实例的条码
- var ti = msg.tousseInstance;
- var td = ti.tousseDefinition;
-
- var isExist = false;
- $('#tousseItemTable').children().first().children().each(function(i,element){
- if($('#tousseName'+i).val() == td.name && $('#deleted'+i).val() == '0'){
- $('#recycleAmount'+i).val(parseInt($('#recycleAmount'+i).val()) + 1);
- $('#tousseOrIDCardInstanceBarcodes'+i).val(appendBarcodes($('#tousseOrIDCardInstanceBarcodes'+i).val(), ti.barcode));
- addErrorDamageRemark(ti,i);
- loadUnSupplementMaterial(msg,i,ti.barcode);
- isExist = true;
- }
- });
-
- if(!isExist){
- var isThereIdentificationCard = '否';
- if(td.isDisableIDCard == "否"){
- isThereIdentificationCard = '是';
- }
- var tmpRow = $("#tousseItemTable > tbody > tr").length; //获取子元素,不包含孙子及以下的元素
- var timeStr = new Date().getTime();
- var errorDamageQmKey = td.id + "_" + timeStr;
- var toussItem = {
- row: tmpRow,
- tousseItemId: '',
- tousseName: td.name,
- tousseDefinitionID: td.id,
- applicationAmount: 0,
- recycleAmount: 1,
- loadedAmount: 0,
- isCleanedEntirely: td.isCleanedEntirely,
- tousseType: td.tousseType,
- isThereIdentificationCard: isThereIdentificationCard,
- isApplyEntireTousse: td.isApplyEntireTousse,
- urgentAmount : 0,
- tousseRemark:'',
- errorDamageQmKey : errorDamageQmKey,
- barcode : ti.barcode
- };
- addToussItem(toussItem,sstsConfig.addTousseAtLastForRecycle);
- addBindGoods(toussItem,sstsConfig.addTousseAtLastForRecycle);
- //清除已删除的包
- cleanDeleteTousseItem(td.id);
- addErrorDamageRemark(ti,tmpRow);
- //未补充的丢失报损
- loadUnSupplementMaterial(msg,tmpRow,ti.barcode);
- }
+ if(!msg.isIDCardInstance){//扫描器械包实例的条码
+ var ti = msg.tousseInstance;
+ var td = ti.tousseDefinition;
+
+ if(sstsConfig.defaultRecycleAmountOfComboFormIsZero || sstsConfig.defaultRecycleAmountOfTousseFormIsZero){
+ var basketHideStr = $("#basketsUl li:first").find('input').val();
+ if(basketHideStr == null || basketHideStr == ""){
+ newAlert("请扫描篮筐条码!");
+ return false;
+ }
+ var exist = tousseInstanceBarcodeIsExist(ti.barcode);
+ if(exist){
+ alertDiv(barcode+",已入筐!");
+ }else{
+ var orgUnitName = $('#depart').val();
+ var loadedAmount = tousseIntoBasketFunction(ti.id,td.id,td.name,1,td.isCleanedEntirely,orgUnitName,"",ti.barcode,td.tousseType);
+
+ if(loadedAmount > 0){
+ var tousseIsExist = false;
+ $('#tousseItemTable').children().first().children().each(function(i,element){
+ if($('#tousseName'+i).val() == td.name && $('#deleted'+i).val() == '0'){
+ tousseIsExist = true;
+ $('#loadedAmount'+i).val(1 + parseInt($('#loadedAmount'+i).val(),10));
+ $('#tousseOrIDCardInstanceBarcodes'+i).val(appendBarcodes($('#tousseOrIDCardInstanceBarcodes'+i).val(), ti.barcode));
+ if(parseInt($('#loadedAmount'+i).val()) > parseInt($('#recycleAmount'+i).val())){
+ $('#recycleAmount'+i).val(parseInt($('#loadedAmount'+i).val()));
+ }
+ addErrorDamageRemark(ti,i);
+ loadUnSupplementMaterial(msg,i,ti.barcode);
+ }
+ });
+ if(!tousseIsExist){
+ var tmpRow = $("#tousseItemTable > tbody > tr").length;
+ var timeStr = new Date().getTime();
+ var errorDamageQmKey = td.id + "_" + timeStr;
+ var toussItem = {
+ row: tmpRow,
+ tousseItemId: '',
+ tousseName: td.name,
+ tousseDefinitionID: td.id,
+ applicationAmount: 0,
+ recycleAmount: 1,
+ loadedAmount: 1,
+ isCleanedEntirely: td.isCleanedEntirely,
+ tousseType: td.type,
+ isThereIdentificationCard: '是',
+ isApplyEntireTousse: td.isApplyEntireTousse,
+ urgentAmount : 0,
+ tousseRemark:'',
+ errorDamageQmKey : errorDamageQmKey,
+ barcode : ti.barcode
+ };
+ addToussItem(toussItem,sstsConfig.addTousseAtLastForRecycle);
+ addBindGoods(toussItem,sstsConfig.addTousseAtLastForRecycle);
+ //清除已删除的包
+ cleanDeleteTousseItem(td.id);
+ addErrorDamageRemark(ti,tmpRow);
+ //未补充的丢失报损
+ loadUnSupplementMaterial(msg,tmpRow,ti.barcode);
+ }
+ refreshAllBasketTotalNum();
+ }
+ }
+ }else{
+ var isExist = false;
+ $('#tousseItemTable').children().first().children().each(function(i,element){
+ if($('#tousseName'+i).val() == td.name && $('#deleted'+i).val() == '0'){
+ $('#recycleAmount'+i).val(parseInt($('#recycleAmount'+i).val()) + 1);
+ $('#tousseOrIDCardInstanceBarcodes'+i).val(appendBarcodes($('#tousseOrIDCardInstanceBarcodes'+i).val(), ti.barcode));
+ addErrorDamageRemark(ti,i);
+ loadUnSupplementMaterial(msg,i,ti.barcode);
+ isExist = true;
+ }
+ });
+
+ if(!isExist){
+ var isThereIdentificationCard = '否';
+ if(td.isDisableIDCard == "否"){
+ isThereIdentificationCard = '是';
+ }
+ var tmpRow = $("#tousseItemTable > tbody > tr").length; //获取子元素,不包含孙子及以下的元素
+ var timeStr = new Date().getTime();
+ var errorDamageQmKey = td.id + "_" + timeStr;
+ var toussItem = {
+ row: tmpRow,
+ tousseItemId: '',
+ tousseName: td.name,
+ tousseDefinitionID: td.id,
+ applicationAmount: 0,
+ recycleAmount: 1,
+ loadedAmount: 0,
+ isCleanedEntirely: td.isCleanedEntirely,
+ tousseType: td.tousseType,
+ isThereIdentificationCard: isThereIdentificationCard,
+ isApplyEntireTousse: td.isApplyEntireTousse,
+ urgentAmount : 0,
+ tousseRemark:'',
+ errorDamageQmKey : errorDamageQmKey,
+ barcode : ti.barcode
+ };
+ addToussItem(toussItem,sstsConfig.addTousseAtLastForRecycle);
+ addBindGoods(toussItem,sstsConfig.addTousseAtLastForRecycle);
+ //清除已删除的包
+ cleanDeleteTousseItem(td.id);
+ addErrorDamageRemark(ti,tmpRow);
+ //未补充的丢失报损
+ loadUnSupplementMaterial(msg,tmpRow,ti.barcode);
+ }
+ }
}else{ //扫描标识牌实例条码
barcode = msg.idCardInstance.barcode;
if($('#depart').attr('value') == ''){
@@ -1344,7 +1444,7 @@
return false;
}
- var loadedAmount = tousseIntoBasketFunction(td.id,td.name,1,td.isCleanedEntirely,orgUnitName,barcode,td.tousseType);
+ var loadedAmount = tousseIntoBasketFunction("",td.id,td.name,1,td.isCleanedEntirely,orgUnitName,barcode,"",td.tousseType);
if(loadedAmount > 0){
var tousseIsExist = false;
@@ -2017,7 +2117,7 @@
}
function getBasketItemJSON(ci_id,type,orgUnitName,tousseName,materialName,amount,tousseAmount,idCardBarcode,
- tousseDefinitionID,basketGroupBarcodes,putBasketMaxAmount,tousseType){
+ tousseDefinitionID,basketGroupBarcodes,putBasketMaxAmount,tousseType,lastTousseInsatnceId,tousseInstanceBarcode){
var json = {};
json.classifiedItemId = ci_id;
json.type = type;
@@ -2032,6 +2132,8 @@
json.putBasketMaxAmount = putBasketMaxAmount;
json.useBasketBarcodes = new Array();
json.basketGroupBarcodes = basketGroupBarcodes;
+ json.lastTousseInsatnceId = lastTousseInsatnceId;
+ json.tousseInstanceBarcode = tousseInstanceBarcode;
return JSON.stringify(json);
}
@@ -2107,14 +2209,15 @@
/**
* 判断此次能入筐的数量.
* @param tousseDefinitionID
+ * @param tousseInstanceId 包实例id
* @param tousseName
* @param recycleAmount
* @param isCleanedEntirely
* @param orgUnitName
* @param idCardBarcode
* @returns {Number}
*/
-function tousseIntoBasketFunction(tousseDefinitionID,tousseName,recycleAmount,isCleanedEntirely,orgUnitName,idCardBarcode,tousseType,row){
+function tousseIntoBasketFunction(tousseInstanceId,tousseDefinitionID,tousseName,recycleAmount,isCleanedEntirely,orgUnitName,idCardBarcode,tousseInstanceBarcode,tousseType,row){
var params = getScanedGoods(isCleanedEntirely);
if(params.length <=0){
if(isCleanedEntirely == "是" && sstsConfig.cleanedEntirelyTousseIntoWashClassifyEmptyBasket){
@@ -2149,6 +2252,8 @@
orgUnitName: orgUnitName,
tousseName: tousseName,
tousseDefinitionID: tousseDefinitionID,
+ lastTousseInsatnceId:tousseInstanceId, //包实例id
+ tousseInstanceBarcode:tousseInstanceBarcode,
tousseType:tousseType,
materialName: item.materialName,
showName: item.materialName,
@@ -2168,6 +2273,8 @@
orgUnitName: orgUnitName,
tousseName: tousseName,
tousseDefinitionID: tousseDefinitionID,
+ lastTousseInsatnceId:tousseInstanceId, //包实例id,
+ tousseInstanceBarcode:tousseInstanceBarcode,//包实例条码,为了显示
tousseType:tousseType,
materialName: "",
showName: tousseName,
@@ -2272,7 +2379,7 @@
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);
if(loadedAmount > 0){
$('#loadedAmount'+row).val(parseInt(loadedAmount,10)+parseInt($('#loadedAmount'+row).val(),10));
@@ -2432,6 +2539,7 @@
}, 300 )
}
}
+
/**
* 添加回收记录明细,tousseName为器械包名称,applicationAmount为申请数量,recycleAmount为回收数量,loadedAmount为装载数量
* @param toussItem 物品明细
@@ -3785,7 +3893,6 @@
height = size.height;
offsetTop = offsetTop*zoomRatio;
-
layerIndex=layer.open({
type : 2,
title : ['添加器械包',true],
@@ -3932,6 +4039,8 @@
orgUnitName: orgUnitName,
tousseName: tousseName,
tousseDefinitionID: tousseDefinitionID,
+ lastTousseInsatnceId:"", //包实例id
+ tousseInstanceBarcode:"",
tousseType: tousseType,
materialName: item.materialName,
showName: item.materialName,
@@ -4347,6 +4456,13 @@
if(recycleAmount == null){
recycleAmount = item.amount;
}
+ var appType = $("#appType").val();
+ if(appType == "通用申请单" && sstsConfig.defaultRecycleAmountOfComboFormIsZero){//通用申请单并且配置为true,回收数量默认为0
+ recycleAmount = 0;
+ }else if(appType == "器械包申请单" && sstsConfig.defaultRecycleAmountOfTousseFormIsZero){//器械包申请单并且配置为true,回收数量默认为0
+ recycleAmount = 0;
+ }
+
var errorDamageQmKey = item.errorDamageQmKey;
if(isUndefinedOrNullOrEmpty(errorDamageQmKey)){
var timeStr = new Date().getTime();
@@ -4801,7 +4917,7 @@
element += '删除';
$('dl[class="sed clearfix"]:eq(0)').prepend(element);
- var json = getBasketItemJSON(ci.id,'材料',ci.orgUnitName,tousseNameForMaterial,materialName,ci.amount,ci.tousseAmountForMaterial,ci.idCardBarcode,ci.tousseDefinitionID,ci.basketGroupBarcodes,putBasketMaxAmount,tousseType);
+ var json = getBasketItemJSON(ci.id,'材料',ci.orgUnitName,tousseNameForMaterial,materialName,ci.amount,ci.tousseAmountForMaterial,ci.idCardBarcode,ci.tousseDefinitionID,ci.basketGroupBarcodes,putBasketMaxAmount,tousseType,"","");
$('dl[class="sed clearfix"]:eq(0)').find("input:first").val(json);
$('td[axis="materialName"]').each(function(){
@@ -4815,14 +4931,19 @@
if(putBasketMaxAmount == null){
putBasketMaxAmount = 0;
}
+
+ var barcode = ci.idCardBarcode;
+ if((sstsConfig.defaultRecycleAmountOfComboFormIsZero || sstsConfig.defaultRecycleAmountOfTousseFormIsZero) && ci.tousseInstanceBarcode != undefined){
+ barcode = ci.tousseInstanceBarcode;
+ }
var element = '';
element += ''+ci.tousseDefinition.name+'';
- element += ' '+ci.idCardBarcode+'';
+ element += ' '+barcode+'';
element += ''+ci.amount+'';
element += '删除';
$('dl[class="sed clearfix"]:eq(0)').prepend(element);
- var json = getBasketItemJSON(ci.id,"器械包",ci.orgUnitName,ci.tousseDefinition.name,"",ci.amount,ci.tousseAmountForMaterial,ci.idCardBarcode,ci.tousseDefinitionID,ci.basketGroupBarcodes,putBasketMaxAmount,tousseType);
+ var json = getBasketItemJSON(ci.id,"器械包",ci.orgUnitName,ci.tousseDefinition.name,"",ci.amount,ci.tousseAmountForMaterial,ci.idCardBarcode,ci.tousseDefinitionID,ci.basketGroupBarcodes,putBasketMaxAmount,tousseType,"","");
$('dl[class="sed clearfix"]:eq(0)').find("input:first").val(json);
}
}
Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp
===================================================================
diff -u -r27353 -r27361
--- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp (.../recycleForTouchScreen.jsp) (revision 27353)
+++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp (.../recycleForTouchScreen.jsp) (revision 27361)
@@ -115,7 +115,7 @@
.autoCloseText,.autoCloseBtn{margin:0px;padding:0px;}
.autoCloseAlert{border: 1px solid #dcdcdc;background:#eeeeee;padding: 12px 10px; width:300px;position:absolute;z-index:222220000;top:8px;margin-left: -150px;left:50%;border-radius:5px;display: none;}
.autoCloseTitle{font-size:18px;font-weight: bold;font-family: "微软雅黑";margin-bottom:0;}
-.autoCloseText{color:red;font-size:22px;margin-left: 29px;}
+.autoCloseText{color:red;font-size:22px;margin-left: 29px;font-weight: bold;}
.autoCloseBtn{font-size:14px;color:#b5a614;display: block;cursor: pointer;}