Browse Source

销售报表下载和添加接口、银行联系人接口

master
wangpengfei 2 years ago
parent
commit
f244a7e243
  1. 20
      yxt_supervise/supervise-crm/supervise-crm-api/src/main/java/com/yxt/supervise/crm/api/bankmanager/BankManagerDetailsVo.java
  2. 20
      yxt_supervise/supervise-crm/supervise-crm-api/src/main/java/com/yxt/supervise/crm/api/bankmanager/BankManagerDto.java
  3. 20
      yxt_supervise/supervise-crm/supervise-crm-api/src/main/java/com/yxt/supervise/crm/api/bankmanager/BankManagerQuery.java
  4. 9
      yxt_supervise/supervise-crm/supervise-crm-api/src/main/java/com/yxt/supervise/crm/api/bankmanager/BankManagerVo.java
  5. 20
      yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/bankmanager/BankManagerMapper.java
  6. 13
      yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/bankmanager/BankManagerMapper.xml
  7. 70
      yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/bankmanager/BankManagerRest.java
  8. 85
      yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/bankmanager/BankManagerService.java
  9. 52
      yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/gdsalesreport/GdSalesReportFeign.java
  10. 37
      yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/gdsalesreport/GdSalesReportFeignFalback.java
  11. 231
      yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsalesreport/GdSalesReportRest.java
  12. 1
      yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsalesreport/GdSalesReportService.java
  13. 3
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/reportsalesdaylog/ReportSalesDayLog.java
  14. 2
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/reportsalesdaylog/ReportSalesDayLogVo.java
  15. 21
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/reportsalesdaystore/ReportSalesDayStoreDto.java
  16. 26
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/reportsalesdaystoreproduct/ReportSalesDayStoreProductDto.java
  17. 21
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/reportsalesdaytobaccostore/ReportSalesDayTobaccoStoreDto.java
  18. 26
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/reportsalesdaytobaccostoreproduct/ReportSalesDayTobaccoStoreProductDto.java
  19. 5
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaygather/ReportSalesDayGatherRest.java
  20. 5
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaygather/ReportSalesDayGatherService.java
  21. 52
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaylog/ReportSalesDayLogRest.java
  22. 27
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystore/ReportSalesDayStoreRest.java
  23. 34
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystore/ReportSalesDayStoreService.java
  24. 14
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystoreproduct/ReportSalesDayStoreProductRest.java
  25. 30
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystoreproduct/ReportSalesDayStoreProductService.java
  26. 13
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostore/ReportSalesDayTobaccoStoreRest.java
  27. 31
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostore/ReportSalesDayTobaccoStoreService.java
  28. 16
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostoreproduct/ReportSalesDayTobaccoStoreProductRest.java
  29. 29
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostoreproduct/ReportSalesDayTobaccoStoreProductService.java

20
yxt_supervise/supervise-crm/supervise-crm-api/src/main/java/com/yxt/supervise/crm/api/bankmanager/BankManagerDetailsVo.java

@ -2,6 +2,7 @@ package com.yxt.supervise.crm.api.bankmanager;
import com.yxt.common.core.vo.Vo; import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/** /**
@ -11,4 +12,23 @@ import lombok.Data;
@Data @Data
@ApiModel(value = "银行联系人信息 视图数据详情", description = "银行联系人信息 视图数据详情") @ApiModel(value = "银行联系人信息 视图数据详情", description = "银行联系人信息 视图数据详情")
public class BankManagerDetailsVo implements Vo { public class BankManagerDetailsVo implements Vo {
private String id;
private String sid;
private String lockVersion;
private String createTime;
private String modifyTime;
private String isEnable;
private String state;
private String isDeletec;
private String remarks;
private String createBySid;
private String updateBySid;
@ApiModelProperty("联系人")
private String name;
@ApiModelProperty("电话")
private String telephone;
@ApiModelProperty("职务")
private String post;
@ApiModelProperty("银行sid")
private String bankSid;
} }

20
yxt_supervise/supervise-crm/supervise-crm-api/src/main/java/com/yxt/supervise/crm/api/bankmanager/BankManagerDto.java

@ -2,6 +2,7 @@ package com.yxt.supervise.crm.api.bankmanager;
import com.yxt.common.core.dto.Dto; import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/** /**
@ -11,4 +12,23 @@ import lombok.Data;
@ApiModel(value = "银行联系人信息 数据传输对象", description = "银行联系人信息 数据传输对象") @ApiModel(value = "银行联系人信息 数据传输对象", description = "银行联系人信息 数据传输对象")
@Data @Data
public class BankManagerDto implements Dto { public class BankManagerDto implements Dto {
private String id;
private String sid;
private String lockVersion;
private String createTime;
private String modifyTime;
private String isEnable;
private String state;
private String isDeletec;
private String remarks;
private String createBySid;
private String updateBySid;
@ApiModelProperty("联系人")
private String name;
@ApiModelProperty("电话")
private String telephone;
@ApiModelProperty("职务")
private String post;
@ApiModelProperty("银行sid")
private String bankSid;
} }

20
yxt_supervise/supervise-crm/supervise-crm-api/src/main/java/com/yxt/supervise/crm/api/bankmanager/BankManagerQuery.java

@ -2,6 +2,7 @@ package com.yxt.supervise.crm.api.bankmanager;
import com.yxt.common.core.query.Query; import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/** /**
@ -11,4 +12,23 @@ import lombok.Data;
@ApiModel(value = "银行联系人信息 查询条件", description = "银行联系人信息 查询条件") @ApiModel(value = "银行联系人信息 查询条件", description = "银行联系人信息 查询条件")
@Data @Data
public class BankManagerQuery implements Query { public class BankManagerQuery implements Query {
private String id;
private String sid;
private String lockVersion;
private String createTime;
private String modifyTime;
private String isEnable;
private String state;
private String isDeletec;
private String remarks;
private String createBySid;
private String updateBySid;
@ApiModelProperty("联系人")
private String name;
@ApiModelProperty("电话")
private String telephone;
@ApiModelProperty("职务")
private String post;
@ApiModelProperty("银行sid")
private String bankSid;
} }

9
yxt_supervise/supervise-crm/supervise-crm-api/src/main/java/com/yxt/supervise/crm/api/bankmanager/BankManagerVo.java

@ -14,6 +14,15 @@ import lombok.Data;
public class BankManagerVo implements Vo { public class BankManagerVo implements Vo {
private String id; private String id;
private String sid; private String sid;
private String lockVersion;
private String createTime;
private String modifyTime;
private String isEnable;
private String state;
private String isDeletec;
private String remarks;
private String createBySid;
private String updateBySid;
@ApiModelProperty("联系人") @ApiModelProperty("联系人")
private String name; private String name;
@ApiModelProperty("电话") @ApiModelProperty("电话")

20
yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/bankmanager/BankManagerMapper.java

@ -0,0 +1,20 @@
package com.yxt.supervise.crm.biz.bankmanager;
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.crm.api.bankmanager.BankManager;
import com.yxt.supervise.crm.api.bankmanager.BankManagerVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @author wangpengfei
* @date 2023/4/23 11:49
*/
@Mapper
public interface BankManagerMapper extends BaseMapper<BankManager> {
IPage<BankManagerVo> selectPageVo(IPage<BankManager> page, @Param(Constants.WRAPPER) Wrapper<BankManager> qw);
}

13
yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/bankmanager/BankManagerMapper.xml

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.supervise.crm.biz.bankmanager.BankManagerMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.supervise.crm.api.bankmanager.BankManagerVo">
SELECT cct.*
FROM bank_manager cct
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

70
yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/bankmanager/BankManagerRest.java

