Commit Graph

144 Commits

Author SHA1 Message Date
lihanbo c2dca12e99 重构生成线缆型号的逻辑
对生成线缆型号的逻辑进行了重构和优化:
- 在 `MainViewModel.Check.cs` 文件中:
  - 注释掉了原有的直接拼接字符串生成线缆型号的代码。
  - 新增了调用 `GenWireModel` 方法来生成线缆型号的代码,并在调用时对线缆长度进行了处理。
- 在 `MainViewModel.cs` 文件中:
  - 注释掉了原有的直接拼接字符串生成线缆型号的代码。
  - 新增了调用 `GenWireModel` 方法来生成线缆型号的代码。
  - 新增了 `GenWireModel` 方法,该方法接收线缆颜色、截面积、线缆长度和线缆编号作为参数,并返回生成的线缆型号字符串。
2024-11-08 17:13:24 +08:00
lihanbo 5afa7c0892 105040 Update 更新提示内容指引 2024-11-08 17:11:07 +08:00
lihanbo 861253e891 105040 Update 调整导出表格文件名为机构信息 2024-11-08 17:10:38 +08:00
lihanbo 82a9f67d8c 105040 Update 窗口打开时重新加载缓存数据 2024-11-08 17:10:10 +08:00
lihanbo 7bc9c84af3 105040 Update 修改下单表导出时的日期格式 2024-11-08 17:09:11 +08:00
lihanbo 9e7815e7ee 更新程序集版本信息至 1.0.0.16
更新了 `AssemblyInfo.cs` 文件中的程序集版本信息:
- 将 `AssemblyVersion` 从 `1.0.0.13` 更新为 `1.0.0.16`。
- 将 `AssemblyFileVersion` 从 `1.0.0.15` 更新为 `1.0.0.16`。
- 将 `AssemblyInformationalVersion` 从 `1.0.0.15` 更新为 `1.0.0.16`。
2024-11-08 15:30:28 +08:00
lihanbo c387222d1f 更改日期属性类型并更新日期格式
在 `ExportModel.cs` 文件中:
- 添加了 `MiniExcelLibs.Attributes` 和 `System` 的引用。
- 将 `OrderDate` 和 `DeliveryDate` 属性的数据类型从 `string` 改为 `DateTime`,并添加了 `ExcelColumn` 属性以指定日期格式为 "MM月dd日"。

在 `MainViewModel.cs` 文件中:
- 修改了 `data.Model` 的格式字符串,将 "1x" 改为 "1×"。
- 将 `nowDateStr` 和 `nowDeliveryDateStr` 的初始化从字符串格式的日期改为 `DateTime` 类型,并注释掉了 `.ToString("yyyy-MM-dd")` 部分。
2024-11-08 15:29:49 +08:00
lihanbo 0ff6557251 更新 MainWindow.xaml 和 MainWindow.xaml.cs 文件
在 MainWindow.xaml 文件中:
- 修改 DataGrid.RowStyle 和 DataGridCell 样式中 IsSelected 触发器的 Background 属性值。

