From ec191d1646f14a03efe1b13712ef6b8d1b8e7e13 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Thu, 22 May 2025 16:38:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FactoryDaliyReportFeign.java | 3 +- .../FactoryDaliyReportMapper.java | 5 +- .../FactoryDaliyReportMapper.xml | 152 ++++++++++++++++-- .../FactoryDaliyReportService.java | 59 ++++++- 4 files changed, 202 insertions(+), 17 deletions(-) diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportFeign.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportFeign.java index a53dcca5df..945c6cbb70 100644 --- a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportFeign.java +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportFeign.java @@ -3,6 +3,7 @@ package com.yxt.anrui.reportcenter.api.factoryDailyReport; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; @@ -28,7 +29,7 @@ public interface FactoryDaliyReportFeign { @ResponseBody ResultBean> pageList(@RequestBody PagerQuery pagerQuery); - @PostMapping("/syb") + @GetMapping("/syb") @ResponseBody ResultBean getSybList(); diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.java index 05c9ac9f0f..1715371857 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.java @@ -3,6 +3,7 @@ package com.yxt.anrui.reportcenter.biz.factoryDailyReport; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.yxt.anrui.reportcenter.api.factoryDailyReport.FactoryDaliyReportVo; +import com.yxt.anrui.reportcenter.api.factoryDailyReport.YearAllVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -20,5 +21,7 @@ public interface FactoryDaliyReportMapper { int selectRecordCount(@Param(Constants.WRAPPER)QueryWrapper qw); - List getSybSidList(); + List getSybNameList(); + + List getSybList(); } diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.xml b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.xml index b9648f674c..4b1ae64782 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.xml +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.xml @@ -135,14 +135,148 @@ group by year)a where a.year != '' and a.year is not null - + SELECT + so.name, + so.sid AS linkSid, + COUNT(DISTINCT LEFT(date_info.date_str, 4)) AS colspan + FROM ( + -- 单车返利表 + SELECT + SUBSTRING_INDEX(SUBSTRING_INDEX(orgPath, '/', 2), '/', -1) AS second_level_org, + palceGenDate AS date_str + FROM anrui_scm.scm_veh_rebate + WHERE orgPath LIKE '%/%/%' + AND palceGenDate IS NOT NULL + AND LEFT(palceGenDate, 4) != '' and LEFT(palceGenDate, 4) is not null + + UNION ALL + + -- 专项返利表 + SELECT + SUBSTRING_INDEX(SUBSTRING_INDEX(orgPath, '/', 2), '/', -1) AS second_level_org, + palceGenDate AS date_str + FROM anrui_scm.scm_special_rebate + WHERE orgPath LIKE '%/%/%' + AND palceGenDate IS NOT NULL + AND LEFT(palceGenDate, 4) != '' and LEFT(palceGenDate, 4) is not null + + UNION ALL + + -- 回款返利表 + SELECT + SUBSTRING_INDEX(SUBSTRING_INDEX(orgPath, '/', 2), '/', -1) AS second_level_org, + collectionDate AS date_str + FROM anrui_scm.scm_collection_rebate + WHERE orgPath LIKE '%/%/%' + AND collectionDate IS NOT NULL + AND LEFT(collectionDate, 4) != '' and LEFT(collectionDate, 4) is not null + ) AS date_info + LEFT JOIN anrui_portal.sys_organization so + ON so.sid = date_info.second_level_org + GROUP BY date_info.second_level_org, so.name, so.sid + ORDER BY date_info.second_level_org DESC; + + + + \ No newline at end of file diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportService.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportService.java index f5bd5137fa..9c1e496ea3 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportService.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportService.java @@ -7,10 +7,7 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.reportcenter.api.dailyreport.DailyReport; import com.yxt.anrui.reportcenter.api.dailyreport.DailyReportAppPagerQuery; import com.yxt.anrui.reportcenter.api.dailyreport.DailyReportListVo; -import com.yxt.anrui.reportcenter.api.factoryDailyReport.FactoryDaliyReportQuery; -import com.yxt.anrui.reportcenter.api.factoryDailyReport.FactoryDaliyReportVo; -import com.yxt.anrui.reportcenter.api.factoryDailyReport.SybVo; -import com.yxt.anrui.reportcenter.api.factoryDailyReport.UnUploadVo; +import com.yxt.anrui.reportcenter.api.factoryDailyReport.*; import com.yxt.anrui.reportcenter.config.DecimalUtil; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; @@ -22,6 +19,7 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.*; +import java.util.stream.Collectors; /** * @description: @@ -163,8 +161,57 @@ public class FactoryDaliyReportService { public ResultBean getSybList() { ResultBean rb = ResultBean.fireFail(); + SybVo sysVo = new SybVo(); + sysVo.setTitle("事业部报表"); //先查询有哪些事业部以及事业部下的年份 - List orgSidList = factoryDaliyReportMapper.getSybSidList(); - return null; + List orgNameList = factoryDaliyReportMapper.getSybNameList(); + List factoryDaliyReportVoList = factoryDaliyReportMapper.getSybList(); + factoryDaliyReportVoList.removeAll(Collections.singleton(null)); + if(!factoryDaliyReportVoList.isEmpty()){ + for (int i = 0; i < factoryDaliyReportVoList.size(); i++) { + FactoryDaliyReportVo factoryDaliyReportVo = factoryDaliyReportVoList.get(i); + factoryDaliyReportVo.setEstimate(DecimalUtil.format(factoryDaliyReportVo.getEstimate())); + factoryDaliyReportVo.setUpload(DecimalUtil.format(factoryDaliyReportVo.getUpload())); + factoryDaliyReportVo.setAdjust(DecimalUtil.format(factoryDaliyReportVo.getAdjust())); + factoryDaliyReportVo.setNotUploadMoney(DecimalUtil.format(factoryDaliyReportVo.getNotUploadMoney())); + factoryDaliyReportVo.setUnuploaded_rebate(DecimalUtil.format(factoryDaliyReportVo.getUnuploaded_rebate())); + factoryDaliyReportVo.setFee(DecimalUtil.format(factoryDaliyReportVo.getFee())); + factoryDaliyReportVo.setExpense_payment(DecimalUtil.format(factoryDaliyReportVo.getExpense_payment())); + factoryDaliyReportVo.setPending_payment(DecimalUtil.format(factoryDaliyReportVo.getPending_payment())); + factoryDaliyReportVo.setOffset_payment(DecimalUtil.format(factoryDaliyReportVo.getOffset_payment())); + } + //年份 + List row2 = factoryDaliyReportVoList.stream().map(FactoryDaliyReportVo::getYear).collect(Collectors.toList()); + //预提 + List row3 = factoryDaliyReportVoList.stream().map(FactoryDaliyReportVo::getEstimate).collect(Collectors.toList()); + //上传 + List row4 = factoryDaliyReportVoList.stream().map(FactoryDaliyReportVo::getUpload).collect(Collectors.toList()); + //调整 + List row5 = factoryDaliyReportVoList.stream().map(FactoryDaliyReportVo::getAdjust).collect(Collectors.toList()); + //未上传 + List row6 = factoryDaliyReportVoList.stream().map(FactoryDaliyReportVo::getNotUploadMoney).collect(Collectors.toList()); + //其中返利 + List row7 = factoryDaliyReportVoList.stream().map(FactoryDaliyReportVo::getUnuploaded_rebate).collect(Collectors.toList()); + //其中费用 + List row8 = factoryDaliyReportVoList.stream().map(FactoryDaliyReportVo::getFee).collect(Collectors.toList()); + //支出 + List row9 = factoryDaliyReportVoList.stream().map(FactoryDaliyReportVo::getExpense_payment).collect(Collectors.toList()); + //待支付 + List row10 = factoryDaliyReportVoList.stream().map(FactoryDaliyReportVo::getPending_payment).collect(Collectors.toList()); + //抵顶 + List row11 = factoryDaliyReportVoList.stream().map(FactoryDaliyReportVo::getOffset_payment).collect(Collectors.toList()); + sysVo.setRow1(orgNameList); + sysVo.setRow2(row2); + sysVo.setRow3(row3); + sysVo.setRow4(row4); + sysVo.setRow5(row5); + sysVo.setRow6(row6); + sysVo.setRow7(row7); + sysVo.setRow8(row8); + sysVo.setRow9(row9); + sysVo.setRow10(row10); + sysVo.setRow11(row11); + } + return rb.success().setData(sysVo); } }