diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillDailyController.java b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillDailyController.java index f50c120b8..5237b8269 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillDailyController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillDailyController.java @@ -64,7 +64,7 @@ public class WxBillDailyController extends BaseController { wxBillDaily = new WxBillDaily(); } wxBillDaily.setTenantId(getTenantId()); - final PageInfo> page = wxBillDailyService.listAsPage(wxBillDaily, pageNum, pageSize); + final PageInfo page = wxBillDailyService.listAsPage(wxBillDaily, pageNum, pageSize); return new ResultData(page); } @@ -240,4 +240,11 @@ public class WxBillDailyController extends BaseController { return new ResultData(Result.SUCCESS, "查询成功", entries); } + @GetMapping("exportBill") + @SystemControllerLog(description = "日常费用账单-导出") + public void exportBill(@ModelAttribute WxBillDaily wxBillDaily, HttpServletRequest request, HttpServletResponse response) { + wxBillDaily.setTenantId(getTenantId()); + wxBillDailyService.exportBill(request, response, wxBillDaily); + } + } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillOtherController.java b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillOtherController.java index 3a0a6adc2..5b8b6430f 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillOtherController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillOtherController.java @@ -7,6 +7,7 @@ import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxBillOther; +import com.iformall.domain.po.WxBillOtherDeposit; import com.iformall.service.WxBillOtherService; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -15,7 +16,8 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.Map; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; /** * @author gongbiao @@ -39,7 +41,7 @@ public class WxBillOtherController extends BaseController { wxBillOther = new WxBillOther(); } wxBillOther.setTenantId(getTenantId()); - final PageInfo> page = wxBillOtherService.listAsPage(wxBillOther, pageNum, pageSize); + final PageInfo page = wxBillOtherService.listAsPage(wxBillOther, pageNum, pageSize); return new ResultData(page); } @@ -92,5 +94,11 @@ public class WxBillOtherController extends BaseController { return wxBillOtherService.updatePaid(id); } + @GetMapping("exportBill") + @SystemControllerLog(description = "其它账单-导出") + public void exportBill(@ModelAttribute WxBillOther wxBillOther, HttpServletRequest request, HttpServletResponse response) { + wxBillOther.setTenantId(getTenantId()); + wxBillOtherService.exportBill(request, response, wxBillOther); + } } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillOtherDepositController.java b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillOtherDepositController.java index 3b5d0c929..9255a581c 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillOtherDepositController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillOtherDepositController.java @@ -15,6 +15,8 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.Map; /** @@ -39,7 +41,7 @@ public class WxBillOtherDepositController extends BaseController { wxBillOtherDeposit = new WxBillOtherDeposit(); } wxBillOtherDeposit.setTenantId(getTenantId()); - final PageInfo> page = wxBillOtherDepositService.listAsPage(wxBillOtherDeposit, pageNum, pageSize); + final PageInfo page = wxBillOtherDepositService.listAsPage(wxBillOtherDeposit, pageNum, pageSize); return new ResultData(page); } @@ -100,7 +102,13 @@ public class WxBillOtherDepositController extends BaseController { public ResultData adjustDeposit(@RequestBody WxBillOtherDeposit wxBillDeposit) { logger.debug("[" + getIpAddr() + "] WxBillOtherDepositController::adjustDeposit"); return wxBillOtherDepositService.adjustDeposit(wxBillDeposit); + } + @GetMapping("exportBill") + @SystemControllerLog(description = "其它押金账单-导出") + public void exportBill(@ModelAttribute WxBillOtherDeposit wxBillDeposit, HttpServletRequest request, HttpServletResponse response) { + wxBillDeposit.setTenantId(getTenantId()); + wxBillOtherDepositService.exportBill(request, response, wxBillDeposit); } } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillPropertyController.java b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillPropertyController.java index b1338e79e..e997d58ae 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillPropertyController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillPropertyController.java @@ -14,7 +14,8 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.Map; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; /** * @author gongbiao @@ -39,7 +40,7 @@ public class WxBillPropertyController extends BaseController { } wxBillProperty.setTenantId(getTenantId()); wxBillProperty.setSortColumns(WxBillProperty.Field.Id_DESC); - PageInfo> result = wxBillPropertyService.listAsPage(wxBillProperty, pageNum, pageSize); + PageInfo result = wxBillPropertyService.listAsPage(wxBillProperty, pageNum, pageSize); return new ResultData(result); } @@ -101,7 +102,7 @@ public class WxBillPropertyController extends BaseController { @SystemControllerLog(description = "物业账单-根据商户获取") public ResultData findByPropertyContractId(Long propertyContractId, Integer pageNum, Integer pageSize) { logger.debug("[" + getIpAddr() + "] WxBillPropertyController::findByPropertyContractId"); - final PageInfo> page = wxBillPropertyService.findByPropertyContractId(propertyContractId, getTenantId(), pageNum, pageSize); + final PageInfo page = wxBillPropertyService.findByPropertyContractId(propertyContractId, getTenantId(), pageNum, pageSize); return new ResultData(page); } @@ -113,4 +114,10 @@ public class WxBillPropertyController extends BaseController { return wxBillPropertyService.updateLatePayStatus(wxBillProperty); } + @GetMapping("exportBill") + @SystemControllerLog(description = "物业账单-导出") + public void exportBill(@ModelAttribute WxBillProperty wxBillProperty, HttpServletRequest request, HttpServletResponse response) { + wxBillProperty.setTenantId(getTenantId()); + wxBillPropertyService.exportBill(request, response, wxBillProperty); + } } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillRentController.java b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillRentController.java index 1b32eb3ab..582be2681 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillRentController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillRentController.java @@ -14,7 +14,8 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.Map; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; /** * @author gongbiao @@ -39,7 +40,7 @@ public class WxBillRentController extends BaseController { } wxBillRent.setTenantId(getTenantId()); wxBillRent.setSortColumns(WxBillRent.Field.Id_DESC); - final PageInfo> page = wxBillRentService.listAsPage(wxBillRent, pageNum, pageSize); + final PageInfo page = wxBillRentService.listAsPage(wxBillRent, pageNum, pageSize); return new ResultData(page); } @@ -83,7 +84,7 @@ public class WxBillRentController extends BaseController { @SystemControllerLog(description = "租赁押金账单-根据商户获取") public ResultData findByRentContractId(Long rentContractId, Integer pageNum, Integer pageSize) { logger.debug("[" + getIpAddr() + "] WxBillRentController::findByRentContractId"); - final PageInfo> page = wxBillRentService.findByRentContractId(rentContractId, getTenantId(), pageNum, pageSize); + final PageInfo page = wxBillRentService.findByRentContractId(rentContractId, getTenantId(), pageNum, pageSize); return new ResultData(page); } @@ -118,4 +119,11 @@ public class WxBillRentController extends BaseController { return wxBillRentService.updateLatePayStatus(wxBillRent); } + @GetMapping("exportBill") + @SystemControllerLog(description = "租赁押金账单-导出") + public void exportBill(@ModelAttribute WxBillRent wxBillRent, HttpServletRequest request, HttpServletResponse response) { + wxBillRent.setTenantId(getTenantId()); + wxBillRentService.exportBill(request, response, wxBillRent); + } + } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBillDaily.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBillDaily.java index 56ea9641e..191338bbd 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillDaily.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBillDaily.java @@ -13,6 +13,7 @@ import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; /** * @author gongbiao @@ -37,7 +38,7 @@ public class WxBillDaily extends BaseEntity{ @Transient private String merchantName; - @Excel(name = "费用类型*", replace = {"水费_1", "电费_2"}, width = 10, orderNum = "2") + @Excel(name = "费用类型*", replace = {"水费_1", "电费_2"}, width = 20, orderNum = "2") @NotNull @io.swagger.annotations.ApiModelProperty(value="账单类型",name="type") private Integer type; @@ -112,6 +113,10 @@ public class WxBillDaily extends BaseEntity{ @SortColumn(column = "shopNumber") private String shopNumber; + @Transient + private List> shops; + + public static enum Field { Id_ASC("`id` ASC"),Id_DESC("`id` DESC") diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBillOther.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBillOther.java index 8906395ae..c55b05cdf 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillOther.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBillOther.java @@ -1,5 +1,6 @@ package com.iformall.domain.po; +import cn.afterturn.easypoi.excel.annotation.Excel; import com.iformall.common.SortColumn; import lombok.Data; import lombok.EqualsAndHashCode; @@ -8,10 +9,11 @@ import lombok.ToString; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Transient; -import java.io.Serializable; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; /** * @author gongbiao @@ -35,12 +37,15 @@ public class WxBillOther extends BaseEntity { return super.getSortColumns(); } + @Excel(name = "商户名称", width = 20, orderNum = "2") @Transient private String merchantName; + @Excel(name = "其他费用名称", width = 20, orderNum = "3") @io.swagger.annotations.ApiModelProperty(value="账单名称",name="name") private String name; + @Excel(name = "备注", orderNum = "11", width = 20) @io.swagger.annotations.ApiModelProperty(value="账单备注",name="comments") private String comments; @@ -49,21 +54,29 @@ public class WxBillOther extends BaseEntity { private Long receivePay; @io.swagger.annotations.ApiModelProperty(value="实收金额",name="pay") private Long pay; + + @Excel(name = "缴款截止日期", orderNum = "7", width = 20, format = "yyyy-MM-dd") @SortColumn(column = "receiveDate") - @io.swagger.annotations.ApiModelProperty(value="截止收款日期",name="receiveDate") + @io.swagger.annotations.ApiModelProperty(value="截止收款日期",name="receiveDate") private Date receiveDate; + + @Excel(name = "收款日期", orderNum = "8", width = 20, format = "yyyy-MM-dd") @SortColumn(column = "payDate") - @io.swagger.annotations.ApiModelProperty(value="到账日期",name="payDate") + @io.swagger.annotations.ApiModelProperty(value="到账日期",name="payDate") private Date payDate; + @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createtime") private Date createtime; + + @Excel(name = "逾期(天)", orderNum = "10", width = 20) @SortColumn(column = "expiredDay") - @io.swagger.annotations.ApiModelProperty(value="逾期天数",name="expiredDay") + @io.swagger.annotations.ApiModelProperty(value="逾期天数",name="expiredDay") private Long expiredDay; @io.swagger.annotations.ApiModelProperty(value="租户",name="tenantId") private String tenantId; @io.swagger.annotations.ApiModelProperty(value="欠缴",name="owe") private Long owe; + @Excel(name = "状态", replace = {"欠缴_1", "待缴_2", "已结清_3", "未到期_4", "已退还_5", "失效_6"}, width = 20, orderNum = "9") @io.swagger.annotations.ApiModelProperty(value = "账单状态1欠缴2待缴3已结清4未到期", name = "status") private Integer status; @io.swagger.annotations.ApiModelProperty(value="删除 是1否0",name="isDel") @@ -99,10 +112,36 @@ public class WxBillOther extends BaseEntity { @SortColumn(column = "period") private Integer period; + @Excel(name = "商铺号", width = 20, orderNum = "1") @Transient @SortColumn(column = "shopNumber") private String shopNumber; + @Transient + @Excel(name = "实际应收金额(元)", orderNum = "4", width = 20) + private String receivePayStr; + @Transient + @Excel(name = "实收金额(元)", orderNum = "5", width = 20) + private String payStr; + @Transient + @Excel(name = "欠缴金额(元)", orderNum = "6", width = 20) + private String oweStr; + + public String getReceivePayStr() { + return new BigDecimal(receivePay == null ? 0 : receivePay).divide(new BigDecimal(100)).toPlainString(); + } + + public String getPayStr() { + return new BigDecimal(pay == null ? 0 : pay).divide(new BigDecimal(100)).toPlainString(); + } + + public String getOweStr() { + return new BigDecimal(owe == null ? 0 : owe).divide(new BigDecimal(100)).toPlainString(); + } + + @Transient + private List> shops; + public static enum Field { Id_ASC("`id` ASC"),Id_DESC("`id` DESC") diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBillOtherDeposit.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBillOtherDeposit.java index 7ec2c25ed..e38cd2b91 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillOtherDeposit.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBillOtherDeposit.java @@ -1,5 +1,6 @@ package com.iformall.domain.po; +import cn.afterturn.easypoi.excel.annotation.Excel; import com.iformall.common.SortColumn; import lombok.Data; import lombok.EqualsAndHashCode; @@ -8,9 +9,11 @@ import lombok.ToString; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Transient; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; /** * @author gongbiao @@ -34,12 +37,14 @@ public class WxBillOtherDeposit extends BaseEntity { return super.getSortColumns(); } + @Excel(name = "商户名称", width = 20, orderNum = "2") @Transient private String merchantName; @io.swagger.annotations.ApiModelProperty(value = "账单名称", name = "name") private String name; + @Excel(name = "押金描述", width = 20, orderNum = "3") @io.swagger.annotations.ApiModelProperty(value = "账单备注", name = "comments") private String comments; @@ -54,6 +59,7 @@ public class WxBillOtherDeposit extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value = "截止收款日期", name = "receiveDate") private Date receiveDate; + @Excel(name = "收款日期", orderNum = "6", width = 20, format = "yyyy-MM-dd") @SortColumn(column = "payDate") @io.swagger.annotations.ApiModelProperty(value = "到账日期", name = "payDate") private Date payDate; @@ -70,6 +76,7 @@ public class WxBillOtherDeposit extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value = "欠缴", name = "owe") private Long owe; + @Excel(name = "状态", replace = {"欠缴_1", "待缴_2", "已结清_3", "未到期_4", "已退还_5", "失效_6"}, width = 20, orderNum = "8") @io.swagger.annotations.ApiModelProperty(value = "账单状态1欠缴2待缴3已结清4未到期5已退还", name = "status") private Integer status; @io.swagger.annotations.ApiModelProperty(value = "删除 是1否0", name = "isDel") @@ -108,10 +115,40 @@ public class WxBillOtherDeposit extends BaseEntity { @SortColumn(column = "period") private Integer period; + @Excel(name = "商铺号", width = 20, orderNum = "1") @Transient @SortColumn(column = "shopNumber") private String shopNumber; + + @Transient + @Excel(name = "实际应收金额(元)", orderNum = "4", width = 20) + private String receivePayStr; + @Transient + @Excel(name = "实收金额(元)", orderNum = "5", width = 20) + private String payStr; + + public String getReceivePayStr() { + return new BigDecimal(receivePay == null ? 0 : receivePay).divide(new BigDecimal(100)).toPlainString(); + } + + public String getPayStr() { + return new BigDecimal(pay == null ? 0 : pay).divide(new BigDecimal(100)).toPlainString(); + } + + public Date getReturnDate() { + if (status == null) { + return null; + } + return status == 5 ? updatetime : null; + } + + @Excel(name = "退款日", orderNum = "7", width = 20, format = "yyyy-MM-dd") + private Date returnDate; + @Transient + private List> shops; + + public static enum Field { Id_ASC("`id` ASC"), Id_DESC("`id` DESC") , ReceivePay_ASC("`receivePay` ASC"), ReceivePay_DESC("`receivePay` DESC") diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBillProperty.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBillProperty.java index 16de7dd9f..d3104113f 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillProperty.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBillProperty.java @@ -1,5 +1,6 @@ package com.iformall.domain.po; +import cn.afterturn.easypoi.excel.annotation.Excel; import com.iformall.common.SortColumn; import lombok.Data; import lombok.EqualsAndHashCode; @@ -8,6 +9,7 @@ import lombok.ToString; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Transient; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -34,6 +36,7 @@ public class WxBillProperty extends BaseEntity { return super.getSortColumns(); } + @Excel(name = "商户名称", width = 20, orderNum = "2") @Transient private String merchantName; @@ -43,27 +46,58 @@ public class WxBillProperty extends BaseEntity { @SortColumn(column = "receivePay") @io.swagger.annotations.ApiModelProperty(value="实际应收金额",name="receivePay") private Long receivePay; + + public String getReceivePayStr() { + return new BigDecimal(receivePay == null ? 0 : receivePay).divide(new BigDecimal(100)).toPlainString(); + } + + @Excel(name = "本期账款(元)", width = 20, orderNum = "6") + @Transient + private String receivePayStr; + + + public String getPayStr() { + return new BigDecimal(pay == null ? 0 : pay).divide(new BigDecimal(100)).toPlainString(); + } + + @Excel(name = "实收账款(元)", width = 20, orderNum = "7") + @Transient + private String payStr; + @io.swagger.annotations.ApiModelProperty(value="实收金额",name="pay") private Long pay; + @Excel(name = "缴款截止日期", format = "yyyy-MM-dd", width = 20, orderNum = "10") @SortColumn(column = "receiveDate") - @io.swagger.annotations.ApiModelProperty(value="收款日期",name="receiveDate") + @io.swagger.annotations.ApiModelProperty(value="收款日期",name="receiveDate") private Date receiveDate; + @Excel(name = "收款日期", format = "yyyy-MM-dd", width = 20, orderNum = "11") @SortColumn(column = "payDate") - @io.swagger.annotations.ApiModelProperty(value="到账日期",name="payDate") + @io.swagger.annotations.ApiModelProperty(value="到账日期",name="payDate") private Date payDate; @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createtime") private Date createtime; + @Excel(name = "逾期(天) ", width = 20, orderNum = "13") @SortColumn(column = "expiredDay") - @io.swagger.annotations.ApiModelProperty(value="逾期天数",name="expiredDay") + @io.swagger.annotations.ApiModelProperty(value="逾期天数",name="expiredDay") private Long expiredDay; @io.swagger.annotations.ApiModelProperty(value="租户",name="tenantId") private String tenantId; @io.swagger.annotations.ApiModelProperty(value="欠缴",name="owe") private Long owe; + + public String getOweStr() { + return new BigDecimal(owe == null ? 0 : owe).divide(new BigDecimal(100)).toPlainString(); + } + + @Excel(name = "欠缴金额(元)", width = 20, orderNum = "9") + @Transient + private String oweStr; + + @Excel(name = "状态", replace = {"欠缴_1", "待缴_2", "已结清_3", "未到期_4", "已退还_5", "失效_6"}, width = 20, orderNum = "8") @io.swagger.annotations.ApiModelProperty(value = "账单状态1欠缴2待缴3已结清4未到期", name = "status") private Integer status; @io.swagger.annotations.ApiModelProperty(value="是否删除 是1否0 未到期不显示",name="isDel") @@ -85,9 +119,11 @@ public class WxBillProperty extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updatetime") private Date updatetime; + @Excel(name = "周期开始时间", format = "yyyy-MM-dd", width = 20, orderNum = "4") @io.swagger.annotations.ApiModelProperty(value="开始时间",name="starttime") private Date starttime; + @Excel(name = "周期结束时间", format = "yyyy-MM-dd", width = 20, orderNum = "5") @io.swagger.annotations.ApiModelProperty(value="结束时间",name="endtime") private Date endtime; @@ -107,6 +143,14 @@ public class WxBillProperty extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value = "滞纳金总额", name = "latePayPrice") private Long latePayPrice; + public String getLatePayPriceStr() { + return new BigDecimal(latePayPrice == null ? 0 : latePayPrice).divide(new BigDecimal(100)).toPlainString(); + } + + @Excel(name = "滞纳金(元)", width = 20, orderNum = "12") + @Transient + private String latePayPriceStr; + @io.swagger.annotations.ApiModelProperty(value = "账期", name = "period") private Integer period; @@ -128,12 +172,17 @@ public class WxBillProperty extends BaseEntity { @Transient @SortColumn(column = "allPeriod") private Integer allPeriod; + + @Excel(name = "商铺号", width = 20, orderNum = "1") @Transient @SortColumn(column = "shopNumber") private String shopNumber; @Transient private Integer depositStatus; + @Transient + private Long deposit; + public static enum Field { Id_ASC("`id` ASC"),Id_DESC("`id` DESC") diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java index c536a9ee1..f282e520c 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java @@ -1,5 +1,6 @@ package com.iformall.domain.po; +import cn.afterturn.easypoi.excel.annotation.Excel; import com.iformall.common.SortColumn; import lombok.Data; import lombok.EqualsAndHashCode; @@ -8,6 +9,7 @@ import lombok.ToString; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Transient; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -33,6 +35,8 @@ public class WxBillRent extends BaseEntity { super.setSortColumns(this.sortColumns); return super.getSortColumns(); } + + @Excel(name = "商户名称", width = 20, orderNum = "2") @Transient private String merchantName; @@ -42,22 +46,42 @@ public class WxBillRent extends BaseEntity { @SortColumn(column = "receivePay") @io.swagger.annotations.ApiModelProperty(value="实际应收金额",name="receivePay") private Long receivePay; + + public String getReceivePayStr() { + return new BigDecimal(receivePay == null ? 0 : receivePay).divide(new BigDecimal(100)).toPlainString(); + } + + @Excel(name = "本期账款(元)", width = 20, orderNum = "6") + @Transient + private String receivePayStr; + + public String getPayStr() { + return new BigDecimal(pay == null ? 0 : pay).divide(new BigDecimal(100)).toPlainString(); + } + + @Excel(name = "实收账款(元)", width = 20, orderNum = "7") + @Transient + private String payStr; + @io.swagger.annotations.ApiModelProperty(value="实收金额",name="pay") private Long pay; + @Excel(name = "缴款截止日期", format = "yyyy-MM-dd", width = 20, orderNum = "10") @SortColumn(column = "receiveDate") - @io.swagger.annotations.ApiModelProperty(value="收款日期",name="receiveDate") + @io.swagger.annotations.ApiModelProperty(value="收款日期",name="receiveDate") private Date receiveDate; + @Excel(name = "收款日期", format = "yyyy-MM-dd", width = 20, orderNum = "11") @SortColumn(column = "payDate") - @io.swagger.annotations.ApiModelProperty(value="到账日期",name="payDate") + @io.swagger.annotations.ApiModelProperty(value="到账日期",name="payDate") private Date payDate; @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createtime") private Date createtime; + @Excel(name = "逾期(天) ", width = 20, orderNum = "13") @SortColumn(column = "expiredDay") - @io.swagger.annotations.ApiModelProperty(value="逾期天数",name="expiredDay") + @io.swagger.annotations.ApiModelProperty(value="逾期天数",name="expiredDay") private Long expiredDay; @io.swagger.annotations.ApiModelProperty(value="租户",name="tenantId") @@ -66,6 +90,15 @@ public class WxBillRent extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value="欠缴",name="owe") private Long owe; + public String getOweStr() { + return new BigDecimal(owe == null ? 0 : owe).divide(new BigDecimal(100)).toPlainString(); + } + + @Excel(name = "欠缴金额(元)", width = 20, orderNum = "9") + @Transient + private String oweStr; + + @Excel(name = "状态", replace = {"欠缴_1", "待缴_2", "已结清_3", "未到期_4", "已退还_5", "失效_6"}, width = 20, orderNum = "8") @io.swagger.annotations.ApiModelProperty(value = "账单状态1欠缴2待缴3已结清4未到期", name = "status") private Integer status; @@ -88,9 +121,11 @@ public class WxBillRent extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updatetime") private Date updatetime; + @Excel(name = "周期开始时间", format = "yyyy-MM-dd", width = 20, orderNum = "4") @io.swagger.annotations.ApiModelProperty(value="开始时间",name="starttime") private Date starttime; + @Excel(name = "周期结束时间", format = "yyyy-MM-dd", width = 20, orderNum = "5") @io.swagger.annotations.ApiModelProperty(value="结束时间",name="endtime") private Date endtime; @@ -110,6 +145,14 @@ public class WxBillRent extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value = "滞纳金总额", name = "latePayPrice") private Long latePayPrice; + public String getLatePayPriceStr() { + return new BigDecimal(latePayPrice == null ? 0 : latePayPrice).divide(new BigDecimal(100)).toPlainString(); + } + + @Excel(name = "滞纳金(元)", width = 20, orderNum = "12") + @Transient + private String latePayPriceStr; + @SortColumn(column = "period") @io.swagger.annotations.ApiModelProperty(value = "账期", name = "period") private Integer period; @@ -133,12 +176,22 @@ public class WxBillRent extends BaseEntity { @Transient @SortColumn(column = "allPeriod") private Integer allPeriod; + + @Excel(name = "商铺号", width = 20, orderNum = "1") @Transient @SortColumn(column = "shopNumber") private String shopNumber; + + @Excel(name = "押金状态", replace = {"欠缴_1", "待缴_2", "已结清_3", "未到期_4", "已退还_5", "失效_6"}, width = 20, orderNum = "3") @Transient private Integer depositStatus; + @Transient + private Integer rentType; + + @Transient + private Long deposit; + public static enum Field { Id_ASC("`id` ASC"),Id_DESC("`id` DESC") diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxBillDailyExportVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxBillDailyExportVo.java new file mode 100644 index 000000000..ab2f05331 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxBillDailyExportVo.java @@ -0,0 +1,52 @@ +package com.iformall.domain.vo; + + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author gongbiao + */ +@Data +public class WxBillDailyExportVo { + + @Excel(name = "商铺号", width = 20, orderNum = "1") + private String shopNumber; + @Excel(name = "商户名称", width = 20, orderNum = "2") + private String merchantName; + @Excel(name = "费用类型", replace = {"水费_1", "电费_2", "空调费_3"}, width = 10, orderNum = "3") + private Integer type; + @Excel(name = "实际应收金额(元)", orderNum = "4", width = 20) + private String receivePayStr; + @Excel(name = "实收金额(元)", orderNum = "5", width = 20) + private String payStr; + @Excel(name = "欠缴金额(元)", orderNum = "6", width = 20) + private String oweStr; + @Excel(name = "缴款截止日期", orderNum = "7", width = 20, format = "yyyy-MM-dd") + private Date receiveDate; + @Excel(name = "收款日期", orderNum = "8", width = 20, format = "yyyy-MM-dd") + private Date payDate; + @Excel(name = "状态", replace = {"欠缴_1", "待缴_2", "已结清_3", "未到期_4", "已退还_5", "失效_6"}, width = 20, orderNum = "9") + private Integer status; + @Excel(name = "逾期(天)", orderNum = "10", width = 20) + private Long expiredDay; + + private Long receivePay; + private Long pay; + private Long owe; + + public String getReceivePayStr() { + return new BigDecimal(receivePay == null ? 0 : receivePay).divide(new BigDecimal(100)).toPlainString(); + } + + public String getPayStr() { + return new BigDecimal(pay == null ? 0 : pay).divide(new BigDecimal(100)).toPlainString(); + } + + public String getOweStr() { + return new BigDecimal(owe == null ? 0 : owe).divide(new BigDecimal(100)).toPlainString(); + } +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillDailyMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillDailyMapper.java index cdf389c10..784ee8503 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillDailyMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillDailyMapper.java @@ -17,6 +17,6 @@ public interface WxBillDailyMapper extends CommonMapper { void updateWaitPayStatus(Map params); - List> queryBillDailyList(WxBillDaily record); + List queryBillDailyList(WxBillDaily record); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillOtherDepositMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillOtherDepositMapper.java index 87be3b0c5..d75a7b8a5 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillOtherDepositMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillOtherDepositMapper.java @@ -17,6 +17,6 @@ public interface WxBillOtherDepositMapper extends CommonMapper params); - List> queryBillList(WxBillOtherDeposit record); + List queryBillList(WxBillOtherDeposit record); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillOtherMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillOtherMapper.java index f8fb1f900..1ad11c6f4 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillOtherMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillOtherMapper.java @@ -17,7 +17,7 @@ public interface WxBillOtherMapper extends CommonMapper { void updateWaitPayStatus(Map params); - List> queryBillList(WxBillOther record); + List queryBillList(WxBillOther record); Map queryPayInfoTotal(Map params); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java index 6d8151db0..b0e6ebaa3 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java @@ -14,7 +14,7 @@ public interface WxBillPropertyMapper extends CommonMapper List findList(WxBillProperty wxBillProperty); - List> queryBillPropertyList(WxBillProperty record); + List queryBillPropertyList(WxBillProperty record); Map queryPayInfo(Map params); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java index f900f06a7..633a28660 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java @@ -15,7 +15,7 @@ public interface WxBillRentMapper extends CommonMapper { List findList(WxBillRent wxBillRent); - List> queryBillRentList(WxBillRent record); + List queryBillRentList(WxBillRent record); Map queryPayInfo(Map params); diff --git a/mallinkService/src/main/java/com/iformall/service/WxBillDailyService.java b/mallinkService/src/main/java/com/iformall/service/WxBillDailyService.java index e8b9bf581..e67abb6f3 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBillDailyService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBillDailyService.java @@ -23,7 +23,7 @@ public interface WxBillDailyService { * @param record * @return */ - PageInfo> listAsPage(WxBillDaily record, Integer pageIndex, Integer pageSize); + PageInfo listAsPage(WxBillDaily record, Integer pageIndex, Integer pageSize); void updateBillStatus(WxBillDaily record); @@ -33,7 +33,7 @@ public interface WxBillDailyService { * @param id * @return */ - Map getById(Long id); + WxBillDaily getById(Long id); /** * 保存或更新实体 @@ -57,4 +57,6 @@ public interface WxBillDailyService { void insertData(WxBillDailyVo billDaily, String importKey, MallUserInfo user); + void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillDaily wxBillDaily); + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxBillOtherDepositService.java b/mallinkService/src/main/java/com/iformall/service/WxBillOtherDepositService.java index ab5c4667f..8257bc710 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBillOtherDepositService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBillOtherDepositService.java @@ -5,6 +5,8 @@ import com.iformall.common.ResultData; import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxBillOtherDeposit; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.Map; /** @@ -20,7 +22,7 @@ public interface WxBillOtherDepositService { * @param record * @return */ - PageInfo> listAsPage(WxBillOtherDeposit record, Integer pageIndex, Integer pageSize); + PageInfo listAsPage(WxBillOtherDeposit record, Integer pageIndex, Integer pageSize); void updateBillStatus(WxBillOtherDeposit record); @@ -30,7 +32,7 @@ public interface WxBillOtherDepositService { * @param id * @return */ - Map getById(Long id); + WxBillOtherDeposit getById(Long id); /** * 保存或更新实体 @@ -53,4 +55,7 @@ public interface WxBillOtherDepositService { ResultData returnDeposit(WxBillOtherDeposit wxBillDeposit, MallUserInfo user); ResultData adjustDeposit(WxBillOtherDeposit wxBillDeposit); + + void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillOtherDeposit wxBillDeposit); + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxBillOtherService.java b/mallinkService/src/main/java/com/iformall/service/WxBillOtherService.java index aeb5cbe4e..42e42ae6e 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBillOtherService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBillOtherService.java @@ -5,6 +5,8 @@ import com.iformall.common.ResultData; import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxBillOther; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.Map; /** @@ -20,7 +22,7 @@ public interface WxBillOtherService { * @param record * @return */ - PageInfo> listAsPage(WxBillOther record, Integer pageIndex, Integer pageSize); + PageInfo listAsPage(WxBillOther record, Integer pageIndex, Integer pageSize); void updateBillStatus(WxBillOther record); @@ -30,7 +32,7 @@ public interface WxBillOtherService { * @param id * @return */ - Map getById(Long id); + WxBillOther getById(Long id); /** * 保存或更新实体 @@ -50,4 +52,6 @@ public interface WxBillOtherService { ResultData updatePaid(Long id); + void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillOther wxBillOther); + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxBillPropertyService.java b/mallinkService/src/main/java/com/iformall/service/WxBillPropertyService.java index bd2640c70..dff950e39 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBillPropertyService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBillPropertyService.java @@ -6,6 +6,8 @@ import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxBillProperty; import com.iformall.domain.po.WxBillRent; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.Map; /** @@ -22,7 +24,7 @@ public interface WxBillPropertyService { * @param record * @return */ - PageInfo> listAsPage(WxBillProperty record, Integer pageIndex, Integer pageSize); + PageInfo listAsPage(WxBillProperty record, Integer pageIndex, Integer pageSize); void updateBillStatus(WxBillProperty record); @@ -32,7 +34,7 @@ public interface WxBillPropertyService { * @param id * @return */ - Map getById(Long id); + WxBillProperty getById(Long id); /** * 保存或更新实体 @@ -50,7 +52,7 @@ public interface WxBillPropertyService { void deleteById(Long id); - PageInfo> findByPropertyContractId(Long id, String tenantId, Integer pageIndex, Integer pageSize); + PageInfo findByPropertyContractId(Long id, String tenantId, Integer pageIndex, Integer pageSize); ResultData updatePaid(Long id); @@ -58,4 +60,6 @@ public interface WxBillPropertyService { ResultData updateLatePayStatus(WxBillProperty wxBillProperty); + void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillProperty wxBillProperty); + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxBillRentService.java b/mallinkService/src/main/java/com/iformall/service/WxBillRentService.java index 1961f7970..666bd1601 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBillRentService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBillRentService.java @@ -6,6 +6,9 @@ import com.iformall.common.ResultData; import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxBillRent; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + /** * @author gongbiao */ @@ -19,7 +22,7 @@ public interface WxBillRentService { * @param record * @return */ - PageInfo> listAsPage(WxBillRent record, Integer pageIndex, Integer pageSize); + PageInfo listAsPage(WxBillRent record, Integer pageIndex, Integer pageSize); void updateBillStatus(WxBillRent record); @@ -29,7 +32,7 @@ public interface WxBillRentService { * @param id * @return */ - Map getById(Long id); + WxBillRent getById(Long id); /** * 保存或更新实体 @@ -47,7 +50,7 @@ public interface WxBillRentService { void deleteById(Long id); - PageInfo> findByRentContractId(Long id, String tenantId, Integer pageIndex, Integer pageSize); + PageInfo findByRentContractId(Long id, String tenantId, Integer pageIndex, Integer pageSize); ResultData updatePaid(Long id); @@ -57,4 +60,7 @@ public interface WxBillRentService { ResultData updateLatePayStatus(WxBillRent wxBillRent); + + void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillRent wxBillRent); + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillDailyServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillDailyServiceImpl.java index 08430b006..afbadea63 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillDailyServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillDailyServiceImpl.java @@ -7,6 +7,7 @@ import com.iformall.common.IdWorker; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.*; +import com.iformall.domain.vo.WxBillDailyExportVo; import com.iformall.domain.vo.WxBillDailyVo; import com.iformall.enums.*; import com.iformall.exception.MallinkException; @@ -51,13 +52,13 @@ public class WxBillDailyServiceImpl implements WxBillDailyService { @Autowired WxMerchantShopMapper wxMerchantShopMapper; @Override - public PageInfo> listAsPage(WxBillDaily record, Integer pageIndex, Integer pageSize) { + public PageInfo listAsPage(WxBillDaily record, Integer pageIndex, Integer pageSize) { //分页对象设置页数和条数 PageHelper.startPage(pageIndex, pageSize); //查询 - List> billDepositList = wxBillDailyMapper.queryBillDailyList(record); + List billDepositList = wxBillDailyMapper.queryBillDailyList(record); //结果放入分页对象 - PageInfo> pageInfo = new PageInfo<>(billDepositList); + PageInfo pageInfo = new PageInfo<>(billDepositList); return pageInfo; } @@ -102,18 +103,17 @@ public class WxBillDailyServiceImpl implements WxBillDailyService { } @Override - public Map getById(Long id) { + public WxBillDaily getById(Long id) { WxBillDaily record = new WxBillDaily(); record.setId(id); - Map wxBillDaily = wxBillDailyMapper.queryBillDailyList(record).get(0); - - if(wxBillDaily.get("shopId")!=null) { + WxBillDaily wxBillDaily = wxBillDailyMapper.queryBillDailyList(record).get(0); + if (wxBillDaily.getShopId() != null) { WxShop shop = new WxShop(); - shop.setId((Long)wxBillDaily.get("shopId")); + shop.setId(wxBillDaily.getShopId()); List> shoplist = wxShopMapper.findListMap(shop); - wxBillDaily.put("shops",shoplist); + wxBillDaily.setShops(shoplist); }else{ - wxBillDaily.put("shops",Collections.EMPTY_LIST); + wxBillDaily.setShops(Collections.EMPTY_LIST); } return wxBillDaily; @@ -295,4 +295,27 @@ public class WxBillDailyServiceImpl implements WxBillDailyService { stringRedisTemplate.expire(importKey, 10, TimeUnit.SECONDS); } + @Override + public void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillDaily record) { + List billDailyList = wxBillDailyMapper.queryBillDailyList(record); + List datalist = new ArrayList<>(); + WxBillDailyExportVo wxBillDailyExportVo; + for (int i = 0, size = billDailyList.size(); i < size; i++) { + WxBillDaily b = billDailyList.get(i); + wxBillDailyExportVo = new WxBillDailyExportVo(); + wxBillDailyExportVo.setShopNumber(b.getShopNumber()); + wxBillDailyExportVo.setMerchantName(b.getMerchantName()); + wxBillDailyExportVo.setReceivePay(b.getReceivePay()); + wxBillDailyExportVo.setPay(b.getPay()); + wxBillDailyExportVo.setOwe(b.getOwe()); + wxBillDailyExportVo.setReceiveDate(b.getReceiveDate()); + wxBillDailyExportVo.setPayDate(b.getPayDate()); + wxBillDailyExportVo.setExpiredDay(b.getExpiredDay()); + wxBillDailyExportVo.setStatus(b.getStatus()); + wxBillDailyExportVo.setType(b.getType()); + datalist.add(wxBillDailyExportVo); + } + excelService.exportExcel(datalist, null, "日常费用账单", WxBillDailyExportVo.class, "日常费用账单.xlsx", response, false); + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherDepositServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherDepositServiceImpl.java index 7a88b8b1e..efdd4a9bd 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherDepositServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherDepositServiceImpl.java @@ -6,14 +6,12 @@ import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; import com.iformall.common.Result; import com.iformall.common.ResultData; -import com.iformall.domain.po.MallUserInfo; -import com.iformall.domain.po.WxBillAction; -import com.iformall.domain.po.WxBillOtherDeposit; -import com.iformall.domain.po.WxShop; +import com.iformall.domain.po.*; import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.WxBillOtherDepositMapper; import com.iformall.mapper.WxShopMapper; +import com.iformall.service.ExcelService; import com.iformall.service.WxBillActionService; import com.iformall.service.WxBillOtherDepositService; import org.slf4j.Logger; @@ -22,6 +20,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.util.*; @@ -41,15 +41,17 @@ public class WxBillOtherDepositServiceImpl implements WxBillOtherDepositService @Autowired WxBillActionService wxBillActionService; + @Autowired + ExcelService excelService; @Override - public PageInfo> listAsPage(WxBillOtherDeposit record, Integer pageIndex, Integer pageSize) { + public PageInfo listAsPage(WxBillOtherDeposit record, Integer pageIndex, Integer pageSize) { //分页对象设置页数和条数 PageHelper.startPage(pageIndex, pageSize); //查询 - List> billList = wxBillOtherDepositMapper.queryBillList(record); + List billList = wxBillOtherDepositMapper.queryBillList(record); //结果放入分页对象 - PageInfo> pageInfo = new PageInfo<>(billList); + PageInfo pageInfo = new PageInfo<>(billList); return pageInfo; } @@ -94,20 +96,18 @@ public class WxBillOtherDepositServiceImpl implements WxBillOtherDepositService } @Override - public Map getById(Long id) { + public WxBillOtherDeposit getById(Long id) { WxBillOtherDeposit record = new WxBillOtherDeposit(); record.setId(id); - Map wxBillOther = wxBillOtherDepositMapper.queryBillList(record).get(0); - - if (wxBillOther.get("shopId") != null) { + WxBillOtherDeposit wxBillOther = wxBillOtherDepositMapper.queryBillList(record).get(0); + if (wxBillOther.getShopId() != null) { WxShop shop = new WxShop(); - shop.setId((Long) wxBillOther.get("shopId")); + shop.setId(wxBillOther.getShopId()); List> shoplist = wxShopMapper.findListMap(shop); - wxBillOther.put("shops", shoplist); + wxBillOther.setShops(shoplist); } else { - wxBillOther.put("shops", Collections.EMPTY_LIST); + wxBillOther.setShops(Collections.EMPTY_LIST); } - return wxBillOther; } @@ -265,5 +265,11 @@ public class WxBillOtherDepositServiceImpl implements WxBillOtherDepositService return new ResultData(Result.SUCCESS, "其他押金调整成功", wxBillDeposit); } + @Override + public void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillOtherDeposit wxBillDeposit) { + List datalist = wxBillOtherDepositMapper.queryBillList(wxBillDeposit); + excelService.exportExcel(datalist, null, "其他押金账单", WxBillProperty.class, "其他押金账单.xlsx", response, false); + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherServiceImpl.java index 3783dd1c7..d8f1e56e4 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherServiceImpl.java @@ -6,14 +6,12 @@ import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; import com.iformall.common.Result; import com.iformall.common.ResultData; -import com.iformall.domain.po.MallUserInfo; -import com.iformall.domain.po.WxBillAction; -import com.iformall.domain.po.WxBillOther; -import com.iformall.domain.po.WxShop; +import com.iformall.domain.po.*; import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.WxBillOtherMapper; import com.iformall.mapper.WxShopMapper; +import com.iformall.service.ExcelService; import com.iformall.service.WxBillActionService; import com.iformall.service.WxBillOtherService; import org.slf4j.Logger; @@ -22,6 +20,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.util.*; @@ -41,14 +41,17 @@ public class WxBillOtherServiceImpl implements WxBillOtherService { @Autowired WxBillActionService wxBillActionService; + @Autowired + ExcelService excelService; + @Override - public PageInfo> listAsPage(WxBillOther record, Integer pageIndex, Integer pageSize) { + public PageInfo listAsPage(WxBillOther record, Integer pageIndex, Integer pageSize) { //分页对象设置页数和条数 PageHelper.startPage(pageIndex, pageSize); //查询 - List> billList = wxBillOtherMapper.queryBillList(record); + List billList = wxBillOtherMapper.queryBillList(record); //结果放入分页对象 - PageInfo> pageInfo = new PageInfo<>(billList); + PageInfo pageInfo = new PageInfo<>(billList); return pageInfo; } @@ -93,18 +96,18 @@ public class WxBillOtherServiceImpl implements WxBillOtherService { } @Override - public Map getById(Long id) { + public WxBillOther getById(Long id) { WxBillOther record = new WxBillOther(); record.setId(id); - Map wxBillOther = wxBillOtherMapper.queryBillList(record).get(0); + WxBillOther wxBillOther = wxBillOtherMapper.queryBillList(record).get(0); - if(wxBillOther.get("shopId")!=null) { + if (wxBillOther.getShopId() != null) { WxShop shop = new WxShop(); - shop.setId((Long)wxBillOther.get("shopId")); + shop.setId(wxBillOther.getShopId()); List> shoplist = wxShopMapper.findListMap(shop); - wxBillOther.put("shops",shoplist); + wxBillOther.setShops(shoplist); }else{ - wxBillOther.put("shops",Collections.EMPTY_LIST); + wxBillOther.setShops(Collections.EMPTY_LIST); } return wxBillOther; @@ -207,10 +210,12 @@ public class WxBillOtherServiceImpl implements WxBillOtherService { } return new ResultData(Result.SUCCESS, "其他账单结单成功"); } - - - - - - + + @Override + public void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillOther wxBillOther) { + List datalist = wxBillOtherMapper.queryBillList(wxBillOther); + excelService.exportExcel(datalist, null, "其他费用账单", WxBillOther.class, "其他费用账单.xlsx", response, false); + } + + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java index ef20d0220..0604d3ad0 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java @@ -1,5 +1,6 @@ package com.iformall.service.impl; +import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.common.ErrorCode; @@ -11,19 +12,21 @@ import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.WxBillPropertyDepositMapper; import com.iformall.mapper.WxBillPropertyMapper; +import com.iformall.service.ExcelService; import com.iformall.service.WxBillActionService; import com.iformall.service.WxBillPropertyService; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * @author gongbiao @@ -41,11 +44,14 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { @Autowired WxBillActionService wxBillActionService; + @Autowired + ExcelService excelService; + @Override - public PageInfo> listAsPage(WxBillProperty record, Integer pageIndex, Integer pageSize) { + public PageInfo listAsPage(WxBillProperty record, Integer pageIndex, Integer pageSize) { PageHelper.startPage(pageIndex, pageSize); - List> billRentList = wxBillPropertyMapper.queryBillPropertyList(record); - PageInfo> pageInfo = new PageInfo<>(billRentList); + List billRentList = wxBillPropertyMapper.queryBillPropertyList(record); + PageInfo pageInfo = new PageInfo<>(billRentList); return pageInfo; } @@ -90,7 +96,7 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { } @Override - public Map getById(Long id) { + public WxBillProperty getById(Long id) { WxBillProperty record = new WxBillProperty(); record.setId(id); return wxBillPropertyMapper.queryBillPropertyList(record).get(0); @@ -174,15 +180,15 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { } @Override - public PageInfo> findByPropertyContractId(Long id, String tenantId, Integer pageIndex, Integer pageSize) { + public PageInfo findByPropertyContractId(Long id, String tenantId, Integer pageIndex, Integer pageSize) { WxBillProperty record = new WxBillProperty(); record.setPropertyContractId(id); record.setTenantId(tenantId); record.setSortColumns(WxBillProperty.Field.Id_ASC); updateBillStatus(record); PageHelper.startPage(pageIndex, pageSize); - List> billRentList = wxBillPropertyMapper.queryBillPropertyList(record); - PageInfo> pageInfo = new PageInfo<>(billRentList); + List billRentList = wxBillPropertyMapper.queryBillPropertyList(record); + PageInfo pageInfo = new PageInfo<>(billRentList); return pageInfo; } @@ -210,10 +216,10 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { @Override public Object detail(Long id) { //物业 - Map property = getById(id); + WxBillProperty property = getById(id); //押金 WxBillPropertyDeposit depositParam = new WxBillPropertyDeposit(); - depositParam.setPropertyContractId((Long) property.get("propertyContractId")); + depositParam.setPropertyContractId(property.getPropertyContractId()); Map deposit = null; List> billDepositList = wxBillPropertyDepositMapper.queryBillDepositList(depositParam); if (!billDepositList.isEmpty()) { @@ -238,4 +244,31 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { return new ResultData(Result.SUCCESS, "滞纳金结单成功", record); } + @Override + public void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillProperty wxBillProperty) { + String billName = wxBillProperty.getRentShopType().equals(EnumRentShopType.SHOP.getCode()) ? "商铺物业账单" : "多经点位物业账单"; + Map> collect = wxBillPropertyMapper.queryBillPropertyList(wxBillProperty).parallelStream() + .collect(Collectors.groupingBy(WxBillProperty::getMerchantId)); + Set>> entries = collect.entrySet(); + List datalist = new ArrayList<>(); + for (Map.Entry> entry : entries) { + List list = entry.getValue(); + for (WxBillProperty property : list) { + String shopNumber = property.getShopNumber(); + if (StringUtils.isEmpty(shopNumber)) { + String shopInfo = property.getShopInfo(); + if (StringUtils.isNotEmpty(shopInfo) && !shopInfo.equals("[]")) { + JSONObject jsonObject = JSONObject.parseObject(shopInfo); + StringBuffer sb = new StringBuffer(); + Set> sets = jsonObject.entrySet(); + sets.forEach(x -> sb.append(x.getKey()).append(",")); + property.setShopNumber(sb.deleteCharAt(sb.length() - 1).toString()); + } + } + datalist.add(property); + } + } + excelService.exportExcel(datalist, null, billName, WxBillProperty.class, billName + ".xlsx", response, false); + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java index f3036f158..e306d366f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java @@ -1,29 +1,35 @@ package com.iformall.service.impl; +import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; import com.iformall.common.Result; import com.iformall.common.ResultData; -import com.iformall.domain.po.*; +import com.iformall.domain.po.MallUserInfo; +import com.iformall.domain.po.WxBillAction; +import com.iformall.domain.po.WxBillDeposit; +import com.iformall.domain.po.WxBillRent; import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.WxBillDepositMapper; import com.iformall.mapper.WxBillRentMapper; +import com.iformall.service.ExcelService; import com.iformall.service.WxBillActionService; import com.iformall.service.WxBillRentService; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * @author gongbiao @@ -41,11 +47,14 @@ public class WxBillRentServiceImpl implements WxBillRentService { @Autowired WxBillActionService wxBillActionService; + @Autowired + ExcelService excelService; + @Override - public PageInfo> listAsPage(WxBillRent record, Integer pageIndex, Integer pageSize) { + public PageInfo listAsPage(WxBillRent record, Integer pageIndex, Integer pageSize) { PageHelper.startPage(pageIndex, pageSize); - List> billRentList = wxBillRentMapper.queryBillRentList(record); - PageInfo> pageInfo = new PageInfo<>(billRentList); + List billRentList = wxBillRentMapper.queryBillRentList(record); + PageInfo pageInfo = new PageInfo<>(billRentList); return pageInfo; } @@ -90,7 +99,7 @@ public class WxBillRentServiceImpl implements WxBillRentService { } @Override - public Map getById(Long id) { + public WxBillRent getById(Long id) { WxBillRent record = new WxBillRent(); record.setId(id); return wxBillRentMapper.queryBillRentList(record).get(0); @@ -173,15 +182,15 @@ public class WxBillRentServiceImpl implements WxBillRentService { } @Override - public PageInfo> findByRentContractId(Long id, String tenantId, Integer pageIndex, Integer pageSize) { + public PageInfo findByRentContractId(Long id, String tenantId, Integer pageIndex, Integer pageSize) { WxBillRent record = new WxBillRent(); record.setRentContractId(id); record.setTenantId(tenantId); record.setSortColumns(WxBillRent.Field.Id_ASC); updateBillStatus(record); PageHelper.startPage(pageIndex, pageSize); - List> billRentList = wxBillRentMapper.queryBillRentList(record); - PageInfo> pageInfo = new PageInfo<>(billRentList); + List billRentList = wxBillRentMapper.queryBillRentList(record); + PageInfo pageInfo = new PageInfo<>(billRentList); return pageInfo; } @@ -208,10 +217,10 @@ public class WxBillRentServiceImpl implements WxBillRentService { @Override public Object detail(Long id) { //租赁 - Map rent = getById(id); + WxBillRent rent = getById(id); //押金 WxBillDeposit depositParam = new WxBillDeposit(); - depositParam.setRentContractId((Long) rent.get("rentContractId")); + depositParam.setRentContractId(rent.getRentContractId()); Map deposit = null; List> billDepositList = wxBillDepositMapper.queryBillDepositList(depositParam); if (!billDepositList.isEmpty()) { @@ -273,4 +282,31 @@ public class WxBillRentServiceImpl implements WxBillRentService { } return new ResultData(Result.SUCCESS, "滞纳金结单成功", record); } + + @Override + public void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillRent wxBillRent) { + String billName = wxBillRent.getRentShopType().equals(EnumRentShopType.SHOP.getCode()) ? "商铺租金账单" : "多经点位租金账单"; + Map> collect = wxBillRentMapper.queryBillRentList(wxBillRent).parallelStream() + .collect(Collectors.groupingBy(WxBillRent::getMerchantId)); + Set>> entries = collect.entrySet(); + List datalist = new ArrayList<>(); + for (Map.Entry> entry : entries) { + List list = entry.getValue(); + for (WxBillRent rent : list) { + String shopNumber = rent.getShopNumber(); + if (StringUtils.isEmpty(shopNumber)) { + String shopInfo = rent.getShopInfo(); + if (StringUtils.isNotEmpty(shopInfo) && !shopInfo.equals("[]")) { + JSONObject jsonObject = JSONObject.parseObject(shopInfo); + StringBuffer sb = new StringBuffer(); + Set> sets = jsonObject.entrySet(); + sets.forEach(x -> sb.append(x.getKey()).append(",")); + rent.setShopNumber(sb.deleteCharAt(sb.length() - 1).toString()); + } + } + datalist.add(rent); + } + } + excelService.exportExcel(datalist, null, billName, WxBillRent.class, billName + ".xlsx", response, false); + } } diff --git a/mallinkService/src/main/resources/mapper/WxBillDailyMapper.xml b/mallinkService/src/main/resources/mapper/WxBillDailyMapper.xml index cf5c1350d..403c2e5cb 100644 --- a/mallinkService/src/main/resources/mapper/WxBillDailyMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillDailyMapper.xml @@ -21,6 +21,8 @@ + + @@ -64,13 +66,11 @@ - + select br.`id`,br.`receive_pay`,br.`pay`,br.`receive_date`,br.`pay_date`,br.`createtime`,br.`expired_day` , + case when br.status=1 then br.owe else 0 end owe,br.`status`,m.`name` merchant_name, + s.shop_number,br.`updatetime`,br.`merchant_id`, + br.shop_id,br.type,br.`rent_shop_type`,br.pay_way,br.price_detail from wx_bill_daily br left join wx_merchant m on br.merchant_id=m.id left join wx_shop s on br.shop_id=s.id diff --git a/mallinkService/src/main/resources/mapper/WxBillOtherDepositMapper.xml b/mallinkService/src/main/resources/mapper/WxBillOtherDepositMapper.xml index 67e96ec4c..9d7f7d517 100644 --- a/mallinkService/src/main/resources/mapper/WxBillOtherDepositMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillOtherDepositMapper.xml @@ -22,6 +22,8 @@ + + @@ -68,12 +70,10 @@ - + select br.`id`,br.`receive_pay`,br.`pay`,br.`receive_date`,br.`pay_date`,br.`createtime`,br.`expired_day`, + br.`owe`,br.`status`,m.`name` merchant_name,s.shop_number,br.`updatetime`,br.`return_price`,br.`merchant_id`, + br.shop_id,br.name,br.comments,br.`rent_shop_type`,br.pay_way from wx_bill_other_deposit br left join wx_merchant m on br.merchant_id=m.id left join wx_shop s on br.shop_id=s.id diff --git a/mallinkService/src/main/resources/mapper/WxBillOtherMapper.xml b/mallinkService/src/main/resources/mapper/WxBillOtherMapper.xml index d12da854f..84402813c 100644 --- a/mallinkService/src/main/resources/mapper/WxBillOtherMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillOtherMapper.xml @@ -21,7 +21,10 @@ - + + + + @@ -64,14 +67,12 @@ select from wx_bill_other - - + select br.`id`,br.`receive_pay`,br.`pay`,br.`receive_date`, br.`pay_date`,br.`createtime`,br.`expired_day`, + case when br.status=1 then br.owe else 0 end owe,br.`status`,m.`name` + merchant_name,s.shop_number,br.`updatetime`, + br.`merchant_id`,br.shop_id,br.name,br.comments,br.`rent_shop_type`,br.pay_way from wx_bill_other br left join wx_merchant m on br.merchant_id=m.id left join wx_shop s on br.shop_id=s.id diff --git a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml index 709f73fc5..db257e5cd 100644 --- a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml @@ -32,7 +32,12 @@ - + + + + + + @@ -80,20 +85,18 @@ select from wx_bill_property - - + select br.`id`,br.`receive_pay`,br.`pay`,br.`receive_date`,br.`pay_date`,br.`createtime`,br.`expired_day`, + case when br.status=1 then br.owe else 0 end owe,br.`status`,br.`need_pay`,m.`name` + merchant_name,s.shop_number,br.`updatetime`, + br.`merchant_id`,br.`rent_shop_type`,br.`period`,br.`revenue`,br.`late_pay_ratio`,br.`late_pay_time`, + br.`property_contract_id`,d.receive_pay deposit, + case when br.late_pay_status=2 then (case when br.late_pay_time is null then 0 else FLOOR(DATEDIFF(now(),br.late_pay_time)*br.late_pay_ratio/10000*br.owe)end) - else br.late_pay_price end latePayPrice, - (select max(period) from wx_bill_property where property_contract_id=br.property_contract_id) - allPeriod,d.`status` depositStatus,br.`shop_info` shopInfo,br.pay_way payWay,br.late_pay_status latePayStatus, + else br.late_pay_price end late_pay_price,(select max(period) from wx_bill_property where + property_contract_id=br.property_contract_id) all_period, + d.`status` deposit_status,br.`shop_info`,br.pay_way,br.late_pay_status, br.`comments`,br.starttime,br.endtime from wx_bill_property br left join wx_merchant m on br.merchant_id=m.id left join wx_shop s on br.shop_id=s.id diff --git a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml index 4868828be..569722623 100644 --- a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml @@ -32,7 +32,14 @@ - + + + + + + + + @@ -82,23 +89,20 @@ from wx_bill_rent - - - + select br.`id`,br.`receive_pay`,br.`pay`,br.`receive_date`,br.`pay_date`,br.`createtime`,br.`expired_day`, + case when br.status=1 then br.owe else 0 end owe,br.`status`,br.`need_pay`,m.`name` + merchant_name,s.shop_number,br.`updatetime`, + br.`merchant_id`,br.`rent_shop_type`,r.type as + rent_type,r.pay_ratio,br.`revenue`,br.`late_pay_ratio`,br.`late_pay_time`,br.`period`, + br.`rent_contract_id`,d.receive_pay deposit,case when br.late_pay_status=2 then (case when br.late_pay_time is + null then 0 + else FLOOR(DATEDIFF(now(),br.late_pay_time)*br.late_pay_ratio/10000*br.owe)end) else br.late_pay_price end + late_pay_price,d.`status` deposit_status, + br.shop_info,br.pay_way,br.late_pay_status,br.`comments`,br.starttime,br.endtime, + (select max(period) from wx_bill_rent where rent_contract_id=br.rent_contract_id) as all_period from wx_bill_rent br left join wx_merchant m on br.merchant_id=m.id left join wx_shop s on br.shop_id=s.id left join wx_rent_contract r on br.rent_contract_id=r.id