From 85dce973eb29eb2372c76d5b95b30354da9c41c8 Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Tue, 22 Feb 2022 23:08:51 +0800 Subject: [PATCH] fead:新增收银员字段 --- zq-erp/src/main/java/com/matrix/system/hive/statistics/SysBusinessDataAction.java | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 103 insertions(+), 2 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/hive/statistics/SysBusinessDataAction.java b/zq-erp/src/main/java/com/matrix/system/hive/statistics/SysBusinessDataAction.java index 1cd802f..a0e5f4f 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/statistics/SysBusinessDataAction.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/statistics/SysBusinessDataAction.java @@ -1,17 +1,27 @@ package com.matrix.system.hive.statistics; +import cn.hutool.core.util.StrUtil; 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.vo.BusinessesDataShowVo; import com.matrix.system.common.bean.SysUsers; -import com.matrix.system.common.constance.AppConstance; +import com.matrix.system.common.tools.DataAuthUtil; +import com.matrix.system.hive.bean.SysBusinessData; import com.matrix.system.hive.dao.SysBusinessDataDao; +import com.matrix.system.hiveErp.analysUtil.StatisticsTimeDaoParam; +import com.matrix.system.hiveErp.analysUtil.StatisticsTimeUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; import java.util.List; /** @@ -33,7 +43,7 @@ public @ResponseBody AjaxResult showList(BusinessDataShowVo businessDataShowVo, PaginationVO pageVo) { SysUsers sysUsers = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); - if(!AppConstance.ZONGDIAN.equals(sysUsers.getShopName())){ + if (!DataAuthUtil.hasAllShopAuth()) { businessDataShowVo.setShopId(sysUsers.getShopId()+""); } pageVo.setSort("createTime"); @@ -44,5 +54,96 @@ return result; } + /** + * 日销售汇总 + * + * @param dailySaleVo + * @param pageVo + * @return + */ + @RequestMapping(value = "/findDailySaleData") + @ResponseBody + public AjaxResult findDailySaleData(DailySaleVo dailySaleVo, PaginationVO pageVo) { + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + Calendar calendar = Calendar.getInstance(); + int total = 999; + + Date endDate = new Date(); + if (dailySaleVo.getEndTime() != null) { + if (!dailySaleVo.getEndTime().after(new Date())) { + calendar.setTime(dailySaleVo.getEndTime()); + endDate = DateUtil.nextNDate(dailySaleVo.getEndTime(), 1); + } + } + + calendar.add(Calendar.DATE, 1); + calendar.add(Calendar.DATE, -pageVo.getOffset()); + String endTime = DateUtil.dateToString(calendar.getTime(), DateUtil.DATE_FORMAT_DD); + calendar.add(Calendar.DATE, -pageVo.getLimit()); + String startTime = DateUtil.dateToString(calendar.getTime(), DateUtil.DATE_FORMAT_DD); + + if (dailySaleVo.getBeginTime() != null) { + Date startDate = DateUtil.stringToDate(startTime, DateUtil.DATE_FORMAT_DD); + if(dailySaleVo.getBeginTime().after(startDate)) { + startTime = DateUtil.dateFormatStr(dailySaleVo.getBeginTime(), DateUtil.DATE_FORMAT_DD); + } + long sub = DateUtil.getTimeSpan(dailySaleVo.getBeginTime(), endDate, null); + Long l = sub / (1000 * 3600 * 24); + total = l.intValue(); + } + List<Date> xAxis = StatisticsTimeUtil.getTimeSpace(startTime, endTime, "日"); + List<StatisticsTimeDaoParam> timeSpaceParam = StatisticsTimeUtil.buidParam(xAxis); + List<StatisticsTimeDaoParam> statisticsTimeDaoParams = timeSpaceParam.subList(0, timeSpaceParam.size() - 2); + + if (dailySaleVo.getShopId() == null) { + dailySaleVo.setShopId(user.getShopId()); + } + List<DailySaleVo> dailySaleVos = sysBusinessDataDao.selectDailySaleData(statisticsTimeDaoParams, dailySaleVo.getShopId()); + List<DailySaleVo> result = new ArrayList<>(); + for (int i = dailySaleVos.size() - 1; i >= 0; i--) { + result.add(dailySaleVos.get(i)); + } + return AjaxResult.buildSuccessInstance(result, total); + } + + @RequestMapping(value = "/findShopBusinessesData") + @ResponseBody + public AjaxResult findShopBusinessesData(BusinessDataShowVo businessDataShowVo, PaginationVO pageVo) { + int start = pageVo.getOffset(); + int size = pageVo.getLimit(); + int calenderUnit = Calendar.DATE; + Long shopId = null; + SysUsers sysUsers = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); + + if (StrUtil.isNotBlank(businessDataShowVo.getShopId())) { + shopId = Long.parseLong(businessDataShowVo.getShopId()); + } else { + shopId = sysUsers.getShopId(); + } + Calendar calendar = Calendar.getInstance(); + if (businessDataShowVo.getBeginTime() != null) { + calendar.setTime(businessDataShowVo.getBeginTime()); + } + 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, "日"); + List<StatisticsTimeDaoParam> timeSpaceParam = StatisticsTimeUtil.buidParam(xAxis); + List<StatisticsTimeDaoParam> statisticsTimeDaoParams = timeSpaceParam.subList(0, timeSpaceParam.size() - 2); + List<BusinessesDataShowVo> list = sysBusinessDataDao.selectApiBusinessData(statisticsTimeDaoParams, shopId, sysUsers.getCompanyId()); + + + List<BusinessesDataShowVo> result = new ArrayList<>(); + for (int i = list.size() - 1; i >= 0; i--) { + BusinessesDataShowVo item = list.get(i); + String dataTime = item.getDataTime(); + item.setDataTime(DateUtil.dateToString(DateUtil.stringToDate(dataTime, DateUtil.DATE_FORMAT_DD), DateUtil.DATE_FORMAT_DD)); + result.add(item); + } + return AjaxResult.buildSuccessInstance(result, 100); + } } \ No newline at end of file -- Gitblit v1.9.1