|
|
@@ -41,6 +41,7 @@ import org.springblade.common.utils.NumToWords;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.secure.utils.SecureUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
+import org.springblade.core.tool.utils.ObjectUtil;
|
|
|
import org.springblade.finance.dto.ApplyDTO;
|
|
|
import org.springblade.finance.feign.IFinanceClient;
|
|
|
import org.springblade.finance.vojo.Items;
|
|
|
@@ -269,6 +270,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
// 金额求和
|
|
|
BigDecimal amount = list.stream().map(OrderItems::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
BigDecimal grossProfit = amount.subtract(reduce.add(order.getPredictOceanFreight())).subtract(order.getThisUsedProfit() == null ? BigDecimal.ZERO : order.getThisUsedProfit());
|
|
|
+
|
|
|
+ // 毛利额添加应收费用(除包装费)
|
|
|
+ Long feeId = 0L;
|
|
|
+ R<FeesDesc> fees = feesDescClient.getFeesByName("包装费");
|
|
|
+ if (fees.isSuccess() && ObjectUtil.isNotEmpty(fees.getData())) {
|
|
|
+ feeId = fees.getData().getId();
|
|
|
+ }
|
|
|
+ List<OrderFees> feeList = orderFeesService.list(new LambdaQueryWrapper<OrderFees>().eq(OrderFees::getPid, order.getId()).ne(OrderFees::getItemId, feeId).eq(OrderFees::getIsDeleted, 0));
|
|
|
+ BigDecimal totalFee = feeList.stream().map(OrderFees::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ grossProfit = grossProfit.add(totalFee);
|
|
|
+
|
|
|
BigDecimal grossProfitRate = new BigDecimal(BigInteger.ZERO);
|
|
|
if (amount.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
grossProfitRate = (grossProfit.divide(amount, RoundingMode.CEILING)).multiply(new BigDecimal(100));
|
|
|
@@ -517,6 +529,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
items.setAmount(items.getPurchaseAmount().multiply(items.getOrderQuantity()));
|
|
|
items.setPid(selectById.getId());
|
|
|
items.setId(null);
|
|
|
+ items.setSubmitPay(0);
|
|
|
items.setCreateTime(new Date());
|
|
|
items.setCreateUser(SecureUtil.getUserId());
|
|
|
items.setUpdateTime(null);
|