对接IDP系统项目开车数据

This commit is contained in:
夏菊 2025-08-06 15:27:50 +08:00
parent 0a061ce206
commit 268c6b7a14
33 changed files with 6226 additions and 91 deletions

View File

@ -594,6 +594,7 @@
<Compile Include="HSSE\Technique\SpecialSchemeService.cs" />
<Compile Include="HSSE\Technique\Technique_CheckItemDetailService.cs" />
<Compile Include="HSSE\Technique\Technique_CheckItemSetService.cs" />
<Compile Include="IDP\IDPPreRunDataService.cs" />
<Compile Include="IDP\IDPDataService.cs" />
<Compile Include="JDGL\Check\ElectricalCompletionService.cs" />
<Compile Include="JDGL\Check\EquipmentCompletionService.cs" />

View File

@ -9,9 +9,11 @@ using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Net;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
@ -20,9 +22,9 @@ namespace BLL
/// </summary>
public static class IDPDataService
{
/// <summary>
/// 测试环境api地址
/// </summary>
///// <summary>
///// 测试环境api地址
///// </summary>
//private static readonly string IDPApiUrl = "http://10.5.6.151:8100/";
/// <summary>
/// 正式环境api地址
@ -32,70 +34,602 @@ namespace BLL
#region
#region
/// <summary>
/// 项目试车工作包
/// 项目试车工作包——管道一览表
/// </summary>
/// <param name="session">session</param>
/// <param name="projectId">项目Id</param>
/// <param name="startDate">获取指定时间之后到现在的异动数据</param>
public static void GetIDPProjectPreRunData(string projectId = "")
public static string GetIDPProjectPreRunDataPiping(SessionItem session, string projectId)
{
string mainProjectId = string.Empty;//五环主数据项目Id
string wbsCode = string.Empty;//五环主数据wbs编码
string workitemCode = string.Empty;//五环主数据文件类别码
if (!string.IsNullOrWhiteSpace(projectId))
string result = string.Empty;
if (string.IsNullOrWhiteSpace(projectId))
{
result = "请传项目Id";
}
else
{
var project = BLL.ProjectService.GetProjectByProjectId(projectId);
var mainProject = BLL.PMPDataService.GetPMPProjectByCode(project.ProjectCode);
if (mainProject != null)
{
mainProjectId = mainProject.Code;
}
}
var mainProjects = BLL.PMPDataService.GetPMPProjectListByCode(project.ProjectCode);
//https://idp.cwcec.com/OSS/projects/100168/wbs/040101/workitems/CP2100/objects/latest
//string url = $"{IDPApiUrl}/OSS/projects/{mainProjectId}/wbs/{wbsCode}/workitems/{workitemCode}/objects/latest";
string url = $"{IDPApiUrl}OSS/projects/100168/wbs/040101/workitems/CP2100/objects/latest";
List<string> idpPipingIds = IDPPreRunDataService.GetIDPPreRunDataPipingIds(projectId);
List<IDP_PreRunData_Piping> addItems = new List<IDP_PreRunData_Piping>();
List<IDP_PreRunData_Piping> modifyItems = new List<IDP_PreRunData_Piping>();
int all = 0;
foreach (var pro in mainProjects)
{
string url = $"{IDPApiUrl}OSS/projects/{pro.Code}/workitems/CP2600/objects/latest";
//string url = $"{IDPApiUrl}OSS/projects/100168/workitems/CP2600/objects/latest";
try
{
var session = GetAuthenticationSession();
ErrLogInfo.WriteLog($"Session——name{session.name}value{session.value}");
//var session = GetAuthenticationSession();
//ErrLogInfo.WriteLog($"Session——name{session.name}value{session.value}");
Hashtable newToken = new Hashtable { { "Cookie", $"{session.name}={session.value}" } };
var returndata = BLL.APIGetHttpService.OutsideHttp(url, "GET", null, newToken, null);
if (!string.IsNullOrEmpty(returndata))
{
IDPPreRunData responseData = IDPPreRunData.FromJson(returndata);
if (returndata.Contains("\"code\":404,\"message\":\"资源不存在\""))
{
result += $"失败!{returndata}|";
}
else if (returndata.Contains("\"status\":404,\"error\":\"Not Found\""))
{
result += $"失败!{returndata}|";
}
else
{
List<IDPPreRunPiping> responseDatas = IDPPreRunPiping.FromJson(returndata);
all += responseDatas.Count();
foreach (var item in responseDatas)
{
IDP_PreRunData_Piping newItem = new IDP_PreRunData_Piping();
newItem.ItemId = item.ItemId;
newItem.ProjId = pro.Code;//主数据项目Id
newItem.ProjCode = pro.StNum;//主数据项目Code
newItem.ProjectId = project.ProjectId;//智慧施工项目Id
newItem.LastTime = DateTime.Now;//入库时间
newItem.WbsCode = item.WbsCode;//装置工序主项码
newItem.DeviceCode = item.DeviceCode;//装置码
newItem.ProcessesCode = item.ProcessesCode;//工序码
newItem.SubjectCode = item.SubjectCode;//主项码
newItem.Category = item.Category;
newItem.Category = item.Category;
newItem.Tag = item.Tag;
newItem.PipingCode = item.PipingCode;
newItem.Diameter = item.Diameter;
newItem.DiameterUnit = item.DiameterUnit;
newItem.MaterialLevel = item.MaterialLevel;
newItem.AdiabatType = item.AdiabatType;
newItem.AdiabatThickness = item.AdiabatThickness;
newItem.AdiabatThicknessUnit = item.AdiabatThicknessUnit;
newItem.MediumState = item.MediumState;
newItem.DrawingStartNo = item.DrawingStartNo;
newItem.DrawingEndNo = item.DrawingEndNo;
newItem.PipingStart = item.PipingStart;
newItem.PipingEnd = item.PipingEnd;
newItem.PipingLevel = item.PipingLevel;
newItem.NormalTemperature = item.NormalTemperature;
newItem.NormalTemperatureUnit = item.NormalTemperatureUnit;
newItem.NormalPressure = item.NormalPressure;
newItem.NormalPressureUnit = item.NormalPressureUnit;
newItem.DesignTemperature = item.DesignTemperature;
newItem.DesignTemperatureUnit = item.DesignTemperatureUnit;
newItem.DesignPressure = item.DesignPressure;
newItem.DesignPressureUnit = item.DesignPressureUnit;
newItem.PaintLevel = item.PaintLevel;
newItem.Remark = item.Remark;
newItem.DetailInfo = JsonConvert.SerializeObject(item, Formatting.Indented);
if (!string.IsNullOrWhiteSpace(item.ItemId) && idpPipingIds.Contains(item.ItemId))
{//编辑
modifyItems.Add(newItem);
}
else
{//新增
addItems.Add(newItem);
idpPipingIds.Add(item.ItemId);
}
}
}
}
else
{
result = "失败!";
}
}
catch (WebException ex)
{
result = $"程序异常:{ex.Message}";
}
}
if (addItems.Any()) { AddIDPPreRunPiping(addItems); }
if (modifyItems.Any()) { ModifyIDPPreRunPiping(modifyItems); }
result = $"成功!总数:{all}条;新增:{addItems.Count()}条,维护:{(all - addItems.Count())}条";
}
finally
return result;
}
/// <summary>
/// 批量插入数据
/// </summary>
/// <param name="list"></param>
public static void AddIDPPreRunPiping(List<Model.IDP_PreRunData_Piping> list)
{
Model.SGGLDB db = Funs.DB;
db.IDP_PreRunData_Piping.InsertAllOnSubmit(list);
db.SubmitChanges();
}
/// <summary>
/// 更新数据
/// </summary>
/// <param name="list"></param>
public static void ModifyIDPPreRunPiping(List<Model.IDP_PreRunData_Piping> list)
{
Model.SGGLDB db = Funs.DB;
foreach (var obj in list)
{
IDP_PreRunData_Piping newItem = db.IDP_PreRunData_Piping.FirstOrDefault(x => x.ItemId == obj.ItemId);
if (newItem != null)
{
newItem.ProjId = obj.ProjId;//主数据项目Id
newItem.ProjCode = obj.ProjCode;//主数据项目Code
newItem.ProjectId = obj.ProjectId;//智慧施工项目Id
newItem.LastTime = DateTime.Now;//入库时间
newItem.WbsCode = obj.WbsCode;//装置工序主项码
newItem.DeviceCode = obj.DeviceCode;//装置码
newItem.ProcessesCode = obj.ProcessesCode;//工序码
newItem.SubjectCode = obj.SubjectCode;//主项码
newItem.Category = obj.Category;
newItem.Tag = obj.Tag;
newItem.PipingCode = obj.PipingCode;
newItem.Diameter = obj.Diameter;
newItem.DiameterUnit = obj.DiameterUnit;
newItem.MaterialLevel = obj.MaterialLevel;
newItem.AdiabatType = obj.AdiabatType;
newItem.AdiabatThickness = obj.AdiabatThickness;
newItem.AdiabatThicknessUnit = obj.AdiabatThicknessUnit;
newItem.MediumState = obj.MediumState;
newItem.DrawingStartNo = obj.DrawingStartNo;
newItem.DrawingEndNo = obj.DrawingEndNo;
newItem.PipingStart = obj.PipingStart;
newItem.PipingEnd = obj.PipingEnd;
newItem.PipingLevel = obj.PipingLevel;
newItem.NormalTemperature = obj.NormalTemperature;
newItem.NormalTemperatureUnit = obj.NormalTemperatureUnit;
newItem.NormalPressure = obj.NormalPressure;
newItem.NormalPressureUnit = obj.NormalPressureUnit;
newItem.DesignTemperature = obj.DesignTemperature;
newItem.DesignTemperatureUnit = obj.DesignTemperatureUnit;
newItem.DesignPressure = obj.DesignPressure;
newItem.DesignPressureUnit = obj.DesignPressureUnit;
newItem.PaintLevel = obj.PaintLevel;
newItem.Remark = obj.Remark;
newItem.DetailInfo = obj.DetailInfo;
db.SubmitChanges();
}
}
}
#endregion
//public static void AddPMP_Project(List<Model.PMP_Project> newtables)
//{
// Model.SGGLDB db = Funs.DB;
// db.PMP_Project.InsertAllOnSubmit(newtables);
// db.SubmitChanges();
//}
#region
//public static void DeleteAllPMP_Project()
//{
// Model.SGGLDB db = Funs.DB;
// if (db.PMP_Project.FirstOrDefault() != null)
// {
// db.PMP_Project.DeleteAllOnSubmit(db.PMP_Project);
// db.SubmitChanges();
// }
//}
/// <summary>
/// 项目试车工作包——设备一览表
/// </summary>
/// <param name="session"></param>
/// <param name="projectId"></param>
public static string GetIDPProjectPreRunDataEquipment(SessionItem session, string projectId)
{
string result = string.Empty;
if (string.IsNullOrWhiteSpace(projectId))
{
result = "请传项目Id";
}
else
{
var project = BLL.ProjectService.GetProjectByProjectId(projectId);
var mainProjects = BLL.PMPDataService.GetPMPProjectListByCode(project.ProjectCode);
List<string> idpEquipmentIds = IDPPreRunDataService.GetIDPPreRunDataEquipmentIds(projectId);
List<IDP_PreRunData_Equipment> addItems = new List<IDP_PreRunData_Equipment>();
List<IDP_PreRunData_Equipment> modifyItems = new List<IDP_PreRunData_Equipment>();
int all = 0;
foreach (var pro in mainProjects)
{
string url = $"{IDPApiUrl}OSS/projects/{pro.Code}/workitems/CP2100/objects/latest";
//string url = $"{IDPApiUrl}OSS/projects/100168/workitems/CP2100/objects/latest";
try
{
Hashtable newToken = new Hashtable { { "Cookie", $"{session.name}={session.value}" } };
var returndata = BLL.APIGetHttpService.OutsideHttp(url, "GET", null, newToken, null);
if (!string.IsNullOrEmpty(returndata))
{
if (returndata.Contains("\"code\":404,\"message\":\"资源不存在\""))
{
result += $"失败!{returndata}|";
}
else if (returndata.Contains("\"status\":404,\"error\":\"Not Found\""))
{
result += $"失败!{returndata}|";
}
else
{
List<IDPPreRunEquipment> responseDatas = IDPPreRunEquipment.FromJson(returndata);
all += responseDatas.Count();
foreach (var item in responseDatas)
{
Type type = typeof(IDPPreRunEquipment);
IDP_PreRunData_Equipment newItem = new IDP_PreRunData_Equipment();
newItem.ItemId = item.ItemId;
newItem.ProjId = pro.Code;//主数据项目Id
newItem.ProjCode = pro.StNum;//主数据项目Code
newItem.ProjectId = project.ProjectId;//智慧施工项目Id
newItem.LastTime = DateTime.Now;//入库时间
newItem.WbsCode = item.WbsCode;//装置工序主项码
newItem.DeviceCode = item.DeviceCode;//装置码
newItem.ProcessesCode = item.ProcessesCode;//工序码
newItem.SubjectCode = item.SubjectCode;//主项码
newItem.Category = item.Category;
newItem.Tag = item.Tag;
newItem.TagNumber = item.TagNumber;
string nameSpecifications = !string.IsNullOrWhiteSpace(item.NameSpecifications)? $"{item.NameSpecifications}。":string.Empty;
if (!string.IsNullOrWhiteSpace(item.DrivingType))
{
nameSpecifications = $"{nameSpecifications} {type.GetProperty("DrivingType").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.DrivingType}";
}
if (!string.IsNullOrWhiteSpace(item.EquipmentType))
{
nameSpecifications = $"{nameSpecifications} {type.GetProperty("EquipmentType").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.EquipmentType}";
}
if (!string.IsNullOrWhiteSpace(item.EquipmentTypeModel))
{
nameSpecifications = $"{nameSpecifications} {type.GetProperty("EquipmentTypeModel").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.EquipmentTypeModel}";
}
if (!string.IsNullOrWhiteSpace(item.EquipmentForm))
{
nameSpecifications = $"{nameSpecifications} {type.GetProperty("EquipmentForm").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.EquipmentForm}";
}
if (!string.IsNullOrWhiteSpace(item.MPaG))
{
nameSpecifications = $"{nameSpecifications} {type.GetProperty("MPaG").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.MPaG} {item.MPaGUnit}";
}
if (!string.IsNullOrWhiteSpace(item.KPa))
{
nameSpecifications = $"{nameSpecifications} {type.GetProperty("KPa").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.KPa} {item.KPaUnit}";
}
if (!string.IsNullOrWhiteSpace(item.DimensionsID))
{
nameSpecifications = $"{nameSpecifications} {type.GetProperty("DimensionsID").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.DimensionsID} {item.DimensionsIDUnit}";
}
if (!string.IsNullOrWhiteSpace(item.DimensionsHTT))
{
nameSpecifications = $"{nameSpecifications} {type.GetProperty("DimensionsHTT").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.DimensionsHTT} {item.DimensionsHTTUnit}";
}
if (!string.IsNullOrWhiteSpace(item.DesignFlow))
{
nameSpecifications = $"{nameSpecifications} {type.GetProperty("DesignFlow").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.DesignFlow} {item.DesignFlowUnit}";
}
if (!string.IsNullOrWhiteSpace(item.ShaftPower))
{
nameSpecifications = $"{nameSpecifications} {type.GetProperty("ShaftPower").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.ShaftPower} {item.ShaftPowerUnit}";
}
if (!string.IsNullOrWhiteSpace(item.RatedPower))
{
nameSpecifications = $"{nameSpecifications} {type.GetProperty("RatedPower").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.RatedPower} {item.RatedPowerUnit}";
}
string materials = string.Empty;
if (!string.IsNullOrWhiteSpace(item.Materials))
{
materials = $"{type.GetProperty("Materials").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.Materials}";
}
if (!string.IsNullOrWhiteSpace(item.ImpellerMaterial))
{
materials = $"{materials} {type.GetProperty("ImpellerMaterial").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.ImpellerMaterial}";
}
if (!string.IsNullOrWhiteSpace(item.ShellMaterial))
{
materials = $"{materials} {type.GetProperty("ShellMaterial").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.ShellMaterial}";
}
if (!string.IsNullOrWhiteSpace(item.CylinderMaterial))
{
materials = $"{materials} {type.GetProperty("CylinderMaterial").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.CylinderMaterial}";
}
if (!string.IsNullOrWhiteSpace(item.TrayMaterial))
{
materials = $"{materials} {type.GetProperty("TrayMaterial").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.TrayMaterial}";
}
if (!string.IsNullOrWhiteSpace(item.PackingMaterial))
{
materials = $"{materials} {type.GetProperty("PackingMaterial").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.PackingMaterial}";
}
if (!string.IsNullOrWhiteSpace(item.PlateMaterial))
{
materials = $"{materials} {type.GetProperty("PlateMaterial").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.PlateMaterial}";
}
if (!string.IsNullOrWhiteSpace(item.TrimMaterial))
{
materials = $"{materials} {type.GetProperty("TrimMaterial").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.TrimMaterial}";
}
if (!string.IsNullOrWhiteSpace(item.CoilMaterial))
{
materials = $"{materials} {type.GetProperty("CoilMaterial").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.CoilMaterial}";
}
if (!string.IsNullOrWhiteSpace(item.PreheaterMaterial))
{
materials = $"{materials} {type.GetProperty("PreheaterMaterial").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}{item.PreheaterMaterial}";
}
newItem.NameSpecifications = nameSpecifications;
newItem.Materials = materials;
newItem.NumOperate = item.DeviceNum;
newItem.WeightSingle = item.WeightSingle;
newItem.WeightSingleUnit = item.WeightSingleUnit;
newItem.Remark = item.Remark;
newItem.DetailInfo = JsonConvert.SerializeObject(item, Formatting.Indented);
if (!string.IsNullOrWhiteSpace(item.ItemId) && idpEquipmentIds.Contains(item.ItemId))
{//编辑
modifyItems.Add(newItem);
}
else
{//新增
addItems.Add(newItem);
idpEquipmentIds.Add(item.ItemId);
}
}
}
}
else
{
result = "失败!";
}
}
catch (WebException ex)
{
result = $"程序异常:{ex.Message}";
}
}
if (addItems.Any()) { AddIDPPreRunEquipment(addItems); }
if (modifyItems.Any()) { ModifyIDPPreRunEquipment(modifyItems); }
result = $"成功!总数:{all}条;新增:{addItems.Count()}条,维护:{(all - addItems.Count())}条";
}
return result;
}
/// <summary>
/// 批量插入数据
/// </summary>
/// <param name="list"></param>
public static void AddIDPPreRunEquipment(List<Model.IDP_PreRunData_Equipment> list)
{
Model.SGGLDB db = Funs.DB;
db.IDP_PreRunData_Equipment.InsertAllOnSubmit(list);
db.SubmitChanges();
}
/// <summary>
/// 更新数据
/// </summary>
/// <param name="list"></param>
public static void ModifyIDPPreRunEquipment(List<Model.IDP_PreRunData_Equipment> list)
{
Model.SGGLDB db = Funs.DB;
foreach (var obj in list)
{
IDP_PreRunData_Equipment newItem = db.IDP_PreRunData_Equipment.FirstOrDefault(x => x.ItemId == obj.ItemId);
if (newItem != null)
{
newItem.ProjId = obj.ProjId;//主数据项目Id
newItem.ProjCode = obj.ProjCode;//主数据项目Code
newItem.ProjectId = obj.ProjectId;//智慧施工项目Id
newItem.LastTime = DateTime.Now;//入库时间
newItem.WbsCode = obj.WbsCode;//装置工序主项码
newItem.DeviceCode = obj.DeviceCode;//装置码
newItem.ProcessesCode = obj.ProcessesCode;//工序码
newItem.SubjectCode = obj.SubjectCode;//主项码
newItem.Category = obj.Category;
newItem.Tag = obj.Tag;
newItem.TagNumber = obj.TagNumber;
newItem.NameSpecifications = obj.NameSpecifications;
newItem.Materials = obj.Materials;
newItem.WeightSingle = obj.WeightSingle;
newItem.WeightSingleUnit = obj.WeightSingleUnit;
newItem.Remark = obj.Remark;
newItem.DetailInfo = obj.DetailInfo;
db.SubmitChanges();
}
}
}
#endregion
#region
/// <summary>
/// 项目试车工作包——仪表索引
/// </summary>
/// <param name="session"></param>
/// <param name="projectId"></param>
public static string GetIDPProjectPreRunDataInstrumentation(SessionItem session, string projectId)
{
string result = string.Empty;
if (string.IsNullOrWhiteSpace(projectId))
{
result = "请传项目Id";
}
else
{
var project = BLL.ProjectService.GetProjectByProjectId(projectId);
var mainProjects = BLL.PMPDataService.GetPMPProjectListByCode(project.ProjectCode);
List<string> idpInstrumentationIds = IDPPreRunDataService.GetIDPPreRunDataInstrumentationIds(projectId);
List<IDP_PreRunData_Instrumentation> addItems = new List<IDP_PreRunData_Instrumentation>();
List<IDP_PreRunData_Instrumentation> modifyItems = new List<IDP_PreRunData_Instrumentation>();
int all = 0;
foreach (var pro in mainProjects)
{
string urlCP7601 = $"{IDPApiUrl}OSS/projects/{pro.Code}/workitems/CP7601/objects/latest";
string urlCP7603 = $"{IDPApiUrl}OSS/projects/{pro.Code}/workitems/CP7603/objects/latest";
//string url = $"{IDPApiUrl}OSS/projects/{pro.Code}/workitems/IN1000/objects/latest";
//string url = $"{IDPApiUrl}OSS/projects/100168/workitems/IN1000/objects/latest";
//string urlCP7601 = $"{IDPApiUrl}OSS/projects/100168/workitems/CP7601/objects/latest";
//string urlCP7603 = $"{IDPApiUrl}OSS/projects/100168/workitems/CP7603/objects/latest";
try
{
Hashtable newToken = new Hashtable { { "Cookie", $"{session.name}={session.value}" } };
var returndataCP7601 = BLL.APIGetHttpService.OutsideHttp(urlCP7601, "GET", null, newToken, null);
var returndataCP7603 = BLL.APIGetHttpService.OutsideHttp(urlCP7603, "GET", null, newToken, null);
List<IDPPreRunInstrumentation> results = new List<IDPPreRunInstrumentation>();
if (!string.IsNullOrEmpty(returndataCP7601))
{
if (returndataCP7601.Contains("\"code\":404,\"message\":\"资源不存在\""))
{
result += $"失败!{returndataCP7601}|";
}
else if (returndataCP7601.Contains("\"status\":404,\"error\":\"Not Found\""))
{
result += $"失败!{returndataCP7601}|";
}
else
{
List<IDPPreRunInstrumentation> responseDatas = IDPPreRunInstrumentation.FromJson(returndataCP7601);
results.AddRange(responseDatas);
}
}
if (!string.IsNullOrEmpty(returndataCP7603))
{
if (returndataCP7603.Contains("\"code\":404,\"message\":\"资源不存在\""))
{
result += $"失败!{returndataCP7603}|";
}
else if (returndataCP7603.Contains("\"status\":404,\"error\":\"Not Found\""))
{
result += $"失败!{returndataCP7603}|";
}
else
{
List<IDPPreRunInstrumentation> responseDatas = IDPPreRunInstrumentation.FromJson(returndataCP7603);
results.AddRange(responseDatas);
}
}
if (results.Any())
{
all += results.Count();
foreach (var item in results)
{
Type type = typeof(IDPPreRunInstrumentation);
IDP_PreRunData_Instrumentation newItem = new IDP_PreRunData_Instrumentation();
newItem.ItemId = item.ItemId;
newItem.ProjId = pro.Code;//主数据项目Id
newItem.ProjCode = pro.StNum;//主数据项目Code
newItem.ProjectId = project.ProjectId;//智慧施工项目Id
newItem.LastTime = DateTime.Now;//入库时间
newItem.WbsCode = item.WbsCode;//装置工序主项码
newItem.DeviceCode = item.DeviceCode;//装置码
newItem.ProcessesCode = item.ProcessesCode;//工序码
newItem.SubjectCode = item.SubjectCode;//主项码
newItem.Category = item.Category;
newItem.Tag = item.Tag;
newItem.InstrumentTag = item.InstrumentTag;
newItem.UseTo = item.UseTo;
newItem.InstrumentName = item.InstrumentName;
newItem.Supplier = item.Supplier;
newItem.InstallationPosition = item.InstallationPosition;
newItem.SignalType = item.SignalType;
newItem.AssociatedSystem = item.AssociatedSystem;
newItem.Cp25 = item.Cp25;
newItem.In11 = item.In11;
newItem.In40 = item.In40;
newItem.Remark = item.Remark;
newItem.DetailInfo = JsonConvert.SerializeObject(item, Formatting.Indented);
if (!string.IsNullOrWhiteSpace(item.ItemId) && idpInstrumentationIds.Contains(item.ItemId))
{//编辑
modifyItems.Add(newItem);
}
else
{//新增
addItems.Add(newItem);
idpInstrumentationIds.Add(item.ItemId);
}
}
}
}
catch (WebException ex)
{
result = $"程序异常:{ex.Message}";
}
}
if (addItems.Any()) { AddIDPPreRunInstrumentation(addItems); }
if (modifyItems.Any()) { ModifyIDPPreRunInstrumentation(modifyItems); }
result = $"成功!总数:{all}条;新增:{addItems.Count()}条,维护:{(all - addItems.Count())}条";
}
return result;
}
/// <summary>
/// 批量插入数据
/// </summary>
/// <param name="list"></param>
public static void AddIDPPreRunInstrumentation(List<Model.IDP_PreRunData_Instrumentation> list)
{
Model.SGGLDB db = Funs.DB;
db.IDP_PreRunData_Instrumentation.InsertAllOnSubmit(list);
db.SubmitChanges();
}
/// <summary>
/// 更新数据
/// </summary>
/// <param name="list"></param>
public static void ModifyIDPPreRunInstrumentation(List<Model.IDP_PreRunData_Instrumentation> list)
{
Model.SGGLDB db = Funs.DB;
foreach (var obj in list)
{
IDP_PreRunData_Instrumentation newItem = db.IDP_PreRunData_Instrumentation.FirstOrDefault(x => x.ItemId == obj.ItemId);
if (newItem != null)
{
newItem.ProjId = obj.ProjId;//主数据项目Id
newItem.ProjCode = obj.ProjCode;//主数据项目Code
newItem.ProjectId = obj.ProjectId;//智慧施工项目Id
newItem.LastTime = DateTime.Now;//入库时间
newItem.WbsCode = obj.WbsCode;//装置工序主项码
newItem.DeviceCode = obj.DeviceCode;//装置码
newItem.ProcessesCode = obj.ProcessesCode;//工序码
newItem.SubjectCode = obj.SubjectCode;//主项码
newItem.Category = obj.Category;
newItem.Tag = obj.Tag;
newItem.InstrumentTag = obj.InstrumentTag;
newItem.UseTo = obj.UseTo;
newItem.InstrumentName = obj.InstrumentName;
newItem.Supplier = obj.Supplier;
newItem.InstallationPosition = obj.InstallationPosition;
newItem.SignalType = obj.SignalType;
newItem.AssociatedSystem = obj.AssociatedSystem;
newItem.Cp25 = obj.Cp25;
newItem.In11 = obj.In11;
newItem.In40 = obj.In40;
newItem.Remark = obj.Remark;
newItem.DetailInfo = obj.DetailInfo;
db.SubmitChanges();
}
}
}
#endregion
#endregion
@ -650,7 +1184,7 @@ namespace BLL
#endregion
#region
#region IDP平台接口授权认
/// <summary>
/// 加密公钥

