配货统计
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
package com.yxt.yythmall.adminapi;
|
||||
|
||||
import com.alibaba.excel.EasyExcel;
|
||||
import com.alibaba.excel.ExcelWriter;
|
||||
import com.alibaba.excel.write.metadata.WriteSheet;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.yythmall.api.lpkreserveorder.LpkReserveOrderQuery;
|
||||
import com.yxt.yythmall.biz.vegecallerreserveorder.ReserveOrderVo;
|
||||
import com.yxt.yythmall.biz.vegecallerreserveorder.VegeCellarReserveOrderService;
|
||||
import com.yxt.yythmall.biz.vegecallerreserveorder.*;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@@ -13,6 +15,13 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
@RestController("com.yxt.yythmall.adminapi.AdminReserveRest")
|
||||
@RequestMapping("/adminapi/reserve")
|
||||
public class AdminReserveRest {
|
||||
@@ -22,7 +31,97 @@ public class AdminReserveRest {
|
||||
|
||||
@ApiOperation("精确到客户的预约单列表")
|
||||
@PostMapping("/pageOfCustomer")
|
||||
public ResultBean<PagerVo<ReserveOrderVo>> orderList(@RequestBody PagerQuery<LpkReserveOrderQuery> pq) {
|
||||
public ResultBean<IPage<ReserveOrderVo>> pageOfCustomer(@RequestBody PagerQuery<LpkReserveOrderQuery> pq) {
|
||||
return vegeCellarReserveOrderService.pageOfCustomer(pq);
|
||||
}
|
||||
|
||||
@PostMapping("/expExcelOfCustomer")
|
||||
public void expExcelOfCustomer(@RequestBody LpkReserveOrderQuery pq, HttpServletResponse response) throws IOException {
|
||||
// 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman
|
||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
||||
response.setCharacterEncoding("utf-8");
|
||||
// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
|
||||
String fileName = URLEncoder.encode("预约单明细", "UTF-8").replaceAll("\\+", "%20");
|
||||
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
|
||||
Map<String, List<ReserveCustomerExcel>> map = vegeCellarReserveOrderService.mapForExcelCustomer(pq);
|
||||
// EasyExcel.write(response.getOutputStream(), RpHzcExcel.class).sheet("cck").doWrite(list);
|
||||
try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), ReserveCustomerExcel.class).build()) {
|
||||
AtomicInteger i= new AtomicInteger();
|
||||
map.forEach((key,val) ->{
|
||||
WriteSheet writeSheet = EasyExcel.writerSheet(i.get(),key).build();
|
||||
i.getAndIncrement();
|
||||
excelWriter.write(val, writeSheet);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ApiOperation("精确到客户的预约单列表")
|
||||
@PostMapping("/pageOfStore")
|
||||
public ResultBean<IPage<ReserveOrderVo>> pageOfStore(@RequestBody PagerQuery<LpkReserveOrderQuery> pq) {
|
||||
return vegeCellarReserveOrderService.pageOfStore(pq);
|
||||
}
|
||||
|
||||
@PostMapping("/expExcelOfStore")
|
||||
public void expExcelOfStore(@RequestBody LpkReserveOrderQuery pq, HttpServletResponse response) throws IOException {
|
||||
// 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman
|
||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
||||
response.setCharacterEncoding("utf-8");
|
||||
// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
|
||||
String fileName = URLEncoder.encode("提货点配货单", "UTF-8").replaceAll("\\+", "%20");
|
||||
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
|
||||
Map<String, List<ReserveStoreExcel>> map = vegeCellarReserveOrderService.mapForExcelStore(pq);
|
||||
// EasyExcel.write(response.getOutputStream(), RpHzcExcel.class).sheet("cck").doWrite(list);
|
||||
try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), ReserveStoreExcel.class).build()) {
|
||||
AtomicInteger i= new AtomicInteger();
|
||||
map.forEach((key,val) ->{
|
||||
WriteSheet writeSheet = EasyExcel.writerSheet(i.get(),key).build();
|
||||
i.getAndIncrement();
|
||||
excelWriter.write(val, writeSheet);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ApiOperation("精确到客户的预约单列表")
|
||||
@PostMapping("/pageOfBank")
|
||||
public ResultBean<IPage<ReserveOrderVo>> pageOfBank(@RequestBody PagerQuery<LpkReserveOrderQuery> pq) {
|
||||
return vegeCellarReserveOrderService.pageOfBank(pq);
|
||||
}
|
||||
|
||||
@PostMapping("/expExcelOfBank")
|
||||
public void expExcelOfBank(@RequestBody LpkReserveOrderQuery pq, HttpServletResponse response) throws IOException {
|
||||
// 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman
|
||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
||||
response.setCharacterEncoding("utf-8");
|
||||
// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
|
||||
String fileName = URLEncoder.encode("提货点配货单", "UTF-8").replaceAll("\\+", "%20");
|
||||
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
|
||||
Map<String, List<ReserveBankExcel>> map = vegeCellarReserveOrderService.mapForExcelBank(pq);
|
||||
// EasyExcel.write(response.getOutputStream(), RpHzcExcel.class).sheet("cck").doWrite(list);
|
||||
try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), ReserveBankExcel.class).build()) {
|
||||
AtomicInteger i= new AtomicInteger();
|
||||
map.forEach((key,val) ->{
|
||||
WriteSheet writeSheet = EasyExcel.writerSheet(i.get(),key).build();
|
||||
i.getAndIncrement();
|
||||
excelWriter.write(val, writeSheet);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ApiOperation("精确到客户的预约单列表")
|
||||
@PostMapping("/pageOfAll")
|
||||
public ResultBean<IPage<ReserveOrderVo>> pageOfAll(@RequestBody PagerQuery<LpkReserveOrderQuery> pq) {
|
||||
return vegeCellarReserveOrderService.pageOfAll(pq);
|
||||
}
|
||||
|
||||
@PostMapping("/expExcelOfAll")
|
||||
public void expExcelOfAll(@RequestBody LpkReserveOrderQuery pq, HttpServletResponse response) throws IOException {
|
||||
// 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman
|
||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
||||
response.setCharacterEncoding("utf-8");
|
||||
// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
|
||||
String fileName = URLEncoder.encode("提货点配货单", "UTF-8").replaceAll("\\+", "%20");
|
||||
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
|
||||
List<ReserveAllExcel> list = vegeCellarReserveOrderService.listForExcelAll(pq);
|
||||
EasyExcel.write(response.getOutputStream(), ReserveAllExcel.class).sheet("总配货明细").doWrite(list);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.yxt.yythmall.biz.vegecallerreserveorder;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@EqualsAndHashCode
|
||||
public class ReserveAllExcel {
|
||||
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "预约时间", index = 0)
|
||||
private String reserveDate;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "礼包名称", index = 1)
|
||||
private String brandName;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "商品名称", index = 2)
|
||||
private String goodsName;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "商品数量(份)", index = 3)
|
||||
private String goodsNumber;
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.yxt.yythmall.biz.vegecallerreserveorder;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@EqualsAndHashCode
|
||||
public class ReserveBankExcel {
|
||||
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "预约时间",index = 0)
|
||||
private String reserveDate;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "支行",index = 1)
|
||||
private String bankName;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "礼包名称",index = 2)
|
||||
private String brandName;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "商品名称",index = 3)
|
||||
private String goodsName;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "商品数量(份)",index = 4)
|
||||
private String goodsNumber;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "支行联系人",index = 5)
|
||||
private String storeLinker;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "支行电话",index = 6)
|
||||
private String storePhone;
|
||||
@ColumnWidth(50)
|
||||
@ExcelProperty(value = "支行地址",index = 7)
|
||||
private String storeAddress;
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.yxt.yythmall.biz.vegecallerreserveorder;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@EqualsAndHashCode
|
||||
public class ReserveCustomerExcel {
|
||||
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "预约日期",index = 0)
|
||||
private String reserveDate;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "支行",index = 1)
|
||||
private String bankName;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "提货门店",index = 2)
|
||||
private String storeName;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "礼包名称",index = 3)
|
||||
private String brandName;
|
||||
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "姓名",index = 4)
|
||||
private String userName;
|
||||
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "联系方式",index = 5)
|
||||
private String userPhone;
|
||||
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "商品名称",index = 6)
|
||||
private String goodsName;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "商品数量(份)",index = 7)
|
||||
private String goodsNumber;
|
||||
}
|
||||
@@ -24,6 +24,7 @@ public class ReserveOrderVo implements Vo {
|
||||
private String storePhone;
|
||||
private String storeAddress;
|
||||
private String affiliation;
|
||||
private String brandName;
|
||||
private String userName;
|
||||
private String userPhone;
|
||||
private String bankSid;
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.yxt.yythmall.biz.vegecallerreserveorder;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@EqualsAndHashCode
|
||||
public class ReserveStoreExcel {
|
||||
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "预约时间",index = 0)
|
||||
private String reserveDate;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "支行",index = 1)
|
||||
private String bankName;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "提货门店",index = 2)
|
||||
private String storeName;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "礼包名称",index = 3)
|
||||
private String brandName;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "商品名称",index = 4)
|
||||
private String goodsName;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "商品数量(份)",index = 5)
|
||||
private String goodsNumber;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "提货点联系人",index = 6)
|
||||
private String storeLinker;
|
||||
@ColumnWidth(20)
|
||||
@ExcelProperty(value = "提货点电话",index = 7)
|
||||
private String storePhone;
|
||||
@ColumnWidth(50)
|
||||
@ExcelProperty(value = "提货点地址",index = 8)
|
||||
private String storeAddress;
|
||||
}
|
||||
@@ -4,6 +4,7 @@ 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.common.core.vo.PagerVo;
|
||||
import com.yxt.yythmall.api.vegecallerreserveorder.VegeCellarReserveOrder;
|
||||
import com.yxt.yythmall.api.vegecallerreserveorder.VegeCellarReserveOrderQuery;
|
||||
@@ -11,6 +12,8 @@ import com.yxt.yythmall.api.vegecallerreserveorder.VegeCellarReserveOrderVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
* @date 2023/11/23 10:36
|
||||
@@ -26,7 +29,21 @@ public interface VegeCellarReserveOrderMapper extends BaseMapper<VegeCellarReser
|
||||
//// IPage<VegeCellarReserveOrderCardVo> orderListByUserSid(IPage<VegeCellarReserveOrder> page, @Param(Constants.WRAPPER) QueryWrapper<VegeCellarReserveOrder> qw);
|
||||
IPage<VegeCellarReserveOrderVo> orderListByUserSid(IPage<VegeCellarReserveOrder> page, @Param("query") VegeCellarReserveOrderQuery query);
|
||||
|
||||
PagerVo<ReserveOrderVo> pageOfCustomer(IPage<VegeCellarReserveOrder> page,QueryWrapper<VegeCellarReserveOrder> qw);
|
||||
IPage<ReserveOrderVo> pageOfCustomer(IPage<VegeCellarReserveOrder> page,@Param(Constants.WRAPPER) QueryWrapper<VegeCellarReserveOrder> qw);
|
||||
|
||||
List<ReserveOrderVo> pageOfCustomer(@Param(Constants.WRAPPER) QueryWrapper<VegeCellarReserveOrder> qw);
|
||||
|
||||
IPage<ReserveOrderVo> pageOfStore(IPage<VegeCellarReserveOrder> page,@Param(Constants.WRAPPER) QueryWrapper<VegeCellarReserveOrder> qw);
|
||||
|
||||
List<ReserveOrderVo> pageOfStore(@Param(Constants.WRAPPER) QueryWrapper<VegeCellarReserveOrder> qw);
|
||||
|
||||
IPage<ReserveOrderVo> pageOfBank(IPage<VegeCellarReserveOrder> page,@Param(Constants.WRAPPER) QueryWrapper<VegeCellarReserveOrder> qw);
|
||||
|
||||
List<ReserveOrderVo> pageOfBank(@Param(Constants.WRAPPER) QueryWrapper<VegeCellarReserveOrder> qw);
|
||||
|
||||
IPage<ReserveOrderVo> pageOfAll(IPage<VegeCellarReserveOrder> page,@Param(Constants.WRAPPER) QueryWrapper<VegeCellarReserveOrder> qw);
|
||||
|
||||
List<ReserveOrderVo> pageOfAll(@Param(Constants.WRAPPER) QueryWrapper<VegeCellarReserveOrder> qw);
|
||||
//
|
||||
// List<ReserveOrderExport> exportExcel(@Param("qw") VegeCellarReserveOrderQuery qw);
|
||||
// List<ReserveOrderExportByStore> exportExcelByStore(@Param(Constants.WRAPPER) QueryWrapper<VegeCellarReserveOrderQuery> qw);
|
||||
|
||||
@@ -458,6 +458,7 @@
|
||||
max(ls.phone) storePhone,
|
||||
max(ls.address) storeAddress,
|
||||
max(vo.affiliation) affiliation,
|
||||
max(pb.name) brandName,
|
||||
max(vo.userName) userName,
|
||||
max(vo.userPhone) userPhone,
|
||||
max(lb.sid) bankSid,
|
||||
@@ -473,9 +474,85 @@
|
||||
LEFT JOIN lpk_bank lb ON lb.sid=ls.bankSid
|
||||
left join vege_cellar_reserve_details vd on vo.sid=vd.orderSid
|
||||
left join lpk_goods lg on vd.goodsSid=lg.sid
|
||||
left join pms_brand pb on pb.id=vo.affiliation
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
GROUP BY vo.reserveDate,vo.storeSid,vo.customerSid,vd.goodsSid
|
||||
ORDER BY vo.reserveDate ASC
|
||||
</select>
|
||||
<select id="pageOfStore" resultType="com.yxt.yythmall.biz.vegecallerreserveorder.ReserveOrderVo">
|
||||
select
|
||||
date_format(vo.reserveDate,'%Y-%m-%d') reserveDate,
|
||||
vo.storeSid,
|
||||
max(ls.name) storeName,
|
||||
max(ls.linker) storeLinker,
|
||||
max(ls.phone) storePhone,
|
||||
max(ls.address) storeAddress,
|
||||
max(vo.affiliation) affiliation,
|
||||
max(pb.name) brandName,
|
||||
max(lb.sid) bankSid,
|
||||
max(lb.name) bankName,
|
||||
max(lb.linker) bankLinker,
|
||||
max(lb.linkPhone) bankPhone,
|
||||
max(lb.address) bankAddress,
|
||||
vd.goodsSid,
|
||||
max(vd.goodsName) goodsName,
|
||||
sum(vd.goodsNumber) goodsNumber
|
||||
from vege_cellar_reserve_order vo
|
||||
LEFT JOIN lpk_store ls ON ls.sid=vo.storeSid
|
||||
LEFT JOIN lpk_bank lb ON lb.sid=ls.bankSid
|
||||
left join vege_cellar_reserve_details vd on vo.sid=vd.orderSid
|
||||
left join lpk_goods lg on vd.goodsSid=lg.sid
|
||||
left join pms_brand pb on pb.id=vo.affiliation
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
GROUP BY vo.reserveDate,vo.storeSid,vd.goodsSid
|
||||
ORDER BY vo.reserveDate ASC
|
||||
</select>
|
||||
<select id="pageOfBank" resultType="com.yxt.yythmall.biz.vegecallerreserveorder.ReserveOrderVo">
|
||||
select
|
||||
date_format(vo.reserveDate,'%Y-%m-%d') reserveDate,
|
||||
max(vo.affiliation) affiliation,
|
||||
max(pb.name) brandName,
|
||||
lb.sid bankSid,
|
||||
max(lb.name) bankName,
|
||||
max(lb.linker) bankLinker,
|
||||
max(lb.linkPhone) bankPhone,
|
||||
max(lb.address) bankAddress,
|
||||
vd.goodsSid,
|
||||
max(vd.goodsName) goodsName,
|
||||
sum(vd.goodsNumber) goodsNumber
|
||||
from vege_cellar_reserve_order vo
|
||||
LEFT JOIN lpk_store ls ON ls.sid=vo.storeSid
|
||||
LEFT JOIN lpk_bank lb ON lb.sid=ls.bankSid
|
||||
left join vege_cellar_reserve_details vd on vo.sid=vd.orderSid
|
||||
left join lpk_goods lg on vd.goodsSid=lg.sid
|
||||
left join pms_brand pb on pb.id=vo.affiliation
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
GROUP BY vo.reserveDate,lb.sid,vd.goodsSid
|
||||
ORDER BY vo.reserveDate ASC
|
||||
</select>
|
||||
<select id="pageOfAll" resultType="com.yxt.yythmall.biz.vegecallerreserveorder.ReserveOrderVo">
|
||||
select
|
||||
date_format(vo.reserveDate,'%Y-%m-%d') reserveDate,
|
||||
max(vo.affiliation) affiliation,
|
||||
max(pb.name) brandName,
|
||||
vd.goodsSid,
|
||||
max(vd.goodsName) goodsName,
|
||||
sum(vd.goodsNumber) goodsNumber
|
||||
from vege_cellar_reserve_order vo
|
||||
left join vege_cellar_reserve_details vd on vo.sid=vd.orderSid
|
||||
left join lpk_goods lg on vd.goodsSid=lg.sid
|
||||
left join pms_brand pb on pb.id=vo.affiliation
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
GROUP BY vo.reserveDate,vd.goodsSid
|
||||
ORDER BY vo.reserveDate ASC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -26,7 +26,9 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
@@ -711,6 +713,8 @@ public class VegeCellarReserveOrderService extends MybatisBaseService<VegeCellar
|
||||
|
||||
private QueryWrapper<VegeCellarReserveOrder> buildQuery(LpkReserveOrderQuery query) {
|
||||
QueryWrapper<VegeCellarReserveOrder> qw = new QueryWrapper<>();
|
||||
// qw.eq("vo.isEnable","1");
|
||||
|
||||
if (StrUtil.isNotBlank(query.getStartDate())) {
|
||||
qw.ge("date_format(vo.reserveDate,'%Y-%m-%d')", query.getStartDate());
|
||||
}
|
||||
@@ -727,17 +731,113 @@ public class VegeCellarReserveOrderService extends MybatisBaseService<VegeCellar
|
||||
qw.eq("vo.affiliation", query.getCardType());
|
||||
}
|
||||
|
||||
qw.orderByAsc("vo.reserveDate");
|
||||
// qw.orderByAsc("vo.reserveDate");
|
||||
return qw;
|
||||
}
|
||||
|
||||
public ResultBean<PagerVo<ReserveOrderVo>> pageOfCustomer(PagerQuery<LpkReserveOrderQuery> pq) {
|
||||
public ResultBean<IPage<ReserveOrderVo>> pageOfCustomer(PagerQuery<LpkReserveOrderQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
LpkReserveOrderQuery query = pq.getParams();
|
||||
QueryWrapper<VegeCellarReserveOrder> qw = buildQuery(query);
|
||||
|
||||
IPage<VegeCellarReserveOrder> page = PagerUtil.queryToPage(pq);
|
||||
PagerVo<ReserveOrderVo> pagerVo = baseMapper.pageOfCustomer(page,qw);
|
||||
IPage<ReserveOrderVo> pagerVo = baseMapper.pageOfCustomer(page, qw);
|
||||
return rb.success().setData(pagerVo);
|
||||
}
|
||||
|
||||
public Map<String, List<ReserveCustomerExcel>> mapForExcelCustomer(LpkReserveOrderQuery query) {
|
||||
QueryWrapper<VegeCellarReserveOrder> qw = buildQuery(query);
|
||||
List<ReserveOrderVo> list = baseMapper.pageOfCustomer(qw);
|
||||
Map<String, List<ReserveCustomerExcel>> map = new HashMap<>();
|
||||
list.forEach(vo -> {
|
||||
List<ReserveCustomerExcel> volist = map.get(vo.getBankName());
|
||||
if (volist == null) {
|
||||
volist = new ArrayList<>();
|
||||
map.put(vo.getBankName(), volist);
|
||||
}
|
||||
ReserveCustomerExcel ex = new ReserveCustomerExcel();
|
||||
BeanUtil.copyProperties(vo, ex);
|
||||
volist.add(ex);
|
||||
});
|
||||
return map;
|
||||
}
|
||||
|
||||
public ResultBean<IPage<ReserveOrderVo>> pageOfStore(PagerQuery<LpkReserveOrderQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
LpkReserveOrderQuery query = pq.getParams();
|
||||
QueryWrapper<VegeCellarReserveOrder> qw = buildQuery(query);
|
||||
|
||||
IPage<VegeCellarReserveOrder> page = PagerUtil.queryToPage(pq);
|
||||
IPage<ReserveOrderVo> pagerVo = baseMapper.pageOfStore(page, qw);
|
||||
return rb.success().setData(pagerVo);
|
||||
}
|
||||
|
||||
public Map<String, List<ReserveStoreExcel>> mapForExcelStore(LpkReserveOrderQuery query) {
|
||||
QueryWrapper<VegeCellarReserveOrder> qw = buildQuery(query);
|
||||
List<ReserveOrderVo> list = baseMapper.pageOfStore(qw);
|
||||
Map<String, List<ReserveStoreExcel>> map = new HashMap<>();
|
||||
list.forEach(vo -> {
|
||||
List<ReserveStoreExcel> volist = map.get(vo.getBankName());
|
||||
if (volist == null) {
|
||||
volist = new ArrayList<>();
|
||||
map.put(vo.getBankName(), volist);
|
||||
}
|
||||
ReserveStoreExcel ex = new ReserveStoreExcel();
|
||||
BeanUtil.copyProperties(vo, ex);
|
||||
volist.add(ex);
|
||||
});
|
||||
return map;
|
||||
}
|
||||
|
||||
public ResultBean<IPage<ReserveOrderVo>> pageOfBank(PagerQuery<LpkReserveOrderQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
LpkReserveOrderQuery query = pq.getParams();
|
||||
QueryWrapper<VegeCellarReserveOrder> qw = buildQuery(query);
|
||||
|
||||
IPage<VegeCellarReserveOrder> page = PagerUtil.queryToPage(pq);
|
||||
IPage<ReserveOrderVo> pagerVo = baseMapper.pageOfBank(page, qw);
|
||||
return rb.success().setData(pagerVo);
|
||||
}
|
||||
|
||||
public Map<String, List<ReserveBankExcel>> mapForExcelBank(LpkReserveOrderQuery query) {
|
||||
QueryWrapper<VegeCellarReserveOrder> qw = buildQuery(query);
|
||||
List<ReserveOrderVo> list = baseMapper.pageOfBank(qw);
|
||||
Map<String, List<ReserveBankExcel>> map = new HashMap<>();
|
||||
list.forEach(vo -> {
|
||||
List<ReserveBankExcel> volist = map.get(vo.getBankName());
|
||||
if (volist == null) {
|
||||
volist = new ArrayList<>();
|
||||
map.put(vo.getBankName(), volist);
|
||||
}
|
||||
ReserveBankExcel ex = new ReserveBankExcel();
|
||||
BeanUtil.copyProperties(vo, ex);
|
||||
volist.add(ex);
|
||||
});
|
||||
return map;
|
||||
}
|
||||
|
||||
public ResultBean<IPage<ReserveOrderVo>> pageOfAll(PagerQuery<LpkReserveOrderQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
LpkReserveOrderQuery query = pq.getParams();
|
||||
QueryWrapper<VegeCellarReserveOrder> qw = buildQuery(query);
|
||||
|
||||
IPage<VegeCellarReserveOrder> page = PagerUtil.queryToPage(pq);
|
||||
IPage<ReserveOrderVo> pagerVo = baseMapper.pageOfAll(page, qw);
|
||||
return rb.success().setData(pagerVo);
|
||||
}
|
||||
|
||||
public List<ReserveAllExcel> listForExcelAll(LpkReserveOrderQuery query) {
|
||||
|
||||
|
||||
QueryWrapper<VegeCellarReserveOrder> qw = buildQuery(query);
|
||||
List<ReserveOrderVo> list = baseMapper.pageOfAll(qw);
|
||||
List<ReserveAllExcel> listRes = new ArrayList<>();
|
||||
|
||||
list.forEach(vo -> {
|
||||
ReserveAllExcel ex = new ReserveAllExcel();
|
||||
BeanUtil.copyProperties(vo, ex);
|
||||
listRes.add(ex);
|
||||
});
|
||||
return listRes;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,9 +3,11 @@ spring:
|
||||
hikari:
|
||||
max-lifetime: 500000
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://39.104.100.138:3306/yxt_lpk_yythmall?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
|
||||
# url: jdbc:mysql://39.104.100.138:3306/yxt_lpk_yythmall?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
|
||||
url: jdbc:mysql://8.130.39.13:3306/yxt_lpk_yythmall?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
|
||||
username: root
|
||||
password: yxt_mysql_138
|
||||
password: 1LAiGz$t1*Iw
|
||||
# password: yxt_mysql_138
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
|
||||
Reference in New Issue
Block a user