From f169fcb00f7bf8c15bb1d461cd3710ebaf8106e8 Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期三, 11 十月 2023 14:07:56 +0800
Subject: [PATCH] 优化液位计算

---
 igds-basic/src/main/java/com/ld/igds/grain/manager/GrainManager.java  |   13 ++----
 igds-core/src/main/java/com/ld/igds/view/service/BuildingService.java |   26 ++++++------
 igds-web/pom.xml                                                      |   24 ++++++------
 3 files changed, 30 insertions(+), 33 deletions(-)

diff --git a/igds-basic/src/main/java/com/ld/igds/grain/manager/GrainManager.java b/igds-basic/src/main/java/com/ld/igds/grain/manager/GrainManager.java
index 313cf9c..9a4c37a 100644
--- a/igds-basic/src/main/java/com/ld/igds/grain/manager/GrainManager.java
+++ b/igds-basic/src/main/java/com/ld/igds/grain/manager/GrainManager.java
@@ -22,18 +22,13 @@
 import com.ld.igds.util.ContextUtil;
 import com.ld.igds.util.DateUtil;
 import com.ld.igds.util.DecimalUtil;
-import com.ld.igds.util.FilesUtil;
 import com.ld.igds.view.service.BuildingService;
-
 import lombok.extern.slf4j.Slf4j;
-
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.time.DateFormatUtils;
 import org.apache.commons.lang3.time.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
 import java.text.Collator;
 import java.util.*;
 import java.util.concurrent.ExecutorService;
@@ -67,8 +62,6 @@
     private BuildingService buildingService;
     @Autowired
     private GrainExportBuilder grainExportBuilder;
