Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/dwr/table/RecyclingApplicationTableManager.java =================================================================== diff -u -r13802 -r13806 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/dwr/table/RecyclingApplicationTableManager.java (.../RecyclingApplicationTableManager.java) (revision 13802) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/dwr/table/RecyclingApplicationTableManager.java (.../RecyclingApplicationTableManager.java) (revision 13806) @@ -59,6 +59,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.forgon.tools.json.JSONUtil; import com.forgon.tools.json.JsonPropertyFilter; @@ -1032,7 +1033,18 @@ for(PrintPageVo ppv:summary.getPages()){ if(CollectionUtils.isNotEmpty(ppv.getRows())){ for(PrintRowVo prv:ppv.getRows()){ - BigDecimal bg = MathTools.mul(prv.getApplyAmount(), prv.getPrice()); + //默认数量为申请数量,如果为回收申请单,则取回收数量 + int amount = prv.getApplyAmount(); + if(DatabaseUtil.isPoIdValid(prv.getApplicationId())){ + //取到申请单对象(如果不是回收申请单数量取申请数量、否则取回收数量) + RecyclingApplication recyclingApplication = + recyclingApplicationManager.getRecyclingApplicationById(prv.getApplicationId()); + if(recyclingApplication != null + && InvoicePlan.TYPE_RECYCLINGCREATE_APPLICATION.equals(recyclingApplication.getType())){ + amount = prv.getRecyclingAmount(); + } + } + BigDecimal bg = MathTools.mul(amount, prv.getPrice()); prv.setRowPrice(bg == null ? 0.0 : bg.doubleValue()); summary.setTotalPrice(summary.getTotalPrice() + prv.getRowPrice()); }