From dc9742d581d75f01a04978537f6574fd2c327e69 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期二, 16 四月 2024 10:17:02 +0800
Subject: [PATCH] 蓄电池组后评估

---
 src/main/java/com/whyc/service/BatttestdataInfService.java |  126 +++++++++++++++++++++++------------------
 1 files changed, 70 insertions(+), 56 deletions(-)

diff --git a/src/main/java/com/whyc/service/BatttestdataInfService.java b/src/main/java/com/whyc/service/BatttestdataInfService.java
index 063404d..127b6d5 100644
--- a/src/main/java/com/whyc/service/BatttestdataInfService.java
+++ b/src/main/java/com/whyc/service/BatttestdataInfService.java
@@ -308,7 +308,6 @@
             }else{
                 map.put("wj", "W");
             }
-
         }else{
             map.put("wj", "J");
         }
@@ -603,8 +602,7 @@
             int goodSum = 0;
             //鏈甯�
             int noHrDisNum = 0;
-            //瀹為檯瀹归噺
-            float cap = 0f;
+
             //鍘诲勾鐨勬暟鎹�----------------
             //灏忎簬capAlarm
             int oldalarmNum = 0;
@@ -614,12 +612,15 @@
             int oldgoodSum = 0;
             //鏈甯�
             int oldnoHrDisNum = 0;
