RevenueServiceImpl.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. package com.huaxu.service.impl;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.huaxu.client.OperationManagerClient;
  5. import com.huaxu.client.UserCenterClient;
  6. import com.huaxu.dao.AlarmDetailMapper;
  7. import com.huaxu.dao.RevenueMapper;
  8. import com.huaxu.dto.*;
  9. import com.huaxu.entity.AlarmDetailsEntity;
  10. import com.huaxu.entity.Message;
  11. import com.huaxu.model.LoginUser;
  12. import com.huaxu.service.AlarmDetailsService;
  13. import com.huaxu.service.RevenueService;
  14. import com.huaxu.util.DatesUtil;
  15. import com.huaxu.util.MessageSendUtil;
  16. import com.huaxu.util.UserUtil;
  17. import javafx.beans.binding.DoubleExpression;
  18. import lombok.extern.log4j.Log4j2;
  19. import org.apache.commons.lang3.StringUtils;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.stereotype.Service;
  22. import javax.annotation.Resource;
  23. import java.util.*;
  24. import java.util.function.Function;
  25. import java.util.stream.Collectors;
  26. /**
  27. * @description
  28. * @auto yjy
  29. * @data 2021-2-24
  30. */
  31. @Service
  32. @Log4j2
  33. public class RevenueServiceImpl implements RevenueService {
  34. @Resource
  35. private RevenueMapper revenueMapper;
  36. /**
  37. * 查询本月售水信息
  38. * @return
  39. */
  40. @Override
  41. public List<MonthSellwaterDto> selectMonthSell(Integer companyOrgId) {
  42. MonthSellwaterDto monthSellwaterDto=new MonthSellwaterDto();
  43. monthSellwaterDto.setCompanyOrgId(companyOrgId);
  44. LoginUser loginUser = UserUtil.getCurrentUser();
  45. monthSellwaterDto.setTenantId(loginUser.getTenantId());
  46. monthSellwaterDto.setProgramItems(loginUser.getProgramItemList());
  47. monthSellwaterDto.setUserType(loginUser.getType());
  48. //1是公司,2是公司及以下,3部门,4部门及以下,5自定义
  49. monthSellwaterDto.setPermissonType(loginUser.getPermissonType());
  50. List<MonthSellwaterDto> monthSell=revenueMapper.selectMonthSell(monthSellwaterDto);
  51. List<MonthSellwaterDto> result=new ArrayList<>();
  52. Double othersUsage=0d;
  53. if(monthSell.size()>4){
  54. for(int i=0;i<monthSell.size();i++){
  55. if(i<3){
  56. result.add(monthSell.get(i));
  57. } else{
  58. othersUsage+=monthSell.get(i).getWaterUsage();
  59. }
  60. }
  61. monthSellwaterDto.setPropertyName("其他用水");
  62. monthSellwaterDto.setWaterUsage(othersUsage);
  63. result.add(monthSellwaterDto);
  64. }else{
  65. result=monthSell;
  66. }
  67. return result;
  68. }
  69. /**
  70. * 查询近6个月总售水量
  71. *
  72. * @param companyOrgId
  73. * @return
  74. */
  75. @Override
  76. public List<MonthSellwaterDto> selectMonthSellTotal(Integer companyOrgId) {
  77. MonthSellwaterDto monthSellwaterDto=new MonthSellwaterDto();
  78. monthSellwaterDto.setCompanyOrgId(companyOrgId);
  79. LoginUser loginUser = UserUtil.getCurrentUser();
  80. monthSellwaterDto.setTenantId(loginUser.getTenantId());
  81. monthSellwaterDto.setProgramItems(loginUser.getProgramItemList());
  82. monthSellwaterDto.setUserType(loginUser.getType());
  83. //1是公司,2是公司及以下,3部门,4部门及以下,5自定义
  84. monthSellwaterDto.setPermissonType(loginUser.getPermissonType());
  85. return revenueMapper.selectMonthSellTotal(monthSellwaterDto);
  86. }
  87. /**
  88. * 查询月营收情况
  89. *
  90. * @param companyOrgId
  91. * @return
  92. */
  93. @Override
  94. public List<MonthRevenueDto> selectMonthRevenue(Integer companyOrgId,Integer months) {
  95. MonthRevenueDto monthRevenueDto=new MonthRevenueDto();
  96. monthRevenueDto.setCompanyOrgId(companyOrgId);
  97. monthRevenueDto.setMonths(months);
  98. LoginUser loginUser = UserUtil.getCurrentUser();
  99. monthRevenueDto.setTenantId(loginUser.getTenantId());
  100. monthRevenueDto.setProgramItems(loginUser.getProgramItemList());
  101. monthRevenueDto.setUserType(loginUser.getType());
  102. //1是公司,2是公司及以下,3部门,4部门及以下,5自定义
  103. monthRevenueDto.setPermissonType(loginUser.getPermissonType());
  104. return revenueMapper.selectMonthRevenue(monthRevenueDto);
  105. }
  106. /**
  107. * 查询本月各分公司的营收情况
  108. *
  109. * @return
  110. */
  111. @Override
  112. public List<MonthRevenueDto> selectCompanyRevenue() {
  113. MonthRevenueDto monthRevenueDto=new MonthRevenueDto();
  114. LoginUser loginUser = UserUtil.getCurrentUser();
  115. monthRevenueDto.setTenantId(loginUser.getTenantId());
  116. monthRevenueDto.setProgramItems(loginUser.getProgramItemList());
  117. monthRevenueDto.setUserType(loginUser.getType());
  118. //1是公司,2是公司及以下,3部门,4部门及以下,5自定义
  119. monthRevenueDto.setPermissonType(loginUser.getPermissonType());
  120. return revenueMapper.selectCompanyRevenue(monthRevenueDto);
  121. }
  122. @Override
  123. public List<MonthRevenueDto> selectOverviewRevenue(Integer companyOrgId,Integer months) {
  124. MonthRevenueDto monthRevenueDto=new MonthRevenueDto();
  125. monthRevenueDto.setCompanyOrgId(companyOrgId);
  126. monthRevenueDto.setMonths(months);
  127. LoginUser loginUser = UserUtil.getCurrentUser();
  128. monthRevenueDto.setTenantId(loginUser.getTenantId());
  129. monthRevenueDto.setProgramItems(loginUser.getProgramItemList());
  130. monthRevenueDto.setUserType(loginUser.getType());
  131. //1是公司,2是公司及以下,3部门,4部门及以下,5自定义
  132. monthRevenueDto.setPermissonType(loginUser.getPermissonType());
  133. return revenueMapper.selectOverviewRevenue(monthRevenueDto);
  134. }
  135. }