Newspaper 1 год назад
Родитель
Сommit
e619b37d67
16 измененных файлов с 629 добавлено и 0 удалено
  1. 39 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/FeedEggDetailController.java
  2. 54 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/LayEggController.java
  3. 88 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/FeedEggDetail.java
  4. 58 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/LayEgg.java
  5. 16 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/FeedEggVo.java
  6. 16 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/LayEggUnitVo.java
  7. 14 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/LayEggVo.java
  8. 19 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/mapper/FeedEggDetailMapper.java
  9. 25 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/mapper/LayEggMapper.java
  10. 20 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/IFeedEggDetailService.java
  11. 21 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/ILayEggService.java
  12. 46 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/FeedEggDetailServiceImpl.java
  13. 50 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/LayEggServiceImpl.java
  14. 102 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/timer/LayEggTimer.java
  15. 39 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/resources/mapper/FeedEggDetailMapper.xml
  16. 22 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/resources/mapper/LayEggMapper.xml

+ 39 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/FeedEggDetailController.java

@@ -0,0 +1,39 @@
+package com.huimv.environ.eco.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.common.utils.Result;
+import com.huimv.environ.eco.entity.LayEgg;
+import com.huimv.environ.eco.service.IFeedEggDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 饲料产蛋报表 前端控制器
+ * </p>
+ *
+ * @author newspaper
+ * @since 2024-03-19
+ */
+@RestController
+@RequestMapping("/feed-egg-detail")
+public class FeedEggDetailController {
+
+    @Autowired
+    private IFeedEggDetailService feedEggDetailService;
+
+    @PostMapping("/page")
+    public Result page(@RequestBody Map<String,String> map){
+        return feedEggDetailService.selectPage(map);
+    }
+
+}

+ 54 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/LayEggController.java

@@ -0,0 +1,54 @@
+package com.huimv.environ.eco.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.common.utils.Result;
+import com.huimv.environ.eco.entity.FeedMaterial;
+import com.huimv.environ.eco.entity.LayEgg;
+import com.huimv.environ.eco.entity.eggvo.LayEggVo;
+import com.huimv.environ.eco.service.ILayEggService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author newspaper
+ * @since 2024-03-19
+ */
+@RestController
+@RequestMapping("/lay-egg")
+public class LayEggController {
+
+    @Autowired
+    private ILayEggService layEggService;
+
+    @PostMapping("/add")
+    @Transactional
+    public Result add(@RequestBody List<LayEgg> list){
+        String date = list.get(0).getDate();
+        Integer integer = layEggService.count(new QueryWrapper<LayEgg>().lambda().eq(LayEgg::getDate, date));
+        if (integer > 0){
+            layEggService.remove(new QueryWrapper<LayEgg>().lambda().eq(LayEgg::getDate, date));
+        }
+        layEggService.saveBatch(list);
+        return Result.SUCCESS();
+    }
+
+    @PostMapping("/page")
+    public Result page(@RequestBody Map<String,String> map){
+        return layEggService.selectPage(map);
+    }
+
+}

+ 88 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/FeedEggDetail.java

@@ -0,0 +1,88 @@
+package com.huimv.environ.eco.entity;
+
+import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 饲料产蛋报表
+ * </p>
+ *
+ * @author newspaper
+ * @since 2024-03-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("feed_egg_detail")
+public class FeedEggDetail implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 日期
+     */
+    @TableField("date")
+    private String date;
+
+    /**
+     * 单元名称
+     */
+    @TableField("unit_name")
+    private String unitName;
+
+    /**
+     * 存栏
+     */
+    @TableField("stock")
+    private String stock;
+
+    /**
+     * 产蛋数量
+     */
+    @TableField("egg_production")
+    private String eggProduction;
+
+    /**
+     * 产蛋率
+     */
+    @TableField("lay_egg_rate")
+    private BigDecimal layEggRate;
+
+    /**
+     * 总产蛋重量
+     */
+    @TableField("egg_weight")
+    private BigDecimal eggWeight;
+
+    /**
+     * 鸡蛋平均重量
+     */
+    @TableField("avg_weight")
+    private BigDecimal avgWeight;
+
+    /**
+     * 总饲料消耗
+     */
+    @TableField("feed_consume")
+    private BigDecimal feedConsume;
+
+    /**
+     * 料蛋比
+     */
+    @TableField("feed_egg_ratio")
+    private BigDecimal feedEggRatio;
+
+
+}

+ 58 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/LayEgg.java

