package com.matrix.system.hive.statistics;
|
|
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.common.bean.SysUsers;
|
import com.matrix.system.common.constance.AppConstance;
|
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;
|
|
/**
|
* @author
|
* @description 经营数据
|
* @date 2020-02-08 10:18
|
*/
|
@Controller
|
@RequestMapping(value = "admin/sysBusinessData")
|
public class SysBusinessDataAction {
|
|
@Autowired
|
private SysBusinessDataDao sysBusinessDataDao;
|
|
/**
|
* 列表显示
|
*/
|
@RequestMapping(value = "/showList")
|
public @ResponseBody
|
AjaxResult showList(BusinessDataShowVo businessDataShowVo, PaginationVO pageVo) {
|
SysUsers sysUsers = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
|
if(!AppConstance.ZONGDIAN.equals(sysUsers.getShopName())){
|
businessDataShowVo.setShopId(sysUsers.getShopId()+"");
|
}
|
pageVo.setSort("createTime");
|
pageVo.setOrder("desc");
|
List<BusinessDataShowVo> dataList = sysBusinessDataDao.selectShowList(businessDataShowVo, pageVo);
|
AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList,
|
sysBusinessDataDao.selectShowListTotal(businessDataShowVo));
|
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);
|
}
|
|
}
|