在 MainWindow.xaml.cs 文件中:
- 重构了 SelectedItems 相关代码,优化了条件判断和循环逻辑。
- 保留并调整了注释代码的缩进。
2024-11-08 15:28:38 +08:00
lihanbo 4a06cb018c 添加导出完成提示框和忽略异常确认对话框
在 `MainWindow.xaml.cs` 文件中,`saveFileDialog.ShowDialog()` 方法调用后,添加了一行代码 `FlexMessageBox.Info($"导出完成!");`,用于在导出完成后显示信息提示框。
在 `IgnoreSelectedError_Click` 方法中添加了一段代码,用于在用户点击忽略异常按钮后,弹出一个警告对话框,询问用户是否继续操作。如果用户选择继续,则设置 `isContinue` 为 `true`,并继续执行后续代码。
2024-11-08 15:27:46 +08:00
lihanbo a10a4371ba 优化并行处理和代码可读性
格式化了 `data.Where` 的条件部分以提高可读性。
将并行度从 1 提升到 8 以提高性能。
2024-11-08 10:21:10 +08:00
lihanbo 83449ea2dd 更新程序集版本信息至1.0.0.15
更新了 `AssemblyInfo.cs` 文件中的程序集版本信息:
- 将 `[assembly: AssemblyVersion("1.0.0.14")]` 更新为 `[assembly: AssemblyVersion("1.0.0.15")]`。
- 将 `[assembly: AssemblyFileVersion("1.0.0.14")]` 更新为 `[assembly: AssemblyFileVersion("1.0.0.15")]`。
- 将 `[assembly: AssemblyInformationalVersion("1.0.0.14")]` 更新为 `[assembly: AssemblyInformationalVersion("1.0.0.15")]`。
- 将 `[assembly: AssemblyFileVersion("1.0.0.8")]` 更新为 `[assembly: AssemblyFileVersion("1.0.0.15")]`。
2024-11-08 10:17:50 +08:00
lihanbo ef54992069 105040 添加搜索和异常筛选功能
在 `MainWindow.xaml` 中添加了 `StackPanel`,包含 `SearchBar` 和 `ToggleButton`。将 `DataGrid` 的 `ItemsSource` 从 `StuffedData` 更改为 `SearchedData`。在 `MainWindow.xaml.cs` 中初始化 `ViewModel.SearchedData`,并在数据加载完成后调用 `ViewModel.SearchByWireName(null)` 进行初始搜索。添加 `SearchBar_SearchStarted` 方法处理搜索事件,并调用 `ViewModel.SearchByWireName` 进行搜索。在 `StuffedDataModel.cs` 中删除 `INotifyPropertyChanged` 接口的实现。在 `MainViewModel.cs` 中添加 `SearchedData` 和 `OnlyShowError` 属性,以及 `SearchByWireName` 方法用于搜索和更新 `SearchedData`。
2024-11-08 10:16:58 +08:00
lihanbo dcfffe934f 105040 调整测试数据集 2024-11-08 09:19:39 +08:00
lihanbo 34e2337864 添加多个方法的注释以提高代码可读性
添加了以下方法的注释:
- `CheckDPETerminals`:检查地排端子
- `CheckWireErpNr`:检查线材料号
- `CheckNumberTube`:检查号码管
- `CheckRequiredFields`:检查必填项
- `CheckCeCompliance`:检查是否全部使用CE认证物料
- `CheckInsulation`:检查变色套大小与是否使用变色管
- `CheckDuplicateModel`:检查重复
- `SetItemError`:将一项设置为异常
- `GetCanUsedTerminal`:获取可使用的端子
- `CheckImprint`:检查变色套是否使用正确的颜色
2024-11-08 09:19:27 +08:00
lihanbo 0ae84bd0ca 增加变色套检查逻辑
在 `MainViewModel.Check.cs` 文件中,新增了对变色套(绝缘软套)的检查逻辑。在 `else` 语句块中,增加了一个条件分支,调用 `CheckUseDiscoloration` 方法来检查是否使用了变色套,如果未匹配到变色套,则设置相应的错误信息。新增了 `CheckUseDiscoloration` 方法,该方法通过检查印记(imprint)是否符合特定前缀和标志类型的条件,来判断是否使用了变色套。`CheckUseDiscoloration` 方法中定义了一组印记条件,包括前缀和标志类型,并通过遍历这些条件来检查印记是否符合规范。
2024-11-08 09:19:10 +08:00
lihanbo d9e039f168 优化 regex 和 dRegex 的正则表达式定义
这些更改使得正则表达式的定义更加简洁和一致。
具体来说,`\\.{0,1}` 被替换为 `\\.?`,`[\\d]+` 被替换为 `[\\d]*`,
以更好地匹配可能的输入格式。
2024-11-08 09:18:07 +08:00
lihanbo 143b0c3660 改进电缆数据处理和检查逻辑,更新版本号
在 `CheckTest.cs` 文件中,添加了多个测试方法,包括 `DPETerminalCheckTest`、`DPETerminalCrossSectionCheckTest` 和 `TerminalCheckTest`,用于检查不同端子的测试逻辑。
在 `AssemblyInfo.cs` 文件中,更新了程序集版本号和文件版本号。
在 `StuffTest.cs` 文件中,注释掉了一些断言语句,并添加了一个新的测试方法 `StuffedNameTubeTest`,用于测试号码管处理逻辑。
在 `LectotypeWindow.xaml` 文件中,添加了 `util` 命名空间引用,并定义了多个 `ControlTemplate` 模板和一个 `LectotypeLengthDataTemplateSelector` 模板选择器,用于根据线材类型选择不同的显示模板。同时,将 `DataGrid` 控件替换为 `ListView` 控件,并添加了上下文菜单和样式触发器。
在 `LectotypeWindow.xaml.cs` 文件中,添加了 `ToSourceMenuItem_Click` 方法,用于处理上下文菜单项的点击事件。
在 `MainWindow.xaml.cs` 文件中,重构了 `AddToDesignerSelectSet` 方法,添加了异常处理逻辑。
在 `Sinvo.EplanHpD.Plugin.WPFUI.csproj` 文件中,添加了 `LectotypeLengthDataTemplateSelector.cs` 文件的编译项。
在 `ExcelHelper.cs` 文件中,修改了 `GetWireTerminalMappingTable` 方法的过滤逻辑。
新增了 `LectotypeLengthDataTemplateSelector.cs` 文件,定义了 `LectotypeLengthDataTemplateSelector` 类,用于根据线材类型选择不同的数据模板。

