Browse Source

36524报表

master
liupopo 2 years ago
parent
commit
89912820c0
  1. 44
      supervise-customer-ui/src/views/daydataupload/gdinventory/index.vue
  2. 1
      yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdinventoryok/GdInventoryOkService.java
  3. 3
      yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/feign/report/ReportInventoryFeign.java
  4. 16
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportinventory/ReportInventoryRest.java
  5. 38
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportinventory/ReportInventoryService.java
  6. 2
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/scheduling/InventoryTask.java
  7. 12
      yxt_supervise/supervise-report/supervise-report-biz/src/main/resources/application-devv.yml

44
supervise-customer-ui/src/views/daydataupload/gdinventory/index.vue

@ -35,10 +35,29 @@
<el-table-column prop="errRowNum" label="烟草商品数" align="center" width="200" />
<el-table-column label="操作" wid align="center">
<template slot-scope="scope">
<div v-if="scope.row.state==1"><el-tag type="info">正在导入数据库...</el-tag><el-button type="text" icon="el-icon-refresh" style="margin-left: 5px;" @click="loadList()"></el-button></div>
<div v-else-if="scope.row.state==2"><el-tag type="warning">正在创建报表...</el-tag><el-button type="text" icon="el-icon-refresh" style="margin-left: 5px;" @click="loadList()"></el-button></div>
<div v-else-if="scope.row.state==3"><el-tag type="success">正在生成Excel...</el-tag><el-button type="text" icon="el-icon-refresh" style="margin-left: 5px;" @click="loadList()"></el-button></div>
<el-button v-else-if="scope.row.state==4&&scope.row.fileUrl.length>1" type="text" @click="toDownload(scope.row)">下载库存日报表</el-button>
<div v-if="scope.row.state==1"><el-tag type="info">正在导入数据库...</el-tag><el-button
type="text"
icon="el-icon-refresh"
style="margin-left: 5px;"
@click="loadList()"
>刷新</el-button></div>
<div v-else-if="scope.row.state==2"><el-tag type="warning">正在创建报表...</el-tag><el-button
type="text"
icon="el-icon-refresh"
style="margin-left: 5px;"
@click="loadList()"
>刷新</el-button></div>
<div v-else-if="scope.row.state==3"><el-tag type="success">正在生成Excel...</el-tag><el-button
type="text"
icon="el-icon-refresh"
style="margin-left: 5px;"
@click="loadList()"
>刷新</el-button></div>
<div v-else-if="scope.row.state==4&&scope.row.fileUrl.length>1">
<el-button type="text" @click="toDownload(scope.row)">下载库存日报表</el-button>
<el-button type="text" @click="toDownloadKchz(scope.row)">下载门店商品总表</el-button>
<el-button type="text" @click="toDownloadKchzfb(scope.row)">下载门店商品分表压缩包</el-button>
</div>
<div v-else>没有报表文件</div>
</template>
</el-table-column>
@ -292,6 +311,22 @@
window.open(row.fileUrl, '_blank')
}
},
toDownloadKchz(row) {
const odate = row.orderDate
console.log('222', odate)
const tdate = odate.replaceAll('-', '')
console.log('222-tt', tdate)
const turl = 'https://supervise.yxtsoft.com/downfile/gd36524/门店商品库存' + tdate + '.xlsx'
window.open(turl, '_blank')
},
toDownloadKchzfb(row) {
const odate = row.orderDate
console.log('333', odate)
const tdate = odate.replaceAll('-', '')
console.log('333-tt', tdate)
const turl = 'https://supervise.yxtsoft.com/downfile/gd36524/门店商品库存' + tdate + '(分门店).zip'
window.open(turl, '_blank')
},
doDownloadHz() {
window.open(this.hzFilePath, '_blank')
// downloadhz({ filepath: this.hzFilePath })
@ -333,3 +368,4 @@
overflow-x: hidden;
}
</style>

1
yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdinventoryok/GdInventoryOkService.java

