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.EnergyElectricity; import com.huimv.admin.entity.vo.EnergyElectricityDataVo; import com.huimv.admin.mapper.BasePigpenMapper; import com.huimv.admin.mapper.EnergyDataMapper; import com.huimv.admin.mapper.EnergyElectricityMapper; import com.huimv.admin.service.IEnergyElectricityService; 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 EnergyElectricityServiceImpl extends ServiceImpl implements IEnergyElectricityService { @Autowired private EnergyElectricityMapper energyElectricityMapper; @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");//层id JSONArray jsonArray = new JSONArray(); QueryWrapper basePigpenQueryWrapper = new QueryWrapper<>(); if (id == null || id == "") { basePigpenQueryWrapper.eq("farm_id", farmId).eq("parent_id", 0); List basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//所有栋 for (BasePigpen pigpen : basePigpens) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("farm_id", farmId).like("other2", pigpen.getId()); List basePigpens1 = basePigpenMapper.selectList(queryWrapper);//所有层 for (BasePigpen basePigpen : basePigpens1) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("farm_id", farmId).like("other2", basePigpen.getId());//所有单元 List basePigpens2 = basePigpenMapper.selectList(queryWrapper1); for (BasePigpen basePigpen1 : basePigpens2) { JSONObject jsonObject = new JSONObject(); QueryWrapper energyElectricityQueryWrapper = new QueryWrapper<>(); energyElectricityQueryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen1.getId()) .orderByDesc("create_date").last(" limit 1"); EnergyData energyElectricity = dataMapper.selectOne(energyElectricityQueryWrapper); if (ObjectUtil.isEmpty(energyElectricity)) { jsonObject.put("buildName", basePigpen1.getBuildName()); jsonObject.put("value", 0); jsonObject.put("id", basePigpen1.getId()); } else { jsonObject.put("buildName", basePigpen1.getBuildName()); jsonObject.put("value", energyElectricity.getElectricityValue()); jsonObject.put("id", basePigpen1.getId()); } jsonArray.add(jsonObject); } } } } else { basePigpenQueryWrapper.eq("farm_id", farmId).like("other2", id); List basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//所有的单元 for (BasePigpen basePigpen : basePigpens) { JSONObject jsonObject = new JSONObject(); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen.getId()) .orderByDesc("create_date").last(" limit 1"); EnergyData energyElectricity = dataMapper.selectOne(queryWrapper); if (ObjectUtil.isEmpty(energyElectricity)) { jsonObject.put("buildName", basePigpen.getBuildName()); jsonObject.put("value", 0); jsonObject.put("id", basePigpen.getId()); } else { jsonObject.put("buildName", basePigpen.getBuildName()); jsonObject.put("value", energyElectricity.getElectricityValue()); 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"); String startTime = paramsMap.get("startTime"); String endTime = paramsMap.get("endTime"); if (type == null || type == "") { type = "3"; } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("farm_id", farmId).eq("unit_id", id); List electricityList = null; //自定义查询 if ("4".equals(type)) { startTime = startTime + " 00:00:00"; endTime = endTime + " 23:59:59"; queryWrapper.between("create_date", startTime, endTime); electricityList = dataMapper.listDay4(queryWrapper); } //本年 else if ("3".equals(type)) { DateTime dateTime = DateUtil.beginOfYear(new Date()); queryWrapper.ge("create_date", dateTime); List energyElectricityDataVos = dataMapper.listYear4(queryWrapper); for (EnergyElectricityDataVo energyElectricityDataVo : energyElectricityDataVos) { if (energyElectricityDataVo.getElectricityValue() == null || energyElectricityDataVo.getElectricityValue() == "") { energyElectricityDataVo.setElectricityValue("0"); } } electricityList = energyElectricityDataVos; } //本月 else if ("2".equals(type)) { Date timesMonthmorning = DataUill.getTimesMonthmorning(); queryWrapper.ge("create_date", timesMonthmorning); electricityList = dataMapper.listDay4(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 energyElectricityDataVos = dataMapper.listDay4(queryWrapper); for (EnergyElectricityDataVo energyElectricityDataVo : energyElectricityDataVos) { if (energyElectricityDataVo.getElectricityValue() == null || energyElectricityDataVo.getElectricityValue() == "") { energyElectricityDataVo.setElectricityValue("0"); } } electricityList = energyElectricityDataVos; } return new Result(ResultCode.SUCCESS, electricityList); } }