From 0f757cc005281b386a453621abae2c5881ff08b8 Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Wed, 29 Mar 2023 18:00:00 +0800 Subject: [PATCH] =?UTF-8?q?=E9=94=80=E5=94=AE=E6=95=B0=E6=8D=AE=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E3=80=81=E5=85=A5=E5=BA=93=E6=95=B0=E6=8D=AE=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E6=9F=A5=E8=AF=A2=E3=80=81=E5=85=A5=E5=BA=93=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/gdinstoragegd/GdInstorageGd.java | 71 +++++++++++++++ .../gdinstoragegd/GdInstorageGdDetailsVo.java | 67 ++++++++++++++ .../api/gdinstoragegd/GdInstorageGdDto.java | 67 ++++++++++++++ .../gdinstoragegd/GdInstorageGdExcelVo.java | 37 ++++++++ .../api/gdinstoragegd/GdInstorageGdFeign.java | 29 +++++++ .../GdInstorageGdFeignFallback.java | 21 +++++ .../api/gdinstoragegd/GdInstorageGdQuery.java | 71 +++++++++++++++ .../api/gdinstoragegd/GdInstorageGdVo.java | 67 ++++++++++++++ .../customer/api/gdsales/GdSalesExcelVo.java | 83 ++++++++++++++++++ .../customer/api/gdsales/GdSalesFeign.java | 3 + .../customer/api/gdsales/GdSalesQuery.java | 10 +++ .../customer/api/gdsales/GdSalesVo.java | 65 ++++++++------ .../gdinstoragegd/GdInstorageGdMapper.java | 24 +++++ .../biz/gdinstoragegd/GdInstorageGdMapper.xml | 42 +++++++++ .../biz/gdinstoragegd/GdInstorageGdRest.java | 56 ++++++++++++ .../gdinstoragegd/GdInstorageGdService.java | 87 +++++++++++++++++++ .../customer/biz/gdsales/GdSalesMapper.java | 3 +- .../customer/biz/gdsales/GdSalesMapper.xml | 15 ++-- .../customer/biz/gdsales/GdSalesRest.java | 50 ++++++----- .../customer/biz/gdsales/GdSalesService.java | 55 +++++++----- 20 files changed, 847 insertions(+), 76 deletions(-) create mode 100644 yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGd.java create mode 100644 yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdDetailsVo.java create mode 100644 yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdDto.java create mode 100644 yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdExcelVo.java create mode 100644 yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdFeign.java create mode 100644 yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdFeignFallback.java create mode 100644 yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdQuery.java create mode 100644 yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdVo.java create mode 100644 yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdsales/GdSalesExcelVo.java create mode 100644 yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdinstoragegd/GdInstorageGdMapper.java create mode 100644 yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdinstoragegd/GdInstorageGdMapper.xml create mode 100644 yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdinstoragegd/GdInstorageGdRest.java create mode 100644 yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdinstoragegd/GdInstorageGdService.java diff --git a/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGd.java b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGd.java new file mode 100644 index 00000000..d3b9dba5 --- /dev/null +++ b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGd.java @@ -0,0 +1,71 @@ +package com.yxt.supervise.customer.api.gdinstoragegd; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/3/29 13:34 + */ +@Data +@ApiModel(value = "入库数据", description = "入库数据") +@TableName("gd_instorage_gd") +public class GdInstorageGd extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("企业组织机构代码证") + private String cola0; // 企业组织机构代码证 + @ApiModelProperty("仓库/门店编号") + private String colb1; // 仓库/门店编号 + @ApiModelProperty("仓库/门店名称") + private String colc2; // 仓库/门店名称 + @ApiModelProperty("入库时间") + private String cold3; // 入库时间 + @ApiModelProperty("供应商编号") + private String colex; // 供应商编号 + @ApiModelProperty("供应商名称") + private String cole4; // 供应商名称 + @ApiModelProperty("单据号") + private String colf5; // 单据号 + @ApiModelProperty("单据类型") + private String colg6; // 单据类型 + @ApiModelProperty("货号") + private String colh7; // 货号 + @ApiModelProperty("商品名称") + private String coli8; // 商品名称 + @ApiModelProperty("商品生产日期") + private String colj9; // 商品生产日期 + @ApiModelProperty("商品保质期") + private String colk10; // 商品保质期 + @ApiModelProperty("商品规格") + private String coll11; // 商品规格 + @ApiModelProperty("类别编号") + private String colm12; // 类别编号 + @ApiModelProperty("类别名称") + private String coln13; // 类别名称 + @ApiModelProperty("一级类别名称") + private String colo14; // 一级类别名称 + @ApiModelProperty("二级类别名称") + private String colp15; // 二级类别名称 + @ApiModelProperty("入库金额") + private String colq16; // 入库金额 + @ApiModelProperty("入库数量") + private String colr17; // 入库数量 + @ApiModelProperty("成本金额") + private String cols18; // 成本金额 + @ApiModelProperty("成本税额") + private String colt19; // 成本税额 + @ApiModelProperty("不含税成本") + private String colu20; // 不含税成本 + @ApiModelProperty("进项税率") + private String colv21; // 进项税率 + @ApiModelProperty("单据日期") + private String orderDate; // 单据日期 + @ApiModelProperty("供货商编码统一") + private String supplierCodeUnified; // 供货商编码统一 + @ApiModelProperty("入库定单号") + private String inOrderNo; // 入库定单号 +} diff --git a/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdDetailsVo.java b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdDetailsVo.java new file mode 100644 index 00000000..5911207d --- /dev/null +++ b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdDetailsVo.java @@ -0,0 +1,67 @@ +package com.yxt.supervise.customer.api.gdinstoragegd; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/3/29 13:40 + */ +@Data +@ApiModel(value = "入库数据 视图数据详情", description = "入库数据 视图数据详情") +public class GdInstorageGdDetailsVo implements Vo { + @ApiModelProperty("企业组织机构代码证") + private String cola0; // 企业组织机构代码证 + @ApiModelProperty("仓库/门店编号") + private String colb1; // 仓库/门店编号 + @ApiModelProperty("仓库/门店名称") + private String colc2; // 仓库/门店名称 + @ApiModelProperty("入库时间") + private String cold3; // 入库时间 + @ApiModelProperty("供应商编号") + private String colex; // 供应商编号 + @ApiModelProperty("供应商名称") + private String cole4; // 供应商名称 + @ApiModelProperty("单据号") + private String colf5; // 单据号 + @ApiModelProperty("单据类型") + private String colg6; // 单据类型 + @ApiModelProperty("货号") + private String colh7; // 货号 + @ApiModelProperty("商品名称") + private String coli8; // 商品名称 + @ApiModelProperty("商品生产日期") + private String colj9; // 商品生产日期 + @ApiModelProperty("商品保质期") + private String colk10; // 商品保质期 + @ApiModelProperty("商品规格") + private String coll11; // 商品规格 + @ApiModelProperty("类别编号") + private String colm12; // 类别编号 + @ApiModelProperty("类别名称") + private String coln13; // 类别名称 + @ApiModelProperty("一级类别名称") + private String colo14; // 一级类别名称 + @ApiModelProperty("二级类别名称") + private String colp15; // 二级类别名称 + @ApiModelProperty("入库金额") + private String colq16; // 入库金额 + @ApiModelProperty("入库数量") + private String colr17; // 入库数量 + @ApiModelProperty("成本金额") + private String cols18; // 成本金额 + @ApiModelProperty("成本税额") + private String colt19; // 成本税额 + @ApiModelProperty("不含税成本") + private String colu20; // 不含税成本 + @ApiModelProperty("进项税率") + private String colv21; // 进项税率 + @ApiModelProperty("单据日期") + private String orderDate; // 单据日期 + @ApiModelProperty("供货商编码统一") + private String supplierCodeUnified; // 供货商编码统一 + @ApiModelProperty("入库定单号") + private String inOrderNo; // 入库定单号 +} diff --git a/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdDto.java b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdDto.java new file mode 100644 index 00000000..42d23563 --- /dev/null +++ b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdDto.java @@ -0,0 +1,67 @@ +package com.yxt.supervise.customer.api.gdinstoragegd; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/3/29 13:46 + */ +@Data +@ApiModel(value = "入库数据 数据传输对象", description = "入库数据 数据传输对象") +public class GdInstorageGdDto implements Dto { + @ApiModelProperty("企业组织机构代码证") + private String cola0; // 企业组织机构代码证 + @ApiModelProperty("仓库/门店编号") + private String colb1; // 仓库/门店编号 + @ApiModelProperty("仓库/门店名称") + private String colc2; // 仓库/门店名称 + @ApiModelProperty("入库时间") + private String cold3; // 入库时间 + @ApiModelProperty("供应商编号") + private String colex; // 供应商编号 + @ApiModelProperty("供应商名称") + private String cole4; // 供应商名称 + @ApiModelProperty("单据号") + private String colf5; // 单据号 + @ApiModelProperty("单据类型") + private String colg6; // 单据类型 + @ApiModelProperty("货号") + private String colh7; // 货号 + @ApiModelProperty("商品名称") + private String coli8; // 商品名称 + @ApiModelProperty("商品生产日期") + private String colj9; // 商品生产日期 + @ApiModelProperty("商品保质期") + private String colk10; // 商品保质期 + @ApiModelProperty("商品规格") + private String coll11; // 商品规格 + @ApiModelProperty("类别编号") + private String colm12; // 类别编号 + @ApiModelProperty("类别名称") + private String coln13; // 类别名称 + @ApiModelProperty("一级类别名称") + private String colo14; // 一级类别名称 + @ApiModelProperty("二级类别名称") + private String colp15; // 二级类别名称 + @ApiModelProperty("入库金额") + private String colq16; // 入库金额 + @ApiModelProperty("入库数量") + private String colr17; // 入库数量 + @ApiModelProperty("成本金额") + private String cols18; // 成本金额 + @ApiModelProperty("成本税额") + private String colt19; // 成本税额 + @ApiModelProperty("不含税成本") + private String colu20; // 不含税成本 + @ApiModelProperty("进项税率") + private String colv21; // 进项税率 + @ApiModelProperty("单据日期") + private String orderDate; // 单据日期 + @ApiModelProperty("供货商编码统一") + private String supplierCodeUnified; // 供货商编码统一 + @ApiModelProperty("入库定单号") + private String inOrderNo; // 入库定单号 +} diff --git a/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdExcelVo.java b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdExcelVo.java new file mode 100644 index 00000000..c91e456c --- /dev/null +++ b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdExcelVo.java @@ -0,0 +1,37 @@ +package com.yxt.supervise.customer.api.gdinstoragegd; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/3/29 14:56 + */ +@Data +@ApiModel(value = "入库数据 Excel视图数据对象", description = "入库数据 Excel视图数据对象") +public class GdInstorageGdExcelVo implements Vo { + @ExcelProperty(value = "仓库/门店名称") + @ApiModelProperty("仓库/门店名称") + private String colc2; // 仓库/门店名称 + @ApiModelProperty("入库时间") + @ExcelProperty(value = "入库时间") + private String cold3; // 入库时间 + @ApiModelProperty("商品名称") + @ExcelProperty(value = "商品名称") + private String coli8; // 商品名称 + @ExcelProperty(value = "商品规格") + @ApiModelProperty("商品规格") + private String coll11; // 商品规格 + @ExcelProperty(value = "类别编号") + @ApiModelProperty("类别编号") + private String colm12; // 类别编号 + @ExcelProperty(value = "类别名称") + @ApiModelProperty("类别名称") + private String coln13; // 类别名称 + @ExcelProperty(value = "入库数量") + @ApiModelProperty("入库数量") + private String colr17; // 入库数量 +} diff --git a/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdFeign.java b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdFeign.java new file mode 100644 index 00000000..c675d12c --- /dev/null +++ b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdFeign.java @@ -0,0 +1,29 @@ +package com.yxt.supervise.customer.api.gdinstoragegd; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * @author wangpengfei + * @date 2023/3/29 13:47 + */ +@Api(tags = "入库数据") +@FeignClient( + contextId = "yxt-supervise-GdInstorageGdData", + name = "yxt-supervise", + path = "v1/gdinstoragegd", + fallback = GdInstorageGdFeignFallback.class) +public interface GdInstorageGdFeign { + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + @ResponseBody + public ResultBean> listPage(@RequestBody PagerQuery pq); + +} diff --git a/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdFeignFallback.java b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdFeignFallback.java new file mode 100644 index 00000000..77e0d27a --- /dev/null +++ b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdFeignFallback.java @@ -0,0 +1,21 @@ +package com.yxt.supervise.customer.api.gdinstoragegd; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.stereotype.Component; + +/** + * @author wangpengfei + * @date 2023/3/29 13:48 + */ +@Component +public class GdInstorageGdFeignFallback implements GdInstorageGdFeign{ + + @Override + public ResultBean> listPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口yxt-supervise/gdinstoragegd/listPage无法访问"); + + } +} diff --git a/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdQuery.java b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdQuery.java new file mode 100644 index 00000000..9ed4f457 --- /dev/null +++ b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdQuery.java @@ -0,0 +1,71 @@ +package com.yxt.supervise.customer.api.gdinstoragegd; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/3/29 13:50 + */ +@Data +@ApiModel(value = "入库数据 查询条件", description = "入库数据 查询条件") +public class GdInstorageGdQuery implements Query { + @ApiModelProperty("企业组织机构代码证") + private String cola0; // 企业组织机构代码证 + @ApiModelProperty("仓库/门店编号") + private String colb1; // 仓库/门店编号 + @ApiModelProperty("仓库/门店名称") + private String colc2; // 仓库/门店名称 + @ApiModelProperty("入库时间") + private String cold3; // 入库时间 + @ApiModelProperty("供应商编号") + private String colex; // 供应商编号 + @ApiModelProperty("供应商名称") + private String cole4; // 供应商名称 + @ApiModelProperty("单据号") + private String colf5; // 单据号 + @ApiModelProperty("单据类型") + private String colg6; // 单据类型 + @ApiModelProperty("货号") + private String colh7; // 货号 + @ApiModelProperty("商品名称") + private String coli8; // 商品名称 + @ApiModelProperty("商品生产日期") + private String colj9; // 商品生产日期 + @ApiModelProperty("商品保质期") + private String colk10; // 商品保质期 + @ApiModelProperty("商品规格") + private String coll11; // 商品规格 + @ApiModelProperty("类别编号") + private String colm12; // 类别编号 + @ApiModelProperty("类别名称") + private String coln13; // 类别名称 + @ApiModelProperty("一级类别名称") + private String colo14; // 一级类别名称 + @ApiModelProperty("二级类别名称") + private String colp15; // 二级类别名称 + @ApiModelProperty("入库金额") + private String colq16; // 入库金额 + @ApiModelProperty("入库数量") + private String colr17; // 入库数量 + @ApiModelProperty("成本金额") + private String cols18; // 成本金额 + @ApiModelProperty("成本税额") + private String colt19; // 成本税额 + @ApiModelProperty("不含税成本") + private String colu20; // 不含税成本 + @ApiModelProperty("进项税率") + private String colv21; // 进项税率 + @ApiModelProperty("单据日期") + private String orderDate; // 单据日期 + @ApiModelProperty("供货商编码统一") + private String supplierCodeUnified; // 供货商编码统一 + @ApiModelProperty("入库定单号") + private String inOrderNo; // 入库定单号 + @ApiModelProperty("开始时间") + private String startTime; + @ApiModelProperty("结束时间") + private String endTime; +} diff --git a/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdVo.java b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdVo.java new file mode 100644 index 00000000..d79f2a09 --- /dev/null +++ b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdinstoragegd/GdInstorageGdVo.java @@ -0,0 +1,67 @@ +package com.yxt.supervise.customer.api.gdinstoragegd; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/3/29 13:51 + */ +@Data +@ApiModel(value = "入库数据 视图数据对象", description = "入库数据 视图数据对象") +public class GdInstorageGdVo implements Vo { + @ApiModelProperty("企业组织机构代码证") + private String cola0; // 企业组织机构代码证 + @ApiModelProperty("仓库/门店编号") + private String colb1; // 仓库/门店编号 + @ApiModelProperty("仓库/门店名称") + private String colc2; // 仓库/门店名称 + @ApiModelProperty("入库时间") + private String cold3; // 入库时间 + @ApiModelProperty("供应商编号") + private String colex; // 供应商编号 + @ApiModelProperty("供应商名称") + private String cole4; // 供应商名称 + @ApiModelProperty("单据号") + private String colf5; // 单据号 + @ApiModelProperty("单据类型") + private String colg6; // 单据类型 + @ApiModelProperty("货号") + private String colh7; // 货号 + @ApiModelProperty("商品名称") + private String coli8; // 商品名称 + @ApiModelProperty("商品生产日期") + private String colj9; // 商品生产日期 + @ApiModelProperty("商品保质期") + private String colk10; // 商品保质期 + @ApiModelProperty("商品规格") + private String coll11; // 商品规格 + @ApiModelProperty("类别编号") + private String colm12; // 类别编号 + @ApiModelProperty("类别名称") + private String coln13; // 类别名称 + @ApiModelProperty("一级类别名称") + private String colo14; // 一级类别名称 + @ApiModelProperty("二级类别名称") + private String colp15; // 二级类别名称 + @ApiModelProperty("入库金额") + private String colq16; // 入库金额 + @ApiModelProperty("入库数量") + private String colr17; // 入库数量 + @ApiModelProperty("成本金额") + private String cols18; // 成本金额 + @ApiModelProperty("成本税额") + private String colt19; // 成本税额 + @ApiModelProperty("不含税成本") + private String colu20; // 不含税成本 + @ApiModelProperty("进项税率") + private String colv21; // 进项税率 + @ApiModelProperty("单据日期") + private String orderDate; // 单据日期 + @ApiModelProperty("供货商编码统一") + private String supplierCodeUnified; // 供货商编码统一 + @ApiModelProperty("入库定单号") + private String inOrderNo; // 入库定单号 +} diff --git a/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdsales/GdSalesExcelVo.java b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdsales/GdSalesExcelVo.java new file mode 100644 index 00000000..f62cd40c --- /dev/null +++ b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdsales/GdSalesExcelVo.java @@ -0,0 +1,83 @@ +package com.yxt.supervise.customer.api.gdsales; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * @author wangpengfei + * @date 2023/3/29 10:43 + */ +@Data +@ApiModel(value = "销售数据 导出excel视图数据对象", description = "销售数据 导出excel视图数据对象") +public class GdSalesExcelVo implements Vo { + // private String sid; // sid +// +// @ApiModelProperty("创建者") +// private String createSid; // 创建者 +// @ApiModelProperty("更新者") +// private String modifySid; // 更新者 + @ExcelProperty(value = "销售订单号") + @ApiModelProperty("销售订单号") + private String code; // 销售订单号 + @ExcelProperty(value = "商品编码") + @ApiModelProperty("商品编码") + private String prodCode; // 商品编码 + // @ApiModelProperty("商品条码") +// private String prodBarCode; // 商品条码 + @ExcelProperty(value = "商品名称") + @ApiModelProperty("商品名称") + private String prodName; // 商品名称 + @ExcelProperty(value = "销售数量") + @ApiModelProperty("销售数量") + private String saleNum; // 销售数量 + // @ApiModelProperty("销售渠道") +// private String storeCode; // 销售渠道 + @ExcelProperty(value = "销售渠道") + @ApiModelProperty("销售渠道名称") + private String storeName; // 销售渠道名称 + // @ApiModelProperty("销售价格") +// private String salePrice; // 销售价格 +// @ApiModelProperty("销售成本") +// private String saleCost; // 销售成本 +// @ApiModelProperty("利润") +// private String profit; // 利润 + @ExcelProperty(value = "数据日期") + @ApiModelProperty("数据日期") + private String dataDate; // 数据日期 + @ExcelProperty(value = "类型") + @ApiModelProperty("类型") + private String orderType; // 类型 + // @ApiModelProperty("客户代码") +// private String customerCode; // 客户代码 +// @ApiModelProperty("客户名称") +// private String customerName; // 客户名称 + @ExcelProperty(value = "品牌编码") + @ApiModelProperty("品牌代码") + private String brandCode; // 品牌代码 + @ExcelProperty(value = "品牌名称") + @ApiModelProperty("品牌名称") + private String brandName; // 品牌名称 + // @ApiModelProperty("大类") +// private String categoryb; // 大类 +// @ApiModelProperty("种类") +// private String categorym; // 种类 +// @ApiModelProperty("小类") +// private String categorys; // 小类 + @ExcelProperty(value = "总价") + @ApiModelProperty("总价") + private String total; + + public void setSaleNum(String saleNum){ + int i=saleNum.indexOf("."); + if(i!=-1){ + String num=saleNum.substring(0,i); + this.saleNum=num; + }else{ + this.saleNum=saleNum; + } + } +} diff --git a/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdsales/GdSalesFeign.java b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdsales/GdSalesFeign.java index f4d073ff..aa389352 100644 --- a/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdsales/GdSalesFeign.java +++ b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdsales/GdSalesFeign.java @@ -10,6 +10,9 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + /** * @author wangpengfei * @date 2023/3/28 15:19 diff --git a/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdsales/GdSalesQuery.java b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdsales/GdSalesQuery.java index 7dacc62f..466dff1a 100644 --- a/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdsales/GdSalesQuery.java +++ b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdsales/GdSalesQuery.java @@ -59,4 +59,14 @@ public class GdSalesQuery implements Query { private String startTime; //结束时间 private String endTime; + public void setSaleNum(String saleNum){ + int i=saleNum.indexOf("."); + if(i!=-1){ + String num=saleNum.substring(0,i); + this.saleNum=num; + }else{ + this.saleNum=saleNum; + } + } + } diff --git a/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdsales/GdSalesVo.java b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdsales/GdSalesVo.java index f88dab61..501d5715 100644 --- a/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdsales/GdSalesVo.java +++ b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/gdsales/GdSalesVo.java @@ -1,5 +1,6 @@ package com.yxt.supervise.customer.api.gdsales; +import com.alibaba.excel.annotation.ExcelProperty; import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -12,56 +13,66 @@ import lombok.Data; @Data @ApiModel(value = "销售数据 视图数据对象", description = "销售数据 视图数据对象") public class GdSalesVo implements Vo { - private String sid; // sid - - @ApiModelProperty("创建者") - private String createSid; // 创建者 - @ApiModelProperty("更新者") - private String modifySid; // 更新者 +// private String sid; // sid +// +// @ApiModelProperty("创建者") +// private String createSid; // 创建者 +// @ApiModelProperty("更新者") +// private String modifySid; // 更新者 + @ExcelProperty(value = "销售订单号") @ApiModelProperty("销售订单号") private String code; // 销售订单号 + @ExcelProperty(value = "商品编码") @ApiModelProperty("商品编码") private String prodCode; // 商品编码 - @ApiModelProperty("商品条码") - private String prodBarCode; // 商品条码 +// @ApiModelProperty("商品条码") +// private String prodBarCode; // 商品条码 + @ExcelProperty(value = "商品名称") @ApiModelProperty("商品名称") private String prodName; // 商品名称 + @ExcelProperty(value = "销售数量") @ApiModelProperty("销售数量") private String saleNum; // 销售数量 - @ApiModelProperty("销售渠道") - private String storeCode; // 销售渠道 +// @ApiModelProperty("销售渠道") +// private String storeCode; // 销售渠道 + @ExcelProperty(value = "销售渠道") @ApiModelProperty("销售渠道名称") private String storeName; // 销售渠道名称 - @ApiModelProperty("销售价格") - private String salePrice; // 销售价格 - @ApiModelProperty("销售成本") - private String saleCost; // 销售成本 - @ApiModelProperty("利润") - private String profit; // 利润 +// @ApiModelProperty("销售价格") +// private String salePrice; // 销售价格 +// @ApiModelProperty("销售成本") +// private String saleCost; // 销售成本 +// @ApiModelProperty("利润") +// private String profit; // 利润 + @ExcelProperty(value = "数据日期") @ApiModelProperty("数据日期") private String dataDate; // 数据日期 + @ExcelProperty(value = "数据日期") @ApiModelProperty("类型") private String orderType; // 类型 - @ApiModelProperty("客户代码") - private String customerCode; // 客户代码 - @ApiModelProperty("客户名称") - private String customerName; // 客户名称 +// @ApiModelProperty("客户代码") +// private String customerCode; // 客户代码 +// @ApiModelProperty("客户名称") +// private String customerName; // 客户名称 + @ExcelProperty(value = "品牌编码") @ApiModelProperty("品牌代码") private String brandCode; // 品牌代码 + @ExcelProperty(value = "品牌名称") @ApiModelProperty("品牌名称") private String brandName; // 品牌名称 - @ApiModelProperty("大类") - private String categoryb; // 大类 - @ApiModelProperty("种类") - private String categorym; // 种类 - @ApiModelProperty("小类") - private String categorys; // 小类 +// @ApiModelProperty("大类") +// private String categoryb; // 大类 +// @ApiModelProperty("种类") +// private String categorym; // 种类 +// @ApiModelProperty("小类") +// private String categorys; // 小类 + @ExcelProperty(value = "总价") @ApiModelProperty("总价") private String total; public void setSaleNum(String saleNum){ int i=saleNum.indexOf("."); - if(i!=0){ + if(i!=-1){ String num=saleNum.substring(0,i); this.saleNum=num; }else{ diff --git a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdinstoragegd/GdInstorageGdMapper.java b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdinstoragegd/GdInstorageGdMapper.java new file mode 100644 index 00000000..abba2c59 --- /dev/null +++ b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdinstoragegd/GdInstorageGdMapper.java @@ -0,0 +1,24 @@ +package com.yxt.supervise.customer.biz.gdinstoragegd; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.supervise.customer.api.gdinstoragegd.GdInstorageGd; +import com.yxt.supervise.customer.api.gdinstoragegd.GdInstorageGdExcelVo; +import com.yxt.supervise.customer.api.gdinstoragegd.GdInstorageGdVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/3/29 13:57 + */ +@Mapper +public interface GdInstorageGdMapper extends BaseMapper { + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + List exportExcel(@Param(Constants.WRAPPER) Wrapper qw); +} diff --git a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdinstoragegd/GdInstorageGdMapper.xml b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdinstoragegd/GdInstorageGdMapper.xml new file mode 100644 index 00000000..d31e8c77 --- /dev/null +++ b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdinstoragegd/GdInstorageGdMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + \ No newline at end of file diff --git a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdinstoragegd/GdInstorageGdRest.java b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdinstoragegd/GdInstorageGdRest.java new file mode 100644 index 00000000..0dee68da --- /dev/null +++ b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdinstoragegd/GdInstorageGdRest.java @@ -0,0 +1,56 @@ +package com.yxt.supervise.customer.biz.gdinstoragegd; + +import com.alibaba.excel.EasyExcel; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.supervise.customer.api.gdinstoragegd.*; +import com.yxt.supervise.customer.api.gdsales.GdSalesExcelVo; +import com.yxt.supervise.customer.api.gdsales.GdSalesQuery; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/3/29 14:00 + */ +@Api(tags = "入库数据") +@RestController +@RequestMapping("v1/gdinstoragegd") +public class GdInstorageGdRest implements GdInstorageGdFeign { + @Autowired + private GdInstorageGdService gdInstorageGdService; + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = gdInstorageGdService.listPageVo(pq); + return rb.success().setData(pv); + } + @PostMapping("/exportExcel") + @ApiOperation(value = "入库数据导出") + public void exportExcel(@RequestBody PagerQuery pq, HttpServletResponse response) throws IOException { + //得到所有要导出的数据 + List excelVos = gdInstorageGdService.exportExcel(pq); + String fileName = "入库数据" + System.currentTimeMillis() + ".xlsx"; + response.setContentType( "application/vnd.ms-excel"); + response.setCharacterEncoding("utf8"); + response.setHeader("Content-disposition","attachment;filename="+ fileName ); + // 这里 需要指定写用哪个class去读,然后写到第一个sheet,名字为模板 然后文件流会自动关闭 + // 如果这里想使用03 则 传入excelType参数即可 + ServletOutputStream outputStream = response.getOutputStream(); + EasyExcel.write(outputStream, GdInstorageGdExcelVo.class).sheet("入库数据").doWrite(excelVos); + outputStream.flush(); + outputStream.close(); + } +} diff --git a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdinstoragegd/GdInstorageGdService.java b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdinstoragegd/GdInstorageGdService.java new file mode 100644 index 00000000..70c2618e --- /dev/null +++ b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdinstoragegd/GdInstorageGdService.java @@ -0,0 +1,87 @@ +package com.yxt.supervise.customer.biz.gdinstoragegd; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.supervise.customer.api.gdinstoragegd.GdInstorageGd; +import com.yxt.supervise.customer.api.gdinstoragegd.GdInstorageGdExcelVo; +import com.yxt.supervise.customer.api.gdinstoragegd.GdInstorageGdQuery; +import com.yxt.supervise.customer.api.gdinstoragegd.GdInstorageGdVo; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/3/29 14:00 + */ +@Slf4j +@Service +public class GdInstorageGdService extends MybatisBaseService { + + public PagerVo listPageVo(PagerQuery pq) { + GdInstorageGdQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //门店/仓库 + if (StringUtils.isNotBlank(query.getColc2())) { + qw.like("colc2", query.getColc2()); + } + if (StringUtils.isNotBlank(query.getColf5())) { + qw.like("colf5", query.getColf5()); + } + if (StringUtils.isNotBlank(query.getColi8())) { + qw.like("coli8", query.getColi8()); + } + if (StringUtils.isNotBlank(query.getColm12())) { + qw.like("colm12", query.getColm12()); + } +// if (StringUtils.isNotBlank(query.getBrandCode())) { +// qw.eq("s.brandCode", query.getBrandCode()); +// } + //时间 + if (StringUtils.isNotBlank(query.getStartTime())) { + qw.ge("STR_TO_DATE(cold3,'%Y-%m-%d')", query.getStartTime()); + } + if (StringUtils.isNotBlank(query.getEndTime())) { + qw.le("STR_TO_DATE(cold3,'%Y-%m-%d')", query.getEndTime()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + public List exportExcel(PagerQuery pq) { + GdInstorageGdQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //门店/仓库 + if (StringUtils.isNotBlank(query.getColc2())) { + qw.like("colc2", query.getColc2()); + } + if (StringUtils.isNotBlank(query.getColf5())) { + qw.like("colf5", query.getColf5()); + } + if (StringUtils.isNotBlank(query.getColi8())) { + qw.like("coli8", query.getColi8()); + } + if (StringUtils.isNotBlank(query.getColm12())) { + qw.like("colm12", query.getColm12()); + } +// if (StringUtils.isNotBlank(query.getBrandCode())) { +// qw.eq("s.brandCode", query.getBrandCode()); +// } + //时间 + if (StringUtils.isNotBlank(query.getStartTime())) { + qw.ge("STR_TO_DATE(cold3,'%Y-%m-%d')", query.getStartTime()); + } + if (StringUtils.isNotBlank(query.getEndTime())) { + qw.le("STR_TO_DATE(cold3,'%Y-%m-%d')", query.getEndTime()); + } + List pagging = baseMapper.exportExcel(qw); + return pagging; + } +} diff --git a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdsales/GdSalesMapper.java b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdsales/GdSalesMapper.java index 7330d97b..5bf49e62 100644 --- a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdsales/GdSalesMapper.java +++ b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdsales/GdSalesMapper.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.yxt.supervise.customer.api.gdsales.GdSales; +import com.yxt.supervise.customer.api.gdsales.GdSalesExcelVo; import com.yxt.supervise.customer.api.gdsales.GdSalesVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -21,5 +22,5 @@ public interface GdSalesMapper extends BaseMapper { IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); //查询导出的数据 - List exportExcel(@Param(Constants.WRAPPER) Wrapper qw); + List exportExcel(@Param(Constants.WRAPPER) Wrapper qw); } diff --git a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdsales/GdSalesMapper.xml b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdsales/GdSalesMapper.xml index 45fdf624..e5b177db 100644 --- a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdsales/GdSalesMapper.xml +++ b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdsales/GdSalesMapper.xml @@ -6,12 +6,13 @@ - SELECT s.orderType orderType, + s.orderNo code, s.prodCode prodCode, s.prodName prodName, s.brandCode brandCode, s.brandName brandName, - s.saleNum saleNum, - s.storeCode storeCode, + 0 + CAST(s.saleNum AS CHAR) as saleNum, + round((s.saleNum* s.salePrice),2) as total, + s.dataDate dataDate, i.name as storeName - FROM gd_sales + FROM gd_sales s left JOIN store_info i on i.`code`= s.storeCode ${ew.sqlSegment} + order by s.dataDate desc \ No newline at end of file diff --git a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdsales/GdSalesRest.java b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdsales/GdSalesRest.java index 3246eae2..e56bce6a 100644 --- a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdsales/GdSalesRest.java +++ b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdsales/GdSalesRest.java @@ -1,24 +1,30 @@ package com.yxt.supervise.customer.biz.gdsales; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.data.RichTextStringData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.write.metadata.style.WriteCellStyle; +import com.alibaba.excel.write.metadata.style.WriteFont; import com.yxt.common.base.utils.ExportExcelUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; -import com.yxt.supervise.customer.api.gdsales.GdSales; -import com.yxt.supervise.customer.api.gdsales.GdSalesFeign; -import com.yxt.supervise.customer.api.gdsales.GdSalesQuery; -import com.yxt.supervise.customer.api.gdsales.GdSalesVo; +import com.yxt.supervise.customer.api.gdsales.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.poi.ss.usermodel.FillPatternType; +import org.apache.poi.ss.usermodel.IndexedColors; +import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; +import java.util.ArrayList; import java.util.List; /** @@ -32,8 +38,6 @@ public class GdSalesRest implements GdSalesFeign { @Autowired private GdSalesService gdSalesService; - @Autowired - private HttpServletResponse response; @Override @ApiOperation("根据条件分页查询数据的列表") @@ -45,19 +49,19 @@ public class GdSalesRest implements GdSalesFeign { } @PostMapping("/exportExcel") - @ApiOperation(value = "订单列表导出") - public void exportExcel(@RequestBody PagerQuery pq) { + @ApiOperation(value = "销售数据导出") + public void exportExcel(@RequestBody PagerQuery pq,HttpServletResponse response) throws IOException { //得到所有要导出的数据 - List excelVos = gdSalesService.exportExcel(pq); - //定义导出的excel名字 - String excelName = "销售数据"; - String fileNameURL = ""; - try { - fileNameURL = URLEncoder.encode(excelName, "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - //导出销售数据 - ExportExcelUtils.export(fileNameURL, excelVos, GdSalesVo.class, response); + List excelVos = gdSalesService.exportExcel(pq); + String fileName = "销售数据" + System.currentTimeMillis() + ".xlsx"; + response.setContentType( "application/vnd.ms-excel"); + response.setCharacterEncoding("utf8"); + response.setHeader("Content-disposition","attachment;filename="+ fileName ); + // 这里 需要指定写用哪个class去读,然后写到第一个sheet,名字为模板 然后文件流会自动关闭 + // 如果这里想使用03 则 传入excelType参数即可 + ServletOutputStream outputStream = response.getOutputStream(); + EasyExcel.write(outputStream, GdSalesExcelVo.class).sheet("销售数据").doWrite(excelVos); + outputStream.flush(); + outputStream.close(); } } diff --git a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdsales/GdSalesService.java b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdsales/GdSalesService.java index 19eaec8d..f4ffe149 100644 --- a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdsales/GdSalesService.java +++ b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/gdsales/GdSalesService.java @@ -1,5 +1,6 @@ package com.yxt.supervise.customer.biz.gdsales; +import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.common.base.service.MybatisBaseService; @@ -7,10 +8,12 @@ import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.vo.PagerVo; import com.yxt.supervise.customer.api.gdsales.GdSales; +import com.yxt.supervise.customer.api.gdsales.GdSalesExcelVo; import com.yxt.supervise.customer.api.gdsales.GdSalesQuery; import com.yxt.supervise.customer.api.gdsales.GdSalesVo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.junit.Test; import org.springframework.stereotype.Service; import java.util.List; @@ -27,12 +30,11 @@ public class GdSalesService extends MybatisBaseService { GdSalesQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); //渠道 - if (query != null) { if (StringUtils.isNotBlank(query.getStoreCode())) { qw.eq("s.storeCode", query.getStoreCode()); } if (StringUtils.isNotBlank(query.getProdCode())) { - qw.eq("s.prodCode", query.getProdCode()); + qw.like("s.prodCode", query.getProdCode()); } if (StringUtils.isNotBlank(query.getProdName())) { qw.like("s.prodName", query.getProdName()); @@ -44,17 +46,12 @@ public class GdSalesService extends MybatisBaseService { qw.eq("s.brandCode", query.getBrandCode()); } //时间 -// if (StringUtils.isNotBlank(query.getBrandCode())) { -// if(!query.getStartTime().isEmpty()){ -// if(query.getEndTime().isEmpty()){ -// -// }else{ -// } -// } -// qw.eq("s.brandCode", query.getStartTime()); -// } - } - + if (StringUtils.isNotBlank(query.getStartTime())) { + qw.ge("STR_TO_DATE(s.dataDate,'%Y-%m-%d')", query.getStartTime()); + } + if (StringUtils.isNotBlank(query.getEndTime())) { + qw.le("STR_TO_DATE(s.dataDate,'%Y-%m-%d')", query.getEndTime()); + } IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.selectPageVo(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); @@ -62,15 +59,33 @@ public class GdSalesService extends MybatisBaseService { } - public List exportExcel(PagerQuery pq) { + public List exportExcel(PagerQuery pq) { GdSalesQuery query = pq.getParams(); -// if (query != null) { -// if (StringUtils.isNotBlank(query.getName())) { -// qw.like("name", query.getName()); -// } -// } QueryWrapper qw = new QueryWrapper<>(); - List pagging = baseMapper.exportExcel(qw); + + if (StringUtils.isNotBlank(query.getStoreCode())) { + qw.eq("s.storeCode", query.getStoreCode()); + } + if (StringUtils.isNotBlank(query.getProdCode())) { + qw.like("s.prodCode", query.getProdCode()); + } + if (StringUtils.isNotBlank(query.getProdName())) { + qw.like("s.prodName", query.getProdName()); + } + if (StringUtils.isNotBlank(query.getBrandName())) { + qw.like("s.brandName", query.getBrandName()); + } + if (StringUtils.isNotBlank(query.getBrandCode())) { + qw.eq("s.brandCode", query.getBrandCode()); + } + //时间 + if (StringUtils.isNotBlank(query.getStartTime())) { + qw.ge("STR_TO_DATE(s.dataDate,'%Y-%m-%d')", query.getStartTime()); + } + if (StringUtils.isNotBlank(query.getEndTime())) { + qw.le("STR_TO_DATE(s.dataDate,'%Y-%m-%d')", query.getEndTime()); + } + List pagging = baseMapper.exportExcel(qw); return pagging; } }