From 2fb9b1d454484a3a6eeb56b698f89ccc479556d0 Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Fri, 22 Dec 2023 17:58:31 +0800 Subject: [PATCH] 12/22 --- .../lpkgiftcard/CardStatisticsExportVo.java | 53 ++++++++++++++ .../yyth/biz/empcardgift/EmpCardGiftRest.java | 2 +- .../biz/lpkgiftbag/LpkGiftBagService.java | 1 + .../biz/lpkgiftcard/LpkGiftCardMapper.java | 6 +- .../biz/lpkgiftcard/LpkGiftCardMapper.xml | 65 +++++++++++++++++ .../yyth/biz/lpkgiftcard/LpkGiftCardRest.java | 20 ++++-- .../biz/lpkgiftcard/LpkGiftCardService.java | 70 +++++++++++++++---- 7 files changed, 192 insertions(+), 25 deletions(-) create mode 100644 src/main/java/com/yxt/yyth/api/lpkgiftcard/CardStatisticsExportVo.java diff --git a/src/main/java/com/yxt/yyth/api/lpkgiftcard/CardStatisticsExportVo.java b/src/main/java/com/yxt/yyth/api/lpkgiftcard/CardStatisticsExportVo.java new file mode 100644 index 0000000..5230612 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/lpkgiftcard/CardStatisticsExportVo.java @@ -0,0 +1,53 @@ +package com.yxt.yyth.api.lpkgiftcard; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/22 14:11 + */ +@Data +public class CardStatisticsExportVo { + @ColumnWidth(20) + @ExcelProperty(value = "卡号",index = 0) + private String code; + @ColumnWidth(20) + @ExcelProperty(value = "发行时间",index = 1) + private String createTime; + @ColumnWidth(20) + @ExcelProperty(value = "卡片种类",index = 2) + private String cardType; + @ColumnWidth(20) + @ExcelProperty(value = "发行人",index = 3) + private String people; + @ColumnWidth(20) + @ExcelProperty(value = "状态",index = 4) + private String stateValue; + @ColumnWidth(20) + @ExcelProperty(value = "是否过期",index = 5) + private String isExpire; + @ColumnWidth(20) + @ExcelProperty(value = "是否作废",index = 6) + private String isCancel; + @ColumnWidth(20) + @ExcelProperty(value = "绑定id",index = 7) + private String bind; + @ColumnWidth(20) + @ExcelProperty(value = "绑定时间",index = 8) + private String bindDate; + @ColumnWidth(20) + @ExcelProperty(value = "提货卡商品(份)",index = 9) + private String goodsName; + @ColumnWidth(20) + @ExcelProperty(value = "商品数量(份)",index = 10) + private String goodsNumber; + @ColumnWidth(20) + @ExcelProperty(value = "已提数量(份)",index = 11) + private String receiveNumber; + @ColumnWidth(20) + @ExcelProperty(value = "未提数量(份)",index = 12) + private String unclaimedNumber; + +} diff --git a/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftRest.java b/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftRest.java index fcccdf6..4046a6e 100644 --- a/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftRest.java +++ b/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftRest.java @@ -28,7 +28,7 @@ public class EmpCardGiftRest { @PostMapping("/bindCard") - @ApiOperation(value = "客户绑定礼包卡") + @ApiOperation(value = "客户绑定福利卡") public ResultBean wxBindMobile(@RequestBody BindCardDto bindCardDto) { return EmpCardGiftService.bindCard(bindCardDto); } diff --git a/src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagService.java b/src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagService.java index 898fdd6..ab8df40 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagService.java +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagService.java @@ -52,6 +52,7 @@ public class LpkGiftBagService extends MybatisBaseService page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.giftBagListPage(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); diff --git a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.java b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.java index b74f556..9b55f63 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.java +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.java @@ -4,9 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; -import com.yxt.yyth.api.lpkgiftbag.LpkGiftBag; import com.yxt.yyth.api.lpkgiftcard.*; -import com.yxt.yyth.api.lpkstore.LpkStore; +import com.yxt.yyth.api.lpkgiftcard.CardStatisticsExportVo; +import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderQuery; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -63,4 +63,6 @@ public interface LpkGiftCardMapper extends BaseMapper { String selctMaxSerNumForExport(); int saveCards(@Param("cards") List cards); + IPage cardStatisticsList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + List cardStatisticsListExport(@Param(Constants.WRAPPER) QueryWrapper qw); } diff --git a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.xml b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.xml index 3200c2c..abaa195 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.xml +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.xml @@ -150,4 +150,69 @@ FROM lpk_giftcard as c WHERE c.serialNumber >= '70000001' + \ No newline at end of file diff --git a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardRest.java b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardRest.java index f97992d..6cc37a6 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardRest.java +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardRest.java @@ -1,13 +1,12 @@ package com.yxt.yyth.biz.lpkgiftcard; -import cn.hutool.core.img.ImgUtil; -import cn.hutool.extra.qrcode.QrCodeUtil; import com.alibaba.fastjson.JSONObject; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import com.yxt.yyth.api.lpkgiftcard.*; -import com.yxt.yyth.api.lpkgoods.LpkGoodsVo; +import com.yxt.yyth.api.lpkgiftcard.CardStatisticsExportVo; +import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderQuery; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -16,11 +15,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; import java.text.ParseException; +import java.util.List; /** * @author wangpengfei @@ -141,5 +138,14 @@ public class LpkGiftCardRest { HttpServletResponse response) throws IOException { return lpkGiftCardService.getExcelInfo3(startDate,endDate,file,request,response); } - + @ApiOperation("订单门店汇总列表") + @PostMapping("/cardStatisticsListExport") + public void cardStatisticsListExport(@RequestBody LpkGiftCardListQuery pq) { + lpkGiftCardService.cardStatisticsListExport(pq); + } + @ApiOperation("订单门店汇总列表") + @PostMapping("/cardStatisticsList") + public void cardStatisticsList(@RequestBody PagerQuery pq) { + lpkGiftCardService.cardStatisticsList(pq); + } } diff --git a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java index cad1fe8..c72e2bd 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java @@ -6,11 +6,14 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.img.ImgUtil; -import java.io.InputStream; +import java.io.*; import java.text.ParseException; import java.time.DayOfWeek; import java.time.Period; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.write.metadata.style.WriteCellStyle; +import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import cn.hutool.extra.qrcode.QrCodeUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -34,9 +37,8 @@ import com.yxt.yyth.api.lpkgiftbaggoods.LpkGiftBagGoods; import com.yxt.yyth.api.lpkgiftbaggoods.LpkGiftBagGoodsVo; import com.yxt.yyth.api.lpkgiftcard.*; import com.yxt.yyth.api.lpkgoods.LpkGoods; -import com.yxt.yyth.api.lpkgoods.LpkGoodsDto; -import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderCardVo; -import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderVo; +import com.yxt.yyth.api.lpkgiftcard.CardStatisticsExportVo; +import com.yxt.yyth.api.lpkreserveorder.*; import com.yxt.yyth.api.lpkreserveordergoods.LpkReserveOrderGoods; import com.yxt.yyth.api.lpkstore.LpkStoreDetailsVo; import com.yxt.yyth.api.lpkstore.StoreSelect; @@ -50,28 +52,20 @@ import com.yxt.yyth.biz.lpkgoods.LpkGoodsService; import com.yxt.yyth.biz.lpkreserveorder.LpkReserveOrderService; import com.yxt.yyth.biz.lpkreserveordergoods.LpkReserveOrderGoodsService; import com.yxt.yyth.biz.lpkstore.LpkStoreService; -import io.swagger.annotations.ApiOperation; +import com.yxt.yyth.utils.StyleUtils; import org.apache.poi.hssf.usermodel.HSSFWorkbook; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.awt.image.BufferedImage; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.util.*; @@ -1390,4 +1384,50 @@ public class LpkGiftCardService extends MybatisBaseService qw = new QueryWrapper<>(); + qw.eq("1", "1"); + List statisticsExportVos=baseMapper.cardStatisticsListExport(qw); + String excelName = "支行汇总信息.xlsx"; + String fileNameURL = "1"; + response.setContentType( "application/vnd.ms-excel"); + response.setCharacterEncoding("utf8"); + response.setHeader("Content-disposition","attachment;filename="+ excelName ); + ServletOutputStream outputStream = null; + try { + WriteCellStyle headWriteCellStyle = new WriteCellStyle(); + //设置头居中 + headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); + //内容策略 + WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); + //设置 水平居中 + contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); +// HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle,contentWriteCellStyle); + HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleUtils.getHeadStyle(), StyleUtils.getContentStyle()); + + EasyExcel//将数据映射到DownloadDTO实体类并响应到浏览器 + .write(new BufferedOutputStream(response.getOutputStream()), CardStatisticsExportVo.class) + //是否自动关闭输入流 + .autoCloseStream(Boolean.TRUE) +// .registerWriteHandler(new MergeStrategy(exportList.size(),1,5)) + .registerWriteHandler(horizontalCellStyleStrategy) + .sheet().doWrite(statisticsExportVos); + } catch (IOException e) { + throw new RuntimeException(e); + } + + } + public ResultBean cardStatisticsList(PagerQuery pq) { + ResultBean rb=new ResultBean(); + LpkReserveOrderQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); +// QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.cardStatisticsList(page, qw); + + return rb.success().setData(pagging); + } }