@@ -0,0 +1,58 @@
+package com.huimv.environ.eco.entity;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author newspaper
+ * @since 2024-03-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("lay_egg")
+public class LayEgg implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 日期
+     */
+    private String date;
+
+    /**
+     * 单元名称
+     */
+    private String unitName;
+
+    /**
+     * 产蛋量
+     */
+    private Integer eggProduction;
+
+    /**
+     * 平均重量 单位g
+     */
+    private BigDecimal avgWeight;
+
+    /**
+     * 总重量 单位吨
+     */
+    private BigDecimal totalWeight;
+
+
+}

+ 16 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/FeedEggVo.java

@@ -0,0 +1,16 @@
+package com.huimv.environ.eco.entity.eggvo;
+
+import com.huimv.environ.eco.entity.FeedEggDetail;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+public class FeedEggVo {
+    private String date;
+    private BigDecimal totalEggWeight;
+    private BigDecimal totalFeedConsume;
+    private BigDecimal totalFeedEggRate;
+    private List<FeedEggDetail> list;
+}

+ 16 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/LayEggUnitVo.java

@@ -0,0 +1,16 @@
+package com.huimv.environ.eco.entity.eggvo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class LayEggUnitVo {
+    private String unitName;
+
+    private Integer eggProduction;
+
+    private BigDecimal avgWeight;
+
+    private BigDecimal totalWeight;
+}

+ 14 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/LayEggVo.java

@@ -0,0 +1,14 @@
+package com.huimv.environ.eco.entity.eggvo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.List;
+
+@Data
+public class LayEggVo {
+    private LocalDate date;
+    private BigDecimal totalWeight;
+    private List<LayEggUnitVo> list;
+}

+ 19 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/mapper/FeedEggDetailMapper.java

@@ -0,0 +1,19 @@
+package com.huimv.environ.eco.mapper;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.environ.eco.entity.FeedEggDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.environ.eco.entity.eggvo.FeedEggVo;
+
+/**
+ * <p>
+ * 饲料产蛋报表 Mapper 接口
+ * </p>
+ *
+ * @author newspaper
+ * @since 2024-03-19
+ */
+public interface FeedEggDetailMapper extends BaseMapper<FeedEggDetail> {
+
+    Page<FeedEggVo> page(Page<FeedEggVo> page);
+}

+ 25 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/mapper/LayEggMapper.java

@@ -0,0 +1,25 @@
+package com.huimv.environ.eco.mapper;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.environ.eco.entity.LayEgg;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.environ.eco.entity.eggvo.LayEggUnitVo;
+import com.huimv.environ.eco.entity.eggvo.LayEggVo;
+
+import java.time.LocalDate;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author newspaper
+ * @since 2024-03-19
+ */
+public interface LayEggMapper extends BaseMapper<LayEgg> {
+
+    Page<LayEggVo> page(Page<LayEggVo> page);
+
+    List<LayEggUnitVo> listUnit(LocalDate date);
+}

+ 20 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/IFeedEggDetailService.java

@@ -0,0 +1,20 @@
+package com.huimv.environ.eco.service;
+
+import com.huimv.common.utils.Result;
+import com.huimv.environ.eco.entity.FeedEggDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 饲料产蛋报表 服务类
+ * </p>
+ *
+ * @author newspaper
+ * @since 2024-03-19
+ */
+public interface IFeedEggDetailService extends IService<FeedEggDetail> {
+
+    Result selectPage(Map<String, String> map);
+}

+ 21 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/ILayEggService.java

@@ -0,0 +1,21 @@
+package com.huimv.environ.eco.service;
+
+import com.huimv.common.utils.Result;
+import com.huimv.environ.eco.entity.LayEgg;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author newspaper
+ * @since 2024-03-19
+ */
+public interface ILayEggService extends IService<LayEgg> {
+
+    Result selectPage(Map<String, String> map);
+}

+ 46 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/FeedEggDetailServiceImpl.java

