using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Threading.Tasks; using SWS.Commons; using SWS.Model; namespace SWS.Service { public class DrawingServce : HttpService { public DrawingServce() : base() { } public async Task AddDrawingFile(ec_drawing_file entity) { var res = await this.PostBodyAsync($"DrawingFileApi/AddDrawingFile?projectId={GlobalObject.curProject?.ProjectId}", entity); //OnRefresh(); if (res.code == 200) { return res.data; } else { return null;//ERROR INFO } } /// /// 查询图纸目录树 /// /// 是否只查询文件夹。0:包含图纸文件的查询, 1代表只查询文件夹 /// public async Task> GetDrawingCatalogue(string onlyFolderFlag = "0") { var res = await this.GetAsync>($"DrawingFileApi/GetDrawingCatalogue?projectId={GlobalObject.curProject.ProjectId}&onlyFolderFlag={onlyFolderFlag}"); //OnRefresh(); if (res.code == 200) { return res.data; } else { return null;//ERROR INFO } } /// /// 查询所属系统树 /// /// public async Task> GetDrawingSystem() { var res = await this.GetAsync>($"DrawingFileApi/GetDrawingCatalogueBySystem?projectId={GlobalObject.curProject.ProjectId}"); //OnRefresh(); if (res.code == 200) { return res.data; } else { return null;//ERROR INFO } } /// /// 根据ID获取DWG文件实体信息 /// /// 图纸文件ID /// public async Task GetDrawingFile(string drawingFileID) { var url = $"DrawingFileApi/GetEntity?projectId={GlobalObject.curProject.ProjectId}&drawingFileID={drawingFileID}"; try { var res = await this.GetAsync(url); if (res.code == 200) { return res.data; } else { return null; } } catch (Exception ex) { string errorMsg = $"接口:{url}失败,异常:{ex.Message} "; LoggerHelper.Current.Error(errorMsg); return null; } } /// /// 修改图纸信息 /// /// 图纸实体信息 /// public async Task UpdateDrawingFile(ec_drawing_file dwgFile) { try { string url = $"DrawingFileApi/EditDrawingFile?projectId={GlobalObject.curProject?.ProjectId}"; var res = await this.PostBodyAsync(url, dwgFile); if (res.code == 200 && res.info.Contains("成功")) { return ""; } else { string errorMsg = $"图纸ID:{dwgFile.DrawingFileID},图纸名称:{dwgFile.DrawingFileName},修改在EditDrawingFile失败,信息:{res.info}"; LoggerHelper.Current.Error(errorMsg); return res.info; } } catch (Exception ex) { return ex.Message; } } /// /// 图纸预检入 /// /// 图纸实体信息 /// public async Task PreCheckInDrawingFile(ec_drawing_file dwgFile, List handles) { try { List listItem = new List(); foreach (var handle in handles) { ec_enginedata_pixel item = new ec_enginedata_pixel(); item.DrawingFileID = dwgFile.DrawingFileID; item.PixelCode = handle; listItem.Add(item); } string url = $"DrawingFileApi/PreCheckInDrawingFile?projectId={GlobalObject.curProject?.ProjectId}&drawingFileID={dwgFile.DrawingFileID}"; var res = await this.PostBodyAsync>(url, listItem); if (res.code == 200 && res.info.Contains("")) { return ""; } else { string errorMsg = $"图纸ID:{dwgFile.DrawingFileID},图纸名称:{dwgFile.DrawingFileName},预检入PreCheckInDrawingFile失败,信息:{res.info}"; LoggerHelper.Current.Error(errorMsg); return res.info; } } catch (Exception ex) { return ex.Message; } } /// /// 图纸检入 第一步 /// /// 图纸实体信息 /// public async Task CheckInDrawingFileStep1(ec_drawing_file dwgFile, List handles) { try { List listItem = new List(); foreach (var handle in handles) { ec_enginedata_pixel item = new ec_enginedata_pixel(); item.DrawingFileID = dwgFile.DrawingFileID; item.PixelCode = handle; listItem.Add(item); } string url = $"DrawingFileApi/CheckInDrawingFileNew?projectId={GlobalObject.curProject?.ProjectId}&drawingFileID={dwgFile.DrawingFileID}&folderId={dwgFile.FolderId}&fileMD5={dwgFile.FileMD5}"; var res = await this.PostBodyAsync>(url, listItem); if (res.code == 200 && res.info.Contains("成功")) { return ""; } else { string errorMsg = $"图纸ID:{dwgFile.DrawingFileID},图纸名称:{dwgFile.DrawingFileName},检入在CheckInDrawingFileNew失败,信息:{res.info}"; LoggerHelper.Current.Error(errorMsg); return res.info; } } catch (Exception ex) { return ex.Message; } } /// /// 图纸检入 第二步 /// /// 图纸实体信息 /// public async Task CheckInDrawingFileStep2(ec_drawing_file dwgFile, ec_drawing_syn syn) { try { //ec_drawing_syn data = new ec_drawing_syn(); //data.FolderId = dwgFile.FolderId; //data.DrawingFileID = dwgFile.DrawingFileID; string url = $"DrawingFileApi/CheckInDrawingMsg?projectId={GlobalObject.curProject?.ProjectId}&drawingFileID={dwgFile.DrawingFileID}&folderId={dwgFile.FolderId}&fileMD5={dwgFile.FileMD5}&UsersNotified="; var res = await this.PostBodyAsync(url, syn); if (res.code == 200 && res.info.Contains("成功")) { return ""; } else { string errorMsg = $"图纸ID:{dwgFile.DrawingFileID},图纸名称:{dwgFile.DrawingFileName},检入在CheckInDrawingMsg失败,失败信息:{res.info}"; LoggerHelper.Current.Error(errorMsg); return res.info; } } catch (Exception ex) { return ex.Message; } } /// /// 图纸检出 /// /// 图纸ID /// public async Task CheckOutDrawingFile(string drawingFileID) { try { string url = $"DrawingFileApi/CheckOutDrawingFile?projectId={GlobalObject.curProject?.ProjectId}&drawingFileID={drawingFileID}&PCInfo={GlobalObject.GetPCInfo()}"; var res = await this.PostBodyAsync(url, null); if (res.code == 200 && res.info.Contains("成功")) { return ""; } else { string errorMsg = $"图纸ID:{drawingFileID},检出在CheckOutDrawingFile失败,信息:{res.info}"; LoggerHelper.Current.Error(errorMsg); return res.info; } } catch (Exception ex) { return ex.Message; } } /// /// 图纸释放 /// /// 图纸ID /// public async Task FreeDrawingFile(string drawingFileID) { try { string url = $"DrawingFileApi/FreeDrawingFile?projectId={GlobalObject.curProject?.ProjectId}&drawingFileID={drawingFileID}"; var res = await this.PostBodyAsync(url, null); if (res.code == 200 && res.info.Contains("成功")) { return ""; } else { string errorMsg = $"图纸ID:{drawingFileID},释放在FreeDrawingFile失败,信息:{res.info}"; LoggerHelper.Current.Error(errorMsg); return res.info; } } catch (Exception ex) { return ex.Message; } } /// /// 图纸 发布 /// /// 图纸ID /// public async Task PublishDrawingFile(string drawingFileID, string remark) { try { string url = $"DrawingFileApi/PublishDrawingFile?projectId={GlobalObject.curProject?.ProjectId}&drawingFileID={drawingFileID}&remark={remark}"; var res = await this.PostBodyAsync(url, null); if (res.code == 200 && res.info.Contains("成功")) { return ""; } else { string errorMsg = $"图纸ID:{drawingFileID},发布在PublishDrawingFile失败,信息:{res.info}"; LoggerHelper.Current.Error(errorMsg); return res.info; } } catch (Exception ex) { return ex.Message; } } /// /// 图纸 修订 /// /// 图纸ID /// public async Task ModifyDrawingFile(string drawingFileID, string fileVersion) { try { string url = $"DrawingFileApi/ModifyDrawingFile?projectId={GlobalObject.curProject?.ProjectId}&drawingFileID={drawingFileID}&fileVersion={fileVersion}"; var res = await this.PostBodyAsync(url, null); if (res.code == 200 && res.info.Contains("成功")) { return ""; } else { string errorMsg = $"图纸ID:{drawingFileID},修订在ModifyDrawingFile失败,信息:{res.info}"; LoggerHelper.Current.Error(errorMsg); return res.info; } } catch (Exception ex) { return ex.Message; } } /// /// 历史图纸 /// /// 图纸ID /// public async Task> GetPublishedDwg() { try { string url = $"DrawingFileApi/GetPublishedDwg?projectId={GlobalObject.curProject?.ProjectId}"; var res = await this.GetAsync>(url); if (res.code == 200 ) { return res.data; } else { string errorMsg = $"获取历史图纸失败,信息:{res.info}"; LoggerHelper.Current.Error(errorMsg); return null; } } catch (Exception ex) { string errorMsg = $"获取历史图纸失败:{ex.Message}"; LoggerHelper.Current.Error(errorMsg); return null; } } /// /// 获取单个图纸的检入记录 /// /// 图纸ID /// public async Task> GetCheckInLog(string drawingFileID) { try { string url = $"DrawingFileApi/GetCheckInLog?projectId={GlobalObject.curProject?.ProjectId}&drawingFileID={drawingFileID}"; var res = await this.GetAsync>(url); if (res.code == 200) { return res.data; } else { string errorMsg = $"获取检入记录失败,信息:{res.info}"; LoggerHelper.Current.Error(errorMsg); return null; } } catch (Exception ex) { string errorMsg = $"获取检入记录失败:{ex.Message}"; LoggerHelper.Current.Error(errorMsg); return null; } } /// /// 获取单个图纸的发布记录 /// /// 图纸ID /// public async Task> GetPublishLog(string drawingFileID) { try { string url = $"DrawingFileApi/GetPublishLog?projectId={GlobalObject.curProject?.ProjectId}&drawingFileID={drawingFileID}"; var res = await this.PostBodyAsync,object>(url,null); if (res.code == 200) { return res.data; } else { string errorMsg = $"获取发布记录失败,信息:{res.info}"; LoggerHelper.Current.Error(errorMsg); return null; } } catch (Exception ex) { string errorMsg = $"获取发布记录失败:{ex.Message}"; LoggerHelper.Current.Error(errorMsg); return null; } } /// /// 获取单个图纸的操作记录 /// /// 图纸ID /// public async Task> GetOperateLog(string drawingFileID) { try { string url = $"DrawingFileApi/GetOperateLog?projectId={GlobalObject.curProject?.ProjectId}&drawingFileID={drawingFileID}"; var res = await this.PostBodyAsync, object>(url, null); if (res.code == 200) { return res.data; } else { string errorMsg = $"获取操作记录失败,信息:{res.info}"; LoggerHelper.Current.Error(errorMsg); return null; } } catch (Exception ex) { string errorMsg = $"获取操作记录失败:{ex.Message}"; LoggerHelper.Current.Error(errorMsg); return null; } } } }