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