Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/ClassifyBasketRecyclingSequenceManager.java =================================================================== diff -u -r19799 -r19803 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/ClassifyBasketRecyclingSequenceManager.java (.../ClassifyBasketRecyclingSequenceManager.java) (revision 19799) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/ClassifyBasketRecyclingSequenceManager.java (.../ClassifyBasketRecyclingSequenceManager.java) (revision 19803) @@ -28,4 +28,11 @@ * @return */ public ClassifyBasketRecyclingSequence getForUpdate(Long recyclingRecordId,Long classifyBasketId,Long tousseDefinitionId); + /** + * 获取回收记录中的篮筐序号。在重新打开回收记录时,需要获取保存的篮筐序号。业务上,一个篮筐只能装一个外来器械包。目前一个回收记录,一个篮筐,只会装一个外来器械 + * @param recyclingRecordId + * @param classifyBasketId + * @return + */ + public ClassifyBasketRecyclingSequence get(Long recyclingRecordId,Long classifyBasketId); } Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/ClassifyBasketRecyclingSequenceManagerImpl.java =================================================================== diff -u -r19799 -r19803 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/ClassifyBasketRecyclingSequenceManagerImpl.java (.../ClassifyBasketRecyclingSequenceManagerImpl.java) (revision 19799) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/ClassifyBasketRecyclingSequenceManagerImpl.java (.../ClassifyBasketRecyclingSequenceManagerImpl.java) (revision 19803) @@ -54,4 +54,14 @@ return getFirstForUpdate(where); } + @Override + public ClassifyBasketRecyclingSequence get(Long recyclingRecordId,Long classifyBasketId) { + if(!DatabaseUtil.isPoIdValid(recyclingRecordId) || !DatabaseUtil.isPoIdValid(classifyBasketId)){ + return null; + } + String where = String.format("recyclingRecordId=%d and classifyBasketId=%d", + recyclingRecordId,classifyBasketId); + return getFirst(where); + } + } Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/customIntoBasket.js =================================================================== diff -u -r19799 -r19803 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/customIntoBasket.js (.../customIntoBasket.js) (revision 19799) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/customIntoBasket.js (.../customIntoBasket.js) (revision 19803) @@ -101,8 +101,10 @@ } }); $(this).remove(); + removeLiElement($(this)); } }); + refreshBasketStatus(); } function removeImplants(removeBtn){ var liElement = $(removeBtn).parent().parent(); @@ -477,6 +479,19 @@ } } } +function removeLiElement(li){ + if(li){ + for(var tdId in basketSequences){ + var sequences = basketSequences[tdId]; + for(var i = 0; i < sequences.length;++i){ + if(isSameBasket(sequences[i],li)){ + find = true; + sequences.splice(i,1); + } + } + } + } +} //判断两个li中是否是同一个篮筐。如果篮筐条码一样,那就是同一个篮筐,否则 不是 function isSameBasket(li1,li2){ if(!li1){ Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/updateAmount.jsp =================================================================== diff -u -r19799 -r19803 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/updateAmount.jsp (.../updateAmount.jsp) (revision 19799) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/updateAmount.jsp (.../updateAmount.jsp) (revision 19803) @@ -111,6 +111,7 @@ function cleanInputText(){ document.getElementById('inputText').value = ""; + refreshLeftAmount(); } function loaded(){ Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/dwr/table/RecyclingRecordTableManager.java =================================================================== diff -u -r19486 -r19803 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/dwr/table/RecyclingRecordTableManager.java (.../RecyclingRecordTableManager.java) (revision 19486) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/dwr/table/RecyclingRecordTableManager.java (.../RecyclingRecordTableManager.java) (revision 19803) @@ -32,9 +32,11 @@ import com.forgon.disinfectsystem.entity.becleanitem.ClassifyBasket; import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; import com.forgon.disinfectsystem.entity.materialerrordamage.MaterialErrorDamageDetail; +import com.forgon.disinfectsystem.entity.recyclingrecord.ClassifyBasketRecyclingSequence; import com.forgon.disinfectsystem.entity.recyclingrecord.RecyclingItem; import com.forgon.disinfectsystem.entity.recyclingrecord.RecyclingRecord; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; +import com.forgon.disinfectsystem.packing.service.ClassifyBasketRecyclingSequenceManager; import com.forgon.disinfectsystem.recyclingapplication.vo.ApplicationItemVO; import com.forgon.disinfectsystem.recyclingrecord.service.RecyclingRecordManager; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; @@ -63,6 +65,13 @@ private SupplyRoomConfigManager supplyRoomConfigManager; + private ClassifyBasketRecyclingSequenceManager classifyBasketRecyclingSequenceManager; + + public void setClassifyBasketRecyclingSequenceManager( + ClassifyBasketRecyclingSequenceManager classifyBasketRecyclingSequenceManager) { + this.classifyBasketRecyclingSequenceManager = classifyBasketRecyclingSequenceManager; + } + private ObjectDao objectDao; public void setObjectDao(ObjectDao objectDao) { @@ -208,6 +217,10 @@ } } for (ClassifyBasket basket : recyclingRecord.getClassifyBaskets()) { + ClassifyBasketRecyclingSequence seq = classifyBasketRecyclingSequenceManager.get(recyclingRecord.getId(), basket.getId()); + if(seq != null){ + basket.setSequence(seq.getSequence()); + } basket.getClassfiedItems(); // 把数据加载出来否则页面不能拿到item对象 } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/becleanitem/ClassifyBasket.java =================================================================== diff -u -r19801 -r19803 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/becleanitem/ClassifyBasket.java (.../ClassifyBasket.java) (revision 19801) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/becleanitem/ClassifyBasket.java (.../ClassifyBasket.java) (revision 19803) @@ -81,6 +81,10 @@ * 位置 */ private String position; + /** + * 回收篮筐序号。不持久化 + */ + private Integer sequence; @JsonIgnore private Set classfiedItems = new HashSet(); @@ -226,5 +230,13 @@ } return amount; } + @Transient + public Integer getSequence() { + return sequence; + } + + public void setSequence(Integer sequence) { + this.sequence = sequence; + } } Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js =================================================================== diff -u -r19799 -r19803 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 19799) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 19803) @@ -459,13 +459,29 @@ } addOrDelTousse(tousse); + refreshSequence(delElement.parent().parent(),0); hideElement.remove(); nameElement.remove(); barcodeElement.remove(); amountElement.remove(); delElement.remove(); } +function refreshSequence(liElement,sequence){ + if(liElement){ + if(!sequence || sequence <= 0){ + sequence = 0; + } + var basketHidenValue = liElement.find('input:first').val(); + if(basketHidenValue){ + var basketInfo = JSON.parse(basketHidenValue); + basketInfo.sequence = sequence; + liElement.find('input:first').val(JSON.stringify(basketInfo)) + var showName = sequence > 0?(sequence + '.' + basketInfo.basketName):basketInfo.basketName; + liElement.find('font:first').html(showName); + } + } +} //删除篮筐中的物品 function deleteBasketItem(deleteButton){ var hideElement = $(deleteButton).parent().prev().prev().prev().prev(); @@ -541,6 +557,7 @@ delElement.remove(); } checkLoadedAmount(); + refreshSequence(delElement.parent().parent(),0); } //清理视图列表 @@ -792,12 +809,12 @@ imageButton = ''; } - basketElement += '' + basketName + '      ' + imageButton +''; + basketElement += '' + (sequence&&sequence>0?(sequence+'.' + basketName):basketName) + '      ' + imageButton +''; basketElement += '
'; basketElement += ''; var obj = $(basketElement); $("#basketsUl").prepend(obj); - var json = getBasketJSON(classifyBasketId,basketBarcode,washClassifyType,sequence); + var json = getBasketJSON(classifyBasketId,basketBarcode,washClassifyType,sequence,basketName); $("#basketsUl li:first").find('input').val(json); toggleItems(obj.find('span')[0]); } @@ -1574,16 +1591,18 @@ } } -function getBasketJSON(itemId,barcode,washClassifyType,sequence){ +function getBasketJSON(itemId,barcode,washClassifyType,sequence,basketName){ var json = {}; json.classifyBasketId = itemId; json.barcode = barcode; json.washClassifyType = washClassifyType; json.sequence = sequence; + json.basketName = basketName; return JSON.stringify(json); } -function getBasketItemJSON(ci_id,type,orgUnitName,tousseName,materialName,amount,tousseAmount,idCardBarcode,tousseDefinitionID,basketGroupBarcodes,putBasketMaxAmount){ +function getBasketItemJSON(ci_id,type,orgUnitName,tousseName,materialName,amount,tousseAmount,idCardBarcode, + tousseDefinitionID,basketGroupBarcodes,putBasketMaxAmount){ var json = {}; json.classifiedItemId = ci_id; json.type = type; @@ -2636,8 +2655,9 @@ var hide = $(this).find('input'); var oldItem = JSON.parse(hide.val()); if(oldItem.barcode == item.basketBarcode){ - isBasketLoaded = true; - return false; + refreshSequence($(this),item.sequence); + isBasketLoaded = true; + return false; } }); @@ -3237,7 +3257,7 @@ for(var i = 0 ; i< record.classifyBaskets.length ; i++){ var basket = record.classifyBaskets[i]; - createBasketUiElement(basket.containerBarcode,basket.id,record.classifyBaskets[i].containerName,basket.washClassifyType) + createBasketUiElement(basket.containerBarcode,basket.id,record.classifyBaskets[i].containerName,basket.washClassifyType,basket.sequence) for(var j = 0 ; j < record.classifyBaskets[i].classfiedItems.length ; j++){ var ci = record.classifyBaskets[i].classfiedItems[j];