View File

@ -0,0 +1,94 @@
using System.Collections.Generic;
using System.Linq;
namespace BLL
{
/// <summary>
/// IDP平台试车数据服务
/// </summary>
public static class IDPPreRunDataService
{
#region
/// <summary>
/// 获取明细
/// </summary>
/// <param name="ItemId"></param>
/// <returns></returns>
public static Model.IDP_PreRunData_Piping GetPipingById(string ItemId)
{
return Funs.DB.IDP_PreRunData_Piping.FirstOrDefault(x => x.ItemId == ItemId);
}
/// <summary>
/// 获取IDP试车管道一览表
/// </summary>
/// <param name="projectId"></param>
/// <returns></returns>
public static List<Model.IDP_PreRunData_Piping> GetIDPPreRunDataPipingList(string projectId)
{
var list = (from x in Funs.DB.IDP_PreRunData_Piping where x.ProjectId == projectId orderby x.ProjCode select x).ToList();
return list;
}
/// <summary>
/// 获取IDP试车管道一览表Ids
/// </summary>
/// <param name="projectId"></param>
/// <returns></returns>
public static List<string> GetIDPPreRunDataPipingIds(string projectId)
{
return (from x in Funs.DB.IDP_PreRunData_Piping where x.ProjectId == projectId select x.ItemId).ToList();
}
#endregion
#region
/// <summary>
/// 获取明细
/// </summary>
/// <param name="ItemId"></param>
/// <returns></returns>
public static Model.IDP_PreRunData_Equipment GetEquipmentById(string ItemId)
{
return Funs.DB.IDP_PreRunData_Equipment.FirstOrDefault(x => x.ItemId == ItemId);
}
/// <summary>
/// 获取IDP试车管道一览表Ids
/// </summary>
/// <param name="projectId"></param>
/// <returns></returns>
public static List<string> GetIDPPreRunDataEquipmentIds(string projectId)
{
return (from x in Funs.DB.IDP_PreRunData_Equipment where x.ProjectId == projectId select x.ItemId).ToList();
}
#endregion
#region
/// <summary>
/// 获取明细
/// </summary>
/// <param name="ItemId"></param>
/// <returns></returns>
public static Model.IDP_PreRunData_Instrumentation GetInstrumentationById(string ItemId)
{
return Funs.DB.IDP_PreRunData_Instrumentation.FirstOrDefault(x => x.ItemId == ItemId);
}
/// <summary>
/// 获取IDP试车管道一览表Ids
/// </summary>
/// <param name="projectId"></param>
/// <returns></returns>
public static List<string> GetIDPPreRunDataInstrumentationIds(string projectId)
{
return (from x in Funs.DB.IDP_PreRunData_Instrumentation where x.ProjectId == projectId select x.ItemId).ToList();
}
#endregion
}
}

