From 6f07ec3d6a00f0b185428052624d251535421fb1 Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 27 Jul 2024 16:52:39 +0800 Subject: [PATCH] fix --- .../iformall/domain/po/WxFinanceReceive.java | 13 ++++ .../domain/po/WxFinanceReceiveBill.java | 23 ++++++++ .../service/impl/WxFinanceServiceImpl.java | 59 ++++++++++++++++--- .../mapper/WxFinanceReceiveBillMapper.xml | 4 +- 4 files changed, 89 insertions(+), 10 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceive.java b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceive.java index 1f7c1f4f0..818516cd7 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceive.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceive.java @@ -63,6 +63,15 @@ public class WxFinanceReceive extends TenantEntity { return new BigDecimal(receiveMoney).subtract(new BigDecimal(useMoney)).toPlainString(); } + @TableField(exist = false) + private String totalMoney; + public String getTotalMoney() { + if (StringUtils.isBlank(setOffMoney)) { + setOffMoney = "0"; + } + return new BigDecimal(receiveMoney).add(new BigDecimal(setOffMoney)).toPlainString(); + } + @io.swagger.annotations.ApiModelProperty(value = "状态EnumFinanceReceiveStatus", name = "status") private Integer status; @TableField(exist = false) @@ -115,4 +124,8 @@ public class WxFinanceReceive extends TenantEntity { private Long floor; @TableField(exist = false) private String shopIds; + + @TableField(exist = false) + private List childBills; + } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveBill.java b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveBill.java index e9dd11f76..fec6a415a 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveBill.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveBill.java @@ -1,7 +1,10 @@ package com.iformall.domain.po; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.iformall.domain.po.base.TenantEntity; +import com.iformall.enums.EnumBillAllType; + import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -33,16 +36,36 @@ public class WxFinanceReceiveBill extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "账单类型EnumBillAllType", name = "billType") private Integer billType; + @TableField(exist = false) + private String billTypeName; + public String getBillTypeName() { + return EnumBillAllType.getEnum(billType).getMessage(); + } @io.swagger.annotations.ApiModelProperty(value="科目编号",name="feesId") private Long feesId; + @TableField(exist = false) + private String feesName; @io.swagger.annotations.ApiModelProperty(value="支付方式",name="payWay") private Long payWay; + @TableField(exist = false) + private String payWayName; @io.swagger.annotations.ApiModelProperty(value="实收金额",name="receive") private String receive; @io.swagger.annotations.ApiModelProperty(value="科目编号",name="feesId") private Long merchantId; + + @io.swagger.annotations.ApiModelProperty(value="账单开始周期",name="starttime") + private Date starttime; + + @io.swagger.annotations.ApiModelProperty(value="账单结束周期",name="endtime") + private Date endtime; + + @TableField(exist = false) + private String shopNumber; + @TableField(exist = false) + private String merchantName; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java index 2d97a3cb0..287ca7c95 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java @@ -393,6 +393,17 @@ public class WxFinanceServiceImpl implements WxFinanceService { WxMerchant mq = new WxMerchant(); mq.updateTenantInfo(record); Map merchantMap = wxMerchantService.findMerchantMap(mq); + + Map shopNumberMap = wxShopService.getMerchantShopNumberMap(record, null, null); + + WxBillPayWay pq = new WxBillPayWay(); + pq.updateTenantInfo(record); + Map paywayMap = this.getPayWayMap(pq); + + WxEnergyFees fq = new WxEnergyFees(); + fq.updateTenantInfo(record); + Map fmap = wxEnergyService.getFeesMap(fq); + for (int i = 0 ; i < page.getList().size() ; i++) { WxFinanceReceive fr = page.getList().get(i); if (null != merchantMap && null != fr.getMerchantId()) { @@ -401,14 +412,41 @@ public class WxFinanceServiceImpl implements WxFinanceService { fr.setMerchantName(merchant.getName()); } } -// //查询关联的账单记录 -// WxFinanceReceiveBill rb = new WxFinanceReceiveBill(); -// rb.updateTenantInfo(record); -// rb.setReceiveId(fr.getId()); -// List bills = wxFinanceReceiveBillMapper.findList(rb); -// if (null != bills && bills.size() > 0 ) { -// -// } + //查询关联的账单记录 + WxFinanceReceiveBill rb = new WxFinanceReceiveBill(); + rb.updateTenantInfo(record); + rb.setReceiveId(fr.getId()); + List bills = wxFinanceReceiveBillMapper.findList(rb); + if (null != bills && bills.size() > 0 ) { + for (int j = 0 ; j < bills.size(); j ++) { + WxFinanceReceiveBill frb = bills.get(j); + if (null != paywayMap && null != frb.getPayWay()) { + WxBillPayWay p = paywayMap.get(frb.getPayWay()); + if (null != p) { + frb.setPayWayName(p.getName()); + } + } + if (null != shopNumberMap && null != frb.getMerchantId()) { + String shopNumber = shopNumberMap.get(frb.getMerchantId()); + frb.setShopNumber(shopNumber); + if (null != merchantMap) { + WxMerchant merchant = merchantMap.get(frb.getMerchantId()); + if (null != merchant) { + frb.setMerchantName(merchant.getName()); + } + } + } + if (null != fmap && null != frb.getFeesId()) { + WxEnergyFees ef = fmap.get(frb.getFeesId()); + if (null != ef) { + frb.setFeesName(ef.getName()); + } + } + + } + } + + fr.setChildBills(bills); } } @@ -461,7 +499,7 @@ public class WxFinanceServiceImpl implements WxFinanceService { List bills = record.getBills(); sortBills(bills); - //创建一个收款单 + //创建主收款单 WxFinanceReceive addreceive = generateReceive(user, EnumFinanceReceiveType.RECEIVE, receiveTotal.toPlainString(), record.getMerchantId(), null, record.getRemark()); if (receiveTotal.compareTo(new BigDecimal(0)) > 0) { addreceive.setMoneyDetail(JSON.toJSONString(record.getPayWays())); @@ -469,6 +507,7 @@ public class WxFinanceServiceImpl implements WxFinanceService { WxMerchant merchant = new WxMerchant(); merchant.updateTenantInfo(record); boolean isAllEmpity = true; + //建立子账单关联单 for (int i = 0 ; i < record.getBills().size(); i++) { WxBillBaseEntity be = record.getBills().get(i); //每个账单要创建一个收款关联单,如果有冲抵,要额外创建 @@ -575,6 +614,8 @@ public class WxFinanceServiceImpl implements WxFinanceService { frbs.setCreateTime(new Date()); frbs.setUpdateTime(new Date()); frbs.setMerchantId(bill.getMerchantId()); + frbs.setStarttime(bill.getStarttime()); + frbs.setEndtime(bill.getEndtime()); wxFinanceReceiveBillMapper.insert(frbs); } diff --git a/mallinkService/src/main/resources/mapper/WxFinanceReceiveBillMapper.xml b/mallinkService/src/main/resources/mapper/WxFinanceReceiveBillMapper.xml index db7b9ff52..c7766264a 100644 --- a/mallinkService/src/main/resources/mapper/WxFinanceReceiveBillMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxFinanceReceiveBillMapper.xml @@ -14,11 +14,13 @@ + + `id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`bill_id`,`bill_type`,`fees_id`, - `pay_way`,`receive_id`,`receive`,`merchant_id` + `pay_way`,`receive_id`,`receive`,`merchant_id`,`starttime`,`endtime`