Browse Source

12/11

master
wangpengfei 1 year ago
parent
commit
c5a860daba
  1. 1
      src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderQuery.java
  2. 3
      src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderVo.java
  3. 20
      src/main/java/com/yxt/yyth/api/lpkreserveorder/ReserveOrderExportByStore.java
  4. 1
      src/main/java/com/yxt/yyth/api/lpkreserveordergoods/LpkReserveOrderGoods.java
  5. 5
      src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderMapper.java
  6. 29
      src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderMapper.xml
  7. 11
      src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderRest.java
  8. 131
      src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderService.java
  9. 2
      src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.java
  10. 8
      src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.xml
  11. 3
      src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsService.java

1
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;
}

3
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<OrderGoodsVo> goodsVo = new ArrayList<>();
}

20
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;
}

1
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;
}

5
src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderMapper.java

@ -18,12 +18,15 @@ import java.util.List;
@Mapper
public interface LpkReserveOrderMapper extends BaseMapper<LpkReserveOrder> {
IPage<LpkReserveOrderVo> orderList(IPage<LpkReserveOrder> page, @Param(Constants.WRAPPER) QueryWrapper<LpkReserveOrder> qw);
IPage<LpkReserveOrderVo> orderListByStore(IPage<LpkReserveOrder> page, @Param(Constants.WRAPPER) QueryWrapper<LpkReserveOrder> qw);
List<LpkReserveOrderCardVo> orderByCardSid(String sid);
IPage<LpkReserveOrderCardVo> orderListByUserSid(IPage<LpkReserveOrder> page, @Param(Constants.WRAPPER) QueryWrapper<LpkReserveOrder> qw);
List<ReserveOrderExport> exportExcel(@Param(Constants.WRAPPER) QueryWrapper<LpkReserveOrderQuery> qw);
List<ReserveOrderExportByStore> exportExcelByStore(@Param(Constants.WRAPPER) QueryWrapper<LpkReserveOrderQuery> qw);
@Select("select sid from lpk_reserve_order where storeSid=#{storeSid}")
List<String> 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")

29
src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderMapper.xml

@ -35,6 +35,20 @@
${ew.sqlSegment}
</where>
</select>
<select id="orderListByStore" resultType="com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderVo">
select
o.sid,
date_format(o.reserveDate, '%Y-%m-%d') as reserveDate,
s.`name` as store,
s.sid as storeSid
from lpk_reserve_order as o
left join lpk_store as s on o.storeSid = s.sid
LEFT JOIN lpk_giftcard AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="orderByCardSid" resultType="com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderCardVo">
SELECT date_format(o.reserveDate, '%Y-%m-%d') as reserveDate,
c.`code`,
@ -82,4 +96,19 @@
${ew.sqlSegment}
</where>
</select>
<select id="exportExcelByStore" resultType="com.yxt.yyth.api.lpkreserveorder.ReserveOrderExportByStore">
select
o.sid,
date_format(o.reserveDate, '%Y-%m-%d') as reserveDate,
s.`name` as store,
s.sid as storeSid
from lpk_reserve_order as o
left join lpk_store as s on o.storeSid = s.sid
LEFT JOIN lpk_giftcard AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

11
src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderRest.java

@ -40,7 +40,11 @@ public class LpkReserveOrderRest {
public ResultBean<PagerVo<LpkReserveOrderVo>> orderList(@RequestBody PagerQuery<LpkReserveOrderQuery> pq) {
return lpkReserveOrderService.orderList(pq);
}
@ApiOperation("订单门店汇总列表")
@PostMapping("/orderListByStore")
public ResultBean<PagerVo<LpkReserveOrderVo>> orderListByStore(@RequestBody PagerQuery<LpkReserveOrderQuery> 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);
}
}

131
src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderService.java

