| | |
| | | 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.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 |
| | |
| | | }) |
| | | @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 = "专项") |
| | |
| | | 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); |
| | | default : |
| | | return tjVipSumDao.selectBusinessInCome(timeSpaceParam, shopId, null); |
| | | } |
| | |
| | | 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); |
| | | default : |
| | | return tjVipSumDao.selectBusinessInCome(timeSpaceParam, null, companyId); |
| | | } |
| | |
| | | }) |
| | | @PostMapping(value = "/findVipAchieve") |
| | | public AjaxResult findVipAchieve(@RequestBody BusinessesDto businessesDto) { |
| | | AchieveNew achieveNew = new AchieveNew(); |
| | | String unit = ""; |
| | | int calenderUnit; |
| | | if (BusinessesDto.DAY.equals(businessesDto.getType())) { |
| | | achieveNew.setT1("%Y-%m-%d"); |
| | | unit = "日"; |
| | | calenderUnit = Calendar.DATE; |
| | | } else { |
| | | achieveNew.setT1("%Y-%m"); |
| | | unit = "月"; |
| | | calenderUnit = Calendar.MONTH; |
| | | } |
| | | |
| | | SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); |
| | | if (businessesDto.getStaffId() == null) { |
| | | 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()); |
| | | |
| | | businessesDto.setStaffId(sysUsers.getSuId()); |
| | | 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); |
| | | } |
| | | 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)); |
| | | return AjaxResult.buildSuccessInstance(result); |
| | | } |
| | | |
| | | @ApiOperation(value = "员工专项", notes = "员工专项") |
| | | @PostMapping(value = "/findVipBusinessData") |
| | | public AjaxResult findVipBusinessData(@RequestBody @Validated VipStatisticsParamDto vipStatisticsParamDto) { |
| | | return null; |
| | | } |
| | | 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); |
| | | } |
| | | } |