12/22
This commit is contained in:
@@ -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;
|
||||
|
||||
}
|
||||
@@ -28,7 +28,7 @@ public class EmpCardGiftRest {
|
||||
|
||||
|
||||
@PostMapping("/bindCard")
|
||||
@ApiOperation(value = "客户绑定礼包卡")
|
||||
@ApiOperation(value = "客户绑定福利卡")
|
||||
public ResultBean wxBindMobile(@RequestBody BindCardDto bindCardDto) {
|
||||
return EmpCardGiftService.bindCard(bindCardDto);
|
||||
}
|
||||
|
||||
@@ -52,6 +52,7 @@ public class LpkGiftBagService extends MybatisBaseService<LpkGiftBagMapper, LpkG
|
||||
qw.like("name", query.getName());
|
||||
}
|
||||
qw.orderByDesc("createTime");
|
||||
qw.orderByAsc("name");
|
||||
IPage<LpkGiftBag> page = PagerUtil.queryToPage(pq);
|
||||
IPage<LpkGiftBagVo> pagging = baseMapper.giftBagListPage(page, qw);
|
||||
PagerVo<LpkGiftBagVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
|
||||
@@ -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<LpkGiftCard> {
|
||||
String selctMaxSerNumForExport();
|
||||
|
||||
int saveCards(@Param("cards") List<LpkGiftCard> cards);
|
||||
IPage<CardStatisticsExportVo> cardStatisticsList(IPage<LpkGiftCardListQuery> page, @Param(Constants.WRAPPER) QueryWrapper<LpkGiftCardListQuery> qw);
|
||||
List<CardStatisticsExportVo> cardStatisticsListExport(@Param(Constants.WRAPPER) QueryWrapper<LpkGiftCardListQuery> qw);
|
||||
}
|
||||
|
||||
@@ -150,4 +150,69 @@
|
||||
FROM lpk_giftcard as c
|
||||
WHERE c.serialNumber >= '70000001'
|
||||
</select>
|
||||
<select id="cardStatisticsListExport" resultType="com.yxt.yyth.api.lpkgiftcard.CardStatisticsExportVo">
|
||||
SELECT
|
||||
a.CODE AS CODE,
|
||||
a.createTime AS createTime,
|
||||
CASE
|
||||
WHEN a.CODE IS NOT NULL THEN
|
||||
'提货卡'
|
||||
END cardType,
|
||||
CASE
|
||||
a.state
|
||||
WHEN 1 THEN
|
||||
'未绑卡'
|
||||
WHEN 2 THEN
|
||||
'未绑卡'
|
||||
WHEN 3 THEN
|
||||
'未预约'
|
||||
WHEN 4 THEN
|
||||
'已预约'
|
||||
WHEN 5 THEN
|
||||
'已完成'
|
||||
END stateValue,
|
||||
a.customerSid AS bind,
|
||||
a.bindDate AS bindDate,
|
||||
d.NAME AS goodsName,
|
||||
c.goodsNumber AS goodsNumber
|
||||
FROM
|
||||
lpk_giftcard a
|
||||
LEFT JOIN lpk_giftbag b ON b.sid = a.giftbagSid
|
||||
LEFT JOIN lpk_giftbag_goods c ON c.giftbagSid = a.giftbagSid
|
||||
LEFT JOIN lpk_goods d ON d.sid = c.goodsSid
|
||||
GROUP BY
|
||||
a.sid,
|
||||
c.goodsSid UNION ALL
|
||||
SELECT
|
||||
a.CODE AS CODE,
|
||||
a.createTime AS createTime,
|
||||
CASE
|
||||
WHEN a.CODE IS NOT NULL THEN
|
||||
'福利卡'
|
||||
END cardType,
|
||||
CASE
|
||||
a.state
|
||||
WHEN 1 THEN
|
||||
'未绑卡'
|
||||
WHEN 2 THEN
|
||||
'未绑卡'
|
||||
WHEN 3 THEN
|
||||
'未预约'
|
||||
WHEN 4 THEN
|
||||
'已预约'
|
||||
WHEN 5 THEN
|
||||
'已完成'
|
||||
END stateValue,
|
||||
a.customerSid AS bind,
|
||||
a.bindDate AS bindDate,
|
||||
d.NAME AS goodsName,
|
||||
c.goodsNumber AS goodsNumber
|
||||
FROM
|
||||
emp_card_gift a
|
||||
LEFT JOIN emp_card_gift_goods c ON c.empCardGiftSid = a.sid
|
||||
LEFT JOIN lpk_goods d ON d.sid = c.goodsSid
|
||||
GROUP BY
|
||||
a.sid,
|
||||
c.goodsSid;
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -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<LpkReserveOrderQuery> pq) {
|
||||
lpkGiftCardService.cardStatisticsList(pq);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<LpkGiftCardMapper, Lp
|
||||
// System.out.println(date);
|
||||
// }
|
||||
// }
|
||||
|
||||
public void cardStatisticsListExport(LpkGiftCardListQuery query) {
|
||||
ResultBean rb=new ResultBean();
|
||||
QueryWrapper<LpkGiftCardListQuery> qw = new QueryWrapper<>();
|
||||
qw.eq("1", "1");
|
||||
List<CardStatisticsExportVo> 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<LpkReserveOrderQuery> pq) {
|
||||
ResultBean rb=new ResultBean();
|
||||
LpkReserveOrderQuery query = pq.getParams();
|
||||
QueryWrapper<LpkGiftCardListQuery> qw = new QueryWrapper<>();
|
||||
// QueryWrapper<LpkReserveOrder> qw = new QueryWrapper<>();
|
||||
qw.eq("1", "1");
|
||||
IPage<LpkGiftCardListQuery> page = PagerUtil.queryToPage(pq);
|
||||
IPage<CardStatisticsExportVo> pagging = baseMapper.cardStatisticsList(page, qw);
|
||||
|
||||
return rb.success().setData(pagging);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user