在 `LectotypeViewModel.cs` 文件中:
  * 添加了对 `EPLAN.Harness.ProjectCore.Occurrences` 命名空间的引用。
  * 添加了 `StuffedWires` 属性及其对应的私有字段 `_stuffedWires`。
  * 在 `LoadData` 方法中,添加了对 `StuffData` 方法的调用,并将结果赋值给 `Wires`。
  * 添加了 `StuffData` 方法,用于整理和合并电缆数据。
  * 在 `ToSource` 方法中,添加了根据电缆名称获取设计器并设置可见性的逻辑。
  * 修改了 `CableType` 的默认值从 "位置类型" 改为 "未知类型"。

在 `MainViewModel.Check.cs` 文件中:
  * 添加了 `CheckDPETerminals` 方法,用于检查地排端子。
  * 修改了 `CheckTerminals` 方法,移除了对 `D-PE` 前缀的特殊处理逻辑。
  * 修改了 `GetD_PECanUsedTerminal` 方法,注释掉了获取不包含前缀的端子的逻辑。

在 `DesignPluginEntry.cs` 文件中:
  * 注释掉了 `DesignPluginEntry` 类实现的 `IHpDPlugin` 接口。

在 `AssemblyInfo.cs` 文件中:
  * 更新了程序集版本号,从 `1.0.0.6` 更新到 `1.0.0.14`。
2024-11-08 08:34:20 +08:00
lihanbo ed520cd26b 重命名StuffData方法参数并重构GetNumberTubeSpecification
重命名StuffData方法的参数和变量名称,改进并行处理和数据添加逻辑。重构GetNumberTubeSpecification方法,使用double.TryParse转换crossSection并返回相应规格。
2024-11-07 17:44:28 +08:00
lihanbo 65970751b3 更新多个文件,添加新功能和修复bug
在 `CheckTest.cs` 文件中,添加了三个新的测试方法:`CheckWireErpNrTest`、`ChecImprintTest` 和 `CheckSizeTest`。
在 `AssemblyInfo.cs` 文件中,将程序集版本和文件版本从 `1.0.0.5` 更新为 `1.0.0.6`。
在 `StuffTest.cs` 文件中,添加了一个新的断言 `Assert.IsTrue(result.Where(it => it.Imprint == "EC5L3").First().WireColor == "BK");`。
在 `LectotypeWindow.xaml` 文件中,添加了一个新的 `Window` 定义,包括资源字典、按钮和 `TabControl` 控件。
在 `LectotypeWindow.xaml.cs` 文件中,添加了 `LectotypeWindow` 类的定义和相关的事件处理方法。
在 `MainWindow.xaml` 文件中,移除了旧的样式定义,添加了新的资源字典引用,并更新了 `GroupBox` 为 `hc:Card` 控件,调整了按钮样式和 `DataGrid` 的样式。
在 `MainWindow.xaml` 文件中,更新了 `DataGrid` 的 `RowStyle` 和 `CellStyle`,并添加了新的触发器和样式设置。
在 `MainWindow.xaml` 文件中,更新了检查配置项的布局,使用 `hc:Card` 控件替换了 `GroupBox`,并调整了文本块的样式和布局。
在 `MainWindow.xaml.cs` 文件中:
  * 在 `MainWindow` 类中添加了对 `model.IsError` 的检查,如果为 `true`,则将 `model.IsIgnore` 设置为 `true`。
  * 在 `Copy_Click` 方法中添加了 `try-catch` 块来捕获异常,并在捕获到异常时显示错误消息。
  * 在 `GoToSource_Click` 方法中添加了 `try-catch` 块来捕获异常,并在捕获到异常时显示错误消息。
  * 将 `Array.Empty<object>()` 替换为 `[]`。
