|
@@ -2,24 +2,27 @@ package com.huimv.admin.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.convert.Convert;
|
|
import cn.hutool.core.convert.Convert;
|
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import com.huimv.admin.common.utils.DataUill;
|
|
import com.huimv.admin.common.utils.Result;
|
|
import com.huimv.admin.common.utils.Result;
|
|
import com.huimv.admin.common.utils.ResultCode;
|
|
import com.huimv.admin.common.utils.ResultCode;
|
|
import com.huimv.admin.common.utils.ResultUtil;
|
|
import com.huimv.admin.common.utils.ResultUtil;
|
|
-import com.huimv.admin.entity.BasePigpen;
|
|
|
|
-import com.huimv.admin.entity.EnvDevice;
|
|
|
|
|
|
+import com.huimv.admin.entity.*;
|
|
import com.huimv.admin.entity.dto.BasePigpenDto;
|
|
import com.huimv.admin.entity.dto.BasePigpenDto;
|
|
|
|
+import com.huimv.admin.entity.vo.BasePigpenCountVo;
|
|
import com.huimv.admin.entity.vo.TreeBasePigpen;
|
|
import com.huimv.admin.entity.vo.TreeBasePigpen;
|
|
-import com.huimv.admin.mapper.BasePigpenMapper;
|
|
|
|
-import com.huimv.admin.mapper.EnvDeviceMapper;
|
|
|
|
-import com.huimv.admin.service.IBasePigpenService;
|
|
|
|
|
|
+import com.huimv.admin.mapper.*;
|
|
|
|
+import com.huimv.admin.service.*;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
|
+import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
@@ -38,6 +41,16 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
|
|
private BasePigpenMapper basePigpenMapper;
|
|
private BasePigpenMapper basePigpenMapper;
|
|
@Autowired
|
|
@Autowired
|
|
private EnvDeviceMapper envDeviceMapper;
|
|
private EnvDeviceMapper envDeviceMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IBasePigpenService basePigpenService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IEnvWarningService envWarningService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private EnvWaterMapper envWaterMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private EnvElectricityMapper envElectricityMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private EnvFeedMapper envFeedMapper;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@Transactional
|
|
@Transactional
|
|
@@ -107,6 +120,67 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
+ public Result countAll(Map<String, String> paramsMap) {
|
|
|
|
+ String farmId = paramsMap.get("farmId");
|
|
|
|
+ Date timesMonthmorning = DataUill.getTimesMonthmorning();
|
|
|
|
+ Date timesmorning = DataUill.getTimesmorning();
|
|
|
|
+ BasePigpenCountVo basePigpenCountVo = new BasePigpenCountVo();
|
|
|
|
+ //牧场栋舍
|
|
|
|
+ basePigpenCountVo.setBuildingNum(basePigpenService.count(new QueryWrapper<BasePigpen>()
|
|
|
|
+ .eq("parent_id", 0)
|
|
|
|
+ .eq("farm_id",farmId)));
|
|
|
|
+ basePigpenCountVo.setUnitNum(basePigpenService.count(new QueryWrapper<BasePigpen>()
|
|
|
|
+ .ne("parent_id",0)
|
|
|
|
+ .eq("farm_id",farmId)));
|
|
|
|
+ //牧场预警
|
|
|
|
+ basePigpenCountVo.setMonthWarning(envWarningService.count(new QueryWrapper<EnvWarning>()
|
|
|
|
+ .ge("update_time",timesMonthmorning)
|
|
|
|
+ .eq("farm_id",farmId)));
|
|
|
|
+ basePigpenCountVo.setDayWarning(envWarningService.count(new QueryWrapper<EnvWarning>()
|
|
|
|
+ .ge("update_time",timesmorning)
|
|
|
|
+ .eq("farm_id",farmId)));
|
|
|
|
+ BigDecimal monthWater = envWaterMapper.getWater(new QueryWrapper<EnvWater>().ge("update_time", timesMonthmorning).eq("farm_id", farmId));
|
|
|
|
+ if (ObjectUtil.isNull(monthWater)){
|
|
|
|
+ monthWater = BigDecimal.ZERO;
|
|
|
|
+ }
|
|
|
|
+ basePigpenCountVo.setMonthWater(monthWater);
|
|
|
|
+ BigDecimal dayWater = envWaterMapper.getWater(new QueryWrapper<EnvWater>().ge("update_time", timesmorning).eq("farm_id", farmId));
|
|
|
|
+ if (ObjectUtil.isNull(dayWater)){
|
|
|
|
+ dayWater = BigDecimal.ZERO;
|
|
|
|
+ }
|
|
|
|
+ basePigpenCountVo.setDayWater(dayWater);
|
|
|
|
+ BigDecimal monthElectricity = envElectricityMapper.getElectricity(new QueryWrapper<EnvElectricity>()
|
|
|
|
+ .ge("update_time", timesMonthmorning)
|
|
|
|
+ .eq("farm_id", farmId));
|
|
|
|
+ if (ObjectUtil.isNull(monthElectricity)){
|
|
|
|
+ monthElectricity = BigDecimal.ZERO;
|
|
|
|
+ }
|
|
|
|
+ basePigpenCountVo.setMonthElectricity(monthElectricity);
|
|
|
|
+ BigDecimal dayElectricity = envElectricityMapper.getElectricity(new QueryWrapper<EnvElectricity>()
|
|
|
|
+ .ge("update_time", timesmorning)
|
|
|
|
+ .eq("farm_id", farmId));
|
|
|
|
+ if (ObjectUtil.isNull(dayElectricity)){
|
|
|
|
+ dayElectricity = BigDecimal.ZERO;
|
|
|
|
+ }
|
|
|
|
+ basePigpenCountVo.setDayElectricity(dayElectricity);
|
|
|
|
+ BigDecimal monthFeed = envFeedMapper.getFeed(new QueryWrapper<EnvFeed>()
|
|
|
|
+ .ge("update_time", timesMonthmorning)
|
|
|
|
+ .eq("farm_id", farmId));
|
|
|
|
+ if (ObjectUtil.isNull(monthFeed)){
|
|
|
|
+ monthFeed = BigDecimal.ZERO;
|
|
|
|
+ }
|
|
|
|
+ basePigpenCountVo.setMonthFeed(monthFeed);
|
|
|
|
+ BigDecimal dayFeed = envFeedMapper.getFeed(new QueryWrapper<EnvFeed>()
|
|
|
|
+ .ge("update_time", timesmorning)
|
|
|
|
+ .eq("farm_id", farmId));
|
|
|
|
+ if (ObjectUtil.isNull(dayFeed)){
|
|
|
|
+ dayFeed = BigDecimal.ZERO;
|
|
|
|
+ }
|
|
|
|
+ basePigpenCountVo.setDayFeed(dayFeed);
|
|
|
|
+ return new Result(ResultCode.SUCCESS,basePigpenCountVo);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
public Result list(String farmCode, String buildName, String stageCode) {
|
|
public Result list(String farmCode, String buildName, String stageCode) {
|
|
QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
|
|
queryWrapper.like(StringUtils.isNotBlank(buildName),"build_name", buildName);
|
|
queryWrapper.like(StringUtils.isNotBlank(buildName),"build_name", buildName);
|