From 75072002f353a34ca0de4f8aaad04c8d1841407c Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期五, 27 五月 2022 17:57:22 +0800
Subject: [PATCH] fix

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/security/stringTest.java |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/security/stringTest.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/security/stringTest.java
index a8f8841..eae71ac 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/security/stringTest.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/security/stringTest.java
@@ -13,7 +13,7 @@
  */
 public class stringTest {
     public static void main(String[] args) {
-        String command = "16050032359000";
+        String command = "000005003001000430050";
 //        String command = "00000500605000";
 
         char[] chars = command.toCharArray();
@@ -37,14 +37,29 @@
 //        int i1 = v2.getHour() - v1.getHour();
 //        int i2 = (v2.getMin()- v1.getMin());
 
-        BigDecimal hour = BigDecimal.valueOf((v2.getHour()- v1.getHour()));
-        BigDecimal min = BigDecimal.valueOf((v2.getMin()- v1.getMin())/60);
+        BigDecimal hour;
+        if (v2.getHour() > v1.getHour()) {
+            hour = BigDecimal.valueOf((v2.getHour() - v1.getHour()));
+        } else if (v2.getHour() < v1.getHour()) {
+            hour = BigDecimal.valueOf((v2.getHour() + 24 - v1.getHour()));
+        } else {
+            hour = BigDecimal.valueOf(0);
+        }
+//        BigDecimal min = BigDecimal.valueOf((v2.getMin() - v1.getMin()) / 60);
+        BigDecimal min;
+        if (v2.getMin() > v1.getMin()) {
+            min = BigDecimal.valueOf((v2.getMin() - v1.getMin()) / 60);
+        } else if (v2.getMin() < v1.getMin()) {
+            min = BigDecimal.valueOf((v2.getMin() + 60 - v1.getMin()) / 60);
+        } else {
+            min = BigDecimal.valueOf(0);
+        }
 
-        BigDecimal totalTime=(hour.add(min));
+        BigDecimal totalTime = (hour.add(min));
 //        int total=(i1*3600+i2*60);
 //        BigDecimal energySaving = BigDecimal.valueOf(((100-v1.getBrightness())/100)*totalTime/24);
 //        BigDecimal energySaving =BigDecimal.valueOf((100-v1.getBrightness())).divide(BigDecimal.valueOf(100)).multiply(totalTime).divide(BigDecimal.valueOf(24));
-        BigDecimal energySaving =new BigDecimal(100).subtract(BigDecimal.valueOf(v1.getBrightness())).divide(BigDecimal.valueOf(100)).multiply(totalTime).divide(BigDecimal.valueOf(24));
+        BigDecimal energySaving =new BigDecimal(100).subtract(BigDecimal.valueOf(v1.getBrightness())).divide(BigDecimal.valueOf(100)).multiply(totalTime).divide(BigDecimal.valueOf(24),2);
 
 
         System.out.println(energySaving);

--
Gitblit v1.9.3