diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsalesreport/GdSalesReportMapper.xml b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsalesreport/GdSalesReportMapper.xml index 6d2bfe96..01c1673f 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsalesreport/GdSalesReportMapper.xml +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsalesreport/GdSalesReportMapper.xml @@ -51,7 +51,6 @@ SELECT ROUND( SUM( s.saleNum * s.salePrice ), 2 ) AS salesVolume, i.NAME AS storeName, - rank() over(order by s.storeCode) as serialNumber, FROM gd_sales_yc s LEFT JOIN store_info i ON i.`code` = s.storeCode @@ -63,7 +62,8 @@ + SELECT + * + FROM + report_sales_day_gather + ${ew.sqlSegment} + + + + \ No newline at end of file diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaygather/ReportSalesDayGatherRest.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaygather/ReportSalesDayGatherRest.java new file mode 100644 index 00000000..70f53775 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaygather/ReportSalesDayGatherRest.java @@ -0,0 +1,44 @@ +package com.yxt.supervise.report.biz.reportsalesdaygather; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.builder.ExcelWriterBuilder; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.supervise.report.api.reportsalesdaygather.ReportSalesDayGatherQuery; +import com.yxt.supervise.report.api.reportsalesdaygather.ReportSalesDayGatherVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author wangpengfei + * @date 2023/4/21 11:18 + */ +@RestController +@RequestMapping("/reportsalesdaygather") +public class ReportSalesDayGatherRest { + private static final String EXCEL_FILE_NAME="D:\\opt\\upFiles"+"\\门店销售明细报表"+ System.currentTimeMillis() +".xlsx"; + private static final String TEMPLATE_FILE_NAME="C:\\Users\\www19\\Desktop\\1.xlsx"; + + @Autowired + ReportSalesDayGatherService reportSalesDayGatherService; + + @PostMapping("/getReportSalesDayGather") + public ResultBean getReportSalesDayGather(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + List pv = reportSalesDayGatherService.getReportSalesDayGather(pq); + return rb.success().setData(pv); + } + + public void SalesReport(@RequestBody PagerQuery pq) throws IOException { + + } +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaygather/ReportSalesDayGatherService.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaygather/ReportSalesDayGatherService.java new file mode 100644 index 00000000..97e75cc0 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaygather/ReportSalesDayGatherService.java @@ -0,0 +1,77 @@ +package com.yxt.supervise.report.biz.reportsalesdaygather; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.util.ListUtils; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.metadata.fill.FillConfig; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.supervise.report.api.reportsalesdaygather.ReportSalesDayGather; +import com.yxt.supervise.report.api.reportsalesdaygather.ReportSalesDayGatherQuery; +import com.yxt.supervise.report.api.reportsalesdaygather.ReportSalesDayGatherVo; +import com.yxt.supervise.report.api.reportsalesdaylog.MyHandler; +import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreVo; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.util.CellRangeAddress; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * @author wangpengfei + * @date 2023/4/21 11:18 + */ +@Service +public class ReportSalesDayGatherService extends MybatisBaseService { + + public List getReportSalesDayGather(PagerQuery pq) { + ReportSalesDayGatherQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if(query!=null) { + if (StringUtils.isNotBlank(query.getDate())) { + qw.eq("STR_TO_DATE(orderDate,'%Y-%m-%d')", query.getDate()); + } + } + //IPage page = PagerUtil.queryToPage(pq); + List pagging = baseMapper.getReportSalesDayGather(qw); + //PagerVo p = PagerUtil.pageToVo(pagging, null); + return pagging; + } + public List getAllReportSalesDayGather(String orderDate) { + ReportSalesDayGatherQuery reportSalesDayGatherQuery=new ReportSalesDayGatherQuery(); + reportSalesDayGatherQuery.setDate(orderDate); + PagerQuery pq=new PagerQuery<>(); + pq.setParams(reportSalesDayGatherQuery); + ReportSalesDayGatherQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if(query!=null) { + if (StringUtils.isNotBlank(query.getDate())) { + qw.eq("STR_TO_DATE(orderDate,'%Y-%m-%d')", query.getDate()); + } + } + List pagging = baseMapper.getReportSalesDayGather(qw); + return pagging; + } + /** + * 销售日报汇总 + * @param map + * @param excelWriter + * @param SalesVos + * @throws IOException + */ + public void exportReportSalesDayStore(Map map, ExcelWriter excelWriter, List SalesVos) throws IOException { + + WriteSheet writeSheet = EasyExcel.writerSheet(0).build(); + // 填写配置,forceNewRow true表示自动创建一行,后面的数据后移 + FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); + //填写数据 + excelWriter.fill(SalesVos, fillConfig, writeSheet); + + } +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaylog/ReportSalesDayLogMapper.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaylog/ReportSalesDayLogMapper.java new file mode 100644 index 00000000..aac34416 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaylog/ReportSalesDayLogMapper.java @@ -0,0 +1,23 @@ +package com.yxt.supervise.report.biz.reportsalesdaylog; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.supervise.report.api.reportsalesdaylog.ReportSalesDayLog; +import com.yxt.supervise.report.api.reportsalesdaylog.ReportSalesDayLogVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/4/21 11:18 + */ +@Mapper +public interface ReportSalesDayLogMapper extends BaseMapper { + List getReportSalesDayLog(@Param(Constants.WRAPPER) Wrapper qw); + ReportSalesDayLogVo getLogByOrderDate(@Param("orderDate") String orderDate); + + List getAllReportSalesDayLog(@Param(Constants.WRAPPER) Wrapper qw); +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaylog/ReportSalesDayLogMapper.xml b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaylog/ReportSalesDayLogMapper.xml new file mode 100644 index 00000000..bd95ccc4 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaylog/ReportSalesDayLogMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaylog/ReportSalesDayLogRest.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaylog/ReportSalesDayLogRest.java new file mode 100644 index 00000000..f6c14a35 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaylog/ReportSalesDayLogRest.java @@ -0,0 +1,100 @@ +package com.yxt.supervise.report.biz.reportsalesdaylog; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.builder.ExcelWriterBuilder; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.supervise.report.api.reportsalesdaylog.ReportSalesDayLog; +import com.yxt.supervise.report.api.reportsalesdaylog.ReportSalesDayLogQuery; +import com.yxt.supervise.report.api.reportsalesdaylog.ReportSalesDayLogVo; +import com.yxt.supervise.report.biz.reportsalesdaygather.ReportSalesDayGatherService; +import com.yxt.supervise.report.biz.reportsalesdaystore.ReportSalesDayStoreService; +import com.yxt.supervise.report.biz.reportsalesdaystoreproduct.ReportSalesDayStoreProductService; +import com.yxt.supervise.report.biz.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreService; +import com.yxt.supervise.report.biz.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProductService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author wangpengfei + * @date 2023/4/21 11:18 + */ +@RestController +@RequestMapping("/reportsalesdaylog") +public class ReportSalesDayLogRest { + private static final String EXCEL_FILE_NAME="D:\\opt\\upFiles"+"\\门店销售明细报表"+ System.currentTimeMillis() +".xlsx"; + private static final String TEMPLATE_FILE_NAME="C:\\Users\\www19\\Desktop\\1.xlsx"; + + @Autowired + ReportSalesDayLogService ReportSalesDayLogService; + @Autowired + ReportSalesDayGatherService reportSalesDayGatherService; + @Autowired + ReportSalesDayStoreService reportSalesDayStoreService; + @Autowired + ReportSalesDayStoreProductService reportSalesDayStoreProductService; + @Autowired + ReportSalesDayTobaccoStoreService reportSalesDayTobaccoStoreService; + @Autowired + ReportSalesDayTobaccoStoreProductService reportSalesDayTobaccoStoreProductService; + + + @PostMapping("/getReportSalesDayLog") + public ResultBean getReportSalesDayLog(@RequestBody PagerQuery pq){ + new Thread(new GdSalesThread(pq.getParams().getDate())).start(); + ResultBean rb = ResultBean.fireFail(); + List pv = ReportSalesDayLogService.getReportSalesDayLog(pq); + return rb.success().setData(pv); + } + public class GdSalesThread extends Thread{ + String orderDate; + public GdSalesThread(String orderDate) { + this.orderDate = orderDate; + } + public void run(){ + try { + System.out.println("excel线程开启"); + SalesReport(orderDate); + System.out.println("excel线程结束"); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + } + public ResultBean getAllReportSalesDayLog(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + List pv = ReportSalesDayLogService.getAllReportSalesDayLog(pq); + return rb.success().setData(pv); + } + public void SalesReport(String orderDate) throws IOException { + // 创建ExcelWriterBuilder + ExcelWriterBuilder excelWriterBuilder = EasyExcel.write(EXCEL_FILE_NAME).withTemplate(TEMPLATE_FILE_NAME); + ExcelWriter excelWriter = excelWriterBuilder.build(); + // 写入list之前的数据 + Map map = new HashMap(); +// map.put("date",StoreSalesVos.get(1).getDate()); +// map.put("date",StoreSalesVos.get(1).getDate()); +// map.put("storeNum",StoreSalesVos.size()); + reportSalesDayGatherService.exportReportSalesDayStore(map,excelWriter,reportSalesDayGatherService.getAllReportSalesDayGather(orderDate)); + reportSalesDayStoreService.exportReportSalesDayStore(map,excelWriter,reportSalesDayStoreService.getAllReportSalesDayStore(orderDate)); + reportSalesDayStoreProductService.exportReportSalesDayStoreProduct(map,excelWriter,reportSalesDayStoreProductService.getAllReportSalesDayStoreProduct(orderDate)); + reportSalesDayTobaccoStoreService.exportReportSalesDayTobaccoStore(map,excelWriter,reportSalesDayTobaccoStoreService.getAllReportSalesDayTobaccoStore(orderDate)); + reportSalesDayTobaccoStoreProductService.exportReportSalesDayTobaccoStoreProduct(map,excelWriter,reportSalesDayTobaccoStoreProductService.getAllReportSalesDayTobaccoStoreProduct(orderDate)); + ReportSalesDayLog log=ReportSalesDayLogService.getOne(new QueryWrapper().eq("orderDate",orderDate)); + //保存url + log.setUrl(EXCEL_FILE_NAME); + ReportSalesDayLogService.update(log,new QueryWrapper().eq("orderDate",orderDate)); + excelWriter.finish(); + + } +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaylog/ReportSalesDayLogService.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaylog/ReportSalesDayLogService.java new file mode 100644 index 00000000..148dbc14 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaylog/ReportSalesDayLogService.java @@ -0,0 +1,49 @@ +package com.yxt.supervise.report.biz.reportsalesdaylog; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.supervise.report.api.reportsalesdaylog.ReportSalesDayLog; +import com.yxt.supervise.report.api.reportsalesdaylog.ReportSalesDayLogQuery; +import com.yxt.supervise.report.api.reportsalesdaylog.ReportSalesDayLogVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/4/21 11:18 + */ +@Service +public class ReportSalesDayLogService extends MybatisBaseService { + + public List getReportSalesDayLog(PagerQuery pq) { + ReportSalesDayLogQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if(query!=null) { + if (StringUtils.isNotBlank(query.getDate())) { + qw.eq("STR_TO_DATE(orderDate,'%Y-%m-%d')", query.getDate()); + } + } + //IPage page = PagerUtil.queryToPage(pq); + List pagging = baseMapper.getReportSalesDayLog(qw); + //PagerVo p = PagerUtil.pageToVo(pagging, null); + return pagging; + } + public ReportSalesDayLogVo getLogByOrderDate(String orderDate){ + return baseMapper.getLogByOrderDate(orderDate); + } + public List getAllReportSalesDayLog(PagerQuery pq) { + ReportSalesDayLogQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if(query!=null) { + if (StringUtils.isNotBlank(query.getDate())) { + qw.eq("STR_TO_DATE(orderDate,'%Y-%m-%d')", query.getDate()); + } + } + List pagging = baseMapper.getReportSalesDayLog(qw); + return pagging; + } + +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystore/ReportSalesDayStoreMapper.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystore/ReportSalesDayStoreMapper.java new file mode 100644 index 00000000..e67b2c93 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystore/ReportSalesDayStoreMapper.java @@ -0,0 +1,21 @@ +package com.yxt.supervise.report.biz.reportsalesdaystore; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStore; +import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/4/21 11:18 + */ +@Mapper +public interface ReportSalesDayStoreMapper extends BaseMapper { + List getReportSalesDayStore(@Param(Constants.WRAPPER) Wrapper qw); + List getAllReportSalesDayStore(@Param(Constants.WRAPPER) Wrapper qw); +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystore/ReportSalesDayStoreMapper.xml b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystore/ReportSalesDayStoreMapper.xml new file mode 100644 index 00000000..e24eaf7f --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystore/ReportSalesDayStoreMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + \ No newline at end of file diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystore/ReportSalesDayStoreRest.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystore/ReportSalesDayStoreRest.java new file mode 100644 index 00000000..4e0826e4 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystore/ReportSalesDayStoreRest.java @@ -0,0 +1,61 @@ +package com.yxt.supervise.report.biz.reportsalesdaystore; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.builder.ExcelWriterBuilder; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreQuery; +import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author wangpengfei + * @date 2023/4/21 11:18 + */ +@RestController +@RequestMapping("/reportsalesdaystore") +public class ReportSalesDayStoreRest { + private static final String EXCEL_FILE_NAME="D:\\opt\\upFiles"+"\\门店销售明细报表"+ System.currentTimeMillis() +".xlsx"; + private static final String TEMPLATE_FILE_NAME="C:\\Users\\www19\\Desktop\\1.xlsx"; + + @Autowired + ReportSalesDayStoreService ReportSalesDayStoreService; + + @PostMapping("/getReportSalesDayStore") + public ResultBean getReportSalesDayStore(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + List pv = ReportSalesDayStoreService.getReportSalesDayStore(pq); + return rb.success().setData(pv); + } + + public void SalesReport(@RequestBody PagerQuery pq) throws IOException { + +// List StoreSalesVos =gdSalesReportService.getAllStoreSalesReport(pq); +// ListgoodsSalesVos= gdSalesReportService.getAllGoodsSalesReport(pq); +// List StoreSalesYcVos = gdSalesReportService.StoreSalesYcReportExcelVo(pq); +// List goodsSalesYcVos=gdSalesReportService.GoodsSalesReportYcExcelVo(pq); +// List ReportSalesDayStoreVos=getAllReportSalesDayStore(pq); + // 创建ExcelWriterBuilder + ExcelWriterBuilder excelWriterBuilder = EasyExcel.write(EXCEL_FILE_NAME).withTemplate(TEMPLATE_FILE_NAME); + ExcelWriter excelWriter = excelWriterBuilder.build(); + // 写入list之前的数据 + Map map = new HashMap(); +// map.put("date",StoreSalesVos.get(1).getDate()); +// map.put("date",StoreSalesVos.get(1).getDate()); +// map.put("storeNum",StoreSalesVos.size()); + + + + excelWriter.finish(); + } +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystore/ReportSalesDayStoreService.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystore/ReportSalesDayStoreService.java new file mode 100644 index 00000000..bfe5e501 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystore/ReportSalesDayStoreService.java @@ -0,0 +1,107 @@ +package com.yxt.supervise.report.biz.reportsalesdaystore; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.util.ListUtils; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.metadata.fill.FillConfig; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.supervise.report.api.reportsalesdaygather.ReportSalesDayGatherQuery; +import com.yxt.supervise.report.api.reportsalesdaylog.MyHandler; +import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStore; +import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreQuery; +import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreVo; +import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStore; +import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreVo; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.util.CellRangeAddress; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * @author wangpengfei + * @date 2023/4/21 11:18 + */ +@Service +public class ReportSalesDayStoreService extends MybatisBaseService { + + public List getReportSalesDayStore(PagerQuery pq) { + ReportSalesDayStoreQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if(query!=null) { + if (StringUtils.isNotBlank(query.getDate())) { + qw.eq("STR_TO_DATE(orderDate,'%Y-%m-%d')", query.getDate()); + } + } + //IPage page = PagerUtil.queryToPage(pq); + List pagging = baseMapper.getReportSalesDayStore(qw); + //PagerVo p = PagerUtil.pageToVo(pagging, null); + return pagging; + } + public List getAllReportSalesDayStore(String orderDate) { + ReportSalesDayStoreQuery reportSalesDayStoreQuery=new ReportSalesDayStoreQuery(); + reportSalesDayStoreQuery.setDate(orderDate); + PagerQuery pq=new PagerQuery<>(); + pq.setParams(reportSalesDayStoreQuery); + ReportSalesDayStoreQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if(query!=null) { + if (StringUtils.isNotBlank(query.getDate())) { + qw.eq("STR_TO_DATE(orderDate,'%Y-%m-%d')", query.getDate()); + } + } + List pagging = baseMapper.getReportSalesDayStore(qw); + return pagging; + } + /** + * 门店销售明细表 + * @param map + * @param excelWriter + * @param SalesVos + * @throws IOException + */ + public void exportReportSalesDayStore(Map map, ExcelWriter excelWriter, List SalesVos) throws IOException { + List list = new ArrayList<>(); + //new CellRangeAddress(开始行,结束行,开始列,结束列) + list.add(new CellRangeAddress(3, SalesVos.size()+3, 1, 3)); + // 创建writeSheet,并注册合并单元格handler + WriteSheet writeSheet = EasyExcel.writerSheet(1).registerWriteHandler(new MyHandler(0,list)).build(); + // 填写配置,forceNewRow true表示自动创建一行,后面的数据后移 + FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); + //填写数据 + excelWriter.fill(SalesVos, fillConfig, writeSheet); + //excelWriter.fill(excelVos, writeSheet); + // 写入list之前的数据 +// Calendar cal = Calendar.getInstance(); +// Date date = new Date(); +// cal.setTime(date); +// SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd"); +// Integer month=cal.get(Calendar.MONTH)+1; +// map.put("number","mdxsmxb"+cal.get(Calendar.YEAR)+month+cal.get(Calendar.DAY_OF_MONTH)); +// map.put("storeNum",StoreSalesVos.size()); +// excelWriter.fill(map, writeSheet); +// list 后面还有个统计 想办法手动写入 +// 这里偷懒直接用list 也可以用对象 + List> totalListList = ListUtils.newArrayList(); + List totalList = ListUtils.newArrayList(); + totalListList.add(totalList); + BigDecimal total=new BigDecimal("0"); +// for(StoreSalesReportExcelVo i:StoreSalesVos){ +// total=total.add(i.getSalesVolume()); +// } + totalList.add(""); + totalList.add(""); + totalList.add(""); + totalList.add("统计:"); + totalList.add(String.valueOf(total)); + // 这里是write 别和fill 搞错了 + WriteSheet writeSheet1 = EasyExcel.writerSheet(1).build(); + excelWriter.write(totalListList,writeSheet1); + } +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystoreproduct/ReportSalesDayStoreProductMapper.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystoreproduct/ReportSalesDayStoreProductMapper.java new file mode 100644 index 00000000..f689a050 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystoreproduct/ReportSalesDayStoreProductMapper.java @@ -0,0 +1,21 @@ +package com.yxt.supervise.report.biz.reportsalesdaystoreproduct; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProduct; +import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/4/21 11:18 + */ +@Mapper +public interface ReportSalesDayStoreProductMapper extends BaseMapper { + List getReportSalesDayStoreProduct(@Param(Constants.WRAPPER) Wrapper qw); + List getAllReportSalesDayStoreProduct(@Param(Constants.WRAPPER) Wrapper qw); +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystoreproduct/ReportSalesDayStoreProductMapper.xml b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystoreproduct/ReportSalesDayStoreProductMapper.xml new file mode 100644 index 00000000..7899dafa --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystoreproduct/ReportSalesDayStoreProductMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + \ No newline at end of file diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystoreproduct/ReportSalesDayStoreProductRest.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystoreproduct/ReportSalesDayStoreProductRest.java new file mode 100644 index 00000000..b50a4eb0 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystoreproduct/ReportSalesDayStoreProductRest.java @@ -0,0 +1,44 @@ +package com.yxt.supervise.report.biz.reportsalesdaystoreproduct; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.builder.ExcelWriterBuilder; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductQuery; +import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author wangpengfei + * @date 2023/4/21 11:18 + */ +@RestController +@RequestMapping("/reportsalesdaystoreproduct") +public class ReportSalesDayStoreProductRest { + private static final String EXCEL_FILE_NAME="D:\\opt\\upFiles"+"\\门店销售明细报表"+ System.currentTimeMillis() +".xlsx"; + private static final String TEMPLATE_FILE_NAME="C:\\Users\\www19\\Desktop\\1.xlsx"; + + @Autowired + ReportSalesDayStoreProductService ReportSalesDayStoreProductService; + + @PostMapping("/getReportSalesDayStoreProduct") + public ResultBean getReportSalesDayStoreProduct(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + List pv = ReportSalesDayStoreProductService.getReportSalesDayStoreProduct(pq); + return rb.success().setData(pv); + } + + public void SalesReport(@RequestBody PagerQuery pq) throws IOException { + + } +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystoreproduct/ReportSalesDayStoreProductService.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystoreproduct/ReportSalesDayStoreProductService.java new file mode 100644 index 00000000..0189c1ac --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystoreproduct/ReportSalesDayStoreProductService.java @@ -0,0 +1,105 @@ +package com.yxt.supervise.report.biz.reportsalesdaystoreproduct; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.util.ListUtils; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreQuery; +import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProduct; +import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductQuery; +import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * @author wangpengfei + * @date 2023/4/21 11:18 + */ +@Service +public class ReportSalesDayStoreProductService extends MybatisBaseService { + + public List getReportSalesDayStoreProduct(PagerQuery pq) { + ReportSalesDayStoreProductQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if(query!=null) { + if (StringUtils.isNotBlank(query.getDate())) { + qw.eq("STR_TO_DATE(orderDate,'%Y-%m-%d')", query.getDate()); + } + } + //IPage page = PagerUtil.queryToPage(pq); + List pagging = baseMapper.getReportSalesDayStoreProduct(qw); + //PagerVo p = PagerUtil.pageToVo(pagging, null); + return pagging; + } + public List getAllReportSalesDayStoreProduct(String orderDate) { + ReportSalesDayStoreProductQuery reportSalesDayStoreProductQuery=new ReportSalesDayStoreProductQuery(); + reportSalesDayStoreProductQuery.setDate(orderDate); + PagerQuery pq=new PagerQuery<>(); + pq.setParams(reportSalesDayStoreProductQuery); + ReportSalesDayStoreProductQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if(query!=null) { + if (StringUtils.isNotBlank(query.getDate())) { + qw.eq("STR_TO_DATE(orderDate,'%Y-%m-%d')", query.getDate()); + } + } + List pagging = baseMapper.getReportSalesDayStoreProduct(qw); + return pagging; + } + /** + * 门店商品销售明细表 + * @param map + * @param excelWriter + * @param SalesVos + * @throws IOException + */ + public void exportReportSalesDayStoreProduct(Map map, ExcelWriter excelWriter, List SalesVos) throws IOException { + //得到所有要导出的数据 + WriteSheet writeSheetGood = EasyExcel.writerSheet(2).build(); + //填写数据 + excelWriter.fill(SalesVos, writeSheetGood); + //excelWriter.fill(goodsSalesReportExcelVos, writeSheetGood); + // 写入list之前的数据 +// Calendar cal = Calendar.getInstance(); +// Date date = new Date(); +// cal.setTime(date); +// SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd"); +// Integer month=cal.get(Calendar.MONTH)+1; +// +// excelWriter.fill(map, writeSheetGood); +// list 后面还有个统计 想办法手动写入 + List> totalListList1 = ListUtils.newArrayList(); + List totalList1 = ListUtils.newArrayList(); + totalListList1.add(totalList1); + BigDecimal total=new BigDecimal("0"); +// for(ReportSalesDayStoreProductVo i:goodsSalesReportExcelVos){ +// total=total.add(i.getTotal()); +// } + + totalList1.add(""); + totalList1.add(""); + totalList1.add(""); + totalList1.add(""); + totalList1.add(""); + totalList1.add(""); + totalList1.add("统计:"); + if(SalesVos.get(0).getCountAmount().equals("")|| SalesVos.get(0).getCountAmount().equals(null)){ + totalList1.add("0"); + }else{ + totalList1.add(SalesVos.get(0).getCountAmount()); + } + // 这里是write 别和fill 搞错了 + excelWriter.write(totalListList1,writeSheetGood); + } +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostore/ReportSalesDayTobaccoStoreMapper.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostore/ReportSalesDayTobaccoStoreMapper.java new file mode 100644 index 00000000..712cd72f --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostore/ReportSalesDayTobaccoStoreMapper.java @@ -0,0 +1,21 @@ +package com.yxt.supervise.report.biz.reportsalesdaytobaccostore; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStore; +import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/4/21 11:18 + */ +@Mapper +public interface ReportSalesDayTobaccoStoreMapper extends BaseMapper { + List getReportSalesDayTobaccoStore(@Param(Constants.WRAPPER) Wrapper qw); + List getAllReportSalesDayTobaccoStore(@Param(Constants.WRAPPER) Wrapper qw); +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostore/ReportSalesDayTobaccoStoreMapper.xml b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostore/ReportSalesDayTobaccoStoreMapper.xml new file mode 100644 index 00000000..58f89c71 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostore/ReportSalesDayTobaccoStoreMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + \ No newline at end of file diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostore/ReportSalesDayTobaccoStoreRest.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostore/ReportSalesDayTobaccoStoreRest.java new file mode 100644 index 00000000..c499da64 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostore/ReportSalesDayTobaccoStoreRest.java @@ -0,0 +1,41 @@ +package com.yxt.supervise.report.biz.reportsalesdaytobaccostore; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.builder.ExcelWriterBuilder; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreQuery; +import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author wangpengfei + * @date 2023/4/21 11:18 + */ +@RestController +@RequestMapping("/reportsalesdaytobaccostore") +public class ReportSalesDayTobaccoStoreRest { + private static final String EXCEL_FILE_NAME="D:\\opt\\upFiles"+"\\门店销售明细报表"+ System.currentTimeMillis() +".xlsx"; + private static final String TEMPLATE_FILE_NAME="C:\\Users\\www19\\Desktop\\1.xlsx"; + + @Autowired + com.yxt.supervise.report.biz.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreService ReportSalesDayTobaccoStoreService; + + @PostMapping("/getReportSalesDayTobaccoStore") + public ResultBean getReportSalesDayTobaccoStore(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + List pv = ReportSalesDayTobaccoStoreService.getReportSalesDayTobaccoStore(pq); + return rb.success().setData(pv); + } + +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostore/ReportSalesDayTobaccoStoreService.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostore/ReportSalesDayTobaccoStoreService.java new file mode 100644 index 00000000..81b0b433 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostore/ReportSalesDayTobaccoStoreService.java @@ -0,0 +1,106 @@ +package com.yxt.supervise.report.biz.reportsalesdaytobaccostore; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.util.ListUtils; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.metadata.fill.FillConfig; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.supervise.report.api.reportsalesdaylog.MyHandler; +import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreVo; +import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductQuery; +import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStore; +import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreQuery; +import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreVo; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.util.CellRangeAddress; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * @author wangpengfei + * @date 2023/4/21 11:18 + */ +@Service +public class ReportSalesDayTobaccoStoreService extends MybatisBaseService { + + public List getReportSalesDayTobaccoStore(PagerQuery pq) { + ReportSalesDayTobaccoStoreQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if(query!=null) { + if (StringUtils.isNotBlank(query.getDate())) { + qw.eq("STR_TO_DATE(orderDate,'%Y-%m-%d')", query.getDate()); + } + } + //IPage page = PagerUtil.queryToPage(pq); + List pagging = baseMapper.getReportSalesDayTobaccoStore(qw); + //PagerVo p = PagerUtil.pageToVo(pagging, null); + return pagging; + } + public List getAllReportSalesDayTobaccoStore(String orderDate) { + ReportSalesDayTobaccoStoreQuery reportSalesDayTobaccoStoreQuery=new ReportSalesDayTobaccoStoreQuery(); + reportSalesDayTobaccoStoreQuery.setDate(orderDate); + PagerQuery pq=new PagerQuery<>(); + pq.setParams(reportSalesDayTobaccoStoreQuery); + ReportSalesDayTobaccoStoreQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if(query!=null) { + if (StringUtils.isNotBlank(query.getDate())) { + qw.eq("STR_TO_DATE(orderDate,'%Y-%m-%d')", query.getDate()); + } + } + List pagging = baseMapper.getReportSalesDayTobaccoStore(qw); + return pagging; + } + /** + * 烟草门店销售明细表 + * @param map + * @param excelWriter + * @param SalesVos + * @throws IOException + */ + public void exportReportSalesDayTobaccoStore(Map map, ExcelWriter excelWriter, List SalesVos) throws IOException { + List list = new ArrayList<>(); + //new CellRangeAddress(开始行,结束行,开始列,结束列) + list.add(new CellRangeAddress(3, SalesVos.size()+3, 1, 3)); + // 创建writeSheet,并注册合并单元格handler + WriteSheet writeSheet = EasyExcel.writerSheet(3).registerWriteHandler(new MyHandler(0,list)).build(); + // 填写配置,forceNewRow true表示自动创建一行,后面的数据后移 + FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); + //填写数据 + excelWriter.fill(SalesVos, fillConfig, writeSheet); + //excelWriter.fill(excelVos, writeSheet); + // 写入list之前的数据 +// Calendar cal = Calendar.getInstance(); +// Date date = new Date(); +// cal.setTime(date); +// SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd"); +// Integer month=cal.get(Calendar.MONTH)+1; +// map.put("number","mdxsmxb"+cal.get(Calendar.YEAR)+month+cal.get(Calendar.DAY_OF_MONTH)); +// map.put("storeNum",StoreSalesVos.size()); +// excelWriter.fill(map, writeSheet); +// list 后面还有个统计 想办法手动写入 +// 这里偷懒直接用list 也可以用对象 + List> totalListList = ListUtils.newArrayList(); + List totalList = ListUtils.newArrayList(); + totalListList.add(totalList); + BigDecimal total=new BigDecimal("0"); +// for(StoreSalesReportExcelVo i:StoreSalesVos){ +// total=total.add(i.getSalesVolume()); +// } + totalList.add(""); + totalList.add(""); + totalList.add(""); + totalList.add("统计:"); + totalList.add(String.valueOf(total)); + // 这里是write 别和fill 搞错了 + WriteSheet writeSheet1 = EasyExcel.writerSheet(3).build(); + excelWriter.write(totalListList,writeSheet1); + } +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostoreproduct/ReportSalesDayTobaccoStoreProductMapper.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostoreproduct/ReportSalesDayTobaccoStoreProductMapper.java new file mode 100644 index 00000000..6977c7be --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostoreproduct/ReportSalesDayTobaccoStoreProductMapper.java @@ -0,0 +1,21 @@ +package com.yxt.supervise.report.biz.reportsalesdaytobaccostoreproduct; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProduct; +import com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProductVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/4/21 11:18 + */ +@Mapper +public interface ReportSalesDayTobaccoStoreProductMapper extends BaseMapper { + List getReportSalesDayTobaccoStoreProduct(@Param(Constants.WRAPPER) Wrapper qw); + List getAllReportSalesDayTobaccoStoreProduct(@Param(Constants.WRAPPER) Wrapper qw); +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostoreproduct/ReportSalesDayTobaccoStoreProductMapper.xml b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostoreproduct/ReportSalesDayTobaccoStoreProductMapper.xml new file mode 100644 index 00000000..92cb57cd --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostoreproduct/ReportSalesDayTobaccoStoreProductMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + \ No newline at end of file diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostoreproduct/ReportSalesDayTobaccoStoreProductRest.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostoreproduct/ReportSalesDayTobaccoStoreProductRest.java new file mode 100644 index 00000000..e7abc1ed --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostoreproduct/ReportSalesDayTobaccoStoreProductRest.java @@ -0,0 +1,41 @@ +package com.yxt.supervise.report.biz.reportsalesdaytobaccostoreproduct; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.builder.ExcelWriterBuilder; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProductQuery; +import com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProductVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author wangpengfei + * @date 2023/4/21 11:18 + */ +@RestController +@RequestMapping("/reportsalesdaytobaccostoreproduct") +public class ReportSalesDayTobaccoStoreProductRest { + private static final String EXCEL_FILE_NAME="D:\\opt\\upFiles"+"\\门店销售明细报表"+ System.currentTimeMillis() +".xlsx"; + private static final String TEMPLATE_FILE_NAME="C:\\Users\\www19\\Desktop\\1.xlsx"; + + @Autowired + ReportSalesDayTobaccoStoreProductService ReportSalesDayTobaccoStoreProductService; + + @PostMapping("/getReportSalesDayTobaccoStoreProduct") + public ResultBean getReportSalesDayTobaccoStoreProduct(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + List pv = ReportSalesDayTobaccoStoreProductService.getReportSalesDayTobaccoStoreProduct(pq); + return rb.success().setData(pv); + } + +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostoreproduct/ReportSalesDayTobaccoStoreProductService.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostoreproduct/ReportSalesDayTobaccoStoreProductService.java new file mode 100644 index 00000000..f0232207 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostoreproduct/ReportSalesDayTobaccoStoreProductService.java @@ -0,0 +1,102 @@ +package com.yxt.supervise.report.biz.reportsalesdaytobaccostoreproduct; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.util.ListUtils; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductVo; +import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreQuery; +import com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProduct; +import com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProductQuery; +import com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProductVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +/** + * @author wangpengfei + * @date 2023/4/21 11:18 + */ +@Service +public class ReportSalesDayTobaccoStoreProductService extends MybatisBaseService { + + public List getReportSalesDayTobaccoStoreProduct(PagerQuery pq) { + ReportSalesDayTobaccoStoreProductQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if(query!=null) { + if (StringUtils.isNotBlank(query.getDate())) { + qw.eq("STR_TO_DATE(orderDate,'%Y-%m-%d')", query.getDate()); + } + } + //IPage page = PagerUtil.queryToPage(pq); + List pagging = baseMapper.getReportSalesDayTobaccoStoreProduct(qw); + //PagerVo p = PagerUtil.pageToVo(pagging, null); + return pagging; + } + public List getAllReportSalesDayTobaccoStoreProduct(String orderDate) { + ReportSalesDayTobaccoStoreProductQuery reportSalesDayTobaccoStoreProductQuery=new ReportSalesDayTobaccoStoreProductQuery(); + reportSalesDayTobaccoStoreProductQuery.setDate(orderDate); + PagerQuery pq=new PagerQuery<>(); + pq.setParams(reportSalesDayTobaccoStoreProductQuery); + ReportSalesDayTobaccoStoreProductQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if(query!=null) { + if (StringUtils.isNotBlank(query.getDate())) { + qw.eq("STR_TO_DATE(orderDate,'%Y-%m-%d')", query.getDate()); + } + } + List pagging = baseMapper.getReportSalesDayTobaccoStoreProduct(qw); + return pagging; + } + /** + * 烟草门店商品销售明细表 + * @param map + * @param excelWriter + * @param SalesVos + * @throws IOException + */ + public void exportReportSalesDayTobaccoStoreProduct(Map map, ExcelWriter excelWriter, ListSalesVos) throws IOException { + //得到所有要导出的数据 + WriteSheet writeSheetGood = EasyExcel.writerSheet(4).build(); + //填写数据 + excelWriter.fill(SalesVos, writeSheetGood); + //excelWriter.fill(goodsSalesReportExcelVos, writeSheetGood); + // 写入list之前的数据 +// Calendar cal = Calendar.getInstance(); +// Date date = new Date(); +// cal.setTime(date); +// SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd"); +// Integer month=cal.get(Calendar.MONTH)+1; +// +// excelWriter.fill(map, writeSheetGood); +// list 后面还有个统计 想办法手动写入 + List> totalListList1 = ListUtils.newArrayList(); + List totalList1 = ListUtils.newArrayList(); + totalListList1.add(totalList1); + BigDecimal total=new BigDecimal("0"); +// for(ReportSalesDayStoreProductVo i:goodsSalesReportExcelVos){ +// total=total.add(i.getTotal()); +// } + totalList1.add(""); + totalList1.add(""); + totalList1.add(""); + totalList1.add(""); + totalList1.add(""); + totalList1.add(""); + totalList1.add("统计:"); + if(SalesVos.get(0).getCountAmount().equals("")|| SalesVos.get(0).getCountAmount().equals(null)){ + totalList1.add("0"); + }else{ + totalList1.add(SalesVos.get(0).getCountAmount()); + } + // 这里是write 别和fill 搞错了 + excelWriter.write(totalListList1,writeSheetGood); + } +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/resources/application-devv.yml b/yxt_supervise/supervise-report/supervise-report-biz/src/main/resources/application-devv.yml new file mode 100644 index 00000000..4745fb37 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/resources/application-devv.yml @@ -0,0 +1,31 @@ +spring: + datasource: + hikari: + max-lifetime: 500000 + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://127.0.0.1:3306/supervise_report?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true + username: root + password: root + cloud: + nacos: + discovery: + server-addr: 127.0.0.1:8848 + redis: + database: 3 # Redis数据库索引(默认为0) + host: 127.0.0.1 + jedis: + pool: + max-active: -1 #连接池最大连接数(使用负值表示没有限制) + max-idle: 8 #连接池中的最大空闲连接 + max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制) + min-idle: 0 # 连接池中的最小空闲连接 + password: + port: 6379 + timeout: 0 # 连接超时时间(毫秒) + +image: + upload: + path: D:\supervise\upload\ + url: + prefix: http://127.0.0.1:8112/upload/ + diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/resources/application-pro.yml b/yxt_supervise/supervise-report/supervise-report-biz/src/main/resources/application-pro.yml new file mode 100644 index 00000000..10a8cd0c --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/resources/application-pro.yml @@ -0,0 +1,28 @@ +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://127.0.0.1:3306/supervise_report?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8 + username: root + password: root + cloud: + nacos: + discovery: + server-addr: 127.0.0.1:8848 + redis: + database: 3 # Redis数据库索引(默认为0) + host: 127.0.0.1 + jedis: + pool: + max-active: -1 #连接池最大连接数(使用负值表示没有限制) + max-idle: 8 #连接池中的最大空闲连接 + max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制) + min-idle: 0 # 连接池中的最小空闲连接 + password: 123456 + port: 6379 + timeout: 0 # 连接超时时间(毫秒) +image: + upload: + path: D:\supervise\upload\ + url: + prefix: http://127.0.0.1/api/upload/ + diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/resources/application-test.yml b/yxt_supervise/supervise-report/supervise-report-biz/src/main/resources/application-test.yml new file mode 100644 index 00000000..e4002e6f --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/resources/application-test.yml @@ -0,0 +1,31 @@ +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver +# url: jdbc:mysql://122.14.222.186:3306/supervise_crm?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true + url: jdbc:mysql://127.0.0.1:3306/supervise_report?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true + username: root + password: wang0403 + cloud: + nacos: + discovery: + server-addr: 127.0.0.1:8848 + redis: + database: 3 # Redis数据库索引(默认为0) + host: 127.0.0.1 + jedis: + pool: + max-active: -1 #连接池最大连接数(使用负值表示没有限制) + max-idle: 8 #连接池中的最大空闲连接 + max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制) + min-idle: 0 # 连接池中的最小空闲连接 + password: + port: 6379 + timeout: 0 # 连接超时时间(毫秒) + + +image: + upload: + path: D:/webapps/supervise/static/upload/ + url: + prefix: http://122.14.222.186:7003/upload/ + diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/resources/application.yml b/yxt_supervise/supervise-report/supervise-report-biz/src/main/resources/application.yml new file mode 100644 index 00000000..4a8b6ae5 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/resources/application.yml @@ -0,0 +1,47 @@ +spring: + application: + name: supervise-report + profiles: +# active: devv + active: test + messages: + # 国际化资源文件路径 + basename: i18n/messages + servlet: + #上传文件 + multipart: + max-file-size: 50MB + max-request-size: 100MB + devtools: + restart: + # 热部署开关 + enabled: true + + + +server: + port: 7009 + max-http-header-size: 102400 + undertow: + max-http-post-size: -1 + +#mybatis +mybatis-plus: + # 配置mapper的扫描,找到所有的mapper.xml映射文件 + mapper-locations: classpath*:**Mapper.xml + global-config: + refresh: true + db-config: + #定义生成ID的类型 + id-type: Auto + db-type: mysql + configuration: + map-underscore-to-camel-case: false + cache-enabled: true + call-setters-on-nulls: true + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + + + + + diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/resources/logback-spring.xml b/yxt_supervise/supervise-report/supervise-report-biz/src/main/resources/logback-spring.xml new file mode 100644 index 00000000..78ace769 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/resources/logback-spring.xml @@ -0,0 +1,50 @@ + + + + + + + + + + %yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n) + + + + + + + + + + + + + + + ${log.base}.log + + ${log.base}.%d{yyyyMMdd}.%i.log.zip + + + + 1MB + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} + -%msg%n + + + + + + + + + + \ No newline at end of file