@ -0,0 +1,70 @@
package com.yxt.supervise.crm.biz.bankmanager;
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.crm.api.bankmanager.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @author wangpengfei
* @date 2023/4/23 11:49
*/
@Api(tags = "银行负责人信息")
@RestController
@RequestMapping("v1/bankmanager")
public class BankManagerRest implements BankManagerFeign {
@Autowired
private BankManagerService BankManagerService;
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<BankManagerVo>> listPage(@RequestBody PagerQuery<BankManagerQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<BankManagerVo> pv = BankManagerService.listPageVo(pq);
return rb.success().setData(pv);
}
@ApiOperation("保存")
@PostMapping("/save")
public ResultBean save(@RequestBody BankManagerDto dto) {
return BankManagerService.saveBankManager(dto);
}
@ApiOperation("修改")
@PostMapping("/update")
public ResultBean update(@RequestBody BankManagerDto dto) {
ResultBean rb = ResultBean.fireFail();
ResultBean resultBean = BankManagerService.updateBankManager(dto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setMsg(resultBean.getMsg());
}
@ApiOperation("删除")
@DeleteMapping("/delete")
public ResultBean del(@RequestBody String[] sids) {
ResultBean rb = ResultBean.fireFail();
BankManagerService.delBySids(sids);
return rb.success();
}
@ApiOperation("根据sid查询")
@GetMapping("/getManagerBySid/{sid}")
public ResultBean<BankManagerVo> getManagerBySid(@PathVariable String sid) {
ResultBean<BankManagerVo> rb = ResultBean.fireFail();
BankManagerVo vo = BankManagerService.getManagerBySid(sid);
if (vo == null) {
return rb.setMsg("该银行联系人不存在");
}
return rb.success().setData(vo);
}
}

85
yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/bankmanager/BankManagerService.java

@ -0,0 +1,85 @@
package com.yxt.supervise.crm.biz.bankmanager;
import cn.hutool.core.bean.BeanUtil;
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.HanZiConverterPinYin;
import com.yxt.common.base.utils.HttpStatusEnum;
import com.yxt.common.base.utils.PagerUtil;
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.crm.api.bankmanager.*;
import com.yxt.supervise.crm.api.enterpriseinformation.EnterpriseInformation;
import com.yxt.supervise.system.config.DictCommonType;
import com.yxt.supervise.system.dictcommon.DictCommonFeign;
import com.yxt.supervise.system.sysorganization.SysOrganizationFeign;
import com.yxt.supervise.system.sysorganization.SysOrganizationVo;
import com.yxt.supervise.system.sysstafforg.SysStaffOrg;
import com.yxt.supervise.system.sysstafforg.SysStaffOrgFeign;
import com.yxt.supervise.system.sysuser.SysUserFeign;
import com.yxt.supervise.system.sysuser.SysUserInfoVo;
import com.yxt.supervise.system.sysuser.SysUserVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author wangpengfei
* @date 2023/4/23 11:49
*/
@Service
public class BankManagerService extends MybatisBaseService<BankManagerMapper, BankManager> {
public PagerVo<BankManagerVo> listPageVo(PagerQuery<BankManagerQuery> pq) {
BankManagerQuery query = pq.getParams();
QueryWrapper<BankManager> qw = new QueryWrapper<>();
// if(StringUtils.isNotBlank(query.getEnterpriseName())){
// qw.like("enterpriseName",query.getEnterpriseName());
// }
// if(StringUtils.isNotBlank(query.getTelephone())){
// qw.like("telephone",query.getTelephone());
// }
IPage<BankManager> page = PagerUtil.queryToPage(pq);
IPage<BankManagerVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<BankManagerVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
/**
* 新增银行负责人
* @param dto 数据传输对象
* @return
*/
public ResultBean saveBankManager(BankManagerDto dto) {
ResultBean rb = ResultBean.fireFail();
BankManager entity=new BankManager();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
return rb.success();
}
/**
* 编辑保存银行负责人
* @param dto 数据传输对象
* @return
*/
public ResultBean updateBankManager(BankManagerDto dto) {
ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid();
BankManager entity=fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
return rb.success().setMsg("更新成功");
}
public BankManagerVo getManagerBySid(String sid) {
BankManagerVo vo = new BankManagerVo();
BankManager BankManager = this.fetchBySid(sid);
BeanUtil.copyProperties(BankManager, vo);
return vo;
}
}

52
yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/gdsalesreport/GdSalesReportFeign.java

@ -0,0 +1,52 @@
package com.yxt.supervise.portal.api.gdsalesreport;
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.portal.api.kfpurchaserequisitionpro.KfPurchaseRequisitionProFeignFallback;
import com.yxt.supervise.portal.api.kfpurchaserequisitionpro.KfPurchaseRequisitionProQuery;
import com.yxt.supervise.portal.api.kfpurchaserequisitionpro.KfPurchaseRequisitionProVo;
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;
import java.util.List;
/**
* @author wangpengfei
* @date 2023/4/23 16:11
*/
@Api(tags = "销售商品信息")
@FeignClient(
contextId = "yxt-supervise-gdsalesreport",
name = "yxt-supervise",
path = "v1/gdsalesreport",
fallback = GdSalesReportFeignFalback.class)
public interface GdSalesReportFeign {
@ApiOperation("查询门店销售信息")
@PostMapping("/getAllStoreSalesReport")
@ResponseBody
public List<StoreSalesReportExcelVo> getAllStoreSalesReport(@RequestBody PagerQuery<GdSalesReportQuery> pq);
@ApiOperation("查询门店销售信息")
@PostMapping("/getAllStoreSalesReport")
@ResponseBody
public List<GoodsSalesReportExcelVo> getAllGoodsSalesReport(@RequestBody PagerQuery<GdSalesReportQuery> pq);
@ApiOperation("查询门店销售信息")
@PostMapping("/getAllStoreSalesReport")
@ResponseBody
public List<StoreSalesReportExcelVo> StoreSalesYcReportExcelVo(@RequestBody PagerQuery<GdSalesReportQuery> pq);
@ApiOperation("查询门店销售信息")
@PostMapping("/getAllStoreSalesReport")
@ResponseBody
public List<GoodsSalesReportExcelVo> GoodsSalesReportYcExcelVo(@RequestBody PagerQuery<GdSalesReportQuery> pq);
}

37
yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/gdsalesreport/GdSalesReportFeignFalback.java

@ -0,0 +1,37 @@
package com.yxt.supervise.portal.api.gdsalesreport;
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.portal.api.kfpurchaserequisitionpro.KfPurchaseRequisitionProQuery;
import com.yxt.supervise.portal.api.kfpurchaserequisitionpro.KfPurchaseRequisitionProVo;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author wangpengfei
* @date 2023/4/23 16:12
*/
@Component
public class GdSalesReportFeignFalback implements GdSalesReportFeign{
@Override
public List<StoreSalesReportExcelVo> getAllStoreSalesReport(PagerQuery<GdSalesReportQuery> pq) {
return null;
}
@Override
public List<GoodsSalesReportExcelVo> getAllGoodsSalesReport(PagerQuery<GdSalesReportQuery> pq) {
return null;
}
@Override
public List<StoreSalesReportExcelVo> StoreSalesYcReportExcelVo(PagerQuery<GdSalesReportQuery> pq) {
return null;
}
@Override
public List<GoodsSalesReportExcelVo> GoodsSalesReportYcExcelVo(PagerQuery<GdSalesReportQuery> pq) {
return null;
}
}

231
yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsalesreport/GdSalesReportRest.java

@ -14,7 +14,10 @@ import com.alibaba.excel.write.metadata.fill.FillWrapper;
import com.sun.deploy.net.URLEncoder; import com.sun.deploy.net.URLEncoder;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.supervise.portal.api.gdsalesreport.*; import com.yxt.supervise.portal.api.gdsalesreport.*;
import com.yxt.supervise.portal.api.kfpurchaserequisitionpro.KfPurchaseRequisitionProQuery;
import com.yxt.supervise.portal.api.kfpurchaserequisitionpro.KfPurchaseRequisitionProVo;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.catalina.connector.Response; import org.apache.catalina.connector.Response;
import org.apache.commons.compress.utils.IOUtils; import org.apache.commons.compress.utils.IOUtils;
@ -43,114 +46,19 @@ import static io.netty.handler.codec.smtp.SmtpRequests.data;
*/ */
@RestController @RestController
@RequestMapping("/report") @RequestMapping("/report")
public class GdSalesReportRest { public class GdSalesReportRest implements GdSalesReportFeign{
private static final String EXCEL_FILE_NAME="D:\\opt\\upFiles"+"\\门店销售明细报表"+ System.currentTimeMillis() +".xlsx";
private static final String TEMPLATE_FILE_NAME="C:\\Users\\www19\\Desktop\\1.xlsx";
@Autowired @Autowired
GdSalesReportService gdSalesReportService; GdSalesReportService gdSalesReportService;
@PostMapping("/getStoreSalesReport") @PostMapping("/getStoreSalesReport")
public ResultBean<GdSalesReportVo> getStoreSalesReport(@RequestBody PagerQuery<GdSalesReportQuery> pq){ public ResultBean<GdSalesReportVo> getStoreSalesReport(@RequestBody PagerQuery<GdSalesReportQuery> pq){
System.out.println("主线程开启");
if(true){
new Thread(new GdSalesThread(pq)).start();
}
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
List<GdSalesReportVo> pv = gdSalesReportService.getStoreSalesReport(pq); List<GdSalesReportVo> pv = gdSalesReportService.getStoreSalesReport(pq);
System.out.println("主线程结束");
return rb.success().setData(pv); return rb.success().setData(pv);
} }
/***
*/
public class GdSalesThread extends Thread{
PagerQuery<GdSalesReportQuery> pq=new PagerQuery<>();
public GdSalesThread(PagerQuery<GdSalesReportQuery> pq) {
this.pq = pq;
}
public void run(){
try {
System.out.println("excel线程开启");
SalesReport(pq);
System.out.println("excel线程结束");
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
@PostMapping("/SalesReport")
@ApiOperation(value = "门店销售明细报表")
public void SalesReport(@RequestBody PagerQuery<GdSalesReportQuery> pq) throws IOException {
List<StoreSalesReportExcelVo> StoreSalesVos =gdSalesReportService.getAllStoreSalesReport(pq);
List<GoodsSalesReportExcelVo>goodsSalesVos= gdSalesReportService.getAllGoodsSalesReport(pq);
List<StoreSalesReportExcelVo> StoreSalesYcVos = gdSalesReportService.StoreSalesYcReportExcelVo(pq);
List<GoodsSalesReportExcelVo> goodsSalesYcVos=gdSalesReportService.GoodsSalesReportYcExcelVo(pq);
// 创建ExcelWriterBuilder
ExcelWriterBuilder excelWriterBuilder = EasyExcel.write(EXCEL_FILE_NAME).withTemplate(TEMPLATE_FILE_NAME);
ExcelWriter excelWriter = excelWriterBuilder.build();
// 写入list之前的数据
Map<String, Object> map = new HashMap<String, Object>();
map.put("date",StoreSalesVos.get(1).getDate());
map.put("storeNum",StoreSalesVos.size());
//门店销售明细表
exportStoreSalesReport(map,excelWriter,StoreSalesVos);
//门店商品销售明细表
exportGoodsSalesReport(map,excelWriter,goodsSalesVos);
//烟草门店销售明细表
exportStoreSalesReportYc(map,excelWriter,StoreSalesYcVos);
//烟草门店商品销售明细表
exportGoodsSalesReportYc(map,excelWriter,goodsSalesYcVos);
excelWriter.finish();
}
/**
* 门店销售明细表
* @param map
* @param excelWriter
* @param StoreSalesVos
* @throws IOException
*/
public void exportStoreSalesReport(Map<String, Object> map,ExcelWriter excelWriter,List<StoreSalesReportExcelVo> StoreSalesVos) throws IOException {
List<CellRangeAddress> list = new ArrayList<>();
//new CellRangeAddress(开始行,结束行,开始列,结束列)
list.add(new CellRangeAddress(3, StoreSalesVos.size(), 1, 3));
// 创建writeSheet,并注册合并单元格handler
WriteSheet writeSheet = EasyExcel.writerSheet(1).registerWriteHandler(new MyHandler(0,list)).build();
// 填写配置,forceNewRow true表示自动创建一行,后面的数据后移
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
//填写数据
excelWriter.fill(StoreSalesVos, fillConfig, writeSheet);
//excelWriter.fill(excelVos, writeSheet);
// 写入list之前的数据
Calendar cal = Calendar.getInstance();
Date date = new Date();
cal.setTime(date);
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd");
Integer month=cal.get(Calendar.MONTH)+1;
map.put("number","mdxsmxb"+cal.get(Calendar.YEAR)+month+cal.get(Calendar.DAY_OF_MONTH));
map.put("storeNum",StoreSalesVos.size());
excelWriter.fill(map, writeSheet);
// list 后面还有个统计 想办法手动写入
// 这里偷懒直接用list 也可以用对象
List<List<String>> totalListList = ListUtils.newArrayList();
List<String> totalList = ListUtils.newArrayList();
totalListList.add(totalList);
BigDecimal total=new BigDecimal("0");
for(StoreSalesReportExcelVo i:StoreSalesVos){
total=total.add(i.getSalesVolume());
}
totalList.add("");
totalList.add("");
totalList.add("");
totalList.add("统计:");
totalList.add(String.valueOf(total));
// 这里是write 别和fill 搞错了
WriteSheet writeSheet1 = EasyExcel.writerSheet(1).build();
excelWriter.write(totalListList,writeSheet1);
}
@PostMapping("/getGoodsSalesReport") @PostMapping("/getGoodsSalesReport")
public ResultBean<GdSalesReportVo> getGoodsSalesReport(@RequestBody PagerQuery<GdSalesReportQuery> pq){ public ResultBean<GdSalesReportVo> getGoodsSalesReport(@RequestBody PagerQuery<GdSalesReportQuery> pq){
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
@ -158,47 +66,7 @@ public class GdSalesReportRest {
return rb.success().setData(pv); return rb.success().setData(pv);
} }
/**
* 门店商品销售明细表
* @param map
* @param excelWriter
* @param goodsSalesReportExcelVos
* @throws IOException
*/
public void exportGoodsSalesReport(Map<String, Object> map,ExcelWriter excelWriter,List<GoodsSalesReportExcelVo>goodsSalesReportExcelVos) throws IOException {
//得到所有要导出的数据
WriteSheet writeSheetGood = EasyExcel.writerSheet(2).build();
//填写数据
excelWriter.fill(goodsSalesReportExcelVos, writeSheetGood);
//excelWriter.fill(goodsSalesReportExcelVos, writeSheetGood);
// 写入list之前的数据
Calendar cal = Calendar.getInstance();
Date date = new Date();
cal.setTime(date);
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd");
Integer month=cal.get(Calendar.MONTH)+1;
map.put("number","mdspxsmxb"+cal.get(Calendar.YEAR)+month+cal.get(Calendar.DAY_OF_MONTH));
map.put("storeNum",goodsSalesReportExcelVos.size());
excelWriter.fill(map, writeSheetGood);
// list 后面还有个统计 想办法手动写入
List<List<String>> totalListList1 = ListUtils.newArrayList();
List<String> totalList1 = ListUtils.newArrayList();
totalListList1.add(totalList1);
BigDecimal total=new BigDecimal("0");
for(GoodsSalesReportExcelVo i:goodsSalesReportExcelVos){
total=total.add(i.getTotal());
}
totalList1.add("");
totalList1.add("");
totalList1.add("");
totalList1.add("");
totalList1.add("");
totalList1.add("");
totalList1.add("统计:");
totalList1.add(String.valueOf(total));
// 这里是write 别和fill 搞错了
excelWriter.write(totalListList1,writeSheetGood);
}
@PostMapping("/getStoreSalesReportYc") @PostMapping("/getStoreSalesReportYc")
public ResultBean<GdSalesReportVo> getStoreSalesReportYc(@RequestBody PagerQuery<GdSalesReportQuery> pq){ public ResultBean<GdSalesReportVo> getStoreSalesReportYc(@RequestBody PagerQuery<GdSalesReportQuery> pq){
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
@ -206,42 +74,7 @@ public class GdSalesReportRest {
return rb.success().setData(pv); return rb.success().setData(pv);
} }
public void exportStoreSalesReportYc(Map<String, Object> map,ExcelWriter excelWriter,List<StoreSalesReportExcelVo> StoreSalesYcVos) throws IOException {
List<CellRangeAddress> list = new ArrayList<>();
//new CellRangeAddress(开始行,结束行,开始列,结束列)
list.add(new CellRangeAddress(3, StoreSalesYcVos.size(), 1, 3));
// 创建writeSheet,并注册合并单元格handler
WriteSheet writeSheet = EasyExcel.writerSheet(3).registerWriteHandler(new MyHandler(0,list)).build();
// 填写配置,forceNewRow true表示自动创建一行,后面的数据后移
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
//填写数据
excelWriter.fill(StoreSalesYcVos, fillConfig, writeSheet);
// 写入list之前的数据
Calendar cal = Calendar.getInstance();
Date date = new Date();
cal.setTime(date);
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd");
Integer month=cal.get(Calendar.MONTH)+1;
map.put("number","ycmdxsmxb"+cal.get(Calendar.YEAR)+month+cal.get(Calendar.DAY_OF_MONTH));
map.put("storeNum",StoreSalesYcVos.size());
excelWriter.fill(map, writeSheet);
// list 后面还有个统计 想办法手动写入
List<List<String>> totalListList = ListUtils.newArrayList();
List<String> totalList = ListUtils.newArrayList();
totalListList.add(totalList);
BigDecimal total=new BigDecimal("0");
for(StoreSalesReportExcelVo i:StoreSalesYcVos){
total=total.add(i.getSalesVolume());
}
totalList.add("");
totalList.add("");
totalList.add("");
totalList.add("统计:");
totalList.add(String.valueOf(total));
// 这里是write 别和fill 搞错了
WriteSheet writeSheet1 = EasyExcel.writerSheet(3).build();
excelWriter.write(totalListList,writeSheet1);
}
@PostMapping("/getGoodsSalesReportYc") @PostMapping("/getGoodsSalesReportYc")
public ResultBean<GdSalesReportVo> getGoodsSalesReportYc(@RequestBody PagerQuery<GdSalesReportQuery> pq){ public ResultBean<GdSalesReportVo> getGoodsSalesReportYc(@RequestBody PagerQuery<GdSalesReportQuery> pq){
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
@ -249,36 +82,24 @@ public class GdSalesReportRest {
return rb.success().setData(pv); return rb.success().setData(pv);
} }
public void exportGoodsSalesReportYc(Map<String, Object> map,ExcelWriter excelWriter,List<GoodsSalesReportExcelVo>goodsSalesReportExcelVos) throws IOException {
WriteSheet writeSheetGood = EasyExcel.writerSheet(4).build(); @Override
//填写数据 public List<StoreSalesReportExcelVo> getAllStoreSalesReport(PagerQuery<GdSalesReportQuery> pq) {
excelWriter.fill(goodsSalesReportExcelVos, writeSheetGood); return gdSalesReportService.getAllStoreSalesReport(pq);
// 写入list之前的数据 }
Calendar cal = Calendar.getInstance();
Date date = new Date(); @Override
cal.setTime(date); public List<GoodsSalesReportExcelVo> getAllGoodsSalesReport(PagerQuery<GdSalesReportQuery> pq) {
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd"); return gdSalesReportService.getAllGoodsSalesReport(pq);
Integer month=cal.get(Calendar.MONTH)+1; }
map.put("number","ycmdspxsmxb"+cal.get(Calendar.YEAR)+month+cal.get(Calendar.DAY_OF_MONTH));
map.put("storeNum",goodsSalesReportExcelVos.size()); @Override
excelWriter.fill(map, writeSheetGood); public List<StoreSalesReportExcelVo> StoreSalesYcReportExcelVo(PagerQuery<GdSalesReportQuery> pq) {
// list 后面还有个统计 想办法手动写入 return gdSalesReportService.StoreSalesYcReportExcelVo(pq);
List<List<String>> totalListList1 = ListUtils.newArrayList(); }
List<String> totalList1 = ListUtils.newArrayList();
totalListList1.add(totalList1); @Override
BigDecimal total=new BigDecimal("0"); public List<GoodsSalesReportExcelVo> GoodsSalesReportYcExcelVo(PagerQuery<GdSalesReportQuery> pq) {
for(GoodsSalesReportExcelVo i:goodsSalesReportExcelVos){ return gdSalesReportService.GoodsSalesReportYcExcelVo(pq);
total=total.add(i.getTotal());
}
totalList1.add("");
totalList1.add("");
totalList1.add("");
totalList1.add("");
totalList1.add("");
totalList1.add("");
totalList1.add("统计:");
totalList1.add(String.valueOf(total));
// 这里是write 别和fill 搞错了
excelWriter.write(totalListList1,writeSheetGood);
} }
} }

1
yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsalesreport/GdSalesReportService.java

@ -37,6 +37,7 @@ public class GdSalesReportService extends MybatisBaseService<GdSalesReportMapper
//PagerVo<GdSalesReportVo> p = PagerUtil.pageToVo(pagging, null); //PagerVo<GdSalesReportVo> p = PagerUtil.pageToVo(pagging, null);
return pagging; return pagging;
} }
public List<StoreSalesReportExcelVo> getAllStoreSalesReport(PagerQuery<GdSalesReportQuery> pq) { public List<StoreSalesReportExcelVo> getAllStoreSalesReport(PagerQuery<GdSalesReportQuery> pq) {
GdSalesReportQuery query = pq.getParams(); GdSalesReportQuery query = pq.getParams();
QueryWrapper<GdSalesReport> qw = new QueryWrapper<>(); QueryWrapper<GdSalesReport> qw = new QueryWrapper<>();

3
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/reportsalesdaylog/ReportSalesDayLog.java

@ -9,5 +9,6 @@ import lombok.Data;
@Data @Data
public class ReportSalesDayLog { public class ReportSalesDayLog {
private String orderDate; private String orderDate;
private String url; private String fullUrl;
private String filePath;
} }

2
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/reportsalesdaylog/ReportSalesDayLogVo.java

@ -10,5 +10,5 @@ import lombok.Data;
@Data @Data
public class ReportSalesDayLogVo implements Vo { public class ReportSalesDayLogVo implements Vo {
private String orderDate; private String orderDate;
private String url; private String fullUrl;
} }

21
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/reportsalesdaystore/ReportSalesDayStoreDto.java

@ -0,0 +1,21 @@
package com.yxt.supervise.report.api.reportsalesdaystore;
import com.yxt.common.core.dto.Dto;
/**
* @author wangpengfei
* @date 2023/4/23 15:41
*/
public class ReportSalesDayStoreDto implements Dto {
private String id; //'ID,唯一编号',
private String createTime; // '记录创建时间',
private String remarks;//'备注说明',
private String orderDate; //'单据日期',
private String serialNumber; // '编号',
private String storeNumber;// '渠道数量',
private String reportTime;//'上报时间',
private String sort; // '序号',
private String storeCodeName; //'[门店编号]门店名称',
private String saleAmount ;//'销售金额',
private String countAmount; //'总计销售金额',
}

26
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/reportsalesdaystoreproduct/ReportSalesDayStoreProductDto.java

@ -0,0 +1,26 @@
package com.yxt.supervise.report.api.reportsalesdaystoreproduct;
import com.yxt.common.core.dto.Dto;
/**
* @author wangpengfei
* @date 2023/4/23 15:51
*/
public class ReportSalesDayStoreProductDto implements Dto {
private String id;//'ID,唯一编号',
private String createTime; // '记录创建时间',
private String remarks;// '备注说明',
private String orderDate;// '单据日期',
private String serialNumber; // '编号',
private String productNumber; // '商品数量',
private String reportTime; // '上报时间',
private String storeCodeName;// '[门店编号]门店名称',
private String saleType; // '销售类型:零售、批发',
private String saleCode; // '销售订单号',
private String productCode; //'商品编码',
private String productName; // '商品名称',
private String saleNumber; //'数量',
private String salePrice; // '单价',
private String saleAmount; // '小计',
private String countAmount; // '总计销售金额',
}

21
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/reportsalesdaytobaccostore/ReportSalesDayTobaccoStoreDto.java

@ -0,0 +1,21 @@
package com.yxt.supervise.report.api.reportsalesdaytobaccostore;
import com.yxt.common.core.dto.Dto;
/**
* @author wangpengfei
* @date 2023/4/23 15:52
*/
public class ReportSalesDayTobaccoStoreDto implements Dto {
private String id ;// 'ID,唯一编号',
//private String createTime ;// '记录创建时间',
//private String remarks ;// '备注说明',
private String orderDate ;// '单据日期',
private String serialNumber ;// '编号',
private String storeNumber;// '渠道数量',
private String reportTime ;// '上报时间',
private String sort; // '序号',
private String storeCodeName ;// '[门店编号]门店名称',
private String saleAmount ;// '销售金额',
private String countAmount ;// '总计销售金额',
}

26
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/reportsalesdaytobaccostoreproduct/ReportSalesDayTobaccoStoreProductDto.java

@ -0,0 +1,26 @@
package com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct;
import com.yxt.common.core.dto.Dto;
/**
* @author wangpengfei
* @date 2023/4/23 15:53
*/
public class ReportSalesDayTobaccoStoreProductDto implements Dto {
private String id;//'ID,唯一编号',
private String createTime; // '记录创建时间',
private String remarks;// '备注说明',
private String orderDate;// '单据日期',
private String serialNumber; // '编号',
private String productNumber; // '商品数量',
private String reportTime; // '上报时间',
private String storeCodeName;// '[门店编号]门店名称',
private String saleType; // '销售类型:零售、批发',
private String saleCode; // '销售订单号',
private String productCode; //'商品编码',
private String productName; // '商品名称',
private String saleNumber; //'数量',
private String salePrice; // '单价',
private String saleAmount; // '小计',
private String countAmount; // '总计销售金额',
}

5
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaygather/ReportSalesDayGatherRest.java

@ -25,8 +25,6 @@ import java.util.Map;
@RestController @RestController
@RequestMapping("/reportsalesdaygather") @RequestMapping("/reportsalesdaygather")
public class ReportSalesDayGatherRest { public class ReportSalesDayGatherRest {
private static final String EXCEL_FILE_NAME="D:\\opt\\upFiles"+"\\门店销售明细报表"+ System.currentTimeMillis() +".xlsx";
private static final String TEMPLATE_FILE_NAME="C:\\Users\\www19\\Desktop\\1.xlsx";
@Autowired @Autowired
ReportSalesDayGatherService reportSalesDayGatherService; ReportSalesDayGatherService reportSalesDayGatherService;
@ -38,7 +36,4 @@ public class ReportSalesDayGatherRest {
return rb.success().setData(pv); return rb.success().setData(pv);
} }
public void SalesReport(@RequestBody PagerQuery<ReportSalesDayGatherQuery> pq) throws IOException {
}
} }

5
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaygather/ReportSalesDayGatherService.java

@ -60,13 +60,10 @@ public class ReportSalesDayGatherService extends MybatisBaseService<ReportSalesD
} }
/** /**
* 销售日报汇总 * 销售日报汇总
* @param map
* @param excelWriter * @param excelWriter
* @param SalesVos * @param SalesVos
* @throws IOException
*/ */
public void exportReportSalesDayStore(Map<String, Object> map, ExcelWriter excelWriter, List<ReportSalesDayGatherVo> SalesVos) throws IOException { public void exportReportSalesDayStore(ExcelWriter excelWriter, List<ReportSalesDayGatherVo> SalesVos){
WriteSheet writeSheet = EasyExcel.writerSheet(0).build(); WriteSheet writeSheet = EasyExcel.writerSheet(0).build();
// 填写配置,forceNewRow true表示自动创建一行,后面的数据后移 // 填写配置,forceNewRow true表示自动创建一行,后面的数据后移
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();

52
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaylog/ReportSalesDayLogRest.java

@ -1,5 +1,6 @@
package com.yxt.supervise.report.biz.reportsalesdaylog; package com.yxt.supervise.report.biz.reportsalesdaylog;
import cn.hutool.core.io.FileUtil;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.builder.ExcelWriterBuilder; import com.alibaba.excel.write.builder.ExcelWriterBuilder;
@ -15,11 +16,13 @@ import com.yxt.supervise.report.biz.reportsalesdaystoreproduct.ReportSalesDaySto
import com.yxt.supervise.report.biz.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreService; import com.yxt.supervise.report.biz.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreService;
import com.yxt.supervise.report.biz.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProductService; import com.yxt.supervise.report.biz.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProductService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -30,11 +33,16 @@ import java.util.Map;
* @date 2023/4/21 11:18 * @date 2023/4/21 11:18
*/ */
@RestController @RestController
@RequestMapping("/reportsalesdaylog") @RequestMapping("/reportsaleslog")
public class ReportSalesDayLogRest { public class ReportSalesDayLogRest {
private static final String EXCEL_FILE_NAME="D:\\opt\\upFiles"+"\\门店销售明细报表"+ System.currentTimeMillis() +".xlsx"; private static final String EXCEL_FILE_NAME="D:\\opt\\upFiles"+"\\门店销售明细报表"+ System.currentTimeMillis() +".xlsx";
private static final String TEMPLATE_FILE_NAME="C:\\Users\\www19\\Desktop\\1.xlsx"; private static final String TEMPLATE_FILE_NAME="C:\\Users\\www19\\Desktop\\1.xlsx";
@Value("${image.upload.path:static/upload/}")
private String uploadPath;
@Value("${image.url.prefix:http://127.0.0.1:8080/upload/}")
private String urlPrefix;
@Value("${image.xlsxtmpl:static/upload/}")
private String xlsxtmplPath;
@Autowired @Autowired
ReportSalesDayLogService ReportSalesDayLogService; ReportSalesDayLogService ReportSalesDayLogService;
@Autowired @Autowired
@ -56,6 +64,13 @@ public class ReportSalesDayLogRest {
List<ReportSalesDayLogVo> pv = ReportSalesDayLogService.getReportSalesDayLog(pq); List<ReportSalesDayLogVo> pv = ReportSalesDayLogService.getReportSalesDayLog(pq);
return rb.success().setData(pv); return rb.success().setData(pv);
} }
@PostMapping("/getFullUrlByOrderDate")
public ResultBean<ReportSalesDayLogVo> getFullUrlByOrderDate(@RequestBody PagerQuery<ReportSalesDayLogQuery> pq){
ResultBean rb = ResultBean.fireFail();
ReportSalesDayLogVo pv =ReportSalesDayLogService.getLogByOrderDate(pq.getParams().getDate());
pv.getFullUrl();
return rb.success().setData(pv);
}
public class GdSalesThread extends Thread{ public class GdSalesThread extends Thread{
String orderDate; String orderDate;
public GdSalesThread(String orderDate) { public GdSalesThread(String orderDate) {
@ -71,28 +86,29 @@ public class ReportSalesDayLogRest {
} }
} }
} }
public ResultBean<ReportSalesDayLogVo> getAllReportSalesDayLog(@RequestBody PagerQuery<ReportSalesDayLogQuery> pq){
ResultBean rb = ResultBean.fireFail(); /**
List<ReportSalesDayLogVo> pv = ReportSalesDayLogService.getAllReportSalesDayLog(pq); * 生成excel存在本地
return rb.success().setData(pv); * @param orderDate
} * @throws IOException
*/
public void SalesReport(String orderDate) throws IOException { public void SalesReport(String orderDate) throws IOException {
String xlsxpath = xlsxtmplPath + "销售汇总日报表"+orderDate+".xlsx";
// 创建ExcelWriterBuilder // 创建ExcelWriterBuilder
ExcelWriterBuilder excelWriterBuilder = EasyExcel.write(EXCEL_FILE_NAME).withTemplate(TEMPLATE_FILE_NAME); ExcelWriterBuilder excelWriterBuilder = EasyExcel.write(xlsxpath).withTemplate(TEMPLATE_FILE_NAME);
ExcelWriter excelWriter = excelWriterBuilder.build(); ExcelWriter excelWriter = excelWriterBuilder.build();
// 写入list之前的数据 // 写入list之前的数据
Map<String, Object> map = new HashMap<String, Object>(); reportSalesDayGatherService.exportReportSalesDayStore(excelWriter,reportSalesDayGatherService.getAllReportSalesDayGather(orderDate));
// map.put("date",StoreSalesVos.get(1).getDate()); reportSalesDayStoreService.exportReportSalesDayStore(excelWriter,reportSalesDayStoreService.getAllReportSalesDayStore(orderDate));
// map.put("date",StoreSalesVos.get(1).getDate()); reportSalesDayStoreProductService.exportReportSalesDayStoreProduct(excelWriter,reportSalesDayStoreProductService.getAllReportSalesDayStoreProduct(orderDate));
// map.put("storeNum",StoreSalesVos.size()); reportSalesDayTobaccoStoreService.exportReportSalesDayTobaccoStore(excelWriter,reportSalesDayTobaccoStoreService.getAllReportSalesDayTobaccoStore(orderDate));
reportSalesDayGatherService.exportReportSalesDayStore(map,excelWriter,reportSalesDayGatherService.getAllReportSalesDayGather(orderDate)); reportSalesDayTobaccoStoreProductService.exportReportSalesDayTobaccoStoreProduct(excelWriter,reportSalesDayTobaccoStoreProductService.getAllReportSalesDayTobaccoStoreProduct(orderDate));
reportSalesDayStoreService.exportReportSalesDayStore(map,excelWriter,reportSalesDayStoreService.getAllReportSalesDayStore(orderDate));
reportSalesDayStoreProductService.exportReportSalesDayStoreProduct(map,excelWriter,reportSalesDayStoreProductService.getAllReportSalesDayStoreProduct(orderDate));
reportSalesDayTobaccoStoreService.exportReportSalesDayTobaccoStore(map,excelWriter,reportSalesDayTobaccoStoreService.getAllReportSalesDayTobaccoStore(orderDate));
reportSalesDayTobaccoStoreProductService.exportReportSalesDayTobaccoStoreProduct(map,excelWriter,reportSalesDayTobaccoStoreProductService.getAllReportSalesDayTobaccoStoreProduct(orderDate));
ReportSalesDayLog log=ReportSalesDayLogService.getOne(new QueryWrapper<ReportSalesDayLog>().eq("orderDate",orderDate)); ReportSalesDayLog log=ReportSalesDayLogService.getOne(new QueryWrapper<ReportSalesDayLog>().eq("orderDate",orderDate));
//保存url //保存url
log.setUrl(EXCEL_FILE_NAME); String newFileName = "销售汇总日报表" + orderDate + ".xlsx";
String url = urlPrefix + newFileName;
log.setFullUrl(url);
log.setFilePath(uploadPath + newFileName);
ReportSalesDayLogService.update(log,new QueryWrapper<ReportSalesDayLog>().eq("orderDate",orderDate)); ReportSalesDayLogService.update(log,new QueryWrapper<ReportSalesDayLog>().eq("orderDate",orderDate));
excelWriter.finish(); excelWriter.finish();

27
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystore/ReportSalesDayStoreRest.java

@ -5,6 +5,7 @@ import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.builder.ExcelWriterBuilder; import com.alibaba.excel.write.builder.ExcelWriterBuilder;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreDto;
import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreQuery; import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreQuery;
import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreVo; import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -25,8 +26,6 @@ import java.util.Map;
@RestController @RestController
@RequestMapping("/reportsalesdaystore") @RequestMapping("/reportsalesdaystore")
public class ReportSalesDayStoreRest { public class ReportSalesDayStoreRest {
private static final String EXCEL_FILE_NAME="D:\\opt\\upFiles"+"\\门店销售明细报表"+ System.currentTimeMillis() +".xlsx";
private static final String TEMPLATE_FILE_NAME="C:\\Users\\www19\\Desktop\\1.xlsx";
@Autowired @Autowired
ReportSalesDayStoreService ReportSalesDayStoreService; ReportSalesDayStoreService ReportSalesDayStoreService;
@ -37,25 +36,9 @@ public class ReportSalesDayStoreRest {
List<ReportSalesDayStoreVo> pv = ReportSalesDayStoreService.getReportSalesDayStore(pq); List<ReportSalesDayStoreVo> pv = ReportSalesDayStoreService.getReportSalesDayStore(pq);
return rb.success().setData(pv); return rb.success().setData(pv);
} }
@PostMapping("/save")
public void SalesReport(@RequestBody PagerQuery<ReportSalesDayStoreQuery> pq) throws IOException { public ResultBean save(@RequestBody ReportSalesDayStoreDto dto){
ResultBean rb = ResultBean.fireFail();
// List<StoreSalesReportExcelVo> StoreSalesVos =gdSalesReportService.getAllStoreSalesReport(pq); return ReportSalesDayStoreService.save(dto);
// List<GoodsSalesReportExcelVo>goodsSalesVos= gdSalesReportService.getAllGoodsSalesReport(pq);
// List<StoreSalesReportExcelVo> StoreSalesYcVos = gdSalesReportService.StoreSalesYcReportExcelVo(pq);
// List<GoodsSalesReportExcelVo> goodsSalesYcVos=gdSalesReportService.GoodsSalesReportYcExcelVo(pq);
// List<ReportSalesDayStoreVo> ReportSalesDayStoreVos=getAllReportSalesDayStore(pq);
// 创建ExcelWriterBuilder
ExcelWriterBuilder excelWriterBuilder = EasyExcel.write(EXCEL_FILE_NAME).withTemplate(TEMPLATE_FILE_NAME);
ExcelWriter excelWriter = excelWriterBuilder.build();
// 写入list之前的数据
Map<String, Object> map = new HashMap<String, Object>();
// map.put("date",StoreSalesVos.get(1).getDate());
// map.put("date",StoreSalesVos.get(1).getDate());
// map.put("storeNum",StoreSalesVos.size());
excelWriter.finish();
} }
} }

34
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystore/ReportSalesDayStoreService.java

@ -1,5 +1,6 @@
package com.yxt.supervise.report.biz.reportsalesdaystore; package com.yxt.supervise.report.biz.reportsalesdaystore;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.util.ListUtils; import com.alibaba.excel.util.ListUtils;
@ -8,15 +9,15 @@ import com.alibaba.excel.write.metadata.fill.FillConfig;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.report.api.reportsalesdaygather.ReportSalesDayGatherQuery; import com.yxt.supervise.report.api.reportsalesdaygather.ReportSalesDayGatherQuery;
import com.yxt.supervise.report.api.reportsalesdaylog.MyHandler; import com.yxt.supervise.report.api.reportsalesdaylog.MyHandler;
import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStore; import com.yxt.supervise.report.api.reportsalesdaystore.*;
import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreQuery;
import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreVo;
import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStore; import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStore;
import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreVo; import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreVo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellRangeAddress;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.io.IOException; import java.io.IOException;
@ -30,7 +31,6 @@ import java.util.*;
*/ */
@Service @Service
public class ReportSalesDayStoreService extends MybatisBaseService<ReportSalesDayStoreMapper, ReportSalesDayStore> { public class ReportSalesDayStoreService extends MybatisBaseService<ReportSalesDayStoreMapper, ReportSalesDayStore> {
public List<ReportSalesDayStoreVo> getReportSalesDayStore(PagerQuery<ReportSalesDayStoreQuery> pq) { public List<ReportSalesDayStoreVo> getReportSalesDayStore(PagerQuery<ReportSalesDayStoreQuery> pq) {
ReportSalesDayStoreQuery query = pq.getParams(); ReportSalesDayStoreQuery query = pq.getParams();
QueryWrapper<ReportSalesDayStore> qw = new QueryWrapper<>(); QueryWrapper<ReportSalesDayStore> qw = new QueryWrapper<>();
@ -44,6 +44,14 @@ public class ReportSalesDayStoreService extends MybatisBaseService<ReportSalesDa
//PagerVo<GdSalesReportVo> p = PagerUtil.pageToVo(pagging, null); //PagerVo<GdSalesReportVo> p = PagerUtil.pageToVo(pagging, null);
return pagging; return pagging;
} }
public ResultBean save(ReportSalesDayStoreDto dto) {
ResultBean rb=new ResultBean();
ReportSalesDayStore entity=new ReportSalesDayStore();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
return rb.success().setMsg("保存门店销售信息成功");
}
public List<ReportSalesDayStoreVo> getAllReportSalesDayStore(String orderDate) { public List<ReportSalesDayStoreVo> getAllReportSalesDayStore(String orderDate) {
ReportSalesDayStoreQuery reportSalesDayStoreQuery=new ReportSalesDayStoreQuery(); ReportSalesDayStoreQuery reportSalesDayStoreQuery=new ReportSalesDayStoreQuery();
reportSalesDayStoreQuery.setDate(orderDate); reportSalesDayStoreQuery.setDate(orderDate);
@ -61,12 +69,10 @@ public class ReportSalesDayStoreService extends MybatisBaseService<ReportSalesDa
} }
/** /**
* 门店销售明细表 * 门店销售明细表
* @param map
* @param excelWriter * @param excelWriter
* @param SalesVos * @param SalesVos
* @throws IOException
*/ */
public void exportReportSalesDayStore(Map<String, Object> map, ExcelWriter excelWriter, List<ReportSalesDayStoreVo> SalesVos) throws IOException { public void exportReportSalesDayStore(ExcelWriter excelWriter, List<ReportSalesDayStoreVo> SalesVos){
List<CellRangeAddress> list = new ArrayList<>(); List<CellRangeAddress> list = new ArrayList<>();
//new CellRangeAddress(开始行,结束行,开始列,结束列) //new CellRangeAddress(开始行,结束行,开始列,结束列)
list.add(new CellRangeAddress(3, SalesVos.size()+3, 1, 3)); list.add(new CellRangeAddress(3, SalesVos.size()+3, 1, 3));
@ -76,25 +82,11 @@ public class ReportSalesDayStoreService extends MybatisBaseService<ReportSalesDa
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
//填写数据 //填写数据
excelWriter.fill(SalesVos, fillConfig, writeSheet); excelWriter.fill(SalesVos, fillConfig, writeSheet);
//excelWriter.fill(excelVos, writeSheet);
// 写入list之前的数据
// Calendar cal = Calendar.getInstance();
// Date date = new Date();
// cal.setTime(date);
// SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd");
// Integer month=cal.get(Calendar.MONTH)+1;
// map.put("number","mdxsmxb"+cal.get(Calendar.YEAR)+month+cal.get(Calendar.DAY_OF_MONTH));
// map.put("storeNum",StoreSalesVos.size());
// excelWriter.fill(map, writeSheet);
// list 后面还有个统计 想办法手动写入 // list 后面还有个统计 想办法手动写入
// 这里偷懒直接用list 也可以用对象
List<List<String>> totalListList = ListUtils.newArrayList(); List<List<String>> totalListList = ListUtils.newArrayList();
List<String> totalList = ListUtils.newArrayList(); List<String> totalList = ListUtils.newArrayList();
totalListList.add(totalList); totalListList.add(totalList);
BigDecimal total=new BigDecimal("0"); BigDecimal total=new BigDecimal("0");
// for(StoreSalesReportExcelVo i:StoreSalesVos){
// total=total.add(i.getSalesVolume());
// }
totalList.add(""); totalList.add("");
totalList.add(""); totalList.add("");
totalList.add(""); totalList.add("");

14
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystoreproduct/ReportSalesDayStoreProductRest.java

@ -5,6 +5,8 @@ import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.builder.ExcelWriterBuilder; import com.alibaba.excel.write.builder.ExcelWriterBuilder;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProduct;
import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductDto;
import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductQuery; import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductQuery;
import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductVo; import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -23,22 +25,20 @@ import java.util.Map;
* @date 2023/4/21 11:18 * @date 2023/4/21 11:18
*/ */
@RestController @RestController
@RequestMapping("/reportsalesdaystoreproduct") @RequestMapping("/reportproduct")
public class ReportSalesDayStoreProductRest { public class ReportSalesDayStoreProductRest {
private static final String EXCEL_FILE_NAME="D:\\opt\\upFiles"+"\\门店销售明细报表"+ System.currentTimeMillis() +".xlsx";
private static final String TEMPLATE_FILE_NAME="C:\\Users\\www19\\Desktop\\1.xlsx";
@Autowired @Autowired
ReportSalesDayStoreProductService ReportSalesDayStoreProductService; ReportSalesDayStoreProductService ReportSalesDayStoreProductService;
@PostMapping("/getReportSalesDayStoreProduct") @PostMapping("/getRepoSalesDayStoreProd")
public ResultBean<ReportSalesDayStoreProductVo> getReportSalesDayStoreProduct(@RequestBody PagerQuery<ReportSalesDayStoreProductQuery> pq){ public ResultBean<ReportSalesDayStoreProductVo> getReportSalesDayStoreProduct(@RequestBody PagerQuery<ReportSalesDayStoreProductQuery> pq){
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
List<ReportSalesDayStoreProductVo> pv = ReportSalesDayStoreProductService.getReportSalesDayStoreProduct(pq); List<ReportSalesDayStoreProductVo> pv = ReportSalesDayStoreProductService.getReportSalesDayStoreProduct(pq);
return rb.success().setData(pv); return rb.success().setData(pv);
} }
@PostMapping("/save")
public void SalesReport(@RequestBody PagerQuery<ReportSalesDayStoreProductQuery> pq) throws IOException { public ResultBean save(@RequestBody ReportSalesDayStoreProductDto dto){
return ReportSalesDayStoreProductService.save(dto);
} }
} }

30
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaystoreproduct/ReportSalesDayStoreProductService.java

@ -1,5 +1,6 @@
package com.yxt.supervise.report.biz.reportsalesdaystoreproduct; package com.yxt.supervise.report.biz.reportsalesdaystoreproduct;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.util.ListUtils; import com.alibaba.excel.util.ListUtils;
@ -7,8 +8,12 @@ import com.alibaba.excel.write.metadata.WriteSheet;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStore;
import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreDto;
import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreQuery; import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreQuery;
import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProduct; import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProduct;
import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductDto;
import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductQuery; import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductQuery;
import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductVo; import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductVo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -42,6 +47,14 @@ public class ReportSalesDayStoreProductService extends MybatisBaseService<Report
//PagerVo<GdSalesReportVo> p = PagerUtil.pageToVo(pagging, null); //PagerVo<GdSalesReportVo> p = PagerUtil.pageToVo(pagging, null);
return pagging; return pagging;
} }
public ResultBean save(ReportSalesDayStoreProductDto dto) {
ResultBean rb=new ResultBean();
ReportSalesDayStoreProduct entity=new ReportSalesDayStoreProduct();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
return rb.success().setMsg("保存门店商品信息成功");
}
public List<ReportSalesDayStoreProductVo> getAllReportSalesDayStoreProduct(String orderDate) { public List<ReportSalesDayStoreProductVo> getAllReportSalesDayStoreProduct(String orderDate) {
ReportSalesDayStoreProductQuery reportSalesDayStoreProductQuery=new ReportSalesDayStoreProductQuery(); ReportSalesDayStoreProductQuery reportSalesDayStoreProductQuery=new ReportSalesDayStoreProductQuery();
reportSalesDayStoreProductQuery.setDate(orderDate); reportSalesDayStoreProductQuery.setDate(orderDate);
@ -59,34 +72,19 @@ public class ReportSalesDayStoreProductService extends MybatisBaseService<Report
} }
/** /**
* 门店商品销售明细表 * 门店商品销售明细表
* @param map
* @param excelWriter * @param excelWriter
* @param SalesVos * @param SalesVos
* @throws IOException
*/ */
public void exportReportSalesDayStoreProduct(Map<String, Object> map, ExcelWriter excelWriter, List<ReportSalesDayStoreProductVo> SalesVos) throws IOException { public void exportReportSalesDayStoreProduct(ExcelWriter excelWriter, List<ReportSalesDayStoreProductVo> SalesVos){
//得到所有要导出的数据 //得到所有要导出的数据
WriteSheet writeSheetGood = EasyExcel.writerSheet(2).build(); WriteSheet writeSheetGood = EasyExcel.writerSheet(2).build();
//填写数据 //填写数据
excelWriter.fill(SalesVos, writeSheetGood); excelWriter.fill(SalesVos, writeSheetGood);
//excelWriter.fill(goodsSalesReportExcelVos, writeSheetGood);
// 写入list之前的数据
// Calendar cal = Calendar.getInstance();
// Date date = new Date();
// cal.setTime(date);
// SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd");
// Integer month=cal.get(Calendar.MONTH)+1;
//
// excelWriter.fill(map, writeSheetGood);
// list 后面还有个统计 想办法手动写入 // list 后面还有个统计 想办法手动写入
List<List<String>> totalListList1 = ListUtils.newArrayList(); List<List<String>> totalListList1 = ListUtils.newArrayList();
List<String> totalList1 = ListUtils.newArrayList(); List<String> totalList1 = ListUtils.newArrayList();
totalListList1.add(totalList1); totalListList1.add(totalList1);
BigDecimal total=new BigDecimal("0"); BigDecimal total=new BigDecimal("0");
// for(ReportSalesDayStoreProductVo i:goodsSalesReportExcelVos){
// total=total.add(i.getTotal());
// }
totalList1.add(""); totalList1.add("");
totalList1.add(""); totalList1.add("");
totalList1.add(""); totalList1.add("");

13
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostore/ReportSalesDayTobaccoStoreRest.java

@ -5,6 +5,8 @@ import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.builder.ExcelWriterBuilder; import com.alibaba.excel.write.builder.ExcelWriterBuilder;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreDto;
import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreDto;
import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreQuery; import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreQuery;
import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreVo; import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -23,19 +25,20 @@ import java.util.Map;
* @date 2023/4/21 11:18 * @date 2023/4/21 11:18
*/ */
@RestController @RestController
@RequestMapping("/reportsalesdaytobaccostore") @RequestMapping("/reporttobaccostore")
public class ReportSalesDayTobaccoStoreRest { public class ReportSalesDayTobaccoStoreRest {
private static final String EXCEL_FILE_NAME="D:\\opt\\upFiles"+"\\门店销售明细报表"+ System.currentTimeMillis() +".xlsx";
private static final String TEMPLATE_FILE_NAME="C:\\Users\\www19\\Desktop\\1.xlsx";
@Autowired @Autowired
com.yxt.supervise.report.biz.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreService ReportSalesDayTobaccoStoreService; com.yxt.supervise.report.biz.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreService ReportSalesDayTobaccoStoreService;
@PostMapping("/getReportSalesDayTobaccoStore") @PostMapping("/getSalesTobaccoStore")
public ResultBean<ReportSalesDayTobaccoStoreVo> getReportSalesDayTobaccoStore(@RequestBody PagerQuery<ReportSalesDayTobaccoStoreQuery> pq){ public ResultBean<ReportSalesDayTobaccoStoreVo> getReportSalesDayTobaccoStore(@RequestBody PagerQuery<ReportSalesDayTobaccoStoreQuery> pq){
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
List<ReportSalesDayTobaccoStoreVo> pv = ReportSalesDayTobaccoStoreService.getReportSalesDayTobaccoStore(pq); List<ReportSalesDayTobaccoStoreVo> pv = ReportSalesDayTobaccoStoreService.getReportSalesDayTobaccoStore(pq);
return rb.success().setData(pv); return rb.success().setData(pv);
} }
@PostMapping("/save")
public ResultBean save(@RequestBody ReportSalesDayTobaccoStoreDto dto){
return ReportSalesDayTobaccoStoreService.save(dto);
}
} }

31
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostore/ReportSalesDayTobaccoStoreService.java

@ -1,5 +1,6 @@
package com.yxt.supervise.report.biz.reportsalesdaytobaccostore; package com.yxt.supervise.report.biz.reportsalesdaytobaccostore;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.util.ListUtils; import com.alibaba.excel.util.ListUtils;
@ -8,10 +9,14 @@ import com.alibaba.excel.write.metadata.fill.FillConfig;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.report.api.reportsalesdaylog.MyHandler; import com.yxt.supervise.report.api.reportsalesdaylog.MyHandler;
import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreVo; import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreVo;
import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProduct;
import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductDto;
import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductQuery; import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductQuery;
import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStore; import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStore;
import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreDto;
import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreQuery; import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreQuery;
import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreVo; import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreVo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -43,6 +48,14 @@ public class ReportSalesDayTobaccoStoreService extends MybatisBaseService<Report
//PagerVo<GdSalesReportVo> p = PagerUtil.pageToVo(pagging, null); //PagerVo<GdSalesReportVo> p = PagerUtil.pageToVo(pagging, null);
return pagging; return pagging;
} }
public ResultBean save(ReportSalesDayTobaccoStoreDto dto) {
ResultBean rb=new ResultBean();
ReportSalesDayTobaccoStore entity=new ReportSalesDayTobaccoStore();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
return rb.success().setMsg("保存门店烟草信息成功");
}
public List<ReportSalesDayTobaccoStoreVo> getAllReportSalesDayTobaccoStore(String orderDate) { public List<ReportSalesDayTobaccoStoreVo> getAllReportSalesDayTobaccoStore(String orderDate) {
ReportSalesDayTobaccoStoreQuery reportSalesDayTobaccoStoreQuery=new ReportSalesDayTobaccoStoreQuery(); ReportSalesDayTobaccoStoreQuery reportSalesDayTobaccoStoreQuery=new ReportSalesDayTobaccoStoreQuery();
reportSalesDayTobaccoStoreQuery.setDate(orderDate); reportSalesDayTobaccoStoreQuery.setDate(orderDate);
@ -60,12 +73,10 @@ public class ReportSalesDayTobaccoStoreService extends MybatisBaseService<Report
} }
/** /**
* 烟草门店销售明细表 * 烟草门店销售明细表
* @param map
* @param excelWriter * @param excelWriter
* @param SalesVos * @param SalesVos
* @throws IOException
*/ */
public void exportReportSalesDayTobaccoStore(Map<String, Object> map, ExcelWriter excelWriter, List<ReportSalesDayTobaccoStoreVo> SalesVos) throws IOException { public void exportReportSalesDayTobaccoStore(ExcelWriter excelWriter, List<ReportSalesDayTobaccoStoreVo> SalesVos) {
List<CellRangeAddress> list = new ArrayList<>(); List<CellRangeAddress> list = new ArrayList<>();
//new CellRangeAddress(开始行,结束行,开始列,结束列) //new CellRangeAddress(开始行,结束行,开始列,结束列)
list.add(new CellRangeAddress(3, SalesVos.size()+3, 1, 3)); list.add(new CellRangeAddress(3, SalesVos.size()+3, 1, 3));
@ -75,25 +86,11 @@ public class ReportSalesDayTobaccoStoreService extends MybatisBaseService<Report
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
//填写数据 //填写数据
excelWriter.fill(SalesVos, fillConfig, writeSheet); excelWriter.fill(SalesVos, fillConfig, writeSheet);
//excelWriter.fill(excelVos, writeSheet);
// 写入list之前的数据
// Calendar cal = Calendar.getInstance();
// Date date = new Date();
// cal.setTime(date);
// SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd");
// Integer month=cal.get(Calendar.MONTH)+1;
// map.put("number","mdxsmxb"+cal.get(Calendar.YEAR)+month+cal.get(Calendar.DAY_OF_MONTH));
// map.put("storeNum",StoreSalesVos.size());
// excelWriter.fill(map, writeSheet);
// list 后面还有个统计 想办法手动写入 // list 后面还有个统计 想办法手动写入
// 这里偷懒直接用list 也可以用对象
List<List<String>> totalListList = ListUtils.newArrayList(); List<List<String>> totalListList = ListUtils.newArrayList();
List<String> totalList = ListUtils.newArrayList(); List<String> totalList = ListUtils.newArrayList();
totalListList.add(totalList); totalListList.add(totalList);
BigDecimal total=new BigDecimal("0"); BigDecimal total=new BigDecimal("0");
// for(StoreSalesReportExcelVo i:StoreSalesVos){
// total=total.add(i.getSalesVolume());
// }
totalList.add(""); totalList.add("");
totalList.add(""); totalList.add("");
totalList.add(""); totalList.add("");

16
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostoreproduct/ReportSalesDayTobaccoStoreProductRest.java

@ -5,6 +5,8 @@ import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.builder.ExcelWriterBuilder; import com.alibaba.excel.write.builder.ExcelWriterBuilder;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.report.api.reportsalesdaystore.ReportSalesDayStoreDto;
import com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProductDto;
import com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProductQuery; import com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProductQuery;
import com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProductVo; import com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProductVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -13,29 +15,27 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.io.IOException;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @author wangpengfei * @author wangpengfei
* @date 2023/4/21 11:18 * @date 2023/4/21 11:18
*/ */
@RestController @RestController
@RequestMapping("/reportsalesdaytobaccostoreproduct") @RequestMapping("/reporttobaccoproduct")
public class ReportSalesDayTobaccoStoreProductRest { public class ReportSalesDayTobaccoStoreProductRest {
private static final String EXCEL_FILE_NAME="D:\\opt\\upFiles"+"\\门店销售明细报表"+ System.currentTimeMillis() +".xlsx";
private static final String TEMPLATE_FILE_NAME="C:\\Users\\www19\\Desktop\\1.xlsx";
@Autowired @Autowired
ReportSalesDayTobaccoStoreProductService ReportSalesDayTobaccoStoreProductService; ReportSalesDayTobaccoStoreProductService ReportSalesDayTobaccoStoreProductService;
@PostMapping("/getReportSalesDayTobaccoStoreProduct") @PostMapping("/getSalesStoreProduct")
public ResultBean<ReportSalesDayTobaccoStoreProductVo> getReportSalesDayTobaccoStoreProduct(@RequestBody PagerQuery<ReportSalesDayTobaccoStoreProductQuery> pq){ public ResultBean<ReportSalesDayTobaccoStoreProductVo> getReportSalesDayTobaccoStoreProduct(@RequestBody PagerQuery<ReportSalesDayTobaccoStoreProductQuery> pq){
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
List<ReportSalesDayTobaccoStoreProductVo> pv = ReportSalesDayTobaccoStoreProductService.getReportSalesDayTobaccoStoreProduct(pq); List<ReportSalesDayTobaccoStoreProductVo> pv = ReportSalesDayTobaccoStoreProductService.getReportSalesDayTobaccoStoreProduct(pq);
return rb.success().setData(pv); return rb.success().setData(pv);
} }
@PostMapping("/save")
public ResultBean save(@RequestBody ReportSalesDayTobaccoStoreProductDto dto){
return ReportSalesDayTobaccoStoreProductService.save(dto);
}
} }

29
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportsalesdaytobaccostoreproduct/ReportSalesDayTobaccoStoreProductService.java

@ -1,5 +1,6 @@
package com.yxt.supervise.report.biz.reportsalesdaytobaccostoreproduct; package com.yxt.supervise.report.biz.reportsalesdaytobaccostoreproduct;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.util.ListUtils; import com.alibaba.excel.util.ListUtils;
@ -7,9 +8,13 @@ import com.alibaba.excel.write.metadata.WriteSheet;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductVo; import com.yxt.supervise.report.api.reportsalesdaystoreproduct.ReportSalesDayStoreProductVo;
import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStore;
import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreDto;
import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreQuery; import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreQuery;
import com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProduct; import com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProduct;
import com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProductDto;
import com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProductQuery; import com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProductQuery;
import com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProductVo; import com.yxt.supervise.report.api.reportsalesdaytobaccostoreproduct.ReportSalesDayTobaccoStoreProductVo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -40,6 +45,14 @@ public class ReportSalesDayTobaccoStoreProductService extends MybatisBaseService
//PagerVo<GdSalesReportVo> p = PagerUtil.pageToVo(pagging, null); //PagerVo<GdSalesReportVo> p = PagerUtil.pageToVo(pagging, null);
return pagging; return pagging;
} }
public ResultBean save(ReportSalesDayTobaccoStoreProductDto dto) {
ResultBean rb=new ResultBean();
ReportSalesDayTobaccoStoreProduct entity=new ReportSalesDayTobaccoStoreProduct();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
return rb.success().setMsg("保存门店烟草商品信息成功");
}
public List<ReportSalesDayTobaccoStoreProductVo> getAllReportSalesDayTobaccoStoreProduct(String orderDate) { public List<ReportSalesDayTobaccoStoreProductVo> getAllReportSalesDayTobaccoStoreProduct(String orderDate) {
ReportSalesDayTobaccoStoreProductQuery reportSalesDayTobaccoStoreProductQuery=new ReportSalesDayTobaccoStoreProductQuery(); ReportSalesDayTobaccoStoreProductQuery reportSalesDayTobaccoStoreProductQuery=new ReportSalesDayTobaccoStoreProductQuery();
reportSalesDayTobaccoStoreProductQuery.setDate(orderDate); reportSalesDayTobaccoStoreProductQuery.setDate(orderDate);
@ -57,33 +70,19 @@ public class ReportSalesDayTobaccoStoreProductService extends MybatisBaseService
} }
/** /**
* 烟草门店商品销售明细表 * 烟草门店商品销售明细表
* @param map
* @param excelWriter * @param excelWriter
* @param SalesVos * @param SalesVos
* @throws IOException
*/ */
public void exportReportSalesDayTobaccoStoreProduct(Map<String, Object> map, ExcelWriter excelWriter, List<ReportSalesDayTobaccoStoreProductVo>SalesVos) throws IOException { public void exportReportSalesDayTobaccoStoreProduct(ExcelWriter excelWriter, List<ReportSalesDayTobaccoStoreProductVo>SalesVos){
//得到所有要导出的数据 //得到所有要导出的数据
WriteSheet writeSheetGood = EasyExcel.writerSheet(4).build(); WriteSheet writeSheetGood = EasyExcel.writerSheet(4).build();
//填写数据 //填写数据
excelWriter.fill(SalesVos, writeSheetGood); excelWriter.fill(SalesVos, writeSheetGood);
//excelWriter.fill(goodsSalesReportExcelVos, writeSheetGood);
// 写入list之前的数据
// Calendar cal = Calendar.getInstance();
// Date date = new Date();
// cal.setTime(date);
// SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd");
// Integer month=cal.get(Calendar.MONTH)+1;
//
// excelWriter.fill(map, writeSheetGood);
// list 后面还有个统计 想办法手动写入 // list 后面还有个统计 想办法手动写入
List<List<String>> totalListList1 = ListUtils.newArrayList(); List<List<String>> totalListList1 = ListUtils.newArrayList();
List<String> totalList1 = ListUtils.newArrayList(); List<String> totalList1 = ListUtils.newArrayList();
totalListList1.add(totalList1); totalListList1.add(totalList1);
BigDecimal total=new BigDecimal("0"); BigDecimal total=new BigDecimal("0");
// for(ReportSalesDayStoreProductVo i:goodsSalesReportExcelVos){
// total=total.add(i.getTotal());
// }
totalList1.add(""); totalList1.add("");
totalList1.add(""); totalList1.add("");
totalList1.add(""); totalList1.add("");

Loading…
Cancel
Save