From 2bc39e9183e62818dcfbb3cdfc6cdca5dfa43923 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Tue, 12 Jan 2021 15:37:52 +0800 Subject: [PATCH] modify --- zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 169 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 0690c32..3363c1e 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,18 +1,38 @@ package com.matrix.system.app.action; +import com.matrix.core.constance.MatrixConstance; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.pojo.PaginationVO; +import com.matrix.core.tools.WebUtil; import com.matrix.system.app.dto.BusinessesDto; +import com.matrix.system.app.dto.VipStatisticsParamDto; +import com.matrix.system.app.vo.BeauticianVo; import com.matrix.system.app.vo.BusinessesDataShowVo; +import com.matrix.system.app.vo.VipAchieveDataShowVo; +import com.matrix.system.common.bean.SysUsers; import com.matrix.system.hive.action.util.QueryUtil; +import com.matrix.system.hive.bean.AchieveNew; 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.SeriesVo; +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.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @author wzy @@ -24,7 +44,13 @@ public class ApiStatisticsAction { @Autowired + TjVipSumDao tjVipSumDao; + + @Autowired private SysBusinessDataDao sysBusinessDataDao; + + @Autowired + private DataAnalysisCustomerServiceImpl dataAnalysisCustomerService; @ApiOperation(value = "公司经营报表/门店经营报表") @ApiResponses({ @@ -50,4 +76,147 @@ 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) { + AjaxResult ajaxResult = 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.selectCashRefund(timeSpaceParam, shopId, null); + case "7" : + return tjVipSumDao.selectCardRefund(timeSpaceParam, shopId, null); + case "8" : + return tjVipSumDao.selectArrears(timeSpaceParam, shopId, null); + default : + return tjVipSumDao.selectBusinessInCome(timeSpaceParam, shopId, null); + } + } + }); + return setDataList(ajaxResult); + } else { + AjaxResult ajaxResult = 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.selectCashRefund(timeSpaceParam, null, companyId); + case "7" : + return tjVipSumDao.selectCardRefund(timeSpaceParam, null, companyId); + case "8" : + return tjVipSumDao.selectArrears(timeSpaceParam, null, companyId); + default : + return tjVipSumDao.selectBusinessInCome(timeSpaceParam, null, companyId); + } + } + }); + return setDataList(ajaxResult); + } + } + + private AjaxResult setDataList(AjaxResult ajaxResult) { + List<SeriesVo> list = (List<SeriesVo>) ajaxResult.getMapInfo().get("series"); + String[] xAxis = (String[]) ajaxResult.getMapInfo().get("xAxis"); + String [] data = list.get(0).getData(); + if (data != null && data.length != 0) { + List<Map<String, String>> dataList = new ArrayList<>(); + for(int i = data.length - 1; i >= 0; i--) { + Map<String, String> map = new HashMap<>(); + map.put(xAxis[i], data[i]); + dataList.add(map); + } + ajaxResult.setRows(dataList); + } + + return ajaxResult; + } + + + @ApiOperation(value = "查询员工业绩报表", notes = "查询员工业绩报表") + @ApiResponses({ + @ApiResponse(code = 200, message = "ok", response = VipAchieveDataShowVo.class) + }) + @PostMapping(value = "/findVipAchieve") + public AjaxResult findVipAchieve(@RequestBody BusinessesDto businessesDto) { + AchieveNew achieveNew = new AchieveNew(); + if (BusinessesDto.DAY.equals(businessesDto.getType())) { + achieveNew.setT1("%Y-%m-%d"); + } else { + achieveNew.setT1("%Y-%m"); + } + + SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + if (businessesDto.getStaffId() == null) { + + businessesDto.setStaffId(sysUsers.getSuId()); + } + achieveNew.setVipId(businessesDto.getStaffId()); + + PaginationVO pageVo = new PaginationVO(); + pageVo.setLimit(businessesDto.getPageSize()); + pageVo.setOffset((businessesDto.getPageNum() - 1) * businessesDto.getPageSize()); + return AjaxResult.buildSuccessInstance(tjVipSumDao.selectVipAchieveInPage(achieveNew, pageVo)); + } + + @ApiOperation(value = "员工专项", notes = "员工专项") + @PostMapping(value = "/findVipBusinessData") + public AjaxResult findVipBusinessData(@RequestBody @Validated VipStatisticsParamDto vipStatisticsParamDto) { + AjaxResult ajaxResult = dataAnalysisCustomerService.getStaffAnalysisResult(vipStatisticsParamDto, new Caculate<BigDecimal>() { + @Override + public Map<String, BigDecimal> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId, Long staffId) { + switch (vipStatisticsParamDto.getType()) { + case "1" : + return tjVipSumDao.selectStaffOrderAchieve(timeSpaceParam, staffId); + case "2" : + return tjVipSumDao.selectStaffCashAchieve(timeSpaceParam, staffId); + case "3" : + return tjVipSumDao.selectStaffCardAchieve(timeSpaceParam, staffId); + case "4" : + return tjVipSumDao.selectStaffGoodsAchieve(timeSpaceParam, staffId); + case "5" : + return tjVipSumDao.selectStaffCardUseAchieve(timeSpaceParam, staffId); + case "6" : + return tjVipSumDao.selectStaffHisConsumeAchieve(timeSpaceParam, staffId); + case "7" : + return tjVipSumDao.selectStaffFreeConsumeAchieve(timeSpaceParam, staffId); + case "8" : + return tjVipSumDao.selectStaffCommissionAchieve(timeSpaceParam, staffId); + case "9" : + return tjVipSumDao.selectStaffPeopleNum(timeSpaceParam, staffId); + case "10" : + return tjVipSumDao.selectStaffProjNum(timeSpaceParam, staffId); + case "11" : + return tjVipSumDao.selectStaffProjTime(timeSpaceParam, staffId); + default: + return tjVipSumDao.selectStaffOrderAchieve(timeSpaceParam, staffId); + } + } + }); + + return setDataList(ajaxResult); + } + } -- Gitblit v1.9.1