Selaa lähdekoodia

调整演示数据

wukai 1 kuukausi sitten
vanhempi
commit
c3a4d7e049

+ 17 - 7
jjt-biz/src/main/java/com/jjt/biz/controller/ApiYrController.java

@@ -1,12 +1,9 @@
 package com.jjt.biz.controller;
 
-import com.jjt.biz.service.IApiAllService;
 import com.jjt.biz.service.IApiYrService;
-import com.jjt.biz.vo.CurrYieldVO;
-import com.jjt.biz.vo.IndexData;
-import com.jjt.biz.vo.TwinAllVO;
+import com.jjt.biz.vo.YrProdEfficiencyVO;
+import com.jjt.biz.vo.YrProdLineStatusVO;
 import com.jjt.biz.vo.YrTwinVO;
-import com.jjt.common.constant.CacheConstants;
 import com.jjt.common.core.controller.BaseController;
 import com.jjt.common.core.domain.R;
 import com.jjt.common.core.redis.RedisCache;
@@ -21,6 +18,8 @@ import org.springframework.web.bind.annotation.RestController;
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.util.List;
+import java.util.Random;
 
 /**
  * swagger 用户测试方法
@@ -42,8 +41,19 @@ public class ApiYrController extends BaseController {
     @ResponseBody
     public R<?> data() {
         YrTwinVO vo = new YrTwinVO();
-        vo.setStatus(service.status());
-        vo.setEff(service.eff());
+        YrProdLineStatusVO status = service.status();
+        vo.setStatus(status);
+        List<YrProdEfficiencyVO> effList = service.eff();
+        for (YrProdEfficiencyVO eff : effList) {
+            if (eff.getLine() == 0) {
+                status.setWeight(eff.getWeight());
+                status.setLength(eff.getLength());
+                Random random = new Random();
+                BigDecimal baiPi = eff.getLength().multiply(BigDecimal.valueOf(0.5 + random.nextDouble())).setScale(0, RoundingMode.HALF_UP);
+                status.setBaiPei(baiPi);
+            }
+        }
+        vo.setEff(effList);
         vo.setProdTrade(service.prodTrade());
         vo.setEnergyTrade(service.energyTrade());
         return R.ok(vo);

+ 31 - 1
jjt-biz/src/main/java/com/jjt/biz/service/impl/ApiYrServiceImpl.java

@@ -1,12 +1,17 @@
 package com.jjt.biz.service.impl;
 
 import com.jjt.biz.service.IApiYrService;
-import com.jjt.biz.vo.*;
+import com.jjt.biz.vo.YrEnergyTradeVO;
+import com.jjt.biz.vo.YrProdEfficiencyVO;
+import com.jjt.biz.vo.YrProdLineStatusVO;
+import com.jjt.biz.vo.YrProdTradeVO;
 import com.jjt.common.core.redis.RedisCache;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.time.LocalDate;
 import java.util.ArrayList;
 import java.util.List;
@@ -43,9 +48,34 @@ public class ApiYrServiceImpl implements IApiYrService {
     @Override
     public List<YrProdEfficiencyVO> eff() {
         List<YrProdEfficiencyVO> list = new ArrayList<>();
+        YrProdEfficiencyVO[] arr = new YrProdEfficiencyVO[9];
         for (int i = 0; i < 9; i++) {
             YrProdEfficiencyVO vo = new YrProdEfficiencyVO(i);
             vo.mock();
+            arr[i] = vo;
+        }
+        YrProdEfficiencyVO line0 = new YrProdEfficiencyVO(0);
+        for (int i = 1; i < 9; i++) {
+            YrProdEfficiencyVO vo = arr[i];
+            line0.setEffA(line0.getEffA().add(vo.getEffA()));
+            line0.setEffB(line0.getEffB().add(vo.getEffB()));
+            line0.setTimeA(line0.getTimeA().add(vo.getTimeA()));
+            line0.setTimeB(line0.getTimeB().add(vo.getTimeB()));
+            line0.setLengthA(line0.getLengthA().add(vo.getLengthA()));
+            line0.setLengthB(line0.getLengthB().add(vo.getLengthB()));
+            line0.setWeightA(line0.getWeightA().add(vo.getWeightA()));
+            line0.setWeightB(line0.getWeightB().add(vo.getWeightB()));
+            line0.setWeight(line0.getWeight().add(vo.getWeight()));
+            line0.setLength(line0.getLength().add(vo.getLength()));
+
+        }
+
+        line0.setEffA(line0.getEffA().divide(BigDecimal.valueOf(8), 2, RoundingMode.HALF_UP));
+        line0.setEffB(line0.getEffB().divide(BigDecimal.valueOf(8), 2, RoundingMode.HALF_UP));
+
+        list.add(line0);
+        for (int i = 1; i < 9; i++) {
+            YrProdEfficiencyVO vo = arr[i];
             list.add(vo);
         }
         return list;

+ 2 - 4
jjt-biz/src/main/java/com/jjt/biz/vo/AvgMonthVO.java

@@ -33,10 +33,8 @@ public class AvgMonthVO {
         Random random = new Random();
         double total = 100000 + 30000 * random.nextDouble();
         this.costTotal = BigDecimal.valueOf(total).setScale(1, RoundingMode.HALF_UP);
-        double price = 2.0 + random.nextDouble();
-        this.costJb = BigDecimal.valueOf(price).setScale(1, RoundingMode.HALF_UP);
-        price = 2.0 + random.nextDouble();
-        this.costRz = BigDecimal.valueOf(price).setScale(1, RoundingMode.HALF_UP);
+        this.costJb = BigDecimal.valueOf(2.5);
+        this.costRz = BigDecimal.valueOf(2.6);
         double prod = 20000 + 20000 * random.nextDouble();
         this.yieldJb = BigDecimal.valueOf(prod).setScale(0, RoundingMode.HALF_UP);
         prod = 20000 + 20000 * random.nextDouble();

+ 28 - 9
jjt-biz/src/main/java/com/jjt/biz/vo/YrProdEfficiencyVO.java

@@ -53,33 +53,52 @@ public class YrProdEfficiencyVO {
 
     public YrProdEfficiencyVO(Integer line) {
         this.line = line;
+        if (line == 0) {
+            this.total = 267;
+            this.open = 187;
+            this.energy = BigDecimal.valueOf(2.6d);
+            this.ratio = BigDecimal.valueOf(this.open * 100).divide(BigDecimal.valueOf(this.total), 2, RoundingMode.HALF_UP);
+            this.lengthA = BigDecimal.ZERO;
+            this.lengthB = BigDecimal.ZERO;
+            this.timeA = BigDecimal.ZERO;
+            this.timeB = BigDecimal.ZERO;
+            this.effA = BigDecimal.ZERO;
+            this.effB = BigDecimal.ZERO;
+            this.weightA = BigDecimal.ZERO;
+            this.weightB = BigDecimal.ZERO;
+            this.length = BigDecimal.ZERO;
+            this.weight = BigDecimal.ZERO;
+
+        }
     }
 
     public void mock() {
         Integer[] total = {267, 38, 36, 35, 35, 30, 31, 32, 30};
-        Integer[] open = {88, 28, 26, 25, 25, 20, 21, 22, 20};
+        Integer[] open = {187, 28, 26, 25, 25, 20, 21, 22, 20};
         Random random = new Random();
         LocalDateTime ldt = LocalDateTime.now().plusHours(-7);
         this.total = total[line];
         this.open = open[line];
-        this.energy = BigDecimal.valueOf(2.5d);
+        this.energy = BigDecimal.valueOf(2.6d);
         this.ratio = BigDecimal.valueOf(this.open * 100).divide(BigDecimal.valueOf(this.total), 2, RoundingMode.HALF_UP);
         this.lengthA = BigDecimal.valueOf(3000 + 3000 * random.nextDouble()).multiply(BigDecimal.valueOf(ldt.getHour() / 12f)).setScale(2, RoundingMode.HALF_UP);
-        this.weightA = BigDecimal.valueOf(20 + 20 * random.nextDouble()).multiply(BigDecimal.valueOf(ldt.getHour() / 12f)).setScale(2, RoundingMode.HALF_UP);
-        this.timeA = BigDecimal.valueOf(ldt.getHour()).subtract(BigDecimal.valueOf(ldt.getHour() * 0.25 * random.nextFloat())).setScale(1, RoundingMode.HALF_UP);
+        this.weightA = lengthA.multiply(BigDecimal.valueOf(1.5)).divide(BigDecimal.valueOf(1000), 2,RoundingMode.HALF_UP);
         if (ldt.getHour() > 12) {
-            this.lengthB = BigDecimal.valueOf(3000 + 3000 * random.nextDouble()).multiply(BigDecimal.valueOf((ldt.getHour()-12) / 12f)).setScale(2, RoundingMode.HALF_UP);
-            this.weightB = BigDecimal.valueOf(20 + 20 * random.nextDouble()).multiply(BigDecimal.valueOf((ldt.getHour()-12) / 12f)).setScale(2, RoundingMode.HALF_UP);
-            this.timeB = BigDecimal.valueOf(5 + random.nextInt(7));
+            this.timeA = BigDecimal.valueOf(12).subtract(BigDecimal.valueOf(ldt.getHour() * 0.25 * random.nextFloat())).setScale(1, RoundingMode.HALF_UP);
+            this.effA = timeA.divide(BigDecimal.valueOf(12), 4, RoundingMode.HALF_UP);
+            this.lengthB = BigDecimal.valueOf(3000 + 3000 * random.nextDouble()).multiply(BigDecimal.valueOf((ldt.getHour() - 12) / 12f)).setScale(2, RoundingMode.HALF_UP);
+            this.weightB = lengthB.multiply(BigDecimal.valueOf(1.5)).divide(BigDecimal.valueOf(1000), 2,RoundingMode.HALF_UP);;
+            this.timeB = BigDecimal.valueOf(ldt.getHour() - 12).subtract(BigDecimal.valueOf(ldt.getHour() * 0.25 * random.nextFloat())).setScale(1, RoundingMode.HALF_UP);
             this.effB = timeB.divide(BigDecimal.valueOf(ldt.getHour() - 12), 4, RoundingMode.HALF_UP);
         } else {
-            timeB = BigDecimal.ZERO;
+            this.timeA = BigDecimal.valueOf(ldt.getHour()).subtract(BigDecimal.valueOf(ldt.getHour() * 0.25 * random.nextFloat())).setScale(1, RoundingMode.HALF_UP);
+            this.effA = timeA.divide(BigDecimal.valueOf(ldt.getHour()), 4, RoundingMode.HALF_UP);
+            this.timeB = BigDecimal.ZERO;
             this.lengthB = BigDecimal.ZERO;
             this.weightB = BigDecimal.ZERO;
             this.effB = BigDecimal.ZERO;
         }
         this.length = this.lengthA.add(this.lengthB);
         this.weight = this.weightA.add(this.weightB);
-        this.effA = timeA.divide(BigDecimal.valueOf(ldt.getHour()), 4, RoundingMode.HALF_UP);
     }
 }

+ 1 - 1
jjt-biz/src/main/java/com/jjt/biz/vo/YrProdLineStatusVO.java

@@ -36,7 +36,7 @@ public class YrProdLineStatusVO {
         this.length = BigDecimal.valueOf(3000 + random.nextInt(2000));
         this.weight = BigDecimal.valueOf(20 + random.nextInt(20));
         this.openProd = 8;
-        this.open = 88;
+        this.open = 187;
         this.total = 267;
     }
 }