@@ -0,0 +1,46 @@
+package com.huimv.environ.eco.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.environ.eco.entity.FeedEggDetail;
+import com.huimv.environ.eco.entity.eggvo.FeedEggVo;
+import com.huimv.environ.eco.entity.eggvo.LayEggVo;
+import com.huimv.environ.eco.mapper.FeedEggDetailMapper;
+import com.huimv.environ.eco.service.IFeedEggDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 饲料产蛋报表 服务实现类
+ * </p>
+ *
+ * @author newspaper
+ * @since 2024-03-19
+ */
+@Service
+public class FeedEggDetailServiceImpl extends ServiceImpl<FeedEggDetailMapper, FeedEggDetail> implements IFeedEggDetailService {
+
+    @Autowired
+    private FeedEggDetailMapper feedEggDetailMapper;
+
+    @Override
+    public Result selectPage(Map<String, String> map) {
+        String pageNum = map.get("pageNum");
+        String pageSize = map.get("pageSize");
+        Page<FeedEggVo> page = new Page<>(Integer.parseInt(pageNum),Integer.parseInt(pageSize));
+        Page<FeedEggVo> layEggVoPage = feedEggDetailMapper.page(page);
+        List<FeedEggVo> records = layEggVoPage.getRecords();
+        for (FeedEggVo record : records) {
+            List<FeedEggDetail> feedEggDetails = feedEggDetailMapper.selectList(new QueryWrapper<FeedEggDetail>().lambda().eq(FeedEggDetail::getDate, record.getDate()).orderByAsc(FeedEggDetail::getUnitName));
+            record.setList(feedEggDetails);
+        }
+        return new Result(ResultCode.SUCCESS,layEggVoPage);
+    }
+}

+ 50 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/LayEggServiceImpl.java

@@ -0,0 +1,50 @@
+package com.huimv.environ.eco.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.environ.eco.entity.LayEgg;
+import com.huimv.environ.eco.entity.eggvo.LayEggUnitVo;
+import com.huimv.environ.eco.entity.eggvo.LayEggVo;
+import com.huimv.environ.eco.mapper.LayEggMapper;
+import com.huimv.environ.eco.service.ILayEggService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDate;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author newspaper
+ * @since 2024-03-19
+ */
+@Service
+public class LayEggServiceImpl extends ServiceImpl<LayEggMapper, LayEgg> implements ILayEggService {
+
+    @Autowired
+    private LayEggMapper layEggMapper;
+
+    @Override
+    public Result selectPage(Map<String, String> map) {
+        String pageNum = map.get("pageNum");
+        String pageSize = map.get("pageSize");
+        Page<LayEggVo> page = new Page<>(Integer.parseInt(pageNum),Integer.parseInt(pageSize));
+        Page<LayEggVo> layEggVoPage = layEggMapper.page(page);
+        List<LayEggVo> records = layEggVoPage.getRecords();
+        for (LayEggVo record : records) {
+            LocalDate date = record.getDate();
+            List<LayEggUnitVo> layEggUnitVos = layEggMapper.listUnit(date);
+            record.setList(layEggUnitVos);
+        }
+        return new Result(ResultCode.SUCCESS,layEggVoPage);
+    }
+
+
+}

+ 102 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/timer/LayEggTimer.java