@ -159,7 +159,70 @@ public class LpkReserveOrderService extends MybatisBaseService<LpkReserveOrderMa
PagerVo<LpkReserveOrderVo> p = PagerUtil.pageToVo(pagging, null);
return rb.success().setData(p);
}
public ResultBean<PagerVo<LpkReserveOrderVo>> orderListByStore(PagerQuery<LpkReserveOrderQuery> pq) {
ResultBean rb = ResultBean.fireFail();
LpkReserveOrderQuery query = pq.getParams();
QueryWrapper<LpkReserveOrder> 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<LpkReserveOrder> page = PagerUtil.queryToPage(pq);
IPage<LpkReserveOrderVo> pagging = baseMapper.orderListByStore(page, qw);
List<LpkReserveOrderVo> records = pagging.getRecords();
if (!records.isEmpty()) {
records.forEach(s -> {
List<String> list=baseMapper.getOrderByStore(s.getStoreSid());
List<LpkReserveOrderGoods> 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<LpkReserveOrderVo> p = PagerUtil.pageToVo(pagging, null);
return rb.success().setData(p);
}
public ResultBean orderByCardSid(String sid) {
ResultBean rb = ResultBean.fireFail();
List<LpkReserveOrderCardVo> list = baseMapper.orderByCardSid(sid);
@ -253,11 +316,14 @@ public class LpkReserveOrderService extends MybatisBaseService<LpkReserveOrderMa
if (StringUtils.isNotBlank(query.getUserName())) {
qw.like("o.userName", query.getUserName());
}
if (StringUtils.isNotBlank(query.getStartDate())) {
String startDate = query.getStartDate();
// String endDate = query.getEndDate();
qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= 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')"
);
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<ReserveOrderExport> exportList = baseMapper.exportExcel(qw);
@ -309,6 +375,63 @@ public class LpkReserveOrderService extends MybatisBaseService<LpkReserveOrderMa
//导出预约订单信息列表
ExportExcelUtils.export(fileNameURL, exportList, ReserveOrderExport.class, response);
}
public void exportExcelByStore(LpkReserveOrderQuery query) {
QueryWrapper<LpkReserveOrderQuery> 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<ReserveOrderExportByStore> exportList = baseMapper.exportExcelByStore(qw);
if (!exportList.isEmpty()) {
exportList.forEach(s -> {
List<String> list=baseMapper.getOrderByStore(s.getStoreSid());
List<LpkReserveOrderGoods> 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<LpkReserveOrderVo> getStoreByCustomerSid(String sid) {

2
src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.java

@ -21,6 +21,8 @@ public interface LpkReserveOrderGoodsMapper extends BaseMapper<LpkReserveOrderGo
@Select("select * from lpk_reserve_order_goods where orderSid=#{orderSid}")
List<LpkReserveOrderGoods> selByOrderSid(String orderSid);
List<LpkReserveOrderGoods> selInOrderSid(@Param("orderSids") List<String> orderSids);
@Select("select *,goodsNumber as num from lpk_reserve_order_goods where orderSid=#{orderSid}")
List<LpkReserveOrderGoods> selByOrderSids(String orderSid);
}

8
src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.xml

@ -25,4 +25,12 @@
where orderSid = #{orderSid}
and goodsSid = #{goodsSid}
</select>
<select id="selInOrderSid" resultType="com.yxt.yyth.api.lpkreserveordergoods.LpkReserveOrderGoods">
select s.*
from lpk_reserve_order_goods s
where orderSid in
<foreach collection="orderSids" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
</mapper>

3
src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsService.java

@ -71,6 +71,9 @@ public class LpkReserveOrderGoodsService extends MybatisBaseService<LpkReserveOr
public List<LpkReserveOrderGoods> selByOrderSid(String orderSid) {
return baseMapper.selByOrderSid(orderSid);
}
public List<LpkReserveOrderGoods> selInOrderSid(List<String> orderSids) {
return baseMapper.selInOrderSid(orderSids);
}
public List<LpkReserveOrderGoods> selByOrderSids(String orderSid) {
return baseMapper.selByOrderSids(orderSid);
}

Loading…
Cancel
Save