2025-04-11 17:07:03 +08:00
|
|
|
|
using MiniExcelLibs;
|
|
|
|
|
using Sinvo.EplanHpD.Plugin.WPFUI.Models;
|
2025-05-05 09:06:42 +08:00
|
|
|
|
using Sinvo.EplanHpD.Plugin.WPFUI.Models.MultiCoreWire;
|
2025-04-11 17:07:03 +08:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.IO;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace Sinvo.EplanHpD.Plugin.WPFUI.Utils
|
|
|
|
|
{
|
|
|
|
|
public class MultiCoreWireExcelHelper
|
|
|
|
|
{
|
|
|
|
|
public static MultiCoreWireExcelHelper Instance = new();
|
|
|
|
|
|
|
|
|
|
private Stream dataFileStream;
|
|
|
|
|
public void ReadDataToStream()
|
|
|
|
|
{
|
|
|
|
|
var file = Path.Combine(Consts.PLUGIN_DATA_FILE_PATH, Consts.PLUGIN_MULTI_CORE_WIRE_FILE_NAME);
|
|
|
|
|
if (File.Exists(file))
|
|
|
|
|
{
|
|
|
|
|
var bytes = File.ReadAllBytes(file);
|
|
|
|
|
dataFileStream = new MemoryStream(bytes);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
throw new FileNotFoundException(file);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2025-05-05 09:06:42 +08:00
|
|
|
|
public IEnumerable<MultiCoreWireExcelModel> GetMultiCoreWireLecDatas()
|
2025-04-11 17:07:03 +08:00
|
|
|
|
{
|
|
|
|
|
if (dataFileStream == null || !dataFileStream.CanRead)
|
|
|
|
|
{
|
|
|
|
|
// 未初始化或是无法读取时,重试一次
|
|
|
|
|
ReadDataToStream();
|
|
|
|
|
}
|
|
|
|
|
//var filePath = "D:\\旧电脑文件\\Desktop\\Data\\三菱伺服HK-KT线材选型BOM表_按程序格式整理后.xlsx";
|
2025-05-05 09:06:42 +08:00
|
|
|
|
var data = MiniExcel.Query<MultiCoreWireExcelModel>(dataFileStream,sheetName: "多芯线WPS数据配对");
|
|
|
|
|
//MiniExcel.Query()
|
|
|
|
|
return data;
|
|
|
|
|
}
|
|
|
|
|
public ConnectorHeatShrinkMapping GetConnectorHeatShrinkMappingDatas(string connectorModel)
|
|
|
|
|
{
|
|
|
|
|
if (dataFileStream == null || !dataFileStream.CanRead)
|
|
|
|
|
{
|
|
|
|
|
// 未初始化或是无法读取时,重试一次
|
|
|
|
|
ReadDataToStream();
|
|
|
|
|
}
|
|
|
|
|
//var filePath = "D:\\旧电脑文件\\Desktop\\Data\\三菱伺服HK-KT线材选型BOM表_按程序格式整理后.xlsx";
|
|
|
|
|
var data = MiniExcel.Query<ConnectorHeatShrinkMapping>(dataFileStream, sheetName: "插头对应热缩管")
|
|
|
|
|
.FirstOrDefault(it => it.ProductName == connectorModel);
|
|
|
|
|
//MiniExcel.Query()
|
|
|
|
|
return data;
|
|
|
|
|
}
|
|
|
|
|
public WireHeatShrinkMapping GetWireHeatShrinkMappingDatas(string wireModelSpecification)
|
|
|
|
|
{
|
|
|
|
|
if (dataFileStream == null || !dataFileStream.CanRead)
|
|
|
|
|
{
|
|
|
|
|
// 未初始化或是无法读取时,重试一次
|
|
|
|
|
ReadDataToStream();
|
|
|
|
|
}
|
|
|
|
|
//var filePath = "D:\\旧电脑文件\\Desktop\\Data\\三菱伺服HK-KT线材选型BOM表_按程序格式整理后.xlsx";
|
|
|
|
|
var data = MiniExcel.Query<WireHeatShrinkMapping>(dataFileStream, sheetName: "线材对应热缩管")
|
|
|
|
|
.FirstOrDefault(it => it.WireModelSpecification == wireModelSpecification);
|
2025-04-11 17:07:03 +08:00
|
|
|
|
//MiniExcel.Query()
|
|
|
|
|
return data;
|
2025-04-22 14:33:49 +08:00
|
|
|
|
}
|
2025-04-11 17:07:03 +08:00
|
|
|
|
}
|
|
|
|
|
}
|