View File

@ -26,6 +26,17 @@ namespace BLL
return Funs.DB.PMP_Project.OrderBy(x => x.RealEndDate).FirstOrDefault(e => e.StNum == proCode);
}
/// <summary>
/// 根据主项目code获取主项目数据
/// </summary>
/// <param name="proCode"></param>
/// <returns></returns>
public static List<Model.PMP_Project> GetPMPProjectListByCode(string proCode)
{
var list = (from x in Funs.DB.PMP_Project where x.StNum == proCode orderby x.Code select x).ToList();
return list;
}
/// <summary>
/// 获取token
/// </summary>

File diff suppressed because one or more lines are too long

View File

@ -1925,6 +1925,7 @@
<Content Include="TestRun\BeforeTestRun\FourDecisionProposerHandleEdit.aspx" />
<Content Include="TestRun\BeforeTestRun\FourDecisionResponsibilityConfirm.aspx" />
<Content Include="TestRun\BeforeTestRun\FourDecisionResponsibilityConfirmEdit.aspx" />
<Content Include="TestRun\BeforeTestRun\IDPPreRunDataDetail.aspx" />
<Content Include="TestRun\BeforeTestRun\InspectTailTermEdit.aspx" />
<Content Include="TestRun\BeforeTestRun\InspectTailTermList.aspx" />
<Content Include="TestRun\BeforeTestRun\InspectTemplate.aspx" />
@ -1933,7 +1934,10 @@
<Content Include="TestRun\BeforeTestRun\InspectWanderAboutAllPassList.aspx" />
<Content Include="TestRun\BeforeTestRun\InspectWanderAboutConfirm.aspx" />
<Content Include="TestRun\BeforeTestRun\InspectWanderAboutList.aspx" />
<Content Include="TestRun\BeforeTestRun\SelectIDPEquipment.aspx" />
<Content Include="TestRun\BeforeTestRun\SelectIDPInstrumentation.aspx" />
<Content Include="TestRun\BeforeTestRun\SelectInstrument.aspx" />
<Content Include="TestRun\BeforeTestRun\SelectIDPPiping.aspx" />
<Content Include="TestRun\BeforeTestRun\SelectProperty.aspx" />
<Content Include="TestRun\BeforeTestRun\SelectTailTermList.aspx" />
<Content Include="TestRun\BeforeTestRun\SelectTechnology.aspx" />
@ -1945,6 +1949,7 @@
<Content Include="TestRun\BeforeTestRun\SubThreeChecksFourDecisionEdit.aspx" />
<Content Include="TestRun\BeforeTestRun\SubThreeChecksFourDecisionList.aspx" />
<Content Include="TestRun\BeforeTestRun\SubWorkInspect.aspx" />
<Content Include="TestRun\BeforeTestRun\IDPPreRunData.aspx" />
<Content Include="TestRun\BeforeTestRun\SysPipingDeviceImport.aspx" />
<Content Include="TestRun\BeforeTestRun\TailTermApprove.aspx" />
<Content Include="TestRun\BeforeTestRun\TailTermApproveList.aspx" />
@ -16752,6 +16757,13 @@
<Compile Include="TestRun\BeforeTestRun\FourDecisionResponsibilityConfirmEdit.aspx.designer.cs">
<DependentUpon>FourDecisionResponsibilityConfirmEdit.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\BeforeTestRun\IDPPreRunDataDetail.aspx.cs">
<DependentUpon>IDPPreRunDataDetail.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\BeforeTestRun\IDPPreRunDataDetail.aspx.designer.cs">
<DependentUpon>IDPPreRunDataDetail.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\BeforeTestRun\InspectTailTermEdit.aspx.cs">
<DependentUpon>InspectTailTermEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -16808,6 +16820,20 @@
<Compile Include="TestRun\BeforeTestRun\InspectWanderAboutList.aspx.designer.cs">
<DependentUpon>InspectWanderAboutList.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\BeforeTestRun\SelectIDPEquipment.aspx.cs">
<DependentUpon>SelectIDPEquipment.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\BeforeTestRun\SelectIDPEquipment.aspx.designer.cs">
<DependentUpon>SelectIDPEquipment.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\BeforeTestRun\SelectIDPInstrumentation.aspx.cs">
<DependentUpon>SelectIDPInstrumentation.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\BeforeTestRun\SelectIDPInstrumentation.aspx.designer.cs">
<DependentUpon>SelectIDPInstrumentation.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\BeforeTestRun\SelectInstrument.aspx.cs">
<DependentUpon>SelectInstrument.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -16815,6 +16841,13 @@
<Compile Include="TestRun\BeforeTestRun\SelectInstrument.aspx.designer.cs">
<DependentUpon>SelectInstrument.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\BeforeTestRun\SelectIDPPiping.aspx.cs">
<DependentUpon>SelectIDPPiping.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\BeforeTestRun\SelectIDPPiping.aspx.designer.cs">
<DependentUpon>SelectIDPPiping.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\BeforeTestRun\SelectProperty.aspx.cs">
<DependentUpon>SelectProperty.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -16892,6 +16925,13 @@
<Compile Include="TestRun\BeforeTestRun\SubWorkInspect.aspx.designer.cs">
<DependentUpon>SubWorkInspect.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\BeforeTestRun\IDPPreRunData.aspx.cs">
<DependentUpon>IDPPreRunData.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\BeforeTestRun\IDPPreRunData.aspx.designer.cs">
<DependentUpon>IDPPreRunData.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\BeforeTestRun\SysPipingDeviceImport.aspx.cs">
<DependentUpon>SysPipingDeviceImport.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>

View File

@ -0,0 +1,369 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="IDPPreRunData.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.IDPPreRunData" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>子系统工作包管理</title>
<style>
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:TabStrip ID="TabStrip1" CssClass="f-tabstrip-theme-simple" ShowBorder="true" AutoScroll="true" AutoPostBack="true"
TabPosition="Top" MarginBottom="30px" EnableTabCloseMenu="false" runat="server" OnTabIndexChanged="TabStrip1_TabIndexChanged"
ActiveTabIndex="0">
<Tabs>
<f:Tab Title="管道一览表" BodyPadding="10px" Layout="Fit" runat="server">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="管道一览表" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="ItemId" DataIDField="ItemId" AllowSorting="true"
SortField="WbsCode,PipingCode" SortDirection="ASC" OnSort="Grid1_Sort" EnableColumnLines="true" AllowPaging="true"
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid1_PageIndexChange"
EnableTextSelection="True" OnRowCommand="PipingGrid_RowCommand" AllowColumnLocking="true">
<Toolbars>
<f:Toolbar ID="Toolbar1" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill" runat="server"></f:ToolbarFill>
<f:Button ID="btnGetIDPData" Text="获取更新" ToolTip="获取更新" Icon="TableSave" runat="server" OnClick="btnGetIDPData_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="50px" HeaderTextAlign="Center" TextAlign="Center" />
<f:GroupField HeaderText="装置工序主项" TextAlign="Center" EnableLock="true" Locked="true">
<Columns>
<f:RenderField HeaderText="装置工序主项码" ColumnID="WbsCode" DataField="WbsCode" SortField="WbsCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="装置码" ColumnID="DeviceCode" DataField="DeviceCode" SortField="DeviceCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="90px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="工序码" ColumnID="ProcessesCode" DataField="ProcessesCode" SortField="ProcessesCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="90px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="主项码" ColumnID="SubjectCode" DataField="SubjectCode" SortField="SubjectCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="90px" EnableLock="true" Locked="true">
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="管道号" ColumnID="PipingCode" DataField="PipingCode" SortField="PipingCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="120px" EnableLock="true" Locked="true">
</f:RenderField>
<f:GroupField HeaderText="管道说明" TextAlign="Center">
<Columns>
<f:GroupField HeaderText="公称" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="直径" ColumnID="Diameter" DataField="Diameter" HtmlEncode="false"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="管道材料等级" ColumnID="MaterialLevel" DataField="MaterialLevel"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:GroupField HeaderText="绝热伴热" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="类型" ColumnID="AdiabatType" DataField="AdiabatType"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="厚度mm" ColumnID="AdiabatThickness" DataField="AdiabatThickness"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="介质" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="相态" ColumnID="MediumState" DataField="MediumState"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="P&ID图号" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="起点" ColumnID="DrawingStartNo" DataField="DrawingStartNo"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="止点" ColumnID="DrawingEndNo" DataField="DrawingEndNo"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="管道起止点" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="起点" ColumnID="PipingStart" DataField="PipingStart"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="止点" ColumnID="PipingEnd" DataField="PipingEnd"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="压力" TextAlign="Center">
<Columns>
<f:GroupField HeaderText="管道" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="级别" ColumnID="PipingLevel" DataField="PipingLevel"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="正常条件" TextAlign="Center">
<Columns>
<f:GroupField HeaderText="温度" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="℃" ColumnID="NormalTemperature" DataField="NormalTemperature"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="压力" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="MPaG" ColumnID="NormalPressure" DataField="NormalPressure"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="设计条件" TextAlign="Center">
<Columns>
<f:GroupField HeaderText="温度" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="℃" ColumnID="DesignTemperature" DataField="DesignTemperature"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="压力" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="MPaG" ColumnID="DesignPressure" DataField="DesignPressure"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="涂漆等级" ColumnID="PaintLevel" DataField="PaintLevel"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="备注" ColumnID="Remark" DataField="Remark"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="150px">
</f:RenderField>
<f:LinkButtonField Width="100px" ConfirmTarget="Top" Text="查看明细" CommandName="Detail" />
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Tab>
<f:Tab Title="设备一览表" BodyPadding="10px" Layout="Fit" runat="server">
<Items>
<f:Grid ID="Grid2" ShowBorder="true" ShowHeader="false" Title="设备一览表" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="ItemId" DataIDField="ItemId" AllowSorting="true"
SortField="WbsCode,TagNumber" SortDirection="ASC" OnSort="Grid2_Sort" EnableColumnLines="true" AllowPaging="true"
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid2_PageIndexChange"
EnableTextSelection="True" OnRowCommand="EquipmentGrid_RowCommand" AllowColumnLocking="true">
<Toolbars>
<f:Toolbar ID="Toolbar2" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill2" runat="server"></f:ToolbarFill>
<f:Button ID="btnGetIDPData2" Text="获取更新" ToolTip="获取更新" Icon="TableSave" runat="server" OnClick="btnGetIDPData2_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="50px" HeaderTextAlign="Center" TextAlign="Center" />
<f:GroupField HeaderText="装置工序主项" TextAlign="Center" EnableLock="true" Locked="true">
<Columns>
<f:RenderField HeaderText="装置工序主项码" ColumnID="WbsCode" DataField="WbsCode" SortField="WbsCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="装置码" ColumnID="DeviceCode" DataField="DeviceCode" SortField="DeviceCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="90px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="工序码" ColumnID="ProcessesCode" DataField="ProcessesCode" SortField="ProcessesCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="90px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="主项码" ColumnID="SubjectCode" DataField="SubjectCode" SortField="SubjectCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="90px" EnableLock="true" Locked="true">
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="设备位号" ColumnID="TagNumber" DataField="TagNumber" SortField="TagNumber"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="设备名称和规格" ColumnID="NameSpecifications" DataField="NameSpecifications"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="350px">
</f:RenderField>
<f:RenderField HeaderText="图号或型号" ColumnID="DrawingNo" DataField="DrawingNo"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="制造材料" ColumnID="Materials" DataField="Materials"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="220px">
</f:RenderField>
<f:GroupField HeaderText="数量" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="操作" ColumnID="NumOperate" DataField="NumOperate" SortField="NumOperate"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="备用" ColumnID="NumStandby" DataField="NumStandby" SortField="NumStandby"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="重量kg" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="单重" ColumnID="WeightSingle" DataField="WeightSingle" SortField="WeightSingle"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="总重" ColumnID="WeightTotal" DataField="WeightTotal" SortField="WeightTotal"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="备注" ColumnID="Remark" DataField="Remark"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="180px">
</f:RenderField>
<f:LinkButtonField Width="100px" ConfirmTarget="Top" Text="查看明细" CommandName="Detail" />
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator2" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText2" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize2" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize2_SelectedIndexChanged">
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Tab>
<f:Tab Title="仪表索引" BodyPadding="10px" Layout="Fit" runat="server">
<Items>
<f:Grid ID="Grid3" ShowBorder="true" ShowHeader="false" Title="仪表索引" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="ItemId" DataIDField="ItemId" AllowSorting="true" MarginRight="15px"
SortField="InstrumentTag" SortDirection="ASC" OnSort="Grid3_Sort" EnableColumnLines="true" AllowPaging="true"
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid3_PageIndexChange"
EnableTextSelection="True" OnRowCommand="InstrumentationGrid_RowCommand" AllowColumnLocking="true">
<Toolbars>
<f:Toolbar ID="Toolbar3" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill3" runat="server"></f:ToolbarFill>
<f:Button ID="btnGetIDPData3" Text="获取更新" ToolTip="获取更新" Icon="TableSave" runat="server" OnClick="btnGetIDPData3_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="50px" HeaderTextAlign="Center" TextAlign="Center" />
<f:GroupField HeaderText="装置工序主项" TextAlign="Center" EnableLock="true" Locked="true">
<Columns>
<f:RenderField HeaderText="装置工序主项码" ColumnID="WbsCode" DataField="WbsCode" SortField="WbsCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="装置码" ColumnID="DeviceCode" DataField="DeviceCode" SortField="DeviceCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="90px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="工序码" ColumnID="ProcessesCode" DataField="ProcessesCode" SortField="ProcessesCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="90px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="主项码" ColumnID="SubjectCode" DataField="SubjectCode" SortField="SubjectCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="90px" EnableLock="true" Locked="true">
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="仪表位号" ColumnID="InstrumentTag" DataField="InstrumentTag" HeaderTextAlign="Center" TextAlign="Center" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="用途" ColumnID="UseTo" DataField="UseTo" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="仪表名称" ColumnID="InstrumentName" DataField="InstrumentName" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="供货方" ColumnID="Supplier" DataField="Supplier" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="安装位置" ColumnID="InstallationPosition" DataField="InstallationPosition" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="信号类型" ColumnID="SignalType" DataField="SignalType" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="关联系统" ColumnID="AssociatedSystem" DataField="AssociatedSystem" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
<f:GroupField HeaderText="P&ID" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="CP25" ColumnID="Cp25" DataField="Cp25" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="数据表" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="IN11" ColumnID="In11" DataField="In11" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="仪表位置图" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="IN40" ColumnID="In40" DataField="In40" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="备注" ColumnID="Remark" DataField="Remark" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:LinkButtonField Width="100px" ConfirmTarget="Top" Text="查看明细" CommandName="Detail" />
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator3" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText3" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize3" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize3_SelectedIndexChanged">
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Tab>
</Tabs>
</f:TabStrip>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="IDP试车数据明细" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Top" EnableResize="true" runat="server" IsModal="true"
Width="900px" Height="600px">
</f:Window>
</form>
<script type="text/javascript">
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
</script>
</body>
</html>