在 `CheckedModel.cs` 文件中:
  * 注释掉了 `SetProperty` 方法中对 `Equals` 方法的检查。
在 `LectotypeModel.cs` 文件中:
  * 新增了 `LectotypeModel` 类,包含多个属性和相应的 `OnPropertyChanged` 调用。
在 `LineSegmentModel.cs` 文件中:
  * 新增了 `LineSegmentModel` 类,包含 `LineAxisNo`、`LineType` 和 `LineParagraph` 属性。
在 `AssemblyInfo.cs` 文件中:
  * 更新了程序集版本号,从 `1.0.0.5` 更新到 `1.0.0.6`。
在 `Sinvo.EplanHpD.Plugin.WPFUI.csproj` 文件中:
  * 添加了对 `EPLAN.Harness.MathLib` 的引用。
  * 添加了 `LectotypeWindow.xaml` 和 `TestWindow.xaml` 及其对应的代码文件。
  * 添加了 `HandyControl` 包的引用。
在 `TestWindow.xaml` 文件中:
  * 新增了 `TestWindow` 窗口的 XAML 定义,包含一个 `DataGrid` 控件。
在 `TestWindow.xaml.cs` 文件中:
  * 新增了 `TestWindow` 类,包含加载数据的方法。
在 `ExcelHelper.cs` 文件中:
  * 修改了 `GetWireTerminalMappingTable` 方法,使其在 `Prefix` 为 `null` 时也能匹配。
  * 新增了 `GetWireInfo` 方法,用于获取线材信息。
在 `LectotypeViewModel.cs` 文件中:
  * 新增了 `LectotypeViewModel` 类,包含加载数据的方法和多个辅助方法。
在 `MainViewModel.Check.cs` 文件中:
  * 在 `ValidateItem` 方法中添加了对 `CheckWireErpNr` 方法的调用。
  * 新增了 `CheckWireErpNr` 方法,用于检查线材料号。
  * 在 `CheckNumberTube` 方法中添加了对 `item.Imprint` 是否为空的检查。

