From c5a860dabaf20183171c5ebc7127ce3c64c9f270 Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Mon, 11 Dec 2023 15:58:41 +0800 Subject: [PATCH] 12/11 --- .../lpkreserveorder/LpkReserveOrderQuery.java | 1 + .../lpkreserveorder/LpkReserveOrderVo.java | 3 +- .../ReserveOrderExportByStore.java | 20 +++ .../LpkReserveOrderGoods.java | 1 + .../LpkReserveOrderMapper.java | 5 +- .../lpkreserveorder/LpkReserveOrderMapper.xml | 29 ++++ .../lpkreserveorder/LpkReserveOrderRest.java | 11 +- .../LpkReserveOrderService.java | 133 +++++++++++++++++- .../LpkReserveOrderGoodsMapper.java | 2 + .../LpkReserveOrderGoodsMapper.xml | 8 ++ .../LpkReserveOrderGoodsService.java | 3 + 11 files changed, 208 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/yxt/yyth/api/lpkreserveorder/ReserveOrderExportByStore.java diff --git a/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderQuery.java b/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderQuery.java index ad465d9..62eb10b 100644 --- a/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderQuery.java +++ b/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderQuery.java @@ -14,4 +14,5 @@ public class LpkReserveOrderQuery implements Query { private String startDate; //预约开始日期 private String endDate; // 预约结束日期 private String userSid; + private String storeSid; } diff --git a/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderVo.java b/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderVo.java index e5e23b9..6788cf4 100644 --- a/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderVo.java +++ b/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderVo.java @@ -20,9 +20,10 @@ public class LpkReserveOrderVo implements Vo { private String userPhone; //用户电话 private String store; //门店 private String storeSid; //门店 - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd ",timezone="GMT+8") private Date reserveDate; //预约时间 private String bagName; //礼包 private String code; //卡号 + private String goodsInfo; private List goodsVo = new ArrayList<>(); } diff --git a/src/main/java/com/yxt/yyth/api/lpkreserveorder/ReserveOrderExportByStore.java b/src/main/java/com/yxt/yyth/api/lpkreserveorder/ReserveOrderExportByStore.java new file mode 100644 index 0000000..a9cdaa6 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/lpkreserveorder/ReserveOrderExportByStore.java @@ -0,0 +1,20 @@ +package com.yxt.yyth.api.lpkreserveorder; + +import com.yxt.common.core.utils.ExportEntityMap; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/11 13:58 + */ +@Data +public class ReserveOrderExportByStore { + @ExportEntityMap(CnName = "预约时间", EnName = "reserveDate") + private String reserveDate; + @ExportEntityMap(CnName = "提货门店", EnName = "store") + private String store; + private String storeSid; + @ExportEntityMap(CnName = "商品明细", EnName = "goodsInfo") + private String goodsInfo; + private String sid; +} diff --git a/src/main/java/com/yxt/yyth/api/lpkreserveordergoods/LpkReserveOrderGoods.java b/src/main/java/com/yxt/yyth/api/lpkreserveordergoods/LpkReserveOrderGoods.java index 026fa4f..38078de 100644 --- a/src/main/java/com/yxt/yyth/api/lpkreserveordergoods/LpkReserveOrderGoods.java +++ b/src/main/java/com/yxt/yyth/api/lpkreserveordergoods/LpkReserveOrderGoods.java @@ -22,4 +22,5 @@ public class LpkReserveOrderGoods { private double goodsNumber; private String num; private String orderSid; + private String goodsName; } diff --git a/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderMapper.java b/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderMapper.java index 8ae33d1..f6ec426 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderMapper.java +++ b/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderMapper.java @@ -18,12 +18,15 @@ import java.util.List; @Mapper public interface LpkReserveOrderMapper extends BaseMapper { IPage orderList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - + IPage orderListByStore(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); List orderByCardSid(String sid); IPage orderListByUserSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); List exportExcel(@Param(Constants.WRAPPER) QueryWrapper qw); + List exportExcelByStore(@Param(Constants.WRAPPER) QueryWrapper qw); + @Select("select sid from lpk_reserve_order where storeSid=#{storeSid}") + List getOrderByStore(@Param("storeSid")String storeSid); @Select("select * from lpk_reserve_order where customerSid =#{sid} order by createTime desc limit 1") LpkReserveOrderVo getStoreByCustomerSid(@Param("sid") String sid); @Select("select * from lpk_reserve_order where cardSid =#{sid} order by reserveDate desc limit 1") diff --git a/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderMapper.xml b/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderMapper.xml index 52ae420..fb8d6c5 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderMapper.xml +++ b/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderMapper.xml @@ -35,6 +35,20 @@ ${ew.sqlSegment} + + + \ No newline at end of file diff --git a/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderRest.java b/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderRest.java index d12e7f7..4b82ea3 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderRest.java +++ b/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderRest.java @@ -40,7 +40,11 @@ public class LpkReserveOrderRest { public ResultBean> orderList(@RequestBody PagerQuery pq) { return lpkReserveOrderService.orderList(pq); } - + @ApiOperation("订单门店汇总列表") + @PostMapping("/orderListByStore") + public ResultBean> orderListByStore(@RequestBody PagerQuery pq) { + return lpkReserveOrderService.orderListByStore(pq); + } @ApiOperation("根据提货卡查询预约记录") @GetMapping("/orderByCardSid/{sid}") public ResultBean orderByCardSid(@PathVariable("sid") String sid) { @@ -64,4 +68,9 @@ public class LpkReserveOrderRest { public void exportExcel(@RequestBody LpkReserveOrderQuery query) { lpkReserveOrderService.exportExcel(query); } + @ApiOperation(value = "预约订单门店汇总导出") + @PostMapping("/exportExcelByStore") + public void exportExcelByStore(@RequestBody LpkReserveOrderQuery query) { + lpkReserveOrderService.exportExcelByStore(query); + } } diff --git a/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderService.java b/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderService.java index d46eeb1..e1e669b 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderService.java +++ b/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderService.java @@ -159,7 +159,70 @@ public class LpkReserveOrderService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); return rb.success().setData(p); } + public ResultBean> orderListByStore(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkReserveOrderQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getStore())) { + qw.like("s.name", query.getStore()); + } + if (StringUtils.isNotBlank(query.getUserName())) { + qw.like("o.userName", query.getUserName()); + } + if (StringUtils.isNotBlank(query.getUserSid())) { + qw.like("o.customerSid", query.getUserSid()); + } + if (StringUtils.isNotBlank(query.getStartDate())) { + + String startDate = query.getStartDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getEndDate())) { + String endDate = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); + } + qw.orderByDesc("o.createTime"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.orderListByStore(page, qw); + List records = pagging.getRecords(); + if (!records.isEmpty()) { + records.forEach(s -> { + List list=baseMapper.getOrderByStore(s.getStoreSid()); + List orderGoods = lpkReserveOrderGoodsService.selInOrderSid(list); + if (!orderGoods.isEmpty()) { + StringBuffer sb = new StringBuffer(); + for (LpkReserveOrderGoods orderGood : orderGoods) { + String num = ""; + String goodsName = ""; + String finWord = ""; + String unitName = ""; + if (StringUtils.isNotBlank(orderGood.getGoodsSid())) { + LpkGoods lpkGoods = lpkGoodsService.fetchBySid(orderGood.getGoodsSid()); + if (null != lpkGoods) { + goodsName = lpkGoods.getName(); + if (StringUtils.isNotBlank(lpkGoods.getUnitName())) { + unitName = lpkGoods.getUnitName(); + } + } + } + if (orderGood.getGoodsNumber() != 0) { + num = String.valueOf((int) orderGood.getGoodsNumber()); + } + finWord = num + unitName + goodsName; + sb.append(finWord).append("、"); + } + if (sb.length() > 0) { + sb.delete(sb.length() - 1, sb.length()); + s.setGoodsInfo(sb.toString()); + } + } + }); + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } public ResultBean orderByCardSid(String sid) { ResultBean rb = ResultBean.fireFail(); List list = baseMapper.orderByCardSid(sid); @@ -253,11 +316,14 @@ public class LpkReserveOrderService extends MybatisBaseService= date_format('" + startDate + "','%Y-%m-%d')"). - apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + startDate + "','%Y-%m-%d')" - ); + if (StringUtils.isNotBlank(query.getStartDate())) { + String startDate = query.getStartDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getEndDate())) { + String endDate = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); + } qw.orderByDesc("o.createTime"); //得到所有要导出的数据 List exportList = baseMapper.exportExcel(qw); @@ -309,6 +375,63 @@ public class LpkReserveOrderService extends MybatisBaseService qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getStartDate())) { + String startDate = query.getStartDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getEndDate())) { + String endDate = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getStore())) { + qw.like("s.name", query.getStore()); + } + qw.orderByDesc("o.createTime"); + qw.groupBy("s.name"); + //得到所有要导出的数据 + List exportList = baseMapper.exportExcelByStore(qw); + if (!exportList.isEmpty()) { + exportList.forEach(s -> { + List list=baseMapper.getOrderByStore(s.getStoreSid()); + List orderGoods = lpkReserveOrderGoodsService.selInOrderSid(list); + if (!orderGoods.isEmpty()) { + StringBuffer sb = new StringBuffer(); + for (LpkReserveOrderGoods orderGood : orderGoods) { + String num = ""; + String goodsName = ""; + String finWord = ""; + String unitName = ""; + if (StringUtils.isNotBlank(orderGood.getGoodsSid())) { + LpkGoods lpkGoods = lpkGoodsService.fetchBySid(orderGood.getGoodsSid()); + if (null != lpkGoods) { + goodsName = lpkGoods.getName(); + if (StringUtils.isNotBlank(lpkGoods.getUnitName())) { + unitName = lpkGoods.getUnitName(); + } + } + } + if (orderGood.getGoodsNumber() != 0) { + num = String.valueOf((int) orderGood.getGoodsNumber()); + } + finWord = num + unitName + goodsName; + sb.append(finWord).append("、"); + } + if (sb.length() > 0) { + sb.delete(sb.length() - 1, sb.length()); + s.setGoodsInfo(sb.toString()); + } + } + }); + } + //定义导出的excel名字 + String excelName = "1"; + String fileNameURL = "1"; + //导出预约订单信息列表 + ExportExcelUtils.export(fileNameURL, exportList, ReserveOrderExportByStore.class, response); + } public ResultBean getStoreByCustomerSid(String sid) { diff --git a/src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.java b/src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.java index 36e3c00..77a2250 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.java +++ b/src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.java @@ -21,6 +21,8 @@ public interface LpkReserveOrderGoodsMapper extends BaseMapper selByOrderSid(String orderSid); + + List selInOrderSid(@Param("orderSids") List orderSids); @Select("select *,goodsNumber as num from lpk_reserve_order_goods where orderSid=#{orderSid}") List selByOrderSids(String orderSid); } diff --git a/src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.xml b/src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.xml index 11f43c8..69548d4 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.xml +++ b/src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.xml @@ -25,4 +25,12 @@ where orderSid = #{orderSid} and goodsSid = #{goodsSid} + \ No newline at end of file diff --git a/src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsService.java b/src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsService.java index c713f95..f211448 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsService.java +++ b/src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsService.java @@ -71,6 +71,9 @@ public class LpkReserveOrderGoodsService extends MybatisBaseService selByOrderSid(String orderSid) { return baseMapper.selByOrderSid(orderSid); } + public List selInOrderSid(List orderSids) { + return baseMapper.selInOrderSid(orderSids); + } public List selByOrderSids(String orderSid) { return baseMapper.selByOrderSids(orderSid); }