namespace IStation
{
///
/// 全局辅助类
///
public class GlobalHelper
{
#region 默认配置
#region 泵标志
public readonly static int FlagJD1 = 1;
public readonly static int FlagJD2 = 2;
public readonly static int FlagJD3 = 3;
public readonly static int FlagDN2400 = 2400;
public readonly static int FlagDN2700 = 2700;
public readonly static List Station1PipeFlagList = new List() { FlagJD1, FlagJD2, FlagJD3 };
public readonly static List Station2PipeFlagList = new List() { FlagDN2400, FlagDN2700 };
#region 一输
public readonly static int Flag11 = 11;
public readonly static int Flag12 = 12;
public readonly static int Flag13 = 13;
public readonly static int Flag14 = 14;
public readonly static int Flag15 = 15;
public readonly static int Flag16 = 16;
public readonly static int Flag17 = 17;
public readonly static int Flag18 = 18;
public readonly static List Station1FlagList = new List() { Flag11, Flag12, Flag13, Flag14, Flag15, Flag16, Flag17, Flag18 };
public readonly static List Station1SameTypeFlagGroupFirst = new List() { Flag11, Flag12, Flag13, Flag14, Flag16, Flag17, Flag18 };
public readonly static List Station1SameTypeFlagGroupSecond = new List() { Flag15 };
#endregion
#region 二输
public readonly static int Flag21 = 21;
public readonly static int Flag22 = 22;
public readonly static int Flag23 = 23;
public readonly static int Flag24 = 24;
public readonly static int Flag25 = 25;
public readonly static int Flag26 = 26;
public readonly static int Flag27 = 27;
public readonly static List Station2FlagList = new List() { Flag21, Flag22, Flag23, Flag24, Flag25, Flag26, Flag27 };
public readonly static List Station2SameTypeFlagGroupFirst = new List() { Flag22, Flag23, Flag24, Flag25, Flag26 };
public readonly static List Station2SameTypeFlagGroupSecond = new List() { Flag21, Flag27 };
#endregion
///
/// 是否变频
///
///
///
public static bool IsFrequency(int flag)
{
if (flag == Flag15 || flag == Flag16)
{
return false;
}
return true;
}
///
/// 是否是1输水
///
///
///
public static bool IsStation1(IEnumerable flags)
{
if (flags == null || !flags.Any())
{
return false;
}
var flag = flags.FirstOrDefault();
if (!Station1FlagList.Contains(flag))
{
return false;
}
return true;
}
///
/// 是否是2输水
///
///
///
public static bool IsStation2(IEnumerable flags)
{
if (flags == null || !flags.Any())
{
return false;
}
var flag = flags.FirstOrDefault();
if (!Station2FlagList.Contains(flag))
{
return false;
}
return true;
}
#endregion
#region 监测对接标签
#region 二取
public readonly static string 长江水位 = "10001";
public readonly static string 二取前池液位 = "10002";
public readonly static string 陈行水库水位 = "10003";
public readonly static string 二取1泵_有功功率 = "10090";
public readonly static string 二取2泵_有功功率 = "10091";
public readonly static string 二取3泵_有功功率 = "10092";
public readonly static string 二取4泵_有功功率 = "10093";
public readonly static string 二取5泵_有功功率 = "10094";
public readonly static string 二取1泵_出口压力 = "10014";
public readonly static string 二取2泵_出口压力 = "10015";
public readonly static string 二取3泵_出口压力 = "10016";
public readonly static string 二取4泵_出口压力 = "10017";
public readonly static string 二取5泵_出口压力 = "10018";
public readonly static string 二取1泵_水泵_运行状态 = "10072";
public readonly static string 二取2泵_水泵_运行状态 = "10073";
public readonly static string 二取3泵_水泵_运行状态 = "10074";
public readonly static string 二取4泵_水泵_运行状态 = "10075";
public readonly static string 二取5泵_水泵_运行状态 = "10076";
public readonly static string 二取1泵_有功电能 = "10109";
public readonly static string 二取2泵_有功电能 = "10110";
public readonly static string 二取3泵_有功电能 = "10111";
public readonly static string 二取4泵_有功电能 = "10112";
public readonly static string 二取5泵_有功电能 = "10113";
public readonly static string 二取1泵_累计流量 = "10054";
public readonly static string 二取2泵_累计流量 = "10055";
public readonly static string 二取3泵_累计流量 = "10056";
public readonly static string 二取4泵_累计流量 = "10057";
public readonly static string 二取5泵_累计流量 = "10058";
public readonly static string 二取1泵_瞬时流量 = "10034";
public readonly static string 二取2泵_瞬时流量 = "10035";
public readonly static string 二取3泵_瞬时流量 = "10036";
public readonly static string 二取4泵_瞬时流量 = "10037";
public readonly static string 二取5泵_瞬时流量 = "10038";
public readonly static string 二取1泵_累计运行时间 = "10167";
public readonly static string 二取2泵_累计运行时间 = "10168";
public readonly static string 二取3泵_累计运行时间 = "10169";
public readonly static string 二取4泵_累计运行时间 = "10170";
public readonly static string 二取5泵_累计运行时间 = "10171";
public readonly static string 二取1泵_检修状态 = "10191";
public readonly static string 二取2泵_检修状态 = "10192";
public readonly static string 二取3泵_检修状态 = "10193";
public readonly static string 二取4泵_检修状态 = "10194";
public readonly static string 二取5泵_检修状态 = "10195";
public readonly static string 二取1泵_累计运行时间_历史 = "二取水1号主水泵.累计运行时间";
public readonly static string 二取2泵_累计运行时间_历史 = "二取水2号主水泵.累计运行时间";
public readonly static string 二取3泵_累计运行时间_历史 = "二取水3号主水泵.累计运行时间";
public readonly static string 二取4泵_累计运行时间_历史 = "二取水4号主水泵.累计运行时间";
public readonly static string 二取5泵_累计运行时间_历史 = "二取水5号主水泵.累计运行时间";
#endregion
#region 一输
public readonly static string 嘉定1线_瞬时流量 = "10138";
public readonly static string 嘉定2线_瞬时流量 = "10139";
public readonly static string 嘉定3线_瞬时流量 = "10140";
public readonly static string 嘉定1线_瞬时流量_长江管网图 = "10159";
public readonly static string 嘉定2线_瞬时流量_长江管网图 = "10160";
public readonly static string 嘉定3线_瞬时流量_长江管网图 = "10161";
public readonly static string 嘉定1线_表头累计 = "10143";
public readonly static string 嘉定2线_表头累计 = "10144";
public readonly static string 嘉定3线_表头累计 = "10145";
public readonly static string 嘉定1线_累计流量_长江管网图 = "10164";
public readonly static string 嘉定2线_累计流量_长江管网图 = "10165";
public readonly static string 嘉定3线_累计流量_长江管网图 = "10166";
public readonly static string 嘉定1线_压力 = "10128";
public readonly static string 嘉定2线_压力 = "10129";
public readonly static string 嘉定3线_压力 = "10130";
public readonly static string 嘉定1线_压力_长江管网图 = "10154";
public readonly static string 嘉定2线_压力_长江管网图 = "10155";
public readonly static string 嘉定3线_压力_长江管网图 = "10156";
public readonly static string 一输_老前池南侧液位 = "10011";
public readonly static string 一输_老前池北侧液位 = "10012";
public readonly static string 一输_新前池液位 = "10013";
public readonly static string 一输11泵_出口压力 = "10026";
public readonly static string 一输12泵_出口压力 = "10027";
public readonly static string 一输13泵_出口压力 = "10028";
public readonly static string 一输14泵_出口压力 = "10029";
public readonly static string 一输15泵_出口压力 = "10030";
public readonly static string 一输16泵_出口压力 = "10031";
public readonly static string 一输17泵_出口压力 = "10032";
public readonly static string 一输18泵_出口压力 = "10033";
public readonly static string 一输11泵_转速 = "10084";
public readonly static string 一输12泵_转速 = "10085";
public readonly static string 一输13泵_转速 = "10086";
public readonly static string 一输14泵_转速 = "10087";
public readonly static string 一输17泵_转速 = "10088";
public readonly static string 一输18泵_转速 = "10089";
public readonly static string 一输11泵_频率 = "10066";
public readonly static string 一输12泵_频率 = "10067";
public readonly static string 一输13泵_频率 = "10068";
public readonly static string 一输14泵_频率 = "10069";
public readonly static string 一输17泵_频率 = "10070";
public readonly static string 一输18泵_频率 = "10071";
public readonly static string 一输11泵_运行状态 = "10046";
public readonly static string 一输12泵_运行状态 = "10047"; // 10150 is null
public readonly static string 一输13泵_运行状态 = "10048";
public readonly static string 一输14泵_运行状态 = "10049";
public readonly static string 一输15泵_运行状态 = "10050";
public readonly static string 一输16泵_运行状态 = "10051";
public readonly static string 一输17泵_运行状态 = "10052";
public readonly static string 一输18泵_运行状态 = "10053";
public readonly static string 一输11泵_运行时间 = "10172";
public readonly static string 一输12泵_运行时间 = "10173";
public readonly static string 一输13泵_运行时间 = "10174";
public readonly static string 一输14泵_运行时间 = "10175";
public readonly static string 一输11泵_累计运行时间 = "10187";
public readonly static string 一输12泵_累计运行时间 = "10188";
public readonly static string 一输13泵_累计运行时间 = "10189";
public readonly static string 一输14泵_累计运行时间 = "10190";
public readonly static string 一输15泵_累计运行时间 = "10176";
public readonly static string 一输16泵_累计运行时间 = "10177";
public readonly static string 一输17泵_累计运行时间 = "10178";
public readonly static string 一输18泵_累计运行时间 = "10179";
public readonly static string 一输11泵_有功功率 = "10101";
public readonly static string 一输12泵_有功功率 = "10102";
public readonly static string 一输13泵_有功功率 = "10103";
public readonly static string 一输14泵_有功功率 = "10104";
public readonly static string 一输15泵_有功功率 = "10105";
public readonly static string 一输16泵_有功功率 = "10106";
public readonly static string 一输17泵_有功功率 = "10107";
public readonly static string 一输18泵_有功功率 = "10108";
public readonly static string 一输11泵_累计运行时间_历史 = "一输水泵11号变频单泵.水泵累计运行时间";
public readonly static string 一输12泵_累计运行时间_历史 = "一输水泵12号变频单泵1.水泵运行时间";
public readonly static string 一输13泵_累计运行时间_历史 = "一输水泵13号变频单泵.水泵累计运行时间";
public readonly static string 一输14泵_累计运行时间_历史 = "一输水泵14号变频单泵.水泵累计运行时间";
public readonly static string 一输15泵_累计运行时间_历史 = "HF一输水15号工频控制图.水泵累计运行时间";
public readonly static string 一输16泵_累计运行时间_历史 = "HF一输水16号工频控制图.水泵累计运行时间";
public readonly static string 一输17泵_累计运行时间_历史 = "一输水泵17号变频单泵.水泵累计运行时间";
public readonly static string 一输18泵_累计运行时间_历史 = "一输水泵18号变频单泵.水泵累计运行时间";
//20250213新增
//10210 一输水11号辅助设备.三档位切换
//10211 一输水12号辅助设备.三档位切换
//10212 一输水13号辅助设备.三档位切换
//10213 一输水14号辅助设备.三档位切换
//10214 一输水15号辅助设备图.三档位切换
//10215 一输水16号辅助设备图.三档位切换
//10216 一输水17号辅助设备.三档位切换
//10217 一输水18号辅助设备.三档位切换
public readonly static string 一输11泵_状态 = "10210";
public readonly static string 一输12泵_状态 = "10211";
public readonly static string 一输13泵_状态 = "10212";
public readonly static string 一输14泵_状态 = "10213";
public readonly static string 一输15泵_状态 = "10214";
public readonly static string 一输16泵_状态 = "10215";
public readonly static string 一输17泵_状态 = "10216";
public readonly static string 一输18泵_状态 = "10217";
#endregion
#region 二输
public readonly static string DN2400_出厂压力 = "10141";
public readonly static string DN2700_出厂压力 = "10142";
public readonly static string DN2400_出厂压力_长江管网图 = "10152";
public readonly static string DN2700_出厂压力_长江管网图 = "10153";
public readonly static string DN2400总管_瞬时流量 = "10146";
public readonly static string DN2700总管_瞬时流量 = "10147";
public readonly static string DN2400总管_瞬时流量_长江管网图 = "10157";
public readonly static string DN2700总管_瞬时流量_长江管网图 = "10158";
public readonly static string DN2400总管_实际累计流量 = "10148";
public readonly static string DN2700总管_实际累计流量 = "10149";
public readonly static string DN2400总管_累计流量_长江管网图 = "10162";
public readonly static string DN2700总管_累计流量_长江管网图 = "10163";
public readonly static string 二输21泵_泵井液位 = "10004";
public readonly static string 二输22泵_泵井液位 = "10005";
public readonly static string 二输23泵_泵井液位 = "10006";
public readonly static string 二输24泵_泵井液位 = "10007";
public readonly static string 二输25泵_泵井液位 = "10008";
public readonly static string 二输26泵_泵井液位 = "10009";
public readonly static string 二输27泵_泵井液位 = "10010";
public readonly static string 二输21泵_出水压力 = "10019";
public readonly static string 二输22泵_出水压力 = "10020";
public readonly static string 二输23泵_出水压力 = "10021";
public readonly static string 二输24泵_出水压力 = "10022";
public readonly static string 二输25泵_出水压力 = "10023";
public readonly static string 二输26泵_出水压力 = "10024";
public readonly static string 二输27泵_出水压力 = "10025";
public readonly static string 二输21泵_瞬时流量 = "10039";
public readonly static string 二输22泵_瞬时流量 = "10040";
public readonly static string 二输23泵_瞬时流量 = "10041";
public readonly static string 二输24泵_瞬时流量 = "10042";
public readonly static string 二输25泵_瞬时流量 = "10043";
public readonly static string 二输26泵_瞬时流量 = "10044";
public readonly static string 二输27泵_瞬时流量 = "10045";
public readonly static string 二输21泵_累计流量 = "10059";
public readonly static string 二输22泵_累计流量 = "10060";
public readonly static string 二输23泵_累计流量 = "10061";
public readonly static string 二输24泵_累计流量 = "10062";
public readonly static string 二输25泵_累计流量 = "10063";
public readonly static string 二输26泵_累计流量 = "10064";
public readonly static string 二输27泵_累计流量 = "10065";
public readonly static string 二输21泵_有功电能 = "10131";
public readonly static string 二输22泵_有功电能 = "10132";
public readonly static string 二输23泵_有功电能 = "10133";
public readonly static string 二输24泵_有功电能 = "10134";
public readonly static string 二输25泵_有功电能 = "10135";
public readonly static string 二输26泵_有功电能 = "10136";
public readonly static string 二输27泵_有功电能 = "10137";
public readonly static string 二输22泵_频率 = "10095";
public readonly static string 二输23泵_频率 = "10096";
public readonly static string 二输24泵_频率 = "10097";
public readonly static string 二输25泵_频率 = "10098";
public readonly static string 二输26泵_频率 = "10099";
public readonly static string 二输27泵_频率 = "10100";
public readonly static string 二输21泵_转速 = "10114";
public readonly static string 二输22泵_转速 = "10115";
public readonly static string 二输23泵_转速 = "10116";
public readonly static string 二输24泵_转速 = "10117";
public readonly static string 二输25泵_转速 = "10118";
public readonly static string 二输26泵_转速 = "10119";
public readonly static string 二输27泵_转速 = "10120";
public readonly static string 二输21泵_有功功率 = "10121";
public readonly static string 二输22泵_有功功率 = "10122";
public readonly static string 二输23泵_有功功率 = "10123";
public readonly static string 二输24泵_有功功率 = "10124";
public readonly static string 二输25泵_有功功率 = "10125";
public readonly static string 二输26泵_有功功率 = "10126"; // "10151"; is null
public readonly static string 二输27泵_有功功率 = "10127";
public readonly static string 二输21泵_运行状态 = "10077";
public readonly static string 二输22泵_运行状态 = "10078";
public readonly static string 二输23泵_运行状态 = "10079";
public readonly static string 二输24泵_运行状态 = "10080";
public readonly static string 二输25泵_运行状态 = "10081";
public readonly static string 二输26泵_运行状态 = "10082";
public readonly static string 二输27泵_运行状态 = "10083";
public readonly static string 二输21泵_运行时间 = "10180";
public readonly static string 二输22泵_运行时间 = "10181";
public readonly static string 二输23泵_运行时间 = "10182";
public readonly static string 二输24泵_运行时间 = "10183";
public readonly static string 二输25泵_运行时间 = "10184";
public readonly static string 二输26泵_运行时间 = "10185";
public readonly static string 二输27泵_运行时间 = "10186";
//public readonly static string 二输21泵_状态 = "10196";
//public readonly static string 二输22泵_状态 = "10197";
//public readonly static string 二输23泵_状态 = "10198";
//public readonly static string 二输24泵_状态 = "10199";
//public readonly static string 二输25泵_状态 = "10200";
//public readonly static string 二输26泵_状态 = "10201";
//public readonly static string 二输27泵_状态 = "10202";
//历史版本,20250213变更
public readonly static string 二输21泵_状态 = "10203";
public readonly static string 二输22泵_状态 = "10204";
public readonly static string 二输23泵_状态 = "10205";
public readonly static string 二输24泵_状态 = "10206";
public readonly static string 二输25泵_状态 = "10207";
public readonly static string 二输26泵_状态 = "10208";
public readonly static string 二输27泵_状态 = "10209";
public readonly static string 二输21泵_累计运行时间_历史 = "二输水21号水泵运行参数.运行时间";
public readonly static string 二输22泵_累计运行时间_历史 = "二输水22号水泵运行参数.运行时间";
public readonly static string 二输23泵_累计运行时间_历史 = "二输水23号水泵运行参数.运行时间";
public readonly static string 二输24泵_累计运行时间_历史 = "二输水24号水泵运行参数.运行时间";
public readonly static string 二输25泵_累计运行时间_历史 = "二输水25号水泵运行参数.运行时间";
public readonly static string 二输26泵_累计运行时间_历史 = "二输水26号水泵运行参数.运行时间";
public readonly static string 二输27泵_累计运行时间_历史 = "二输水27号水泵运行参数.运行时间";
#endregion
#endregion
#region 泵标志 和 监测对接标签 映射
///
/// 泵标志运行状态映射字典 1输水
///
public readonly static Dictionary FlagRunStatusMappingDict1 = new() {
{Flag11, 一输11泵_运行状态},
{Flag12, 一输12泵_运行状态},
{Flag13, 一输13泵_运行状态},
{Flag14, 一输14泵_运行状态},
{Flag15, 一输15泵_运行状态},
{Flag16, 一输16泵_运行状态},
{Flag17, 一输17泵_运行状态},
{Flag18, 一输18泵_运行状态}
};
///
/// 泵标志运行状态映射字典 2输水
///
public readonly static Dictionary FlagRunStatusMappingDict2 = new() {
{Flag21, 二输21泵_运行状态},
{Flag22, 二输22泵_运行状态},
{Flag23, 二输23泵_运行状态},
{Flag24, 二输24泵_运行状态},
{Flag25, 二输25泵_运行状态},
{Flag26, 二输26泵_运行状态},
{Flag27, 二输27泵_运行状态}
};
///
/// 泵标志进口水位映射字典 1输水
///
public readonly static Dictionary FlagInletWaterLevelMappingDict1 = new() {
{Flag11, 一输_老前池南侧液位},
{Flag12, 一输_老前池南侧液位},
{Flag13, 一输_老前池南侧液位},
{Flag14, 一输_老前池北侧液位},
{Flag15, 一输_老前池北侧液位},
{Flag16, 一输_新前池液位},
{Flag17, 一输_新前池液位},
{Flag18, 一输_新前池液位}
};
///
/// 泵标志进口水位映射字典 2输水
///
public readonly static Dictionary FlagInletWaterLevelMappingDict2 = new() {
{Flag21, 二输21泵_泵井液位},
{Flag22, 二输22泵_泵井液位},
{Flag23, 二输23泵_泵井液位},
{Flag24, 二输24泵_泵井液位},
{Flag25, 二输25泵_泵井液位},
{Flag26, 二输26泵_泵井液位},
{Flag27, 二输27泵_泵井液位}
};
///
/// 泵标志出口压力映射字典 1输水
///
public readonly static Dictionary FlagOutletPressureMappingDict1 = new() {
{Flag11, 一输11泵_出口压力},
{Flag12, 一输12泵_出口压力},
{Flag13, 一输13泵_出口压力},
{Flag14, 一输14泵_出口压力},
{Flag15, 一输15泵_出口压力},
{Flag16, 一输16泵_出口压力},
{Flag17, 一输17泵_出口压力},
{Flag18, 一输18泵_出口压力}
};
///
/// 泵标志出口压力映射字典 2输水
///
public readonly static Dictionary FlagOutletPressureMappingDict2 = new() {
{Flag21, 二输21泵_出水压力},
{Flag22, 二输22泵_出水压力},
{Flag23, 二输23泵_出水压力},
{Flag24, 二输24泵_出水压力},
{Flag25, 二输25泵_出水压力},
{Flag26, 二输26泵_出水压力},
{Flag27, 二输27泵_出水压力}
};
///
/// 泵标志出口压力映射字典 2输水
///
public readonly static Dictionary FlagOutletFlowMappingDict2 = new() {
{Flag21, 二输21泵_瞬时流量},
{Flag22, 二输22泵_瞬时流量},
{Flag23, 二输23泵_瞬时流量},
{Flag24, 二输24泵_瞬时流量},
{Flag25, 二输25泵_瞬时流量},
{Flag26, 二输26泵_瞬时流量},
{Flag27, 二输27泵_瞬时流量}
};
///
/// 泵标志转速映射字典 1输水
///
public readonly static Dictionary FlagNrMappingDict1 = new() {
{Flag11, 一输11泵_转速},
{Flag12, 一输12泵_转速},
{Flag13, 一输13泵_转速},
{Flag14, 一输14泵_转速},
{Flag15, 一输15泵_运行状态},
{Flag16, 一输16泵_运行状态},
{Flag17, 一输17泵_转速},
{Flag18, 一输18泵_转速}
};
///
/// 泵标志转速映射字典 2输水
///
public readonly static Dictionary FlagNrMappingDict2 = new() {
{Flag21, 二输21泵_转速},
{Flag22, 二输22泵_转速},
{Flag23, 二输23泵_转速},
{Flag24, 二输24泵_转速},
{Flag25, 二输25泵_转速},
{Flag26, 二输26泵_转速},
{Flag27, 二输27泵_转速}
};
///
/// 泵标志状态映射字典 1输水
///
public readonly static Dictionary FlagStateMappingDict1 = new() {
{Flag11, 一输11泵_状态},
{Flag12, 一输12泵_状态},
{Flag13, 一输13泵_状态},
{Flag14, 一输14泵_状态},
{Flag15, 一输15泵_状态},
{Flag16, 一输16泵_状态},
{Flag17, 一输17泵_状态},
{Flag18, 一输18泵_状态}
};
///
/// 泵标志状态映射字典 2输水
///
public readonly static Dictionary FlagStateMappingDict2 = new() {
{Flag21, 二输21泵_状态},
{Flag22, 二输22泵_状态},
{Flag23, 二输23泵_状态},
{Flag24, 二输24泵_状态},
{Flag25, 二输25泵_状态},
{Flag26, 二输26泵_状态},
{Flag27, 二输27泵_状态}
};
///
/// 泵标志累计时间映射字典 1输水 (分钟单位)
///
public readonly static Dictionary FlagCumulativeRuntimeMappingDict1 = new() {
{一输11泵_累计运行时间_历史,Flag11},
{一输12泵_累计运行时间_历史,Flag12},
{一输13泵_累计运行时间_历史,Flag13},
{一输14泵_累计运行时间_历史,Flag14},
{一输15泵_累计运行时间_历史,Flag15},
{一输16泵_累计运行时间_历史,Flag16},
{一输17泵_累计运行时间_历史,Flag17},
{一输18泵_累计运行时间_历史,Flag18}
};
///
/// 泵标志累计时间映射字典 2输水 (小时单位)
///
public readonly static Dictionary FlagCumulativeRuntimeMappingDict2 = new() {
{二输21泵_累计运行时间_历史,Flag21},
{二输22泵_累计运行时间_历史,Flag22},
{二输23泵_累计运行时间_历史,Flag23},
{二输24泵_累计运行时间_历史,Flag24},
{二输25泵_累计运行时间_历史,Flag25},
{二输26泵_累计运行时间_历史,Flag26},
{二输27泵_累计运行时间_历史,Flag27}
};
#endregion
#region 模型映射
///
/// 模型流量点映射字典
///
public readonly static Dictionary ModelFlowIdMappingDict = new(){
{ "Pjd1", 嘉定1线_瞬时流量_长江管网图},
{ "Pjd2", 嘉定2线_瞬时流量_长江管网图},
{ "Pjd3", 嘉定3线_瞬时流量_长江管网图},
{ "Pdn2400", DN2400总管_瞬时流量_长江管网图},
{ "Pdn2700", DN2700总管_瞬时流量_长江管网图},
{ "Ppump21", 二输21泵_瞬时流量},
{ "Ppump22", 二输22泵_瞬时流量},
{ "Ppump23", 二输23泵_瞬时流量},
{ "Ppump24", 二输24泵_瞬时流量},
{ "Ppump25", 二输25泵_瞬时流量},
{ "Ppump26", 二输26泵_瞬时流量},
{ "Ppump27", 二输27泵_瞬时流量}
};
///
/// 模型压力点映射字典
///
public readonly static Dictionary ModelPressureIdMappingDict = new() {
{ "Jjd1", 嘉定1线_压力_长江管网图},
{ "Jjd2", 嘉定2线_压力_长江管网图},
{ "Jjd3", 嘉定3线_压力_长江管网图},
{ "Jpump11", 一输11泵_出口压力},
{ "Jpump12", 一输12泵_出口压力},
{ "Jpump13", 一输13泵_出口压力},
{ "Jpump14", 一输14泵_出口压力},
{ "Jpump15", 一输15泵_出口压力},
{ "Jpump16", 一输16泵_出口压力},
{ "Jpump17", 一输17泵_出口压力},
{ "Jpump18", 一输18泵_出口压力},
{ "Jdn2400", DN2400_出厂压力_长江管网图},
{ "Jdn2700", DN2700_出厂压力_长江管网图},
{ "Jpump21", 二输21泵_出水压力},
{ "Jpump22", 二输22泵_出水压力},
{ "Jpump23", 二输23泵_出水压力},
{ "Jpump24", 二输24泵_出水压力},
{ "Jpump25", 二输25泵_出水压力},
{ "Jpump26", 二输26泵_出水压力},
{ "Jpump27", 二输27泵_出水压力}
};
///
/// 模型模式点映射字典
///
public readonly static Dictionary ModelPatternIdMappingDict = new() {
{"Pump11", 一输11泵_转速},
{"Pump12", 一输12泵_转速},
{"Pump13", 一输13泵_转速},
{"Pump14", 一输14泵_转速},
{"Pump15", 一输15泵_运行状态},
{"Pump16", 一输16泵_运行状态},
{"Pump17", 一输17泵_转速},
{"Pump18", 一输18泵_转速},
{"R3", 一输_老前池南侧液位},
{"R2", 一输_老前池北侧液位 },
{"R1", 一输_新前池液位},
{"SFJD1", 嘉定1线_瞬时流量_长江管网图},
{"SFJD2", 嘉定2线_瞬时流量_长江管网图},
{"SFJD3", 嘉定3线_瞬时流量_长江管网图},
{"RPump21", 二输21泵_泵井液位},
{"RPump22", 二输22泵_泵井液位},
{"RPump23", 二输23泵_泵井液位},
{"RPump24", 二输24泵_泵井液位},
{"RPump25", 二输25泵_泵井液位},
{"RPump26", 二输26泵_泵井液位},
{"RPump27", 二输27泵_泵井液位},
{"SFPump21", 二输21泵_瞬时流量},
{"SFPump22", 二输22泵_瞬时流量},
{"SFPump23", 二输23泵_瞬时流量},
{"SFPump24", 二输24泵_瞬时流量},
{"SFPump25", 二输25泵_瞬时流量},
{"SFPump26", 二输26泵_瞬时流量},
{"SFPump27", 二输27泵_瞬时流量},
{"Pump21", 二输21泵_转速},
{"Pump22", 二输22泵_转速},
{"Pump23", 二输23泵_转速},
{"Pump24", 二输24泵_转速},
{"Pump25", 二输25泵_转速},
{"Pump26", 二输26泵_转速},
{"Pump27", 二输27泵_转速},
{"SFDN2400", DN2400总管_瞬时流量_长江管网图},
{"SFDN2700", DN2700总管_瞬时流量_长江管网图}
};
///
/// 模型压力点(kPa)列表
///
public readonly static List ModelPressureIdkPaList = new()
{
嘉定1线_压力,
嘉定2线_压力,
嘉定3线_压力,
嘉定1线_压力_长江管网图,
嘉定2线_压力_长江管网图,
嘉定3线_压力_长江管网图,
一输11泵_出口压力,
一输12泵_出口压力,
一输13泵_出口压力,
一输14泵_出口压力,
一输15泵_出口压力,
一输16泵_出口压力,
一输17泵_出口压力,
一输18泵_出口压力
};
///
/// 模型泵转速字典
///
public static readonly Dictionary ModelPumpNrDict = new() {
{ "Pump11",590},
{ "Pump12",590},
{ "Pump13",590},
{ "Pump14",590},
{ "Pump15",590},
{ "Pump16",590},
{ "Pump17",590},
{ "Pump18",590},
{ "Pump21",740},
{ "Pump22",495},
{ "Pump23",495},
{ "Pump24",495},
{ "Pump25",495},
{ "Pump26",495},
{ "Pump27",740}
};
///
/// 模型泵标识映射字典
///
public static readonly Dictionary ModelPumpIdMappingDict = new() {
{ Flag11,"Pump11"},
{ Flag12,"Pump12"},
{ Flag13,"Pump13"},
{ Flag14,"Pump14"},
{ Flag15,"Pump15"},
{ Flag16,"Pump16"},
{ Flag17,"Pump17"},
{ Flag18,"Pump18"},
{ Flag21,"Pump21"},
{ Flag22,"Pump22"},
{ Flag23,"Pump23"},
{ Flag24,"Pump24"},
{ Flag25,"Pump25"},
{ Flag26,"Pump26"},
{ Flag27,"Pump27"}
};
///
/// 模型泵标识列表
///
public static readonly List ModelPumpIdList = new() {
"Pump11" ,
"Pump12" ,
"Pump13" ,
"Pump14" ,
"Pump15" ,
"Pump16" ,
"Pump17" ,
"Pump18" ,
"Pump21" ,
"Pump22" ,
"Pump23" ,
"Pump24" ,
"Pump25" ,
"Pump26" ,
"Pump27"
};
///
/// 模型模式标识列表
///
public static readonly List ModelPatternIdList=new()
{
"Pump11",
"Pump12",
"Pump13",
"Pump14",
"Pump15",
"Pump16",
"Pump17",
"Pump18",
"R3",
"R2",
"R1",
"SFJD1",
"SFJD2",
"SFJD3",
"RPump21",
"RPump22",
"RPump23",
"RPump24",
"RPump25",
"RPump26",
"RPump27",
"SFPump21",
"SFPump22",
"SFPump23",
"SFPump24",
"SFPump25",
"SFPump26",
"SFPump27",
"Pump21",
"Pump22",
"Pump23",
"Pump24",
"Pump25",
"Pump26",
"Pump27",
"SFDN2400",
"SFDN2700",
};
#endregion
#endregion
#region 获取 配置字典
///
/// 获取 泵标志运行状态映射字典
///
public static Dictionary GetFlagRunStatusMappingDict()
{
var flag_run_status_mapping_dict = new Dictionary();
foreach (var item in FlagRunStatusMappingDict1)
{
flag_run_status_mapping_dict.Add(item.Key, item.Value);
}
foreach (var item in FlagRunStatusMappingDict2)
{
flag_run_status_mapping_dict.Add(item.Key, item.Value);
}
return flag_run_status_mapping_dict;
}
///
/// 获取 泵标志转速映射字典
///
public static Dictionary GetFlagNrMappingDict()
{
var flag_nr_mapping_dict = new Dictionary();
foreach (var item in FlagNrMappingDict1)
{
flag_nr_mapping_dict.Add(item.Key, item.Value);
}
foreach (var item in FlagNrMappingDict2)
{
flag_nr_mapping_dict.Add(item.Key, item.Value);
}
return flag_nr_mapping_dict;
}
#endregion
#region 获取实时Scada
///
/// 众毅实时数据
///
public class ZyRealTimeDataDto
{
///
///
///
public string msg { get; set; }
///
///
///
public Dictionary> data { get; set; }
///
///
///
public int status { get; set; }
}
///
/// 获取监测数据列表
///
public static string GetMonitorRecordList(DateTime receipt_time, out List monitor_record_list, bool use_debug = false)
{
var now= DateTime.Now;
monitor_record_list = new List();
if (!Settings.ParasHelper.ZyDocking.Enable)
{
if (use_debug)
{
var debug_monitor_record_file = Settings.ParasHelper.LocalFile.DataFolderDirectory + "\\" + "monitor_record_debug.txt";
if (File.Exists(debug_monitor_record_file))
{
var debug_monitor_record_json = File.ReadAllText(debug_monitor_record_file);
var dto = JsonHelper.Json2Object(debug_monitor_record_json);
if (dto == null)
{
monitor_record_list = JsonHelper.Json2Object>(debug_monitor_record_json);
}
else
{
monitor_record_list = ConvertMonitorRecordList(receipt_time,dto?.data);
}
}
}
return "ZyDocking 未启用";
}
var url = Settings.ParasHelper.ZyDocking.RealTimeScadaHttpUrl;
if (string.IsNullOrEmpty(url))
{
return "RealTimeScadaHttpUrl 为空";
}
try
{
var response_text = Yw.Untity.HttpRequestHelper.Get(url);
var dto = JsonHelper.Json2Object(response_text);
var data = dto?.data;
if (dto.data == null || !dto.data.Any())
{
return "response_text 解析失败!";
}
monitor_record_list = ConvertMonitorRecordList(receipt_time,dto.data);
}
catch (System.Exception ex)
{
return ex.Message;
}
if (!monitor_record_list.Any())
{
return "monitor_record_list 无数据";
}
return string.Empty;
}
///
/// 转换实时监测数据列表
///
///
///
///
private static List ConvertMonitorRecordList(DateTime receipt_time, Dictionary> data)
{
if (data == null || !data.Any())
return default;
var monitor_record_list = new List();
foreach (var item in data)
{
var monitor_record = new Model.MonitorRecord();
monitor_record.DataCode = item.Key;
if (DateTime.TryParse(item.Value["time"], out DateTime t))
monitor_record.DataTime = t;
if (double.TryParse(item.Value["vals"], out double v))
monitor_record.DataValue = v;
monitor_record.ReceiptTime = receipt_time;
monitor_record_list.Add(monitor_record);
}
return monitor_record_list;
}
#endregion
#region 获取历史Scada
///
/// 众毅历史数据
///
public class ZyHistoryDataDto
{
///
///
///
public string msg { get; set; }
///
///
///
public List data { get; set; }
///
///
///
public string status { get; set; }
}
///
/// 众毅历史数据 data
///
public class ZyDataDto
{
///
///
///
public string dataMsg { get; set; }
///
///
///
public List vals { get; set; }
///
///
///
public string tagName { get; set; }
}
///
/// 获取泵累计运行时间(小时)字典
///
/// 接收时间
///
///
/// 统计日期间隔(天)
/// 数据步长 1h(s:秒 m:分 h:小时 d:天)
/// 数据值类型 first:每个间隔的第一个值 mean:每个间隔的平均值
///
public static string GetFlagCumulativeRuntimeDict(DateTime receipt_time, out Dictionary station1_flag_cumulative_run_time_dict, out Dictionary station2_flag_cumulative_run_time_dict, int date_interval = 30, string frequency = "1h", string type = "first")
{
station1_flag_cumulative_run_time_dict = new Dictionary();
foreach (var flag in Station1FlagList)
{
station1_flag_cumulative_run_time_dict.Add(flag, 0);
}
station2_flag_cumulative_run_time_dict = new Dictionary();
foreach (var flag in Station2FlagList)
{
station2_flag_cumulative_run_time_dict.Add(flag, 0);
}
if (!Settings.ParasHelper.ZyDocking.Enable)
{
return "ZyDocking 未启用";
}
var url_prefix = Settings.ParasHelper.ZyDocking.HistoryScadaHttpUrl;
if (string.IsNullOrEmpty(url_prefix))
{
return "HistoryScadaHttpUrl 为空";
}
var enter_time_format = "yyyy-MM-dd HH:mm:ss";
var travel_time_format = new System.Globalization.DateTimeFormatInfo()
{
ShortDatePattern = "yyyy-MM-dd'T'HH:mm:ss.SSS Z"
};
var now_dt = DateTime.Now;
var start_dt = now_dt.AddDays(-date_interval);
var end_dt = now_dt;
var start_time = start_dt.ToString(enter_time_format);
var end_time = end_dt.ToString(enter_time_format);
var tag_list = new List();
tag_list.AddRange(FlagCumulativeRuntimeMappingDict1.Keys);
tag_list.AddRange(FlagCumulativeRuntimeMappingDict2.Keys);
var measurement_max_count = 5;
var measurements_list = new List();
for (int i = 0; i < tag_list.Count; i += measurement_max_count)
{
var tag_list_temp = tag_list.Skip(i).Take(measurement_max_count).ToList();
var measurements = Yw.Untity.StringListHelper.ToString(tag_list_temp);
measurements_list.Add(measurements);
}
var log_str_builder = new StringBuilder();
var monitor_record_list_dict = new Dictionary>();
try
{
foreach (var measurements in measurements_list)
{
var url = $"{url_prefix}?" +
$"startTime={start_time}&" +
$"endTime={end_time}&" +
$"type={type}&" +
$"frequency={frequency}&" +
$"measurements={measurements}";
log_str_builder.AppendLine($"历史数据请求:{url}");
var response_text = Yw.Untity.HttpRequestHelper.Get(url);
var dto = JsonHelper.Json2Object(response_text);
var zy_dada_dto_list = dto?.data;
if (zy_dada_dto_list == null || !zy_dada_dto_list.Any())
{
log_str_builder.AppendLine("无数据");
continue;
}
Yw.LogHelper.Debug(log_str_builder.ToString());
Yw.LogHelper.Debug(response_text);
foreach (var zy_dada_dto in zy_dada_dto_list)
{
var tag = zy_dada_dto.tagName;
var vlus = zy_dada_dto.vals;
var monitor_record_list = new List();
foreach (var vlu in vlus)
{
var time_str = vlu[0];
var value_str = vlu[1];
if (!double.TryParse(value_str, out double value))
continue;
var time = Convert.ToDateTime(time_str, travel_time_format).AddHours(-8);
var monitor_record = new Model.MonitorRecord();
monitor_record.DataTime = time;
monitor_record.DataCode = tag;
monitor_record.DataValue = value;
monitor_record.ReceiptTime = receipt_time;
monitor_record_list.Add(monitor_record);
}
monitor_record_list_dict.Add(tag, monitor_record_list);
}
}
}
catch (System.Exception ex)
{
log_str_builder.AppendLine(ex.Message);
}
foreach (var item in monitor_record_list_dict)
{
var tag = item.Key;
var monitor_record_list = item.Value;
if (monitor_record_list == null || !monitor_record_list.Any())
{
continue;
}
var min_time = monitor_record_list.Min(x => x.DataValue);
var max_time = monitor_record_list.Max(x => x.DataValue);
var run_time = max_time - min_time ?? 0;
if (FlagCumulativeRuntimeMappingDict1.ContainsKey(tag))
{
var flag = FlagCumulativeRuntimeMappingDict1[tag];
var time = Math.Round(run_time / 60, 1);
station1_flag_cumulative_run_time_dict[flag] = time;
}
else if (FlagCumulativeRuntimeMappingDict2.ContainsKey(tag))
{
var flag = FlagCumulativeRuntimeMappingDict2[tag];
var time = Math.Round(run_time, 1);
station2_flag_cumulative_run_time_dict[flag] = time;
}
}
return log_str_builder.ToString();
}
#endregion
#region 获取调度算法入参
///
/// 获取泵站运行标志列表
///
/// 监测列表
/// 运行标志列表 1输水
/// 运行标志列表 2输水
public static void GetStationOpenFlagList(List monitor_record_list, out List station1_open_flag_list, out List station2_open_flag_list)
{
station1_open_flag_list = new List();
station2_open_flag_list = new List();
if (monitor_record_list == null || !monitor_record_list.Any())
return;
foreach (var mapping in FlagRunStatusMappingDict1)
{
var flag = mapping.Key;
var code = mapping.Value;
var monitor_record = monitor_record_list.Find(x => x.DataCode == code);
if (monitor_record != null && monitor_record.DataValue == 1)
{
station1_open_flag_list.Add(flag);
}
}
foreach (var mapping in FlagRunStatusMappingDict2)
{
var flag = mapping.Key;
var code = mapping.Value;
var monitor_record = monitor_record_list.Find(x => x.DataCode == code);
if (monitor_record != null && monitor_record.DataValue == 1)
{
station2_open_flag_list.Add(flag);
}
}
}
///
/// 获取泵进口水位字典
///
/// 监测列表
/// 泵进口水位字典 1输水
/// 泵进口水位字典 2输水
public static void GetFlagInletWaterLevelDict(List monitor_record_list, out Dictionary station1_flag_inlet_water_level_dict, out Dictionary station2_flag_inlet_water_level_dict)
{
station1_flag_inlet_water_level_dict = new Dictionary();
station2_flag_inlet_water_level_dict = new Dictionary();
foreach (var mapping in FlagInletWaterLevelMappingDict1)
{
var flag = mapping.Key;
var code = mapping.Value;
var water_level = 0d;
var water_level_monitor_record = monitor_record_list?.Find(x => x.DataCode == code);
if (water_level_monitor_record != null)
{
water_level = water_level_monitor_record.DataValue ?? 0;
}
station1_flag_inlet_water_level_dict.Add(flag, water_level);
}
foreach (var mapping in FlagInletWaterLevelMappingDict2)
{
var flag = mapping.Key;
var code = mapping.Value;
var water_level = 0d;
var water_level_monitor_record = monitor_record_list?.Find(x => x.DataCode == code);
if (water_level_monitor_record != null)
{
water_level = water_level_monitor_record.DataValue ?? 0;
}
station2_flag_inlet_water_level_dict.Add(flag, water_level);
}
}
///
/// 获取泵流量和压力
///
///
///
///
public static void GetFlagRpmAndFlowAndPressureDict(
List monitor_record_list,
out Dictionary> station1_flag_rpm_pressure_dict,
out Dictionary> station2_flag_rpm_flow_pressure_dict)
{
station1_flag_rpm_pressure_dict = new Dictionary>();
station2_flag_rpm_flow_pressure_dict = new Dictionary>();
if (monitor_record_list == null || !monitor_record_list.Any())
{
return;
}
var record_dict = monitor_record_list.ToDictionary(x => x.DataCode, y => y.DataValue);
#region 1
var pump11_run_status = record_dict[GlobalHelper.一输11泵_运行状态];
var pump12_run_status = record_dict[GlobalHelper.一输12泵_运行状态];
var pump13_run_status = record_dict[GlobalHelper.一输13泵_运行状态];
var pump14_run_status = record_dict[GlobalHelper.一输14泵_运行状态];
var pump15_run_status = record_dict[GlobalHelper.一输15泵_运行状态];
var pump16_run_status = record_dict[GlobalHelper.一输16泵_运行状态];
var pump17_run_status = record_dict[GlobalHelper.一输17泵_运行状态];
var pump18_run_status = record_dict[GlobalHelper.一输18泵_运行状态];
var pump11_wl = record_dict[GlobalHelper.一输_老前池南侧液位];
var pump12_wl = record_dict[GlobalHelper.一输_老前池南侧液位];
var pump13_wl = record_dict[GlobalHelper.一输_老前池南侧液位];
var pump14_wl = record_dict[GlobalHelper.一输_老前池北侧液位];
var pump15_wl = record_dict[GlobalHelper.一输_老前池北侧液位];
var pump16_wl = record_dict[GlobalHelper.一输_新前池液位];
var pump17_wl = record_dict[GlobalHelper.一输_新前池液位];
var pump18_wl = record_dict[GlobalHelper.一输_新前池液位];
var pump11_pressure = record_dict[GlobalHelper.一输11泵_出口压力] / 1000;
var pump12_pressure = record_dict[GlobalHelper.一输12泵_出口压力] / 1000;
var pump13_pressure = record_dict[GlobalHelper.一输13泵_出口压力] / 1000;
var pump14_pressure = record_dict[GlobalHelper.一输14泵_出口压力] / 1000;
var pump15_pressure = record_dict[GlobalHelper.一输15泵_出口压力] / 1000;
var pump16_pressure = record_dict[GlobalHelper.一输16泵_出口压力] / 1000;
var pump17_pressure = record_dict[GlobalHelper.一输17泵_出口压力] / 1000;
var pump18_pressure = record_dict[GlobalHelper.一输18泵_出口压力] / 1000;
var pump11_rpm = record_dict[GlobalHelper.一输11泵_转速];
var pump12_rpm = record_dict[GlobalHelper.一输12泵_转速];
var pump13_rpm = record_dict[GlobalHelper.一输13泵_转速];
var pump14_rpm = record_dict[GlobalHelper.一输14泵_转速];
var pump15_rpm = pump15_run_status == 1 ? 590 : 0;
var pump16_rpm = pump16_run_status == 1 ? 590 : 0;
var pump17_rpm = record_dict[GlobalHelper.一输17泵_转速];
var pump18_rpm = record_dict[GlobalHelper.一输18泵_转速];
var pump11_power = record_dict[GlobalHelper.一输11泵_有功功率];
var pump12_power = record_dict[GlobalHelper.一输12泵_有功功率];
var pump13_power = record_dict[GlobalHelper.一输13泵_有功功率];
var pump14_power = record_dict[GlobalHelper.一输14泵_有功功率];
var pump15_power = record_dict[GlobalHelper.一输15泵_有功功率];
var pump16_power = record_dict[GlobalHelper.一输16泵_有功功率];
var pump17_power = record_dict[GlobalHelper.一输17泵_有功功率];
var pump18_power = record_dict[GlobalHelper.一输18泵_有功功率];
pump11_pressure.Mpa2M();
pump12_pressure.Mpa2M();
pump13_pressure.Mpa2M();
pump14_pressure.Mpa2M();
pump15_pressure.Mpa2M();
pump16_pressure.Mpa2M();
pump17_pressure.Mpa2M();
pump18_pressure.Mpa2M();
pump11_pressure.Round(1);
pump12_pressure.Round(1);
pump13_pressure.Round(1);
pump14_pressure.Round(1);
pump15_pressure.Round(1);
pump16_pressure.Round(1);
pump17_pressure.Round(1);
pump18_pressure.Round(1);
#endregion
#region 2
var pump21_run_status = record_dict[GlobalHelper.二输21泵_运行状态];
var pump22_run_status = record_dict[GlobalHelper.二输22泵_运行状态];
var pump23_run_status = record_dict[GlobalHelper.二输23泵_运行状态];
var pump24_run_status = record_dict[GlobalHelper.二输24泵_运行状态];
var pump25_run_status = record_dict[GlobalHelper.二输25泵_运行状态];
var pump26_run_status = record_dict[GlobalHelper.二输26泵_运行状态];
var pump27_run_status = record_dict[GlobalHelper.二输27泵_运行状态];
var pump21_wl = record_dict[GlobalHelper.二输21泵_泵井液位];
var pump22_wl = record_dict[GlobalHelper.二输22泵_泵井液位];
var pump23_wl = record_dict[GlobalHelper.二输23泵_泵井液位];
var pump24_wl = record_dict[GlobalHelper.二输24泵_泵井液位];
var pump25_wl = record_dict[GlobalHelper.二输25泵_泵井液位];
var pump26_wl = record_dict[GlobalHelper.二输26泵_泵井液位];
var pump27_wl = record_dict[GlobalHelper.二输27泵_泵井液位];
var pump21_pressure = record_dict[GlobalHelper.二输21泵_出水压力];
var pump22_pressure = record_dict[GlobalHelper.二输22泵_出水压力];
var pump23_pressure = record_dict[GlobalHelper.二输23泵_出水压力];
var pump24_pressure = record_dict[GlobalHelper.二输24泵_出水压力];
var pump25_pressure = record_dict[GlobalHelper.二输25泵_出水压力];
var pump26_pressure = record_dict[GlobalHelper.二输26泵_出水压力];
var pump27_pressure = record_dict[GlobalHelper.二输27泵_出水压力];
var pump21_rpm = record_dict[GlobalHelper.二输21泵_转速];
var pump22_rpm = record_dict[GlobalHelper.二输22泵_转速];
var pump23_rpm = record_dict[GlobalHelper.二输23泵_转速];
var pump24_rpm = record_dict[GlobalHelper.二输24泵_转速];
var pump25_rpm = record_dict[GlobalHelper.二输25泵_转速];
var pump26_rpm = record_dict[GlobalHelper.二输26泵_转速];
var pump27_rpm = record_dict[GlobalHelper.二输27泵_转速];
var pump21_flow = record_dict[GlobalHelper.二输21泵_瞬时流量];
var pump22_flow = record_dict[GlobalHelper.二输22泵_瞬时流量];
var pump23_flow = record_dict[GlobalHelper.二输23泵_瞬时流量];
var pump24_flow = record_dict[GlobalHelper.二输24泵_瞬时流量];
var pump25_flow = record_dict[GlobalHelper.二输25泵_瞬时流量];
var pump26_flow = record_dict[GlobalHelper.二输26泵_瞬时流量];
var pump27_flow = record_dict[GlobalHelper.二输27泵_瞬时流量];
var pump21_power = record_dict[GlobalHelper.二输21泵_有功功率];
var pump22_power = record_dict[GlobalHelper.二输22泵_有功功率];
var pump23_power = record_dict[GlobalHelper.二输23泵_有功功率];
var pump24_power = record_dict[GlobalHelper.二输24泵_有功功率];
var pump25_power = record_dict[GlobalHelper.二输25泵_有功功率];
var pump26_power = record_dict[GlobalHelper.二输26泵_有功功率];
var pump27_power = record_dict[GlobalHelper.二输27泵_有功功率];
var pump21_maintenance_status = record_dict[GlobalHelper.二输21泵_状态];
var pump22_maintenance_status = record_dict[GlobalHelper.二输22泵_状态];
var pump23_maintenance_status = record_dict[GlobalHelper.二输23泵_状态];
var pump24_maintenance_status = record_dict[GlobalHelper.二输24泵_状态];
var pump25_maintenance_status = record_dict[GlobalHelper.二输25泵_状态];
var pump26_maintenance_status = record_dict[GlobalHelper.二输26泵_状态];
var pump27_maintenance_status = record_dict[GlobalHelper.二输27泵_状态];
pump21_pressure.Mpa2M();
pump22_pressure.Mpa2M();
pump23_pressure.Mpa2M();
pump24_pressure.Mpa2M();
pump25_pressure.Mpa2M();
pump26_pressure.Mpa2M();
pump27_pressure.Mpa2M();
pump21_flow.Round(1);
pump22_flow.Round(1);
pump23_flow.Round(1);
pump24_flow.Round(1);
pump25_flow.Round(1);
pump26_flow.Round(1);
pump27_flow.Round(1);
pump21_pressure.Round(1);
pump22_pressure.Round(1);
pump23_pressure.Round(1);
pump24_pressure.Round(1);
pump25_pressure.Round(1);
pump26_pressure.Round(1);
pump27_pressure.Round(1);
#endregion
station1_flag_rpm_pressure_dict.Add(Flag11, new Tuple(pump11_rpm, pump11_pressure));
station1_flag_rpm_pressure_dict.Add(Flag12, new Tuple(pump12_rpm, pump12_pressure));
station1_flag_rpm_pressure_dict.Add(Flag13, new Tuple(pump13_rpm, pump13_pressure));
station1_flag_rpm_pressure_dict.Add(Flag14, new Tuple(pump14_rpm, pump14_pressure));
station1_flag_rpm_pressure_dict.Add(Flag15, new Tuple(pump15_rpm, pump15_pressure));
station1_flag_rpm_pressure_dict.Add(Flag16, new Tuple(pump16_rpm, pump16_pressure));
station1_flag_rpm_pressure_dict.Add(Flag17, new Tuple(pump17_rpm, pump17_pressure));
station1_flag_rpm_pressure_dict.Add(Flag18, new Tuple(pump18_rpm, pump18_pressure));
station2_flag_rpm_flow_pressure_dict.Add(Flag21, new Tuple(pump21_rpm, pump21_flow, pump21_pressure));
station2_flag_rpm_flow_pressure_dict.Add(Flag22, new Tuple(pump22_rpm, pump22_flow, pump22_pressure));
station2_flag_rpm_flow_pressure_dict.Add(Flag23, new Tuple(pump23_rpm, pump23_flow, pump23_pressure));
station2_flag_rpm_flow_pressure_dict.Add(Flag24, new Tuple(pump24_rpm, pump24_flow, pump24_pressure));
station2_flag_rpm_flow_pressure_dict.Add(Flag25, new Tuple(pump25_rpm, pump25_flow, pump25_pressure));
station2_flag_rpm_flow_pressure_dict.Add(Flag26, new Tuple(pump26_rpm, pump26_flow, pump26_pressure));
station2_flag_rpm_flow_pressure_dict.Add(Flag27, new Tuple(pump27_rpm, pump27_flow, pump27_pressure));
}
///
/// 获取总管流量和压力
///
///
///
///
public static void GetPipeFlagFlowAndPressureDict(List monitor_record_list, out Dictionary> station1_pipe_flag_flow_pressure_dict, out Dictionary> station2_pipe_flag_flow_pressure_dict)
{
station1_pipe_flag_flow_pressure_dict = new Dictionary>();
station2_pipe_flag_flow_pressure_dict = new Dictionary>();
if (monitor_record_list == null || !monitor_record_list.Any())
{
return;
}
var record_dict = monitor_record_list.ToDictionary(x => x.DataCode, y => y.DataValue);
var jd1_flow = record_dict[嘉定1线_瞬时流量_长江管网图];
var jd2_flow = record_dict[嘉定2线_瞬时流量_长江管网图];
var jd3_flow = record_dict[嘉定3线_瞬时流量_长江管网图];
var jd1_pressure = record_dict[嘉定1线_压力_长江管网图] / 1000;
var jd2_pressure = record_dict[嘉定2线_压力_长江管网图] / 1000;
var jd3_pressure = record_dict[嘉定3线_压力_长江管网图] / 1000;
var dn2400_flow = record_dict[DN2400总管_瞬时流量_长江管网图];
var dn2700_flow = record_dict[DN2700总管_瞬时流量_长江管网图];
var dn2400_pressure = record_dict[DN2400_出厂压力_长江管网图];
var dn2700_pressure = record_dict[DN2700_出厂压力_长江管网图];
jd1_pressure.Mpa2M();
jd2_pressure.Mpa2M();
jd3_pressure.Mpa2M();
dn2400_pressure.Mpa2M();
dn2700_pressure.Mpa2M();
jd1_flow.Round(1);
jd2_flow.Round(1);
jd3_flow.Round(1);
jd1_pressure.Round(1);
jd2_pressure.Round(1);
jd3_pressure.Round(1);
dn2400_flow.Round(1);
dn2700_flow.Round(1);
dn2400_pressure.Round(1);
dn2700_pressure.Round(1);
station1_pipe_flag_flow_pressure_dict.Add(FlagJD1, new Tuple(jd1_flow, jd1_pressure));
station1_pipe_flag_flow_pressure_dict.Add(FlagJD2, new Tuple(jd2_flow, jd2_pressure));
station1_pipe_flag_flow_pressure_dict.Add(FlagJD3, new Tuple(jd3_flow, jd3_pressure));
station2_pipe_flag_flow_pressure_dict.Add(FlagDN2400, new Tuple(dn2400_flow, dn2400_pressure));
station2_pipe_flag_flow_pressure_dict.Add(FlagDN2700, new Tuple(dn2700_flow, dn2700_pressure));
}
///
/// 获取泵站检修标志列表(0:正常,1:检修,2:优先)
///
/// 监测列表
/// 检修标志列表 1输水
/// 检修标志列表 2输水
/// 优先标志列表 1输水
/// 优先标志列表 2输水
public static void GetStationFlagStateList
(List monitor_record_list,
out List station1_maintenance_flag_list,
out List station2_maintenance_flag_list,
out List station1_priority_flag_list,
out List station2_priority_flag_list
)
{
station1_maintenance_flag_list = new List();
station2_maintenance_flag_list = new List();
station1_priority_flag_list=new List();
station2_priority_flag_list=new List();
if (monitor_record_list == null || !monitor_record_list.Any())
return;
//1输水待补充 ,20250213更新
foreach (var mapping in FlagStateMappingDict1)
{
var flag = mapping.Key;
var code = mapping.Value;
var monitor_record = monitor_record_list.Find(x => x.DataCode == code);
if (monitor_record == null)
continue;
if (monitor_record.DataValue == 1)
{
station1_maintenance_flag_list.Add(flag);
}
else if (monitor_record.DataValue == 2)
{
station1_priority_flag_list.Add(flag);
}
}
foreach (var mapping in FlagStateMappingDict2)
{
var flag = mapping.Key;
var code = mapping.Value;
var monitor_record = monitor_record_list.Find(x => x.DataCode == code);
if (monitor_record == null)
continue;
if (monitor_record.DataValue==1)
{
station2_maintenance_flag_list.Add(flag);
}
else if (monitor_record.DataValue == 2)
{
station2_priority_flag_list.Add(flag);
}
}
}
#endregion
}
}