| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- 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.EnergyWater;
- import com.huimv.admin.entity.vo.EnergyWaterDataVo;
- import com.huimv.admin.mapper.BasePigpenMapper;
- import com.huimv.admin.mapper.EnergyDataMapper;
- import com.huimv.admin.mapper.EnergyWaterMapper;
- import com.huimv.admin.service.IEnergyWaterService;
- 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.Date;
- import java.util.List;
- import java.util.Map;
- /**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author author
- * @since 2023-02-14
- */
- @Service
- public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, EnergyWater> implements IEnergyWaterService {
- @Autowired
- private BasePigpenMapper basePigpenMapper;
- @Autowired
- private EnergyWaterMapper energyWaterMapper;
- @Autowired
- private EnergyDataMapper dataMapper;
- @Override
- public Result listPigpen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
- String farmId = paramsMap.get("farmId");
- String id = paramsMap.get("id");//层id
- JSONArray jsonArray = new JSONArray();
- QueryWrapper<BasePigpen> basePigpenQueryWrapper = new QueryWrapper<>();
- if (id == null || id == "") {
- basePigpenQueryWrapper.eq("farm_id", farmId).eq("parent_id", 0);
- List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋
- for (BasePigpen basePigpen : basePigpens) {
- basePigpen.getId();
- QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("parent_id", basePigpen.getId());
- List<BasePigpen> pigpens = basePigpenMapper.selectList(queryWrapper);//得到所有的层
- for (BasePigpen pigpen : pigpens) {
- QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
- queryWrapper1.eq("farm_id", farmId).like("other2", pigpen.getId());
- List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper1);//得到所有的单元
- for (BasePigpen basePigpen1 : basePigpens1) {
- JSONObject jsonObject = new JSONObject();
- QueryWrapper<EnergyData> energyWaterQueryWrapper = new QueryWrapper<>();
- energyWaterQueryWrapper.eq("farm_id",farmId).eq("unit_id",basePigpen1.getId())
- .orderByDesc("create_date").last(" limit 1");
- EnergyData energyWater = dataMapper.selectOne(energyWaterQueryWrapper);
- if (ObjectUtil.isEmpty(energyWater)) {
- jsonObject.put("buildName", basePigpen1.getBuildName());
- jsonObject.put("value", 0);
- jsonObject.put("id", basePigpen1.getId());
- } else {
- jsonObject.put("buildName", basePigpen1.getBuildName());
- jsonObject.put("value", energyWater.getWaterValue());
- jsonObject.put("id", basePigpen1.getId());
- }
- jsonArray.add(jsonObject);
- }
- }
- }
- } else {
- basePigpenQueryWrapper.eq("farm_id", farmId).like("other2", id);
- List<BasePigpen> basePigpenList = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的单元
- for (BasePigpen basePigpen : basePigpenList) {
- JSONObject jsonObject = new JSONObject();
- QueryWrapper<EnergyData> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen.getId())
- .orderByDesc("create_date").last(" limit 1");
- EnergyData energyWater = dataMapper.selectOne(queryWrapper);
- if (ObjectUtil.isEmpty(energyWater)) {
- jsonObject.put("buildName", basePigpen.getBuildName());
- jsonObject.put("value", 0);
- jsonObject.put("id", basePigpen.getId());
- } else {
- jsonObject.put("buildName", basePigpen.getBuildName());
- jsonObject.put("value", energyWater.getWaterValue());
- jsonObject.put("id", basePigpen.getId());
- }
- jsonArray.add(jsonObject);
- }
- }
- return new Result(ResultCode.SUCCESS,jsonArray);
- }
- @Override
- public Result listData(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
- String farmId = paramsMap.get("farmId");
- String type = paramsMap.get("type");
- String startTime = paramsMap.get("startTime");
- String endTime = paramsMap.get("endTime");
- String id = paramsMap.get("id");//单元id
- if (type == null || type == "") {
- type = "3";
- }
- List<EnergyWaterDataVo> energyWaterList = null;
- QueryWrapper<EnergyData> 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("creata_date", startTime, endTime);
- energyWaterList = dataMapper.listDay3(queryWrapper);
- }
- //本年
- else if ("3".equals(type)) {
- DateTime dateTime = DateUtil.beginOfYear(new Date());
- queryWrapper.ge("create_date",dateTime);
- List<EnergyWaterDataVo> energyWaterDataVos = dataMapper.listYear3(queryWrapper);
- for (EnergyWaterDataVo energyWaterDataVo : energyWaterDataVos) {
- if (energyWaterDataVo.getWaterValue() == null || energyWaterDataVo.getWaterValue() == "") {
- energyWaterDataVo.setWaterValue("0");
- }
- }
- energyWaterList = dataMapper.listYear3(queryWrapper);
- }
- //本月
- else if ("2".equals(type)) {
- Date timesMonthmorning = DataUill.getTimesMonthmorning();
- queryWrapper.ge("create_date", timesMonthmorning);
- energyWaterList = dataMapper.listDay3(queryWrapper);
- }
- //本周
- else if ("1".equals(type)) {
- DateTime dateTime = DateUtil.beginOfWeek(new Date());
- queryWrapper.ge("create_date", dateTime);
- List<EnergyWaterDataVo> energyWaterDataVos = dataMapper.listDay3(queryWrapper);
- for (EnergyWaterDataVo energyWaterDataVo : energyWaterDataVos) {
- if (energyWaterDataVo.getWaterValue() == null || energyWaterDataVo.getWaterValue() == "") {
- energyWaterDataVo.setWaterValue("0");
- }
- }
- energyWaterList = energyWaterDataVos;
- }
- return new Result(ResultCode.SUCCESS,energyWaterList);
- }
- }
|