Browse Source

修改

master
dimengzhe 2 weeks ago
parent
commit
ec191d1646
  1. 3
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportFeign.java
  2. 5
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.java
  3. 152
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.xml
  4. 59
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportService.java

3
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<Map<String, Object>> pageList(@RequestBody PagerQuery<FactoryDaliyReportQuery> pagerQuery);
@PostMapping("/syb")
@GetMapping("/syb")
@ResponseBody
ResultBean<SybVo> getSybList();

5
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<FactoryDaliyReportVo> qw);
List<String> getSybSidList();
List<YearAllVo> getSybNameList();
List<FactoryDaliyReportVo> getSybList();
}

152
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>
<select id="getSybSidList" resultType="java.lang.String">
SELECT orgPath FROM (
SELECT orgPath FROM scm_veh_rebate
UNION
SELECT orgPath FROM scm_special_rebate
UNION
SELECT orgPath FROM scm_collection_rebate
) AS combined
ORDER BY orgPath DESC;
<select id="getSybNameList" resultType="com.yxt.anrui.reportcenter.api.factoryDailyReport.YearAllVo">
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;
</select>
<select id="getSybList" resultType="com.yxt.anrui.reportcenter.api.factoryDailyReport.FactoryDaliyReportVo">
SELECT
a.year,
a.division_name,
ROUND(SUM(a.estimateRebate), 2) AS estimate,
ROUND(SUM(a.uploadMoney), 2) AS upload,
ROUND(SUM(a.adjustmentMoney), 2) AS adjust,
ROUND(SUM(a.notUploadMoney), 2) AS notUploadMoney,
ROUND(SUM(a.fee), 2) AS fee,
ROUND(SUM(a.expense_payment), 2) AS expense_payment,
ROUND(SUM(a.pending_payment), 2) AS pending_payment,
ROUND(SUM(a.offset_payment), 2) AS offset_payment,
ROUND(SUM(a.remaining_payment), 2) AS remaining_payment,
ROUND(SUM(a.unuploaded_rebate), 2) AS unuploaded_rebate
FROM (
SELECT
LEFT(palceGenDate, 4) AS year,
SUBSTRING_INDEX(SUBSTRING_INDEX(orgPath, '/', 2), '/', -1) AS division_name,
SUM(estimateRebate) estimateRebate,
SUM(uploadMoney) uploadMoney,
SUM(adjustmentMoney) adjustmentMoney,
SUM(
estimateRebate +
IFNULL(CASE WHEN isAdjustment = '是' AND adjustmentState = 1 THEN adjustmentMoney ELSE 0 END, 0)
- IFNULL(uploadMoney, 0) - IFNULL(secondaryUploadMoney, 0)
) AS notUploadMoney,
SUM(
estimateRebate +
IFNULL(CASE WHEN isAdjustment = '是' AND adjustmentState = 1 THEN adjustmentMoney ELSE 0 END, 0)
- (uploadMoney + secondaryUploadMoney)
) AS unuploaded_rebate,
SUM(onceTreatCost + secondTreatCost + tempTreatCost + expectTreatCost + expectSuppCost +
onceSuppCost + secondSuppCost + tempSuppCost) AS fee,
SUM(onceTreatCost + secondTreatCost + tempTreatCost) AS expense_payment,
SUM(expectTreatCost) AS pending_payment,
SUM(expectSuppCost + onceSuppCost + secondSuppCost + tempSuppCost) AS offset_payment,
SUM(
estimateRebate - (uploadMoney + secondaryUploadMoney)
- (onceTreatCost + secondTreatCost + tempTreatCost)
- expectTreatCost
- (expectSuppCost + onceSuppCost + secondSuppCost + tempSuppCost)
) AS remaining_payment
FROM anrui_scm.scm_veh_rebate
GROUP BY LEFT(palceGenDate, 4), SUBSTRING_INDEX(SUBSTRING_INDEX(orgPath, '/', 2), '/', -1)
UNION ALL
SELECT
LEFT(palceGenDate, 4) AS year,
SUBSTRING_INDEX(SUBSTRING_INDEX(orgPath, '/', 2), '/', -1) AS division_name,
SUM(estimateRebate) estimateRebate,
SUM(uploadMoney) uploadMoney,
SUM(adjustmentMoney) adjustmentMoney,
SUM(
estimateRebate +
IFNULL(CASE WHEN isAdjustment = '是' AND adjustmentState = 1 THEN adjustmentMoney ELSE 0 END, 0)
- IFNULL(uploadMoney, 0) - IFNULL(secondaryUploadMoney, 0)
) AS notUploadMoney,
SUM(
estimateRebate +
IFNULL(CASE WHEN isAdjustment = '是' AND adjustmentState = 1 THEN adjustmentMoney ELSE 0 END, 0)
- (uploadMoney + secondaryUploadMoney)
) AS unuploaded_rebate,
SUM(onceTreatCost + secondTreatCost + tempTreatCost + expectTreatCost + expectSuppCost +
onceSuppCost + secondSuppCost + tempSuppCost) AS fee,
SUM(onceTreatCost + secondTreatCost + tempTreatCost) AS expense_payment,
SUM(expectTreatCost) AS pending_payment,
SUM(expectSuppCost + onceSuppCost + secondSuppCost + tempSuppCost) AS offset_payment,
SUM(
estimateRebate - (uploadMoney + secondaryUploadMoney)
- (onceTreatCost + secondTreatCost + tempTreatCost)
- expectTreatCost
- (expectSuppCost + onceSuppCost + secondSuppCost + tempSuppCost)
) AS remaining_payment
FROM anrui_scm.scm_special_rebate
GROUP BY LEFT(palceGenDate, 4), SUBSTRING_INDEX(SUBSTRING_INDEX(orgPath, '/', 2), '/', -1)
UNION ALL
SELECT
LEFT(collectionDate, 4) AS year,
SUBSTRING_INDEX(SUBSTRING_INDEX(orgPath, '/', 2), '/', -1) AS division_name,
SUM(estimateRebate) estimateRebate,
SUM(uploadMoney) uploadMoney,
SUM(adjustmentMoney) adjustmentMoney,
SUM(estimateRebate + IFNULL(adjustmentMoney, 0) - IFNULL(uploadMoney, 0)) AS notUploadMoney,
SUM(estimateRebate + IFNULL(adjustmentMoney, 0) - uploadMoney) AS unuploaded_rebate,
0 AS fee,
0 AS expense_payment,
0 AS pending_payment,
0 AS offset_payment,
SUM(estimateRebate - uploadMoney) AS remaining_payment
FROM anrui_scm.scm_collection_rebate
GROUP BY LEFT(collectionDate, 4), SUBSTRING_INDEX(SUBSTRING_INDEX(orgPath, '/', 2), '/', -1)
) a
WHERE a.year IS NOT NULL AND a.year != ''
GROUP BY a.year, a.division_name
ORDER BY a.division_name desc, a.year DESC;
</select>
</mapper>

