From 36d933e6a76bf2c2754b82013c02f234fa431454 Mon Sep 17 00:00:00 2001 From: hupeng Date: Tue, 2 Apr 2019 19:29:58 +0800 Subject: [PATCH] =?UTF-8?q?[=E9=9C=80=E6=B1=82][=E6=96=B0=E5=A2=9E]:?= =?UTF-8?q?=E8=B4=A6=E5=8D=95=E5=AF=BC=E5=87=BA=E4=BD=BF=E7=94=A8=E7=BB=9F?= =?UTF-8?q?=E4=B8=80=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/domain/vo/WxBillAllVo.java | 265 ++++++++++++++++++ .../com/iformall/mapper/WxBillAllMapper.java | 3 +- .../service/impl/WxBillAllServiceImpl.java | 54 +++- .../service/impl/WxCardSpendServiceImpl.java | 4 +- .../impl/WxMerchantSubsidyServiceImpl.java | 4 +- .../main/resources/mapper/WxBillAllMapper.xml | 49 +++- 6 files changed, 354 insertions(+), 25 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/WxBillAllVo.java diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxBillAllVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxBillAllVo.java new file mode 100644 index 000000000..0d8cc3b38 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxBillAllVo.java @@ -0,0 +1,265 @@ +package com.iformall.domain.vo; + +import cn.afterturn.easypoi.excel.annotation.Excel; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author gongbiao + */ +public class WxBillAllVo { + Long id; + + String tenantId; + + Long merchantId; + + Long shopId; + + //@Excel(name="商铺号",width = 20,orderNum = "1") + String shopNumber; + + //@Excel(name="商户名称",width = 20,orderNum = "2") + String merchantName; + + //@Excel(name="商铺类型",width = 20,orderNum = "3", replace = {"店铺_1","多经点位_2"}) + Integer rentShopType; + + @Excel(name="费用类型",width = 20,orderNum = "4") + String billType; + + @Excel(name="实际应收金额(元)",width = 20,orderNum = "5") + String receivePayStr; + + @Excel(name="实收金额(元)",width = 20,orderNum = "6") + String payStr; + + @Excel(name="欠缴金额(元)",width = 20,orderNum = "7") + String oweStr; + + @Excel(name="缴款截止日期",width = 20,orderNum = "8", format="yyyy-MM-dd") + Date receiveDate; + + @Excel(name="逾期天数",width = 20,orderNum = "9") + Integer expiredDay; + + @Excel(name="账单状态",width = 20,orderNum = "10", replace = {"欠缴_1","待缴_2","已结清_3","未到期_4","已退还_5","失效_6"}) + Integer status; + + Integer billTypeValue; + Integer needPay; + Integer receivePay; + Integer pay; + Integer owe; + Date payDate; + Date starttime; + Date endtime; + + String manager; + String managerPhone; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getMerchantId() { + return merchantId; + } + + public void setMerchantId(Long merchantId) { + this.merchantId = merchantId; + } + + public Long getShopId() { + return shopId; + } + + public void setShopId(Long shopId) { + this.shopId = shopId; + } + + public Integer getBillTypeValue() { + return billTypeValue; + } + + public void setBillTypeValue(Integer billTypeValue) { + this.billTypeValue = billTypeValue; + } + + public String getBillType() { + return billType; + } + + public void setBillType(String billType) { + this.billType = billType; + } + + public Integer getNeedPay() { + return needPay; + } + + public void setNeedPay(Integer needPay) { + this.needPay = needPay; + } + + public Integer getReceivePay() { + return receivePay; + } + + public void setReceivePay(Integer receivePay) { + this.receivePay = receivePay; + } + + public Integer getPay() { + return pay; + } + + public void setPay(Integer pay) { + this.pay = pay; + } + + public Integer getOwe() { + return owe; + } + + public void setOwe(Integer owe) { + this.owe = owe; + } + + public Date getReceiveDate() { + return receiveDate; + } + + public void setReceiveDate(Date receiveDate) { + this.receiveDate = receiveDate; + } + + public Date getPayDate() { + return payDate; + } + + public void setPayDate(Date payDate) { + this.payDate = payDate; + } + + public Integer getExpiredDay() { + return expiredDay; + } + + public void setExpiredDay(Integer expiredDay) { + this.expiredDay = expiredDay; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public String getTenantId() { + return tenantId; + } + + public void setTenantId(String tenantId) { + this.tenantId = tenantId; + } + + public Date getStarttime() { + return starttime; + } + + public void setStarttime(Date starttime) { + this.starttime = starttime; + } + + public Date getEndtime() { + return endtime; + } + + public void setEndtime(Date endtime) { + this.endtime = endtime; + } + + + public Integer getRentShopType() { + return rentShopType; + } + + public void setRentShopType(Integer rentShopType) { + this.rentShopType = rentShopType; + } + + public String getMerchantName() { + return merchantName; + } + + public void setMerchantName(String merchantName) { + this.merchantName = merchantName; + } + + public String getShopNumber() { + return shopNumber; + } + + public void setShopNumber(String shopNumber) { + this.shopNumber = shopNumber; + } + + public String getManager() { + return manager; + } + + public void setManager(String manager) { + this.manager = manager; + } + + public String getManagerPhone() { + return managerPhone; + } + + public void setManagerPhone(String managerPhone) { + this.managerPhone = managerPhone; + } + + + public String getReceivePayStr() { + if(getReceivePay()!=null) { + receivePayStr = new BigDecimal(getReceivePay()).divide(new BigDecimal(100)).toString(); + } + return receivePayStr; + } + + public void setReceivePayStr(String receivePayStr) { + this.receivePayStr = receivePayStr; + } + + public String getPayStr() { + if(getPay()!=null) { + payStr = new BigDecimal(getPay()).divide(new BigDecimal(100)).toString(); + } + return payStr; + } + + public void setPayStr(String payStr) { + this.payStr = payStr; + } + + public String getOweStr() { + if(getOwe()!=null) { + oweStr = new BigDecimal(getOwe()).divide(new BigDecimal(100)).toString(); + } + return oweStr; + } + + public void setOweStr(String oweStr) { + this.oweStr = oweStr; + } +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillAllMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillAllMapper.java index a3c0f5384..da8c26e1d 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillAllMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillAllMapper.java @@ -1,6 +1,7 @@ package com.iformall.mapper; import com.iformall.domain.vo.WxBillAll; +import com.iformall.domain.vo.WxBillAllVo; import java.util.List; import java.util.Map; @@ -11,7 +12,7 @@ import java.util.Map; public interface WxBillAllMapper { - List> list(WxBillAll record); + List list(WxBillAll record); Map queryOweInfo(WxBillAll record); 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 c591e60b7..bc2cc6988 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java @@ -1,22 +1,18 @@ package com.iformall.service.impl; +import cn.afterturn.easypoi.excel.entity.ExportParams; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; import com.iformall.domain.po.*; import com.iformall.domain.vo.WxBillAll; +import com.iformall.domain.vo.WxBillAllVo; import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.*; import com.iformall.service.*; -import com.iformall.utils.Constant; -import com.iformall.utils.DateUtils; -import org.apache.commons.io.FileUtils; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.xssf.usermodel.XSSFSheet; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -24,8 +20,7 @@ import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.*; -import java.math.BigDecimal; + import java.util.*; import java.util.stream.Collectors; @@ -81,13 +76,15 @@ public class WxBillAllServiceImpl implements WxBillAllService { @Autowired WxBillOtherDepositMapper wxBillOtherDepositMapper; + @Autowired + ExcelService excelService; + @Override public Map listAsPage(WxBillAll record, Integer pageIndex, Integer pageSize) { //更新各账单状态 updateBillStatus(record); - PageHelper.startPage(pageIndex, pageSize); - List> billList = wxBillAllMapper.list(record); - PageInfo> pageInfo = new PageInfo<>(billList); + PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxBillAllMapper.list(record)); + Map result = new HashMap<>(); result.put("pageInfo", pageInfo); return result; @@ -193,6 +190,37 @@ public class WxBillAllServiceImpl implements WxBillAllService { } } + @Override + public void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillAll wxBillAll) { + + Map> billMapList = wxBillAllMapper.list(wxBillAll) + .parallelStream() + .collect(Collectors.groupingBy(WxBillAllVo::getMerchantId)); + + List> list = new ArrayList<>(); + + Iterator>> entries = billMapList.entrySet().iterator(); + while (entries.hasNext()) { + Map.Entry> entry = entries.next(); + Map map = new HashMap<>(); + ExportParams deptExportParams = new ExportParams(); + WxBillAllVo first = ((List)(entry.getValue())).get(0); + deptExportParams.setSheetName(first.getMerchantName()); + deptExportParams.setTitle(first.getMerchantName() + + "(" + + EnumRentShopType.getEnum((Integer)first.getRentShopType()).getMessage() + + "-"+first.getShopNumber() + + ")"); + //deptExportParams.setSecondTitle(); + map.put("title", deptExportParams); + map.put("entity", WxBillAllVo.class); + map.put("data", entry.getValue()); + list.add(map); + } + + excelService.exportExcel(list, "账单数据.xls", response); + } +/* @Override public void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillAll wxBillAll) { //得到当前月 @@ -332,7 +360,7 @@ public class WxBillAllServiceImpl implements WxBillAllService { e.printStackTrace(); } } - +*/ private int updateBillOther(Map bill) { logger.info("updateBillOther params:"+bill.toString()); Object id = bill.get("id"); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java index 8903a84ef..3f61e9744 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java @@ -594,7 +594,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { e.printStackTrace(); } } -*/ + public void downFile(String filePath, String filename, String exportFileName, HttpServletResponse response, HttpServletRequest req) throws IOException { try { @@ -624,5 +624,5 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { e.printStackTrace(); } } - +*/ } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantSubsidyServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantSubsidyServiceImpl.java index 094e774f0..6e1713dd8 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantSubsidyServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantSubsidyServiceImpl.java @@ -167,7 +167,7 @@ public class WxMerchantSubsidyServiceImpl implements WxMerchantSubsidyService { e.printStackTrace(); } } - */ + public void downFile(String filePath, String filename, String exportFileName, HttpServletResponse response, HttpServletRequest req) throws IOException { @@ -198,6 +198,6 @@ public class WxMerchantSubsidyServiceImpl implements WxMerchantSubsidyService { e.printStackTrace(); } } - + */ } diff --git a/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml b/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml index 1819fd6d8..f11e201d6 100644 --- a/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml @@ -1,13 +1,48 @@ - - + select + bill.id,bill.tenant_id tenantId,bill.merchant_id merchantId,bill.shop_id shopId, + bill.bill_type_value billTypeValue,bill.bill_type billType,bill.need_pay needPay, + bill.receive_pay receivePay,bill.pay,bill.owe,bill.receive_date receiveDate,bill.pay_date payDate, + bill.expired_day expiredDay,bill.status, + bill.starttime,bill.endtime,bill.name,bill.rent_shop_type rentShopType, + m.name merchantName, + s.shop_number shopNumber, s.manager, s.manager_phone managerPhone + from ( select id,merchant_id,shop_id,tenant_id,'租金' name,1 bill_type_value,'租金' bill_type,need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status,'' starttime,'' endtime,rent_shop_type from wx_bill_rent where is_preview = 0