-            //瀹為檯瀹归噺鍘诲勾
-            float oldcap = 0f;
+
             //0.鏌ヨ鎵�鏈夌殑鐢垫睜缁�
             List<Battinf> binfList = binfMapper.getBinfList(userId);
             if (binfList != null && binfList.size() > 0) {
                 for (Battinf binf : binfList) {
+                    //瀹為檯瀹归噺
+                    float cap = 0f;
+                    //瀹為檯瀹归噺鍘诲勾
+                    float oldcap = 0f;
                     int battgroupId = binf.getBattGroupId();
                     float monCapStd = binf.getMonCapStd();
                     float monVolstd = binf.getMonVolStd();
@@ -770,8 +771,7 @@
             int goodSum = 0;
             //鏈甯�
             int noHrDisNum = 0;
-            //瀹為檯瀹归噺
-            float cap = 0f;
+
             //鍘诲勾鐨勬暟鎹�----------------
             //灏忎簬capAlarm
             int oldalarmNum = 0;
@@ -781,80 +781,94 @@
             int oldgoodSum = 0;
             //鏈甯�
             int oldnoHrDisNum = 0;
-            //瀹為檯瀹归噺鍘诲勾
-            float oldcap = 0f;
+
             //0.鏌ヨ鎵�鏈夌殑鐢垫睜缁�
             List<Battinf> binfList = binfMapper.getBinfList(userId);
             if (binfList != null && binfList.size() > 0) {
                 for (Battinf binf : binfList) {
-                    int battgroupId = binf.getBattGroupId();
-                    float monCapStd = binf.getMonCapStd();
-                    float monVolstd = binf.getMonVolStd();
+                    //瀹為檯瀹归噺
+                    float cap = 0f;
+                    float oldcap = 0f;
+                    //鏍囪鏈勾
+                    int flagWJ=0;
+                    int oldflagWJ=0;
+
                     //鏀剧數娆℃暟
                     int disNum = 0;
                     int olddisNum = 0;
+
+                    int battgroupId = binf.getBattGroupId();
+                    float monCapStd = binf.getMonCapStd();
+                    float monVolstd = binf.getMonVolStd();
+
                     //1.鏌ュ嚭绗﹀悎鏉′欢鐨勭數姹犵粍(鏍稿鏁版嵁)鎸夌収鏃堕棿鍊掑彊鎺掑簭鐨勭涓�涓�(鏈勾搴�)
                     BatttestdataInf inf = mapper.getGroupAnalysisQB_WJ(battgroupId,nowDateStart,nowDateEnd);
                     //1.鏌ュ嚭绗﹀悎鏉′欢鐨勭數姹犵粍(鏍稿鏁版嵁)鎸夌収鏃堕棿鍊掑彊鎺掑簭鐨勭涓�涓�(涓婁竴骞村害)
                     BatttestdataInf oldinf = mapper.getGroupAnalysisQBOld_WJ(battgroupId,oldDate);
                     if (inf != null) {
                         disNum=1;
+                        flagWJ=1;
                         int hourRate = BattCapFactory.GetHourRate(monCapStd, inf.getTestCurr());
                         cap = (float) BattCapFactory.GetMonomerCap(monCapStd, hourRate, inf.getTestCap(), inf.getMaxMonvol(), inf.getMinMonvol(), monVolstd, BattCapFactory.CapType_Real);
                     }
                     if(oldinf!=null){
                         olddisNum=1;
+                        oldflagWJ=1;
                         int oldhourRate = BattCapFactory.GetHourRate(monCapStd, oldinf.getTestCurr());
                         oldcap = (float) BattCapFactory.GetMonomerCap(monCapStd, oldhourRate, oldinf.getTestCap(), oldinf.getMaxMonvol(), oldinf.getMinMonvol(), monVolstd, BattCapFactory.CapType_Real);
                     }
                     //鏌ヨ鐢垫睜鍛婅鍐呴樆鍛婅
                     List listALmRes = alarmDataMapper.getAlm2(battgroupId);
-                    //鏈斁鐢碉細鏈勾搴︽湭鏀剧數锛屼笖鏃犲唴闃诲憡璀�<13,14>锛堥鍛婅锛堥噸瑕侊級锛屽憡璀︼紙绱ф�ワ級锛�-----鏈勾搴�
-                    if( (disNum==0) ){
-                        noHrDisNum+=1;
-                    }
-                    //浼樼锛氭湰骞村害宸叉斁鐢碉紝涓斿閲忓仴搴凤紝鏃犲唴闃诲憡璀︼紙棰勫憡璀︼紙閲嶈锛夛紝鍛婅锛堢揣鎬ワ級锛�
-                    if( (disNum>0)&&(cap > capAlarm * monCapStd)&&(listALmRes.size()<=0)){
-                        goodSum+=1;
-                    }
-                    /*鍔e寲锛氭湰骞村害鏈斁鐢碉紝鍐呴樆鍛婅锛堥鍛婅锛堥噸瑕侊級锛屽憡璀︼紙绱ф�ワ級锛�
-                     *瀹归噺灏忎簬鍔e寲闃堝�硷紝澶т簬鎹熷潖闃堝�硷紝鍐呴樆鍛婅(棰勫憡璀︼紝鍛婅)
-                     *     瀹归噺灏忎簬鍔e寲闃堝�硷紝鍐呴樆姝e父
-                     *     瀹归噺姝e父锛屽唴闃诲憡璀�(棰勫憡璀︼紝鍛婅)
-                     */
-                    if (((disNum==0)&&(listALmRes.size()>0))
-                            ||((disNum>0)&&(cap <= capAlarm * monCapStd && cap >= capChange * monCapStd)&&(listALmRes.size()>0))
-                            ||((disNum>0)&&(cap <= capAlarm * monCapStd)&&(listALmRes.size()<=0))
-                            ||(disNum>0)&&(cap > capAlarm * monCapStd)&&(listALmRes.size()>0)){
-                        alarmNum+=1;
-                    }
-                    //鎹熷潖锛氬閲忎綆锛屽唴闃诲憡璀�
-                    if((disNum!=0)&&(cap< capChange * monCapStd)&&(listALmRes.size()>0)){
-                       changeNum+=1;
-                    }
+                    if(flagWJ==1){
+                        //鏈斁鐢碉細鏈勾搴︽湭鏀剧數锛屼笖鏃犲唴闃诲憡璀�<13,14>锛堥鍛婅锛堥噸瑕侊級锛屽憡璀︼紙绱ф�ワ級锛�-----鏈勾搴�
+                        if( (disNum==0) ){
+                            noHrDisNum+=1;
+                        }
+                        //浼樼锛氭湰骞村害宸叉斁鐢碉紝涓斿閲忓仴搴凤紝鏃犲唴闃诲憡璀︼紙棰勫憡璀︼紙閲嶈锛夛紝鍛婅锛堢揣鎬ワ級锛�
+                        if( (disNum>0)&&(cap > capAlarm * monCapStd)&&(listALmRes.size()<=0)){
+                            goodSum+=1;
+                        }
+                        /*鍔e寲锛氭湰骞村害鏈斁鐢碉紝鍐呴樆鍛婅锛堥鍛婅锛堥噸瑕侊級锛屽憡璀︼紙绱ф�ワ級锛�
+                         *瀹归噺灏忎簬鍔e寲闃堝�硷紝澶т簬鎹熷潖闃堝�硷紝鍐呴樆鍛婅(棰勫憡璀︼紝鍛婅)
+                         *     瀹归噺灏忎簬鍔e寲闃堝�硷紝鍐呴樆姝e父
+                         *     瀹归噺姝e父锛屽唴闃诲憡璀�(棰勫憡璀︼紝鍛婅)
+                         */
+                        if (((disNum==0)&&(listALmRes.size()>0))
+                                ||((disNum>0)&&(cap <= capAlarm * monCapStd && cap >= capChange * monCapStd)&&(listALmRes.size()>0))
+                                ||((disNum>0)&&(cap <= capAlarm * monCapStd)&&(listALmRes.size()<=0))
+                                ||(disNum>0)&&(cap > capAlarm * monCapStd)&&(listALmRes.size()>0)){
+                            alarmNum+=1;
+                        }
+                        //鎹熷潖锛氬閲忎綆锛屽唴闃诲憡璀�
+                        if((disNum>0)&&(cap< capChange * monCapStd)&&(listALmRes.size()>0)){
+                            changeNum+=1;
+                        }
 
-                    //鏈斁鐢碉細鏈勾搴︽湭鏀剧數锛屼笖鏃犲唴闃诲憡璀�<13,14>锛堥鍛婅锛堥噸瑕侊級锛屽憡璀︼紙绱ф�ワ級锛�-----鍏朵粬骞村害
-                    if( (olddisNum==0) ){
-                        oldnoHrDisNum+=1;
                     }
-                    //浼樼锛氭湰骞村害宸叉斁鐢碉紝涓斿閲忓仴搴凤紝鏃犲唴闃诲憡璀︼紙棰勫憡璀︼紙閲嶈锛夛紝鍛婅锛堢揣鎬ワ級锛�
-                    if( (olddisNum>0)&&(oldcap > capAlarm * monCapStd)&&(listALmRes.size()<=0)){
-                        oldgoodSum+=1;
-                    }
-                    /*鍔e寲锛氭湰骞村害鏈斁鐢碉紝鍐呴樆鍛婅锛堥鍛婅锛堥噸瑕侊級锛屽憡璀︼紙绱ф�ワ級锛�
-                     *瀹归噺灏忎簬鍔e寲闃堝�硷紝澶т簬鎹熷潖闃堝�硷紝鍐呴樆鍛婅(棰勫憡璀︼紝鍛婅)
-                     *     瀹归噺灏忎簬鍔e寲闃堝�硷紝鍐呴樆姝e父
-                     *     瀹归噺姝e父锛屽唴闃诲憡璀�(棰勫憡璀︼紝鍛婅)
-                     */
-                    if (((olddisNum==0)&&(listALmRes.size()>0))
-                            ||((olddisNum>0)&&(oldcap <= capAlarm * monCapStd && oldcap >= capChange * monCapStd)&&(listALmRes.size()>0))
-                            ||((olddisNum>0)&&(oldcap <= capAlarm * monCapStd)&&(listALmRes.size()<=0))
-                            ||(olddisNum>0)&&(oldcap > capAlarm * monCapStd)&&(listALmRes.size()>0)){
-                        oldalarmNum+=1;
-                    }
-                    //鎹熷潖锛氬閲忎綆锛屽唴闃诲憡璀�
-                    if((olddisNum!=0)&&(oldcap< capChange * monCapStd)&&(listALmRes.size()>0)){
-                        oldchangeNum+=1;
+                    if(oldflagWJ==1){
+                        //鏈斁鐢碉細鏈勾搴︽湭鏀剧數锛屼笖鏃犲唴闃诲憡璀�<13,14>锛堥鍛婅锛堥噸瑕侊級锛屽憡璀︼紙绱ф�ワ級锛�-----鍏朵粬骞村害
+                        if( (olddisNum==0) ){
+                            oldnoHrDisNum+=1;
+                        }
+                        //浼樼锛氭湰骞村害宸叉斁鐢碉紝涓斿閲忓仴搴凤紝鏃犲唴闃诲憡璀︼紙棰勫憡璀︼紙閲嶈锛夛紝鍛婅锛堢揣鎬ワ級锛�
+                        if( (olddisNum>0)&&(oldcap > capAlarm * monCapStd)&&(listALmRes.size()<=0)){
+                            oldgoodSum+=1;
+                        }
+                        /*鍔e寲锛氭湰骞村害鏈斁鐢碉紝鍐呴樆鍛婅锛堥鍛婅锛堥噸瑕侊級锛屽憡璀︼紙绱ф�ワ級锛�
+                         *瀹归噺灏忎簬鍔e寲闃堝�硷紝澶т簬鎹熷潖闃堝�硷紝鍐呴樆鍛婅(棰勫憡璀︼紝鍛婅)
+                         *     瀹归噺灏忎簬鍔e寲闃堝�硷紝鍐呴樆姝e父
+                         *     瀹归噺姝e父锛屽唴闃诲憡璀�(棰勫憡璀︼紝鍛婅)
+                         */
+                        if (((olddisNum==0)&&(listALmRes.size()>0))
+                                ||((olddisNum>0)&&(oldcap <= capAlarm * monCapStd && oldcap >= capChange * monCapStd)&&(listALmRes.size()>0))
+                                ||((olddisNum>0)&&(oldcap <= capAlarm * monCapStd)&&(listALmRes.size()<=0))
+                                ||(olddisNum>0)&&(oldcap > capAlarm * monCapStd)&&(listALmRes.size()>0)){
+                            oldalarmNum+=1;
+                        }
+                        //鎹熷潖锛氬閲忎綆锛屽唴闃诲憡璀�
+                        if((olddisNum>0)&&(oldcap< capChange * monCapStd)&&(listALmRes.size()>0)){
+                            oldchangeNum+=1;
+                        }
                     }
 
                 }

--
Gitblit v1.9.1