113 lines
5.2 KiB
C#
113 lines
5.2 KiB
C#
using DevExpress.Spreadsheet;
|
|
using DevExpress.Utils.Menu;
|
|
using DevExpress.XtraSpreadsheet.Menu;
|
|
using DeviceRepair.Models;
|
|
using DeviceRepair.Models.Enum;
|
|
using DeviceRepair.Utils;
|
|
using System;
|
|
using System.Linq;
|
|
|
|
namespace TsSFCDevice.Client.Launch.PreserveTemplate
|
|
{
|
|
public class TemplateIndexV2 : BaseTemplate
|
|
{
|
|
public new delegate void WriteValueEventHandler(EnumMaintenanceCellType CellType, string value, bool IsException = false);
|
|
|
|
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, "N"); }),
|
|
new DXMenuItem("给油",(s,e)=>{WriteValue(EnumMaintenanceCellType.Content, "U"); }),
|
|
new DXMenuItem("清洁",(s,e)=>{WriteValue(EnumMaintenanceCellType.Content, "C"); }),
|
|
new DXMenuItem("修理",(s,e)=>{WriteValue(EnumMaintenanceCellType.Content, "R"); }),
|
|
new DXMenuItem("调整",(s,e)=>{WriteValue(EnumMaintenanceCellType.Content, "T"); }),
|
|
new DXMenuItem("替换",(s,e)=>{WriteValue(EnumMaintenanceCellType.Content, "H"); }),
|
|
new DXMenuItem("有问题/异常",(s,e)=>{WriteValue(EnumMaintenanceCellType.Content, "X", EnumMaintenanceOperationType.Write,true);} ),
|
|
new DXMenuItem("不适用或无生产",(s,e)=>{WriteValue(EnumMaintenanceCellType.Content, "N/A"); }),
|
|
new DXMenuItem("清空",(s,e)=>{WriteValue(EnumMaintenanceCellType.Content, "", EnumMaintenanceOperationType.Clear); }),
|
|
}
|
|
};
|
|
}
|
|
return _popupContent;
|
|
}
|
|
}
|
|
|
|
|
|
public TemplateIndexV2() : base()
|
|
{
|
|
|
|
}
|
|
|
|
public TemplateIndexV2(Worksheet ws) : base(ws)
|
|
{
|
|
try
|
|
{
|
|
SheetDataItem FrequencyItem = new SheetDataItem();
|
|
DeviceSpecification.Add(new SheetDataItem { ColumnIndex = 3, RowIndex = 0 });
|
|
EquipmentID.Add(new SheetDataItem { ColumnIndex = 3, RowIndex = 2 });
|
|
|
|
Cell cell = worksheet.Cells[4, 2];
|
|
if (cell.Value.TextValue?.ToString() == "频次")
|
|
{
|
|
FrequencyItem.RowIndex = 4;
|
|
FrequencyItem.ColumnIndex = 2;
|
|
}
|
|
|
|
for (int rowIndex = 5; rowIndex < LastUsedRowIndex; rowIndex++)
|
|
{
|
|
cell = worksheet.Cells[rowIndex, 2];
|
|
if (cell.Value.IsEmpty)
|
|
{
|
|
if (cell.IsMerged)
|
|
{
|
|
//获取主单元格位置
|
|
int top = (worksheet.Cells[rowIndex, 2].GetMergedRanges()[0]).TopRowIndex;
|
|
int left = (worksheet.Cells[rowIndex, 2].GetMergedRanges()[0]).LeftColumnIndex;
|
|
|
|
if (worksheet.Cells[top, left].Value.TextValue?.Replace("\n", "")?.Trim() == "异常处理备注")
|
|
{
|
|
ExceptionDescription.Add(new SheetDataItem { ColumnIndex = 3, RowIndex = rowIndex, MaintenanceType = EnumMaintenanceType.None });
|
|
continue;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
continue;
|
|
}
|
|
}
|
|
|
|
string FrequencyType = worksheet.Cells[rowIndex, FrequencyItem.ColumnIndex].Value.TextValue;
|
|
EnumMaintenanceType type = EnumMaintenanceTypeHelper.MatchToEnum(FrequencyType);
|
|
|
|
string FrequencyValue = worksheet.Cells[rowIndex, 2].Value.IsText
|
|
? worksheet.Cells[rowIndex, 2].Value.TextValue
|
|
: worksheet.Cells[rowIndex, 2].Value.NumericValue + "";
|
|
|
|
for (int colIndex = 6; colIndex < LastUsedColumnIndex; colIndex++)
|
|
{
|
|
Content.Add(new SheetDataItem { ColumnIndex = colIndex, RowIndex = rowIndex, MaintenanceType = type, MaintenanceTypeValue = FrequencyValue });
|
|
if (!Operation.Any(x => x.ColumnIndex == colIndex))
|
|
{
|
|
Operation.Add(new SheetDataItem { RowIndex = 3, ColumnIndex = colIndex, MaintenanceType = type, MaintenanceTypeValue = FrequencyValue });
|
|
OperationDate.Add(new SheetDataItem { RowIndex = 2, ColumnIndex = colIndex, MaintenanceType = type, MaintenanceTypeValue = FrequencyValue });
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
}
|