package com.huaxu.service.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.huaxu.client.OperationManagerClient; import com.huaxu.client.UserCenterClient; import com.huaxu.dao.AlarmDetailMapper; import com.huaxu.dao.RevenueMapper; import com.huaxu.dto.*; import com.huaxu.entity.AlarmDetailsEntity; import com.huaxu.entity.Message; import com.huaxu.model.LoginUser; import com.huaxu.service.AlarmDetailsService; import com.huaxu.service.RevenueService; import com.huaxu.util.DatesUtil; import com.huaxu.util.MessageSendUtil; import com.huaxu.util.UserUtil; import javafx.beans.binding.DoubleExpression; import lombok.extern.log4j.Log4j2; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; /** * @description * @auto yjy * @data 2021-2-24 */ @Service @Log4j2 public class RevenueServiceImpl implements RevenueService { @Resource private RevenueMapper revenueMapper; /** * 查询本月售水信息 * @return */ @Override public List selectMonthSell(Integer companyOrgId) { MonthSellwaterDto monthSellwaterDto=new MonthSellwaterDto(); monthSellwaterDto.setCompanyOrgId(companyOrgId); LoginUser loginUser = UserUtil.getCurrentUser(); monthSellwaterDto.setTenantId(loginUser.getTenantId()); monthSellwaterDto.setProgramItems(loginUser.getProgramItemList()); monthSellwaterDto.setUserType(loginUser.getType()); //1是公司,2是公司及以下,3部门,4部门及以下,5自定义 monthSellwaterDto.setPermissonType(loginUser.getPermissonType()); List monthSell=revenueMapper.selectMonthSell(monthSellwaterDto); List result=new ArrayList<>(); Double othersUsage=0d; if(monthSell.size()>4){ for(int i=0;i selectMonthSellTotal(Integer companyOrgId) { MonthSellwaterDto monthSellwaterDto=new MonthSellwaterDto(); monthSellwaterDto.setCompanyOrgId(companyOrgId); LoginUser loginUser = UserUtil.getCurrentUser(); monthSellwaterDto.setTenantId(loginUser.getTenantId()); monthSellwaterDto.setProgramItems(loginUser.getProgramItemList()); monthSellwaterDto.setUserType(loginUser.getType()); //1是公司,2是公司及以下,3部门,4部门及以下,5自定义 monthSellwaterDto.setPermissonType(loginUser.getPermissonType()); return revenueMapper.selectMonthSellTotal(monthSellwaterDto); } /** * 查询月营收情况 * * @param companyOrgId * @return */ @Override public List selectMonthRevenue(Integer companyOrgId,Integer months) { MonthRevenueDto monthRevenueDto=new MonthRevenueDto(); monthRevenueDto.setCompanyOrgId(companyOrgId); monthRevenueDto.setMonths(months); LoginUser loginUser = UserUtil.getCurrentUser(); monthRevenueDto.setTenantId(loginUser.getTenantId()); monthRevenueDto.setProgramItems(loginUser.getProgramItemList()); monthRevenueDto.setUserType(loginUser.getType()); //1是公司,2是公司及以下,3部门,4部门及以下,5自定义 monthRevenueDto.setPermissonType(loginUser.getPermissonType()); return revenueMapper.selectMonthRevenue(monthRevenueDto); } /** * 查询本月各分公司的营收情况 * * @return */ @Override public List selectCompanyRevenue() { MonthRevenueDto monthRevenueDto=new MonthRevenueDto(); LoginUser loginUser = UserUtil.getCurrentUser(); monthRevenueDto.setTenantId(loginUser.getTenantId()); monthRevenueDto.setProgramItems(loginUser.getProgramItemList()); monthRevenueDto.setUserType(loginUser.getType()); //1是公司,2是公司及以下,3部门,4部门及以下,5自定义 monthRevenueDto.setPermissonType(loginUser.getPermissonType()); return revenueMapper.selectCompanyRevenue(monthRevenueDto); } @Override public List selectOverviewRevenue(Integer companyOrgId,Integer months) { MonthRevenueDto monthRevenueDto=new MonthRevenueDto(); monthRevenueDto.setCompanyOrgId(companyOrgId); monthRevenueDto.setMonths(months); LoginUser loginUser = UserUtil.getCurrentUser(); monthRevenueDto.setTenantId(loginUser.getTenantId()); monthRevenueDto.setProgramItems(loginUser.getProgramItemList()); monthRevenueDto.setUserType(loginUser.getType()); //1是公司,2是公司及以下,3部门,4部门及以下,5自定义 monthRevenueDto.setPermissonType(loginUser.getPermissonType()); return revenueMapper.selectOverviewRevenue(monthRevenueDto); } }