View File

@ -0,0 +1,397 @@
using BLL;
using Model;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Threading.Tasks;
namespace FineUIPro.Web.TestRun.BeforeTestRun
{
public partial class IDPPreRunData : PageBase
{
/// <summary>
/// 项目id
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ProjectId = this.CurrUser.LoginProjectId;
Funs.DropDownPageSize(this.ddlPageSize);
Funs.DropDownPageSize(this.ddlPageSize2);
Funs.DropDownPageSize(this.ddlPageSize3);
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
ddlPageSize2.SelectedValue = Grid2.PageSize.ToString();
ddlPageSize3.SelectedValue = Grid3.PageSize.ToString();
BindPipingGrid();
}
}
/// <summary>
/// Tab切换
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TabStrip1_TabIndexChanged(object sender, EventArgs e)
{
if (TabStrip1.ActiveTabIndex == 1)
{
if (this.Grid2.Rows.Count == 0)
{
BindEquipmentGrid();
}
}
else if (TabStrip1.ActiveTabIndex == 2)
{
if (this.Grid3.Rows.Count == 0)
{
BindInstrumentationGrid();
}
}
}
/// <summary>
/// 从IDP获取数据
/// </summary>
protected void btnGetIDPData_Click(object sender, EventArgs e)
{
try
{
string msg = GetIDPPreRunData(1);
if (!string.IsNullOrWhiteSpace(msg))
{
if (msg.Contains("成功"))
{
ShowNotify(msg);
BindPipingGrid();
}
else
{
ShowNotify(msg, MessageBoxIcon.Error);
}
}
}
catch (Exception ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Error);
}
}
/// <summary>
/// 从IDP获取数据
/// </summary>
protected void btnGetIDPData2_Click(object sender, EventArgs e)
{
try
{
string msg = GetIDPPreRunData(2);
if (!string.IsNullOrWhiteSpace(msg))
{
if (msg.Contains("成功"))
{
ShowNotify(msg);
BindEquipmentGrid();
}
else
{
ShowNotify(msg, MessageBoxIcon.Error);
}
}
}
catch (Exception ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Error);
}
}
#region
/// <summary>
/// 行点击事件
/// </summary>
protected void PipingGrid_RowCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "Detail")
{
string itemId = e.RowID;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("IDPPreRunDataDetail.aspx?Type=1&ItemId={0}", itemId)));
}
}
/// <summary>
/// 获取IDP试车数据
/// </summary>
/// <param name="type"></param>
/// <returns></returns>
private string GetIDPPreRunData(int type)
{
string result = string.Empty;
var session = IDPDataService.GetAuthenticationSession();
if (type == 1)
{
string pipingMsg = IDPDataService.GetIDPProjectPreRunDataPiping(session, this.ProjectId);
result = pipingMsg;
}
else if (type == 2)
{
string equipmentMsg = IDPDataService.GetIDPProjectPreRunDataEquipment(session, this.ProjectId);
result = equipmentMsg;
}
else if (type == 3)
{
string instrumentationMsg = IDPDataService.GetIDPProjectPreRunDataInstrumentation(session, this.ProjectId);
result = instrumentationMsg;
}
return result;
}
/// <summary>
/// IDP项目管道数据
/// </summary>
private void BindPipingGrid()
{
string strSql = @"select * from IDP_PreRunData_Piping p where 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
string cpara = string.Empty;
if (!string.IsNullOrWhiteSpace(this.ProjectId))
{
strSql += " AND p.ProjectId = @projectId";
listStr.Add(new SqlParameter("@projectId", this.ProjectId));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#region
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindPipingGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindPipingGrid();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindPipingGrid();
}
#endregion
#endregion
#region
/// <summary>
/// 行点击事件
/// </summary>
protected void EquipmentGrid_RowCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "Detail")
{
string itemId = e.RowID;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("IDPPreRunDataDetail.aspx?Type=2&ItemId={0}", itemId)));
}
}
/// <summary>
/// IDP项目管道数据
/// </summary>
private void BindEquipmentGrid()
{
string strSql = @"select * from IDP_PreRunData_Equipment p where 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
string cpara = string.Empty;
if (!string.IsNullOrWhiteSpace(this.ProjectId))
{
strSql += " AND p.ProjectId = @projectId";
listStr.Add(new SqlParameter("@projectId", this.ProjectId));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid2.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid2, tb);
Grid2.DataSource = table;
Grid2.DataBind();
}
#region
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid2_PageIndexChange(object sender, GridPageEventArgs e)
{
BindEquipmentGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid2_Sort(object sender, GridSortEventArgs e)
{
BindEquipmentGrid();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize2_SelectedIndexChanged(object sender, EventArgs e)
{
Grid2.PageSize = Convert.ToInt32(ddlPageSize2.SelectedValue);
BindEquipmentGrid();
}
#endregion
#endregion
#region
/// <summary>
/// 行点击事件
/// </summary>
protected void InstrumentationGrid_RowCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "Detail")
{
string itemId = e.RowID;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("IDPPreRunDataDetail.aspx?Type=3&ItemId={0}", itemId)));
}
}
/// <summary>
/// 从IDP获取数据
/// </summary>
protected void btnGetIDPData3_Click(object sender, EventArgs e)
{
try
{
string msg = GetIDPPreRunData(3);
if (!string.IsNullOrWhiteSpace(msg))
{
if (msg.Contains("成功"))
{
ShowNotify(msg);
BindInstrumentationGrid();
}
else
{
ShowNotify(msg, MessageBoxIcon.Error);
}
}
}
catch (Exception ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Error);
}
}
/// <summary>
/// IDP项目仪表索引数据
/// </summary>
private void BindInstrumentationGrid()
{
string strSql = @"select * from IDP_PreRunData_Instrumentation p where 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
string cpara = string.Empty;
if (!string.IsNullOrWhiteSpace(this.ProjectId))
{
strSql += " AND p.ProjectId = @projectId";
listStr.Add(new SqlParameter("@projectId", this.ProjectId));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid3.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid3, tb);
Grid3.DataSource = table;
Grid3.DataBind();
}
#region
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid3_PageIndexChange(object sender, GridPageEventArgs e)
{
BindInstrumentationGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid3_Sort(object sender, GridSortEventArgs e)
{
BindInstrumentationGrid();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize3_SelectedIndexChanged(object sender, EventArgs e)
{
Grid3.PageSize = Convert.ToInt32(ddlPageSize3.SelectedValue);
BindInstrumentationGrid();
}
#endregion
#endregion
}
}

View File

@ -0,0 +1,251 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.BeforeTestRun
{
public partial class IDPPreRunData
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// TabStrip1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TabStrip TabStrip1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill;
/// <summary>
/// btnGetIDPData 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnGetIDPData;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Grid2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid2;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// ToolbarFill2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill2;
/// <summary>
/// btnGetIDPData2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnGetIDPData2;
/// <summary>
/// ToolbarSeparator2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator2;
/// <summary>
/// ToolbarText2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText2;
/// <summary>
/// ddlPageSize2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize2;
/// <summary>
/// Grid3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid3;
/// <summary>
/// Toolbar3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// ToolbarFill3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill3;
/// <summary>
/// btnGetIDPData3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnGetIDPData3;
/// <summary>
/// ToolbarSeparator3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator3;
/// <summary>
/// ToolbarText3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText3;
/// <summary>
/// ddlPageSize3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize3;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
}
}

View File

@ -0,0 +1,40 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="IDPPreRunDataDetail.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.IDPPreRunDataDetail" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>IDP试车数据明细</title>
<style>
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" Title="IDP试车数据明细" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:TextArea ID="txtDetaiilContent" runat="server" Height="500px" MaxLength="1000">
</f:TextArea>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</form>
<script type="text/javascript">
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
</script>
</body>
</html>

View File

@ -0,0 +1,69 @@
using BLL;
using Model;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Threading.Tasks;
namespace FineUIPro.Web.TestRun.BeforeTestRun
{
public partial class IDPPreRunDataDetail : PageBase
{
/// <summary>
/// 项目id
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ProjectId = this.CurrUser.LoginProjectId;
string Type = Request.Params["Type"];
string ItemId = Request.Params["ItemId"];
if (Type == "1")
{
Model.IDP_PreRunData_Piping model = BLL.IDPPreRunDataService.GetPipingById(ItemId);
if (model != null)
{
this.txtDetaiilContent.Text = model.DetailInfo;
}
}
else if (Type == "2")
{
Model.IDP_PreRunData_Equipment model = BLL.IDPPreRunDataService.GetEquipmentById(ItemId);
if (model != null)
{
this.txtDetaiilContent.Text = model.DetailInfo;
}
}
else if (Type == "3")
{
Model.IDP_PreRunData_Instrumentation model = BLL.IDPPreRunDataService.GetInstrumentationById(ItemId);
if (model != null)
{
this.txtDetaiilContent.Text = model.DetailInfo;
}
}
}
}
}
}

View File

@ -0,0 +1,53 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.BeforeTestRun
{
public partial class IDPPreRunDataDetail
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// txtDetaiilContent 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtDetaiilContent;
}
}

View File

@ -0,0 +1,115 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SelectIDPEquipment.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.SelectIDPEquipment" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="ItemId" DataIDField="ItemId"
AllowSorting="true" SortField="WbsCode,TagNumber" SortDirection="ASC" OnSort="Grid1_Sort" OnPageIndexChange="Grid1_PageIndexChange"
EnableColumnLines="true" AllowPaging="true" IsDatabasePaging="true" PageSize="10" KeepCurrentSelection="true"
EnableTextSelection="True" EnableCheckBoxSelect="true" AllowColumnLocking="true">
<Toolbars>
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" Icon="Accept" runat="server" OnClick="btnSave_Click" ToolTip="确认">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="50px" HeaderTextAlign="Center" TextAlign="Center" />
<f:GroupField HeaderText="装置工序主项" TextAlign="Center" EnableLock="true" Locked="true">
<Columns>
<f:RenderField HeaderText="装置工序主项码" ColumnID="WbsCode" DataField="WbsCode" SortField="WbsCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="装置码" ColumnID="DeviceCode" DataField="DeviceCode" SortField="DeviceCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="90px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="工序码" ColumnID="ProcessesCode" DataField="ProcessesCode" SortField="ProcessesCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="90px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="主项码" ColumnID="SubjectCode" DataField="SubjectCode" SortField="SubjectCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="90px" EnableLock="true" Locked="true">
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="设备位号" ColumnID="TagNumber" DataField="TagNumber" SortField="TagNumber"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="设备名称和规格" ColumnID="NameSpecifications" DataField="NameSpecifications"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="350px">
</f:RenderField>
<f:RenderField HeaderText="图号或型号" ColumnID="DrawingNo" DataField="DrawingNo"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="制造材料" ColumnID="Materials" DataField="Materials"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="220px">
</f:RenderField>
<f:GroupField HeaderText="数量" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="操作" ColumnID="NumOperate" DataField="NumOperate" SortField="NumOperate"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="备用" ColumnID="NumStandby" DataField="NumStandby" SortField="NumStandby"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="重量kg" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="单重" ColumnID="WeightSingle" DataField="WeightSingle" SortField="WeightSingle"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="总重" ColumnID="WeightTotal" DataField="WeightTotal" SortField="WeightTotal"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="备注" ColumnID="Remark" DataField="Remark"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="180px">
</f:RenderField>
<%--<f:LinkButtonField Width="100px" ConfirmTarget="Top" Text="查看明细" CommandName="Detail" />--%>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator2" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText2" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true" OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged1">
<f:ListItem Text="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
</form>
<script type="text/javascript">
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
</script>
</body>
</html>

View File

@ -0,0 +1,195 @@
using BLL;
using Model;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.TestRun.BeforeTestRun
{
public partial class SelectIDPEquipment : PageBase
{
/// <summary>
/// ProjectId
/// </summary>
public string ProjectId
{
get { return (string)ViewState["ProjectId"]; }
set { ViewState["ProjectId"] = value; }
}
///// <summary>
///// 子系统id
///// </summary>
//public string SubSystemId
//{
// get { return (string)ViewState["SubSystemId"]; }
// set { ViewState["SubSystemId"] = value; }
//}
/// <summary>
/// 系统id
/// </summary>
public string SystemId
{
get { return (string)ViewState["SystemId"]; }
set { ViewState["SystemId"] = value; }
}
///// <summary>
///// 选中的id
///// </summary>
//public string SelectPropertyIds
//{
// get { return (string)ViewState["SelectPropertyIds"]; }
// set { ViewState["SelectPropertyIds"] = value; }
//}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ProjectId = this.CurrUser.LoginProjectId;
//this.SubSystemId = Request["SubSystemId"];
this.SystemId = Request["SystemId"];
//this.SelectPropertyIds = Request["SelectPropertyIds"];
// 绑定表格
BindGrid();
}
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"select * from IDP_PreRunData_Equipment where ProjectId=@ProjectId and ItemId not in (select TechnologyId from PreRun_TechnologySysPiping) ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#region
/// <summary>
/// 确认
/// </summary>
protected void btnSave_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
var lastSysPiping = Funs.DB.PreRun_TechnologySysPiping.Where(x => x.ProjectId == this.ProjectId && x.SystemId == this.SystemId).OrderByDescending(x => x.Sort).FirstOrDefault();
int sortIndex = lastSysPiping != null ? (int)lastSysPiping.Sort + 1 : 1;
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
this.SaveData(Grid1.DataKeys[rowIndex][0].ToString(), sortIndex);
sortIndex++;
}
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
/// <summary>
/// 保存数据
/// </summary>
/// <param name="ItemId">被选中的管道Id</param>
/// <param name="weekItem">周信息</param>
/// <param name="sortIndex">计划排序</param>
private void SaveData(string ItemId, int sortIndex)
{
Model.SGGLDB db = Funs.DB;
var item = db.IDP_PreRunData_Equipment.FirstOrDefault(x => x.ItemId == ItemId);
if (item != null)
{
Model.PreRun_TechnologySysPiping model = new Model.PreRun_TechnologySysPiping();
model.ProjectId = this.ProjectId;
model.SystemId = this.SystemId;
model.TechnologyId = item.ItemId;
model.TagNumber = item.TagNumber;
model.NameSpecifications = item.NameSpecifications;
model.DrawingNo = item.DrawingNo;
model.Materials = item.Materials;
model.NumOperate = item.NumOperate;
model.NumStandby = item.NumStandby;
model.WeightSingle = item.WeightSingle;
model.WeightTotal = item.WeightTotal;
model.Remark = item.Remark;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
model.Sort = sortIndex;
db.PreRun_TechnologySysPiping.InsertOnSubmit(model);
db.SubmitChanges();
}
}
#endregion
#region
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
BindGrid();
}
/// <summary>
/// 关闭弹出窗
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页下拉框
/// </summary>
protected void ddlPageSize_SelectedIndexChanged1(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
#endregion
}
}

