DeviceManager/DeviceRepairAndOptimization/Biz/AM/Templates/FM_P0075_15.cs
2024-07-08 10:44:57 +08:00

78 lines
2.4 KiB
C#

using NPOI.SS.UserModel;
using System;
using System.ComponentModel;
using DeviceRepairAndOptimization.Common.NpoiExtend;
using System.Reflection;
namespace DeviceRepairAndOptimization.Biz.AM.Templates
{
public class FM_P0075_15
{
/// <summary>
/// 序号
/// </summary>
[Description("序号")]
public string OrderNumber = "[A,3]";
/// <summary>
/// 设备型号
/// </summary>
[Description("设备型号")]
public string EquipmentTs = "[A,1]";
/// <summary>
/// 设备编号
/// </summary>
[Description("设备编号")]
public string EquipmentID = "[I,1]";
/// <summary>
/// 班次
/// </summary>
[Description("班次")]
public string Banci = "[H,3]";
/// <summary>
/// 其他异常处理
/// </summary>
[Description("其它异常\n及处理")]
public string ExceptionContent = "[A,15]";
/// <summary>
/// 点检者\n签名
/// </summary>
[Description("点检者\n签名")]
public string Signature = "[G,15]";
public ArgumentException CheckCurrentSheet(ISheet sheet)
{
try
{
var type = this.GetType();
FieldInfo[] fields = type.GetFields(BindingFlags.Public | BindingFlags.Instance);
foreach (var item in fields)
{
string Description = string.Empty;
object[] attrs = item.GetCustomAttributes(typeof(DescriptionAttribute), false);
if (null != attrs && attrs.Length > 0)
{
DescriptionAttribute description = (DescriptionAttribute)attrs[0];
Description = description.Description;
}
string field = item.GetValue(this)?.ToString();
string CellValue = sheet.LocateCellByAddress(field).StringCellValue;
if (!Description.Equals(CellValue, StringComparison.CurrentCultureIgnoreCase))
return new ArgumentException($"当前点检表格式不正确,操作失败!");
}
}
catch (Exception ex)
{
return new ArgumentException(ex.Message);
}
return null;
}
}
}