Index: forgon-tools/src/main/java/com/forgon/tools/MathTools.java =================================================================== diff -u -r21714 -r23467 --- forgon-tools/src/main/java/com/forgon/tools/MathTools.java (.../MathTools.java) (revision 21714) +++ forgon-tools/src/main/java/com/forgon/tools/MathTools.java (.../MathTools.java) (revision 23467) @@ -194,6 +194,23 @@ return ret; } /** + * 计算两个数的商。 + * @param a + * @param b + * @param newScale 小数位 + * @return a / b,如果b为0,返回0.如果a或者b为null,返回0 + */ + public static BigDecimal div(Number a,Number b , int newScale){ + BigDecimal ret = null; + if(a != null && b != null && !valueEquals(b, 0)){ + ret = new BigDecimal(a.doubleValue()).divide(new BigDecimal(b.doubleValue()),10,RoundingMode.HALF_UP); + } + if(ret == null){ + ret = new BigDecimal(0.0); + } + return ret; + } + /** * 计算集合的总和 * @param items 参与计算的数据项集合。可以为null,也可以包含null元素,但是null都当成0 * @return Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java =================================================================== diff -u -r23442 -r23467 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 23442) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 23467) @@ -3049,7 +3049,8 @@ rowVo.setPackageSpec(packageSpec); rowVo.setSp(sp); rowVo.setRowPrice(MathTools.mul(tousseItem.showPrice(), printAmount).doubleValue()); - rowVo.setPrice(MathTools.divide(rowVo.getRowPrice(), printAmount,4)); +// rowVo.setPrice(MathTools.divide(rowVo.getRowPrice(), printAmount,4)); + rowVo.setPrice(MathTools.div(rowVo.getRowPrice(), printAmount , 4).doubleValue()); rowVo.setAncestorID(tousseItem.getAncestorID()); //修改消毒物品价格、数量 reSetDisinfectGoodPrintItem(tousseType, td, rowVo);