442 lines
17 KiB
C#
442 lines
17 KiB
C#
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<ec_drawing_file> AddDrawingFile(ec_drawing_file entity)
|
||
{
|
||
var res = await this.PostBodyAsync<ec_drawing_file, ec_drawing_file>($"DrawingFileApi/AddDrawingFile?projectId={GlobalObject.curProject?.ProjectId}", entity);
|
||
//OnRefresh();
|
||
if (res.code == 200)
|
||
{
|
||
|
||
return res.data;
|
||
}
|
||
else
|
||
{
|
||
return null;//ERROR INFO
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 查询图纸目录树
|
||
/// </summary>
|
||
/// <param name="onlyFolderFlag">是否只查询文件夹。0:包含图纸文件的查询, 1代表只查询文件夹</param>
|
||
/// <returns></returns>
|
||
public async Task<ObservableCollection<TreeModel>> GetDrawingCatalogue(string onlyFolderFlag = "0")
|
||
{
|
||
var res = await this.GetAsync<ObservableCollection<TreeModel>>($"DrawingFileApi/GetDrawingCatalogue?projectId={GlobalObject.curProject.ProjectId}&onlyFolderFlag={onlyFolderFlag}");
|
||
//OnRefresh();
|
||
if (res.code == 200)
|
||
{
|
||
|
||
return res.data;
|
||
}
|
||
else
|
||
{
|
||
return null;//ERROR INFO
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 查询所属系统树
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public async Task<ObservableCollection<TreeModel>> GetDrawingSystem()
|
||
{
|
||
var res = await this.GetAsync<ObservableCollection<TreeModel>>($"DrawingFileApi/GetDrawingCatalogueBySystem?projectId={GlobalObject.curProject.ProjectId}");
|
||
//OnRefresh();
|
||
if (res.code == 200)
|
||
{
|
||
|
||
return res.data;
|
||
}
|
||
else
|
||
{
|
||
return null;//ERROR INFO
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 根据ID获取DWG文件实体信息
|
||
/// </summary>
|
||
/// <param name="drawingFileID">图纸文件ID</param>
|
||
/// <returns></returns>
|
||
public async Task<ec_drawing_file> GetDrawingFile(string drawingFileID)
|
||
{
|
||
var url = $"DrawingFileApi/GetEntity?projectId={GlobalObject.curProject.ProjectId}&drawingFileID={drawingFileID}";
|
||
try
|
||
{
|
||
var res = await this.GetAsync<ec_drawing_file>(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;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 修改图纸信息
|
||
/// </summary>
|
||
/// <param name="dwgFile">图纸实体信息</param>
|
||
/// <returns></returns>
|
||
public async Task<string> UpdateDrawingFile(ec_drawing_file dwgFile)
|
||
{
|
||
try
|
||
{
|
||
string url = $"DrawingFileApi/EditDrawingFile?projectId={GlobalObject.curProject?.ProjectId}";
|
||
var res = await this.PostBodyAsync<object, ec_drawing_file>(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; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 图纸预检入
|
||
/// </summary>
|
||
/// <param name="dwgFile">图纸实体信息</param>
|
||
/// <returns></returns>
|
||
public async Task<string> PreCheckInDrawingFile(ec_drawing_file dwgFile, List<string> handles)
|
||
{
|
||
try
|
||
{
|
||
List<ec_enginedata_pixel> listItem = new List<ec_enginedata_pixel>();
|
||
|
||
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<object, List<ec_enginedata_pixel>>(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; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 图纸检入 第一步
|
||
/// </summary>
|
||
/// <param name="dwgFile">图纸实体信息</param>
|
||
/// <returns></returns>
|
||
public async Task<string> CheckInDrawingFileStep1(ec_drawing_file dwgFile, List<string> handles)
|
||
{
|
||
try
|
||
{
|
||
List<ec_enginedata_pixel> listItem = new List<ec_enginedata_pixel>();
|
||
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<object, List<ec_enginedata_pixel>>(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; }
|
||
}
|
||
/// <summary>
|
||
/// 图纸检入 第二步
|
||
/// </summary>
|
||
/// <param name="dwgFile">图纸实体信息</param>
|
||
/// <returns></returns>
|
||
public async Task<string> 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<object, ec_drawing_syn>(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; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 图纸检出
|
||
/// </summary>
|
||
/// <param name="drawingFileID">图纸ID</param>
|
||
/// <returns></returns>
|
||
public async Task<string> CheckOutDrawingFile(string drawingFileID)
|
||
{
|
||
try
|
||
{
|
||
string url = $"DrawingFileApi/CheckOutDrawingFile?projectId={GlobalObject.curProject?.ProjectId}&drawingFileID={drawingFileID}&PCInfo={GlobalObject.GetPCInfo()}";
|
||
var res = await this.PostBodyAsync<object, object>(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; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 图纸释放
|
||
/// </summary>
|
||
/// <param name="drawingFileID">图纸ID</param>
|
||
/// <returns></returns>
|
||
public async Task<string> FreeDrawingFile(string drawingFileID)
|
||
{
|
||
try
|
||
{
|
||
string url = $"DrawingFileApi/FreeDrawingFile?projectId={GlobalObject.curProject?.ProjectId}&drawingFileID={drawingFileID}";
|
||
var res = await this.PostBodyAsync<object, object>(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; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 图纸 发布
|
||
/// </summary>
|
||
/// <param name="drawingFileID">图纸ID</param>
|
||
/// <returns></returns>
|
||
public async Task<string> PublishDrawingFile(string drawingFileID, string remark)
|
||
{
|
||
try
|
||
{
|
||
string url = $"DrawingFileApi/PublishDrawingFile?projectId={GlobalObject.curProject?.ProjectId}&drawingFileID={drawingFileID}&remark={remark}";
|
||
var res = await this.PostBodyAsync<object, object>(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; }
|
||
}
|
||
/// <summary>
|
||
/// 图纸 修订
|
||
/// </summary>
|
||
/// <param name="drawingFileID">图纸ID</param>
|
||
/// <returns></returns>
|
||
public async Task<string> ModifyDrawingFile(string drawingFileID, string fileVersion)
|
||
{
|
||
try
|
||
{
|
||
string url = $"DrawingFileApi/ModifyDrawingFile?projectId={GlobalObject.curProject?.ProjectId}&drawingFileID={drawingFileID}&fileVersion={fileVersion}";
|
||
var res = await this.PostBodyAsync<object, object>(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; }
|
||
}
|
||
/// <summary>
|
||
/// 历史图纸
|
||
/// </summary>
|
||
/// <param name="drawingFileID">图纸ID</param>
|
||
/// <returns></returns>
|
||
public async Task<List<ec_drawing_publish>> GetPublishedDwg()
|
||
{
|
||
try
|
||
{
|
||
string url = $"DrawingFileApi/GetPublishedDwg?projectId={GlobalObject.curProject?.ProjectId}";
|
||
var res = await this.GetAsync<List<ec_drawing_publish>>(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; }
|
||
}
|
||
/// <summary>
|
||
/// 获取单个图纸的检入记录
|
||
/// </summary>
|
||
/// <param name="drawingFileID">图纸ID</param>
|
||
/// <returns></returns>
|
||
public async Task<List<ec_drawing_syn>> GetCheckInLog(string drawingFileID)
|
||
{
|
||
try
|
||
{
|
||
string url = $"DrawingFileApi/GetCheckInLog?projectId={GlobalObject.curProject?.ProjectId}&drawingFileID={drawingFileID}";
|
||
var res = await this.GetAsync<List<ec_drawing_syn>>(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;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取单个图纸的发布记录
|
||
/// </summary>
|
||
/// <param name="drawingFileID">图纸ID</param>
|
||
/// <returns></returns>
|
||
public async Task<List<ec_drawing_publish>> GetPublishLog(string drawingFileID)
|
||
{
|
||
try
|
||
{
|
||
string url = $"DrawingFileApi/GetPublishLog?projectId={GlobalObject.curProject?.ProjectId}&drawingFileID={drawingFileID}";
|
||
var res = await this.PostBodyAsync<List<ec_drawing_publish>,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;
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 获取单个图纸的操作记录
|
||
/// </summary>
|
||
/// <param name="drawingFileID">图纸ID</param>
|
||
/// <returns></returns>
|
||
public async Task<List<ec_operate_log>> GetOperateLog(string drawingFileID)
|
||
{
|
||
try
|
||
{
|
||
string url = $"DrawingFileApi/GetOperateLog?projectId={GlobalObject.curProject?.ProjectId}&drawingFileID={drawingFileID}";
|
||
var res = await this.PostBodyAsync<List<ec_operate_log>, 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;
|
||
}
|
||
}
|
||
}
|
||
}
|