@@ -0,0 +1,102 @@
+package com.huimv.environ.eco.timer;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.environ.eco.entity.FeedEggDetail;
+import com.huimv.environ.eco.entity.FeedUsage;
+import com.huimv.environ.eco.entity.LayEgg;
+import com.huimv.environ.eco.mapper.FeedEggDetailMapper;
+import com.huimv.environ.eco.mapper.FeedUsageMapper;
+import com.huimv.environ.eco.mapper.LayEggMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+
+@Component
+public class LayEggTimer {
+
+    @Autowired
+    private LayEggMapper layEggMapper;
+    @Autowired
+    private FeedEggDetailMapper feedEggDetailMapper;
+    @Autowired
+    private FeedUsageMapper feedUsageMapper;
+
+    @Scheduled(cron = "0 5 0 * * ?")
+//@Scheduled(cron = "0/10 * * * * ?")
+    @Transactional
+    public void saveLayEgg(){
+        LocalDate localDate = LocalDate.now();
+        LocalDate yesterday = localDate.minusDays(1);
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
+        String date = yesterday.format(formatter);
+        Integer count = layEggMapper.selectCount(new QueryWrapper<LayEgg>().lambda().eq(LayEgg::getDate, date));
+        if (count == 0){
+            for (int i = 1; i <= 7; i++){
+                LayEgg layEgg = new LayEgg();
+                layEgg.setDate(date);
+                layEgg.setUnitName(i+"舍");
+                layEgg.setAvgWeight(BigDecimal.ZERO);
+                layEgg.setEggProduction(0);
+                layEgg.setTotalWeight(BigDecimal.ZERO);
+                layEggMapper.insert(layEgg);
+            }
+        }
+    }
+
+    @Scheduled(cron = "0 10 0 * * ?")
+//    @Scheduled(cron = "0/10 * * * * ?")
+    @Transactional
+    public void saveDetail(){
+        LocalDate localDate = LocalDate.now();
+        LocalDate yesterday = localDate.minusDays(1);
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
+        String date = yesterday.format(formatter);
+        List<LayEgg> layEggs = layEggMapper.selectList(new QueryWrapper<LayEgg>().lambda().eq(LayEgg::getDate, date).orderByAsc(LayEgg::getUnitName));
+        for (LayEgg layEgg : layEggs) {
+            FeedEggDetail feedEggDetail = new FeedEggDetail();
+            feedEggDetail.setDate(date);
+            feedEggDetail.setUnitName(layEgg.getUnitName());
+            String[] split = layEgg.getUnitName().split("舍");
+            String updatedNumber = String.valueOf(Integer.parseInt(split[0]) + 2);
+            String newUnitName = updatedNumber + "舍";
+            FeedUsage feedUsage = feedUsageMapper.selectOne(new QueryWrapper<FeedUsage>().lambda().eq(FeedUsage::getUsedDate, date).eq(FeedUsage::getUnitName, newUnitName));
+
+            feedEggDetail.setStock(feedUsage.getStock());
+            feedEggDetail.setEggProduction(layEgg.getEggProduction().toString());
+            BigDecimal rate = BigDecimal.ZERO;
+            BigDecimal stock = new BigDecimal(feedUsage.getStock());
+            BigDecimal eggProduction = new BigDecimal(layEgg.getEggProduction());
+            if (!feedUsage.getStock().equals("0")){
+                rate =  eggProduction.divide(stock,4,RoundingMode.HALF_UP).multiply(new BigDecimal(100)).setScale(2);
+            }
+            feedEggDetail.setLayEggRate(rate);
+            feedEggDetail.setEggWeight(layEgg.getTotalWeight());
+            feedEggDetail.setAvgWeight(layEgg.getAvgWeight());
+            feedEggDetail.setFeedConsume(feedUsage.getTotalConsume());
+
+            BigDecimal ratio = BigDecimal.ZERO;
+            BigDecimal feedConsume = feedUsage.getTotalConsume();
+            if (eggProduction.compareTo(BigDecimal.ZERO) != 0){
+                ratio =  feedConsume.divide(eggProduction).setScale(2,RoundingMode.HALF_UP);
+            }
+            feedEggDetail.setFeedEggRatio(ratio);
+            feedEggDetailMapper.insert(feedEggDetail);
+        }
+
+    }
+
+    public static void main(String[] args) {
+        LocalDate localDate = LocalDate.now();
+        LocalDate yesterday = localDate.minusDays(1);
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
+        String date = yesterday.format(formatter);
+        System.out.println(date);
+    }
+}

+ 39 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/resources/mapper/FeedEggDetailMapper.xml

@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.environ.eco.mapper.FeedEggDetailMapper">
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, date, unit_name, stock, egg_production, lay_egg_rate, total_egg_weight, avg_weight, total_feed_consume, feed_egg_ratio
+    </sql>
+    <select id="page" resultType="com.huimv.environ.eco.entity.eggvo.FeedEggVo">
+        SELECT
+            e.date,
+            e.total_egg_weight AS 'totalEggWeight',
+            COALESCE(ROUND(u.total_feed_consume / 1000, 2), 0) AS 'totalFeedConsume',
+            ROUND(CASE WHEN e.egg_production = 0 THEN NULL ELSE u.total_feed_consume / e.egg_production END, 2) AS 'totalFeedEggRate'
+        FROM
+            (SELECT
+                DATE AS DATE,
+                SUM(total_weight) AS total_egg_weight,
+                SUM(egg_production) AS egg_production
+             FROM
+                `lay_egg`
+            GROUP BY
+                 DATE) e
+        LEFT JOIN
+            (SELECT
+                 used_date AS DATE,
+                SUM(total_consume) AS total_feed_consume
+            FROM
+                 `feed_usage`
+             GROUP BY
+                 used_date) u
+        ON
+            e.date = u.date
+        ORDER BY
+            e.date DESC;
+
+    </select>
+
+</mapper>

+ 22 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/resources/mapper/LayEggMapper.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.environ.eco.mapper.LayEggMapper">
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, date, unit_name, egg_production, avg_weight, total_weight
+    </sql>
+    <select id="page" resultType="com.huimv.environ.eco.entity.eggvo.LayEggVo">
+        SELECT DATE,SUM(total_weight) AS totalWeight FROM `lay_egg`
+        GROUP BY DATE
+        ORDER BY DATE DESC
+    </select>
+
+
+    <select id="listUnit" resultType="com.huimv.environ.eco.entity.eggvo.LayEggUnitVo">
+        SELECT CONCAT('产蛋',unit_name)AS unit_name,egg_production,avg_weight,total_weight FROM `lay_egg`
+        WHERE DATE = #{date}
+        ORDER BY unit_name ASC
+    </select>
+
+</mapper>