Index: ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectForm.js =================================================================== diff -u -r19809 -r20098 --- ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectForm.js (.../washAndDisinfectForm.js) (revision 19809) +++ ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectForm.js (.../washAndDisinfectForm.js) (revision 20098) @@ -62,7 +62,7 @@ function addPendingWashGoodsFromRecord(clickNode) { var objBarcode = clickNode.attributes.barcode; var objName = clickNode.attributes.name; - var objAmount = clickNode.attributes.count; + var objAmount = clickNode.attributes.count; var type = 'BASKET'; var array = new Array(); @@ -144,7 +144,7 @@ //根据条码加载材料 -function loadMaterial(barcode,callBack) { +function loadMaterial(barcode,callBack,idCardBarcode) { if(typeof(barcode) == 'undefined' || barcode == '') { barcode = top.Ext.getCmp('inputText').getValue(); @@ -197,12 +197,19 @@ personInChargeCode = array[5] ? array[5] : personInChargeCode; var position = top.Ext.getCmp('position').getValue(); + var showBarcode = array[3]; + if( !isUndefinedOrNullOrEmpty(idCardBarcode) ){ + showBarcode = idCardBarcode; + } + if( isUndefinedOrNullOrEmpty(showBarcode) || showBarcode == 'undefined' ){ + showBarcode = barcode; + } var basket = new top.Ext.tree.TreeNode({ id : array[0], name : array[1], showname : array[1], count : array[2], - barcode : array[3], + barcode : showBarcode, personInCharge:personInCharge, personInChargeCode:personInChargeCode, position : position, @@ -540,7 +547,14 @@ columns : [{ header : '条码', width : 105, - dataIndex : 'objBarcode' + dataIndex : 'objBarcode', + renderer : function(v,p,record){ + var IDcardBarcode = record.IDcardBarcode; + if ( !isUndefinedOrNullOrEmpty(IDcardBarcode) ) { + return IDcardBarcode; + } + return record.objBarcode; + } },{ header : '数量', width : 50, @@ -550,7 +564,7 @@ width : 50, dataIndex : 'type', renderer : function(v,p,record){ - var str = "\"\""; + var str = "\"\""; if (record.type == 'BASKET') { return str; } @@ -779,7 +793,7 @@ var containerBarcode = result.bindingContianer if( !isUndefinedOrNullOrEmpty(containerBarcode) ){ // 标识牌带出篮筐条码 - addPendingWashAndDisinfectBasketToRecord(containerBarcode); + addPendingWashAndDisinfectBasketToRecord(containerBarcode,barcode); }else{ showResult(result.message); } @@ -1261,7 +1275,7 @@ washingMachineStore.load(); } } -function addPendingWashAndDisinfectBasketToRecord(barcode){ +function addPendingWashAndDisinfectBasketToRecord(barcode,idCardBarcode){ if(sstsConfig.hasOwnProperty('wrRecordScanPosition') && sstsConfig.wrRecordScanPosition){ if((sstsConfig.hasOwnProperty('haveRinserPosition')) && sstsConfig.haveRinserPosition){ var position = top.Ext.getCmp('position').getValue(); @@ -1271,7 +1285,7 @@ } } } - loadMaterial(barcode,removePendingWashAndDisinfectGoods(barcode)); + loadMaterial(barcode,removePendingWashAndDisinfectGoods(barcode),idCardBarcode); //日志 buildLogInfo("PC清洗消毒扫描条码:" + barcode + ",条码类型:篮筐"); } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedata/becleanitem/service/BeCleanItemManagerImpl.java =================================================================== diff -u -r20078 -r20098 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedata/becleanitem/service/BeCleanItemManagerImpl.java (.../BeCleanItemManagerImpl.java) (revision 20078) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedata/becleanitem/service/BeCleanItemManagerImpl.java (.../BeCleanItemManagerImpl.java) (revision 20098) @@ -31,6 +31,8 @@ import com.forgon.disinfectsystem.entity.becleanitem.BeCleanItem; import com.forgon.disinfectsystem.entity.becleanitem.ClassifiedItem; import com.forgon.disinfectsystem.entity.becleanitem.ClassifyBasket; +import com.forgon.disinfectsystem.entity.idcarddefinition.IDCardDefinition; +import com.forgon.disinfectsystem.entity.idcardinstance.IDCardInstance; import com.forgon.disinfectsystem.packingrecordclassifybasket.service.PackingRecordClassifyBasketManager; import com.forgon.tools.StrutsParamUtils; import com.forgon.tools.date.DateTools; @@ -604,6 +606,12 @@ } BarcodeDevice barcodeDevice = barcodeManager .getBarcodeByBarcode(barcode); + if( barcodeDevice instanceof IDCardInstance && true == CssdUtils.getSystemSetConfigByNameBool("enableIdCardBasketBinding") ){ + IDCardInstance instance = (IDCardInstance)barcodeDevice; + IDCardDefinition def = instance.getIDCardDefinition(objectDao); + barcode = def.getContainerBarcode(); + barcodeDevice = barcodeManager.getBarcodeByBarcode(barcode); + } if (barcodeDevice == null || !(barcodeDevice instanceof Container)) { return null; } Index: ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/action/WashAndDisinfectRecordAction.java =================================================================== diff -u -r19828 -r20098 --- ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/action/WashAndDisinfectRecordAction.java (.../WashAndDisinfectRecordAction.java) (revision 19828) +++ ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/action/WashAndDisinfectRecordAction.java (.../WashAndDisinfectRecordAction.java) (revision 20098) @@ -37,7 +37,10 @@ import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; import com.forgon.disinfectsystem.entity.becleanitem.ClassifiedItem; import com.forgon.disinfectsystem.entity.becleanitem.ClassifyBasket; +import com.forgon.disinfectsystem.entity.idcarddefinition.IDCardDefinition; +import com.forgon.disinfectsystem.entity.idcardinstance.IDCardInstance; import com.forgon.disinfectsystem.entity.washanddisinfectmanager.washanddisinfectrecord.WashAndDisinfectRecord; +import com.forgon.disinfectsystem.idcarddefinition.service.IDCardDefinitionManager; import com.forgon.disinfectsystem.tousse.materialdefinition.service.MaterialDefinitionManager; import com.forgon.disinfectsystem.washanddisinfectmanager.washanddisinfectrecord.service.WashAndDisinfectRecordManager; import com.forgon.log.service.LogManager; @@ -74,6 +77,8 @@ private MaterialDefinitionManager materialDefinitionManager; + private IDCardDefinitionManager idCardDefinitionManager; + private BarcodeManager barcodeManager; private LogManager appLogManager; private ObjectDao objectDao; @@ -82,6 +87,11 @@ private ClassifiedItemManager classifiedItemManager; + public void setIdCardDefinitionManager( + IDCardDefinitionManager idCardDefinitionManager) { + this.idCardDefinitionManager = idCardDefinitionManager; + } + public void setAppLogManager(LogManager appLogManager) { this.appLogManager = appLogManager; } @@ -437,6 +447,18 @@ // continue; // String containName = basket.getContainerName(); String bkBarcode = basket.getContainerBarcode(); + String IDcardBarcode = null; + BarcodeDevice barcodeDevice = barcodeManager.getBarcodeByBarcode(bkBarcode); + if(barcodeDevice instanceof Container){ + Container ct = (Container)barcodeDevice; + Long idcardDefinitionId = ct.getIdCardDefinitionId(); + if(idcardDefinitionId != null){ + IDCardDefinition idCard = idCardDefinitionManager.get(idcardDefinitionId); + if(idCard != null){ + IDcardBarcode = idCard.getCurIdCardInstanceBarcode(); + } + } + } if(basketBarcodes.contains(bkBarcode)){ // 已经添加过的篮筐条码,不再添加 continue; @@ -455,6 +477,9 @@ basketObj.put("cls", cls); basketObj.put("iconCls", "task-folder"); basketObj.put("isTimeout", isTimeout); + if(IDcardBarcode != null){ + basketObj.put("IDcardBarcode", IDcardBarcode); + } JSONArray tousseInBasketArray = new JSONArray(); Index: build.gradle =================================================================== diff -u -r19956 -r20098 --- build.gradle (.../build.gradle) (revision 19956) +++ build.gradle (.../build.gradle) (revision 20098) @@ -564,6 +564,7 @@ compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-tousse")) + compile (project(":ssts-idcard")) } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/barcode/dwr/table/BarcodeTableManager.java =================================================================== diff -u -r19809 -r20098 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/barcode/dwr/table/BarcodeTableManager.java (.../BarcodeTableManager.java) (revision 19809) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/barcode/dwr/table/BarcodeTableManager.java (.../BarcodeTableManager.java) (revision 20098) @@ -73,7 +73,7 @@ || barcodeDevice.getType().equals(BarcodeDevice.BARCODE_TYPE_SIGNBOARD))){ obj.put("returnType", "tousseInstance"); // 是否配置标识牌绑定篮筐 - if( barcodeDevice instanceof IDCardInstance && true == CssdUtils.getSystemSetConfigByNameBool("IDCardBindingContianer") ){ + if( barcodeDevice instanceof IDCardInstance && true == CssdUtils.getSystemSetConfigByNameBool("enableIdCardBasketBinding") ){ IDCardInstance instance = (IDCardInstance)barcodeDevice; IDCardDefinition def = instance.getIDCardDefinition(objectDao); if(def != null && StringUtils.isNotBlank(def.getContainerBarcode())){