| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.basic.pojo.Customer; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.device.mapper.DeviceLedgerMapper; |
| | | import com.ruoyi.device.pojo.DeviceLedger; |
| | |
| | | import com.ruoyi.equipmentenergyconsumption.pojo.EquipmentEnergyConsumption; |
| | | import com.ruoyi.equipmentenergyconsumption.service.EquipmentEnergyConsumptionService; |
| | | import com.ruoyi.framework.web.domain.AjaxResult; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | |
| | | */ |
| | | @Service |
| | | @Slf4j |
| | | @RequiredArgsConstructor |
| | | public class EquipmentEnergyConsumptionServiceImpl extends ServiceImpl<EquipmentEnergyConsumptionMapper, EquipmentEnergyConsumption> implements EquipmentEnergyConsumptionService { |
| | | |
| | | |
| | | @Autowired |
| | | private EquipmentEnergyConsumptionMapper equipmentEnergyConsumptionMapper; |
| | | |
| | | @Autowired |
| | | private DeviceLedgerMapper deviceLedgerMapper; |
| | | private final EquipmentEnergyConsumptionMapper equipmentEnergyConsumptionMapper; |
| | | private final DeviceLedgerMapper deviceLedgerMapper; |
| | | |
| | | @Override |
| | | public IPage<EquipmentEnergyConsumption> listPage(Page page, EquipmentEnergyConsumption equipmentEnergyConsumption) { |
| | |
| | | // 计算本月平均电量(求和按自然月来,按30天求平均数) |
| | | List<EquipmentEnergyConsumption> eqmList = equipmentEnergyConsumptionMapper.selectList(new LambdaQueryWrapper<EquipmentEnergyConsumption>() |
| | | .eq(EquipmentEnergyConsumption::getCode, item.getCode()) |
| | | .ge(EquipmentEnergyConsumption::getRunDate, lastDay) |
| | | .lt(EquipmentEnergyConsumption::getRunDate, firstDay)); |
| | | .ge(EquipmentEnergyConsumption::getRunDate, firstDay) |
| | | .lt(EquipmentEnergyConsumption::getRunDate, lastDay)); |
| | | if (!CollectionUtils.isEmpty(eqmList)){ |
| | | BigDecimal avgNum = eqmList.stream().map(EquipmentEnergyConsumption::getDayNum).reduce(BigDecimal.ZERO, BigDecimal::add).divide(new BigDecimal(30), 2, RoundingMode.HALF_UP); |
| | | item.setAvgNum(avgNum); |