Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java =================================================================== diff -u -r12332 -r12333 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 12332) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 12333) @@ -76,6 +76,7 @@ import com.forgon.tools.GB2WB; import com.forgon.tools.MathTools; import com.forgon.tools.SqlBuilder; +import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.ObjectDao; import com.google.common.collect.Maps; @@ -618,7 +619,11 @@ TousseDefinition td = null; String tousseName = tousseItem.getTousseName(); Long appid = application.getId(); - td = tousseDefinitionManager.getTousseDefinitionByNameTypeAndAPPID(tousseName, TousseDefinition.PACKAGE_TYPE_DISINFECTION, appid.toString()); +// td = tousseDefinitionManager.getTousseDefinitionByNameTypeAndAPPID(tousseName, TousseDefinition.PACKAGE_TYPE_DISINFECTION, appid.toString()); + td = tousseDefinitionManager.getTousseDefinitionByTousseItem(tousseItem); + if(tousseItem.isDisinfection() && td.getForDisplay()){ + td = null;// 消毒物品不能直接关联页面上能看到的那个包定义。 + } if (td == null) { td = new TousseDefinition(); td.setInvoicePlanID(appid); @@ -2715,16 +2720,22 @@ if ("否".equals(newTousseItem.getDiposable())) { TousseDefinition td = tousseDefinitionManager .getTousseDefinitionByTousseItem(newTousseItem); - String expressRecycling = td.getExpressRecycling(); - if (td != null && StringUtils.isNotBlank(expressRecycling)) { - newTousseItem.setExpressRecycling(expressRecycling); + + if (td != null) { + String expressRecycling = td.getExpressRecycling(); + if(StringUtils.isNotBlank(expressRecycling)){ + newTousseItem.setExpressRecycling(expressRecycling); + } }else{ newTousseItem.setExpressRecycling(TousseDefinition.STR_NO); } if(td != null){ - newTousseItem.setTousseDefinitionId(td.getId()); newTousseItem.setIsRecycling(td.getIsRecycling()); } + if(td != null && !DatabaseUtil.isPoIdValid(newTousseItem.getTousseDefinitionId())){ + newTousseItem.setTousseDefinitionId(td.getId()); + } + // 只给借物单赋值(TODO:检查页面,如果页面有赋值也可去掉),其他的单的价格通过页面传递过来。 if(td != null){ if(InvoicePlan.TYPE_BORROWINGSINGLE.equals(application.getType())){