|
|
@@ -1057,6 +1057,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
baseMapper.insert(submitDto);
|
|
|
//结余数量
|
|
|
BigDecimal balanceNumber = new BigDecimal(0);
|
|
|
+ BigDecimal balanceMoney = new BigDecimal(0);
|
|
|
//明细品名集合
|
|
|
List<String> goodsName = new ArrayList<>();
|
|
|
//判断明细是否为空
|
|
|
@@ -1097,6 +1098,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
orderItems.setBalanceNumber(orderItems.getStorageInQuantity());
|
|
|
orderItemsMapper.insert(orderItems);
|
|
|
balanceNumber = balanceNumber.add(orderItems.getStorageInQuantity());
|
|
|
+ balanceMoney = balanceMoney.add(orderItems.getBalanceMoney());
|
|
|
goodsName.add(orderItems.getGoodsName());
|
|
|
}
|
|
|
}
|
|
|
@@ -1109,6 +1111,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
submitDto.setUpdateUser(AuthUtil.getUserId());
|
|
|
submitDto.setUpdateTime(new Date());
|
|
|
submitDto.setStorageQuantity(balanceNumber);//入库量
|
|
|
+ submitDto.setStorageAmount(balanceMoney);//入库量
|
|
|
submitDto.setSpecialRemarks(String.join(",", goodsName));//明细品名
|
|
|
baseMapper.updateById(submitDto);
|
|
|
return R.data(submitDto);
|
|
|
@@ -1129,6 +1132,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
submitDto.setTradeType(OrderTypeEnum.WOOD_HARVESTING_CLOUD.getType());//类型
|
|
|
//结余数量
|
|
|
BigDecimal balanceNumber = new BigDecimal(0);
|
|
|
+ BigDecimal balanceMoney = new BigDecimal(0);
|
|
|
//明细品名集合
|
|
|
List<String> goodsName = new ArrayList<>();
|
|
|
//明细是否为空
|
|
|
@@ -1186,6 +1190,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
orderItemsMapper.insert(orderItems);
|
|
|
}
|
|
|
balanceNumber = balanceNumber.add(orderItems.getStorageInQuantity());
|
|
|
+ balanceMoney = balanceMoney.add(orderItems.getBalanceMoney());
|
|
|
goodsName.add(orderItems.getGoodsName());
|
|
|
}
|
|
|
}
|
|
|
@@ -1198,6 +1203,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
submitDto.setUpdateUser(AuthUtil.getUserId());
|
|
|
submitDto.setUpdateTime(new Date());
|
|
|
submitDto.setStorageQuantity(balanceNumber);//入库量
|
|
|
+ submitDto.setStorageAmount(balanceMoney);//入库量
|
|
|
submitDto.setSpecialRemarks(String.join(",", goodsName));//明细品名
|
|
|
baseMapper.updateById(submitDto);
|
|
|
return R.data(submitDto);
|
|
|
@@ -1241,6 +1247,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
//结余数量
|
|
|
BigDecimal balanceNumber = new BigDecimal(0);
|
|
|
+ BigDecimal balanceMoney = new BigDecimal(0);
|
|
|
//明细品名集合
|
|
|
List<String> goodsName = new ArrayList<>();
|
|
|
|
|
|
@@ -1296,6 +1303,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
orderItemsMapper.insert(orderItems);
|
|
|
}
|
|
|
balanceNumber = balanceNumber.add(orderItems.getStorageInQuantity());
|
|
|
+ balanceMoney = balanceMoney.add(orderItems.getBalanceMoney());
|
|
|
goodsName.add(orderItems.getGoodsName());
|
|
|
}
|
|
|
}
|
|
|
@@ -1308,6 +1316,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
submitDto.setUpdateUser(AuthUtil.getUserId());
|
|
|
submitDto.setUpdateTime(new Date());
|
|
|
submitDto.setStorageQuantity(balanceNumber);//入库量
|
|
|
+ submitDto.setStorageAmount(balanceMoney);//入库量
|
|
|
submitDto.setSpecialRemarks(String.join(",", goodsName));//明细品名
|
|
|
baseMapper.updateById(submitDto);
|
|
|
return R.data(submitDto);
|
|
|
@@ -1342,7 +1351,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
List<OrderItems> orderItems = orderItemsMapper.selectList(orderItemsLambdaQueryWrapper);
|
|
|
|
|
|
//生成账单数据
|
|
|
- order.setOrderNo(salesOrder.getOrderNo());
|
|
|
+ order.setOrderNo(salesOrder.getSysNo());
|
|
|
order.setBusinesDate(salesOrder.getBusinesDate());
|
|
|
order.setCorpId(salesOrder.getCorpId());
|
|
|
order.setBelongToCorpId(salesOrder.getBelongToCorpId());
|
|
|
@@ -1350,7 +1359,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
order.setThisUsedProfit(salesOrder.getThisUsedProfit());
|
|
|
order.setPurchaserId(salesOrder.getPurchaserId());
|
|
|
order.setStorageId(salesOrder.getStorageId());
|
|
|
- order.setOrgOrderNo(salesOrder.getOrgOrderNo());
|
|
|
+ order.setOrgOrderNo(salesOrder.getSysNo());
|
|
|
order.setStorageQuantity(salesOrder.getStorageQuantity());
|
|
|
order.setBillNo(salesOrder.getBillNo());
|
|
|
order.setId(salesOrder.getId());
|
|
|
@@ -1465,7 +1474,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
receivableLambdaQueryWrapper.eq(OrderFees::getPid, order.getId());
|
|
|
receivableLambdaQueryWrapper.eq(OrderFees::getFeesType, 2);
|
|
|
List<OrderFees> receivableOrderFeesList = orderFeesService.list(receivableLambdaQueryWrapper);
|
|
|
- auditProecessDTO.setPayAmount(receivableOrderFeesList.stream().map(OrderFees::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ if (ObjectUtils.isNotNull(receivableOrderFeesList)){
|
|
|
+ auditProecessDTO.setPayAmount(receivableOrderFeesList.stream().map(OrderFees::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }else{
|
|
|
+ auditProecessDTO.setPayAmount(new BigDecimal(0));
|
|
|
+ }
|
|
|
//应收
|
|
|
LambdaQueryWrapper<OrderFees> payLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
payLambdaQueryWrapper.eq(OrderFees::getIsDeleted, 0);
|
|
|
@@ -1473,7 +1486,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
payLambdaQueryWrapper.eq(OrderFees::getPid, order.getId());
|
|
|
payLambdaQueryWrapper.eq(OrderFees::getFeesType, 1);
|
|
|
List<OrderFees> payOrderFeesList = orderFeesService.list(payLambdaQueryWrapper);
|
|
|
- auditProecessDTO.setReceivableAmount(payOrderFeesList.stream().map(OrderFees::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ if (ObjectUtils.isNotNull(receivableOrderFeesList)){
|
|
|
+ auditProecessDTO.setReceivableAmount(payOrderFeesList.stream().map(OrderFees::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }else{
|
|
|
+ auditProecessDTO.setReceivableAmount(new BigDecimal(0));
|
|
|
+ }
|
|
|
}
|
|
|
//审批数据
|
|
|
auditProecessDTO.setOrderQuantity(salesOrder.getStorageQuantity());
|
|
|
@@ -1847,11 +1864,15 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
if (orderFees.getSettlmentAmount().compareTo(new BigDecimal(0)) > 0) {
|
|
|
throw new SecurityException("账务已结算,撤回失败");
|
|
|
}
|
|
|
- orderFees.setIsCheck(0);
|
|
|
- orderFees.setSubmitPay(0);
|
|
|
- orderFees.setSettlmentAmount(new BigDecimal("0"));
|
|
|
- orderFeesService.updateById(orderFees);
|
|
|
- financeClient.deleteBySrcFeesId(orderFees.getId());
|
|
|
+ if ("1".equals(orderFees.getStorageFee())) {
|
|
|
+ orderFeesService.removeById(orderFees.getId());
|
|
|
+ } else {
|
|
|
+ orderFees.setIsCheck(0);
|
|
|
+ orderFees.setSubmitPay(0);
|
|
|
+ orderFees.setSettlmentAmount(new BigDecimal("0"));
|
|
|
+ orderFeesService.updateById(orderFees);
|
|
|
+ financeClient.deleteBySrcFeesId(orderFees.getId());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//获取入库
|
|
|
@@ -1897,14 +1918,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
order.setConfirmStatus("0");
|
|
|
//出库审批撤销
|
|
|
} else if (OrderTypeEnum.OUT_WAREHOUSING.getType().equals(order.getBillType())) {
|
|
|
- //入库明细
|
|
|
- LambdaQueryWrapper<OrderItems> RKOrderItemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- RKOrderItemsLambdaQueryWrapper
|
|
|
- .eq(OrderItems::getIsDeleted, 0)
|
|
|
- .eq(OrderItems::getPid, RKOrder.getId())
|
|
|
- .eq(OrderItems::getBillType, OrderTypeEnum.WAREHOUSING.getType())
|
|
|
- .eq(OrderItems::getTenantId, AuthUtil.getTenantId());
|
|
|
- List<OrderItems> RKOrderItemsList = orderItemsMapper.selectList(RKOrderItemsLambdaQueryWrapper);
|
|
|
int isIssue = 4;
|
|
|
//判断第几次出库审核
|
|
|
if (8 == order.getStatus()) {
|
|
|
@@ -2211,7 +2224,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
List<Financing> stillList = financingService.list(stillLambdaQueryWrapper);
|
|
|
BigDecimal still = stillList.stream().map(Financing::getFinancingAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
|
- BigDecimal financing = still.subtract(borrow, MathContext.UNLIMITED);
|
|
|
+ BigDecimal financing = borrow.subtract(still, MathContext.UNLIMITED);
|
|
|
|
|
|
//获取该客户还在库的货物金额
|
|
|
LambdaQueryWrapper<Order> orderLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
@@ -2301,6 +2314,15 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * @param year
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<Map<String, Object>> salesTrends(String year) {
|
|
|
+ return baseMapper.salesTrends(AuthUtil.getTenantId(),year);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 订单生成账单 并且推送财务消息
|
|
|
*
|
|
|
* @param order 订单信息
|
|
|
@@ -2514,14 +2536,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
//判断实际存放天数是否大于本条结束天数
|
|
|
if (days >= agreementitems.getEnDays()) {
|
|
|
//本条收费天数乘以单价 = 所需收费金额
|
|
|
- amount = amount.add((new BigDecimal((agreementitems.getEnDays() - agreementitems.getFromDays() + 1), MathContext.UNLIMITED)).multiply(agreementitems.getPrice(), MathContext.UNLIMITED).multiply(order.getStorageQuantity()));
|
|
|
+ amount = amount.add((new BigDecimal((agreementitems.getEnDays() - agreementitems.getFromDays() + 1), MathContext.UNLIMITED)).multiply(agreementitems.getPrice(), MathContext.UNLIMITED).multiply(orderItems.getStorageInQuantity()));
|
|
|
//业务天数减去本条结束天数所得天数为下一条要收费天数
|
|
|
date = date - (agreementitems.getEnDays() - agreementitems.getFromDays() + 1);
|
|
|
- text.append(order.getStorageQuantity()).append("*").append(agreementitems.getPrice()).append("*").append(agreementitems.getEnDays() - agreementitems.getFromDays() + 1).append("+");
|
|
|
+ text.append(orderItems.getStorageInQuantity()).append("*").append(agreementitems.getPrice()).append("*").append(agreementitems.getEnDays() - agreementitems.getFromDays() + 1).append("+");
|
|
|
} else {
|
|
|
if (agreementitems.getPrice().compareTo(new BigDecimal(0)) > 0) {
|
|
|
//业务天数乘以单价 = 剩余所需收费金额
|
|
|
- amount = amount.add((new BigDecimal(date + 2)).multiply(agreementitems.getPrice(), MathContext.UNLIMITED).multiply(order.getStorageQuantity()));
|
|
|
+ amount = amount.add((new BigDecimal(date + 2)).multiply(agreementitems.getPrice(), MathContext.UNLIMITED).multiply(orderItems.getStorageInQuantity()));
|
|
|
text.append(order.getStorageQuantity()).append("*").append(agreementitems.getPrice()).append("*").append(date + 2);
|
|
|
}
|
|
|
}
|
|
|
@@ -2547,12 +2569,35 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
items.setSrcBillNo(order.getBillNo());
|
|
|
items.setStatusJT(1);
|
|
|
items.setBillNo(order.getBillNo());
|
|
|
+
|
|
|
//获取费用id
|
|
|
R<FeesDesc> fees = feesDescClient.getFeesByName("仓储费");
|
|
|
if (fees.isSuccess() && fees.getData() != null) {
|
|
|
items.setCostType(fees.getData().getId().toString());
|
|
|
- items.setSrcFeesId(fees.getData().getId());
|
|
|
}
|
|
|
+ //将仓储费添加到费用明细中
|
|
|
+ OrderFees orderFees = new OrderFees();
|
|
|
+ orderFees.setPid(pid);
|
|
|
+ orderFees.setItemId(fees.getData().getId());
|
|
|
+ orderFees.setCorpId(order.getPurchaserId());
|
|
|
+ orderFees.setQuantity(new BigDecimal("1"));
|
|
|
+ orderFees.setPrice(amount);
|
|
|
+ orderFees.setAmount(amount);
|
|
|
+ orderFees.setCurrency("CNY");
|
|
|
+ orderFees.setExchangeRate(new BigDecimal("1"));
|
|
|
+ orderFees.setUnit(feeUnitId + "");
|
|
|
+ orderFees.setFeesType(1);
|
|
|
+ orderFees.setRemarks(text.toString());
|
|
|
+ orderFees.setCreateTime(new Date());
|
|
|
+ orderFees.setCreateUser(AuthUtil.getUserId());
|
|
|
+ orderFees.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ orderFees.setTenantId(AuthUtil.getTenantId());
|
|
|
+ orderFees.setIsCheck(1);
|
|
|
+ orderFees.setSubmitPay(1);
|
|
|
+ orderFees.setStorageFee("1");
|
|
|
+ orderFeesService.save(orderFees);
|
|
|
+
|
|
|
+ items.setSrcFeesId(orderFees.getId());
|
|
|
itemsList.add(items);
|
|
|
applyDTO.setItemsList(itemsList);
|
|
|
if (CollectionUtils.isNotEmpty(itemsList)) {
|
|
|
@@ -2562,27 +2607,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
throw new RuntimeException(paymentApply.getMsg());
|
|
|
}
|
|
|
|
|
|
- //将仓储费添加到费用明细中
|
|
|
- OrderFees orderFees = new OrderFees();
|
|
|
- orderFees.setPid(pid);
|
|
|
- orderFees.setItemId(fees.getData().getId());
|
|
|
- orderFees.setCorpId(order.getPurchaserId());
|
|
|
- orderFees.setQuantity(new BigDecimal("1"));
|
|
|
- orderFees.setPrice(amount);
|
|
|
- orderFees.setAmount(amount);
|
|
|
- orderFees.setCurrency("CNY");
|
|
|
- orderFees.setExchangeRate(new BigDecimal("1"));
|
|
|
- orderFees.setUnit(feeUnitId + "");
|
|
|
- orderFees.setFeesType(1);
|
|
|
- orderFees.setRemarks(text.toString());
|
|
|
- orderFees.setCreateTime(new Date());
|
|
|
- orderFees.setCreateUser(AuthUtil.getUserId());
|
|
|
- orderFees.setCreateUserName(AuthUtil.getUserName());
|
|
|
- orderFees.setTenantId(AuthUtil.getTenantId());
|
|
|
- orderFees.setIsCheck(1);
|
|
|
- orderFees.setSubmitPay(1);
|
|
|
- orderFeesService.save(orderFees);
|
|
|
-
|
|
|
//给角色为财务的人发送消息
|
|
|
R<String> clientDeptIds = sysClient.getRoleIds(SecureUtil.getTenantId(), "财务");
|
|
|
if (clientDeptIds.isSuccess() && StringUtils.isNotBlank(clientDeptIds.getData())) {
|