View File

@ -0,0 +1,98 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.BeforeTestRun
{
public partial class SelectIDPEquipment
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// ToolbarSeparator2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator2;
/// <summary>
/// ToolbarText2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText2;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
}
}

View File

@ -0,0 +1,114 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SelectIDPInstrumentation.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.SelectIDPInstrumentation" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="ItemId" DataIDField="ItemId"
AllowSorting="true" SortField="WbsCode,InstrumentTag" SortDirection="ASC" OnSort="Grid1_Sort" OnPageIndexChange="Grid1_PageIndexChange"
EnableColumnLines="true" AllowPaging="true" IsDatabasePaging="true" PageSize="10" KeepCurrentSelection="true"
EnableTextSelection="True" EnableCheckBoxSelect="true" AllowColumnLocking="true">
<Toolbars>
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" Icon="Accept" runat="server" OnClick="btnSave_Click" ToolTip="确认">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="50px" HeaderTextAlign="Center" TextAlign="Center" />
<f:GroupField HeaderText="装置工序主项" TextAlign="Center" EnableLock="true" Locked="true">
<Columns>
<f:RenderField HeaderText="装置工序主项码" ColumnID="WbsCode" DataField="WbsCode" SortField="WbsCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="装置码" ColumnID="DeviceCode" DataField="DeviceCode" SortField="DeviceCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="90px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="工序码" ColumnID="ProcessesCode" DataField="ProcessesCode" SortField="ProcessesCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="90px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="主项码" ColumnID="SubjectCode" DataField="SubjectCode" SortField="SubjectCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="90px" EnableLock="true" Locked="true">
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="仪表位号" ColumnID="InstrumentTag" DataField="InstrumentTag" HeaderTextAlign="Center" TextAlign="Center" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="用途" ColumnID="UseTo" DataField="UseTo" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="仪表名称" ColumnID="InstrumentName" DataField="InstrumentName" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="供货方" ColumnID="Supplier" DataField="Supplier" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="安装位置" ColumnID="InstallationPosition" DataField="InstallationPosition" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="信号类型" ColumnID="SignalType" DataField="SignalType" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="关联系统" ColumnID="AssociatedSystem" DataField="AssociatedSystem" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
<f:GroupField HeaderText="P&ID" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="CP25" ColumnID="Cp25" DataField="Cp25" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="数据表" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="IN11" ColumnID="In11" DataField="In11" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="仪表位置图" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="IN40" ColumnID="In40" DataField="In40" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="备注" ColumnID="Remark" DataField="Remark" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<%--<f:LinkButtonField Width="100px" ConfirmTarget="Top" Text="查看明细" CommandName="Detail" />--%>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator2" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText2" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true" OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged1">
<f:ListItem Text="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
</form>
<script type="text/javascript">
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
</script>
</body>
</html>

View File

@ -0,0 +1,197 @@
using BLL;
using Model;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.TestRun.BeforeTestRun
{
public partial class SelectIDPInstrumentation : PageBase
{
/// <summary>
/// ProjectId
/// </summary>
public string ProjectId
{
get { return (string)ViewState["ProjectId"]; }
set { ViewState["ProjectId"] = value; }
}
///// <summary>
///// 子系统id
///// </summary>
//public string SubSystemId
//{
// get { return (string)ViewState["SubSystemId"]; }
// set { ViewState["SubSystemId"] = value; }
//}
/// <summary>
/// 系统id
/// </summary>
public string SystemId
{
get { return (string)ViewState["SystemId"]; }
set { ViewState["SystemId"] = value; }
}
///// <summary>
///// 选中的id
///// </summary>
//public string SelectPropertyIds
//{
// get { return (string)ViewState["SelectPropertyIds"]; }
// set { ViewState["SelectPropertyIds"] = value; }
//}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ProjectId = this.CurrUser.LoginProjectId;
//this.SubSystemId = Request["SubSystemId"];
this.SystemId = Request["SystemId"];
//this.SelectPropertyIds = Request["SelectPropertyIds"];
// 绑定表格
BindGrid();
}
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"select * from IDP_PreRunData_Instrumentation where ProjectId=@ProjectId and ItemId not in (select InstrumentId from PreRun_InstrumentSysPiping) ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#region
/// <summary>
/// 确认
/// </summary>
protected void btnSave_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
var lastSysPiping = Funs.DB.PreRun_InstrumentSysPiping.Where(x => x.ProjectId == this.ProjectId && x.SystemId == this.SystemId).OrderByDescending(x => x.Sort).FirstOrDefault();
int sortIndex = lastSysPiping != null ? (int)lastSysPiping.Sort + 1 : 1;
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
this.SaveData(Grid1.DataKeys[rowIndex][0].ToString(), sortIndex);
sortIndex++;
}
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
/// <summary>
/// 保存数据
/// </summary>
/// <param name="ItemId">被选中的仪表索引Id</param>
/// <param name="weekItem">周信息</param>
/// <param name="sortIndex">计划排序</param>
private void SaveData(string ItemId, int sortIndex)
{
Model.SGGLDB db = Funs.DB;
var item = db.IDP_PreRunData_Instrumentation.FirstOrDefault(x => x.ItemId == ItemId);
if (item != null)
{
Model.PreRun_InstrumentSysPiping model = new Model.PreRun_InstrumentSysPiping();
model.ProjectId = this.ProjectId;
model.SystemId = this.SystemId;
model.InstrumentId = item.ItemId;
model.InstrumentTag = item.InstrumentTag;
model.UseTo = item.UseTo;
model.InstrumentName = item.InstrumentName;
model.Supplier = item.Supplier;
model.InstallationPosition = item.InstallationPosition;
model.SignalType = item.SignalType;
model.AssociatedSystem = item.AssociatedSystem;
model.Cp25 = item.Cp25;
model.In11 = item.In11;
model.In40 = item.In40;
model.Remark = item.Remark;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
model.Sort = sortIndex;
db.PreRun_InstrumentSysPiping.InsertOnSubmit(model);
db.SubmitChanges();
}
}
#endregion
#region
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
BindGrid();
}
/// <summary>
/// 关闭弹出窗
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页下拉框
/// </summary>
protected void ddlPageSize_SelectedIndexChanged1(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
#endregion
}
}

View File

@ -0,0 +1,98 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.BeforeTestRun
{
public partial class SelectIDPInstrumentation
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// ToolbarSeparator2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator2;
/// <summary>
/// ToolbarText2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText2;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
}
}

View File

@ -0,0 +1,187 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SelectIDPPiping.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.SelectIDPPiping" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="ItemId" DataIDField="ItemId"
AllowSorting="true" SortField="WbsCode,PipingCode" SortDirection="ASC" OnSort="Grid1_Sort" OnPageIndexChange="Grid1_PageIndexChange"
EnableColumnLines="true" AllowPaging="true" IsDatabasePaging="true" PageSize="10" KeepCurrentSelection="true"
EnableTextSelection="True" EnableCheckBoxSelect="true" AllowColumnLocking="true">
<Toolbars>
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" Icon="Accept" runat="server" OnClick="btnSave_Click" ToolTip="确认">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="50px" HeaderTextAlign="Center" TextAlign="Center" />
<f:GroupField HeaderText="装置工序主项" TextAlign="Center" EnableLock="true" Locked="true">
<Columns>
<f:RenderField HeaderText="装置工序主项码" ColumnID="WbsCode" DataField="WbsCode" SortField="WbsCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="装置码" ColumnID="DeviceCode" DataField="DeviceCode" SortField="DeviceCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="90px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="工序码" ColumnID="ProcessesCode" DataField="ProcessesCode" SortField="ProcessesCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="90px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField HeaderText="主项码" ColumnID="SubjectCode" DataField="SubjectCode" SortField="SubjectCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="90px" EnableLock="true" Locked="true">
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="管道号" ColumnID="PipingCode" DataField="PipingCode" SortField="PipingCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="120px" EnableLock="true" Locked="true">
</f:RenderField>
<f:GroupField HeaderText="管道说明" TextAlign="Center">
<Columns>
<f:GroupField HeaderText="公称" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="直径" ColumnID="Diameter" DataField="Diameter" HtmlEncode="false"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="管道材料等级" ColumnID="MaterialLevel" DataField="MaterialLevel"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:GroupField HeaderText="绝热伴热" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="类型" ColumnID="AdiabatType" DataField="AdiabatType"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="厚度mm" ColumnID="AdiabatThickness" DataField="AdiabatThickness"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="介质" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="相态" ColumnID="MediumState" DataField="MediumState"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="P&ID图号" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="起点" ColumnID="DrawingStartNo" DataField="DrawingStartNo"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="止点" ColumnID="DrawingEndNo" DataField="DrawingEndNo"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="管道起止点" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="起点" ColumnID="PipingStart" DataField="PipingStart"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="止点" ColumnID="PipingEnd" DataField="PipingEnd"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="压力" TextAlign="Center">
<Columns>
<f:GroupField HeaderText="管道" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="级别" ColumnID="PipingLevel" DataField="PipingLevel"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="正常条件" TextAlign="Center">
<Columns>
<f:GroupField HeaderText="温度" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="℃" ColumnID="NormalTemperature" DataField="NormalTemperature"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="压力" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="MPaG" ColumnID="NormalPressure" DataField="NormalPressure"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="设计条件" TextAlign="Center">
<Columns>
<f:GroupField HeaderText="温度" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="℃" ColumnID="DesignTemperature" DataField="DesignTemperature"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="压力" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="MPaG" ColumnID="DesignPressure" DataField="DesignPressure"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="涂漆等级" ColumnID="PaintLevel" DataField="PaintLevel"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="备注" ColumnID="Remark" DataField="Remark"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="150px">
</f:RenderField>
<%--<f:LinkButtonField Width="100px" ConfirmTarget="Top" Text="查看明细" CommandName="Detail" />--%>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator2" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText2" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true" OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged1">
<f:ListItem Text="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
</form>
<script type="text/javascript">
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
</script>
</body>
</html>

View File

@ -0,0 +1,203 @@
using BLL;
using Model;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.TestRun.BeforeTestRun
{
public partial class SelectIDPPiping : PageBase
{
/// <summary>
/// ProjectId
/// </summary>
public string ProjectId
{
get { return (string)ViewState["ProjectId"]; }
set { ViewState["ProjectId"] = value; }
}
///// <summary>
///// 子系统id
///// </summary>
//public string SubSystemId
//{
// get { return (string)ViewState["SubSystemId"]; }
// set { ViewState["SubSystemId"] = value; }
//}
/// <summary>
/// 系统id
/// </summary>
public string SystemId
{
get { return (string)ViewState["SystemId"]; }
set { ViewState["SystemId"] = value; }
}
///// <summary>
///// 选中的id
///// </summary>
//public string SelectPropertyIds
//{
// get { return (string)ViewState["SelectPropertyIds"]; }
// set { ViewState["SelectPropertyIds"] = value; }
//}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ProjectId = this.CurrUser.LoginProjectId;
//this.SubSystemId = Request["SubSystemId"];
this.SystemId = Request["SystemId"];
//this.SelectPropertyIds = Request["SelectPropertyIds"];
// 绑定表格
BindGrid();
}
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"select * from IDP_PreRunData_Piping where ProjectId=@ProjectId and ItemId not in (select PropertyId from PreRun_PropertySysPiping) ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#region
/// <summary>
/// 确认
/// </summary>
protected void btnSave_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
var lastSysPiping = Funs.DB.PreRun_PropertySysPiping.Where(x => x.ProjectId == this.ProjectId && x.SystemId == this.SystemId).OrderByDescending(x => x.Sort).FirstOrDefault();
int sortIndex = lastSysPiping != null ? (int)lastSysPiping.Sort + 1 : 1;
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
this.SaveData(Grid1.DataKeys[rowIndex][0].ToString(), sortIndex);
sortIndex++;
}
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
/// <summary>
/// 保存数据
/// </summary>
/// <param name="ItemId">被选中的管道Id</param>
/// <param name="weekItem">周信息</param>
/// <param name="sortIndex">计划排序</param>
private void SaveData(string ItemId, int sortIndex)
{
Model.SGGLDB db = Funs.DB;
var item = db.IDP_PreRunData_Piping.FirstOrDefault(x => x.ItemId == ItemId);
if (item != null)
{
Model.PreRun_PropertySysPiping model = new Model.PreRun_PropertySysPiping();
model.ProjectId = this.ProjectId;
model.SystemId = this.SystemId;
model.PropertyId = item.ItemId;
model.PipingCode = item.PipingCode;
model.Diameter = item.Diameter;
model.MaterialLevel = item.MaterialLevel;
model.AdiabatType = item.AdiabatType;
model.AdiabatThickness = item.AdiabatThickness;
model.MediumState = item.MediumState;
model.DrawingNo = item.DrawingStartNo;
model.DrawingEndNo = item.DrawingEndNo;
model.PipingStart = item.PipingStart;
model.PipingEnd = item.PipingEnd;
model.PipingLevel = item.PipingLevel;
model.NormalTemperature = item.NormalTemperature;
model.NormalPressure = item.NormalPressure;
model.DesignTemperature = item.DesignTemperature;
model.DesignPressure = item.DesignPressure;
model.PaintLevel = item.PaintLevel;
model.Remark = item.Remark;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
model.Sort = sortIndex;
db.PreRun_PropertySysPiping.InsertOnSubmit(model);
db.SubmitChanges();
}
}
#endregion
#region
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
BindGrid();
}
/// <summary>
/// 关闭弹出窗
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页下拉框
/// </summary>
protected void ddlPageSize_SelectedIndexChanged1(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
#endregion
}
}

View File

@ -0,0 +1,98 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.BeforeTestRun
{
public partial class SelectIDPPiping
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// ToolbarSeparator2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator2;
/// <summary>
/// ToolbarText2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText2;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
}
}

View File

