From 07430ab4daae1c8bc0a9d4507410470c0a09f5d0 Mon Sep 17 00:00:00 2001
From: whychdw <49690745@qq.com>
Date: 星期四, 10 十月 2019 10:47:53 +0800
Subject: [PATCH] 内容

---
 src/libs/common.js |  132 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 132 insertions(+), 0 deletions(-)

diff --git a/src/libs/common.js b/src/libs/common.js
index fefaf28..cba4eab 100644
--- a/src/libs/common.js
+++ b/src/libs/common.js
@@ -318,6 +318,135 @@
     return title;
 };
 
+var  CapType_Rest = 0;			//褰撴煡璇㈠墿浣欏閲忔椂浼犻��
+var  CapType_Real = 1;			//褰撴煡璇㈠疄闄呭閲忔椂浼犻��
+var STDAH;						//鏍囩函瀹归噺
+var MonomerVolType;				//鐢垫睜鐢靛帇绫诲瀷
+// 鑾峰彇鏍囩函鐢垫祦
+function GetFDCurrent(stdcap,hourrate)
+{
+	var res = 0.055;
+    switch(hourrate)
+    {
+        case 1: res = 0.514; break;
+        case 2: res = 0.306; break;
+        case 3: res = 0.250; break;
+        case 4: res = 0.200; break;
+        case 5: res = 0.166; break;
+        case 6: res = 0.146; break;
+        case 7: res = 0.131; break;
+        case 8: res = 0.118; break;
+        case 9: res = 0.108; break;
+        case 10: res = 0.100; break;
+        case 20: res = 0.055; break;
+        default: res = 0.055; break;
+    }
+    
+    return (stdcap * res);
+}
+
+// 鑾峰彇鏀剧數灏忔椂鐜�		stdah锛氭爣绾閲�              current:褰撳墠鐢垫祦	
+function GetHourRate(stdah,current)
+{
+	var index = 0;
+	var value=[5.14, 3.06, 2.50, 2.00, 1.66, 1.46, 1.31, 1.18, 1.08, 1.00, 0.55, 0.40];
+	var res;
+    current = Math.abs(current);
+	res = current/(stdah/10);
+    if(res >= 5.14) return 1;
+    else if(res <= 0.55) return 20;
+    else
+    {
+		for(var index=0; index<10; index++)
+        {
+			if((res<=value[index]) && (res>value[index+1]))
+				break;
+            else continue;
+        }
+        if((value[index]-res) < (res-value[index+1]))
+        {
+			return (index+1);
+        }
+		else
+        {
+			if(index+2 > 10) return (20);
+			else return (index+2);
+        }
+    }  
+}
+
+function N_TO_10H(n_H)
+{
+    switch(n_H)
+    {
+        case  1 : return(1/0.55);
+        case  2 : return(1/0.61);
+        case  3 : return(1/0.75);
+        case  4 : return(1/0.79);
+        case  5 : return(1/0.833);
+        case  6 : return(1/0.876);
+        case  7 : return(1/0.917);
+        case  8 : return(1/0.944);
+        case  9 : return(1/0.974);
+        case  10: return(1/1);
+        case  20: return(1/1.1);
+    }
+    return 1.0;
+}
+
+
+//鑾峰彇鍓╀綑瀹归噺	STDAH锛氭爣绉板閲�			HourRate锛氭斁鐢靛皬鏃剁巼	SumAH锛氭祴璇曞閲�		MaxMonomerVol锛氭渶澶х數姹犵數鍘�		MonomerVol锛氬綋鍓嶇數姹犵粍鐨勬渶浣庡崟浣撶數鍘�
+//MonomerVolType:鐢垫睜鏍囩О鐢靛帇		CapType:瀹归噺绫诲瀷锛堝畾鍊兼槸甯搁噺锛�
+function GetMonomerCap(STDAH, HourRate, SumAH, MaxMonomerVol, MonomerVol, MonomerVolType,CapType)
+{
+    if((MaxMonomerVol - MonomerVolType*0.9) <= 0)
+        return 0;
+    if(SumAH < 0)
+        SumAH *= (-1);
+    var tmp_cap;
+    tmp_cap = MonomerVol - MonomerVolType * 0.9;
+    tmp_cap *= (STDAH - SumAH * N_TO_10H(HourRate));
+    var dt_vol = MaxMonomerVol - MonomerVolType*0.9;
+    if(dt_vol < 0.01)
+        dt_vol = 0.01;
+    tmp_cap = tmp_cap/dt_vol;
+    if(tmp_cap < 0)
+        tmp_cap = 0;
+
+    if(CapType == CapType_Rest)
+        return tmp_cap;
+    else if(CapType == CapType_Real)
+        return (tmp_cap + SumAH * N_TO_10H(HourRate));
+    else
+        return ((tmp_cap + SumAH * N_TO_10H(HourRate))*100 / STDAH);
+}
+
+
+//灏嗙杞寲鎴�00M00H绫诲瀷
+function formatTime1(value) {
+	var theTime = parseInt(value);// 绉�
+	var theTime1 = 0;// 鍒�
+	var theTime2 = 0;// 灏忔椂
+	
+	if(theTime >= 60) {
+		theTime1 = parseInt(theTime/60);
+		theTime = parseInt(theTime%60);
+		// alert(theTime1+"-"+theTime);
+		if(theTime1 >= 60) {
+			theTime2 = parseInt(theTime1/60);
+			theTime1 = parseInt(theTime1%60);
+		}
+	}
+	var result = "";
+	if(theTime1 >= 0) {
+		result =(theTime1<10?"0":"")+parseInt(theTime1)+"M"+result;
+	}
+	if(theTime2 >= 0) {
+		result =(theTime2<10?"0":"")+parseInt(theTime2)+"H"+result;
+	}
+	return result;
+}
+
 export {
     CORS,           //  璺ㄥ煙璇锋眰鍐呭
     Interval,       // 璁℃椂鍣�
@@ -329,4 +458,7 @@
     Title,
     getSumFromArr,   // 鑾峰彇绱姞鍜�
     getAvgFromArr,   // 鑾峰彇骞冲潎鍊�
+    formatTime1,    // 缁埅鏃堕暱
+    GetMonomerCap,  // 鍓╀綑瀹归噺
+    GetHourRate,    // 鏀剧數灏忔椂鐜�
 }
\ No newline at end of file

--
Gitblit v1.9.1