|
@@ -1,6 +1,7 @@
|
|
|
package com.huimv.environ.eco.controller;
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
@@ -8,9 +9,11 @@ import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.graphbuilder.curve.LagrangeCurve;
|
|
|
import com.huimv.common.utils.Result;
|
|
|
+import com.huimv.environ.eco.entity.FeedEggDetail;
|
|
|
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.IFeedEggDetailService;
|
|
|
import com.huimv.environ.eco.service.ILayEggService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -20,6 +23,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -38,6 +43,8 @@ public class LayEggController {
|
|
|
|
|
|
@Autowired
|
|
|
private ILayEggService layEggService;
|
|
|
+ @Autowired
|
|
|
+ private IFeedEggDetailService feedEggDetailService;
|
|
|
|
|
|
@PostMapping("/add")
|
|
|
@Transactional
|
|
@@ -45,7 +52,29 @@ public class LayEggController {
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
|
List<LayEgg> list = objectMapper.convertValue(map.get("list"), new TypeReference<List<LayEgg>>() {});
|
|
|
for (LayEgg layEgg : list) {
|
|
|
+ BigDecimal rate = BigDecimal.ZERO;
|
|
|
layEgg.setDate(layEgg.getDate().replace("-","/"));
|
|
|
+ FeedEggDetail feedEggDetail = feedEggDetailService.getOne(new QueryWrapper<FeedEggDetail>().lambda().eq(FeedEggDetail::getDate, layEgg.getDate()).eq(FeedEggDetail::getUnitName, layEgg.getUnitName()));
|
|
|
+ if (ObjectUtil.isNotEmpty(feedEggDetail)){
|
|
|
+ BigDecimal totalWeight = layEgg.getTotalWeight();
|
|
|
+ feedEggDetail.setEggProduction(layEgg.getEggProduction().toString());
|
|
|
+ feedEggDetail.setEggWeight(totalWeight);
|
|
|
+ feedEggDetail.setAvgWeight(layEgg.getAvgWeight());
|
|
|
+ BigDecimal stock = new BigDecimal(feedEggDetail.getStock());
|
|
|
+ BigDecimal eggProduction = new BigDecimal(layEgg.getEggProduction());
|
|
|
+ if (!feedEggDetail.getStock().equals("0")){
|
|
|
+ rate = eggProduction.divide(stock,4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)).setScale(2);
|
|
|
+ }
|
|
|
+ feedEggDetail.setLayEggRate(rate);
|
|
|
+
|
|
|
+ BigDecimal ratio = BigDecimal.ZERO;
|
|
|
+ BigDecimal feedConsume = feedEggDetail.getFeedConsume();
|
|
|
+
|
|
|
+ if (eggProduction.compareTo(BigDecimal.ZERO) != 0){
|
|
|
+ ratio = feedConsume.divide(eggProduction).setScale(2,RoundingMode.HALF_UP);
|
|
|
+ }
|
|
|
+ feedEggDetail.setFeedEggRatio(ratio);
|
|
|
+ }
|
|
|
}
|
|
|
String date = list.get(0).getDate();
|
|
|
Integer integer = layEggService.count(new QueryWrapper<LayEgg>().lambda().eq(LayEgg::getDate, date));
|