Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/materialerrordamage/service/MaterialErrorDamageDetailManager.java =================================================================== diff -u -r19154 -r23726 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/materialerrordamage/service/MaterialErrorDamageDetailManager.java (.../MaterialErrorDamageDetailManager.java) (revision 19154) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/materialerrordamage/service/MaterialErrorDamageDetailManager.java (.../MaterialErrorDamageDetailManager.java) (revision 23726) @@ -1,5 +1,6 @@ package com.forgon.disinfectsystem.materialerrordamage.service; +import java.util.Collection; import java.util.List; import java.util.Map; @@ -50,5 +51,16 @@ * @return */ public Map> groupByTousseInstanceBarcode(List errorDamages); - + /** + * 获取申请单关联的丢失报损信息 + * @param invoicePlanId 申请单的id + * @return + */ + public List getInvoicePlanMaterialErrorDamage(Long invoicePlanId); + /** + * 获取申请单关联的丢失报损信息 + * @param invoicePlanIds + * @return + */ + public List getInvoicePlanMaterialErrorDamage(Collection invoicePlanIds); } Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/materialerrordamage/service/MaterialErrorDamageDetailManagerImpl.java =================================================================== diff -u -r23009 -r23726 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/materialerrordamage/service/MaterialErrorDamageDetailManagerImpl.java (.../MaterialErrorDamageDetailManagerImpl.java) (revision 23009) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/materialerrordamage/service/MaterialErrorDamageDetailManagerImpl.java (.../MaterialErrorDamageDetailManagerImpl.java) (revision 23726) @@ -48,6 +48,7 @@ import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.BasePoManagerImpl; import com.forgon.tools.string.StringTools; +import com.forgon.tools.util.SqlUtils; /** * @author WangYi @@ -652,4 +653,19 @@ } return map; } + @Override + public List getInvoicePlanMaterialErrorDamage(Long invoicePlanId){ + if(DatabaseUtil.isPoIdValid(invoicePlanId)){ + List ids = new ArrayList<>(); + ids.add(invoicePlanId); + return getInvoicePlanMaterialErrorDamage(ids); + } + return null; + } + @Override + public List getInvoicePlanMaterialErrorDamage(Collection invoicePlanIds){ + String invoiceIdSql = SqlUtils.getNonStringFieldInLargeCollectionsPredicate("po.recyclingRecord.recyclingApplication.id", invoicePlanIds); + String sql = String.format("select po.errorDamageDetails from %s po where %s",RecyclingItem.class.getSimpleName(),invoiceIdSql); + return objectDao.findByHql(sql); + } }