From 409475bfe2012491395ea22685321d5800de5902 Mon Sep 17 00:00:00 2001 From: liupopo Date: Thu, 14 Sep 2023 18:05:44 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=A8=E5=BA=97=E5=95=86=E5=93=81=E5=BA=93?= =?UTF-8?q?=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reportinventory/ReportInventoryRest.java | 11 +++ .../ReportInventoryService.java | 47 +++++++++++- .../ds/supplychain/GdInventory2Excel.java | 76 +++++++++++++++++++ .../ds/supplychain/GdInventoryMapper.java | 25 ++++++ .../report/ds/supplychain/GdInventoryOk.java | 63 +++++++++++++++ .../report/scheduling/InventoryTask.java | 19 +++++ .../src/main/resources/application-devv.yml | 8 +- 7 files changed, 243 insertions(+), 6 deletions(-) create mode 100644 yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/GdInventory2Excel.java create mode 100644 yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/GdInventoryMapper.java create mode 100644 yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/GdInventoryOk.java create mode 100644 yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/scheduling/InventoryTask.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 12f90aed..141a8743 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 @@ -76,4 +76,15 @@ public class ReportInventoryRest implements ReportInventoryDayGatherFeign { String log = reportInventoryService.buildsExcelById(orderDate); return rb.success().setData(log); } + + /** + * 门店商品库存导出到Excel + * @return + */ + @GetMapping("/xlsxMdspkc") + public ResultBean xlsxMdspkc() { + ResultBean rb = ResultBean.fireFail(); + String 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 65a1149d..dc4ca56b 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,12 +1,23 @@ package com.yxt.supervise.report.biz.reportinventory; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.thread.ThreadUtil; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +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 org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import java.io.File; +import java.io.IOException; +import java.util.Date; import java.util.List; -import java.util.Map; @Service public class ReportInventoryService { @@ -34,9 +45,11 @@ public class ReportInventoryService { } }); } + public void sendMessage(String orderDate) throws Exception { wechatRest.inventorySendMessage(orderDate); } + public String buildsExcelById(String orderDate) { // long millis = System.currentTimeMillis(); // GdInventoryLog gdInventoryLog = baseMapper.selectById(logsid); @@ -120,8 +133,38 @@ public class ReportInventoryService { // gdInventoryLog.setRemarks(gdInventoryLog.getRemarks() + ";创建Excel用时:" + (System.currentTimeMillis() - millis)); // baseMapper.updateById(gdInventoryLog); //暂定直接拼url - String url="http://8.130.39.13:7003/upload/kchzb/库存汇总表"+orderDate+".xlsx"; + String url = "http://8.130.39.13:7003/upload/kchzb/库存汇总表" + orderDate + ".xlsx"; return url; } + + @Value("${image.upload.path:static/upload/}") + private String uploadPath; + @Value("${image.url.prefix:http://127.0.0.1:8080/upload/}") + private String urlPrefix; + + @Autowired + private GdInventoryMapper gdInventoryMapper; + + /** + * @return + */ + public String xlsxMdspkc() { + + String currDay = DateUtil.format(new Date(), "yyyyMMdd"); + String fileName = "gd36524/门店商品库存" + currDay + ".xlsx"; + String filePath = uploadPath + fileName; + String fileUrl = urlPrefix + fileName; + + List listOk = gdInventoryMapper.xlsxInventoryOk(); + List listYc = gdInventoryMapper.xlsxInventoryYc(); + + 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); + } + return fileUrl; + } } diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/GdInventory2Excel.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/GdInventory2Excel.java new file mode 100644 index 00000000..ef2298b6 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/GdInventory2Excel.java @@ -0,0 +1,76 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.supervise.report.ds.supplychain; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.EntityWithId; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + * Project: yxt_supervise
+ * File: GdInventoryOk.java
+ * Class: com.yxt.supervise.portal.biz.gdinventory.GdInventoryOk
+ * Description: <描述类的功能>.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022/11/30 20:17
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Getter +@Setter +@EqualsAndHashCode +//@ContentRowHeight(10) +//@HeadRowHeight(20) +@ColumnWidth(15) +public class GdInventory2Excel { + @ExcelProperty("门店编号") + private String warehouseCode; // 仓库/门店编号 + + @ColumnWidth(20) + @ExcelProperty("门店名称") + private String warehouseName; // 仓库/门店名称 + @ExcelProperty("商品编码") + private String prodCode; // 商品编码 + @ExcelProperty("商品条码") + private String prodBarCode; // 商品条码 + + @ColumnWidth(30) + @ExcelProperty("商品名称") + private String prodName; // 商品名称 + @ExcelProperty("商品数量") + private int prodNum; // 商品数量 + @ExcelProperty("商品货值") + private double prodValue; // 商品货值 +} 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 new file mode 100644 index 00000000..f1a8f984 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/GdInventoryMapper.java @@ -0,0 +1,25 @@ +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.Select; + +import java.util.List; + +@DS("supplychain") +@Mapper +public interface GdInventoryMapper extends BaseMapper { + + @Select("select warehouseCode, warehouseName, prodCode, prodBarCode, prodName, prodNum, prodValue " + + "from gd_inventory_ok " + + "where warehouseType=2 " + + "order by warehouseCode ") + List xlsxInventoryOk(); + + @Select("select warehouseCode, warehouseName, prodCode, prodBarCode, prodName, prodNum, prodValue " + + "from gd_inventory_yc " + + "where warehouseType=2 " + + "order by warehouseCode ") + List xlsxInventoryYc(); +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/GdInventoryOk.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/GdInventoryOk.java new file mode 100644 index 00000000..1a34153d --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/GdInventoryOk.java @@ -0,0 +1,63 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.supervise.report.ds.supplychain; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.EntityWithId; +import lombok.Data; + +/** + * Project: yxt_supervise
+ * File: GdInventoryOk.java
+ * Class: com.yxt.supervise.portal.biz.gdinventory.GdInventoryOk
+ * Description: <描述类的功能>.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022/11/30 20:17
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@TableName("gd_inventory_ok") +public class GdInventoryOk extends EntityWithId { + private String orgCode; // 企业组织机构代码证 + private String warehouseCode; // 仓库/门店编号 + private String warehouseName; // 仓库/门店名称 + private String prodCode; // 商品编码 + private String prodBarCode; // 商品条码 + private String prodName; // 商品名称 + private int warehouseType; // 仓库类型 + private int prodNum; // 商品数量 + private double prodValue; // 商品货值 + private String suppliderName; // 供应商 + private String datadate; // 数据日期 + private String typeCode; // 类别编号 + private String typeName; // 类别名称 + private String typeOne; // 一级类别名称 + private String typeTwo; // 二级类别名称 +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/scheduling/InventoryTask.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/scheduling/InventoryTask.java new file mode 100644 index 00000000..5accf8cc --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/scheduling/InventoryTask.java @@ -0,0 +1,19 @@ +package com.yxt.supervise.report.scheduling; + +import com.yxt.supervise.report.biz.reportinventory.ReportInventoryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +@Component +public class InventoryTask { + + @Autowired + private ReportInventoryService reportInventoryService; + + @Scheduled(cron = "0 0 23 * * ?") + public void kctj_mdspkc() { + reportInventoryService.xlsxMdspkc(); + } + +} 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 index 12fd8d70..e8ade503 100644 --- 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 @@ -6,14 +6,14 @@ spring: datasource: master: 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 + url: jdbc:mysql://8.130.39.13:3306/supervise_report?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true username: root - password: root + password: 1LAiGz$t1*Iw supplychain: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://127.0.0.1:3306/supervise_supplychain?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true + url: jdbc:mysql://8.130.39.13:3306/supervise_supplychain?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true username: root - password: root + password: 1LAiGz$t1*Iw warehouse: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://8.130.39.13:3306/warehouse2?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true