Browse Source

36524库存以门店统计

master
liupopo 2 years ago
parent
commit
16beeae2da
  1. 25
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportinventory/ReportInventoryRest.java
  2. 38
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportinventory/ReportInventoryService.java
  3. 17
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/GdInventoryMapper.java
  4. 9
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/supplychain/StoreVo.java

25
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 org.springframework.web.bind.annotation.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
@RestController("com.yxt.supervise.report.biz.reportinventory.reportInventoryRest") @RestController("com.yxt.supervise.report.biz.reportinventory.reportInventoryRest")
@RequestMapping("/reportinventory") @RequestMapping("/reportinventory")
@ -29,41 +30,44 @@ public class ReportInventoryRest implements ReportInventoryDayGatherFeign {
@GetMapping("/kcReport") @GetMapping("/kcReport")
public ResultBean kcReport(@RequestParam("orderDate") String orderDate) { public ResultBean kcReport(@RequestParam("orderDate") String orderDate) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
if(StringUtils.isBlank(orderDate)){ if (StringUtils.isBlank(orderDate)) {
return rb.setMsg("数据日期不可为空"); return rb.setMsg("数据日期不可为空");
} }
if(10!=orderDate.length()) if (10 != orderDate.length())
return rb.setMsg("数据日期格式不正确"); return rb.setMsg("数据日期格式不正确");
reportInventoryService.buildInventoryReportByDay(orderDate); reportInventoryService.buildInventoryReportByDay(orderDate);
return rb.success(); return rb.success();
} }
// //
@GetMapping("/getReportInventoryDayGather/{orderDate}") @GetMapping("/getReportInventoryDayGather/{orderDate}")
public ResultBean<ReportInventoryDayGatherVo> getReportInventoryDayGather(@PathVariable("orderDate") String orderDate){ public ResultBean<ReportInventoryDayGatherVo> getReportInventoryDayGather(@PathVariable("orderDate") String orderDate) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
ReportInventoryDayGatherVo pv = reportInventoryDayGatherService.getReportInventoryDayGather(orderDate); ReportInventoryDayGatherVo pv = reportInventoryDayGatherService.getReportInventoryDayGather(orderDate);
if(null==pv){ if (null == pv) {
return rb.success().setData(new ArrayList<>()); 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质物库存汇总"); pv.setTitle("36524质物库存汇总");
return rb.success().setData(pv); return rb.success().setData(pv);
} }
@GetMapping("/getReportInventoryDayStore/{orderDate}") @GetMapping("/getReportInventoryDayStore/{orderDate}")
public ResultBean<ReportInventoryDayStoreVo> getReportInventoryDayStore(@PathVariable("orderDate") String orderDate){ public ResultBean<ReportInventoryDayStoreVo> getReportInventoryDayStore(@PathVariable("orderDate") String orderDate) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
ReportInventoryDayStoreVo pv = reportInventoryDayStoreService.getReportInventoryDayStore(orderDate); ReportInventoryDayStoreVo pv = reportInventoryDayStoreService.getReportInventoryDayStore(orderDate);
if(null==pv){ if (null == pv) {
return rb.success().setData(new ArrayList<>()); return rb.success().setData(new ArrayList<>());
} }
return rb.success().setData(pv); return rb.success().setData(pv);
} }
@GetMapping("/getReportInventoryDayToStore/{orderDate}") @GetMapping("/getReportInventoryDayToStore/{orderDate}")
public ResultBean<ReportInventoryDayTobaccoStoreVo> getReportInventoryDayToStore(@PathVariable("orderDate") String orderDate){ public ResultBean<ReportInventoryDayTobaccoStoreVo> getReportInventoryDayToStore(@PathVariable("orderDate") String orderDate) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
ReportInventoryDayTobaccoStoreVo pv = reportInventoryDayTobaccoStoreService.getReportInventoryDayToStore(orderDate); ReportInventoryDayTobaccoStoreVo pv = reportInventoryDayTobaccoStoreService.getReportInventoryDayToStore(orderDate);
if(null==pv){ if (null == pv) {
return rb.success().setData(new ArrayList<>()); return rb.success().setData(new ArrayList<>());
} }
return rb.success().setData(pv); return rb.success().setData(pv);
@ -79,12 +83,13 @@ public class ReportInventoryRest implements ReportInventoryDayGatherFeign {
/** /**
* 门店商品库存导出到Excel * 门店商品库存导出到Excel
*
* @return * @return
*/ */
@GetMapping("/xlsxMdspkc") @GetMapping("/xlsxMdspkc")
public ResultBean<String> xlsxMdspkc() { public ResultBean<String> xlsxMdspkc() {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String xlsxUrl = reportInventoryService.xlsxMdspkc(); List<String> xlsxUrl = reportInventoryService.xlsxMdspkc();
return rb.success().setData(xlsxUrl); return rb.success().setData(xlsxUrl);
} }
} }

