Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/PackingTableManager.java =================================================================== diff -u -r16876 -r17276 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/PackingTableManager.java (.../PackingTableManager.java) (revision 16876) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/PackingTableManager.java (.../PackingTableManager.java) (revision 17276) @@ -44,6 +44,7 @@ import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseInstanceManager; import com.forgon.security.model.User; +import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.json.JSONUtil; import com.google.gson.JsonObject; @@ -353,8 +354,18 @@ TousseInstance tousseInstance = (TousseInstance) bd; TousseDefinition tousseDefinition = tousseInstance .getTousseDefinition(); + TousseDefinition ancestorTD = null; if (tousseDefinition != null) { String type = tousseDefinition.getBarcodePaperType(); + if(tousseDefinition.isDisinfection()){ + Long ancestorId = tousseDefinition.getAncestorID(); + if(DatabaseUtil.isPoIdValid(ancestorId)){ + ancestorTD = tousseDefinitionManager.get(ancestorId); + if(ancestorTD != null){ + type = ancestorTD.getBarcodePaperType(); + } + } + } barcodePaperType = type; if (!TousseDefinition.BARCODEPAPER_TYPE_50x30.equals(type)) { List materials = tousseDefinition Index: ssts-web/src/main/webapp/disinfectsystem/common/cssdUtils.js =================================================================== diff -u -r17270 -r17276 --- ssts-web/src/main/webapp/disinfectsystem/common/cssdUtils.js (.../cssdUtils.js) (revision 17270) +++ ssts-web/src/main/webapp/disinfectsystem/common/cssdUtils.js (.../cssdUtils.js) (revision 17276) @@ -208,7 +208,18 @@ // 打印消毒物品以及材料明细 var printLabelOfDisinfection = function(tousseObj){ addDepartPrefixForTousseName(tousseObj); - var pageType = tousseObj.pageType; + // 消毒物品的标签类型要从祖先定义重新获取 + var barcodes = tousseObj.barcodes; + var jsonObj = ""; + DWREngine.setAsync(false); + PackingTableManager.getMaterialByBarcode(barcodes[0],function(result){ + jsonObj = Ext.decode(result); + }); + DWREngine.setAsync(true); + var pageType = jsonObj.barcodePaperType; + if(isUndefinedOrNullOrEmpty(pageType)){ + pageType = tousseObj.pageType; + } if(isPageTypeConfigured(tousseObj.tousseType,pageType) || isTemplatePageType(pageType)){ // alert(tousseObj.isTraceable)