Browse Source

app 待收款金额与pc端应收总账一致

liyuan 2 months ago
parent
commit
65198e846a

+ 5 - 1
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/mapper/OrderMapper.xml

@@ -1019,7 +1019,9 @@
                     ) pos
                     INNER JOIN pjpf_order_items poi ON pos.id = poi.pid
                     AND poi.tenant_id = #{tenantId}
-                    GROUP BY
+        WHERE
+        poi.is_deleted = 0
+        GROUP BY
                     pos.id,
                     pos.customerId
             ) po2 ON pcd.id = po2.customerId
@@ -1065,6 +1067,8 @@
                     ) pos
                         INNER JOIN pjpf_order_items poi ON pos.id = poi.pid
                         AND poi.tenant_id = #{tenantId}
+                WHERE
+                    poi.is_deleted = 0
                 GROUP BY
                     pos.id,
                     pos.customerId

+ 4 - 6
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/impl/OrderServiceImpl.java

@@ -382,6 +382,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 				lambdaQueryWrapper.apply("DATE_FORMAT( busines_date, '%Y-%m' ) >= '" + order.getBusinesDateList().get(0) + "'" +
 					" AND DATE_FORMAT( busines_date, '%Y-%m' ) <= '" + order.getBusinesDateList().get(1) + "' ");
 			}
+			lambdaQueryWrapper.apply(" total_money != payment_amount_tl ");
 			List<PjOrder> pjOrderList = baseMapper.selectList(lambdaQueryWrapper);
 			List<PjOrderItems> pjOrderItemsList = new ArrayList<>();
 			if (!pjOrderList.isEmpty()) {
@@ -2473,13 +2474,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 			lambdaQueryWrapper.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
 				.eq(PjOrder::getIsDeleted, 0)
 				.eq(PjOrder::getSalesCompanyId, AuthUtil.getDeptId())
-				.apply("find_in_set(status,'待确认,待发货,已发货,退款请核,已收货')")
+				.in(PjOrder::getStatus, orderTypeList)
 				.in(!ids.isEmpty(), PjOrder::getCustomerId, ids)
 				.in(!salerId.isEmpty(), PjOrder::getSalerId, salerId);
 			if (ObjectUtils.isNotNull(order.getBusinesDateList()) && !order.getBusinesDateList().isEmpty()) {
 				lambdaQueryWrapper.apply("DATE_FORMAT( busines_date, '%Y-%m' ) >= '" + order.getBusinesDateList().get(0) + "'" +
 					" AND DATE_FORMAT( busines_date, '%Y-%m' ) <= '" + order.getBusinesDateList().get(1) + "' ");
 			}
+			lambdaQueryWrapper.apply(" total_money != payment_amount_tl ");
 			List<PjOrder> pjOrderList = baseMapper.selectList(lambdaQueryWrapper);
 			List<PjOrderItems> pjOrderItemsList = orderItemsService.list(new LambdaQueryWrapper<PjOrderItems>()
 				.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
@@ -2560,9 +2562,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 								&& (ObjectUtils.isNotNull(items.getSalerId()) && items.getSalerId().equals(item.getSalerId()))
 								&& date.equals(item.getBusinesDate())
 								&& items.getBsType().equals("XS") && orderTypeList.contains(items.getStatus())) {
-								if (item.getCustomerId().equals(1920008026136252417L) && items.getReturnsAmount().compareTo(new BigDecimal(249.00)) == 0) {
-									log.error("1");
-								}
 								orderListDS.add(items.getId());
 								paymentAmountTl = paymentAmountTl.add(items.getPaymentAmountTl());
 								returnPaymentAmountTl = returnPaymentAmountTl.add(items.getReturnsAmount());
@@ -2675,7 +2674,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 			}
 		}
 		Map<String, BigDecimal> map = new HashMap<>();
-		log.error("list---" + JSONArray.toJSONString(list));
 		if (!list.isEmpty()) {
 			map.put("totalMoney", list.stream().map(PjOrderStatisticsExcel::getSalesAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
 			map.put("freight", list.stream().map(PjOrderStatisticsExcel::getFreight).reduce(BigDecimal.ZERO, BigDecimal::add));
@@ -4916,7 +4914,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 		appStatisticsVo.setCost(costprieActual.abs().add(costprieCancel));
 		appStatisticsVo.setProfit(appStatisticsVo.getIncome().subtract(appStatisticsVo.getCost()));
 		appStatisticsVo.setAverageAmount(appStatisticsVo.getIncome().divide(new BigDecimal(xsCount), MathContext.DECIMAL32).setScale(2, RoundingMode.HALF_UP));
-		appStatisticsVo.setExpenditure(expenditure);
+		appStatisticsVo.setExpenditure(expenditure.setScale(0, RoundingMode.DOWN));
 		return R.data(appStatisticsVo);
 	}