From 9b55f87ffe20ff8069d8869ea0b43393af6303f0 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Wed, 30 Dec 2020 16:52:32 +0800 Subject: [PATCH] modify --- zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 120 insertions(+), 0 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java index 34436ab..555340e 100644 --- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java +++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java @@ -1,8 +1,128 @@ package com.matrix.system.app.action; +import com.matrix.core.pojo.AjaxResult; +import com.matrix.core.pojo.PaginationVO; +import com.matrix.system.app.dto.BusinessesDto; +import com.matrix.system.app.vo.BusinessesDataShowVo; +import com.matrix.system.hive.action.util.QueryUtil; +import com.matrix.system.hive.bean.SysBusinessData; +import com.matrix.system.hive.dao.SysBusinessDataDao; +import com.matrix.system.hive.service.imp.DataAnalysisCustomerServiceImpl; +import com.matrix.system.hiveErp.analysUtil.Caculate; +import com.matrix.system.hiveErp.analysUtil.StatisticsParamVo; +import com.matrix.system.hiveErp.analysUtil.StatisticsTimeDaoParam; +import com.matrix.system.hiveErp.dao.TjVipSumDao; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + /** * @author wzy * @date 2020-12-28 **/ +@Api(value = "ApiStatisticsAction", tags = "报表接口类") +@RestController +@RequestMapping(value = "/api/statistics") public class ApiStatisticsAction { + + @Autowired + TjVipSumDao tjVipSumDao; + + @Autowired + private SysBusinessDataDao sysBusinessDataDao; + + @Autowired + private DataAnalysisCustomerServiceImpl dataAnalysisCustomerService; + + @ApiOperation(value = "公司经营报表/门店经营报表") + @ApiResponses({ + @ApiResponse(code = 200, message = "ok", response = BusinessesDataShowVo.class) + }) + @PostMapping(value = "/findShopBusinessesData") + public AjaxResult findShopBusinessesData(@RequestBody BusinessesDto businessesDto) { + SysBusinessData sysBusinessData = new SysBusinessData(); + // 若shopId为空,则查询门店经营报表 + if (businessesDto.getShopId() == null) { + sysBusinessData.setShopId(businessesDto.getShopId()); + } + QueryUtil.setQueryLimitCom(sysBusinessData); + + if (BusinessesDto.DAY.equals(businessesDto.getType())) { + sysBusinessData.setT1("%Y-%m-%d"); + } else { + sysBusinessData.setT1("%Y-%m"); + } + PaginationVO pageVo = new PaginationVO(); + pageVo.setOffset((businessesDto.getPageNum() - 1) * businessesDto.getPageSize()); + pageVo.setLimit(businessesDto.getPageSize()); + + return AjaxResult.buildSuccessInstance(sysBusinessDataDao.selectApiBusinessDataInPage(sysBusinessData, pageVo), sysBusinessDataDao.selectApiBusinessDataTotal(sysBusinessData)); + } + + @ApiOperation(value = "专项 - 营业收入", notes = "专项 - 营业收入") + @PostMapping(value = "/findBusinessInCome") + public AjaxResult findBusinessInCome(@RequestBody @Validated StatisticsParamVo statisticsParam) { + if (statisticsParam.getShopId() != null) { + return dataAnalysisCustomerService.getAnalysisResult(statisticsParam, new Caculate<BigDecimal>() { + @Override + public Map<String, BigDecimal> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId, Long companyId) { + switch (statisticsParam.getType()) { + case "1" : + return tjVipSumDao.selectBusinessInCome(timeSpaceParam, shopId, null); + case "2" : + return tjVipSumDao.selectCashIncome(timeSpaceParam, shopId, null); + case "3" : + return tjVipSumDao.selectCardUse(timeSpaceParam, shopId, null); + case "4" : + return tjVipSumDao.selectHisConsume(timeSpaceParam, shopId, null); + case "5" : + return tjVipSumDao.selectFreeConsume(timeSpaceParam, shopId, null); + case "6" : + return tjVipSumDao.selectBusinessInCome(timeSpaceParam, shopId, null); + case "7" : + return tjVipSumDao.selectBusinessInCome(timeSpaceParam, shopId, null); + case "8" : + return tjVipSumDao.selectArrears(timeSpaceParam, shopId, null); + default : + return tjVipSumDao.selectBusinessInCome(timeSpaceParam, shopId, null); + } + } + }); + } else { + return dataAnalysisCustomerService.getCompanyAnalysisResult(statisticsParam, new Caculate<BigDecimal>() { + @Override + public Map<String, BigDecimal> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId, Long companyId) { + switch (statisticsParam.getType()) { + case "1" : + return tjVipSumDao.selectBusinessInCome(timeSpaceParam, null, companyId); + case "2" : + return tjVipSumDao.selectCashIncome(timeSpaceParam, null, companyId); + case "3" : + return tjVipSumDao.selectCardUse(timeSpaceParam, null, companyId); + case "4" : + return tjVipSumDao.selectHisConsume(timeSpaceParam, null, companyId); + case "5" : + return tjVipSumDao.selectFreeConsume(timeSpaceParam, null, companyId); + case "6" : + return tjVipSumDao.selectBusinessInCome(timeSpaceParam, null, companyId); + case "7" : + return tjVipSumDao.selectBusinessInCome(timeSpaceParam, null, companyId); + case "8" : + return tjVipSumDao.selectArrears(timeSpaceParam, null, companyId); + default : + return tjVipSumDao.selectBusinessInCome(timeSpaceParam, null, companyId); + } + } + }); + } + } + } -- Gitblit v1.9.1