From b723490c1c0319b3af0f92e332e8292166fb7bea Mon Sep 17 00:00:00 2001 From: mzhifa Date: Tue, 14 May 2024 23:44:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Txgy.RBS.DTO/ProjectUsedDTO.cs | 3 + Txgy.RBS.DbModel/Models/project_used.cs | 2 + Txgy.RBS.Framework/CommonData.cs | 2 +- Txgy.RBS.IServices/IGlobalConfigService.cs | 2 +- Txgy.RBS.IServices/IProjectInfoService.cs | 5 +- .../Controllers/GlobalConfigController.cs | 2 +- .../Controllers/ProjectInfoController.cs | 61 ++++++++++++------ Txgy.RBS.Server.WebApi/rbs_server_db.db | Bin 753664 -> 753664 bytes Txgy.RBS.Services/GlobalConfigService.cs | 5 +- Txgy.RBS.Services/ProcessManagerService.cs | 24 +++++-- Txgy.RBS.Services/ProjectInfoService.cs | 43 ++++++++++-- station_金5井_2.csv | 17 +++++ station_金6.csv | 17 +++++ 13 files changed, 148 insertions(+), 35 deletions(-) create mode 100644 station_金5井_2.csv create mode 100644 station_金6.csv diff --git a/Txgy.RBS.DTO/ProjectUsedDTO.cs b/Txgy.RBS.DTO/ProjectUsedDTO.cs index a448001..b53f042 100644 --- a/Txgy.RBS.DTO/ProjectUsedDTO.cs +++ b/Txgy.RBS.DTO/ProjectUsedDTO.cs @@ -14,6 +14,9 @@ namespace Txgy.RBS.DTO } + + public int id { get; set; } + public int current_project_id { get; set; } diff --git a/Txgy.RBS.DbModel/Models/project_used.cs b/Txgy.RBS.DbModel/Models/project_used.cs index 10836e4..656d25b 100644 --- a/Txgy.RBS.DbModel/Models/project_used.cs +++ b/Txgy.RBS.DbModel/Models/project_used.cs @@ -21,6 +21,8 @@ namespace Txgy.RBS.DbModel.Models /// Nullable:False /// [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int id { get; set; } + public int current_project_id { get; set; } diff --git a/Txgy.RBS.Framework/CommonData.cs b/Txgy.RBS.Framework/CommonData.cs index 09c0a09..f8ad011 100644 --- a/Txgy.RBS.Framework/CommonData.cs +++ b/Txgy.RBS.Framework/CommonData.cs @@ -9,7 +9,6 @@ namespace Txgy.RBS.Framework { public class CommonData { - public static string BaseProjectPath { get; set; } = "c:\\Project"; public static string RedisDefaultPath { get; set; } = "program\\server"; public static string ApmsDefaultPath { get; set; } = "program\\apms\\gw.apms.json"; @@ -38,6 +37,7 @@ namespace Txgy.RBS.Framework { string name = System.IO.Path.GetFileName(file); string dest = System.IO.Path.Combine(destFolder, name); + if (file.Contains("program\\server")) continue; //server目录文件不复制 System.IO.File.Copy(file, dest);//复制文件 } //得到原文件根目录下的所有文件夹 diff --git a/Txgy.RBS.IServices/IGlobalConfigService.cs b/Txgy.RBS.IServices/IGlobalConfigService.cs index 31a34e1..081c669 100644 --- a/Txgy.RBS.IServices/IGlobalConfigService.cs +++ b/Txgy.RBS.IServices/IGlobalConfigService.cs @@ -16,7 +16,7 @@ namespace Txgy.RBS.IServices ApiResult UpdateGlobalConfig(GlobalConfigDTO globalConfigDTO); - GlobalConfigDTO GetGlobalConfig(int id); + GlobalConfigDTO GetGlobalConfig(); List GetAllGlobalConfig(); } diff --git a/Txgy.RBS.IServices/IProjectInfoService.cs b/Txgy.RBS.IServices/IProjectInfoService.cs index accb449..4c2d29a 100644 --- a/Txgy.RBS.IServices/IProjectInfoService.cs +++ b/Txgy.RBS.IServices/IProjectInfoService.cs @@ -22,10 +22,13 @@ namespace Txgy.RBS.IServices List GetAllProjectInfo(); - ProjectUsedDTO GetCurrentProjectUsed(); + ProjectUsedDTO GetCurrentProjectUsed(string clientName); + ProjectUsedDTO GetCurrentProjectUsed(int projectId); ApiResult UpdateCurrentProjectUsed(ProjectUsedDTO projectUsed); + ApiResult DeleteCurrentProjectUsed(int projectId); + ApiResult StartProject(string projectName, ProcessConfig processConfig); ApiResult StopProject(string ProjectName); diff --git a/Txgy.RBS.Server.WebApi/Controllers/GlobalConfigController.cs b/Txgy.RBS.Server.WebApi/Controllers/GlobalConfigController.cs index 5ac164d..f2998a2 100644 --- a/Txgy.RBS.Server.WebApi/Controllers/GlobalConfigController.cs +++ b/Txgy.RBS.Server.WebApi/Controllers/GlobalConfigController.cs @@ -33,7 +33,7 @@ namespace Txgy.RBS.Server.WebApi.Controllers [HttpGet("{id}")] public GlobalConfigDTO GetGlobalConfig(int id) { - return _globalConfigService.GetGlobalConfig(id); + return _globalConfigService.GetGlobalConfig(); } [HttpGet] diff --git a/Txgy.RBS.Server.WebApi/Controllers/ProjectInfoController.cs b/Txgy.RBS.Server.WebApi/Controllers/ProjectInfoController.cs index 21fcf41..3567b7e 100644 --- a/Txgy.RBS.Server.WebApi/Controllers/ProjectInfoController.cs +++ b/Txgy.RBS.Server.WebApi/Controllers/ProjectInfoController.cs @@ -20,24 +20,29 @@ namespace Txgy.RBS.Server.WebApi.Controllers { private readonly IProjectInfoService _projectInfoService; private readonly IStationsService _stationsService; + private readonly IGlobalConfigService _globalConfigService; private readonly ProcessConfig _processConfig; - public ProjectInfoController(ILogger logger, IProjectInfoService projectInfoService,IStationsService stationsService, IConfiguration configuration) + public ProjectInfoController(ILogger logger, IProjectInfoService projectInfoService, + IStationsService stationsService, + IGlobalConfigService globalConfigService, + IConfiguration configuration) { this._projectInfoService = projectInfoService; this._stationsService = stationsService; + this._globalConfigService = globalConfigService; this._processConfig = configuration.GetSection("process").Get(); } [HttpPost] public ApiResult AddProjectInfo(ProjectInfoDTO project) { - //var pro= _projectInfoService.GetProjectInfo(1); - // pro.id=project.id; - // pro.project_id = project.project_id; - // pro.project_name = project.project_name; - // pro.moni_layer = project.moni_layer; - // pro.moni_num = project.moni_num; + //var pro= _projectInfoService.GetProjectInfo(1); + // pro.id=project.id; + // pro.project_id = project.project_id; + // pro.project_name = project.project_name; + // pro.moni_layer = project.moni_layer; + // pro.moni_num = project.moni_num; return _projectInfoService.AddProjectInfo(project); } @@ -65,12 +70,17 @@ namespace Txgy.RBS.Server.WebApi.Controllers return _projectInfoService.GetAllProjectInfo(); } - [HttpGet] - public ProjectUsedDTO GetCurrentProjectUsed() + [HttpGet("{clientId}")] + public ProjectUsedDTO GetCurrentProjectUsed(string clientId) { - return _projectInfoService.GetCurrentProjectUsed(); + return _projectInfoService.GetCurrentProjectUsed(clientId); } + [HttpGet] + public ProjectUsedDTO GetCurrentProjectUsed(int projectId) + { + return _projectInfoService.GetCurrentProjectUsed(projectId); + } [HttpPost] public ApiResult StartProject(ProjectUsedDTO usedDTO) { @@ -79,11 +89,11 @@ namespace Txgy.RBS.Server.WebApi.Controllers var curProject = this.GetProjectInfo(usedDTO.current_project_id); var staVpn = _stationsService.GetStationNumVpn(); - + var globalConfig = _globalConfigService.GetGlobalConfig(); if (res.Success && curProject != null) { - string path = Path.Combine(CommonData.BaseProjectPath, curProject.project_name); + string path = Path.Combine(globalConfig.base_path, curProject.project_name); if (!Directory.Exists(path)) { var direc = Directory.CreateDirectory(path); @@ -105,8 +115,14 @@ namespace Txgy.RBS.Server.WebApi.Controllers System.IO.File.WriteAllText(Path.Combine(path, "program\\apms", curProject.timeTab.filename), curProject.timeTab.file_content); apm.is_write_slice = (curProject.local_save_result == 1) ? "YES" : "NO"; - apm.savepath = Path.Combine(CommonData.BaseProjectPath, curProject.project_name, curProject.save_result_path) ; + apm.savepath = Path.Combine(globalConfig.base_path, curProject.project_name, curProject.save_result_path) ; + apm.push2wx= (curProject.push_wx==1)? "YES" : "NO"; apm.push_mag = curProject.push_wx_value; + apm.push_url = globalConfig.push_wx_url; + apm.company_id = globalConfig.push_wx_company_id; + apm.message_id = globalConfig.push_wx_message_id; + apm.content = globalConfig.push_wx_content; + apm.push_key = globalConfig.push_wx_key; apm.channels = new List { new StationChannelsModel @@ -132,7 +148,7 @@ namespace Txgy.RBS.Server.WebApi.Controllers var rec = JsonConvert.DeserializeObject(str); if (rec != null) { - rec.savepath = Path.Combine(CommonData.BaseProjectPath, curProject.project_name, curProject.save_waves_path); + rec.savepath = Path.Combine(globalConfig.base_path, curProject.project_name, curProject.save_waves_path); rec.send2server = (curProject.send_redis == 1) ? "YES" : "NO"; rec.Server = curProject.mqtt_server; List< StationNumVpnDTO> vpnList=new List< StationNumVpnDTO>(); @@ -152,24 +168,33 @@ namespace Txgy.RBS.Server.WebApi.Controllers } _processConfig.FilesWatcherService = new Framework.FileWatcherHelper.FilesWatcherService(curProject.project_id,curProject.project_name,apm.savepath); res= _projectInfoService.StartProject(curProject.project_name, _processConfig); - res.Data = curProject; + if(res.Success) + { + res = _projectInfoService.UpdateCurrentProjectUsed(usedDTO); + res.Data = curProject; + } } - return res; + else + { + res.Message = "没有查询到当前工程名称!"; + } + return res; } [HttpPost] public ApiResult StopProject(ProjectUsedDTO usedDTO) { // 更新当前项目配置 - var res = _projectInfoService.UpdateCurrentProjectUsed(usedDTO); + var res = _projectInfoService.DeleteCurrentProjectUsed(usedDTO.current_project_id); var curProject = this.GetProjectInfo(usedDTO.current_project_id); if (res.Success && curProject != null) { res= _projectInfoService.StopProject(curProject.project_name); - res.Data = curProject; + res.Data = curProject; } return res; } + [HttpGet] public ApiResult GetProjectProcessState(string projectName, int id) { diff --git a/Txgy.RBS.Server.WebApi/rbs_server_db.db b/Txgy.RBS.Server.WebApi/rbs_server_db.db index 6e9fc73f21678dbab9f56693562bc6b97fdffe65..8c8bf15cd14c4fc2ad416bc899e12e5ec17a168f 100644 GIT binary patch delta 14837 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 diff --git a/Txgy.RBS.Services/GlobalConfigService.cs b/Txgy.RBS.Services/GlobalConfigService.cs index 759f412..34db619 100644 --- a/Txgy.RBS.Services/GlobalConfigService.cs +++ b/Txgy.RBS.Services/GlobalConfigService.cs @@ -51,9 +51,10 @@ namespace Txgy.RBS.Services } - public GlobalConfigDTO GetGlobalConfig(int id) + public GlobalConfigDTO GetGlobalConfig() { - return new GlobalConfigDTO(); + var global_Config = _Client.Queryable().First(); + return _iMapper.Map(global_Config); } public ApiResult UpdateGlobalConfig(GlobalConfigDTO GlobalConfigDTO) diff --git a/Txgy.RBS.Services/ProcessManagerService.cs b/Txgy.RBS.Services/ProcessManagerService.cs index 49a1f18..50f102e 100644 --- a/Txgy.RBS.Services/ProcessManagerService.cs +++ b/Txgy.RBS.Services/ProcessManagerService.cs @@ -2,7 +2,8 @@ using Microsoft.Extensions.Caching.Memory; using System.Collections.Concurrent; using System.Data; - using Txgy.RBS.DTO; +using System.Diagnostics; +using Txgy.RBS.DTO; using Txgy.RBS.Framework; using Txgy.RBS.Framework.Api; using Txgy.RBS.Framework.FileWatcherHelper; @@ -113,6 +114,20 @@ namespace Txgy.RBS.Services void WatcherChanged(MsEventModel msEvent, FileSystemEventArgs e) { + + var path= Path.GetDirectoryName(e.FullPath); + var dir = new DirectoryInfo(path); + var files= dir.GetFiles("*.json"); + string name = $"HA.{msEvent.OriginTime.Year}{msEvent.OriginTime.Month:D2}{msEvent.OriginTime.Day:D2}T{msEvent.OriginTime.Hour:D2}{msEvent.OriginTime.Minute:D2}{msEvent.OriginTime.Second:D2}"; + string jsonStr = string.Empty; + foreach (var item in files) + { + if (item.FullName.Contains(name)) + { + jsonStr= File.ReadAllText(item.FullName); + break; + } + } _resultInfoService.AddResultInfo(new ResultDTO { project_id = msEvent.ProjectId, @@ -122,18 +137,17 @@ namespace Txgy.RBS.Services depth = msEvent.Depth, ml = msEvent.ML, energy = msEvent.Energy, - // rms=msEvent. + json_str= jsonStr, phases_count = msEvent.PhasesCount, - amps_count = msEvent.AmpsCount, + amps_count = msEvent.AmpsCount, }); _redisList.Publish($"{msEvent.ProjectName}result", Newtonsoft.Json.JsonConvert.SerializeObject(new { projectName = msEvent.ProjectName, otime = msEvent.OriginTime, message = msEvent.ToString(), - jsonStr = "" + jsonStr = jsonStr })); - } diff --git a/Txgy.RBS.Services/ProjectInfoService.cs b/Txgy.RBS.Services/ProjectInfoService.cs index 7164415..8874657 100644 --- a/Txgy.RBS.Services/ProjectInfoService.cs +++ b/Txgy.RBS.Services/ProjectInfoService.cs @@ -65,19 +65,24 @@ namespace Txgy.RBS.Services public List GetAllProjectInfo() { - var projects = _Client.Queryable().Includes(x => x.station_file, t=>t.stations) + var projects = _Client.Queryable().Includes(x => x.station_file, t=>t.stations.OrderBy(n=>n.num).ToList()) .Includes(ti=>ti.time_tab).ToList(); var projectDTOs= _iMapper.Map>(projects); return projectDTOs; } - public ProjectUsedDTO GetCurrentProjectUsed() + public ProjectUsedDTO GetCurrentProjectUsed(string clientName) { - var curProject = _Client.Queryable().First(); + var curProject = _Client.Queryable().Where(c=>c.client_id== clientName).First(); var projectUse=_iMapper.Map(curProject); return projectUse; } - + public ProjectUsedDTO GetCurrentProjectUsed(int projectId) + { + var curProject = _Client.Queryable().Where(c => c.current_project_id == projectId).First(); + var projectUse = _iMapper.Map(curProject); + return projectUse; + } public ApiResult UpdateProjectInfo(ProjectInfoDTO project) { project_info projectInfo = _iMapper.Map(project); @@ -104,8 +109,19 @@ namespace Txgy.RBS.Services public ApiResult UpdateCurrentProjectUsed(ProjectUsedDTO projectUsed) { - var pro=_iMapper.Map(projectUsed); - var res= _Client.Updateable(pro).ExecuteCommand(); + int res = 0; + var curUser=_iMapper.Map(projectUsed); + + var user= _Client.Queryable().Where(u => u.client_id == curUser.client_id).First(); + if (user != null) + { + user.current_project_id = curUser.current_project_id; + res = _Client.Updateable(user).ExecuteCommand(); + } + else + { + res = _Client.Insertable(curUser).ExecuteCommand(); + } if (res>0) { return new ApiResult(); @@ -113,6 +129,21 @@ namespace Txgy.RBS.Services return new ApiResult() { Message = "更新失败" }; } + public ApiResult DeleteCurrentProjectUsed(int projectId) + { + int res = 0; + var use = _Client.Queryable().Where(u => u.current_project_id == projectId).First(); + if (use != null) + { + res = _Client.Deleteable().Where(u => u.id == use.id).ExecuteCommand(); + if (res > 0) + { + return new ApiResult(); + } + } + return new ApiResult() { Message = "更新失败" }; + } + public ApiResult StartProject(string projectName, ProcessConfig processConfig) { var res = _processManager.StartProject(projectName, processConfig); diff --git a/station_金5井_2.csv b/station_金5井_2.csv new file mode 100644 index 0000000..e8fa7cc --- /dev/null +++ b/station_金5井_2.csv @@ -0,0 +1,17 @@ +net,sta,x2000,y2000,z2000,sens,begin,stop,position +YA,N021,37506783.63,4315231.833,964.31,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P001 +YA,N025,37506996.14,4315245.646,1021.623,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P002 +YA,N026,37507180.88,4315249.939,957.82,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P003 +YA,N038,37507395.86,4315245.449,957.09,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P004 +YA,N022,37506790.67,4315026.032,953.27,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P005 +YA,N023,37507005.76,4315015.073,1007.239,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P006 +YA,N024,37507189.42,4315066.236,938.42,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P007 +YA,N013,37507425.44,4315030.865,982.18,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P008 +YA,N040,37506793.68,4314787.025,966.41,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P009 +YA,N008,37506993.3,4314790.8,937.4,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P010 +YA,N009,37507264.72,4314711.779,936.39,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P011 +YA,N014,37507397.03,4314791.737,967.97,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P012 +YA,N007,37506794.36,4314557.729,964.37,3.20E+09,2023-11-17T00:00:00.001,2024-12-21T23:59:59.001,P013 +YA,N037,37506983.42,4314521.458,915.829,3.20E+09,2023-11-17T00:00:00.002,2024-12-21T23:59:59.002,P014 +YA,N030,37507193.88,4314568.531,965.042,3.20E+09,2023-11-17T00:00:00.003,2024-12-21T23:59:59.003,P015 +YA,N020,37507399.01,4314558.161,964.69,3.20E+09,2023-11-17T00:00:00.004,2024-12-21T23:59:59.004,P016 diff --git a/station_金6.csv b/station_金6.csv new file mode 100644 index 0000000..e8fa7cc --- /dev/null +++ b/station_金6.csv @@ -0,0 +1,17 @@ +net,sta,x2000,y2000,z2000,sens,begin,stop,position +YA,N021,37506783.63,4315231.833,964.31,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P001 +YA,N025,37506996.14,4315245.646,1021.623,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P002 +YA,N026,37507180.88,4315249.939,957.82,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P003 +YA,N038,37507395.86,4315245.449,957.09,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P004 +YA,N022,37506790.67,4315026.032,953.27,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P005 +YA,N023,37507005.76,4315015.073,1007.239,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P006 +YA,N024,37507189.42,4315066.236,938.42,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P007 +YA,N013,37507425.44,4315030.865,982.18,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P008 +YA,N040,37506793.68,4314787.025,966.41,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P009 +YA,N008,37506993.3,4314790.8,937.4,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P010 +YA,N009,37507264.72,4314711.779,936.39,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P011 +YA,N014,37507397.03,4314791.737,967.97,3.20E+09,2023-11-17T00:00:00.000,2024-12-21T23:59:59.000,P012 +YA,N007,37506794.36,4314557.729,964.37,3.20E+09,2023-11-17T00:00:00.001,2024-12-21T23:59:59.001,P013 +YA,N037,37506983.42,4314521.458,915.829,3.20E+09,2023-11-17T00:00:00.002,2024-12-21T23:59:59.002,P014 +YA,N030,37507193.88,4314568.531,965.042,3.20E+09,2023-11-17T00:00:00.003,2024-12-21T23:59:59.003,P015 +YA,N020,37507399.01,4314558.161,964.69,3.20E+09,2023-11-17T00:00:00.004,2024-12-21T23:59:59.004,P016