@ -34,6 +34,7 @@
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:HiddenField runat="server" ID="hdTrustID"></f:HiddenField>
<f:Button ID="btnIDPPreRunData" Text="IDP工作包数据" ToolTip="IDP工作包数据" Icon="ApplicationViewDetail" runat="server" OnClick="btnIDPPreRunData_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
@ -83,13 +84,14 @@
<f:Button ID="btnZxtgdImport" runat="server" OnClick="btnZxtgdImport_Click" Text="导入">
</f:Button>
<f:ToolbarFill ID="ToolbarFill" runat="server"></f:ToolbarFill>
<f:Button ID="btnIDPSelectPiping" Text="选择" ToolTip="从IDP工作包选择" Icon="TableSave" runat="server" OnClick="btnIDPSelectPiping_Click"></f:Button>
<f:Button ID="btnGdDownLoad" runat="server" Icon="ApplicationGo" Text="管道模板下载" ToolTip="管道模板下载" OnClick="btnGdDownLoad_Click"></f:Button>
<f:Button ID="btnZxtgdSave" Text="保存" ToolTip="保存" Icon="FilmSave" runat="server" OnClick="btnZxtgdSave_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="100px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RowNumberField EnablePagingNumber="true" Width="50px" HeaderTextAlign="Center" TextAlign="Center" />
<f:GroupField HeaderText="管道说明" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="管道号" ColumnID="PipingCode" HtmlEncode="false" DataField="PipingCode" SortField="PipingCode"
@ -139,12 +141,22 @@
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="P&ID图号" ColumnID="DrawingNo" HtmlEncode="false" DataField="DrawingNo" SortField="DrawingNo"
<f:GroupField HeaderText="P&ID图号起止点" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="起点" ColumnID="DrawingNo" HtmlEncode="false" DataField="DrawingNo" SortField="DrawingNo"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtDrawingNo"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="止点" ColumnID="DrawingEndNo" HtmlEncode="false" DataField="DrawingEndNo" SortField="DrawingEndNo"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtDrawingEndNo"></f:TextBox>
</Editor>
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="管道起止点" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="起点" ColumnID="PipingStart" HtmlEncode="false" DataField="PipingStart" SortField="PipingStart"
@ -270,13 +282,14 @@
</f:FileUpload>
<f:Button ID="btnZxtgyImport" runat="server" OnClick="btnZxtgyImport_Click" Text="导入"></f:Button>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:Button ID="btnIDPSelectEquipment" Text="选择" ToolTip="选择" Icon="TableSave" runat="server" OnClick="btnIDPSelectEquipment_Click"></f:Button>
<f:Button ID="btnGysbDownLoad" runat="server" Icon="ApplicationGo" Text="工艺设备模板下载" ToolTip="工艺设备模板下载" OnClick="btnGysbDownLoad_Click"></f:Button>
<f:Button ID="btnZxtgySave" Text="保存" ToolTip="保存" Icon="FilmSave" runat="server" OnClick="btnZxtgySave_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="100px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RowNumberField EnablePagingNumber="true" Width="50px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField HeaderText="设备位号" ColumnID="TagNumber" HtmlEncode="false" DataField="TagNumber" SortField="TagNumber"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
@ -284,7 +297,7 @@
</Editor>
</f:RenderField>
<f:RenderField HeaderText="设备名称和规格" ColumnID="NameSpecifications" HtmlEncode="false" DataField="NameSpecifications" SortField="NameSpecifications"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="300px">
<Editor>
<f:TextBox runat="server" ID="txtNameSpecifications"></f:TextBox>
</Editor>
@ -296,7 +309,7 @@
</Editor>
</f:RenderField>
<f:RenderField HeaderText="制造材料" ColumnID="Materials" HtmlEncode="false" DataField="Materials" SortField="Materials"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="200px">
<Editor>
<f:TextBox runat="server" ID="txtMaterials"></f:TextBox>
</Editor>
@ -310,7 +323,7 @@
</Editor>
</f:RenderField>
<f:RenderField HeaderText="备用" ColumnID="NumStandby" HtmlEncode="false" DataField="NumStandby" SortField="NumStandby"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="180px">
<Editor>
<f:TextBox runat="server" ID="txtNumStandby"></f:TextBox>
</Editor>
@ -372,13 +385,14 @@
</f:FileUpload>
<f:Button ID="btnZxtybImport" runat="server" OnClick="btnZxtybImport_Click" Text="导入"></f:Button>
<f:ToolbarFill ID="ToolbarFill4" runat="server"></f:ToolbarFill>
<f:Button ID="btnIDPSelectInstrumentation" Text="选择" ToolTip="从IDP工作包选择" Icon="TableSave" runat="server" OnClick="btnIDPSelectInstrumentation_Click"></f:Button>
<f:Button ID="btnYbsyDownLoad" runat="server" Icon="ApplicationGo" Text="仪表索引模板下载" ToolTip="仪表索引模板下载" OnClick="btnYbsyDownLoad_Click"></f:Button>
<f:Button ID="btnZxtybSave" Text="保存" ToolTip="保存" Icon="FilmSave" runat="server" OnClick="btnZxtybSave_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="100px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RowNumberField EnablePagingNumber="true" Width="50px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField HeaderText="仪表位号" ColumnID="InstrumentTag" HtmlEncode="false" DataField="InstrumentTag" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtInstrumentTag"></f:TextBox>
@ -732,6 +746,22 @@
</f:Form>
</Items>
</f:Panel>
<f:Window ID="IdpWindow" Title="IDP试车数据" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Top" EnableResize="true" runat="server" IsModal="true"
Width="1600px" Height="800px">
</f:Window>
<f:Window ID="IdpWindow2" Title="选择IDP试车管道数据" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Top" EnableResize="true" runat="server" IsModal="true" OnClose="IdpWindow2_Close"
Width="1600px" Height="800px">
</f:Window>
<f:Window ID="IdpWindow3" Title="选择IDP试车工艺设备数据" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Top" EnableResize="true" runat="server" IsModal="true" OnClose="IdpWindow3_Close"
Width="1600px" Height="800px">
</f:Window>
<f:Window ID="IdpWindow4" Title="选择IDP试车仪表索引数据" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Top" EnableResize="true" runat="server" IsModal="true" OnClose="IdpWindow4_Close"
Width="1600px" Height="800px">
</f:Window>
<f:Window ID="Window1" Title="SS子系统管道一览表选择" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Top" EnableResize="true" runat="server" OnClose="Window1_Close" IsModal="true"
Width="1090px" Height="660px">

View File

@ -177,6 +177,68 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
#endregion
#region IDP试车数据库
/// <summary>
/// IDP试车数据库
/// </summary>
protected void btnIDPPreRunData_Click(object sender, EventArgs e)
{
string window = $"IDPPreRunData.aspx";
PageContext.RegisterStartupScript(IdpWindow.GetSaveStateReference(this.hidSelectProperty.ClientID) + IdpWindow.GetShowReference(window));
}
/// <summary>
/// 从IDP选择管道数据
/// </summary>
protected void btnIDPSelectPiping_Click(object sender, EventArgs e)
{
string window = $"SelectIDPPiping.aspx?SystemId={this.tvControlItem.SelectedNodeID}";
PageContext.RegisterStartupScript(IdpWindow2.GetShowReference(window, "从IDP选择管道数据"));
}
/// <summary>
/// 关闭
/// </summary>
protected void IdpWindow2_Close(object sender, WindowCloseEventArgs e)
{
ZxtgdBrid();
}
/// <summary>
/// 从IDP选择工艺设备数据
/// </summary>
protected void btnIDPSelectEquipment_Click(object sender, EventArgs e)
{
string window = $"SelectIDPEquipment.aspx?SystemId={this.tvControlItem.SelectedNodeID}";
PageContext.RegisterStartupScript(IdpWindow3.GetShowReference(window, "从IDP选择工艺设备数据"));
}
/// <summary>
/// 关闭
/// </summary>
protected void IdpWindow3_Close(object sender, WindowCloseEventArgs e)
{
ZxtgyBrid();
}
/// <summary>
/// 从IDP选择仪表索引数据
/// </summary>
protected void btnIDPSelectInstrumentation_Click(object sender, EventArgs e)
{
string window = $"SelectIDPInstrumentation.aspx?SystemId={this.tvControlItem.SelectedNodeID}";
PageContext.RegisterStartupScript(IdpWindow4.GetShowReference(window, "从IDP选择仪表索引数据"));
}
/// <summary>
/// 关闭
/// </summary>
protected void IdpWindow4_Close(object sender, WindowCloseEventArgs e)
{
ZxtybBrid();
}
#endregion
#region S系统管道一览表导入
/// <summary>

View File

@ -86,6 +86,15 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
/// </remarks>
protected global::FineUIPro.HiddenField hdTrustID;
/// <summary>
/// btnIDPPreRunData 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnIDPPreRunData;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
@ -266,6 +275,15 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill;
/// <summary>
/// btnIDPSelectPiping 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnIDPSelectPiping;
/// <summary>
/// btnGdDownLoad 控件。
/// </summary>
@ -347,6 +365,15 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
/// </remarks>
protected global::FineUIPro.TextBox txtDrawingNo;
/// <summary>
/// txtDrawingEndNo 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtDrawingEndNo;
/// <summary>
/// txtPipingStart 控件。
/// </summary>
@ -500,6 +527,15 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnIDPSelectEquipment 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnIDPSelectEquipment;
/// <summary>
/// btnGysbDownLoad 控件。
/// </summary>
@ -671,6 +707,15 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill4;
/// <summary>
/// btnIDPSelectInstrumentation 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnIDPSelectInstrumentation;
/// <summary>
/// btnYbsyDownLoad 控件。
/// </summary>
@ -1004,6 +1049,42 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
/// </remarks>
protected global::FineUIPro.TextBox hidSelectInstrument;
/// <summary>
/// IdpWindow 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window IdpWindow;
/// <summary>
/// IdpWindow2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window IdpWindow2;
/// <summary>
/// IdpWindow3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window IdpWindow3;
/// <summary>
/// IdpWindow4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window IdpWindow4;
/// <summary>
/// Window1 控件。
/// </summary>

View File

@ -448,12 +448,13 @@ namespace FineUIPro.Web.ZHGL.Information
{
a += item.TotalWorkNum ?? 0;
}
}
decimal b = a / list.Count();
if (d > b * 5)
{
err = name + "的总工时数超过前三个月平均值5倍请核对后重新录入";
break;
//decimal b = a / list.Count();
//if (d > b * 5)
//{
// err = name + "的总工时数超过前三个月平均值5倍请核对后重新录入";
// break;
//}
}
}
}

View File

