|
@@ -48,7 +48,6 @@ import org.springblade.core.tool.api.R;
|
|
|
import org.springblade.core.tool.utils.BeanUtil;
|
|
import org.springblade.core.tool.utils.BeanUtil;
|
|
|
import org.springblade.core.tool.utils.ObjectUtil;
|
|
import org.springblade.core.tool.utils.ObjectUtil;
|
|
|
import org.springblade.deliver.goods.entity.Delivery;
|
|
import org.springblade.deliver.goods.entity.Delivery;
|
|
|
-import org.springblade.deliver.goods.entity.DeliveryItems;
|
|
|
|
|
import org.springblade.deliver.goods.feign.IDeliveryClient;
|
|
import org.springblade.deliver.goods.feign.IDeliveryClient;
|
|
|
import org.springblade.finance.dto.ApplyDTO;
|
|
import org.springblade.finance.dto.ApplyDTO;
|
|
|
import org.springblade.finance.feign.IFinanceClient;
|
|
import org.springblade.finance.feign.IFinanceClient;
|
|
@@ -302,7 +301,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
}
|
|
|
documentRecoveryService.removeById(documentRecovery.get(0).getId());
|
|
documentRecoveryService.removeById(documentRecovery.get(0).getId());
|
|
|
} else {
|
|
} else {
|
|
|
- R clientBillNo = serialClient.getBillNo(substring, order.getTradeType(), order.getBillType());
|
|
|
|
|
|
|
+ R clientBillNo;
|
|
|
|
|
+ if (order.getBillType().equals(OrderTypeEnum.ENQUIRY.getType())) {
|
|
|
|
|
+ DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
+ String date2 = dateFormat.format(order.getBusinesDate());
|
|
|
|
|
+ clientBillNo = serialClient.getBillNoByDate(substring, order.getTradeType(), order.getBillType(), date2);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ clientBillNo = serialClient.getBillNo(substring, order.getTradeType(), order.getBillType());
|
|
|
|
|
+ }
|
|
|
if (!clientBillNo.isSuccess()) {
|
|
if (!clientBillNo.isSuccess()) {
|
|
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
return R.fail(500, "生成订单编号失败");
|
|
return R.fail(500, "生成订单编号失败");
|
|
@@ -454,6 +460,13 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
if (order.getTradeType().equals(OrderTypeEnum.DOMESTIC.getType())) {
|
|
if (order.getTradeType().equals(OrderTypeEnum.DOMESTIC.getType())) {
|
|
|
order.setMorderNo(order.getOrderNo());
|
|
order.setMorderNo(order.getOrderNo());
|
|
|
}
|
|
}
|
|
|
|
|
+ } else {
|
|
|
|
|
+ String yyyyMM = DateFormatUtils.format(order.getBusinesDate(), "yyMMdd");
|
|
|
|
|
+ if (order.getBillType().equals(OrderTypeEnum.ENQUIRY.getType())) {
|
|
|
|
|
+ String orderNo = order.getOrderNo().substring(0, order.getOrderNo().indexOf("-")+1);
|
|
|
|
|
+ orderNo = orderNo + yyyyMM;
|
|
|
|
|
+ order.setOrderNo(orderNo);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
order.setTenantId(SecureUtil.getTenantId());
|
|
order.setTenantId(SecureUtil.getTenantId());
|
|
|
order.setUpdateTime(date);
|
|
order.setUpdateTime(date);
|
|
@@ -6088,22 +6101,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
sendMessage.setCreateTime(new Date());
|
|
sendMessage.setCreateTime(new Date());
|
|
|
sendMessage.setPageLabel(selectOrder.getPageLabel());
|
|
sendMessage.setPageLabel(selectOrder.getPageLabel());
|
|
|
sendMessage.setPageStatus(selectOrder.getPageStatus());
|
|
sendMessage.setPageStatus(selectOrder.getPageStatus());
|
|
|
- if (true) {
|
|
|
|
|
|
|
+ if (2 == order.getPurchaseStatusType()) {
|
|
|
|
|
+ sendMessage.setMessageBody("您的销售订单" + selectOrder.getOrderNo() + "已预计货好,请查看");
|
|
|
sendMessage.setUrl("/exportTrade/salesContract/index");
|
|
sendMessage.setUrl("/exportTrade/salesContract/index");
|
|
|
sendMessage.setToUserId(selectOrder.getCreateUser());
|
|
sendMessage.setToUserId(selectOrder.getCreateUser());
|
|
|
sendMessage.setToUserName(selectOrder.getCreateUserName());
|
|
sendMessage.setToUserName(selectOrder.getCreateUserName());
|
|
|
- if (1 == order.getPurchaseStatusType()) {
|
|
|
|
|
- sendMessage.setMessageBody("您的销售订单" + selectOrder.getOrderNo() + "正在排产中,请查看");
|
|
|
|
|
- } else if (2 == order.getPurchaseStatusType()) {
|
|
|
|
|
- sendMessage.setMessageBody("您的销售订单" + selectOrder.getOrderNo() + "已预计货好,请查看");
|
|
|
|
|
- } else if (3 == order.getPurchaseStatusType()) {
|
|
|
|
|
- sendMessage.setMessageBody("您的销售订单" + selectOrder.getOrderNo() + "已采购完成,请查看");
|
|
|
|
|
- deliveryClient.updateBySrcId(selectOrder.getId(), "FH", selectOrder.getTradeType());
|
|
|
|
|
- }
|
|
|
|
|
R save = messageClient.save(sendMessage);
|
|
R save = messageClient.save(sendMessage);
|
|
|
if (!save.isSuccess()) {
|
|
if (!save.isSuccess()) {
|
|
|
throw new SecurityException("发送消息失败");
|
|
throw new SecurityException("发送消息失败");
|
|
|
}
|
|
}
|
|
|
|
|
+ } else if (3 == order.getPurchaseStatusType()) {
|
|
|
|
|
+ deliveryClient.updateBySrcId(selectOrder.getId(), "FH", selectOrder.getTradeType());
|
|
|
}
|
|
}
|
|
|
if (true) {
|
|
if (true) {
|
|
|
sendMessage.setUrl("/exportTrade/invoice/index");
|
|
sendMessage.setUrl("/exportTrade/invoice/index");
|
|
@@ -8524,6 +8532,22 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
if (CollectionUtils.isNotEmpty(orderItemsList)) {
|
|
if (CollectionUtils.isNotEmpty(orderItemsList)) {
|
|
|
amount = amount.add(orderItemsList.stream().map(OrderItems::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
amount = amount.add(orderItemsList.stream().map(OrderItems::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
}
|
|
}
|
|
|
|
|
+ List<OrderFees> orderFeesList = orderFeesService.list(new LambdaQueryWrapper<OrderFees>()
|
|
|
|
|
+ .eq(OrderFees::getIsDeleted, 0)
|
|
|
|
|
+ .eq(OrderFees::getTenantId, AuthUtil.getTenantId())
|
|
|
|
|
+ .eq(OrderFees::getFeesType, 1)
|
|
|
|
|
+ .eq(OrderFees::getPid, order.getId()));
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(orderFeesList)) {
|
|
|
|
|
+ BigDecimal amountCny = orderFeesList.stream().filter(e -> "CNY".equals(e.getCurrency())).map(OrderFees::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
+ BigDecimal amountUsd = orderFeesList.stream().filter(e -> "USD".equals(e.getCurrency())).map(OrderFees::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
+ if ("CNY".equals(order.getCurrency())) {
|
|
|
|
|
+ amountUsd = amountUsd.multiply(order.getExchangeRate());
|
|
|
|
|
+ amount = amount.add(amountCny).add(amountUsd);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ amountCny = amountCny.divide(order.getExchangeRate(), 2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
+ amount = amount.add(amountUsd).add(amountCny);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
if (order.getThisUsedProfit() != null) {
|
|
if (order.getThisUsedProfit() != null) {
|
|
|
amount = amount.subtract(order.getThisUsedProfit());
|
|
amount = amount.subtract(order.getThisUsedProfit());
|
|
|
}
|
|
}
|
|
@@ -8534,7 +8558,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
items.setItemType(itemType);
|
|
items.setItemType(itemType);
|
|
|
items.setCorpId(order.getCorpId());
|
|
items.setCorpId(order.getCorpId());
|
|
|
items.setSrcParentId(order.getId());
|
|
items.setSrcParentId(order.getId());
|
|
|
- items.setCurrency("CNY");
|
|
|
|
|
|
|
+ items.setCurrency(order.getCurrency());
|
|
|
items.setExchangeRate(new BigDecimal(1));
|
|
items.setExchangeRate(new BigDecimal(1));
|
|
|
items.setTaxRate(BigDecimal.ZERO);
|
|
items.setTaxRate(BigDecimal.ZERO);
|
|
|
items.setSrcType(1);
|
|
items.setSrcType(1);
|
|
@@ -8544,7 +8568,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
items.setQuantity(new BigDecimal(1));
|
|
items.setQuantity(new BigDecimal(1));
|
|
|
items.setPrice(price);
|
|
items.setPrice(price);
|
|
|
items.setUnit("条");
|
|
items.setUnit("条");
|
|
|
- items.setRemarks(order.getOrderRemark());
|
|
|
|
|
|
|
+ items.setRemarks(order.getPaymentTypeDescription());
|
|
|
//获取费用id
|
|
//获取费用id
|
|
|
R<FeesDesc> fees = feesDescClient.getFeesByName("货款");
|
|
R<FeesDesc> fees = feesDescClient.getFeesByName("货款");
|
|
|
if (fees.isSuccess() && fees.getData() != null) {
|
|
if (fees.isSuccess() && fees.getData() != null) {
|