wwh 2 年之前
父节点
当前提交
9334b4398f

+ 21 - 1
huimv-admin/src/main/java/com/huimv/admin/controller/EnergyElectricityController.java

@@ -1,13 +1,21 @@
 package com.huimv.admin.controller;
 
 
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.service.IEnergyElectricityService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
 /**
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  *
  * @author author
@@ -15,6 +23,18 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @RestController
 @RequestMapping("/energy-electricity")
+@CrossOrigin
 public class EnergyElectricityController {
+    @Autowired
+    private IEnergyElectricityService energyElectricityService;
+
+    @RequestMapping("/listPigpen")
+    public Result listPigpen(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return energyElectricityService.listPigpen(httpServletRequest, paramsMap);
+    }
 
+    @RequestMapping("/listData")
+    public Result listData(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return energyElectricityService.listData(httpServletRequest, paramsMap);
+    }
 }

+ 6 - 0
huimv-admin/src/main/java/com/huimv/admin/entity/EnergyElectricity.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -54,6 +57,9 @@ public class EnergyElectricity implements Serializable {
     private String other2;
 
     private String other3;
+    /*创建时间*/
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
+    private Date createDate;
 
 
 }

+ 14 - 0
huimv-admin/src/main/java/com/huimv/admin/entity/vo/EnergyElectricityDataVo.java

@@ -0,0 +1,14 @@
+package com.huimv.admin.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class EnergyElectricityDataVo {
+    private String electricityValue;
+
+    @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
+    private Date createDate;
+}

+ 10 - 1
huimv-admin/src/main/java/com/huimv/admin/mapper/EnergyElectricityMapper.java

@@ -1,7 +1,15 @@
 package com.huimv.admin.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.huimv.admin.entity.EnergyElectricity;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.admin.entity.vo.EnergyElectricityDataVo;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+
+import java.util.List;
 
 /**
  * <p>
@@ -11,6 +19,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @author author
  * @since 2023-02-14
  */
+@Repository
 public interface EnergyElectricityMapper extends BaseMapper<EnergyElectricity> {
-
+    List<EnergyElectricityDataVo> listYear(@Param(Constants.WRAPPER)QueryWrapper<EnergyElectricity> queryWrapper);
 }

+ 6 - 0
huimv-admin/src/main/java/com/huimv/admin/service/IEnergyElectricityService.java

@@ -1,8 +1,12 @@
 package com.huimv.admin.service;
 
+import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.entity.EnergyElectricity;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
 /**
  * <p>
  *  服务类
@@ -12,5 +16,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2023-02-14
  */
 public interface IEnergyElectricityService extends IService<EnergyElectricity> {
+    Result listPigpen(HttpServletRequest httpServletRequest,Map<String,String> paramsMap );
 
+    Result listData(HttpServletRequest httpServletRequest,Map<String,String> paramsMap );
 }

+ 127 - 0
huimv-admin/src/main/java/com/huimv/admin/service/impl/EnergyElectricityServiceImpl.java

@@ -1,11 +1,29 @@
 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.EnergyElectricity;
+import com.huimv.admin.entity.vo.EnergyElectricityDataVo;
+import com.huimv.admin.mapper.BasePigpenMapper;
 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.Date;
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +35,113 @@ import org.springframework.stereotype.Service;
 @Service
 public class EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityMapper, EnergyElectricity> implements IEnergyElectricityService {
 
+    @Autowired
+    private EnergyElectricityMapper energyElectricityMapper;
+    @Autowired
+    private BasePigpenMapper basePigpenMapper;
+    @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 pigpen : basePigpens) {
+                QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("farm_id", farmId).like("other2", pigpen.getId());
+                List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper);//所有层
+                for (BasePigpen basePigpen : basePigpens1) {
+                    QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
+                    queryWrapper1.eq("farm_id", farmId).like("other2", basePigpen.getId());//所有单元
+                    List<BasePigpen> basePigpens2 = basePigpenMapper.selectList(queryWrapper1);
+                    for (BasePigpen basePigpen1 : basePigpens2) {
+                        JSONObject jsonObject = new JSONObject();
+                        QueryWrapper<EnergyElectricity> energyElectricityQueryWrapper = new QueryWrapper<>();
+                        energyElectricityQueryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen1.getId())
+                                .orderByDesc("create_date").last(" limit 1");
+                        EnergyElectricity energyElectricity = energyElectricityMapper.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<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//所有的单元
+            for (BasePigpen basePigpen : basePigpens) {
+                JSONObject jsonObject = new JSONObject();
+                QueryWrapper<EnergyElectricity> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen.getId())
+                        .orderByDesc("create_date").last(" limit 1");
+                EnergyElectricity energyElectricity = energyElectricityMapper.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<String, String> 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<EnergyElectricity> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).eq("unit_id", id);
+        List<EnergyElectricity> electricityList = null;
+        //自定义查询
+        if ("4".equals(type)) {
+            startTime = startTime + " 00:00:00";
+            endTime = endTime + " 23:59:59";
+            queryWrapper.between("create_date", startTime, endTime);
+            electricityList = energyElectricityMapper.selectList(queryWrapper);
+        }
+        //本年
+        else if ("3".equals(type)) {
+            DateTime dateTime = DateUtil.beginOfYear(new Date());
+            queryWrapper.ge("create_date", dateTime);
+            return new Result(ResultCode.SUCCESS, energyElectricityMapper.listYear(queryWrapper));
+        }
+        //本月
+        else if ("2".equals(type)) {
+            Date timesMonthmorning = DataUill.getTimesMonthmorning();
+            queryWrapper.ge("create_date", timesMonthmorning);
+            electricityList = energyElectricityMapper.selectList(queryWrapper);
+        }
+        //本周
+        else if ("1".equals(type)) {
+            DateTime dateTime = DateUtil.beginOfWeek(new Date());
+            queryWrapper.ge("create_date", dateTime);
+            electricityList = energyElectricityMapper.selectList(queryWrapper);
+        }
+        return new Result(ResultCode.SUCCESS, electricityList);
+    }
 }

+ 7 - 1
huimv-admin/src/main/resources/com/huimv/admin/mapper/EnergyElectricityMapper.xml

@@ -13,6 +13,12 @@
         <result column="other1" property="other1" />
         <result column="other2" property="other2" />
         <result column="other3" property="other3" />
+        <result column="create_date" property="createDate"/>
     </resultMap>
-
+    <select id="listYear" resultType="com.huimv.admin.entity.vo.EnergyElectricityDataVo">
+        SELECT sum(electricity_value) 'electricityValue',create_date 'createDate' FROM `energy_electricity`
+         ${ew.customSqlSegment}
+        GROUP BY DATE_FORMAT(create_date,'%Y-%m')
+        ORDER BY create_date ASC
+    </select>
 </mapper>