@ -10,6 +10,7 @@
namespace Model
{
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
/// <summary>
@ -136,6 +137,11 @@ namespace Model
/// </summary>
[JsonProperty("unit")]
public string unit { get; set; }
/// <summary>
/// pwiItemId
/// </summary>
[JsonProperty("pwiItemId")]
public string pwiItemId { get; set; }
///// <summary>
///// createTime
///// </summary>
@ -147,11 +153,6 @@ namespace Model
//[JsonProperty("updateTime")]
//public DateTime? updateTime { get; set; }
///// <summary>
///// pwiItemId
///// </summary>
//[JsonProperty("pwiItemId")]
//public string pwiItemId { get; set; }
///// <summary>
///// versionId
///// </summary>
//[JsonProperty("versionId")]
@ -166,9 +167,9 @@ namespace Model
public partial class IDPPreRunData
{
public static IDPPreRunData FromJson(string json)
public static List<IDPPreRunData> FromJson(string json)
{
return JsonConvert.DeserializeObject<IDPPreRunData>(json, Model.Converter.Settings);
return JsonConvert.DeserializeObject<List<IDPPreRunData>>(json, Model.Converter.Settings);
}
}

View File

@ -0,0 +1,287 @@
// <auto-generated />
//
// To parse this JSON data, add NuGet 'Newtonsoft.Json' then do:
//
// using Model;
//
// var response = Response.FromJson(jsonString);
namespace Model
{
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
/// <summary>
/// 设备一览表数据结果对象
/// </summary>
public partial class IDPPreRunEquipment
{
/// <summary>
/// itemId
/// </summary>
[JsonProperty("itemId")]
public string ItemId { get; set; }
/// <summary>
/// category
/// </summary>
[JsonProperty("category")]
public string Category { get; set; }
/// <summary>
/// tag
/// </summary>
[JsonProperty("tag")]
public string Tag { get; set; }
/// <summary>
/// 装置工序主项码
/// </summary>
[JsonProperty("wbsCode")]
public string WbsCode { get; set; }
/// <summary>
/// 装置码
/// </summary>
[JsonProperty("deviceCode")]
public string DeviceCode { get; set; }
/// <summary>
/// 工序码
/// </summary>
[JsonProperty("processesCode")]
public string ProcessesCode { get; set; }
/// <summary>
/// 主项码
/// </summary>
[JsonProperty("subjectCode")]
public string SubjectCode { get; set; }
/// <summary>
/// 设备位号
/// </summary>
[JsonProperty("设备位号")]
public string TagNumber { get; set; }
/// <summary>
/// 设备名称
/// </summary>
[JsonProperty("设备名称")]
public string NameSpecifications { get; set; }
///// <summary>
///// 图号或型号
///// </summary>
//[JsonProperty("图号或型号")]
//public string DrawingNo { get; set; }
///// <summary>
///// 操作数量
///// </summary>
//[JsonProperty("操作数量")]
//public string NumOperate { get; set; }
/// <summary>
/// 设备数量
/// </summary>
[JsonProperty("设备数量")]
public string DeviceNum { get; set; }
/// <summary>
/// 备用数量
/// </summary>
[JsonProperty("备用数量")]
public string NumStandby { get; set; }
/// <summary>
/// 单重
/// </summary>
[JsonProperty("单重")]
public string WeightSingle { get; set; }
/// <summary>
/// 【单位】单重
/// </summary>
[JsonProperty("【单位】单重")]
public string WeightSingleUnit { get; set; }
///// <summary>
///// 重量总重
///// </summary>
//[JsonProperty("重量总重")]
//public string WeightTotal { get; set; }
/// <summary>
/// 备注
/// </summary>
[JsonProperty("备注")]
public string Remark { get; set; }
/// <summary>
/// 【单位】设备数量
/// </summary>
[JsonProperty("【单位】设备数量")]
public string DeviceNumUnit { get; set; }
/// <summary>
/// 材料
/// </summary>
[JsonProperty("材料")]
public string Materials { get; set; }
/// <summary>
/// 叶轮材料
/// </summary>
[JsonProperty("叶轮材料")]
public string ImpellerMaterial { get; set; }
/// <summary>
/// 壳体材料
/// </summary>
[JsonProperty("壳体材料")]
public string ShellMaterial { get; set; }
/// <summary>
/// 缸体材料
/// </summary>
[JsonProperty("缸体材料")]
public string CylinderMaterial { get; set; }
/// <summary>
/// 填料/塔盘材料
/// </summary>
[JsonProperty("填料/塔盘材料")]
public string TrayMaterial { get; set; }
/// <summary>
/// 填料材料
/// </summary>
[JsonProperty("填料材料")]
public string PackingMaterial { get; set; }
/// <summary>
/// 板片材料
/// </summary>
[JsonProperty("板片材料")]
public string PlateMaterial { get; set; }
/// <summary>
/// 内件材料
/// </summary>
[JsonProperty("内件材料")]
public string TrimMaterial { get; set; }
/// <summary>
/// 材料(盘管)
/// </summary>
[JsonProperty("材料(盘管)")]
public string CoilMaterial { get; set; }
/// <summary>
/// 材料(燃烧空气预热器)
/// </summary>
[JsonProperty("材料(燃烧空气预热器)")]
public string PreheaterMaterial { get; set; }
/// <summary>
/// 序号
/// </summary>
[JsonProperty("序号")]
public string SerialNumber { get; set; }
/// <summary>
/// 主要尺寸-I.D
/// </summary>
[JsonProperty("主要尺寸-I.D")]
public string DimensionsID { get; set; }
/// <summary>
/// 【单位】主要尺寸-I.D
/// </summary>
[JsonProperty("【单位】主要尺寸-I.D")]
public string DimensionsIDUnit { get; set; }
/// <summary>
/// 主要尺寸-H(T-T)
/// </summary>
[JsonProperty("主要尺寸-H(T-T)")]
public string DimensionsHTT { get; set; }
/// <summary>
/// 【单位】主要尺寸-H(T-T)
/// </summary>
[JsonProperty("【单位】主要尺寸-H(T-T)")]
public string DimensionsHTTUnit { get; set; }
/// <summary>
/// 入口压力
/// </summary>
[JsonProperty("入口压力")]
public string MPaG { get; set; }
/// <summary>
/// 【单位】入口压力
/// </summary>
[JsonProperty("【单位】入口压力")]
public string MPaGUnit { get; set; }
/// <summary>
/// 出口压力
/// </summary>
[JsonProperty("出口压力")]
public string KPa { get; set; }
/// <summary>
/// 【单位】出口压力
/// </summary>
[JsonProperty("【单位】出口压力")]
public string KPaUnit { get; set; }
/// <summary>
/// 扬程
/// </summary>
[JsonProperty("扬程")]
public string Lift { get; set; }
/// <summary>
/// 【单位】扬程
/// </summary>
[JsonProperty("【单位】扬程")]
public string LiftUnit { get; set; }
/// <summary>
/// 设计流量
/// </summary>
[JsonProperty("设计流量")]
public string DesignFlow { get; set; }
/// <summary>
/// 【单位】设计流量
/// </summary>
[JsonProperty("【单位】设计流量")]
public string DesignFlowUnit { get; set; }
/// <summary>
/// 驱动型式
/// </summary>
[JsonProperty("驱动型式")]
public string DrivingType { get; set; }
/// <summary>
/// 设备型式
/// </summary>
[JsonProperty("设备型式")]
public string EquipmentType { get; set; }
/// <summary>
/// 设备型式或型号
/// </summary>
[JsonProperty("设备型式或型号")]
public string EquipmentTypeModel { get; set; }
/// <summary>
/// 设备形式
/// </summary>
[JsonProperty("设备形式")]
public string EquipmentForm { get; set; }
/// <summary>
/// 轴功率
/// </summary>
[JsonProperty("轴功率")]
public string ShaftPower { get; set; }
/// <summary>
/// 【单位】轴功率
/// </summary>
[JsonProperty("【单位】轴功率")]
public string ShaftPowerUnit { get; set; }
/// <summary>
/// 额定功率
/// </summary>
[JsonProperty("额定功率")]
public string RatedPower { get; set; }
/// <summary>
/// 【单位】额定功率
/// </summary>
[JsonProperty("【单位】额定功率")]
public string RatedPowerUnit { get; set; }
}
public partial class IDPPreRunEquipment
{
public static List<IDPPreRunEquipment> FromJson(string json)
{
return JsonConvert.DeserializeObject<List<IDPPreRunEquipment>>(json, Model.Converter.Settings);
}
}
}

View File

@ -0,0 +1,151 @@
// <auto-generated />
//
// To parse this JSON data, add NuGet 'Newtonsoft.Json' then do:
//
// using Model;
//
// var response = Response.FromJson(jsonString);
namespace Model
{
using System;
using System.Collections.Generic;
using System.Security.Policy;
using Newtonsoft.Json;
/// <summary>
/// 设备一览表数据结果对象
/// </summary>
public partial class IDPPreRunInstrumentation
{
/// <summary>
/// itemId
/// </summary>
[JsonProperty("itemId")]
public string ItemId { get; set; }
/// <summary>
/// category
/// </summary>
[JsonProperty("category")]
public string Category { get; set; }
/// <summary>
/// tag
/// </summary>
[JsonProperty("tag")]
public string Tag { get; set; }
/// <summary>
/// 装置工序主项码
/// </summary>
[JsonProperty("wbsCode")]
public string WbsCode { get; set; }
/// <summary>
/// 装置码
/// </summary>
[JsonProperty("deviceCode")]
public string DeviceCode { get; set; }
/// <summary>
/// 工序码
/// </summary>
[JsonProperty("processesCode")]
public string ProcessesCode { get; set; }
/// <summary>
/// 主项码
/// </summary>
[JsonProperty("subjectCode")]
public string SubjectCode { get; set; }
/// <summary>
/// 位号
/// </summary>
[JsonProperty("位号")]
public string InstrumentTag { get; set; }
/// <summary>
/// 用途
/// </summary>
[JsonProperty("用途")]
public string UseTo { get; set; }
/// <summary>
/// 仪表名称
/// </summary>
[JsonProperty("仪表名称")]
public string InstrumentName { get; set; }
/// <summary>
/// 供货方
/// </summary>
[JsonProperty("供货方")]
public string Supplier { get; set; }
/// <summary>
/// 安装位置
/// </summary>
[JsonProperty("安装位置")]
public string InstallationPosition { get; set; }
/// <summary>
/// 信号类型
/// </summary>
[JsonProperty("信号类型")]
public string SignalType { get; set; }
/// <summary>
/// 关联系统
/// </summary>
[JsonProperty("关联系统")]
public string AssociatedSystem { get; set; }
/// <summary>
/// P&ID图号
/// </summary>
[JsonProperty("P&ID图号")]
public string Cp25 { get; set; }
/// <summary>
/// 数据表
/// </summary>
[JsonProperty("数据表")]
public string In11 { get; set; }
/// <summary>
/// 仪表位置图
/// </summary>
[JsonProperty("仪表位置图")]
public string In40 { get; set; }
/// <summary>
/// 备注
/// </summary>
[JsonProperty("备注")]
public string Remark { get; set; }
/// <summary>
/// 描述
/// </summary>
[JsonProperty("描述")]
public string Describe { get; set; }
/// <summary>
/// 管道或设备位号
/// </summary>
[JsonProperty("管道或设备位号")]
public string PipingOrEquipmentTagNumber { get; set; }
/// <summary>
/// 回路号
/// </summary>
[JsonProperty("回路号")]
public string CircuitNumber { get; set; }
/// <summary>
/// 介质名称
/// </summary>
[JsonProperty("介质名称")]
public string MediaName { get; set; }
/// <summary>
/// 介质相态
/// </summary>
[JsonProperty("介质相态")]
public string MediumPhaseState { get; set; }
}
public partial class IDPPreRunInstrumentation
{
public static List<IDPPreRunInstrumentation> FromJson(string json)
{
return JsonConvert.DeserializeObject<List<IDPPreRunInstrumentation>>(json, Model.Converter.Settings);
}
}
}

View File

@ -0,0 +1,254 @@
// <auto-generated />
//
// To parse this JSON data, add NuGet 'Newtonsoft.Json' then do:
//
// using Model;
//
// var response = Response.FromJson(jsonString);
namespace Model
{
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
/// <summary>
/// 管道一览表数据结果对象
/// </summary>
public partial class IDPPreRunPiping
{
/// <summary>
/// itemId
/// </summary>
[JsonProperty("itemId")]
public string ItemId { get; set; }
/// <summary>
/// category
/// </summary>
[JsonProperty("category")]
public string Category { get; set; }
/// <summary>
/// tag
/// </summary>
[JsonProperty("tag")]
public string Tag { get; set; }
/// <summary>
/// 装置工序主项码
/// </summary>
[JsonProperty("wbsCode")]
public string WbsCode { get; set; }
/// <summary>
/// 装置码
/// </summary>
[JsonProperty("deviceCode")]
public string DeviceCode { get; set; }
/// <summary>
/// 工序码
/// </summary>
[JsonProperty("processesCode")]
public string ProcessesCode { get; set; }
/// <summary>
/// 主项码
/// </summary>
[JsonProperty("subjectCode")]
public string SubjectCode { get; set; }
/// <summary>
/// 管道号
/// </summary>
[JsonProperty("管道号")]
public string PipingCode { get; set; }
/// <summary>
/// 公称直径
/// </summary>
[JsonProperty("公称直径")]
public string Diameter { get; set; }
/// <summary>
/// 【单位】公称直径
/// </summary>
[JsonProperty("【单位】公称直径")]
public string DiameterUnit { get; set; }
/// <summary>
/// 管道材料等级
/// </summary>
[JsonProperty("管道材料等级")]
public string MaterialLevel { get; set; }
/// <summary>
/// 绝热伴热类型
/// </summary>
[JsonProperty("绝热伴热类型")]
public string AdiabatType { get; set; }
/// <summary>
/// 绝热伴热厚度
/// </summary>
[JsonProperty("绝热伴热厚度")]
public string AdiabatThickness { get; set; }
/// <summary>
/// 【单位】绝热伴热厚度
/// </summary>
[JsonProperty("【单位】绝热伴热厚度")]
public string AdiabatThicknessUnit { get; set; }
/// <summary>
/// 介质相态
/// </summary>
[JsonProperty("介质相态")]
public string MediumState { get; set; }
/// <summary>
/// 管道起点P&ID图号
/// </summary>
[JsonProperty("管道起点P&ID图号")]
public string DrawingStartNo { get; set; }
/// <summary>
/// 管道终点P&ID图号
/// </summary>
[JsonProperty("管道终点P&ID图号")]
public string DrawingEndNo { get; set; }
/// <summary>
/// 管道起点管号
/// </summary>
[JsonProperty("管道起点管号")]
public string PipingStart { get; set; }
/// <summary>
/// 管道终点管号
/// </summary>
[JsonProperty("管道终点管号")]
public string PipingEnd { get; set; }
/// <summary>
/// 压力管道级别
/// </summary>
[JsonProperty("压力管道级别")]
public string PipingLevel { get; set; }
/// <summary>
/// 正常工作条件温度
/// </summary>
[JsonProperty("正常工作条件温度")]
public string NormalTemperature { get; set; }
/// <summary>
/// 【单位】正常工作条件温度
/// </summary>
[JsonProperty("【单位】正常工作条件温度")]
public string NormalTemperatureUnit { get; set; }
/// <summary>
/// 正常工作条件压力
/// </summary>
[JsonProperty("正常工作条件压力")]
public string NormalPressure { get; set; }
/// <summary>
/// 【单位】正常工作条件压力
/// </summary>
[JsonProperty("【单位】正常工作条件压力")]
public string NormalPressureUnit { get; set; }
/// <summary>
/// 设计条件温度
/// </summary>
[JsonProperty("设计条件温度")]
public string DesignTemperature { get; set; }
/// <summary>
/// 【单位】设计条件温度
/// </summary>
[JsonProperty("【单位】设计条件温度")]
public string DesignTemperatureUnit { get; set; }
/// <summary>
/// 设计条件压力
/// </summary>
[JsonProperty("设计条件压力")]
public string DesignPressure { get; set; }
/// <summary>
/// 【单位】设计条件压力
/// </summary>
[JsonProperty("【单位】设计条件压力")]
public string DesignPressureUnit { get; set; }
/// <summary>
/// 涂漆等级
/// </summary>
[JsonProperty("涂漆等级")]
public string PaintLevel { get; set; }
/// <summary>
/// 备注
/// </summary>
[JsonProperty("备注")]
public string Remark { get; set; }
/******************
/// <summary>
/// 伴热介质
/// </summary>
[JsonProperty("伴热介质")]
public string { get; set; }
/// <summary>
/// 无损检测RT比例
/// </summary>
[JsonProperty("无损检测RT比例")]
public string { get; set; }
/// <summary>
/// 试压介质
/// </summary>
[JsonProperty("试压介质")]
public string { get; set; }
/// <summary>
/// 试压压力
/// </summary>
[JsonProperty("试压压力")]
public string { get; set; }
/// <summary>
/// 伴热管规格
/// </summary>
[JsonProperty("伴热管规格")]
public string { get; set; }
/// <summary>
/// 介质代码
/// </summary>
[JsonProperty("介质代码")]
public string { get; set; }
/// <summary>
/// 毒性
/// </summary>
[JsonProperty("毒性")]
public string { get; set; }
/// <summary>
/// 热处理
/// </summary>
[JsonProperty("热处理")]
public string { get; set; }
/// <summary>
/// 无毒、不可燃、无腐蚀性
/// </summary>
[JsonProperty("无毒、不可燃、无腐蚀性")]
public string { get; set; }
/// <summary>
/// 无损检测(检查等级)
/// </summary>
[JsonProperty("无损检测(检查等级)")]
public string { get; set; }
/// <summary>
/// 静电接地
/// </summary>
[JsonProperty("静电接地")]
public string { get; set; }
/// <summary>
/// 泄漏性试验
/// </summary>
[JsonProperty("泄漏性试验")]
public string { get; set; }
/// <summary>
/// 可燃
/// </summary>
[JsonProperty("可燃")]
public string { get; set; }
**********************/
}
public partial class IDPPreRunPiping
{
public static List<IDPPreRunPiping> FromJson(string json)
{
return JsonConvert.DeserializeObject<List<IDPPreRunPiping>>(json, Model.Converter.Settings);
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -236,6 +236,9 @@
<Compile Include="HSSE\SpResourceCollection.cs" />
<Compile Include="HSSE\WorkPostStatisticItem.cs" />
<Compile Include="HSSE\HSSE_HazardTemplate.cs" />
<Compile Include="IDP\IDPPreRunInstrumentation.cs" />
<Compile Include="IDP\IDPPreRunEquipment.cs" />
<Compile Include="IDP\IDPPreRunPiping.cs" />
<Compile Include="IDP\IDPPreRunData.cs" />
<Compile Include="IDP\SessionItem.cs" />
<Compile Include="IDP\OADesignDrawingData.cs" />

View File

@ -3,6 +3,7 @@ using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Web.Http;
namespace WebAPI.Controllers
@ -110,16 +111,25 @@ namespace WebAPI.Controllers
#region IDP系统项目开车数据
/// <summary>
/// 每天夜间同步获取IDP系统项目开车数据
/// 获取IDP系统项目开车数据【测试用,接口不上线】
/// </summary>
/// <returns></returns>
[HttpPost]
public Model.ResponeData SynIDPPreRunData()
public Model.ReturnData SynIDPPreRunData()
{
var responeData = new Model.ResponeData();
var responeData = new Model.ReturnData();
responeData.time = DateTime.Now.ToString();
try
{
IDPDataService.GetIDPProjectPreRunData();
var session = IDPDataService.GetAuthenticationSession();
//ErrLogInfo.WriteLog($"Session——name{session.name}value{session.value}");
string pipingMsg = IDPDataService.GetIDPProjectPreRunDataPiping(session, "32d0bca0-7693-4bd6-813d-6ee174ba29d3");
string equipmentMsg = IDPDataService.GetIDPProjectPreRunDataEquipment(session, "32d0bca0-7693-4bd6-813d-6ee174ba29d3");
string instrumentationMsg = IDPDataService.GetIDPProjectPreRunDataInstrumentation(session, "32d0bca0-7693-4bd6-813d-6ee174ba29d3");
responeData.message = $"管道一览表:{pipingMsg};设备一览表:{equipmentMsg};索引表:{instrumentationMsg}";
//responeData.message = $"管道一览表:{pipingMsg};设备一览表:{equipmentMsg}";
//responeData.message = $"索引表:{instrumentationMsg}";
}
catch (Exception ex)
{

View File

@ -6,7 +6,7 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PublishTargetUrl>G:\发布\五环WebApi</_PublishTargetUrl>
<History>True|2025-07-23T03:12:18.0134770Z||;True|2025-07-23T10:36:09.9990536+08:00||;True|2025-07-23T10:35:51.8814789+08:00||;True|2025-07-21T17:46:45.4620710+08:00||;True|2025-07-21T17:40:43.9871097+08:00||;True|2025-07-21T17:29:11.9275869+08:00||;True|2025-07-21T17:05:21.7763763+08:00||;True|2025-07-18T17:55:59.4892329+08:00||;True|2025-07-18T11:08:56.2628896+08:00||;True|2025-07-18T10:53:44.2534260+08:00||;True|2025-07-18T10:27:52.6751668+08:00||;True|2025-07-18T10:03:09.1785776+08:00||;True|2025-07-18T10:02:38.1252107+08:00||;True|2025-07-17T18:19:07.5837609+08:00||;True|2025-07-17T15:40:11.9126705+08:00||;True|2025-07-11T17:54:03.0298703+08:00||;True|2025-07-11T16:19:50.3283029+08:00||;True|2025-07-11T15:49:22.5920473+08:00||;True|2025-07-02T14:39:27.0436873+08:00||;True|2025-07-02T11:18:29.1208369+08:00||;True|2025-07-01T15:52:16.6767496+08:00||;True|2025-07-01T10:14:59.0471052+08:00||;True|2025-06-28T11:40:36.0544739+08:00||;True|2025-06-27T15:10:24.4628086+08:00||;True|2025-06-27T10:31:14.8332810+08:00||;True|2025-06-27T10:13:13.3022394+08:00||;True|2025-06-26T23:51:04.1304509+08:00||;True|2025-06-26T23:34:06.4223762+08:00||;True|2025-06-26T22:42:08.9018138+08:00||;True|2025-06-26T22:16:01.8954571+08:00||;True|2025-06-26T21:19:42.2638204+08:00||;True|2025-06-25T23:22:39.7267591+08:00||;True|2025-06-25T23:19:33.2378458+08:00||;True|2025-06-25T22:18:16.2863303+08:00||;True|2025-06-25T22:10:29.2540175+08:00||;True|2025-06-25T22:00:58.5212166+08:00||;True|2025-06-25T22:00:31.2531214+08:00||;True|2025-06-25T18:33:01.5770030+08:00||;True|2025-06-25T17:47:33.7779622+08:00||;True|2025-06-25T17:40:26.9905954+08:00||;True|2025-06-20T11:24:58.4099232+08:00||;True|2025-06-19T16:42:45.2358810+08:00||;True|2025-06-16T19:28:10.6447738+08:00||;True|2025-06-12T11:00:02.3559090+08:00||;True|2025-06-12T10:40:29.0324520+08:00||;True|2025-06-04T23:24:01.0324973+08:00||;True|2025-06-04T18:39:41.7304136+08:00||;True|2025-06-04T11:23:17.3803405+08:00||;True|2025-06-04T11:04:32.4212196+08:00||;True|2025-05-26T19:19:09.7246357+08:00||;True|2025-05-26T19:16:39.1283077+08:00||;True|2025-05-26T19:09:24.1561616+08:00||;True|2025-04-07T16:11:44.5172315+08:00||;True|2025-04-02T18:10:22.8695984+08:00||;True|2025-04-02T17:59:51.2978116+08:00||;True|2025-04-02T17:50:55.8630437+08:00||;True|2025-04-02T17:49:22.5114405+08:00||;True|2025-04-02T17:47:11.0650205+08:00||;True|2025-04-02T17:39:09.8576853+08:00||;True|2025-04-02T17:38:15.3079030+08:00||;True|2025-04-02T17:22:03.6735964+08:00||;True|2025-04-02T17:19:04.4220913+08:00||;True|2025-04-02T17:17:14.0244636+08:00||;True|2025-04-02T17:11:09.6583011+08:00||;True|2025-04-02T17:07:23.6330597+08:00||;True|2025-04-02T16:58:45.4070649+08:00||;True|2025-04-02T16:50:20.5907511+08:00||;True|2025-04-02T16:44:18.5351224+08:00||;True|2025-04-02T16:31:11.1297141+08:00||;True|2025-04-02T16:18:43.1126995+08:00||;True|2025-04-02T14:50:42.5384021+08:00||;True|2025-04-01T10:53:08.9403414+08:00||;True|2025-04-01T10:52:08.7646389+08:00||;True|2025-04-01T09:52:56.3095742+08:00||;True|2025-03-13T16:44:25.3220313+08:00||;True|2025-03-13T15:31:10.3223071+08:00||;True|2025-03-13T10:58:17.1401575+08:00||;True|2025-01-23T23:10:37.9664637+08:00||;True|2024-09-24T09:51:10.8028974+08:00||;True|2024-09-20T17:30:59.6144803+08:00||;True|2024-09-20T15:28:40.2547949+08:00||;True|2024-09-19T16:30:51.3047517+08:00||;True|2024-09-19T15:53:23.2431713+08:00||;True|2024-09-19T15:48:55.0571748+08:00||;True|2024-09-19T15:06:29.5748482+08:00||;True|2024-09-19T14:55:42.1477578+08:00||;True|2024-09-19T10:07:53.8666329+08:00||;True|2024-09-03T16:26:17.4985546+08:00||;True|2024-07-17T10:29:15.9472548+08:00||;</History>
<History>True|2025-08-04T10:56:13.9675910Z||;True|2025-07-23T11:12:18.0134770+08:00||;True|2025-07-23T10:36:09.9990536+08:00||;True|2025-07-23T10:35:51.8814789+08:00||;True|2025-07-21T17:46:45.4620710+08:00||;True|2025-07-21T17:40:43.9871097+08:00||;True|2025-07-21T17:29:11.9275869+08:00||;True|2025-07-21T17:05:21.7763763+08:00||;True|2025-07-18T17:55:59.4892329+08:00||;True|2025-07-18T11:08:56.2628896+08:00||;True|2025-07-18T10:53:44.2534260+08:00||;True|2025-07-18T10:27:52.6751668+08:00||;True|2025-07-18T10:03:09.1785776+08:00||;True|2025-07-18T10:02:38.1252107+08:00||;True|2025-07-17T18:19:07.5837609+08:00||;True|2025-07-17T15:40:11.9126705+08:00||;True|2025-07-11T17:54:03.0298703+08:00||;True|2025-07-11T16:19:50.3283029+08:00||;True|2025-07-11T15:49:22.5920473+08:00||;True|2025-07-02T14:39:27.0436873+08:00||;True|2025-07-02T11:18:29.1208369+08:00||;True|2025-07-01T15:52:16.6767496+08:00||;True|2025-07-01T10:14:59.0471052+08:00||;True|2025-06-28T11:40:36.0544739+08:00||;True|2025-06-27T15:10:24.4628086+08:00||;True|2025-06-27T10:31:14.8332810+08:00||;True|2025-06-27T10:13:13.3022394+08:00||;True|2025-06-26T23:51:04.1304509+08:00||;True|2025-06-26T23:34:06.4223762+08:00||;True|2025-06-26T22:42:08.9018138+08:00||;True|2025-06-26T22:16:01.8954571+08:00||;True|2025-06-26T21:19:42.2638204+08:00||;True|2025-06-25T23:22:39.7267591+08:00||;True|2025-06-25T23:19:33.2378458+08:00||;True|2025-06-25T22:18:16.2863303+08:00||;True|2025-06-25T22:10:29.2540175+08:00||;True|2025-06-25T22:00:58.5212166+08:00||;True|2025-06-25T22:00:31.2531214+08:00||;True|2025-06-25T18:33:01.5770030+08:00||;True|2025-06-25T17:47:33.7779622+08:00||;True|2025-06-25T17:40:26.9905954+08:00||;True|2025-06-20T11:24:58.4099232+08:00||;True|2025-06-19T16:42:45.2358810+08:00||;True|2025-06-16T19:28:10.6447738+08:00||;True|2025-06-12T11:00:02.3559090+08:00||;True|2025-06-12T10:40:29.0324520+08:00||;True|2025-06-04T23:24:01.0324973+08:00||;True|2025-06-04T18:39:41.7304136+08:00||;True|2025-06-04T11:23:17.3803405+08:00||;True|2025-06-04T11:04:32.4212196+08:00||;True|2025-05-26T19:19:09.7246357+08:00||;True|2025-05-26T19:16:39.1283077+08:00||;True|2025-05-26T19:09:24.1561616+08:00||;True|2025-04-07T16:11:44.5172315+08:00||;True|2025-04-02T18:10:22.8695984+08:00||;True|2025-04-02T17:59:51.2978116+08:00||;True|2025-04-02T17:50:55.8630437+08:00||;True|2025-04-02T17:49:22.5114405+08:00||;True|2025-04-02T17:47:11.0650205+08:00||;True|2025-04-02T17:39:09.8576853+08:00||;True|2025-04-02T17:38:15.3079030+08:00||;True|2025-04-02T17:22:03.6735964+08:00||;True|2025-04-02T17:19:04.4220913+08:00||;True|2025-04-02T17:17:14.0244636+08:00||;True|2025-04-02T17:11:09.6583011+08:00||;True|2025-04-02T17:07:23.6330597+08:00||;True|2025-04-02T16:58:45.4070649+08:00||;True|2025-04-02T16:50:20.5907511+08:00||;True|2025-04-02T16:44:18.5351224+08:00||;True|2025-04-02T16:31:11.1297141+08:00||;True|2025-04-02T16:18:43.1126995+08:00||;True|2025-04-02T14:50:42.5384021+08:00||;True|2025-04-01T10:53:08.9403414+08:00||;True|2025-04-01T10:52:08.7646389+08:00||;True|2025-04-01T09:52:56.3095742+08:00||;True|2025-03-13T16:44:25.3220313+08:00||;True|2025-03-13T15:31:10.3223071+08:00||;True|2025-03-13T10:58:17.1401575+08:00||;True|2025-01-23T23:10:37.9664637+08:00||;True|2024-09-24T09:51:10.8028974+08:00||;True|2024-09-20T17:30:59.6144803+08:00||;True|2024-09-20T15:28:40.2547949+08:00||;True|2024-09-19T16:30:51.3047517+08:00||;True|2024-09-19T15:53:23.2431713+08:00||;True|2024-09-19T15:48:55.0571748+08:00||;True|2024-09-19T15:06:29.5748482+08:00||;True|2024-09-19T14:55:42.1477578+08:00||;True|2024-09-19T10:07:53.8666329+08:00||;True|2024-09-03T16:26:17.4985546+08:00||;True|2024-07-17T10:29:15.9472548+08:00||;</History>
<LastFailureDetails />
</PropertyGroup>
<ItemGroup>
@ -86,22 +86,22 @@
<publishTime>10/28/2024 14:02:50</publishTime>
</File>
<File Include="bin/App_global.asax.compiled">
<publishTime>07/23/2025 11:12:17</publishTime>
<publishTime>08/04/2025 18:56:12</publishTime>
</File>
<File Include="bin/App_global.asax.dll">
<publishTime>07/23/2025 11:12:17</publishTime>
<publishTime>08/04/2025 18:56:12</publishTime>
</File>
<File Include="bin/Aspose.Words.dll">
<publishTime>12/06/2024 20:13:58</publishTime>
</File>
<File Include="bin/BLL.dll">
<publishTime>07/23/2025 10:35:29</publishTime>
<publishTime>08/04/2025 18:55:48</publishTime>
</File>
<File Include="bin/BLL.dll.config">
<publishTime>12/26/2024 09:46:52</publishTime>
</File>
<File Include="bin/BLL.pdb">
<publishTime>07/23/2025 10:35:29</publishTime>
<publishTime>08/04/2025 18:55:48</publishTime>
</File>
<File Include="bin/BouncyCastle.Crypto.dll">
<publishTime>12/18/2020 05:32:28</publishTime>
@ -128,10 +128,10 @@
<publishTime>07/25/2012 19:48:56</publishTime>
</File>
<File Include="bin/Model.dll">
<publishTime>07/21/2025 17:04:55</publishTime>
<publishTime>08/04/2025 18:55:40</publishTime>
</File>
<File Include="bin/Model.pdb">
<publishTime>07/21/2025 17:04:55</publishTime>
<publishTime>08/04/2025 18:55:40</publishTime>
</File>
<File Include="bin/netstandard.dll">
<publishTime>07/04/2024 14:13:01</publishTime>
@ -389,13 +389,13 @@
<publishTime>02/09/2013 00:42:28</publishTime>
</File>
<File Include="bin/WebAPI.dll">
<publishTime>07/23/2025 11:12:08</publishTime>
<publishTime>08/04/2025 18:55:51</publishTime>
</File>
<File Include="bin/WebAPI.pdb">
<publishTime>07/23/2025 11:12:08</publishTime>
<publishTime>08/04/2025 18:55:51</publishTime>
</File>
<File Include="bin/WebAPI.xml">
<publishTime>07/23/2025 11:12:08</publishTime>
<publishTime>08/04/2025 18:55:51</publishTime>
</File>
<File Include="bin/WebGrease.dll">
<publishTime>01/23/2014 21:57:34</publishTime>
@ -458,7 +458,7 @@
<publishTime>10/28/2024 14:02:50</publishTime>
</File>
<File Include="ErrLog.txt">
<publishTime>07/16/2025 18:09:47</publishTime>
<publishTime>07/30/2025 15:40:50</publishTime>
</File>
<File Include="favicon.ico">
<publishTime>10/28/2024 14:02:50</publishTime>
@ -479,7 +479,7 @@
<publishTime>10/28/2024 14:02:50</publishTime>
</File>
<File Include="PrecompiledApp.config">
<publishTime>07/23/2025 11:12:09</publishTime>
<publishTime>08/04/2025 18:55:53</publishTime>
</File>
<File Include="Scripts/bootstrap.js">
<publishTime>10/28/2024 14:02:50</publishTime>