168 lines
6.7 KiB
C#
168 lines
6.7 KiB
C#
|
using DevExpress.Spreadsheet;
|
|||
|
using DevExpress.Utils.Menu;
|
|||
|
using DevExpress.XtraSpreadsheet.Menu;
|
|||
|
using DeviceRepair.Models;
|
|||
|
using DeviceRepair.Models.Enum;
|
|||
|
using DeviceRepairAndOptimization.Common.NpoiExtend;
|
|||
|
|
|||
|
namespace DeviceRepairAndOptimization.Biz.PreserveTemplate
|
|||
|
{
|
|||
|
public class Template_AM_17 : BaseTemplate
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 设备名称
|
|||
|
/// </summary>
|
|||
|
internal readonly string EquipmentNameAddress = "[F,1]";
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 安装地点
|
|||
|
/// </summary>
|
|||
|
internal readonly string InstallationSiteAddress = "[R,1]";
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 设备编号
|
|||
|
/// </summary>
|
|||
|
internal readonly string EquipmentNumberAddress = "[F,2]";
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 设备型号
|
|||
|
/// </summary>
|
|||
|
internal readonly string EquipmentModelAddress = "[R,2]";
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 异常处理固定字符
|
|||
|
/// </summary>
|
|||
|
internal override string ExceptionFreezeString
|
|||
|
{
|
|||
|
get { return "异常备注:"; }
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 正文
|
|||
|
/// </summary>
|
|||
|
internal override SpreadsheetPopupMenu popupContent
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
if (_popupContent == null)
|
|||
|
{
|
|||
|
_popupContent = new SpreadsheetPopupMenu()
|
|||
|
{
|
|||
|
Caption = "正文",
|
|||
|
Items =
|
|||
|
{
|
|||
|
new DXMenuItem("已保养",(s,e)=>{WriteValue(EnumMaintenanceCellType.Content, "√"); }),
|
|||
|
new DXMenuItem("未保养",(s,e)=>{WriteValue(EnumMaintenanceCellType.Content, "×", EnumMaintenanceOperationType.Write, true); }),
|
|||
|
new DXMenuItem("不适用",(s,e)=>{WriteValue(EnumMaintenanceCellType.Content, "N/A"); }),
|
|||
|
new DXMenuItem("清空",(s,e)=>{WriteValue(EnumMaintenanceCellType.Content, "", EnumMaintenanceOperationType.Clear); }),
|
|||
|
}
|
|||
|
};
|
|||
|
}
|
|||
|
return _popupContent;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 其他异常处理
|
|||
|
/// </summary>
|
|||
|
internal override SpreadsheetPopupMenu popupException
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
if (_popupException == null)
|
|||
|
{
|
|||
|
_popupException = new SpreadsheetPopupMenu()
|
|||
|
{
|
|||
|
Caption = "其他异常处理",
|
|||
|
Items =
|
|||
|
{
|
|||
|
new DXMenuItem("编辑",(s,e)=>
|
|||
|
{
|
|||
|
WriteValue(EnumMaintenanceCellType.ExceptionDescription, ExceptionFreezeString, EnumMaintenanceOperationType.Write,true);
|
|||
|
}),
|
|||
|
new DXMenuItem("清空", (a, aa) =>
|
|||
|
{
|
|||
|
WriteValue(EnumMaintenanceCellType.ExceptionDescription, "", EnumMaintenanceOperationType.Clear);
|
|||
|
}),
|
|||
|
}
|
|||
|
};
|
|||
|
}
|
|||
|
return _popupException;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public Template_AM_17() : base()
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 初始化对象
|
|||
|
/// </summary>
|
|||
|
/// <param name="ws">Worksheet 控件对象</param>
|
|||
|
/// <param name="CurrentType">当前计划类型</param>
|
|||
|
/// <param name="EditColValue">当前编辑列</param>
|
|||
|
public Template_AM_17(Worksheet ws) : base(ws)
|
|||
|
{
|
|||
|
#region 设备名称
|
|||
|
EquipmentName.Add(SheetExtend.AddressToIndex(EquipmentNameAddress));
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 安装地点
|
|||
|
InstallationSite.Add(SheetExtend.AddressToIndex(InstallationSiteAddress));
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 设备编号
|
|||
|
EquipmentID.Add(SheetExtend.AddressToIndex(EquipmentNumberAddress));
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 设备型号
|
|||
|
DeviceSpecification.Add(SheetExtend.AddressToIndex(EquipmentModelAddress));
|
|||
|
#endregion
|
|||
|
|
|||
|
int JanColIndex = SheetExtend.ColumnIndexFromLetter("O");
|
|||
|
int DecColIndex = SheetExtend.ColumnIndexFromLetter("Z");
|
|||
|
|
|||
|
for (int rowIndex = 4; rowIndex < LastUsedRowIndex; rowIndex++)
|
|||
|
{
|
|||
|
#region 空行判断
|
|||
|
Cell FirstCell = worksheet.Cells[rowIndex, 0];
|
|||
|
if (FirstCell.Value.IsEmpty && !FirstCell.IsMerged)
|
|||
|
break;
|
|||
|
#endregion
|
|||
|
|
|||
|
for (int colIndex = JanColIndex; colIndex <= DecColIndex; colIndex++)
|
|||
|
{
|
|||
|
Cell cell = worksheet.Cells[rowIndex, colIndex];
|
|||
|
Cell PreviousCell = worksheet[rowIndex, JanColIndex - 1];
|
|||
|
if (PreviousCell.IsMerged)
|
|||
|
{
|
|||
|
//获取主单元格位置
|
|||
|
int PreRowIndex = (PreviousCell.GetMergedRanges()[0]).TopRowIndex;
|
|||
|
int PreColumnIndex = (PreviousCell.GetMergedRanges()[0]).LeftColumnIndex;
|
|||
|
PreviousCell = worksheet[PreRowIndex, PreColumnIndex];
|
|||
|
}
|
|||
|
|
|||
|
if ((PreviousCell?.Value?.TextValue ?? "") == "保养人签字")
|
|||
|
{
|
|||
|
// 保养人签字
|
|||
|
Operation.Add(new SheetDataItem { RowIndex = rowIndex, ColumnIndex = colIndex, MaintenanceType = EnumMaintenanceType.Monthly, MaintenanceTypeValue = worksheet.Cells[3, colIndex].Value.TextValue + "" });
|
|||
|
|
|||
|
// 异常备注:
|
|||
|
ExceptionDescription.Add(new SheetDataItem { RowIndex = rowIndex, ColumnIndex = 0, MaintenanceType = EnumMaintenanceType.Monthly, MaintenanceTypeValue = worksheet.Cells[3, colIndex].Value.TextValue + "" });
|
|||
|
}
|
|||
|
else if ((PreviousCell?.Value?.TextValue ?? "") == "保养日期")
|
|||
|
{
|
|||
|
// 保养日期
|
|||
|
OperationDate.Add(new SheetDataItem { RowIndex = rowIndex, ColumnIndex = colIndex, MaintenanceType = EnumMaintenanceType.Monthly, MaintenanceTypeValue = worksheet.Cells[3, colIndex].Value.TextValue + "" });
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// 正文
|
|||
|
Content.Add(new SheetDataItem { RowIndex = rowIndex, ColumnIndex = colIndex, MaintenanceType = EnumMaintenanceType.Monthly, MaintenanceTypeValue = worksheet.Cells[3, colIndex].Value.TextValue + "" });
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|