using System.Collections.Generic;
using System.Linq;
using IwbZero.ToolCommon.StringModel;
using WeEngine.Enum;
using WePlatform.Configuration;
using WePlatform.EF;
using WePlatform.ThirdPartySystem;
using WePlatform.WeBase;
using WePlatform.WeLib;
using WePlatform.WeModel;
namespace WePlatform.SeedData
{
public class DefaultDataCreator
{
private readonly WePlatformDbContext _context;
public DefaultDataCreator(WePlatformDbContext context)
{
_context = context;
Index = 0;
}
public void Create()
{
Delete();
EngineModelCreate();
ThirdPartySystemCreate();
SceneInfo();
//EngineComponentCreate();
}
private void Delete()
{
_context.Sql("TRUNCATE Table [dbo].[WeLib_BehaviorKnowledges]");
_context.Sql("TRUNCATE Table [dbo].[WeLib_SceneBehaviors]");
_context.Sql("TRUNCATE Table [dbo].[WeLib_BehaviorRelateRoles]");
_context.Sql("TRUNCATE Table [dbo].[WeLib_KnowledgeRelatePlans]");
_context.Sql("DELETE FROM [dbo].[WeLib_Knowledges]");
_context.Sql("DELETE FROM [dbo].[WeLib_Behaviors]");
_context.Sql("DELETE FROM [dbo].[WeLib_Scenes]");
_context.Sql("DELETE FROM [dbo].[WeLib_SceneFlows]");
_context.Sql("DELETE FROM [dbo].[WeLib_PackagesXml]");
_context.Sql("DELETE FROM [dbo].[WeLib_Packages]");
_context.Sql("TRUNCATE Table [dbo].[WeBase_BehaviorRoleRelateCategories]");
_context.Sql("DELETE FROM [dbo].[WeBase_BehaviorRoles]");
_context.Sql("DELETE FROM [dbo].[WeBase_SceneCategories]");
_context.Sql("DELETE FROM [dbo].[WeModel_EngineModels]");
_context.Sql("DELETE FROM [dbo].[WeModel_Engines]");
_context.Sql("DELETE FROM [dbo].[WeModel_EvalModels]");
_context.Sql("TRUNCATE Table [dbo].[WeBase_ThirdPartySystems]");
// _context.Sql($"TRUNCATE Table [dbo].[]");
}
private int Index { get; set; }
private string GetNo(DataLibType type, bool flag = false, bool flag2 = false)
{
if (flag)
{
while (Index % 10 != 0)
{
Index++;
}
}
if (flag2)
{
while (Index % 50 != 0)
{
Index++;
}
}
Index++;
var no = $"JY{type.ToInt().LeftPad(3)}{Index.LeftPad(9)}";
return no;
}
#region ENGINE & SYSTEM
///
/// 引擎模型
///
public void EngineModelCreate()
{
string engineId1 = GetNo(DataLibType.EngineInfo), engineId2 = GetNo(DataLibType.EngineInfo);//02
{
var entity = _context.EngineInfos.FirstOrDefault(a => a.Id == engineId1);
if (entity == null)
{
entity = new EngineInfo()
{
Id = engineId1,
EngineName = "自动演化推演引擎",
Version = "V1.0",
Description = "自动演化,智慧推演",
EngineTypeName = "Evolution",
};
_context.EngineInfos.Add(entity);
}
}
{
var entity = _context.EngineInfos.FirstOrDefault(a => a.Id == engineId2);
if (entity == null)
{
entity = new EngineInfo()
{
Id = engineId2,
EngineName = "非演化推演引擎",
Version = "V1.0",
Description = "非演化引擎,智慧推演",
EngineTypeName = "NonEvolution",
};
_context.EngineInfos.Add(entity);
}
GetNo(DataLibType.EngineModelInfo);
GetNo(DataLibType.EngineModelInfo);
}
{
var id = GetNo(DataLibType.EngineModelInfo); //index=5
var entity = _context.EngineModelInfos.FirstOrDefault(a => a.Id == id);
if (entity == null)
{
entity = new EngineModelInfo()
{
Id = id,
ModelName = "多角色团队合作演化模型",
Version = "V1.0",
EngineNo = engineId1,
Description = "多人多角色演练,支持多组多轮次同时进行",
ModelType = ModelType.ManyTeam.ToInt()
};
_context.EngineModelInfos.Add(entity);
}
}
{
var id = GetNo(DataLibType.EngineModelInfo);//6
var entity = _context.EngineModelInfos.FirstOrDefault(a => a.Id == id);
if (entity == null)
{
entity = new EngineModelInfo()
{
Id = id,
ModelName = "单角色团队自动演化模型",
Version = "V1.0",
EngineNo = engineId1,
Description = "单人单角色在团队合作中演练,其他角色由系统自动完成,支持多组多轮次同时进行",
ModelType = ModelType.IndependentTeam.ToInt()
};
_context.EngineModelInfos.Add(entity);
}
}
{
var id = GetNo(DataLibType.EngineModelInfo);//7
var entity = _context.EngineModelInfos.FirstOrDefault(a => a.Id == id);
if (entity == null)
{
entity = new EngineModelInfo()
{
Id = id,
ModelName = "单角色独立自动演化模型",
Version = "V1.0",
EngineNo = engineId1,
Description = "单人单角色演练,支持多组多轮次同时进行",
ModelType = ModelType.Independent.ToInt()
};
_context.EngineModelInfos.Add(entity);
}
}
{
var id = GetNo(DataLibType.EngineModelInfo);//8
var entity = _context.EngineModelInfos.FirstOrDefault(a => a.Id == id);
if (entity == null)
{
entity = new EngineModelInfo()
{
Id = id,
ModelName = "单人非演化模型",
Version = "V1.0",
EngineNo = engineId2,
Description = "单人单角色非演化演练,支持多组多轮次同时进行,例如题目考核",
ModelType = ModelType.NonEvolutionIndependent.ToInt()
};
_context.EngineModelInfos.Add(entity);
}
}
var etNo = "";
{
var id = GetNo(DataLibType.EvalTarget);//index=9
etNo = id;
var entity = _context.EvalTargetInfos.FirstOrDefault(a => a.Id == id);
if (entity == null)
{
entity = new EvalTargetInfo()
{
Id = id,
ParentNo = IwbConsts.EvalTargetRootNo,
TypePath = $"{IwbConsts.EvalTargetRootNo},{etNo}",
Name = "四功五力评估指标",
Tag = "决策力,掌控力,研判力,协调力,舆论引导力,对上级,对下级,对相关单位,对媒体",
Version = "V1.0",
Description = "四功五力评估指标",
TargetType = (int) EvalTargetType.Positive
};
_context.EvalTargetInfos.Add(entity);
}
}
{
var id = GetNo(DataLibType.EvalModelInfo);//index=10
var entity = _context.EvalModelInfos.FirstOrDefault(a => a.Id == id);
if (entity == null)
{
entity = new EvalModelInfo()
{
Id = id,
ModelName = "智能匹配评估模型",
Version = "V1.0",
Description = "智能匹配评估模型",
EvalTargetNo = etNo,
QualitativeExpression = "50|及格@85|良好@100|优秀"
};
_context.EvalModelInfos.Add(entity);
}
}
{
var id = GetNo(DataLibType.EvalReportTemplate);//index=11
var entity = _context.EvalReportTemplateInfos.FirstOrDefault(a => a.Id == id);
if (entity == null)
{
entity = new EvalReportTemplateInfo()
{
Id = id,
Name = "通用模板",
Version = "V1.0",
Description = "智能评估通用模板",
};
_context.EvalReportTemplateInfos.Add(entity);
}
}
}
public void ThirdPartySystemCreate()
{
{
//GetNo(DataLibType.ThirdPartySystem, true);//index=11
string id = GetNo(DataLibType.ThirdPartySystem, true);//index=21
if (_context.ThirdPartySystemInfos.Any(s => s.Id == id))
{
return;
}
_context.ThirdPartySystemInfos.Add(new ThirdPartySystemInfo()
{
Id = id,
Name = "智慧推演引擎",
AppId = "WeEngine",
SecretKey = "WePlatformWeEngine",
IsSystem = true,
IsActive = true,
IsRegistered = false,
Description = "智慧推演引擎",
ExpiredDate = null,
});
_context.SaveChanges();
}
{
string id = GetNo(DataLibType.ThirdPartySystem);
if (_context.ThirdPartySystemInfos.Any(s => s.Id == id))
{
return;
}
_context.ThirdPartySystemInfos.Add(new ThirdPartySystemInfo()
{
Id = id,
Name = "智慧演练系统",
AppId = "WeApp",
SecretKey = "WePlatformWeApp",
IsSystem = true,
IsActive = true,
IsRegistered = false,
Description = "智慧演练系统",
ExpiredDate = null,
});
_context.SaveChanges();
}
{
string id = GetNo(DataLibType.ThirdPartySystem);
if (_context.ThirdPartySystemInfos.Any(s => s.Id == id))
{
return;
}
_context.ThirdPartySystemInfos.Add(new ThirdPartySystemInfo()
{
Id = id,
Name = "在线分布式智慧演练系统",
AppId = "WeOnlineApp",
SecretKey = "WePlatformWeOnlineApp",
IsSystem = true,
IsActive = true,
IsRegistered = false,
Description = "在线分布式智慧演练系统",
ExpiredDate = null,
});
_context.SaveChanges();
}
//Index=33
}
#endregion
#region SCENE
private void SceneInfo()
{
SceneCategory();
//BehaviorRole();
//BehaviorHz();
//BehaviorGj();
//BehaviorWhp();
//BehaviorTd();
//BehaviorFx();
//BehaviorPj();
//SceneHz();
//SceneGj();
//SceneWhp();
//SceneTd();
//SceneFx();
//ScenePj();
}
#region SCENECATEGORY
private string scYl { get; set; }
private string scHz { get; set; }
private string scTd { get; set; }
private string scGj { get; set; }
private string scFx { get; set; }
private string scPj { get; set; }
private string scWhp { get; set; }
public static string sjSp { get; set; }
public static string sjGb { get; set; }
public void SceneCategory()
{
GetNo(DataLibType.SceneCategoryInfo, true, true);//index=51
scYl = GetNo(DataLibType.SceneCategoryInfo, true, true);//index=101
scFx = GetNo(DataLibType.SceneCategoryInfo);
scTd = GetNo(DataLibType.SceneCategoryInfo);
scHz = GetNo(DataLibType.SceneCategoryInfo);
scGj = GetNo(DataLibType.SceneCategoryInfo);
scPj = GetNo(DataLibType.SceneCategoryInfo);
scWhp = GetNo(DataLibType.SceneCategoryInfo);//index=107
var path = $"{IwbConsts.SceneCategoryRootNo},{scYl}";
SceneCategoryCreate(IwbConsts.SceneCategoryRootNo, IwbConsts.TreeRootParentNo, "根节点", null);
SceneCategoryCreate(scYl, IwbConsts.SceneCategoryRootNo, "综合演练", path);
SceneCategoryCreate(scTd, scYl, "大面积停电", $"{path},{scTd}");
SceneCategoryCreate(scFx, scYl, "防台防汛", $"{path},{scFx}");
SceneCategoryCreate(scHz, scYl, "高层火灾", $"{path},{scHz}");
SceneCategoryCreate(scGj, scYl, "轨交大客流", $"{path},{scGj}");
SceneCategoryCreate(scPj, scYl, "飞机迫降", $"{path},{scPj}");
SceneCategoryCreate(scWhp, scYl, "危化品事故", $"{path},{scWhp}");
GetNo(DataLibType.SceneCategoryInfo, true);//index=111
sjSp= GetNo(DataLibType.SceneCategoryInfo, true);//index=121
//path = $"{IwbConsts.SceneCategoryRootNo},{sjSp}";
//sjGb = GetNo(DataLibType.SceneCategoryInfo);
//SceneCategoryCreate(sjSp, IwbConsts.SceneCategoryRootNo, "松江沙盘演练", path);
//SceneCategoryCreate(sjGb, sjSp, "杆变故障", $"{path},{sjGb}");
}
#endregion
#region ROLE
private string brYjZhb { get; set; }
private string brYjZx { get; set; }
private string brGa { get; set; }
private string brXf { get; set; }
private string brJt { get; set; }
private string brSw { get; set; }
private string brWs { get; set; }
private string brHb { get; set; }
private string brFx { get; set; }
private string brAj { get; set; }
private string brFxJxWzZc { get; set; }
private string brDl { get; set; }
private string brMh { get; set; }
private string brSt { get; set; }
private void BehaviorRole()
{
GetNo(DataLibType.BehaviorRoleInfo, true,true);//151
brYjZhb = GetNo(DataLibType.BehaviorRoleInfo, true, true);//index=201
brYjZx = GetNo(DataLibType.BehaviorRoleInfo);
brGa = GetNo(DataLibType.BehaviorRoleInfo);
brXf = GetNo(DataLibType.BehaviorRoleInfo);
brJt = GetNo(DataLibType.BehaviorRoleInfo);
brSw = GetNo(DataLibType.BehaviorRoleInfo);
brWs = GetNo(DataLibType.BehaviorRoleInfo);
brHb = GetNo(DataLibType.BehaviorRoleInfo);
brFx = GetNo(DataLibType.BehaviorRoleInfo);
brAj = GetNo(DataLibType.BehaviorRoleInfo);
brFxJxWzZc = GetNo(DataLibType.BehaviorRoleInfo);
brDl = GetNo(DataLibType.BehaviorRoleInfo);
brMh = GetNo(DataLibType.BehaviorRoleInfo);
brSt = GetNo(DataLibType.BehaviorRoleInfo);//index=211
BehaviorRoleCreate(brYjZhb, "市应急指挥部总指挥", scYl, scHz, scTd, scGj, scFx, scPj, scWhp);
BehaviorRoleCreate(brYjZx, "市应急指挥中心", scYl, scHz, scTd, scGj, scFx, scPj, scWhp);
BehaviorRoleCreate(brGa, "市公安局", scYl, scHz, scTd, scGj, scFx, scPj, scWhp);
BehaviorRoleCreate(brXf, "市消防局", scYl, scHz, scTd, scGj, scFx, scPj, scWhp);
BehaviorRoleCreate(brJt, "市交通局", scYl, scHz, scTd, scGj, scFx, scPj, scWhp);
BehaviorRoleCreate(brSw, "市水务局", scYl, scHz, scTd, scGj, scFx, scPj, scWhp);
BehaviorRoleCreate(brWs, "市卫生局", scYl, scHz, scTd, scGj, scFx, scPj, scWhp);
BehaviorRoleCreate(brHb, "市环保局", scYl, scHz, scTd, scGj, scFx, scPj, scWhp);
BehaviorRoleCreate(brFx, "市防汛办", scYl, scHz, scTd, scGj, scFx, scPj, scWhp);
BehaviorRoleCreate(brAj, "市安全监管局", scYl, scHz, scTd, scGj, scFx, scPj, scWhp);
BehaviorRoleCreate(brFxJxWzZc, "防汛抢险物资储运单位", scYl, scFx);
BehaviorRoleCreate(brDl, "市电力公司", scYl, scTd);
}
#endregion
#region SCENE & BEHAVIOR
#region HZ
private string bHz1 { get; set; }
private string bHz2 { get; set; }
private string bHz3 { get; set; }
private string bHz4 { get; set; }
private string bHz5 { get; set; }
private string bHz6 { get; set; }
private string bHz7 { get; set; }
private string bHz8 { get; set; }
private string bHz9 { get; set; }
private string bHz10 { get; set; }
private string bHz11 { get; set; }
private string bHz12 { get; set; }
private void BehaviorHz()
{
bHz1 = GetNo(DataLibType.BehaviorInfo, true, true);//index=251
bHz2 = GetNo(DataLibType.BehaviorInfo);
bHz3 = GetNo(DataLibType.BehaviorInfo);
bHz4 = GetNo(DataLibType.BehaviorInfo);
bHz5 = GetNo(DataLibType.BehaviorInfo);
bHz6 = GetNo(DataLibType.BehaviorInfo);
bHz7 = GetNo(DataLibType.BehaviorInfo);
bHz8 = GetNo(DataLibType.BehaviorInfo);
bHz9 = GetNo(DataLibType.BehaviorInfo);
bHz10 = GetNo(DataLibType.BehaviorInfo);
bHz11 = GetNo(DataLibType.BehaviorInfo);
bHz12 = GetNo(DataLibType.BehaviorInfo);//index=262
BehaviorCreate(bHz1, "组织开展火灾事故现场扑救", "", "[[火灾,扑救,灭火,扑灭,救火]:100]", "对下级,掌控力", scHz, brYjZx, brXf);
BehaviorCreate(bHz2, "紧急疏散大楼人员,减少人员伤亡", "", "[[人员]:20,[疏散,分散,疏通,解散,撤离]:80]", "对下级,掌控力", scHz, brXf, brGa);
BehaviorCreate(bHz3, "救援被困人群,保障人民群众生命安全", "", "[[救援]:100]", "对下级,掌控力", scHz, brXf);
BehaviorCreate(bHz4, "对现场及相关通道实行交通管制,划定警戒区", "", "[[交通]:30,[管制,管理,控制,管控]:70]", "对下级,掌控力", scHz, brXf, brJt);
BehaviorCreate(bHz5, "迅速处理疏散人群,维持秩序,防范踩踏等衍生事故", "", "[[人员]:30,[疏散,分散,疏通,解散,撤离]:70]", "对下级,掌控力", scHz, brGa, brJt);
BehaviorCreate(bHz6, "及时疏导交通,开辟救援“绿色通道”,保障交通顺畅", "", "[[交通,疏导,疏散,疏通,引导,指导,撤离]:100]", "对下级,掌控力", scHz, brGa, brJt);
BehaviorCreate(bHz7, "负责火灾事故现场的警戒和秩序维持工作,加强治安巡逻", "", "[[治安,秩序,维护,维持]:100]", "对下级,掌控力", scHz, brGa, brJt);
BehaviorCreate(bHz8, "及时赴现场开展医疗救治、疾病预防控制等卫生应急工作", "", "[[医疗,医护,救治,抢救,治疗,急救]:100]", "对下级,掌控力", scHz, brYjZx, brWs);
BehaviorCreate(bHz9, "对现场燃气浓度进行检测并报告", "", "[[燃气]:50,[检测,检查,检测,监测]:50]", "对下级,掌控力", scHz, brXf);
BehaviorCreate(bHz10, "为受灾群众提供生活必需品、住宿等救助,做好安置工作", "", "[[群众,大众,民众]:50,[安置,安抚,安慰]:50]", "对下级,掌控力", scHz, brYjZx);
BehaviorCreate(bHz11, "及时做好火灾事故对外新闻发布和舆情应对工作", "", "[[新闻,信息,讯息,舆情]:50,[宣布,发布,公布,应对,对应]:50]", "对媒体,舆论引导力", scHz, brYjZx);
BehaviorCreate(bHz12, "高层火灾处置成功", "", "[[处置,成功]:100]", "协调力,决策力,研判力,掌控力,舆论引导力", scHz, brXf);
}
private void SceneHz()
{
GetNo(DataLibType.SceneInfo, true, true);//index=351
GetNo(DataLibType.SceneInfo, true, true);//index=401
GetNo(DataLibType.SceneInfo, true, true);//index=451
//index=501
SceneCreate(GetNo(DataLibType.SceneInfo, true, true), "大厦高楼起火", "机场高速@EVENTADDR 下闸道处于创业园区,四周高楼林立。飞机尾翼火势增大,迅速窜向高速旁新源大厦。引燃大厦@EVENTFLOOR 楼一户外纱窗,并在风势助推下,引起室内起火", "[@EVENTADDR:string:胶州路],[@EVENTFLOOR:string:6]", scHz, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bHz1,
BehaviorWeight = 60,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},new SceneBehaviorInfo()
{
BehaviorNo = bHz2,
BehaviorWeight = 30,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "火灾引发学校恐慌", "@EVENTBUILDING 为2栋22层人才公寓,大厦右侧紧邻一所涉外小学,火灾引发学生恐慌,现场混乱", "[@EVENTBUILDING:string:新源大厦]", scHz, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bHz2,
BehaviorWeight =100 ,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "消防栓水量不足", "由于现场附近2处消防栓水量不足,水柱喷射高度不足,灭火难度加大,随着救火时间延长,伤亡人数不断增加", "", scHz, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bHz1,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "高层火灾处置成功", "火势得到迅速控制,被困人员得到及时救援,现场聚集人员已疏散,高层火灾事件得以妥善处理", "", scHz, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bHz12,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
}
#endregion
#region GJ
private string bGJ1 { get; set; }
private string bGJ2 { get; set; }
private string bGJ3 { get; set; }
private string bGJ4 { get; set; }
private string bGJ5 { get; set; }
private string bGJ6 { get; set; }
private string bGJ7 { get; set; }
private string bGJ8 { get; set; }
private string bGJ9 { get; set; }
private string bGJ10 { get; set; }
private string bGJ11 { get; set; }
private string bGJ12 { get; set; }
private void BehaviorGj()
{
bGJ1 = GetNo(DataLibType.BehaviorInfo);//index=263
bGJ2 = GetNo(DataLibType.BehaviorInfo);
bGJ3 = GetNo(DataLibType.BehaviorInfo);
bGJ4 = GetNo(DataLibType.BehaviorInfo);
bGJ5 = GetNo(DataLibType.BehaviorInfo);
bGJ6 = GetNo(DataLibType.BehaviorInfo);
bGJ7 = GetNo(DataLibType.BehaviorInfo);
bGJ8 = GetNo(DataLibType.BehaviorInfo);
bGJ9 = GetNo(DataLibType.BehaviorInfo);
bGJ10 = GetNo(DataLibType.BehaviorInfo);
bGJ11 = GetNo(DataLibType.BehaviorInfo);
bGJ12 = GetNo(DataLibType.BehaviorInfo);//index=275
BehaviorCreate(bGJ1, "应急救援,将被困群众转移出危险区域", "", "[[医疗,救治,治疗,救人,救援,援救,抢救,援助]:100]", "对下级,掌控力", scGj, brJt);
BehaviorCreate(bGJ2, "加强隐患排查", "", "[[监管,排险,监察,管理,排查]:100]", "对下级,掌控力", scGj, brJt, brSt);
BehaviorCreate(bGJ3, "及时增加运力,确保人员及时疏散", "", "[[人员]:30,[疏散,分散,疏通,解散,撤离]:70]", "对下级,掌控力", scGj, brSt);
BehaviorCreate(bGJ4, "预设临时接驳车,及时调整公共交通客运方案", "", "[[车辆,乘客]:50,[调配,调集,转运]:50]", "对下级,掌控力", scGj, brJt, brSt);
BehaviorCreate(bGJ5, "及时增派警力,设置交通封控区", "", "[[交通,疏导,疏散,疏通,引导,指导]:100]", "对下级,掌控力", scGj, brJt, brGa);
BehaviorCreate(bGJ6, "开通绿色通道,为应急车辆提供通行保障", "", "[[绿色,通道,应急,通行]:100]", "对下级,掌控力", scGj, brJt);
BehaviorCreate(bGJ7, "", "划定警戒区,做好事发现场及周边环境的保护和警戒", "[[维护,维持,治安,秩序]:100]", "对下级,掌控力", scGj, brJt, brGa);
BehaviorCreate(bGJ8, "严厉打击借机传播谣言、制造社会恐慌等违法犯罪行为", "", "[[打击,抨击]:50,[违法,犯法,犯罪]:50]", "对媒体,舆论引导力", scGj, brGa);
BehaviorCreate(bGJ9, "组织开展设备故障抢修", "", "[[故障,抢修,抢救,修复]:100]", "对下级,掌控力", scGj, brJt, brSt);
BehaviorCreate(bGJ10, "引导乘客撤离事发地点,对相关轨交线路实施分区封控、警戒", "", "[[人员,疏散,分散,疏通,解散,撤离]:100]", "对下级,掌控力", scGj, brJt, brGa);
BehaviorCreate(bGJ11, "协调轨道交通运营突发事件信息发布和舆论引导工作", "", "[[新闻,信息,讯息,舆情]:50,[宣布,发布,公布,应对,对应]:50]", "对媒体,舆论引导力", scGj, brJt);
BehaviorCreate(bGJ12, "轨交大客流处置成功", "", "[[处置,成功]:100]", "协调力,决策力,研判力,掌控力,舆论引导力", scGj, brJt);
}
private void SceneGj()
{
SceneCreate(GetNo(DataLibType.SceneInfo), "列车隧道停运困人", "一列轨交列车在隧道内停运,列车内乘客受困,现场较为混乱,部分乘客情绪激动", "", scGj, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bGJ3,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "滞留乘客持续增加", "由于现场乘客疏散转运不及时,地铁站台人群滞留量持续增加,已超@EVNETNUM 人", "[@EVNETNUM:decimal:3000]", scGj, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bGJ4,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "列车恢复正常运营", "轨道交通 @EVENTSTATION 停运事故已排除,列车恢复正常运营,滞留乘客全部散去,现场秩序恢复正常 ", "[@EVENTSTATION:string:2号线胶州路站]", scGj, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bGJ12,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "晕倒受伤", "由于人员密集,@NUMFAINT 位老人在地铁人员疏散过程中晕倒受伤", "[@NUMFAINT:decimal:5]", scGj, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bGJ1,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "现场发生踩踏事件", "由于现场拥挤,一名乘客不慎摔倒引发乘客奔跑踩踏,事故造成5人不同程度受伤", "", scGj, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bGJ2,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
}
#endregion
#region WHP
private string bWh1 { get; set; }
private string bWh2 { get; set; }
private string bWh3 { get; set; }
private string bWh4 { get; set; }
private string bWh5 { get; set; }
private string bWh6 { get; set; }
private string bWh7 { get; set; }
private string bWh8 { get; set; }
private string bWh9 { get; set; }
private string bWh10 { get; set; }
private string bWh11 { get; set; }
private string bWh12 { get; set; }
private string bWh13 { get; set; }
private string bWh14 { get; set; }
private string bWh15 { get; set; }
private void BehaviorWhp()
{
bWh1 = GetNo(DataLibType.BehaviorInfo);//index=276
bWh2 = GetNo(DataLibType.BehaviorInfo);
bWh3 = GetNo(DataLibType.BehaviorInfo);
bWh4 = GetNo(DataLibType.BehaviorInfo);
bWh5 = GetNo(DataLibType.BehaviorInfo);
bWh6 = GetNo(DataLibType.BehaviorInfo);
bWh7 = GetNo(DataLibType.BehaviorInfo);
bWh8 = GetNo(DataLibType.BehaviorInfo);
bWh9 = GetNo(DataLibType.BehaviorInfo);
bWh10 = GetNo(DataLibType.BehaviorInfo);
bWh11 = GetNo(DataLibType.BehaviorInfo);
bWh12 = GetNo(DataLibType.BehaviorInfo);
bWh13 = GetNo(DataLibType.BehaviorInfo);
bWh14 = GetNo(DataLibType.BehaviorInfo);
bWh15 = GetNo(DataLibType.BehaviorInfo);//index=291
BehaviorCreate(bWh1, "调集危化品专家赶赴现场", "", "[[调集,调配,集结]:50,[专家,行家]:50]", "对下级,掌控力", scWhp, brAj);
BehaviorCreate(bWh2, "调集危化品检测设备和特种车辆设备赶赴现场", "", "[[调集,调配,集中]:50,[设备,装备]:50]", "对下级,掌控力", scWhp, brAj);
BehaviorCreate(bWh3, "查明泄漏危化品品种,获取有关安全、卫生与环境信息", "", "[[查明,调查,明确]:50,[品种,种类]:50]", "对下级,掌控力", scWhp, brAj, brHb);
BehaviorCreate(bWh4, "迅速汇总和掌握相关事件信息,及时向应急救援指挥部报告", "", "[[信息,讯息,汇报]:50,[报告,上报,报送]:50]", "对下级,掌控力", scWhp, brAj);
BehaviorCreate(bWh5, "组织周边群众紧急疏散", "", "[[紧急,疏散,疏通,分散]:100]", "对下级,掌控力", scWhp, brGa);
BehaviorCreate(bWh6, "安抚群众情绪", "", "[[情绪,心情,情感]:20,[安抚,安慰,慰问]:80]", "对下级,掌控力", scWhp, brAj);
BehaviorCreate(bWh7, "调查事故车辆及逃逸驾驶员信息", "", "[[调查,侦查,侦察]:100]", "对下级,掌控力", scWhp, brGa);
BehaviorCreate(bWh8, "加强交通管制,开辟“绿色通道”,确保特殊车辆和设备进场", "", "[[交通,管制,管理,控制,管控]:100]", "对下级,掌控力", scWhp, brGa, brJt);
BehaviorCreate(bWh9, "紧急封锁事故现场,迅速疏散现场人群,维护现场秩序", "", "[[封锁,封查,现场,人员,疏散,分散,疏通,解散]:100]", "对下级,掌控力", scWhp, brGa, brJt);
BehaviorCreate(bWh10, "发生有毒或易燃蒸气泄漏,在确定水气接触安全的前提下,建立水幕、排除火种", "", "[[排除,排查,消除,清除,火种]:100]", "对下级,掌控力,研判力", scWhp, brXf);
BehaviorCreate(bWh11, "实施堵漏、转移、中和等措施,必要时实施紧急隔离和防范", "", "[[隔离,隔绝,隔开,隔断,分割,防范,防备,防御]:100]", "对下级,掌控力,研判力", scWhp, brXf);
BehaviorCreate(bWh12, "危险化学品事故现场的应急环境监测", "", "[[环境,监测,监管,监控,观测,观察]:100]", "对下级,掌控力,研判力", scWhp, brHb);
BehaviorCreate(bWh13, "测算危险化学品事故大气环境污染物扩散结果", "", "[[污染,测算,计算,测量]:100]", "对下级,掌控力,研判力", scWhp, brHb);
BehaviorCreate(bWh14, "协助事发地所在区政府开展人员疏散工作", "", "[[人员,疏散,分散,疏通]:100]", "对下级,掌控力,研判力", scWhp, brAj);
BehaviorCreate(bWh15, "危化品事故处置成功", "", "[[处置,成功]:100]", "协调力,决策力,研判力,掌控力,舆论引导力", scWhp, brAj);
}
private void SceneWhp()
{
SceneCreate(GetNo(DataLibType.SceneInfo), "危化品泄露居民中毒", "由于泄露危化品控制不当,导致周边居民出现不同程度中毒现象,目前已有2人昏迷、5人呕吐", "", scWhp, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bWh1,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "处置不当引发罐体爆炸", "因现场危化品特种设备操作不当,造成危险化学品大量泄漏,现场出现白色浓雾,随即引发车辆罐体爆炸,多名现场人员伤亡", "", scWhp, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bWh2,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "非主流媒体虚假报道", "微博、朋友圈等非主流媒体出现大量虚假报道,夸大伤亡人数,网上认为“政府不作为”“视老百姓生命为蝼蚁”骂声一片", "", scWhp, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bWh6,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "危化品事故处置完成", "危化品泄漏事件已得到有效控制,爆炸火灾已扑灭,现场人员疏散救治完毕,周边卫生与环境检测状况正常", "", scWhp, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bWh15,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "化工产品运输车侧翻", "@EVENTTIME,受台风影响,风势、雨势渐大,机场高速@EVENTADDR出现5车连撞事故,事故起因为一辆外地牌照大型化工产品运输车由于天雨路滑,造成车体侧翻,现场飘散出刺激性气味", "[@EVENTTIME:string:5点50分],[@EVENTADDR:string:胶州路段]", scWhp, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bWh1,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "危化品情景1", "危化品情景1 @WHPVAR1", "[@WHPVAR1:string:11]", scWhp, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bWh1,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "危化品情景2", "危化品情景2 @WHPVAR2", "[@WHPVAR2:string:222]", scWhp, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bWh2,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "危化品情景3", "危化品情景3 @WHPVAR3", "[@WHPVAR3:string:333]", scWhp, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bWh3,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "危化品情景4", "危化品情景4", "", scWhp, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bWh4,
BehaviorWeight = 40,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},new SceneBehaviorInfo()
{
BehaviorNo = bWh9,
BehaviorWeight = 60,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "危化品情景5", "危化品情景5", "", scWhp, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bWh5,
BehaviorWeight = 70,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
new SceneBehaviorInfo()
{
BehaviorNo = bWh10,
BehaviorWeight = 30,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "危化品情景6", "危化品情景6", "", scWhp, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bWh6,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "危化品情景7", "危化品情景7", "", scWhp, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bWh7,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "危化品情景8", "危化品情景8", "", scWhp, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bWh8,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
}
#endregion
#region TD
private string bTd1 { get; set; }
private string bTd2 { get; set; }
private string bTd3 { get; set; }
private string bTd4 { get; set; }
private string bTd5 { get; set; }
private string bTd6 { get; set; }
private string bTd7 { get; set; }
private string bTd8 { get; set; }
private string bTd9 { get; set; }
private string bTd10 { get; set; }
private string bTd11 { get; set; }
private string bTd12 { get; set; }
private string bTd13 { get; set; }
private void BehaviorTd()
{
bTd1 = GetNo(DataLibType.BehaviorInfo);//index=292
bTd2 = GetNo(DataLibType.BehaviorInfo);
bTd3 = GetNo(DataLibType.BehaviorInfo);
bTd4 = GetNo(DataLibType.BehaviorInfo);
bTd5 = GetNo(DataLibType.BehaviorInfo);
bTd6 = GetNo(DataLibType.BehaviorInfo);
bTd7 = GetNo(DataLibType.BehaviorInfo);
bTd8 = GetNo(DataLibType.BehaviorInfo);
bTd9 = GetNo(DataLibType.BehaviorInfo);
bTd10 = GetNo(DataLibType.BehaviorInfo);
bTd11 = GetNo(DataLibType.BehaviorInfo);
bTd12 = GetNo(DataLibType.BehaviorInfo);
bTd13 = GetNo(DataLibType.BehaviorInfo);//index=305
BehaviorCreate(bTd1, "成立现场指挥部,赶赴现场指导应急处置工作", "", "[[当场,指挥部,现场,指导,指示,领导]:100]", "对下级,掌控力,决策力,对相关单位,协调力,主动发声", scTd, brDl, brYjZx);
BehaviorCreate(bTd2, "及时组织有关部门和单位、专家组进行会商,分析研判事件发展情况", "", "[[会商,研讨,讨论,商讨,协商]:100]", "对相关单位,研判力,决策力,协调力", scTd, brDl, brYjZx);
BehaviorCreate(bTd3, "", "", "[[协调,调和,协助]:60,[电网,电厂,用户,机组]:40]", "对下级,掌控力", scTd, brDl);
BehaviorCreate(bTd4, "协调电网、电厂、用户之间的电气操作、机组启动、用电恢复,保证电网安全稳定,并留有必要余度", "", "[[协调,调和,协助]:60,[电网,电厂,用户,机组]:40]", "对相关单位,协调力,对下级,对上级", scTd, brDl);
BehaviorCreate(bTd5, "组织电力抢修", "", "[[电力,抢修,抢救,修复]:100]", "对下级,掌控力,对相关单位,决策力,研判力", scTd, brDl);
BehaviorCreate(bTd6, "恢复电网运行和电力供应", "", "[[恢复,供电,电力,供应,运行]:100]", "对下级,掌控力,对上级,对媒体,舆论引导力", scTd, brDl);
BehaviorCreate(bTd7, "及时增派警力,加强现场治安维护,采取隔离警戒等措施,加强巡逻防范", "", "[[治安,秩序,维护,维持]:100]", "对下级,掌控力,决策力,舆论引导力", scTd, brGa);
BehaviorCreate(bTd8, "及时增派警力,加强交通疏导,向社会发布交通指引信息", "", "[[交通,疏导,疏散,疏通,引导,指导]:100]", "对下级,掌控力,决策力,对媒体,舆论引导力", scTd, brGa, brYjZx);
BehaviorCreate(bTd9, "及时发布事件相关信息,做好舆情追踪收集,回应社会关切", "", "[[发布,公布,宣布,讯息,信息,舆情,追踪,跟踪]:100]", "对媒体,决策力,舆论引导力,对下级,对上级", scTd, brYjZx);
BehaviorCreate(bTd10, "指导和协调相关部门做好大面积停电事件的信息发布、舆情引导等工作", "", "[[发布,公布,宣布,讯息,信息,舆情,引导,指引]:100]", "对媒体,决策力,舆论引导力,对下级,协调力", scTd, brYjZx);
BehaviorCreate(bTd11, "及时开展受困群众的救援工作,将被困群众转移出危险区域", "", "[[群众,救援,救助,援救]:100]", "对下级,掌控力,对相关单位,协调力,研判力,控制事态", scTd, brYjZx);
BehaviorCreate(bTd12, "加强大面积停电区域内的隐患排查,对可能引起爆燃事故的重点单位和部位进行监管排险", "", "[[隐患,祸患,排查,检查,监管,监控,排险,排除]:100]", "对下级,掌控力,对媒体,决策力,舆论引导力", scTd, brYjZx, brDl);
BehaviorCreate(bTd13, "大面积停电处置成功", "", "[[处置,成功]:100]", "协调力,决策力,研判力,掌控力,舆论引导力", scTd, brDl);
}
private void SceneTd()
{
SceneCreate(GetNo(DataLibType.SceneInfo), "地区大面积停电", "飞机迫降过程中,螺旋桨拉断@EVENTADDR架空线路,@EVENTADDR地区附近商场、小区、交通信号、轨道交通等造成大面积停电", "[@EVENTADDR:string:胶州路]", scTd, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bTd1,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
new SceneBehaviorInfo()
{
BehaviorNo = bTd2,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
new SceneBehaviorInfo()
{
BehaviorNo = bTd12,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "停电造成人员困入电梯", "大厦受停电影响,@NUMSTOP 部电梯暂时停运,有@NUMTRAP 人被困于电梯中,被困人员情绪激动", "[@NUMSTOP:decimal:2],[@NUMTRAP:decimal:6]", scTd, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bTd2,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
new SceneBehaviorInfo()
{
BehaviorNo = bTd10,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
new SceneBehaviorInfo()
{
BehaviorNo = bTd11,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "长时间停电造成交通拥堵", "大面积停电持续时间已经超过1小时,接近下班高峰,交通信号未能恢复,路面交通已拥堵近500米", "", scTd, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bTd1,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
}, new SceneBehaviorInfo()
{
BehaviorNo = bTd8,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
}
});
SceneCreate(GetNo(DataLibType.SceneInfo), "大面积停电处置成功", "电网主干网架基本恢复正常接线方式,电网运行参数保持在稳定限额之内,停电负荷恢复90%以上,大面积停电事件造成的重特大次生衍生事故基本处置完成", "", scTd, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bTd13,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "调度自动化系统故障事件", "大面积停电期间,市电力公司调度自动化系统SCADA功能全部丧失,调度指挥功能基本瘫痪", "", scTd, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bTd1,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
new SceneBehaviorInfo()
{
BehaviorNo = bTd2,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "重要保电事件", "大面积停电时恰逢上海市举办某重大国际峰会,会议由某国家领导人主持,多国政要及经济领域友人出席,停电造成现场混乱", "", scTd, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bTd8,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "工程项目建设安全质量事故事件", "事发区域内,公司投资建设的某工程项目发生安全事故,现场发生爆炸并引发火灾,设施设备损坏严重,经济损失巨大", "", scTd, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bTd1,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
new SceneBehaviorInfo()
{
BehaviorNo = bTd2,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
new SceneBehaviorInfo()
{
BehaviorNo = bTd4,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "新闻突发事件", "事件引发上海市各大主要媒体的关注与传播,非主流媒体也出现大量负面报道,对公司品牌形象造成重大损害", "", scTd, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bTd9,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
}, new SceneBehaviorInfo()
{
BehaviorNo = bTd10,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "电力服务事件", "大面积停电期间,政府有关部门受理用电客户投诉数量激增,对公司电力服务质量造成重大影响", "", scTd, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bTd9,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
new SceneBehaviorInfo()
{
BehaviorNo = bTd6,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "突发群体事件", "市电力公司总部发生群众非法集会、聚众滋事事件,参与集会群众超过@NUMGATHERING 人,严重影响公司正常生产秩序和社会稳定", "[@NUMGATHERING:decimal:50]", scTd, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bTd10,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "涉外突发事件", "国际峰会现场受伤人员中包含1名应公司邀请来华访问的外籍人员,该人员受伤严重,已紧急送往医院治疗", "", scTd, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bTd12,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
new SceneBehaviorInfo()
{
BehaviorNo = bTd11,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
new SceneBehaviorInfo()
{
BehaviorNo = bTd4,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
new SceneBehaviorInfo()
{
BehaviorNo = bTd10,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "人身伤亡事件", "工程项目安全事故造成@NUMDEATH 人死亡、@NUMINJURE 人重伤", "", scTd, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bTd12,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
new SceneBehaviorInfo()
{
BehaviorNo = bTd2,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
new SceneBehaviorInfo()
{
BehaviorNo = bTd4,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
}
#endregion
#region FX
private string bFx1 { get; set; }
private string bFx2 { get; set; }
private string bFx3 { get; set; }
private string bFx4 { get; set; }
private string bFx5 { get; set; }
private string bFx6 { get; set; }
private string bFx7 { get; set; }
private string bFx8 { get; set; }
private void BehaviorFx()
{
bFx1 = GetNo(DataLibType.BehaviorInfo);//index=306
bFx2 = GetNo(DataLibType.BehaviorInfo);
bFx3 = GetNo(DataLibType.BehaviorInfo);
bFx4 = GetNo(DataLibType.BehaviorInfo);
bFx5 = GetNo(DataLibType.BehaviorInfo);
bFx6 = GetNo(DataLibType.BehaviorInfo);
bFx7 = GetNo(DataLibType.BehaviorInfo);
bFx8 = GetNo(DataLibType.BehaviorInfo);//index=314
BehaviorCreate(bFx1, "组织会商", "", "[[会商,研讨,讨论,商讨,协商]:100]", "对相关单位,决策力,协调力", scFx, brFx, brYjZx);
BehaviorCreate(bFx2, "加强汛情监测,密切关注汛情变化", "", "[[汛情,监测,关注,观察]:100]", "对下级,研判力", scFx, brFx, brSw);
BehaviorCreate(bFx3, "及时向防汛指挥部报告", "", "[[信息,报告,汇报,上报]:50,[防汛指挥部,指挥中心]:50]", "对上级,研判力", scFx, brFx);
BehaviorCreate(bFx4, "调集、筹措、运输应急处置和救援所需物资及设备", "", "[[物资,调集,运输,调配,运送]:100]", "对下级,掌控力", scFx, brFxJxWzZc);
BehaviorCreate(bFx5, "加强一线海塘、江堤、防汛墙和水闸、泵站等设施的安全巡查", "", "[[安全,巡查,巡逻,检查]:100]", "对下级,掌控力", scFx, brFx);
BehaviorCreate(bFx6, "按照职责做好防台风应急准备工作,停止露天集体活动和高空等户外危险作业", "", "[[停止,危险,作业,禁止,高危,操作]:100]", "对下级,掌控力", scFx, brFx);
BehaviorCreate(bFx7, "督促船只进港避风或者绕道航行、海上作业及近海养殖人员上岸避险", "", "[[船只,避风,绕道航行,人员避险]:100]", "对下级,掌控力", scFx, brFx);
BehaviorCreate(bFx8, "防台防汛处置成功", "", "[[处置,成功]:10,[防台防汛]:50]", "协调力,决策力,研判力,掌控力,舆论引导力", scFx, brFx);
}
private void SceneFx()
{
SceneCreate(GetNo(DataLibType.SceneInfo), "台风亚马逊", "@EVENTTIME,气象部门发布暴雨、台风黄色警报,第15号台风“亚马逊”将抵达东海东南部海面,风圈笼罩@EVENTADDR,风力8级,阵风9~10级,有大到暴雨", "[@EVENTTIME:string:2020年10月8日],[@EVENTADDR:string:上海]", scFx, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bFx1,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
new SceneBehaviorInfo()
{
BehaviorNo = bFx2,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "防台防汛情景1", "防台防汛情景1 @FTFXVAR1", "[@FTFXVAR1:string:111]", scFx, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bFx1,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "防台防汛情景2", "防台防汛情景2 @FTFXVAR2", "[@FTFXVAR2:string:222]", scFx, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bFx2,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "防台防汛情景3", "防台防汛情景3 @FTFXVAR3", "[@FTFXVAR3:string:33333]", scFx, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bFx3,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "防台防汛情景4", "防台防汛情景4 @FTFXVAR4", "[@FTFXVAR4:string:44444]", scFx, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bFx4,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "防台防汛情景5", "防台防汛情景5 @FTFXVAR5", "[@FTFXVAR5:string:5555]", scFx, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bFx5,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "防台防汛情景6", "防台防汛情景6", "", scFx, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bFx6,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
}
#endregion
#region PJ
private string bPj1 { get; set; }
private string bPj2 { get; set; }
private string bPj3 { get; set; }
private string bPj4 { get; set; }
private string bPj5 { get; set; }
private string bPj6 { get; set; }
private string bPj7 { get; set; }
private string bPj8 { get; set; }
private string bPj9 { get; set; }
private string bPj10 { get; set; }
private string bPj11 { get; set; }
private string bPj12 { get; set; }
private string bPj13 { get; set; }
private void BehaviorPj()
{
bPj1 = GetNo(DataLibType.BehaviorInfo);//index=315
bPj2 = GetNo(DataLibType.BehaviorInfo);
bPj3 = GetNo(DataLibType.BehaviorInfo);
bPj4 = GetNo(DataLibType.BehaviorInfo);
bPj5 = GetNo(DataLibType.BehaviorInfo);
bPj6 = GetNo(DataLibType.BehaviorInfo);
bPj7 = GetNo(DataLibType.BehaviorInfo);
bPj8 = GetNo(DataLibType.BehaviorInfo);
bPj9 = GetNo(DataLibType.BehaviorInfo);
bPj10 = GetNo(DataLibType.BehaviorInfo);
bPj11 = GetNo(DataLibType.BehaviorInfo);
bPj12 = GetNo(DataLibType.BehaviorInfo);
bPj13 = GetNo(DataLibType.BehaviorInfo);//index=328
BehaviorCreate(bPj1, "第一时间赶赴现场实施先期处置,尽最大可能控制事态发展", "", "[[先期,处置,前期,处理,安置]:100]", "对下级,掌控力", scPj, brYjZx);
BehaviorCreate(bPj2, "及时将地面受影响人员撤离、疏散到安全区域,安抚群众情绪", "", "[[人员,疏散,撤离,安抚,解散]:100]", "对下级,掌控力", scPj, brYjZx);
BehaviorCreate(bPj3, "协助市消防局救助机上及地面受伤人员和幸存人员", "", "[[医疗,救治,治疗,救人,救援,援救,抢救,援助]:100]", "对下级,掌控力", scPj, brYjZx);
BehaviorCreate(bPj4, "及时收集、汇总和研判事故有关信息,向应急处置指挥部报告或提出支援请求", "", "[[信息,研判,研讨,讨论,商讨,协商,报告,上报,汇报]:100]", "对上级,研判力", scPj, brYjZx);
BehaviorCreate(bPj5, "迅速赶赴现场开展受伤人员和幸存人员搜救", "", "[[人员,搜查,搜寻,搜救,救援,援救,抢救]:100]", "对下级,掌控力", scPj, brYjZx, brGa);
BehaviorCreate(bPj6, "及时组织开展火灾扑救", "", "[[灭火,扑灭,扑救,救火]:100]", "对下级,掌控力", scPj, brXf);
BehaviorCreate(bPj7, "实施交通管制,开辟“绿色通道”,保障救援车辆通行", "", "[[交通,管制,管理,控制,管控]:100]", "对下级,掌控力", scPj, brYjZx);
BehaviorCreate(bPj8, "紧急封锁事故现场,迅速疏散现场人群,维护现场秩序", "", "[[人员,疏散,分散,疏通,解散,撤离]:100]", "对下级,掌控力", scPj, brGa);
BehaviorCreate(bPj9, "及时、主动提供事故航空器相关资料,为研究制定救援和处置方案提供依据", "", "[[提供,资料,供应,方案,材料]:100]", "对下级,掌控力,对相关单位,研判力,协调力", scPj, brYjZx);
BehaviorCreate(bPj10, "组织协调航空器专家研讨,支撑事故救援工作", "", "[[协调,协作,调和,专家,组织]:100]", "对相关单位,研判力,决策力,协调力", scPj, brYjZx);
BehaviorCreate(bPj11, "协调提供航班货运清单,支撑灭火救援工作", "", "[[货运,清单,运输,单子]:100]", "对相关单位,研判力,协调力", scPj, brXf, brMh);
BehaviorCreate(bPj12, "", "", "", "对下级,掌控力", scPj, brYjZx);
BehaviorCreate(bPj13, "飞机迫降处置成功", "", "[[处置,成功]:100]", "协调力,决策力,研判力,掌控力,舆论引导力", scPj, brMh);
}
private void ScenePj()
{
SceneCreate(GetNo(DataLibType.SceneInfo), "观光直升机迫降", "@EVENTTIME,一架罗宾逊R-44观光直升机迫降于 @EVENTADDR,飞机尾翼起火,机上载客4人,人员受伤情况不明", "[@EVENTTIME:string:10月9日下午4点40分],[@EVENTADDR:string:滨海市胶州路机场高速口]", scPj, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bPj1,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "飞机迫降受伤乘客家属闹事", "飞机迫降受伤乘客家属情绪激动,聚众闹事,现场氛围紧张", "", scPj, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bPj2,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "飞机爆炸发生人员伤亡", "处置过程中,灭火操作不及时,飞机机体发生爆炸,@NUMDEAD 名乘客死亡,@NUMINJURE 名救援人员受伤", "[@NUMDEAD:string:5],[@NUMINJURE:string:6]", scPj, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bPj3,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "交通堵塞阻碍救援车辆进入", "由于现场混乱,高速路发生严重交通拥堵,拥堵长度超过500米,救援车辆无法及时到达", "", scPj, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bPj4,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "飞机迫降处置成功", "经过各方努力,处置措施得当,飞机火势得到有效控制,机载乘客得到妥善救治", "", scPj, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bPj13,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "旅游观光机迫降1", "旅游观光机迫降1 @ADDR", "[@ADDR:string:四川北路]", scPj, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bPj1,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "旅游观光机迫降2", "旅游观光机迫降2", "", scPj, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bPj2,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "旅游观光机迫降3", "旅游观光机迫降3", "", scPj, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bPj3,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "旅游观光机迫降4.1", "旅游观光机迫降4.2", "", scPj, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bPj4,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "旅游观光机迫降4.2", "旅游观光机迫降4.2", "", scPj, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bPj5,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
SceneCreate(GetNo(DataLibType.SceneInfo), "旅游观光机迫降5", "旅游观光机迫降5 @Address", "[@Address:string:上海外滩]", scPj, new List()
{
new SceneBehaviorInfo()
{
BehaviorNo = bPj6,
BehaviorWeight = 100,
BehaviorEvalType = (int)BehaviorScoreType.Normal
},
});
}
#endregion
#endregion
#region CREATE
///
/// 场景类别
///
private void SceneCategoryCreate(string id, string pId, string name, string pPath)
{
if (_context.SceneCategoryInfos.Any(s => s.Id == id))
{
return;
}
_context.SceneCategoryInfos.Add(new SceneCategoryInfo()
{
Id = id,
ParentNo = pId,
CategoryName = name,
CategoryPath = $"{(pPath.IsNotEmpty() ? $"{pPath}," : "")}{id}",
Sort = 0,
Description = name
});
_context.SaveChanges();
}
///
/// 角色
///
///
///
///
private void BehaviorRoleCreate(string id, string name, params string[] scs)
{
if (_context.BehaviorRoleInfos.Any(s => s.Id == id))
{
return;
}
_context.BehaviorRoleInfos.Add(new BehaviorRoleInfo()
{
Id = id,
RoleName = name,
Description = name
});
_context.SaveChanges();
foreach (var sc in scs)
{
if (_context.RoleRelateCategoryInfos.Any(s => s.RoleNo == id && s.CategoryNo == sc))
{
continue;
}
_context.RoleRelateCategoryInfos.Add(new RoleRelateCategoryInfo()
{
RoleNo = id,
CategoryNo = sc
});
}
_context.SaveChanges();
}
///
/// 行为
///
///
///
///
///
///
///
///
private void BehaviorCreate(string id, string name, string desc, string word, string tag, string c,
params string[] roles)
{
if (_context.BehaviorInfos.Any(s => s.Id == id))
{
return;
}
desc = desc.IsEmpty() ? name : desc;
_context.BehaviorInfos.Add(new BehaviorInfo()
{
Id = id,
BehaviorName = name,
Description = desc,
RuleKeyword = word,
BehaviorTag = tag,
RoleLogicType = (int)BehaviorRoleLogicType.Or,
SceneCategory = c
});
_context.SaveChanges();
foreach (var r in roles)
{
if (_context.BehaviorRelateRoleInfos.Any(s => s.BehaviorNo == id && s.RoleNo == r))
{
continue;
}
_context.BehaviorRelateRoleInfos.Add(new BehaviorRelateRoleInfo()
{
RoleNo = r,
BehaviorNo = id
});
}
_context.SaveChanges();
}
///
/// 情景
///
///
///
///
///
///
///
///
///
private void SceneCreate(string id, string name, string desc, string v, string c, List sbs,
int type = (int)SceneType.Evolution, string tag = "")
{
if (_context.SceneInfos.Any(s => s.Id == id))
{
return;
}
_context.SceneInfos.Add(new SceneInfo()
{
Id = id,
Name = name,
Description = desc,
SceneTag = tag,
SceneType = type,
SceneCategory = c,
Variable = v
});
_context.SaveChanges();
foreach (var sb in sbs)
{
if (_context.SceneBehaviorInfos.Any(s => s.SceneNo == id && s.BehaviorNo == sb.BehaviorNo))
{
continue;
}
_context.SceneBehaviorInfos.Add(new SceneBehaviorInfo()
{
BehaviorNo = sb.BehaviorNo,
SceneNo = id,
BehaviorEvalType = sb.BehaviorEvalType,
BehaviorWeight = sb.BehaviorWeight
});
}
_context.SaveChanges();
}
#endregion
#endregion
public void EngineComponentCreate()
{
{
var engineId = "JY013000000051";
var entity = _context.EngineComponentInfos.FirstOrDefault(a => a.Id == engineId);
if (entity == null)
{
entity = new EngineComponentInfo()
{
Id = engineId,
Name = "运行前置条件(分值)",
Description = "检验节点运行条件是否满足,满足则运行。也可以自定义运行前置条件,最后需把运行结果赋值给内部变量 @RunValidate",
Parameters = ":MinScore:最小分值:Y,:MaxScore:最大分值:Y",
ComponentScript =
$@"
@CurrentNodeScore
Number
False
@MinScore
Number
False
@MaxScore
Number
False
[[@CurrentNodeScore]=[@PrevNodeScore]]
False
[[@MinScore]=[@@MinScore]]
False
[[@MaxScore]=[@@MaxScore]]
False
{"@CurrentNodeScore >= @MinScore || @CurrentNodeScore <= @MaxScore".FormatCode2Xml()}
"
};
_context.EngineComponentInfos.Add(entity);
}
}
{
var engineId = "JY012000000022";
var entity = _context.EngineComponentInfos.FirstOrDefault(a => a.Id == engineId);
if (entity == null)
{
entity = new EngineComponentInfo()
{
Id = engineId,
Name = "节点等待",
Description = "节点运行需要等待其他节点运行完成后才能运行",
Parameters = ":WaitNodePath:需等待节点:Y",
ComponentScript =
@"
@@WaitNodePath
",
};
_context.EngineComponentInfos.Add(entity);
}
}
}
}
}