diff --git a/src/main/java/com/yxt/yyth/api/empcard/EmpCardQuery.java b/src/main/java/com/yxt/yyth/api/empcard/EmpCardQuery.java index 9d98dfc..a8c2d73 100644 --- a/src/main/java/com/yxt/yyth/api/empcard/EmpCardQuery.java +++ b/src/main/java/com/yxt/yyth/api/empcard/EmpCardQuery.java @@ -16,4 +16,5 @@ public class EmpCardQuery implements Query { private String number; private String sid; private String customerSid; + private String serialNumber; } diff --git a/src/main/java/com/yxt/yyth/api/empcard/EmpCardStatisticsExportVo.java b/src/main/java/com/yxt/yyth/api/empcard/EmpCardStatisticsExportVo.java new file mode 100644 index 0000000..4f1de2b --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empcard/EmpCardStatisticsExportVo.java @@ -0,0 +1,58 @@ +package com.yxt.yyth.api.empcard; + +import com.alibaba.excel.annotation.ExcelIgnore; +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 EmpCardStatisticsExportVo { + @ColumnWidth(30) + @ExcelProperty(value = "卡号",index = 1) + private String code; + @ColumnWidth(20) + @ExcelProperty(value = "序列号",index = 0) + private String serialNumber; + @ColumnWidth(20) + @ExcelProperty(value = "发行时间",index = 2) + 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 = 3) + 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 = 4) + 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; + @ExcelIgnore + private String isEnable; +} diff --git a/src/main/java/com/yxt/yyth/api/empcard/EmpCardVo.java b/src/main/java/com/yxt/yyth/api/empcard/EmpCardVo.java index b067dd5..403ba70 100644 --- a/src/main/java/com/yxt/yyth/api/empcard/EmpCardVo.java +++ b/src/main/java/com/yxt/yyth/api/empcard/EmpCardVo.java @@ -27,5 +27,9 @@ public class EmpCardVo implements Vo { private String customerMobile; private double goodsNumber; private String goodsSid; + private String cardType; + private String stateValue; + private String bindDate; + } diff --git a/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGift.java b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGift.java index 53f0c23..67e13c0 100644 --- a/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGift.java +++ b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGift.java @@ -34,7 +34,7 @@ public class EmpCardGift { private String recordSid; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date bindDate; - private String isItlnvalid; + private String isItInvalid; private String isReservation; private String isShare; diff --git a/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftDto.java b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftDto.java index 6a55f07..351f194 100644 --- a/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftDto.java +++ b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftDto.java @@ -36,7 +36,7 @@ public class EmpCardGiftDto implements Dto { private String recordSid; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date bindDate; - private String isItlnvalid; + private String isItInvalid; private String iReservation; private List goodsVoList; private String count; diff --git a/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftQuery.java b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftQuery.java index 8a68dee..678766f 100644 --- a/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftQuery.java +++ b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftQuery.java @@ -35,6 +35,6 @@ public class EmpCardGiftQuery implements Query { private String recordSid; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date bindDate; - private String isItlnvalid; + private String isItInvalid; private String iReservation; } diff --git a/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftVo.java b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftVo.java index 9b1f467..c448fe4 100644 --- a/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftVo.java +++ b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftVo.java @@ -35,8 +35,9 @@ public class EmpCardGiftVo implements Vo { private String recordSid; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date bindDate; - private String isItlnvalid; + private String isItInvalid; private String iReservation; + private String isShare; private double goodsNumber=0; private String qrCode; private String goods; diff --git a/src/main/java/com/yxt/yyth/api/lpkgiftcard/CardStatisticsExportVo.java b/src/main/java/com/yxt/yyth/api/lpkgiftcard/CardStatisticsExportVo.java index 5230612..39d048c 100644 --- a/src/main/java/com/yxt/yyth/api/lpkgiftcard/CardStatisticsExportVo.java +++ b/src/main/java/com/yxt/yyth/api/lpkgiftcard/CardStatisticsExportVo.java @@ -1,5 +1,6 @@ package com.yxt.yyth.api.lpkgiftcard; +import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; @@ -10,44 +11,48 @@ import lombok.Data; */ @Data public class CardStatisticsExportVo { - @ColumnWidth(20) - @ExcelProperty(value = "卡号",index = 0) + @ColumnWidth(30) + @ExcelProperty(value = "卡号",index = 1) 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; + @ExcelProperty(value = "序列号",index = 0) + private String serialNumber; @ColumnWidth(20) - @ExcelProperty(value = "状态",index = 4) + @ExcelProperty(value = "发行时间",index = 2) + 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 = 3) 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) +// @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 = 4) 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; - +// @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; + @ExcelIgnore + private String isEnable; } diff --git a/src/main/java/com/yxt/yyth/biz/empcard/EmpCardMapper.java b/src/main/java/com/yxt/yyth/biz/empcard/EmpCardMapper.java index 4b7725c..b3bc5b8 100644 --- a/src/main/java/com/yxt/yyth/biz/empcard/EmpCardMapper.java +++ b/src/main/java/com/yxt/yyth/biz/empcard/EmpCardMapper.java @@ -4,12 +4,8 @@ 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.empcard.EmpAppletVo; -import com.yxt.yyth.api.empcard.EmpCard; -import com.yxt.yyth.api.empcard.EmpCardExport; -import com.yxt.yyth.api.empcard.EmpCardVo; -import com.yxt.yyth.api.lpkgiftcard.AppletVo; -import com.yxt.yyth.api.lpkgiftcard.LpkGiftCard; +import com.yxt.yyth.api.empcard.*; +import com.yxt.yyth.api.lpkgiftcard.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -35,4 +31,7 @@ public interface EmpCardMapper extends BaseMapper { IPage getEmpCardByCustomerSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); List selEmpCardSid(@Param("empCardSid")String empCardSid); EmpCardVo getBagGoods(@Param("sid")String sid ,@Param("goodsSid")String goodsSid); + + 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/empcard/EmpCardMapper.xml b/src/main/java/com/yxt/yyth/biz/empcard/EmpCardMapper.xml index 4bd1575..8d2a61b 100644 --- a/src/main/java/com/yxt/yyth/biz/empcard/EmpCardMapper.xml +++ b/src/main/java/com/yxt/yyth/biz/empcard/EmpCardMapper.xml @@ -137,5 +137,69 @@ left join lpk_giftbag_goods s on bag.sid = s.giftbagSid where card.sid = #{sid} and s.goodsSid=#{goodsSid} + + \ No newline at end of file diff --git a/src/main/java/com/yxt/yyth/biz/empcard/EmpCardRest.java b/src/main/java/com/yxt/yyth/biz/empcard/EmpCardRest.java index 58ca2a8..7a5a7f6 100644 --- a/src/main/java/com/yxt/yyth/biz/empcard/EmpCardRest.java +++ b/src/main/java/com/yxt/yyth/biz/empcard/EmpCardRest.java @@ -10,6 +10,7 @@ import com.yxt.yyth.api.lpkgiftcard.BindCardDto; import com.yxt.yyth.api.lpkgiftcard.LpkGiftCardListQuery; import com.yxt.yyth.api.lpkgiftcard.LpkGiftCardListVo; import com.yxt.yyth.api.lpkgiftcard.LpkGiftCardQuery; +import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderQuery; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -71,4 +72,14 @@ public class EmpCardRest { public ResultBean getEmpCardBySid(@PathVariable("sid") String sid) { return empCardService.getEmpCardBySid(sid); } + @ApiOperation("企业卡信息列表") + @PostMapping("/empCardStatisticsList") + public ResultBean empCardStatisticsList(@RequestBody PagerQuery pq) { + return empCardService.cardStatisticsList(pq); + } + @ApiOperation("企业卡信息导出") + @PostMapping("/empCardStatisticsListExport") + public void cardStatisticsListExport(@RequestBody EmpCardQuery pq) { + empCardService.cardStatisticsListExport(pq); + } } diff --git a/src/main/java/com/yxt/yyth/biz/empcard/EmpCardService.java b/src/main/java/com/yxt/yyth/biz/empcard/EmpCardService.java index d27d834..39791ae 100644 --- a/src/main/java/com/yxt/yyth/biz/empcard/EmpCardService.java +++ b/src/main/java/com/yxt/yyth/biz/empcard/EmpCardService.java @@ -2,6 +2,9 @@ package com.yxt.yyth.biz.empcard; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateTime; +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.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.common.base.service.MybatisBaseService; @@ -19,18 +22,24 @@ import com.yxt.yyth.api.empcardgiftgoods.EmpCardGiftGoodsVo; import com.yxt.yyth.api.empcardgrantlog.EmpCardGrantLogVo; import com.yxt.yyth.api.lpkgiftbaggoods.LpkGiftBagGoodsVo; import com.yxt.yyth.api.lpkgiftcard.*; +import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderQuery; import com.yxt.yyth.biz.empcardbuildrecord.EmpCardBuildRecordService; import com.yxt.yyth.biz.empcardgift.EmpCardGiftService; import com.yxt.yyth.biz.empcardgiftgoods.EmpCardGiftGoodsService; import com.yxt.yyth.biz.empcardgrantlog.EmpCardGrantLogService; import com.yxt.yyth.biz.lpkgiftbaggoods.LpkGiftBagGoodsService; import com.yxt.yyth.biz.lpkgiftcard.generateRule.UniqueIdGenerator; +import com.yxt.yyth.utils.StyleUtils; +import org.apache.poi.ss.usermodel.HorizontalAlignment; 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 javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; +import java.io.BufferedOutputStream; +import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -349,4 +358,71 @@ public class EmpCardService extends MybatisBaseService { EmpCardVo card = baseMapper.getBagGoods(sid,goodsSid); return rb.success().setData(card); } + + public void cardStatisticsListExport(EmpCardQuery query) { + ResultBean rb=new ResultBean(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if(StringUtils.isNotBlank(query.getSerialNumber())){ + qw.like("a.serialNumber",query.getSerialNumber()); + } + qw.groupBy("a.sid"); + qw.orderByDesc("a.createTime"); +// qw.groupBy("c.goodsSid"); + List statisticsExportVos=baseMapper.cardStatisticsListExport(qw); +// statisticsExportVos.forEach(s->{ +// if(s.getIsEnable().equals("2")){ +// s.setStateValue("已作废"); +// } +// }); + 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()), EmpCardStatisticsExportVo.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(); + EmpCardQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if(StringUtils.isNotBlank(query.getSerialNumber())){ + qw.like("a.serialNumber",query.getSerialNumber()); + } + qw.groupBy("a.sid"); + qw.orderByDesc("a.createTime"); +// qw.groupBy("c.goodsSid"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.cardStatisticsList(page, qw); +// pagging.getRecords().forEach(s->{ +// if(s.getIsEnable().equals("2")){ +// s.setStateValue("已作废"); +// } +// }); + return rb.success().setData(pagging); + } + } diff --git a/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftMapper.java b/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftMapper.java index 9a80a2a..2bccca0 100644 --- a/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftMapper.java +++ b/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftMapper.java @@ -39,11 +39,14 @@ public interface EmpCardGiftMapper extends BaseMapper { @Select("select count(id) from lpk_giftcard where recordSid=#{recordSid} and grantRecordSid is not null") Integer cardGrantCount(@Param("recordSid") String recordSid); - @Select("update lpk_giftcard set isItInvalid='1' where giftbagSid=#{giftbagSid} and state!=#{state} ") - Integer updateIsItInvalid(@Param("giftbagSid") String giftbagSid, @Param("state") String state); + + + Integer updateIsItInvalid(@Param("sids") List sids, @Param("state") String state); // List selGiftCard(@Param("serialNumbers") List serialNumbers); IPage selGiftCard(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); EmpCardGiftVo getEmpCardGoods(@Param("empCardSid")String empCardSid,@Param("goodsSid")String goodsSid); List recordList(@Param("empCardSid")String empCardSid); + + List getEmpCardGiftByGiftbagSid(@Param("giftbagSid")String giftbagSid,@Param("state") String state); } diff --git a/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftMapper.xml b/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftMapper.xml index 6ad7cf9..5e6a005 100644 --- a/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftMapper.xml +++ b/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftMapper.xml @@ -28,7 +28,7 @@ ${ew.sqlSegment} - ORDER BY gi.isItlnvalid desc,gi.bindDate desc + ORDER BY gi.isItInvalid desc,gi.bindDate desc select card.*,bag.name as bagName from lpk_giftcard card left join lpk_giftbag bag on bag.sid =card.giftbagSid @@ -177,4 +179,16 @@ where gi.empCardSid=#{empCardSid} + \ No newline at end of file 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 6e43f56..580a41f 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.xml +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.xml @@ -190,29 +190,31 @@