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 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<ReportInventoryDayGatherVo> getReportInventoryDayGather(@PathVariable("orderDate") String orderDate){
public ResultBean<ReportInventoryDayGatherVo> 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<ReportInventoryDayStoreVo> getReportInventoryDayStore(@PathVariable("orderDate") String orderDate){
public ResultBean<ReportInventoryDayStoreVo> 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<ReportInventoryDayTobaccoStoreVo> getReportInventoryDayToStore(@PathVariable("orderDate") String orderDate){
public ResultBean<ReportInventoryDayTobaccoStoreVo> 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<String> xlsxMdspkc() {
ResultBean rb = ResultBean.fireFail();
String xlsxUrl = reportInventoryService.xlsxMdspkc();
List<String> xlsxUrl = reportInventoryService.xlsxMdspkc();
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;
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<String> xlsxMdspkc() {
List<String> urlList = new ArrayList<>();
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 fileUrl = urlPrefix + fileName;
List<GdInventory2Excel> listOk = gdInventoryMapper.xlsxInventoryOk();
List<GdInventory2Excel> listYc = gdInventoryMapper.xlsxInventoryYc();
List<GdInventory2Excel> listOk = gdInventoryMapper.xlsxInventoryOkByCode(storeCode);
List<GdInventory2Excel> 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;
}

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.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<GdInventoryOk> {
"where warehouseType=2 " +
"order by warehouseCode ")
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