Helius
2021-01-11 854d9d55a86b7076abc4f526e90001bd806d324c
zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java
@@ -1,10 +1,17 @@
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;
@@ -147,4 +154,69 @@
        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);
    }
}