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")
|
@PostMapping("/bindCard")
|
||||||
@ApiOperation(value = "客户绑定礼包卡")
|
@ApiOperation(value = "客户绑定福利卡")
|
||||||
public ResultBean wxBindMobile(@RequestBody BindCardDto bindCardDto) {
|
public ResultBean wxBindMobile(@RequestBody BindCardDto bindCardDto) {
|
||||||
return EmpCardGiftService.bindCard(bindCardDto);
|
return EmpCardGiftService.bindCard(bindCardDto);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ public class LpkGiftBagService extends MybatisBaseService<LpkGiftBagMapper, LpkG
|
|||||||
qw.like("name", query.getName());
|
qw.like("name", query.getName());
|
||||||
}
|
}
|
||||||
qw.orderByDesc("createTime");
|
qw.orderByDesc("createTime");
|
||||||
|
qw.orderByAsc("name");
|
||||||
IPage<LpkGiftBag> page = PagerUtil.queryToPage(pq);
|
IPage<LpkGiftBag> page = PagerUtil.queryToPage(pq);
|
||||||
IPage<LpkGiftBagVo> pagging = baseMapper.giftBagListPage(page, qw);
|
IPage<LpkGiftBagVo> pagging = baseMapper.giftBagListPage(page, qw);
|
||||||
PagerVo<LpkGiftBagVo> p = PagerUtil.pageToVo(pagging, null);
|
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.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
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.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.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
@@ -63,4 +63,6 @@ public interface LpkGiftCardMapper extends BaseMapper<LpkGiftCard> {
|
|||||||
String selctMaxSerNumForExport();
|
String selctMaxSerNumForExport();
|
||||||
|
|
||||||
int saveCards(@Param("cards") List<LpkGiftCard> cards);
|
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
|
FROM lpk_giftcard as c
|
||||||
WHERE c.serialNumber >= '70000001'
|
WHERE c.serialNumber >= '70000001'
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
@@ -1,13 +1,12 @@
|
|||||||
package com.yxt.yyth.biz.lpkgiftcard;
|
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.alibaba.fastjson.JSONObject;
|
||||||
import com.yxt.common.core.query.PagerQuery;
|
import com.yxt.common.core.query.PagerQuery;
|
||||||
import com.yxt.common.core.result.ResultBean;
|
import com.yxt.common.core.result.ResultBean;
|
||||||
import com.yxt.common.core.vo.PagerVo;
|
import com.yxt.common.core.vo.PagerVo;
|
||||||
import com.yxt.yyth.api.lpkgiftcard.*;
|
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.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
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.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.awt.image.BufferedImage;
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author wangpengfei
|
* @author wangpengfei
|
||||||
@@ -141,5 +138,14 @@ public class LpkGiftCardRest {
|
|||||||
HttpServletResponse response) throws IOException {
|
HttpServletResponse response) throws IOException {
|
||||||
return lpkGiftCardService.getExcelInfo3(startDate,endDate,file,request,response);
|
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 cn.hutool.core.img.ImgUtil;
|
||||||
|
|
||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.*;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.time.DayOfWeek;
|
import java.time.DayOfWeek;
|
||||||
import java.time.Period;
|
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 com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||||
import cn.hutool.extra.qrcode.QrCodeUtil;
|
import cn.hutool.extra.qrcode.QrCodeUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
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.lpkgiftbaggoods.LpkGiftBagGoodsVo;
|
||||||
import com.yxt.yyth.api.lpkgiftcard.*;
|
import com.yxt.yyth.api.lpkgiftcard.*;
|
||||||
import com.yxt.yyth.api.lpkgoods.LpkGoods;
|
import com.yxt.yyth.api.lpkgoods.LpkGoods;
|
||||||
import com.yxt.yyth.api.lpkgoods.LpkGoodsDto;
|
import com.yxt.yyth.api.lpkgiftcard.CardStatisticsExportVo;
|
||||||
import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderCardVo;
|
import com.yxt.yyth.api.lpkreserveorder.*;
|
||||||
import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderVo;
|
|
||||||
import com.yxt.yyth.api.lpkreserveordergoods.LpkReserveOrderGoods;
|
import com.yxt.yyth.api.lpkreserveordergoods.LpkReserveOrderGoods;
|
||||||
import com.yxt.yyth.api.lpkstore.LpkStoreDetailsVo;
|
import com.yxt.yyth.api.lpkstore.LpkStoreDetailsVo;
|
||||||
import com.yxt.yyth.api.lpkstore.StoreSelect;
|
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.lpkreserveorder.LpkReserveOrderService;
|
||||||
import com.yxt.yyth.biz.lpkreserveordergoods.LpkReserveOrderGoodsService;
|
import com.yxt.yyth.biz.lpkreserveordergoods.LpkReserveOrderGoodsService;
|
||||||
import com.yxt.yyth.biz.lpkstore.LpkStoreService;
|
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.hssf.usermodel.HSSFWorkbook;
|
||||||
import org.apache.poi.ss.usermodel.Cell;
|
import org.apache.poi.ss.usermodel.*;
|
||||||
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.xssf.usermodel.XSSFWorkbook;
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
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 org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import javax.servlet.ServletOutputStream;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -1390,4 +1384,50 @@ public class LpkGiftCardService extends MybatisBaseService<LpkGiftCardMapper, Lp
|
|||||||
// System.out.println(date);
|
// 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