From a0a5710b910c1d0116d3d59a510f1263b9c154f4 Mon Sep 17 00:00:00 2001 From: winter Date: Fri, 18 Feb 2022 00:17:00 +0800 Subject: [PATCH] fix bill --- .../com/iformall/domain/vo/WxBillAll.java | 2 +- .../com/iformall/mapper/WxBillAllMapper.java | 11 +- .../service/impl/WxBillAllServiceImpl.java | 128 ++++++++---- .../main/resources/mapper/WxBillAllMapper.xml | 184 ++++++++---------- .../main/resources/mapper/WxShopMapper.xml | 2 +- 5 files changed, 181 insertions(+), 146 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxBillAll.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxBillAll.java index 6440a7720..b1e7989cc 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxBillAll.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxBillAll.java @@ -82,7 +82,7 @@ public class WxBillAll extends TenantEntity { private Integer totalOwe; private List billTypeList; - + private List merchantIdList; @TableField(exist = false) @SortColumn(column = "rentReceivePay") diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillAllMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillAllMapper.java index 04ce46940..5c754e716 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillAllMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillAllMapper.java @@ -19,14 +19,19 @@ import org.apache.ibatis.annotations.Param; public interface WxBillAllMapper { - List list(WxBillAll record); + List listRentBill(WxBillAll record); + List listRentDepositBill(WxBillAll record); + List listPropertyBill(WxBillAll record); + List listPropertyDepositBill(WxBillAll record); + List listDailyBill(WxBillAll record); + List listOtherBill(WxBillAll record); + List listOtherDepositBill(WxBillAll record); + Map queryOweInfo(WxBillAll record); Map queryPaidInfo(WxBillAll record); - //List> listData(WxBillAll wxBillAll); - List> listRentBillData(WxBillAll wxBillAll); List> listRentDepositBillData(WxBillAll wxBillAll); List> listPropertyBillData(WxBillAll wxBillAll); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java index 69dd86922..443e11213 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java @@ -158,6 +158,9 @@ public class WxBillAllServiceImpl implements WxBillAllService { @Autowired WxPayBillMapper wxPayBillMapper; + + @Autowired + WxMerchantMapper wxMerchantMapper; @Override public Map listAsPage(WxBillAll record, Integer pageIndex, Integer pageSize) { @@ -167,7 +170,8 @@ public class WxBillAllServiceImpl implements WxBillAllService { List typeList = JSONArray.parseArray(record.getTypeStr(), Integer.class); record.setTypeList(typeList); } - PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxBillAllMapper.list(record)); + PageHelper.startPage(pageIndex, pageSize); + PageInfo pageInfo = new PageInfo<>(list(record)); //手续费 = 合同应收+手续费+滞纳金 pageInfo.getList().stream().forEach(e -> { @@ -179,6 +183,67 @@ public class WxBillAllServiceImpl implements WxBillAllService { result.put("pageInfo", pageInfo); return result; } + + private List list(WxBillAll wxBillAll) { + List retList = null; + wxBillAll.setBillTypeValue(EnumBillQueryType.getRealType(wxBillAll.getBillTypeValue())); + if (!StringUtils.isBlank(wxBillAll.getMerchantName())) { + WxMerchant wxMerchantQ = new WxMerchant(); + wxMerchantQ.setName(StringUtils.trimToNull(wxBillAll.getMerchantName())); + List mids = wxMerchantMapper.findIdList(wxMerchantQ); + if (null != mids && mids.size() > 0 ) { + wxBillAll.setMerchantIdList(mids); + } + } + if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.RENT.getCode())) { + wxBillAll.setBillTypeValue(EnumBillQueryType.RENT.getCode()); + retList = wxBillAllMapper.listRentBill(wxBillAll); + } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.RENT_DEPOSIT.getCode())) { + wxBillAll.setBillTypeValue(EnumBillQueryType.RENT_DEPOSIT.getCode()); + retList = wxBillAllMapper.listRentDepositBill(wxBillAll); + } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.PROPERTY.getCode())) { + wxBillAll.setBillTypeValue(EnumBillQueryType.PROPERTY.getCode()); + retList = wxBillAllMapper.listPropertyBill(wxBillAll); + } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.PROPERTY_DEPOSIT.getCode())) { + wxBillAll.setBillTypeValue(EnumBillQueryType.PROPERTY_DEPOSIT.getCode()); + retList = wxBillAllMapper.listPropertyDepositBill(wxBillAll); + } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.WATER_POWER_AIR.getCode())) { + wxBillAll.setBillTypeValue(EnumBillQueryType.WATER_POWER_AIR.getCode()); + retList = wxBillAllMapper.listDailyBill(wxBillAll); + } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.OTHER.getCode())) { + wxBillAll.setBillTypeValue(EnumBillQueryType.OTHER.getCode()); + retList = wxBillAllMapper.listOtherBill(wxBillAll); + } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.OTHER_DEPOSIT.getCode())) { + wxBillAll.setBillTypeValue(EnumBillQueryType.OTHER_DEPOSIT.getCode()); + retList = wxBillAllMapper.listOtherDepositBill(wxBillAll); + } else { + logger.info("账单不存在"); + } + if (null != retList && retList.size() > 0 ){ + for (int i = 0 ; i < retList.size(); i ++) { + WxBillAllVo vo = retList.get(i); + if( null!= vo.getMerchantId() ) { + WxMerchant wxMerchantQ = new WxMerchant(); + wxMerchantQ.setId(vo.getMerchantId()); + List mlist = wxMerchantMapper.findIdNameList(wxMerchantQ); + if (null != mlist && mlist.size() > 0 ) { + vo.setMerchantName(mlist.get(0).getName()); + } + } + if (null != vo.getShopId()) { + Map param = new HashMap(); + param.put("id", vo.getShopId()); + Map shop = wxShopMapper.getMerchantShopByShopId(param); + if ( null != shop) { + vo.setShopNumber((String)shop.get("shopNumber")); + vo.setManager((String)shop.get("manager")); + vo.setManagerPhone((String)shop.get("managerPhone")); + } + } + } + } + return retList; + } public void cmputeTotalMoney(WxPayAccountBill wxPayAccountBill, WxBillAllVo e) { if (e.getReceivePay() != null) { @@ -227,35 +292,33 @@ public class WxBillAllServiceImpl implements WxBillAllService { public List> listBill(WxBillAll wxBillAll,WxMerchant wxMerchant,boolean hasShop,boolean hasPayBill,boolean hasReceivePay){ List> maps = null; //账单类型 - if (wxBillAll.getBillTypeValue() != null) { - wxBillAll.setBillTypeValue(EnumBillQueryType.getRealType(wxBillAll.getBillTypeValue())); - if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.RENT.getCode())) { - wxBillAll.setBillTypeValue(EnumBillQueryType.RENT.getCode()); - maps = wxBillAllMapper.listRentBillData(wxBillAll); - } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.RENT_DEPOSIT.getCode())) { - wxBillAll.setBillTypeValue(EnumBillQueryType.RENT_DEPOSIT.getCode()); - maps = wxBillAllMapper.listRentDepositBillData(wxBillAll); - } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.PROPERTY.getCode())) { - wxBillAll.setBillTypeValue(EnumBillQueryType.PROPERTY.getCode()); - maps = wxBillAllMapper.listPropertyBillData(wxBillAll); - } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.PROPERTY_DEPOSIT.getCode())) { - wxBillAll.setBillTypeValue(EnumBillQueryType.PROPERTY_DEPOSIT.getCode()); - maps = wxBillAllMapper.listPropertyDepositBillData(wxBillAll); - } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.WATER_POWER_AIR.getCode())) { - wxBillAll.setBillTypeValue(EnumBillQueryType.WATER_POWER_AIR.getCode()); - maps = wxBillAllMapper.listDailyBillData(wxBillAll); - } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.OTHER.getCode())) { - wxBillAll.setBillTypeValue(EnumBillQueryType.OTHER.getCode()); - maps = wxBillAllMapper.listOtherBillData(wxBillAll); - } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.OTHER_DEPOSIT.getCode())) { - wxBillAll.setBillTypeValue(EnumBillQueryType.OTHER_DEPOSIT.getCode()); - maps = wxBillAllMapper.listOtherDepositBillData(wxBillAll); - } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.SETTLE.getCode())) { - wxBillAll.setBillTypeValue(EnumBillQueryType.SETTLE.getCode()); - maps = wxBillAllMapper.listSettleBillData(wxBillAll); - } else { - logger.info("账单不存在"); - } + wxBillAll.setBillTypeValue(EnumBillQueryType.getRealType(wxBillAll.getBillTypeValue())); + if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.RENT.getCode())) { + wxBillAll.setBillTypeValue(EnumBillQueryType.RENT.getCode()); + maps = wxBillAllMapper.listRentBillData(wxBillAll); + } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.RENT_DEPOSIT.getCode())) { + wxBillAll.setBillTypeValue(EnumBillQueryType.RENT_DEPOSIT.getCode()); + maps = wxBillAllMapper.listRentDepositBillData(wxBillAll); + } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.PROPERTY.getCode())) { + wxBillAll.setBillTypeValue(EnumBillQueryType.PROPERTY.getCode()); + maps = wxBillAllMapper.listPropertyBillData(wxBillAll); + } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.PROPERTY_DEPOSIT.getCode())) { + wxBillAll.setBillTypeValue(EnumBillQueryType.PROPERTY_DEPOSIT.getCode()); + maps = wxBillAllMapper.listPropertyDepositBillData(wxBillAll); + } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.WATER_POWER_AIR.getCode())) { + wxBillAll.setBillTypeValue(EnumBillQueryType.WATER_POWER_AIR.getCode()); + maps = wxBillAllMapper.listDailyBillData(wxBillAll); + } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.OTHER.getCode())) { + wxBillAll.setBillTypeValue(EnumBillQueryType.OTHER.getCode()); + maps = wxBillAllMapper.listOtherBillData(wxBillAll); + } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.OTHER_DEPOSIT.getCode())) { + wxBillAll.setBillTypeValue(EnumBillQueryType.OTHER_DEPOSIT.getCode()); + maps = wxBillAllMapper.listOtherDepositBillData(wxBillAll); + } else if (wxBillAll.getBillTypeValue().equals(EnumBillQueryType.SETTLE.getCode())) { + wxBillAll.setBillTypeValue(EnumBillQueryType.SETTLE.getCode()); + maps = wxBillAllMapper.listSettleBillData(wxBillAll); + } else { + logger.info("账单不存在"); } if (null != maps) { for (Map map : maps) { @@ -395,8 +458,7 @@ public class WxBillAllServiceImpl implements WxBillAllService { @Override public void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillAll wxBillAll) { - - Map> collect = wxBillAllMapper.list(wxBillAll) + Map> collect = list(wxBillAll) .stream().filter(b -> null != b.getMerchantId()) .collect(Collectors.groupingBy(WxBillAllVo::getMerchantId)); Set>> entries = collect.entrySet(); @@ -827,7 +889,7 @@ public class WxBillAllServiceImpl implements WxBillAllService { result.put("endtime", " "); } Integer filterHasPay = wxBillAll.getFilterHasPay(); - List list = wxBillAllMapper.list(wxBillAll); + List list = list(wxBillAll); if (!list.isEmpty()) { //租金总额 Long rentSum = list.stream().filter(b -> b.getBillTypeValue().equals(EnumBillTypeParam.RENT.getCode())) diff --git a/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml b/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml index 76f0039c8..b0c314ee1 100644 --- a/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml @@ -46,112 +46,8 @@ - - - + select id,merchant_id merchantId,shop_id shopId,tenant_id tenantId,parent_tenant_id parentTenantId,'租金' name,1 billTypeValue,'租金' billType, + need_pay needPay,receive_pay receivePay,pay,owe,receive_date receiveDate,pay_date payDate,expired_day expiredDay,status,starttime, + endtime,rent_shop_type rentShopType, + case when shop_info is null then '[]' else shop_info end shopInfo, + comments,'' price_detail,updatetime,freeze,ifnull(late_pay_price,0) late_pay_price,service_charge_pay + from wx_bill_rent bill + where is_preview = 0 + + + + + + + + + + + + select - s.id,s.build_area buildArea,s.operation_area operationArea,s.shop_number shopNumber + s.id,s.build_area buildArea,s.operation_area operationArea,s.shop_number shopNumber, s.manager, s.manager_phone managerPhone from wx_shop s where s.id = #{id} and s.is_del=0