package com.huimv.admin.service.impl; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.huimv.admin.common.utils.DataUill; import com.huimv.admin.common.utils.Result; import com.huimv.admin.common.utils.ResultCode; import com.huimv.admin.entity.BasePigpen; import com.huimv.admin.entity.EnergyData; import com.huimv.admin.entity.EnergyGas; import com.huimv.admin.entity.vo.EnergyDataVo; import com.huimv.admin.entity.vo.EnergyGasDataVo; import com.huimv.admin.mapper.BasePigpenMapper; import com.huimv.admin.mapper.EnergyDataMapper; import com.huimv.admin.mapper.EnergyGasMapper; import com.huimv.admin.service.IEnergyGasService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Map; /** *

* 服务实现类 *

* * @author author * @since 2023-02-14 */ @Service public class EnergyGasServiceImpl extends ServiceImpl implements IEnergyGasService { @Autowired private EnergyGasMapper energyGasMapper; @Autowired private BasePigpenMapper basePigpenMapper; @Autowired private EnergyDataMapper dataMapper; @Override public Result listPigpen(HttpServletRequest httpServletRequest, Map paramsMap) { String farmId = paramsMap.get("farmId"); String id = paramsMap.get("id"); JSONArray jsonArray = new JSONArray(); if (id == null || id == "") { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("farm_id", farmId).eq("parent_id", 0); List basePigpens = basePigpenMapper.selectList(queryWrapper); for (int i = 0; i < basePigpens.size(); i++) { QueryWrapper basePigpenQueryWrapper = new QueryWrapper<>(); basePigpenQueryWrapper.eq("parent_id", basePigpens.get(i).getId()).eq("farm_id", farmId); List basePigpens1 = basePigpenMapper.selectList(basePigpenQueryWrapper); for (BasePigpen basePigpen : basePigpens1) { JSONObject jsonObject = new JSONObject(); QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("unit_id", basePigpen.getId()).eq("farm_id", farmId) .orderByDesc("create_date").last(" limit 1"); EnergyData energyGas = dataMapper.selectOne(queryWrapper1); if (ObjectUtil.isEmpty(energyGas)) { jsonObject.put("buildName", basePigpen.getBuildName()); jsonObject.put("value", 0); jsonObject.put("id", basePigpen.getId()); } else { jsonObject.put("buildName", basePigpen.getBuildName()); jsonObject.put("value", energyGas.getGasValue()); jsonObject.put("id", basePigpen.getId()); } jsonArray.add(jsonObject); } } } else { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("farm_id", farmId).eq("parent_id", id); List basePigpens = basePigpenMapper.selectList(queryWrapper); for (BasePigpen basePigpen : basePigpens) { JSONObject jsonObject = new JSONObject(); QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("unit_id", basePigpen.getId()).eq("farm_id", farmId) .orderByDesc("create_date").last(" limit 1"); EnergyData energyGas = dataMapper.selectOne(queryWrapper1); if (ObjectUtil.isEmpty(energyGas)) { jsonObject.put("buildName", basePigpen.getBuildName()); jsonObject.put("value", 0); jsonObject.put("id", basePigpen.getId()); } else { jsonObject.put("buildName", basePigpen.getBuildName()); jsonObject.put("value", energyGas.getGasValue()); jsonObject.put("id", basePigpen.getId()); } jsonArray.add(jsonObject); } } return new Result(ResultCode.SUCCESS, jsonArray); } @Override public Result listData(HttpServletRequest httpServletRequest, Map paramsMap) { String farmId = paramsMap.get("farmId"); String type = paramsMap.get("type"); String id = paramsMap.get("id");//楼层id String startTime = paramsMap.get("startTime"); String endTime = paramsMap.get("endTime"); List energyGasList = null; //默认显示本年 if (type == null || type == "") { type = "3"; } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("farm_id", farmId).eq("unit_id", id); //自定义查询 if ("4".equals(type)) { startTime = startTime + " 00:00:00"; endTime = endTime + " 23:59:59"; queryWrapper.between("create_date", startTime, endTime); energyGasList = dataMapper.listDay(queryWrapper); } //全年 else if ("3".equals(type)) { DateTime dateTime = DateUtil.beginOfYear(new Date()); queryWrapper.ge("create_date", dateTime); List energyGasDataVos = dataMapper.listYear(queryWrapper); for (EnergyGasDataVo energyGasDataVo : energyGasDataVos) { if (energyGasDataVo.getGasValue() == null || energyGasDataVo.getGasValue() == "") { energyGasDataVo.setGasValue("0"); } } energyGasList = dataMapper.listYear(queryWrapper); } //本月 else if ("2".equals(type)) { Date timesMonthmorning = DataUill.getTimesMonthmorning(); queryWrapper.ge("create_date", timesMonthmorning); energyGasList = dataMapper.listDay(queryWrapper); } //本周 else if ("1".equals(type)) { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7); queryWrapper.ge("create_date", calendar.getTime()); List energyGasDataVos = dataMapper.listDay(queryWrapper); for (EnergyGasDataVo energyGasDataVo : energyGasDataVos) { if (energyGasDataVo.getGasValue() == null || energyGasDataVo.getGasValue() == "") { energyGasDataVo.setGasValue("0"); } } energyGasList =energyGasDataVos; } return new Result(ResultCode.SUCCESS, energyGasList); } }