From 34f6927fef0aecf184d669cc557ea4ae500ca9a7 Mon Sep 17 00:00:00 2001 From: lzh Date: Fri, 13 Jan 2023 04:00:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E9=80=94=E8=AE=A1=E7=AE=97=E7=9A=84?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gdinstorage/GdInstorageCountMapper.java | 41 ++++--- .../gdinstorage/GdInstorageCountService.java | 47 +++++--- .../biz/gdinstorage/GdInstorageService.java | 2 +- .../biz/gdsales/GdSalesReportdayService.java | 6 +- .../portal/biz/gdsales/GdSalesYcMapper.java | 10 +- .../portal/biz/gdsales/GdSalesYcService.java | 8 ++ .../biz/gdsales/SalesDataDailySummary.java | 65 +++++++++++ .../gdsales/SalesDataDailySummaryMapper.java | 51 +++++++++ .../gdsales/SalesDataDailySummaryService.java | 107 ++++++++++++++++++ .../在途商品汇总统计表.xlsx | Bin 20684 -> 20767 bytes 10 files changed, 304 insertions(+), 33 deletions(-) create mode 100644 yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsales/SalesDataDailySummary.java create mode 100644 yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsales/SalesDataDailySummaryMapper.java create mode 100644 yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsales/SalesDataDailySummaryService.java diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageCountMapper.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageCountMapper.java index 3330a36b..82be2458 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageCountMapper.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageCountMapper.java @@ -89,21 +89,34 @@ public interface GdInstorageCountMapper extends BaseMapper { * * @return */ - @Select("SELECT prs.storeName storeName ,prt.code code ,CONVERT(SUM(prs.price),DECIMAL(12,2)) price,prt.purchaseDate purchaseDate, " + - "prt.arrivalDate arrivalDate " + - " FROM purchase_requisition_store prs " + - "LEFT JOIN `purchase_requisition_tobacco` prt ON prt.sid=prs.mainsid " + - "GROUP BY prs.storeCode ORDER BY prs.storeName ") + @Select("select t1.code, t1.ddje,t1.purchasedate,t1.arrivalDate, " + + " IFNULL(t2.dddhjz,0) dddhjz, " + + " IF((t1.ddje-IFNULL(t2.dddhjz,0))>0,(t1.ddje-IFNULL(t2.dddhjz,0)),0) zthjz " + + " from " + + "( select prt.code,prt.purchasedate,CONVERT(sum(prs.price),DECIMAL(12,2)) ddje,prt.arrivalDate " + + " from `purchase_requisition_store` prs left join `purchase_requisition_tobacco` prt on prt.sid=prs.mainsid " + + " group by prt.purchasedate " + + ") t1 left join " + + "( select purchasedate pp, CONVERT(sum(giyy.colq16),DECIMAL(12,2)) dddhjz " + + " from `gd_instorage_yc` giyy where giyy.purchasedate>'2023.01.04' " + + " group by purchasedate " + + ") t2 on t1.purchasedate = t2.pp ") List> ycddmxb(); - @Select("SELECT CONCAT('[',prs.storeCode,']',prs.storeName) storeName , " + - " CONVERT(SUM(prs.price),DECIMAL(12,2)) ddspjz, " + - " (SELECT CONVERT(IFNULL(SUM(giyy.colq16),0),DECIMAL(12,2)) FROM gd_instorage_yc giyy WHERE giyy.colb1=prs.storeCode) colq16, " + - " CONVERT(IF(SUM(prs.price)-IFNULL((SELECT SUM(giyy.colq16) FROM gd_instorage_yc giyy WHERE giyy.colb1=prs.storeCode ),0)>0, " + - " SUM(prs.price)-IFNULL((SELECT SUM(giyy.colq16) FROM gd_instorage_yc giyy WHERE giyy.colb1=prs.storeCode ),0),0),DECIMAL(12,2)) ztprodValue1, " + - " CONVERT(IF(IFNULL((SELECT SUM(giyy.colq16) FROM gd_instorage_yc giyy WHERE giyy.colb1=prs.storeCode ),0)-SUM(prs.price)>0,IFNULL((SELECT SUM(giyy.colq16) " + - " FROM gd_instorage_yc giyy WHERE giyy.colb1=prs.storeCode ),0)-SUM(prs.price),0),DECIMAL(12,2)) ztprodValue2 " + - " FROM `purchase_requisition_store` prs " + - " GROUP BY prs.storeCode") + @Select("select t1.storeCode, " + + " t2.colc2 xsqd, " + + " t1.ddspjz, " + + " t2.sjdhjz, " + + " IF((t1.ddspjz-t2.sjdhjz)>0,(t1.ddspjz-t2.sjdhjz),0) zthjz, " + + " IF((t2.sjdhjz-t1.ddspjz)>0,(t2.sjdhjz-t1.ddspjz),0) cchjz " + + " from " + + "( select prs.storeCode,CONVERT(sum(prs.price),DECIMAL(12,2)) ddspjz " + + " from `purchase_requisition_store` prs " + + " group by prs.storeCode " + + ") t1 left join " + + "( select colb1,colc2, CONVERT(sum(giyy.colq16),DECIMAL(12,2)) sjdhjz " + + " from `gd_instorage_yc` giyy where giyy.purchasedate>'2023.01.04' " + + " group by colb1,colc2 " + + ") t2 on t1.storeCode = t2.colb1") List> ycspdhmxb(); } diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageCountService.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageCountService.java index 2e85d94b..fcd37b9c 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageCountService.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageCountService.java @@ -217,17 +217,16 @@ public class GdInstorageCountService extends ServiceImpl map = list4.get(y - 3); - writer.writeCellValue(0, y, "市烟草"); - writer.writeCellValue(1, y, map.get("storeName")); + writer.writeCellValue(1, y, map.get("xsqd")); writer.writeCellValue(2, y, map.get("ddspjz")); ccddspjz = ccddspjz + ExcelTool.toDouble(map.get("ddspjz")); - writer.writeCellValue(3, y, map.get("colq16")); - cccolq16 = cccolq16 + ExcelTool.toDouble(map.get("colq16")); - writer.writeCellValue(4, y, map.get("ztprodValue1")); - ccztprodValue1 = ccztprodValue1 + ExcelTool.toDouble(map.get("ztprodValue1")); - writer.writeCellValue(5, y, map.get("ztprodValue2")); - ccztprodValue2 = ccztprodValue2 + ExcelTool.toDouble(map.get("ztprodValue2")); + writer.writeCellValue(3, y, map.get("sjdhjz")); + cccolq16 = cccolq16 + ExcelTool.toDouble(map.get("sjdhjz")); + writer.writeCellValue(4, y, map.get("zthjz")); + ccztprodValue1 = ccztprodValue1 + ExcelTool.toDouble(map.get("zthjz")); + writer.writeCellValue(5, y, map.get("cchjz")); + ccztprodValue2 = ccztprodValue2 + ExcelTool.toDouble(map.get("cchjz")); } writer.writeCellValue(1, countRow4, "合计"); writer.writeCellValue(2, countRow4, ccddspjz); @@ -239,26 +238,33 @@ public class GdInstorageCountService extends ServiceImpl> list5 = baseMapper.ycddmxb(); if (list5 != null && !list5.isEmpty()) { int size5 = list5.size(); int countRow5 = size5 + 3; xh = 0; - double cPrice = 0; + double cPrice = 0,cghje=0,cztje=0; for (int y = 3; y < countRow5; y++) { Map map = list5.get(y - 3); xh++; writer.writeCellValue(0, y, xh); - writer.writeCellValue(1, y, map.get("storeName")); + writer.writeCellValue(1, y, "市烟草"); writer.writeCellValue(2, y, map.get("code")); - writer.writeCellValue(3, y, map.get("price")); - cPrice = cPrice + ExcelTool.toDouble(map.get("price")); - writer.writeCellValue(4, y, map.get("purchaseDate")); - writer.writeCellValue(5, y, map.get("arrivalDate")); + writer.writeCellValue(3, y, map.get("ddje")); + writer.writeCellValue(4, y, map.get("ddje")); + cPrice = cPrice + ExcelTool.toDouble(map.get("ddje")); + writer.writeCellValue(5, y, map.get("purchasedate")); + writer.writeCellValue(6, y, map.get("arrivalDate")); + writer.writeCellValue(7, y, map.get("dddhjz")); + cghje = cghje + ExcelTool.toDouble(map.get("dddhjz")); + writer.writeCellValue(8, y, map.get("zthjz")); + cztje = cztje + ExcelTool.toDouble(map.get("zthjz")); } writer.writeCellValue(1, countRow5, "合计金额"); - writer.writeCellValue(3, countRow5, cPrice); + writer.writeCellValue(4, countRow5, cPrice); + writer.writeCellValue(7, countRow5, cghje); + writer.writeCellValue(8, countRow5, cztje); } writer.flush(); @@ -276,4 +282,13 @@ public class GdInstorageCountService extends ServiceImpl> list = baseMapper.ycddmxb(); + for (Map map : list) { + wdhjz = wdhjz + ExcelTool.toDouble(map.get("zthjz")); + } + return wdhjz; + } } diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageService.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageService.java index 786c7b8c..85c1fdf3 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageService.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageService.java @@ -206,7 +206,7 @@ public class GdInstorageService extends ServiceImpl { List> listOfProductOnDay(@Param("dataDate") String orderDate); @Select("SELECT CONVERT(IFNULL(sum(saleNum*salePrice),0),DECIMAL(12,2)) as amount FROM gd_sales_yc where dataDate=#{dataDate}") - double amountOfDay(String orderDate); + double amountOfDay(@Param("dataDate") String orderDate); + + @Select("SELECT CONVERT(IFNULL(sum(saleNum*salePrice),0),DECIMAL(12,2)) as amount FROM gd_sales_yc where dataDate=#{dataDate} " + + " and storeCode in (select code from store_index si where si.`type`='连网连锁店') ") + double amountOfLwlsdDay(@Param("dataDate") String orderDate); + + @Select("SELECT CONVERT(IFNULL(sum(saleNum*salePrice),0),DECIMAL(12,2)) as amount FROM gd_sales_yc where dataDate=#{dataDate} " + + " and storeCode in (select code from store_index si where si.`type`='连锁内加盟') ") + double amountOfLsnjmDay(String orderDate); } diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsales/GdSalesYcService.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsales/GdSalesYcService.java index d40015e2..257ed5b9 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsales/GdSalesYcService.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsales/GdSalesYcService.java @@ -70,4 +70,12 @@ public class GdSalesYcService extends ServiceImpl { public double amountOfDay(String orderDate) { return baseMapper.amountOfDay(orderDate); } + + public double amountOfLwlsdDay(String orderDate) { + return baseMapper.amountOfLwlsdDay(orderDate); + } + + public double amountOfLsnjmDay(String orderDate) { + return baseMapper.amountOfLsnjmDay(orderDate); + } } diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsales/SalesDataDailySummary.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsales/SalesDataDailySummary.java new file mode 100644 index 00000000..63a27d86 --- /dev/null +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsales/SalesDataDailySummary.java @@ -0,0 +1,65 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.supervise.portal.biz.gdsales; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * Project: yxt_supervise
+ * File: SalesDataDailySummary.java
+ * Class: com.yxt.supervise.portal.biz.gdsales.SalesDataDailySummary
+ * Description: <描述类的功能>.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023/1/13 2:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@TableName("sales_data_daily_summary") +public class SalesDataDailySummary extends BaseEntity { + public SalesDataDailySummary() { + } + + public SalesDataDailySummary(String summaryDate) { + this.summaryDate = summaryDate; + } + + public SalesDataDailySummary(String summaryDate, String salesChannelCode, String salesTerritoryCode) { + this.summaryDate = summaryDate; + this.salesChannelCode = salesChannelCode; + this.salesTerritoryCode = salesTerritoryCode; + } + + private String summaryDate; // 汇总日期 + private String salesChannelCode; // 销售渠道代码01.连网连锁店02.连锁内加盟03.配送中心04.连锁外加盟(销配结算) + private String salesTerritoryCode; // 销售领域代码01.常规商品02.烟草 + private double salesAmount = 0; //销售金额 +} diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsales/SalesDataDailySummaryMapper.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsales/SalesDataDailySummaryMapper.java new file mode 100644 index 00000000..a070442c --- /dev/null +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsales/SalesDataDailySummaryMapper.java @@ -0,0 +1,51 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.supervise.portal.biz.gdsales; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * Project: yxt_supervise
+ * File: SalesDataDailySummaryMapper.java
+ * Class: com.yxt.supervise.portal.biz.gdsales.SalesDataDailySummaryMapper
+ * Description: <描述类的功能>.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023/1/13 2:31
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface SalesDataDailySummaryMapper extends BaseMapper { + + @Delete("delete from sales_data_daily_summary where summaryDate=#{summaryDate}") + void clearByOrderDate(@Param("summaryDate") String orderDate); +} diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsales/SalesDataDailySummaryService.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsales/SalesDataDailySummaryService.java new file mode 100644 index 00000000..e4be7f12 --- /dev/null +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdsales/SalesDataDailySummaryService.java @@ -0,0 +1,107 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.supervise.portal.biz.gdsales; + +import com.yxt.common.base.service.MybatisBaseService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.xml.ws.Action; +import java.util.ArrayList; +import java.util.List; + +/** + * Project: yxt_supervise
+ * File: SalesDataDailySummaryService.java
+ * Class: com.yxt.supervise.portal.biz.gdsales.SalesDataDailySummaryService
+ * Description: <描述类的功能>.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023/1/13 2:32
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class SalesDataDailySummaryService extends MybatisBaseService { + + @Autowired + private GdSalesYcService gdSalesYcService; + + + public void clearAndInsertBySalesReportday(GdSalesReportday rp) { + String orderDate = rp.getOrderDate(); + + List toInsertList = new ArrayList<>(); + + SalesDataDailySummary sd0101 = new SalesDataDailySummary(orderDate); + sd0101.setSalesChannelCode("01"); + sd0101.setSalesTerritoryCode("01"); + sd0101.setSalesAmount(rp.getLwlsdze()); + toInsertList.add(sd0101); + + SalesDataDailySummary sd0102 = new SalesDataDailySummary(orderDate,"01","02"); + double lwlsdyc = gdSalesYcService.amountOfLwlsdDay(orderDate); + sd0102.setSalesAmount(lwlsdyc); + toInsertList.add(sd0102); + + + SalesDataDailySummary sd0201 = new SalesDataDailySummary(orderDate,"02","01"); + sd0201.setSalesAmount(rp.getLsnjmze()); + toInsertList.add(sd0201); + + SalesDataDailySummary sd0202 = new SalesDataDailySummary(orderDate,"02","02"); + double lsnjmyc = gdSalesYcService.amountOfLsnjmDay(orderDate); + sd0202.setSalesAmount(lsnjmyc); + toInsertList.add(sd0202); + + SalesDataDailySummary sd0301 = new SalesDataDailySummary(orderDate,"03","01"); + sd0301.setSalesAmount(rp.getPszxze()); + toInsertList.add(sd0301); + + SalesDataDailySummary sd0302 = new SalesDataDailySummary(orderDate,"03","02"); + sd0302.setSalesAmount(0); + toInsertList.add(sd0302); + + + SalesDataDailySummary sd0401 = new SalesDataDailySummary(orderDate,"04","01"); + sd0401.setSalesAmount(rp.getLswjmze()); + toInsertList.add(sd0401); + + + SalesDataDailySummary sd0402 = new SalesDataDailySummary(orderDate,"04","02"); + sd0402.setSalesAmount(rp.getYcjmdze()); + toInsertList.add(sd0402); + + clearByOrderDate(orderDate); + super.saveBatch(toInsertList); + } + + private void clearByOrderDate(String orderDate) { + baseMapper.clearByOrderDate(orderDate); + } +} diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/resources/xlsx-tmpl/在途商品汇总统计表.xlsx b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/resources/xlsx-tmpl/在途商品汇总统计表.xlsx index 2c8bdd6f40556ccb4227834063fdb99f9f077c10..b90b51a60b7113de74a4a966354c62817189c971 100644 GIT binary patch delta 8160 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