|
|
@@ -524,27 +524,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
order.setStorageQuantity(orderItemsList.stream().map(OrderItems::getStorageInQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
}
|
|
|
baseMapper.updateById(order);
|
|
|
- if (ObjectUtils.isNotNull(order.getCurrentAmount()) && !order.getCurrentAmount().equals(new BigDecimal(0))) {
|
|
|
- List<Settlement> settlementList = new ArrayList<>();
|
|
|
- if (ObjectUtils.isNotNull(order.getSettlementList()) && order.getSettlementList().size() > 0){
|
|
|
- settlementList = order.getSettlementList();
|
|
|
- }
|
|
|
- Settlement settlement = new Settlement();
|
|
|
- settlement.setDc("d");
|
|
|
- settlement.setSettlementDate(new Date());
|
|
|
- settlement.setAccount(order.getAccount());
|
|
|
- settlement.setAmount(order.getCurrentAmount());
|
|
|
- settlementList.add(settlement);
|
|
|
- order.setSettlementList(settlementList);
|
|
|
- this.paymentApply(order, order.getBillType(), order.getTradeType());
|
|
|
- } else {
|
|
|
- //获取订单结算信息
|
|
|
- /*List<Settlement> settlementList = financeClient.selectListBySrcId(order.getId());
|
|
|
- order.setSettlementList(settlementList);*/
|
|
|
- if (ObjectUtils.isNotNull(order.getSettlmentAmount()) && order.getSettlementList().size() > 0) {
|
|
|
- this.paymentApply(order, order.getBillType(), order.getTradeType());
|
|
|
- }
|
|
|
- }
|
|
|
return R.data(order);
|
|
|
}
|
|
|
|
|
|
@@ -2116,6 +2095,27 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
selectOrder.setConfirmStatus(1);
|
|
|
baseMapper.updateById(selectOrder);
|
|
|
+ /* if (ObjectUtils.isNotNull(selectOrder.getCurrentAmount()) && !selectOrder.getCurrentAmount().equals(new BigDecimal(0))) {
|
|
|
+ List<Settlement> settlementList = new ArrayList<>();
|
|
|
+ if (ObjectUtils.isNotNull(order.getSettlementList()) && order.getSettlementList().size() > 0){
|
|
|
+ settlementList = order.getSettlementList();
|
|
|
+ }
|
|
|
+ Settlement settlement = new Settlement();
|
|
|
+ settlement.setDc("d");
|
|
|
+ settlement.setSettlementDate(new Date());
|
|
|
+ settlement.setAccount(order.getAccount());
|
|
|
+ settlement.setAmount(order.getCurrentAmount());
|
|
|
+ settlementList.add(settlement);
|
|
|
+ order.setSettlementList(settlementList);
|
|
|
+ this.paymentApply(order, order.getBillType(), order.getTradeType());
|
|
|
+ } else {*/
|
|
|
+ //获取订单结算信息
|
|
|
+ /*List<Settlement> settlementList = financeClient.selectListBySrcId(order.getId());
|
|
|
+ order.setSettlementList(settlementList);*/
|
|
|
+ if (ObjectUtils.isNotNull(selectOrder.getSettlmentAmount()) && order.getSettlementList().size() > 0) {
|
|
|
+ this.paymentApply(selectOrder, selectOrder.getBillType(), selectOrder.getTradeType());
|
|
|
+ }
|
|
|
+// }
|
|
|
return R.data(selectOrder);
|
|
|
}
|
|
|
|
|
|
@@ -2183,6 +2183,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
selectOrder.setConfirmStatus(0);
|
|
|
baseMapper.updateById(selectOrder);
|
|
|
+ financeClient.deleteBySrcId(selectOrder.getId());
|
|
|
return R.data(selectOrder);
|
|
|
}
|
|
|
|
|
|
@@ -2222,6 +2223,43 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
return R.data(order);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @param order
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public BigDecimal selectStorageAmount(OrderVO order) {
|
|
|
+ return baseMapper.selectStorageAmount(order);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public R collectPayment(Order order) {
|
|
|
+ Order selectOrder = baseMapper.selectById(order.getId());
|
|
|
+ if (ObjectUtils.isNotNull(order.getCurrentAmount()) && !order.getCurrentAmount().equals(new BigDecimal(0))) {
|
|
|
+ List<Settlement> settlementList = new ArrayList<>();
|
|
|
+ if (ObjectUtils.isNotNull(order.getSettlementList()) && order.getSettlementList().size() > 0) {
|
|
|
+ settlementList = order.getSettlementList();
|
|
|
+ }
|
|
|
+ Settlement settlement = new Settlement();
|
|
|
+ settlement.setDc("d");
|
|
|
+ settlement.setSettlementDate(new Date());
|
|
|
+ settlement.setAccount(order.getAccount());
|
|
|
+ settlement.setAmount(order.getCurrentAmount());
|
|
|
+ settlementList.add(settlement);
|
|
|
+ selectOrder.setSettlementList(settlementList);
|
|
|
+ this.paymentApply(selectOrder, selectOrder.getBillType(), selectOrder.getTradeType());
|
|
|
+ } else {
|
|
|
+ List<Settlement> settlementList1 = financeClient.selectListBySrcId(order.getId());
|
|
|
+ selectOrder.setSettlementList(settlementList1);
|
|
|
+ //获取订单结算信息
|
|
|
+ if (ObjectUtils.isNotNull(selectOrder.getSettlmentAmount()) && selectOrder.getSettlementList().size() > 0) {
|
|
|
+ this.paymentApply(selectOrder, selectOrder.getBillType(), selectOrder.getTradeType());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return R.data(selectOrder);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public MonthSales monthSales(OrderVO order) {
|
|
|
MonthSales monthSales = new MonthSales();
|
|
|
@@ -2702,70 +2740,63 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
orderFeesService.submitPay(order.getId());
|
|
|
}
|
|
|
} else {
|
|
|
+// if (ObjectUtils.isNotNull(order.getSettlementList()) && order.getSettlementList().size() > 0) {
|
|
|
+ applyDTO.setBillType(billType);
|
|
|
+ applyDTO.setTradeType(order.getTradeType());
|
|
|
+ applyDTO.setBelongCompany(order.getBelongToCorpName());
|
|
|
+ applyDTO.setUrl(order.getUrl());
|
|
|
+ applyDTO.setPageStatus(order.getPageStatus());
|
|
|
+ applyDTO.setPageLabel(order.getPageLabel());
|
|
|
+ applyDTO.setCheckType(order.getCheckType());
|
|
|
+ applyDTO.setAccDate(order.getBusinesDate());
|
|
|
+ if (OrderTypeEnum.PURCHASE.getType().equals(billType)) {
|
|
|
+ applyDTO.setDc("C");
|
|
|
+ } else if (OrderTypeEnum.SALES.getType().equals(billType)) {
|
|
|
+ applyDTO.setDc("D");
|
|
|
+ }
|
|
|
+ applyDTO.setSettlementList(order.getSettlementList());
|
|
|
+
|
|
|
+ amount = amount.add(order.getStorageAmount());
|
|
|
+ quantity = quantity.add(new BigDecimal(1));
|
|
|
+ price = price.add(amount);
|
|
|
+
|
|
|
+ applyDTO.setSrcParentId(order.getId());
|
|
|
+ applyDTO.setSrcSysno(order.getSysNo());
|
|
|
+ applyDTO.setItemType(itemType);
|
|
|
+ applyDTO.setCorpId(order.getCorpId());
|
|
|
+ applyDTO.setSrcId(order.getId());
|
|
|
+ applyDTO.setSrcFeesId(order.getId());
|
|
|
+ applyDTO.setCurrency("CNY");
|
|
|
+ applyDTO.setExchangeRate(order.getExchangeRate());
|
|
|
+ applyDTO.setTaxRate(BigDecimal.ZERO);
|
|
|
+ applyDTO.setSrcType(1);
|
|
|
+ applyDTO.setTradeType(order.getTradeType());
|
|
|
+ applyDTO.setChargeMember(order.getChargeMember());
|
|
|
+ applyDTO.setUnit("条");
|
|
|
+ applyDTO.setRemarks(order.getOrderRemark());
|
|
|
+ //获取费用id
|
|
|
+ R<FeesDesc> fees = feesDescClient.getFeesByName("货款");
|
|
|
+ if (fees.isSuccess() && fees.getData() != null) {
|
|
|
+ applyDTO.setCostType(fees.getData().getId().toString());
|
|
|
+ }
|
|
|
+ applyDTO.setQuantity(new BigDecimal(1));
|
|
|
+ applyDTO.setPrice(order.getDebitAmount());
|
|
|
+ applyDTO.setAmount(order.getDebitAmount());
|
|
|
+ applyDTO.setSrcDate(order.getBusinesDate());
|
|
|
+ applyDTO.setSrcBillNo(order.getOrderNo());
|
|
|
+ applyDTO.setAccSysNo(order.getSysNo());
|
|
|
+ applyDTO.setSrcRefno(order.getSysNo());
|
|
|
+ applyDTO.setRetrieval(order.getAdvanceCollectionDate());
|
|
|
+ applyDTO.setCorpName(order.getCorpsName());
|
|
|
+
|
|
|
+ applyDTO.setAmount(amount);
|
|
|
+ applyDTO.setPrice(price);
|
|
|
+ applyDTO.setQuantity(quantity);
|
|
|
+ applyDTO.setReceivedAmount(order.getCurrentAmount());
|
|
|
+ applyDTO.setSettlementAmount(order.getSettlmentAmount());
|
|
|
if (ObjectUtils.isNotNull(order.getSettlementList()) && order.getSettlementList().size() > 0) {
|
|
|
- applyDTO.setBillType(billType);
|
|
|
- applyDTO.setTradeType(order.getTradeType());
|
|
|
- applyDTO.setBelongCompany(order.getBelongToCorpName());
|
|
|
- applyDTO.setUrl(order.getUrl());
|
|
|
- applyDTO.setPageStatus(order.getPageStatus());
|
|
|
- applyDTO.setPageLabel(order.getPageLabel());
|
|
|
- applyDTO.setCheckType(order.getCheckType());
|
|
|
- applyDTO.setAccDate(order.getBusinesDate());
|
|
|
- if (OrderTypeEnum.PURCHASE.getType().equals(billType)) {
|
|
|
- applyDTO.setDc("C");
|
|
|
- } else if (OrderTypeEnum.SALES.getType().equals(billType)) {
|
|
|
- applyDTO.setDc("D");
|
|
|
- }
|
|
|
- applyDTO.setSettlementList(order.getSettlementList());
|
|
|
-
|
|
|
- amount = amount.add(order.getStorageAmount());
|
|
|
- quantity = quantity.add(new BigDecimal(1));
|
|
|
- price = price.add(amount);
|
|
|
-
|
|
|
- applyDTO.setSrcParentId(order.getId());
|
|
|
- applyDTO.setSrcSysno(order.getSysNo());
|
|
|
- applyDTO.setItemType(itemType);
|
|
|
- applyDTO.setCorpId(order.getCorpId());
|
|
|
- applyDTO.setSrcId(order.getId());
|
|
|
- applyDTO.setSrcFeesId(order.getId());
|
|
|
- applyDTO.setCurrency("CNY");
|
|
|
- applyDTO.setExchangeRate(order.getExchangeRate());
|
|
|
- applyDTO.setTaxRate(BigDecimal.ZERO);
|
|
|
- applyDTO.setSrcType(1);
|
|
|
- applyDTO.setTradeType(order.getTradeType());
|
|
|
- applyDTO.setChargeMember(order.getChargeMember());
|
|
|
- applyDTO.setUnit("条");
|
|
|
- applyDTO.setRemarks(order.getOrderRemark());
|
|
|
- //获取费用id
|
|
|
- R<FeesDesc> fees = feesDescClient.getFeesByName("货款");
|
|
|
- if (fees.isSuccess() && fees.getData() != null) {
|
|
|
- applyDTO.setCostType(fees.getData().getId().toString());
|
|
|
- }
|
|
|
- applyDTO.setQuantity(new BigDecimal(1));
|
|
|
- applyDTO.setPrice(order.getDebitAmount());
|
|
|
- applyDTO.setAmount(order.getDebitAmount());
|
|
|
- applyDTO.setSrcDate(order.getBusinesDate());
|
|
|
- applyDTO.setSrcBillNo(order.getOrderNo());
|
|
|
- applyDTO.setAccSysNo(order.getSysNo());
|
|
|
- applyDTO.setSrcRefno(order.getSysNo());
|
|
|
- applyDTO.setRetrieval(order.getAdvanceCollectionDate());
|
|
|
- applyDTO.setCorpName(order.getCorpsName());
|
|
|
-
|
|
|
- applyDTO.setAmount(amount);
|
|
|
- applyDTO.setPrice(price);
|
|
|
- applyDTO.setQuantity(quantity);
|
|
|
- applyDTO.setReceivedAmount(order.getCurrentAmount());
|
|
|
- applyDTO.setSettlementAmount(order.getSettlmentAmount());
|
|
|
List<Settlement> settlementList = order.getSettlementList().stream().filter(o -> o.getAccId() != null).collect(Collectors.toList());
|
|
|
- if (settlementList.size() > 0) {
|
|
|
- applyDTO.setId(settlementList.get(0).getAccId());
|
|
|
- }
|
|
|
-
|
|
|
- //生成账单
|
|
|
- R paymentApply = financeClient.paymentApplyParts(applyDTO);
|
|
|
- if (!paymentApply.isSuccess()) {
|
|
|
- throw new RuntimeException(paymentApply.getMsg());
|
|
|
- }
|
|
|
+ applyDTO.setId(settlementList.get(0).getAccId());
|
|
|
|
|
|
BigDecimal receivedAmount = order.getCurrentAmount();
|
|
|
receivedAmount = receivedAmount.add(order.getSettlmentAmount());
|
|
|
@@ -2776,7 +2807,15 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
order1.setSettlmentAmount(receivedAmount);
|
|
|
order1.setBalanceAmount(amount);
|
|
|
baseMapper.updateById(order1);
|
|
|
- //给角色为财务的人发送消息
|
|
|
+ }
|
|
|
+ //生成账单
|
|
|
+ R paymentApply = financeClient.paymentApplyParts(applyDTO);
|
|
|
+ if (!paymentApply.isSuccess()) {
|
|
|
+ throw new RuntimeException(paymentApply.getMsg());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //给角色为财务的人发送消息
|
|
|
/*R<String> clientDeptIds = sysClient.getRoleIds(SecureUtil.getTenantId(), "财务");
|
|
|
if (clientDeptIds.isSuccess() && StringUtils.isNotBlank(clientDeptIds.getData())) {
|
|
|
R<List<User>> userList = userClient.listUserByRoleId(Long.valueOf(clientDeptIds.getData()));
|
|
|
@@ -2804,7 +2843,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
}
|
|
|
}*/
|
|
|
- }
|
|
|
+// }
|
|
|
}
|
|
|
}
|
|
|
|