From eb88a74bd673166a1f23b06e900ca0e17af0d2b4 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Thu, 9 Nov 2023 17:07:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/dailyreport/DailyReportListVo.java | 14 ++-- .../biz/dailyreport/DailyReportMapper.java | 8 ++ .../biz/dailyreport/DailyReportMapper.xml | 38 ++++++++++ .../biz/dailyreport/DailyReportService.java | 73 ++++++++++++++++++- 4 files changed, 123 insertions(+), 10 deletions(-) diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportListVo.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportListVo.java index 6398d0176b..1a6adbcd62 100644 --- a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportListVo.java +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportListVo.java @@ -18,19 +18,19 @@ public class DailyReportListVo { private String saleOfStockRatio; //库存小计 @ApiModelProperty("库存小计") - private String stock_subtotal; + private int stock_subtotal; @ApiModelProperty("排产小计") - private String pcOrder_subtotal; + private int pcOrder_subtotal; @ApiModelProperty("本日销售订单") - private String saleOrder_subtotal_day; + private int saleOrder_subtotal_day; @ApiModelProperty("本日销售") - private String sale_subtotal_day; + private int sale_subtotal_day; @ApiModelProperty("欠款出库金额") - private String arrears_carry_veh_amount; + private int arrears_carry_veh_amount; @ApiModelProperty("金融未放款金额") - private String loan_not_amount; + private int loan_not_amount; @ApiModelProperty("本日买断") - private String buyout_day; + private int buyout_day; private String useOrgSid; } diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java index 397e527bbd..8d8bae1360 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java @@ -33,4 +33,12 @@ public interface DailyReportMapper extends BaseMapper { BaseModelConfig selectConfig(String configSid); IPage listPage3_1(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw); + + String select(@Param("useOrgSid") String useOrgSid, @Param("brandSid") String brandSid, @Param("vehModelSid") String vehModelSid, @Param("vehMConfigSid") String vehMConfigSid, @Param("createTime") String createTime); + + String select1(String date); + + String select2(@Param("date") String date, @Param("busOrgSid") String busOrgSid); + + String select3(@Param("busOrgSid") String busOrgSid, @Param("brandSid") String brandSid, @Param("vehModelSid") String vehModelSid, @Param("vehMConfigSid") String vehMConfigSid, @Param("createTime") String createTime); } diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml index 2bf02183f6..23577be588 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml @@ -59,4 +59,42 @@ group by DATE_FORMAT(createTime, '%Y-%m-%d') + + + + + + + + \ No newline at end of file diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java index 7636f1dca4..77c03a4f59 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java @@ -12,11 +12,13 @@ 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 net.sf.jsqlparser.expression.StringValue; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.lang.reflect.Field; +import java.math.BigDecimal; import java.util.*; /** @@ -129,7 +131,19 @@ public class DailyReportService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); @@ -160,6 +174,20 @@ public class DailyReportService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); @@ -186,6 +214,25 @@ public class DailyReportService extends MybatisBaseService page = PagerUtil.queryToPage(pagerQuery); IPage pagging = baseMapper.listPage3_1(page, qw); + List recordList = pagging.getRecords(); + recordList.removeAll(Collections.singleton(null)); + if (!recordList.isEmpty()) { + for (int i = 0; i < recordList.size(); i++) { + DailyReportListVo dailyReportVo = recordList.get(i); + //根据库存小计和排产小计计算库存总计 + int stock_subtotal = dailyReportVo.getStock_subtotal(); + int pcOrder_subtotal = dailyReportVo.getPcOrder_subtotal(); + int stock_total = stock_subtotal+pcOrder_subtotal; + //根据库存总计/前三月的平均销售台数为存销比 + String threeNum = baseMapper.select1(dailyReportVo.getDate()); + if("0".equals(threeNum)){ + dailyReportVo.setSaleOfStockRatio(String.valueOf(stock_total)); + }else{ + BigDecimal big = new BigDecimal(stock_total).divide(new BigDecimal(threeNum).divide(new BigDecimal(3),2,BigDecimal.ROUND_CEILING),2,BigDecimal.ROUND_CEILING); + dailyReportVo.setSaleOfStockRatio(big.toString()); + } + } + } PagerVo p = PagerUtil.pageToVo(pagging, null); return p; } @@ -193,6 +240,7 @@ public class DailyReportService extends MybatisBaseService listPage2_1(PagerQuery pagerQuery) { DailyReportQuery query = pagerQuery.getParams(); QueryWrapper qw = new QueryWrapper<>(); + String busOrgSid = ""; if (query != null) { //生成日期开始时间 String createTimeStart = query.getStartTime(); @@ -204,12 +252,31 @@ public class DailyReportService extends MybatisBaseService stringList = Arrays.asList(query.getOrgPath().split("/")); - String sybOrgSid = query.getOrgPath().substring(37, 73); - qw.eq("busOrgSid", sybOrgSid); + busOrgSid = query.getOrgPath().substring(37, 73); + qw.eq("busOrgSid", busOrgSid); } } IPage page = PagerUtil.queryToPage(pagerQuery); IPage pagging = baseMapper.listPage3_1(page, qw); + List recordList = pagging.getRecords(); + recordList.removeAll(Collections.singleton(null)); + if (!recordList.isEmpty()) { + for (int i = 0; i < recordList.size(); i++) { + DailyReportListVo dailyReportVo = recordList.get(i); + //根据库存小计和排产小计计算库存总计 + int stock_subtotal = dailyReportVo.getStock_subtotal(); + int pcOrder_subtotal = dailyReportVo.getPcOrder_subtotal(); + int stock_total = stock_subtotal+pcOrder_subtotal; + //根据库存总计/前三月的平均销售台数为存销比 + String threeNum = baseMapper.select2(dailyReportVo.getDate(),busOrgSid); + if("0".equals(threeNum)){ + dailyReportVo.setSaleOfStockRatio(String.valueOf(stock_total)); + }else{ + BigDecimal big = new BigDecimal(stock_total).divide(new BigDecimal(threeNum).divide(new BigDecimal(3),2,BigDecimal.ROUND_CEILING),2,BigDecimal.ROUND_CEILING); + dailyReportVo.setSaleOfStockRatio(big.toString()); + } + } + } PagerVo p = PagerUtil.pageToVo(pagging, null); return p; }