将 `data.AsParallel().WithDegreeOfParallelism(8).ForAll(entry =>` 修改为 `data.Where(it => it.OrigOcc == "OccWire" && !(it?.Properties["WireName"]?.GetDisplayValue()?.StartsWith("导线") ?? false)).AsParallel().WithDegreeOfParallelism(1).ForAll(entry =>`,以过滤出 `OrigOcc` 为 "OccWire" 且 `WireName` 不以 "导线" 开头的数据,并将并行度设置为 1。
将 `data.FrontTerminalModel = item.ConnectorFrom.Contains(":") ? item.ConnectorFrom.Split(':')[0] : item.ConnectorFrom;` 修改为 `data.FrontTerminalModel = item.ConnectorFrom?.Contains(":") ?? false ? item.ConnectorFrom.Split(':')[0] : item.ConnectorFrom ?? "";`,以处理 `ConnectorFrom` 可能为 null 的情况。
将 `data.RearTerminalModel = item.ConnectorTo.Contains(":") ? item.ConnectorTo.Split(':')[0] : item.ConnectorTo;` 修改为 `data.RearTerminalModel = item.ConnectorTo?.Contains(":") ?? false ? item.ConnectorTo.Split(':')[0] : item.ConnectorTo ?? "";`,以处理 `ConnectorTo` 可能为 null 的情况。
删除了 `if (insulationModels.Any()) { data.Insulation = insulationModels.First(); }` 语句块,简化了代码逻辑。
更新了 `GetWireColorCode` 方法中的注释,将原来的注释替换为更简洁的版本。
2024-11-07 12:14:44 +08:00
lihanbo c620fda442 新增 AppDomainDllLoader 和 DesignPluginEntry 类
在 AppDomainDllLoader.cs 文件中新增了 AppDomainDllLoader 类,用于处理 DLL 加载问题,解决依赖问题。
在 DesignPluginEntry.cs 文件中新增了 DesignPluginEntry 类,增加3D插件入口。
在 PluginEntry.cs 文件中,修改了 Version 属性的获取方式,并新增了对 AppDomainDllLoader.SetLaoder() 方法的调用。
在 AssemblyInfo.cs 文件中,更新了程序集的版本信息,将 AssemblyVersion、AssemblyFileVersion 和 AssemblyInformationalVersion 都更新为 1.0.0.6。
在 Sinvo.EplanHpD.Plugin.csproj 文件中,新增了对 HandyControl 库的引用,并添加了 AppDomainDllLoader.cs 和 DesignPluginEntry.cs 文件的编译项。
在 packages.config 文件中,新增了 HandyControl 库的包引用,版本为 3.2.0,目标框架为 net481。
2024-11-07 12:13:19 +08:00
lihanbo 09c4e983bd 105040 增加颜色匹配 2024-11-02 11:57:05 +08:00
lihanbo d5e61f5ac2 105040 右键菜单列表增加 转至源 选项,直接打开3D模型并跳转选中到对应的线 2024-10-29 10:23:27 +08:00
lihanbo 04b57294ce 105040 增加字段,优化数量逻辑,修复检查大小匹配时的错误 2024-10-28 17:56:13 +08:00
lihanbo ba6c125c95 105040 Update 忽略异常时只处理有异常的项 2024-10-28 14:30:24 +08:00
lihanbo 67a9e0c416 105040 Fix 变色套管匹配错误 2024-10-28 14:29:56 +08:00
lihanbo d01b1838a9 105040 调整测试数据 2024-10-26 14:46:06 +08:00
lihanbo b03ee3834e 105040 添加测试项目 2024-10-26 14:40:55 +08:00
lihanbo 5bcbacffd3 105040 Clean code 2024-10-26 14:40:46 +08:00
lihanbo 1539afc65e 105040 增加测试项目 2024-10-26 14:40:28 +08:00
lihanbo f194ff589c 105040 修改端子检查逻辑,增加地线检查与料号匹配 2024-10-26 14:40:12 +08:00
lihanbo 2978aab2ff 105040 调整为传入数据的方式,便于测试 2024-10-26 14:01:56 +08:00
lihanbo 21035167c8 105040 修复读取变量为空时的报错 2024-10-26 14:01:32 +08:00
lihanbo f41e0e39b4 增加导出时的是否忽略异常字段 2024-10-26 14:00:22 +08:00
lihanbo 92c920b559 105040 增加带前缀查询 2024-10-26 14:00:04 +08:00
lihanbo b3c12526f7 105040 增加产品版本 2024-10-26 13:59:45 +08:00
lihanbo d24fdac142 105040 增加产品版本 2024-10-26 13:59:31 +08:00
lihanbo 5574ddbd0e 105040 增加地线前缀处理 2024-10-26 13:59:13 +08:00
lihanbo ce014b95e0 105040 增加下单日期字段,增加逻辑 2024-10-26 10:27:03 +08:00
lihanbo a8815b8f9a 105040 使用FormUISettings保存配置项 2024-10-25 15:17:32 +08:00
lihanbo 9d6dc663d9 105040 解决WPF窗体在WinForm中无法输入的问题 2024-10-25 15:17:12 +08:00
lihanbo ecb6f69383 105040 调整进度条样式与选择文件框过滤 2024-10-25 15:16:39 +08:00
lihanbo ea543c8992 105040 Clean code 2024-10-25 08:40:22 +08:00
lihanbo f2cd6c50b2 105040 Update 增加叉耳端子检查 2024-10-25 08:37:28 +08:00
lihanbo faa4bbf20d 添加项目文件。 2024-10-24 18:01:26 +08:00