@ -185,6 +185,7 @@ public class GdInventoryOkService extends MybatisBaseService<GdInventoryOkMapper
gdInventoryLogService.updateById(gdlog);
gdInventoryLogService.buildExcelById(gdlog.getIdStr());
reportInventoryFeign.asyncXlsxMdspkc();
}
private RowHandler createRowHandler(GdInventoryLog gdlog) {

3
yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/feign/report/ReportInventoryFeign.java

@ -14,6 +14,9 @@ public interface ReportInventoryFeign {
@GetMapping("/kcReport")
public ResultBean kcReport(@RequestParam("orderDate") String orderDate);
@GetMapping("/asyncXlsxMdspkc")
public ResultBean asyncXlsxMdspkc();
}

16
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportinventory/ReportInventoryRest.java

@ -1,5 +1,6 @@
package com.yxt.supervise.report.biz.reportinventory;
import cn.hutool.core.thread.ThreadUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.report.api.reportinventorydaygather.ReportInventoryDayGatherFeign;
@ -87,9 +88,22 @@ public class ReportInventoryRest implements ReportInventoryDayGatherFeign {
* @return
*/
@GetMapping("/xlsxMdspkc")
public ResultBean<String> xlsxMdspkc() {
public ResultBean<List<String>> xlsxMdspkc() {
ResultBean rb = ResultBean.fireFail();
List<String> xlsxUrl = reportInventoryService.xlsxMdspkc();
return rb.success().setData(xlsxUrl);
}
/**
* 门店商品库存导出到Excel
*
* @return
*/
@GetMapping("/asyncXlsxMdspkc")
public ResultBean asyncXlsxMdspkc() {
ResultBean rb = ResultBean.fireFail();
ThreadUtil.execute(() -> reportInventoryService.xlsxMdspkc());
return rb.success();
}
}

38
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportinventory/ReportInventoryService.java

@ -3,6 +3,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 cn.hutool.core.util.ZipUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
@ -154,15 +155,52 @@ public class ReportInventoryService {
*/
public List<String> xlsxMdspkc() {
List<String> urlList = new ArrayList<>();
String currDay = DateUtil.format(new Date(), "yyyyMMdd");
String allUrl = xlsxMdspkcAll(currDay);
urlList.add(allUrl);
List<StoreVo> storeList = gdInventoryMapper.groupByStore();
for (StoreVo v : storeList) {
String url = xlsxMdspkcOfCodeDay(v.getWarehouseCode(), v.getWarehouseName(), currDay);
urlList.add(url);
}
zipStoreFile(currDay);
return urlList;
}
private void zipStoreFile(String day) {
String sourceDir = uploadPath + "gd36524/" + day;
String targetFile = uploadPath + "gd36524/" + "门店商品库存" + day + "(分门店).zip";
ZipUtil.zip(sourceDir, targetFile);
}
public String xlsxMdspkcAll(String day) {
String dayPath = uploadPath + "gd36524/";
FileUtil.mkdir(dayPath);
String fileName = "gd36524/" + "门店商品库存" + day + ".xlsx";
String filePath = uploadPath + fileName;
String fileUrl = urlPrefix + fileName;
List<GdInventory2Excel> listOk = gdInventoryMapper.xlsxInventoryOk();
List<GdInventory2Excel> listYc = gdInventoryMapper.xlsxInventoryYc();
try (ExcelWriter excelWriter = EasyExcel.write(filePath).build()) {
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;
}
public String xlsxMdspkcOfCodeDay(String storeCode, String storeName, String day) {
String dayPath = uploadPath + "gd36524/" + day;

2
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/scheduling/InventoryTask.java

@ -11,7 +11,7 @@ public class InventoryTask {
@Autowired
private ReportInventoryService reportInventoryService;
@Scheduled(cron = "0 0 23 * * ?")
// @Scheduled(cron = "0 0 23 * * ?")
public void kctj_mdspkc() {
reportInventoryService.xlsxMdspkc();
}

12
yxt_supervise/supervise-report/supervise-report-biz/src/main/resources/application-devv.yml

@ -6,14 +6,18 @@ spring:
datasource:
master:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://8.130.39.13:3306/supervise_report?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
# 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: 1LAiGz$t1*Iw
password: root
# password: 1LAiGz$t1*Iw
supplychain:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://8.130.39.13:3306/supervise_supplychain?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
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: 1LAiGz$t1*Iw
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

Loading…
Cancel
Save