From 16beeae2da9cc7fb90b0feb30da1cd7ac046b1eb Mon Sep 17 00:00:00 2001 From: liupopo Date: Fri, 15 Sep 2023 18:44:54 +0800 Subject: [PATCH] =?UTF-8?q?36524=E5=BA=93=E5=AD=98=E4=BB=A5=E9=97=A8?= =?UTF-8?q?=E5=BA=97=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reportinventory/ReportInventoryRest.java | 25 +++++++----- .../ReportInventoryService.java | 38 ++++++++++++++----- .../ds/supplychain/GdInventoryMapper.java | 17 +++++++++ .../report/ds/supplychain/StoreVo.java | 9 +++++ 4 files changed, 70 insertions(+), 19 deletions(-) create mode 100644 yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/StoreVo.java diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportinventory/ReportInventoryRest.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportinventory/ReportInventoryRest.java index 141a8743..8e186cc2 100644 --- a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportinventory/ReportInventoryRest.java +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportinventory/ReportInventoryRest.java @@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; +import java.util.List; @RestController("com.yxt.supervise.report.biz.reportinventory.reportInventoryRest") @RequestMapping("/reportinventory") @@ -29,41 +30,44 @@ public class ReportInventoryRest implements ReportInventoryDayGatherFeign { @GetMapping("/kcReport") public ResultBean kcReport(@RequestParam("orderDate") String orderDate) { ResultBean rb = ResultBean.fireFail(); - if(StringUtils.isBlank(orderDate)){ + if (StringUtils.isBlank(orderDate)) { return rb.setMsg("数据日期不可为空"); } - if(10!=orderDate.length()) + if (10 != orderDate.length()) return rb.setMsg("数据日期格式不正确"); reportInventoryService.buildInventoryReportByDay(orderDate); return rb.success(); } + // @GetMapping("/getReportInventoryDayGather/{orderDate}") - public ResultBean getReportInventoryDayGather(@PathVariable("orderDate") String orderDate){ + public ResultBean getReportInventoryDayGather(@PathVariable("orderDate") String orderDate) { ResultBean rb = ResultBean.fireFail(); ReportInventoryDayGatherVo pv = reportInventoryDayGatherService.getReportInventoryDayGather(orderDate); - if(null==pv){ + if (null == pv) { return rb.success().setData(new ArrayList<>()); } - pv.setDownloadUrl("https://supervise.yxtsoft.com/downfile/kchzb/库存汇总表"+orderDate+".xlsx"); + pv.setDownloadUrl("https://supervise.yxtsoft.com/downfile/kchzb/库存汇总表" + orderDate + ".xlsx"); pv.setTitle("36524质物库存汇总"); return rb.success().setData(pv); } + @GetMapping("/getReportInventoryDayStore/{orderDate}") - public ResultBean getReportInventoryDayStore(@PathVariable("orderDate") String orderDate){ + public ResultBean getReportInventoryDayStore(@PathVariable("orderDate") String orderDate) { ResultBean rb = ResultBean.fireFail(); ReportInventoryDayStoreVo pv = reportInventoryDayStoreService.getReportInventoryDayStore(orderDate); - if(null==pv){ + if (null == pv) { return rb.success().setData(new ArrayList<>()); } return rb.success().setData(pv); } + @GetMapping("/getReportInventoryDayToStore/{orderDate}") - public ResultBean getReportInventoryDayToStore(@PathVariable("orderDate") String orderDate){ + public ResultBean getReportInventoryDayToStore(@PathVariable("orderDate") String orderDate) { ResultBean rb = ResultBean.fireFail(); ReportInventoryDayTobaccoStoreVo pv = reportInventoryDayTobaccoStoreService.getReportInventoryDayToStore(orderDate); - if(null==pv){ + if (null == pv) { return rb.success().setData(new ArrayList<>()); } return rb.success().setData(pv); @@ -79,12 +83,13 @@ public class ReportInventoryRest implements ReportInventoryDayGatherFeign { /** * 门店商品库存导出到Excel + * * @return */ @GetMapping("/xlsxMdspkc") public ResultBean xlsxMdspkc() { ResultBean rb = ResultBean.fireFail(); - String xlsxUrl = reportInventoryService.xlsxMdspkc(); + List xlsxUrl = reportInventoryService.xlsxMdspkc(); return rb.success().setData(xlsxUrl); } } diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportinventory/ReportInventoryService.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportinventory/ReportInventoryService.java index dc4ca56b..2d41e9d5 100644 --- a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportinventory/ReportInventoryService.java +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportinventory/ReportInventoryService.java @@ -1,6 +1,7 @@ package com.yxt.supervise.report.biz.reportinventory; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.io.FileUtil; import cn.hutool.core.thread.ThreadUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; @@ -9,6 +10,7 @@ import com.yxt.common.core.result.FileUploadResult; import com.yxt.supervise.report.biz.wechat.WechatRest; import com.yxt.supervise.report.ds.supplychain.GdInventory2Excel; import com.yxt.supervise.report.ds.supplychain.GdInventoryMapper; +import com.yxt.supervise.report.ds.supplychain.StoreVo; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -16,6 +18,7 @@ import org.springframework.stereotype.Service; import java.io.File; import java.io.IOException; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -149,21 +152,38 @@ public class ReportInventoryService { /** * @return */ - public String xlsxMdspkc() { - + public List xlsxMdspkc() { + List urlList = new ArrayList<>(); String currDay = DateUtil.format(new Date(), "yyyyMMdd"); - String fileName = "gd36524/门店商品库存" + currDay + ".xlsx"; + List storeList = gdInventoryMapper.groupByStore(); + for (StoreVo v : storeList) { + String url = xlsxMdspkcOfCodeDay(v.getWarehouseCode(), v.getWarehouseName(), currDay); + urlList.add(url); + } + return urlList; + } + + public String xlsxMdspkcOfCodeDay(String storeCode, String storeName, String day) { + + String dayPath = uploadPath + "gd36524/" + day; + FileUtil.mkdir(dayPath); + + String fileName = "gd36524/" + day + "/门店商品库存" + day + "(" + storeName + ")" + ".xlsx"; String filePath = uploadPath + fileName; String fileUrl = urlPrefix + fileName; - List listOk = gdInventoryMapper.xlsxInventoryOk(); - List listYc = gdInventoryMapper.xlsxInventoryYc(); + List listOk = gdInventoryMapper.xlsxInventoryOkByCode(storeCode); + List listYc = gdInventoryMapper.xlsxInventoryYcByCode(storeCode); try (ExcelWriter excelWriter = EasyExcel.write(filePath).build()) { - WriteSheet writeSheet0 = EasyExcel.writerSheet(0, "商品库存").head(GdInventory2Excel.class).build(); - excelWriter.write(listOk, writeSheet0); - WriteSheet writeSheet1 = EasyExcel.writerSheet(1, "烟草库存").head(GdInventory2Excel.class).build(); - excelWriter.write(listYc, writeSheet1); + if (listOk != null && !listOk.isEmpty()) { + WriteSheet writeSheet0 = EasyExcel.writerSheet(0, "商品库存").head(GdInventory2Excel.class).build(); + excelWriter.write(listOk, writeSheet0); + } + if (listYc != null && !listYc.isEmpty()) { + WriteSheet writeSheet1 = EasyExcel.writerSheet(1, "烟草库存").head(GdInventory2Excel.class).build(); + excelWriter.write(listYc, writeSheet1); + } } return fileUrl; } diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/GdInventoryMapper.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/GdInventoryMapper.java index f1a8f984..836ab3fe 100644 --- a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/GdInventoryMapper.java +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/GdInventoryMapper.java @@ -3,6 +3,7 @@ package com.yxt.supervise.report.ds.supplychain; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; @@ -22,4 +23,20 @@ public interface GdInventoryMapper extends BaseMapper { "where warehouseType=2 " + "order by warehouseCode ") List xlsxInventoryYc(); + + @Select("select warehouseCode, warehouseName, prodCode, prodBarCode, prodName, prodNum, prodValue " + + "from gd_inventory_ok " + + "where warehouseCode=#{storeCode} ") + List xlsxInventoryOkByCode(@Param("storeCode") String storeCode); + + @Select("select warehouseCode, warehouseName, prodCode, prodBarCode, prodName, prodNum, prodValue " + + "from gd_inventory_yc " + + "where warehouseCode=#{storeCode} ") + List xlsxInventoryYcByCode(@Param("storeCode") String storeCode); + + @Select("select warehouseCode, max(warehouseName) warehouseName " + + " from gd_inventory_ok " + + " where warehouseType =2 " + + " group by warehouseCode ") + List groupByStore(); } diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/StoreVo.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/StoreVo.java new file mode 100644 index 00000000..83c44cbb --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/StoreVo.java @@ -0,0 +1,9 @@ +package com.yxt.supervise.report.ds.supplychain; + +import lombok.Data; + +@Data +public class StoreVo { + private String warehouseCode; + private String warehouseName; +}