59
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<SybVo> getSybList() {
ResultBean<SybVo> rb = ResultBean.fireFail();
SybVo sysVo = new SybVo();
sysVo.setTitle("事业部报表");
//先查询有哪些事业部以及事业部下的年份
List<String> orgSidList = factoryDaliyReportMapper.getSybSidList();
return null;
List<YearAllVo> orgNameList = factoryDaliyReportMapper.getSybNameList();
List<FactoryDaliyReportVo> 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<String> row2 = factoryDaliyReportVoList.stream().map(FactoryDaliyReportVo::getYear).collect(Collectors.toList());
//预提
List<String> row3 = factoryDaliyReportVoList.stream().map(FactoryDaliyReportVo::getEstimate).collect(Collectors.toList());
//上传
List<String> row4 = factoryDaliyReportVoList.stream().map(FactoryDaliyReportVo::getUpload).collect(Collectors.toList());
//调整
List<String> row5 = factoryDaliyReportVoList.stream().map(FactoryDaliyReportVo::getAdjust).collect(Collectors.toList());
//未上传
List<String> row6 = factoryDaliyReportVoList.stream().map(FactoryDaliyReportVo::getNotUploadMoney).collect(Collectors.toList());
//其中返利
List<String> row7 = factoryDaliyReportVoList.stream().map(FactoryDaliyReportVo::getUnuploaded_rebate).collect(Collectors.toList());
//其中费用
List<String> row8 = factoryDaliyReportVoList.stream().map(FactoryDaliyReportVo::getFee).collect(Collectors.toList());
//支出
List<String> row9 = factoryDaliyReportVoList.stream().map(FactoryDaliyReportVo::getExpense_payment).collect(Collectors.toList());
//待支付
List<String> row10 = factoryDaliyReportVoList.stream().map(FactoryDaliyReportVo::getPending_payment).collect(Collectors.toList());
//抵顶
List<String> 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);
}
}

Loading…
Cancel
Save