解决自动分派出现无限循环小数问题

liweidong
李涛 1 day ago
parent 7b2ebcbd20
commit f300137ebb
  1. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderDailyAssignImpl.java

@ -23,6 +23,7 @@ import org.springblade.desk.order.service.IYieldOrderDailyAssignService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalTime; import java.time.LocalTime;
@ -179,10 +180,10 @@ public class YieldOrderDailyAssignImpl extends BaseServiceImpl<YieldOrderDailyAs
if (bpas.getWeekAssign() == null || bpas.getWeekAssign().compareTo(BigDecimal.ZERO) == 0) { if (bpas.getWeekAssign() == null || bpas.getWeekAssign().compareTo(BigDecimal.ZERO) == 0) {
bpas.setFactor(bpas.getAssignScale().divide(BigDecimal.valueOf(100)).multiply(BigDecimal.valueOf(10000)) ); bpas.setFactor(bpas.getAssignScale().divide(BigDecimal.valueOf(100)).multiply(BigDecimal.valueOf(10000)) );
} else { } else {
if(bpas.getClassifyAssign().compareTo(BigDecimal.ZERO) ==0){ if (bpas.getClassifyAssign().compareTo(BigDecimal.ZERO) == 0) {
bpas.setFactor(BigDecimal.ZERO); bpas.setFactor(BigDecimal.ZERO);
}else{ } else {
bpas.setFactor(bpas.getAssignScale().divide(BigDecimal.valueOf(100)).divide (bpas.getWeekAssign().divide(bpas.getClassifyAssign()))); bpas.setFactor(bpas.getAssignScale().divide(BigDecimal.valueOf(100)).divide(bpas.getWeekAssign().divide(bpas.getClassifyAssign(), 5, RoundingMode.HALF_UP), 5, RoundingMode.HALF_UP));
} }
} }
planAssignSteerService.updateById(bpas); planAssignSteerService.updateById(bpas);

Loading…
Cancel
Save