|
@@ -16,12 +16,8 @@ import com.yiqi.core.domain.SettlementManageStore;
|
|
|
import com.yiqi.core.domain.dto.SettlementBillAddDTO;
|
|
|
import com.yiqi.core.service.ISettlementManageFactoryService;
|
|
|
import com.yiqi.core.service.ISettlementManageStoreService;
|
|
|
-import com.yiqi.order.domain.OrderCloth;
|
|
|
-import com.yiqi.order.domain.OrderClothItem;
|
|
|
-import com.yiqi.order.domain.OrderGoods;
|
|
|
-import com.yiqi.order.service.IOrderClothItemService;
|
|
|
-import com.yiqi.order.service.IOrderClothService;
|
|
|
-import com.yiqi.order.service.IOrderGoodsService;
|
|
|
+import com.yiqi.order.domain.*;
|
|
|
+import com.yiqi.order.service.*;
|
|
|
import com.yiqi.recharge.domain.RechargePasswordCard;
|
|
|
import com.yiqi.recharge.service.IRechargePasswordCardService;
|
|
|
import com.yiqi.settlement.domain.SettlementFactoryRate;
|
|
@@ -70,6 +66,10 @@ public class SettlementManageBillServiceImpl extends ServiceImpl<SettlementManag
|
|
|
@Autowired
|
|
|
private IAppUserBillMstrService appUserBillMstrService;
|
|
|
@Autowired
|
|
|
+ private IOrderPayInfoService orderPayInfoService;
|
|
|
+ @Autowired
|
|
|
+ private IOrderRefundInfoService orderRefundInfoService;
|
|
|
+ @Autowired
|
|
|
private ISysSettlementRateService sysSettlementRateService;
|
|
|
@Autowired
|
|
|
private ISysConfigService configService;
|
|
@@ -163,7 +163,7 @@ public class SettlementManageBillServiceImpl extends ServiceImpl<SettlementManag
|
|
|
Map<Long, List<SysSettlementRate>> storeRateMap = storeRateList.stream().collect(Collectors.groupingBy(SysSettlementRate::getOrgId));
|
|
|
List<SettlementManageStore> settlementManageStoreList = new ArrayList<>();
|
|
|
|
|
|
- SettlementStoreRate settlementStoreRate = settlementStoreRateService.getByStoreId(sysStore.getId(), settlementManageBill.getBeginTime());
|
|
|
+ SettlementStoreRate settlementStoreRate = settlementStoreRateService.getByStoreId(sysStore.getId(), settlementManageBill.getBeginTime());
|
|
|
if (settlementStoreRate == null) {
|
|
|
SettlementManageStore settlementManageStore = new SettlementManageStore();
|
|
|
this.buildStoreSettlementInfo(settlementManageStore, settlementManageBill, sysStore);
|
|
@@ -176,7 +176,7 @@ public class SettlementManageBillServiceImpl extends ServiceImpl<SettlementManag
|
|
|
this.buildStoreSettlementInfo(settlementManageStore, settlementManageBill, sysStore);
|
|
|
// 查询门店有效充值会员卡
|
|
|
List<RechargePasswordCard> rechargePasswordCardList = rechargePasswordCardService.list(new QueryWrapper<RechargePasswordCard>().lambda()
|
|
|
- .eq(RechargePasswordCard::getUseBindStoreId, sysStore.getId())
|
|
|
+ .eq(RechargePasswordCard::getUseBindStoreId, sysStore.getId())
|
|
|
.eq(RechargePasswordCard::getRechargeStatus, RechargeStatusType.HAS_USE.getCode()));
|
|
|
|
|
|
// 查询门店未开卡
|
|
@@ -185,21 +185,17 @@ public class SettlementManageBillServiceImpl extends ServiceImpl<SettlementManag
|
|
|
.eq(RechargePasswordCard::getRechargeStoreId, sysStore.getId()));
|
|
|
|
|
|
// 查询门店微信消费记录
|
|
|
- List<AppUserBillMstr> wechatBillMstrList = appUserBillMstrService.list(new QueryWrapper<AppUserBillMstr>().lambda()
|
|
|
- .ne(AppUserBillMstr::getIsRefund, SysBoolType.YES.getCode())
|
|
|
- .eq(AppUserBillMstr::getSourceType, SourceType.STORE.getCode())
|
|
|
- .eq(AppUserBillMstr::getOrgId, sysStore.getId())
|
|
|
- .eq(AppUserBillMstr::getPayType, PayType.WECHAT.getCode())
|
|
|
- .ge(AppUserBillMstr::getCreateTime, settlementManageBill.getBeginTime())
|
|
|
- .lt(AppUserBillMstr::getCreateTime, DateUtils.addDays(settlementManageBill.getEndTime(), 1)));
|
|
|
- // 查询门店支付宝消费记录
|
|
|
- List<AppUserBillMstr> alipayBillMstrList = appUserBillMstrService.list(new QueryWrapper<AppUserBillMstr>().lambda()
|
|
|
- .ne(AppUserBillMstr::getIsRefund, SysBoolType.YES.getCode())
|
|
|
- .eq(AppUserBillMstr::getSourceType, SourceType.STORE.getCode())
|
|
|
- .eq(AppUserBillMstr::getOrgId, sysStore.getId())
|
|
|
- .eq(AppUserBillMstr::getPayType, PayType.ALIPAY.getCode())
|
|
|
- .ge(AppUserBillMstr::getCreateTime, settlementManageBill.getBeginTime())
|
|
|
- .lt(AppUserBillMstr::getCreateTime, DateUtils.addDays(settlementManageBill.getEndTime(), 1)));
|
|
|
+ List<OrderPayInfo> payInfoList = orderPayInfoService.list(new QueryWrapper<OrderPayInfo>().lambda()
|
|
|
+ .eq(OrderPayInfo::getStoreId, sysStore.getId())
|
|
|
+ .eq(OrderPayInfo::getPayStatus, PayStatus.HAS_PAY.getCode())
|
|
|
+ .ge(OrderPayInfo::getCreateTime, settlementManageBill.getBeginTime())
|
|
|
+ .lt(OrderPayInfo::getCreateTime, DateUtils.addDays(settlementManageBill.getEndTime(), 1)));
|
|
|
+ // 查询门店微信消费记录
|
|
|
+ List<OrderRefundInfo> refundInfoList = orderRefundInfoService.list(new QueryWrapper<OrderRefundInfo>().lambda()
|
|
|
+ .eq(OrderRefundInfo::getStoreId, sysStore.getId())
|
|
|
+ .eq(OrderRefundInfo::getRefundStatus, PayStatus.HAS_PAY.getCode())
|
|
|
+ .ge(OrderRefundInfo::getCreateTime, settlementManageBill.getBeginTime())
|
|
|
+ .lt(OrderRefundInfo::getCreateTime, DateUtils.addDays(settlementManageBill.getEndTime(), 1)));
|
|
|
// 查询衣服单项订单
|
|
|
ArrayList<String> statusList = new ArrayList<>();
|
|
|
statusList.add(ClothOrderFlowStatus.inFactory.getCode());
|
|
@@ -249,15 +245,23 @@ public class SettlementManageBillServiceImpl extends ServiceImpl<SettlementManag
|
|
|
// 充值余额总和
|
|
|
BigDecimal totalRechargeBalance = rechargePasswordCardList.stream().map(RechargePasswordCard::getRechargeBalance).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
// 福利金余额总和
|
|
|
- BigDecimal totalWelfareBalance = rechargePasswordCardList.stream().map(RechargePasswordCard::getWelfareBalance).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal totalWelfareBalance = rechargePasswordCardList.stream().map(RechargePasswordCard::getWelfareBalance).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
// 赠送余额总和
|
|
|
BigDecimal totalGiveBalance = rechargePasswordCardList.stream().map(RechargePasswordCard::getGiveBalance).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
// 未开卡卡密金额总和
|
|
|
BigDecimal totalUnopenedCard = noOpenCardList.stream().map(RechargePasswordCard::getRechargeBalance).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
// 微信消费总和
|
|
|
- BigDecimal totalWechat = wechatBillMstrList.stream().map(AppUserBillMstr::getPayTotalAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal totalWechat = payInfoList.stream().filter(o -> o.getPayType().equals(PayType.WECHAT.getCode())).map(OrderPayInfo::getPayAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
// 支付宝消费总和
|
|
|
- BigDecimal totalAlipay = alipayBillMstrList.stream().map(AppUserBillMstr::getPayTotalAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal totalAlipay = payInfoList.stream().filter(o -> o.getPayType().equals(PayType.ALIPAY.getCode())).map(OrderPayInfo::getPayAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+
|
|
|
+ // 微信退款总和
|
|
|
+ BigDecimal totalWechatRefund = refundInfoList.stream().filter(o -> o.getPayType().equals(PayType.WECHAT.getCode())).map(OrderRefundInfo::getRefundAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ // 支付宝退款总和
|
|
|
+ BigDecimal totalAlipayRefund = refundInfoList.stream().filter(o -> o.getPayType().equals(PayType.ALIPAY.getCode())).map(OrderRefundInfo::getRefundAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
// 材料金额
|
|
|
BigDecimal totalMaterialAmount = orderClothList.stream().map(OrderCloth::getPayAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
// 系统维护金额
|