Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java =================================================================== diff -u -r21482 -r21491 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 21482) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 21491) @@ -2889,23 +2889,18 @@ if (CollectionUtils.isNotEmpty(goods)) { //迭代查找出来的list,并计算应该绑定的数量 for (GoodsBindingConfig good : goods) { - Integer bindCount = 0; + if (good.getMainCount() == null || good.getSecondaryCount() == null) { + continue; + } + Integer bindCount = 0; if (GoodType.MAIN.equals(type)) { - //如果当前数量不能整除主要绑定物 - if (count % good.getMainCount() != 0) { - continue; - } - //计算出比例,次绑定物的数量=当前数量/主绑定物数量*次要绑定物数量 - Integer rate = count / good.getMainCount(); - bindCount = rate * good.getSecondaryCount(); + //除不尽向下取整 + Double rate = Math.floor(count / good.getMainCount()); + bindCount = rate.intValue() * good.getSecondaryCount(); } else if (GoodType.SECOND.equals(type)) { - //如果当前数量不能整除次要绑定物 - if (count % good.getSecondaryCount() != 0) { - continue; - } - //计算出比例,主绑定物的数量=当前数量/次要绑定物数量*主要绑定物数量 - Integer rate = count / good.getSecondaryCount(); - bindCount = rate * good.getMainCount(); + //除不尽向下取整 + Double rate = Math.floor(count / good.getSecondaryCount()); + bindCount = rate.intValue() * good.getMainCount(); } Map jsonObject = new HashMap();