From a9f950c0d11a687a7a940443b8c765f6d87ae4f1 Mon Sep 17 00:00:00 2001
From: jyy <935090232@qq.com>
Date: Tue, 20 Apr 2021 00:26:22 +0800
Subject: [PATCH] 合并新的修改
---
zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java | 245 +++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 208 insertions(+), 37 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 4b50b34..3cdc992 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,31 +1,34 @@
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.DateUtil;
+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.analysUtil.*;
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.jsoup.helper.DataUtil;
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;
+import java.util.*;
/**
* @author wzy
@@ -51,23 +54,56 @@
})
@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);
-
+ String unit = "";
+ int calenderUnit;
if (BusinessesDto.DAY.equals(businessesDto.getType())) {
- sysBusinessData.setT1("%Y-%m-%d");
+ unit = "日";
+ calenderUnit = Calendar.DATE;
} else {
- sysBusinessData.setT1("%Y-%m");
+ unit = "月";
+ calenderUnit = Calendar.MONTH;
}
- 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));
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ int start = (businessesDto.getPageNum() - 1) * businessesDto.getPageSize();
+ int size = businessesDto.getPageSize();
+ Calendar calendar = Calendar.getInstance();
+ calendar.add(calenderUnit, 1);
+ calendar.add(calenderUnit, -start);
+ String endTime = DateUtil.dateToString(calendar.getTime(), DateUtil.DATE_FORMAT_DD);
+ calendar.add(calenderUnit, -size);
+ String startTime = DateUtil.dateToString(calendar.getTime(), DateUtil.DATE_FORMAT_DD);
+ List<Date> xAxis = StatisticsTimeUtil.getTimeSpace(startTime, endTime, unit);
+ List<StatisticsTimeDaoParam> timeSpaceParam = StatisticsTimeUtil.buidParam(xAxis);
+ List<StatisticsTimeDaoParam> statisticsTimeDaoParams = timeSpaceParam.subList(0, timeSpaceParam.size() - 2);
+ List<BusinessesDataShowVo> list = sysBusinessDataDao.selectApiBusinessData(statisticsTimeDaoParams, businessesDto.getShopId(), user.getCompanyId());
+
+ List<BusinessesDataShowVo> result = new ArrayList<>();
+ for (int i = list.size() - 1; i >= 0; i--) {
+ BusinessesDataShowVo item = list.get(i);
+ String dataTime = item.getDataTime();
+ if (BusinessesDto.DAY.equals(businessesDto.getType())) {
+ item.setDataTime(DateUtil.dateToString(DateUtil.stringToDate(dataTime, DateUtil.DATE_FORMAT_DD), DateUtil.DATE_FORMAT_DD));
+ } else {
+ item.setDataTime(DateUtil.dateToString(DateUtil.stringToDate(dataTime, DateUtil.MONTH), DateUtil.MONTH));
+ }
+ result.add(item);
+ }
+ return AjaxResult.buildSuccessInstance(result);
+ }
+
+ public static void main(String[] args) {
+ int start = 1;
+
+ int end = 10;
+
+ Calendar calendar = Calendar.getInstance();
+ calendar.add(Calendar.DATE, start);
+ Date time = calendar.getTime();
+ System.out.println(time);
+ calendar.add(Calendar.DATE, end);
+ System.out.println(calendar.getTime());
+
}
@ApiOperation(value = "专项", notes = "专项")
@@ -85,15 +121,43 @@
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);
+ case "5" :
+ return tjVipSumDao.selectCashRefund(timeSpaceParam, shopId, null);
+ case "6" :
+ return tjVipSumDao.selectCardRefund(timeSpaceParam, shopId, null);
+ case "7":
+ return tjVipSumDao.selectProductAchieve(timeSpaceParam, shopId, null);
+ case "8":
+ return tjVipSumDao.selectCardAchieve(timeSpaceParam, shopId, null);
+ case "9":
+ return tjVipSumDao.selectRepayment(timeSpaceParam, shopId, null);
+ case "10":
+ return tjVipSumDao.selectPerCustomCnt(timeSpaceParam, shopId, null);
+ case "11":
+ return tjVipSumDao.selectCustomGoodsCnt(timeSpaceParam, shopId, null);
+ case "12":
+ return tjVipSumDao.selectPerCustomPrice(timeSpaceParam, shopId, null);
+ case "13":
+ return tjVipSumDao.selectCost(timeSpaceParam, shopId, null);
+ case "14":
+ return tjVipSumDao.selectGrossProfit(timeSpaceParam, shopId, null);
+ case "15":
+ return tjVipSumDao.selectGrossProfitRate(timeSpaceParam, shopId, null);
+ case "16" :
+ return tjVipSumDao.selectHisConsume(timeSpaceParam, shopId, null);
+ case "17" :
+ return tjVipSumDao.selectFreeConsume(timeSpaceParam, shopId, null);
+ case "18" :
+ return tjVipSumDao.selectPeopleCnt(timeSpaceParam, shopId, null);
+ case "19" :
+ return tjVipSumDao.selectProjConsumeCnt(timeSpaceParam, shopId, null);
+ case "20" :
+ return tjVipSumDao.selectTimeLength(timeSpaceParam, shopId, null);
+ case "21" :
+ return tjVipSumDao.selectCardAmount(timeSpaceParam, shopId, null);
+ case "22" :
+ return tjVipSumDao.selectFreeAmount(timeSpaceParam, shopId, null);
default :
return tjVipSumDao.selectBusinessInCome(timeSpaceParam, shopId, null);
}
@@ -112,15 +176,43 @@
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);
+ case "5" :
+ return tjVipSumDao.selectCashRefund(timeSpaceParam, null, companyId);
+ case "6" :
+ return tjVipSumDao.selectCardRefund(timeSpaceParam, null, companyId);
+ case "7":
+ return tjVipSumDao.selectProductAchieve(timeSpaceParam, null, companyId);
+ case "8":
+ return tjVipSumDao.selectCardAchieve(timeSpaceParam, null, companyId);
+ case "9":
+ return tjVipSumDao.selectRepayment(timeSpaceParam, null, companyId);
+ case "10":
+ return tjVipSumDao.selectPerCustomCnt(timeSpaceParam, null, companyId);
+ case "11":
+ return tjVipSumDao.selectCustomGoodsCnt(timeSpaceParam, null, companyId);
+ case "12":
+ return tjVipSumDao.selectPerCustomPrice(timeSpaceParam, null, companyId);
+ case "13":
+ return tjVipSumDao.selectCost(timeSpaceParam, null, companyId);
+ case "14":
+ return tjVipSumDao.selectCost(timeSpaceParam, null, companyId);
+ case "15":
+ return tjVipSumDao.selectCost(timeSpaceParam, null, companyId);
+ case "16" :
+ return tjVipSumDao.selectHisConsume(timeSpaceParam, null, companyId);
+ case "17" :
+ return tjVipSumDao.selectFreeConsume(timeSpaceParam, null, companyId);
+ case "18" :
+ return tjVipSumDao.selectPeopleCnt(timeSpaceParam, null, companyId);
+ case "19" :
+ return tjVipSumDao.selectProjConsumeCnt(timeSpaceParam, null, companyId);
+ case "20" :
+ return tjVipSumDao.selectTimeLength(timeSpaceParam, null, companyId);
+ case "21" :
+ return tjVipSumDao.selectCardAmount(timeSpaceParam, null, companyId);
+ case "22" :
+ return tjVipSumDao.selectFreeAmount(timeSpaceParam, null, companyId);
default :
return tjVipSumDao.selectBusinessInCome(timeSpaceParam, null, companyId);
}
@@ -147,4 +239,83 @@
return ajaxResult;
}
+
+ @ApiOperation(value = "查询员工业绩报表", notes = "查询员工业绩报表")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = VipAchieveDataShowVo.class)
+ })
+ @PostMapping(value = "/findVipAchieve")
+ public AjaxResult findVipAchieve(@RequestBody BusinessesDto businessesDto) {
+ String unit = "";
+ int calenderUnit;
+ if (BusinessesDto.DAY.equals(businessesDto.getType())) {
+ unit = "日";
+ calenderUnit = Calendar.DATE;
+ } else {
+ unit = "月";
+ calenderUnit = Calendar.MONTH;
+ }
+
+ int start = (businessesDto.getPageNum() - 1) * businessesDto.getPageSize();
+ int size = businessesDto.getPageSize();
+ Calendar calendar = Calendar.getInstance();
+ calendar.add(calenderUnit, 1);
+ calendar.add(calenderUnit, -start);
+ String endTime = DateUtil.dateToString(calendar.getTime(), DateUtil.DATE_FORMAT_DD);
+ calendar.add(calenderUnit, -size);
+ String startTime = DateUtil.dateToString(calendar.getTime(), DateUtil.DATE_FORMAT_DD);
+ List<Date> xAxis = StatisticsTimeUtil.getTimeSpace(startTime, endTime, unit);
+ List<StatisticsTimeDaoParam> timeSpaceParam = StatisticsTimeUtil.buidParam(xAxis);
+ List<StatisticsTimeDaoParam> statisticsTimeDaoParams = timeSpaceParam.subList(0, timeSpaceParam.size() - 2);
+ List<VipAchieveDataShowVo> list = tjVipSumDao.selectVipAchieveInPage(statisticsTimeDaoParams, businessesDto.getStaffId());
+
+ List<VipAchieveDataShowVo> result = new ArrayList<>();
+ for (int i = list.size() - 1; i >= 0; i--) {
+ VipAchieveDataShowVo item = list.get(i);
+ String dataTime = item.getTime();
+ if (BusinessesDto.DAY.equals(businessesDto.getType())) {
+ item.setTime(DateUtil.dateToString(DateUtil.stringToDate(dataTime, DateUtil.DATE_FORMAT_DD), DateUtil.DATE_FORMAT_DD));
+ } else {
+ item.setTime(DateUtil.dateToString(DateUtil.stringToDate(dataTime, DateUtil.MONTH), DateUtil.MONTH));
+ }
+ result.add(item);
+ }
+ return AjaxResult.buildSuccessInstance(result);
+ }
+
+ @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.selectStaffHisConsumeAchieve(timeSpaceParam, staffId);
+ case "6" :
+ return tjVipSumDao.selectStaffFreeConsumeAchieve(timeSpaceParam, staffId);
+ case "7" :
+ return tjVipSumDao.selectStaffCommissionAchieve(timeSpaceParam, staffId);
+ case "8" :
+ return tjVipSumDao.selectStaffPeopleNum(timeSpaceParam, staffId);
+ case "9" :
+ return tjVipSumDao.selectStaffProjNum(timeSpaceParam, staffId);
+ case "10" :
+ return tjVipSumDao.selectStaffProjTime(timeSpaceParam, staffId);
+ default:
+ return tjVipSumDao.selectStaffOrderAchieve(timeSpaceParam, staffId);
+ }
+ }
+ });
+
+ return setDataList(ajaxResult);
+ }
}
--
Gitblit v1.9.1