38
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; package com.yxt.supervise.report.biz.reportinventory;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.thread.ThreadUtil;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter; 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.biz.wechat.WechatRest;
import com.yxt.supervise.report.ds.supplychain.GdInventory2Excel; import com.yxt.supervise.report.ds.supplychain.GdInventory2Excel;
import com.yxt.supervise.report.ds.supplychain.GdInventoryMapper; import com.yxt.supervise.report.ds.supplychain.GdInventoryMapper;
import com.yxt.supervise.report.ds.supplychain.StoreVo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
@ -16,6 +18,7 @@ import org.springframework.stereotype.Service;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -149,21 +152,38 @@ public class ReportInventoryService {
/** /**
* @return * @return
*/ */
public String xlsxMdspkc() { public List<String> xlsxMdspkc() {
List<String> urlList = new ArrayList<>();
String currDay = DateUtil.format(new Date(), "yyyyMMdd"); String currDay = DateUtil.format(new Date(), "yyyyMMdd");
String fileName = "gd36524/门店商品库存" + currDay + ".xlsx"; List<StoreVo> 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 filePath = uploadPath + fileName;
String fileUrl = urlPrefix + fileName; String fileUrl = urlPrefix + fileName;
List<GdInventory2Excel> listOk = gdInventoryMapper.xlsxInventoryOk(); List<GdInventory2Excel> listOk = gdInventoryMapper.xlsxInventoryOkByCode(storeCode);
List<GdInventory2Excel> listYc = gdInventoryMapper.xlsxInventoryYc(); List<GdInventory2Excel> listYc = gdInventoryMapper.xlsxInventoryYcByCode(storeCode);
try (ExcelWriter excelWriter = EasyExcel.write(filePath).build()) { try (ExcelWriter excelWriter = EasyExcel.write(filePath).build()) {
WriteSheet writeSheet0 = EasyExcel.writerSheet(0, "商品库存").head(GdInventory2Excel.class).build(); if (listOk != null && !listOk.isEmpty()) {
excelWriter.write(listOk, writeSheet0); WriteSheet writeSheet0 = EasyExcel.writerSheet(0, "商品库存").head(GdInventory2Excel.class).build();
WriteSheet writeSheet1 = EasyExcel.writerSheet(1, "烟草库存").head(GdInventory2Excel.class).build(); excelWriter.write(listOk, writeSheet0);
excelWriter.write(listYc, writeSheet1); }
if (listYc != null && !listYc.isEmpty()) {
WriteSheet writeSheet1 = EasyExcel.writerSheet(1, "烟草库存").head(GdInventory2Excel.class).build();
excelWriter.write(listYc, writeSheet1);
}
} }
return fileUrl; return fileUrl;
} }

17
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.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import java.util.List; import java.util.List;
@ -22,4 +23,20 @@ public interface GdInventoryMapper extends BaseMapper<GdInventoryOk> {
"where warehouseType=2 " + "where warehouseType=2 " +
"order by warehouseCode ") "order by warehouseCode ")
List<GdInventory2Excel> xlsxInventoryYc(); List<GdInventory2Excel> xlsxInventoryYc();
@Select("select warehouseCode, warehouseName, prodCode, prodBarCode, prodName, prodNum, prodValue " +
"from gd_inventory_ok " +
"where warehouseCode=#{storeCode} ")
List<GdInventory2Excel> xlsxInventoryOkByCode(@Param("storeCode") String storeCode);
@Select("select warehouseCode, warehouseName, prodCode, prodBarCode, prodName, prodNum, prodValue " +
"from gd_inventory_yc " +
"where warehouseCode=#{storeCode} ")
List<GdInventory2Excel> xlsxInventoryYcByCode(@Param("storeCode") String storeCode);
@Select("select warehouseCode, max(warehouseName) warehouseName " +
" from gd_inventory_ok " +
" where warehouseType =2 " +
" group by warehouseCode ")
List<StoreVo> groupByStore();
} }

9
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;
}
Loading…
Cancel
Save