From d95f6551e8214d69cd0fd511ec693641eb61ba16 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Mon, 01 Aug 2022 10:36:26 +0800
Subject: [PATCH] 1、大屏首页接口修复,解决double类型相加精度问题
---
src/main/java/org/springblade/modules/stock/controller/StockController.java | 97 +++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 83 insertions(+), 14 deletions(-)
diff --git a/src/main/java/org/springblade/modules/stock/controller/StockController.java b/src/main/java/org/springblade/modules/stock/controller/StockController.java
index f4518a5..e3d4735 100644
--- a/src/main/java/org/springblade/modules/stock/controller/StockController.java
+++ b/src/main/java/org/springblade/modules/stock/controller/StockController.java
@@ -41,6 +41,8 @@
import org.springblade.modules.stock.service.IStockService;
import org.springblade.core.boot.ctrl.BladeController;
+import java.math.BigDecimal;
+import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -100,6 +102,28 @@
String s = specs + dic1 + "/" + dic2;
pages.getRecords().get(i).setSpn(s);
pages.getRecords().get(i).setCnum(num * amount);
+
+ }
+ return R.data(pages);
+ }
+
+ /**
+ * 自定义分页 农资库存表
+ */
+ @GetMapping("/pages")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "分页", notes = "传入stock")
+ public R<List<StockVO>> pages(StockVO stock) {
+ List<StockVO> pages = stockService.selectListss(stock);
+ for (int i = 0; i < pages.size(); i++) {
+ String specs = pages.get(i).getSpecs();
+ Integer amount = pages.get(i).getAmount();
+ Integer num = Integer.parseInt(specs);
+ String dic1 = pages.get(i).getDic1();
+ String dic2 = pages.get(i).getDic2();
+ String s = specs + dic1 + "/" + dic2;
+ pages.get(i).setSpn(s);
+ pages.get(i).setCnum(num * amount);
}
return R.data(pages);
@@ -222,7 +246,6 @@
double v1 = lycknum + dbcknum + bfcknum;
pages.getRecords().get(i).setCknum(v1);
}
-
return R.data(pages);
}
@@ -232,9 +255,9 @@
*
* @return
*/
- @PostMapping("/StockCount")
- public R StockCount() {
- List<Map<String, Object>> maps = stockService.StockCount();
+ @GetMapping("/StockCount")
+ public R StockCount(String deptId) {
+ List<Map<String, Object>> maps = stockService.StockCount(deptId);
//化肥0
double hf = 0;
//有机肥1
@@ -404,19 +427,19 @@
}
Map map = new HashMap();
map.put("name", "化肥");
- map.put("val", hf);
+ map.put("val", new BigDecimal(hf).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
Map map1 = new HashMap();
map1.put("name", "有机肥");
- map1.put("val", yjf);
+ map1.put("val", new BigDecimal(String.valueOf(yjf)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
Map map2 = new HashMap();
map2.put("name", "杀虫剂");
- map2.put("val", scj);
+ map2.put("val", new BigDecimal(String.valueOf(scj)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
Map map3 = new HashMap();
map3.put("name", "杀菌剂");
- map3.put("val", sjj);
+ map3.put("val", new BigDecimal(String.valueOf(sjj)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
Map map4 = new HashMap();
map4.put("name", "饲料");
- map4.put("val", sl);
+ map4.put("val", new BigDecimal(String.valueOf(sl)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
List list = new ArrayList();
list.add(map);
list.add(map1);
@@ -433,10 +456,10 @@
* @return
*/
@GetMapping("/pagenumx")
- public R pagenumx(String startTime, String endTime) {
+ public R pagenumx(String deptId, String startTime, String endTime) {
Double rknu = 0.0;
Double cknu = 0.0;
- List<StocksVO> pages = stockService.slectNumx(startTime, endTime);
+ List<StocksVO> pages = stockService.slectNumx(deptId, startTime, endTime);
for (int i = 0; i < pages.size(); i++) {
Double cgnum = pages.get(i).getCgnum();
Double dbrknum = pages.get(i).getDbrknum();
@@ -454,11 +477,57 @@
rknu += rknum;
cknu += cknum;
}
- Map map= new HashMap();
- map.put("rknum",rknu);
- map.put("cknum",cknu);
+ Map map = new HashMap();
+ DecimalFormat df = new DecimalFormat("#0.000");
+ String format = df.format(rknu);
+ Double a = Double.parseDouble(format);
+ String format1 = df.format(cknu);
+ double b = Double.parseDouble(format1);
+ map.put("rknum", a);
+ map.put("cknum", b);
+ return R.data(map);
+ }
+
+ /**
+ * 小程序农资数据统计详情
+ *
+ * @param stock
+ * @param query
+ * @return
+ */
+ @GetMapping("/pagenums")
+ public R pagenums(StocksVO stock, Query query) {
+ Double rknu = 0.0;
+ Double cknu = 0.0;
+ IPage<StocksVO> pages = stockService.slectNum(Condition.getPage(query), stock);
+ for (int i = 0; i < pages.getRecords().size(); i++) {
+ Double cgnum = pages.getRecords().get(i).getCgnum();
+ Double dbrknum = pages.getRecords().get(i).getDbrknum();
+ double v = cgnum + dbrknum;
+ pages.getRecords().get(i).setRknum(v);
+ Double lycknum = pages.getRecords().get(i).getLycknum();
+ Double dbcknum = pages.getRecords().get(i).getDbcknum();
+ Double bfcknum = pages.getRecords().get(i).getBfcknum();
+ double v1 = lycknum + dbcknum + bfcknum;
+ pages.getRecords().get(i).setCknum(v1);
+ }
+ for (int j = 0; j < pages.getRecords().size(); j++) {
+ Double rknum = pages.getRecords().get(j).getRknum();
+ Double cknum = pages.getRecords().get(j).getCknum();
+ rknu += rknum;
+ cknu += cknum;
+ }
+ Map map = new HashMap();
+ DecimalFormat df = new DecimalFormat("#0.000");
+ String format = df.format(rknu);
+ Double a = Double.parseDouble(format);
+ String format1 = df.format(cknu);
+ double b = Double.parseDouble(format1);
+ map.put("rknum", a);
+ map.put("cknum", b);
List list = new ArrayList();
list.add(map);
+ list.add(pages);
return R.data(list);
}
--
Gitblit v1.9.3