-    @Resource
-    private FilesUtil filesUtil;
 
     /**
      * 鏍规嵁鍙傛暟鑾峰彇绮儏鏁版嵁淇℃伅
@@ -850,7 +843,11 @@
             if (null != bulkWeight && StringUtils.isNotEmpty(grainData.getOilHeight())) {
                 Double oilHeight = Double.valueOf(grainData.getOilHeight());
                 //璁$畻浣撶Н
-                volume = 3.14 * Math.pow(diameter / 2, 2) * oilHeight  - deVolume;
+                volume = 3.14159 * Math.pow(diameter / 2, 2) * oilHeight;
+                if(volume > 0){
+                    volume = volume - deVolume;
+                }
+
                 storage = volume * bulkWeight;
             }
 
diff --git a/igds-core/src/main/java/com/ld/igds/view/service/BuildingService.java b/igds-core/src/main/java/com/ld/igds/view/service/BuildingService.java
index f3c0ec2..33a9b22 100644
--- a/igds-core/src/main/java/com/ld/igds/view/service/BuildingService.java
+++ b/igds-core/src/main/java/com/ld/igds/view/service/BuildingService.java
@@ -3,6 +3,8 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
+
 import org.apache.commons.lang3.StringUtils;
 import org.hibernate.Session;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -61,7 +63,7 @@
 			}
 			data.setCompanyId(ContextUtil.getCompanyId());
 			session.saveOrUpdate(data);
-			refreshCache(data.getCompanyId(), data.getDeptId());
+			refreshCache(data.getCompanyId());
 		} finally {
 			session.flush();
 			session.close();
@@ -101,7 +103,7 @@
 				}
 			}
 			
-			refreshCache(items.get(0).getCompanyId(), items.get(0).getDeptId());
+			refreshCache(items.get(0).getCompanyId());
 		} finally {
 			session.flush();
 			session.close();
@@ -110,7 +112,7 @@
 	}
 
 	@SuppressWarnings("unchecked")
-	public List<Building> getCacheBuilding(String companyId,String deptId) {
+	public List<Building> getCacheBuilding(String companyId, String deptId) {
 		if(StringUtils.isEmpty(companyId)){
 			companyId = ContextUtil.getCompanyId();
 		}
@@ -120,14 +122,15 @@
 		List<Building> result = (List<Building>) redisUtil.get(key);
 
 		if (null == result) {
-			refreshCache(companyId, deptId);
+			refreshCache(companyId);
 			
 			return null;
 		}
 
 		if(null == deptId) return result;
-		
-		return result;
+
+		return result.stream().filter(item -> item.getDeptId().equals(deptId))
+				.collect(Collectors.toList());
 	}
 
 	@SuppressWarnings("unchecked")
@@ -136,12 +139,10 @@
 			companyId = ContextUtil.getCompanyId();
 		}
 
-		String key = RedisConst.buildKey(companyId, RedisConst.KEY_BUILDING_LIST);
-
-		List<Building> result = (List<Building>) redisUtil.get(key);
+		List<Building> result = getCacheBuilding(companyId, deptId);
 
 		if (null == result) {
-			refreshCache(companyId, deptId);
+			refreshCache(companyId);
 
 			return null;
 		}
@@ -154,12 +155,11 @@
 	}
 	
 	
-	public void refreshCache(String companyId, String deptId) {
+	public void refreshCache(String companyId) {
 		Map<String, Object> parameter = new HashMap<String, Object>();
 		parameter.put("companyId", companyId);
-		parameter.put("deptId", deptId);
 		List<Building> list = this.loadData(parameter);
 		
-		redisUtil.set(RedisConst.buildKey(companyId, deptId, RedisConst.KEY_BUILDING_LIST),list);
+		redisUtil.set(RedisConst.buildKey(companyId, RedisConst.KEY_BUILDING_LIST),list);
 	}
 }
diff --git a/igds-web/pom.xml b/igds-web/pom.xml
index 14866a1..d1b32ba 100644
--- a/igds-web/pom.xml
+++ b/igds-web/pom.xml
@@ -144,15 +144,15 @@
         </dependency>
 
 
-        <!-- 鎺ュ彛鍖咃紝鍖呮嫭涓婃捣鎺ュ彛鍜屻�佹皵璞℃帴鍙c�佷笁缁存帴鍙�-->
+        <!-- 鎺ュ彛鍖咃紝鍖呮嫭涓婃捣鎺ュ彛鍜屻�佹皵璞℃帴鍙c�佷笁缁存帴鍙�
         <dependency>
             <groupId>com.ld.igds</groupId>
             <artifactId>igds-api-inte</artifactId>
             <version>${igds.version}</version>
-        </dependency>
+        </dependency>-->
 
 
-        <!--  绉佹湁鍗忚-椋庢鑷磋繙
+        <!--  绉佹湁鍗忚-椋庢鑷磋繙-->
         <dependency>
             <groupId>com.ld.igds</groupId>
             <artifactId>igds-protocol-fzzy3</artifactId>
@@ -167,7 +167,7 @@
                     <groupId>log4j</groupId>
                 </exclusion>
             </exclusions>
-        </dependency>-->
+        </dependency>
 
         <!-- MODBUS-TCP
         <dependency>
@@ -187,7 +187,7 @@
         </dependency>-->
 
 
-        <!-- 绉佹湁鍗忚-椋庢鑷磋繙IOT銆佸埗姘満
+        <!-- 绉佹湁鍗忚-椋庢鑷磋繙IOT銆佸埗姘満-->
         <dependency>
             <groupId>com.ld.igds</groupId>
             <artifactId>igds-protocol-iot</artifactId>
@@ -202,9 +202,9 @@
                     <groupId>log4j</groupId>
                 </exclusion>
             </exclusions>
-        </dependency>-->
+        </dependency>
 
-        <!--  绉佹湁鍗忚-璐濆崥绮儏-->
+        <!--  绉佹湁鍗忚-璐濆崥绮儏
         <dependency>
             <groupId>com.ld.igds</groupId>
             <artifactId>igds-protocol-beibo</artifactId>
@@ -219,9 +219,9 @@
                     <groupId>log4j</groupId>
                 </exclusion>
             </exclusions>
-        </dependency>
+        </dependency>-->
 
-        <!--  绉佹湁鍗忚-DLT645鐢佃〃鍗忚-->
+        <!--  绉佹湁鍗忚-DLT645鐢佃〃鍗忚
         <dependency>
             <groupId>com.ld.igds</groupId>
             <artifactId>igds-protocol-es</artifactId>
@@ -236,7 +236,7 @@
                     <groupId>log4j</groupId>
                 </exclusion>
             </exclusions>
-        </dependency>
+        </dependency>-->
 
         <!--  绉佹湁鍗忚-閭︽捣鏅鸿兘-->
         <dependency>
@@ -255,7 +255,7 @@
             </exclusions>
         </dependency>
 
-        <!--  绉佹湁鍗忚-姝f潵鐢靛瓙
+        <!--  绉佹湁鍗忚-姝f潵鐢靛瓙-->
         <dependency>
             <groupId>com.ld.igds</groupId>
             <artifactId>igds-protocol-zldz</artifactId>
@@ -270,7 +270,7 @@
                     <groupId>log4j</groupId>
                 </exclusion>
             </exclusions>
-        </dependency> -->
+        </dependency>
 
         <!--  娴峰悍杞︾墝璇嗗埆-SDK-->
         <dependency>

--
Gitblit v1.9.3