442 lines
17 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}
}
}
}