Commit Graph

16 Commits

Author SHA1 Message Date
lihanbo bfb9d9b880 105040 Clear code 2024-12-05 14:37:31 +08:00
lihanbo 4be42fdc5c 更新 UI 和逻辑,添加新功能和改进错误处理
在 `MainWindow.xaml` 中:
- 修改 `CheckBox` 控件,绑定 `IsUseDiscoloration` 属性,添加 `IsEnabled="False"` 和 `ToolTip`。
- 添加两个新的 `MenuItem`,分别绑定 `ToSourceAndHideOthers_Click` 和 `ShowAllWire_Click` 事件。
- 移除 `MultiDataTrigger.Conditions` 中的一个 `Condition` 和 `DataGrid.Resources` 中的一个 `Style`。

在 `MainWindow.xaml.cs` 中:
- 注释掉 `GoToSource_Click` 方法中的 `HideOthers()` 调用。
- 添加 `OthersWireShow` 方法。
- 添加 `ToSourceAndHideOthers_Click` 和 `ShowAllWire_Click` 方法。

在 `MainViewModel.Check.cs` 中:
- 添加 `using System.IO.Packaging;` 引用。
- 修改 `ValidateItem` 方法,注释掉 `IsUseDiscoloration` 的判断。
- 在 `CheckImprintCondition` 方法中,添加对 `DiscolorationDesc` 和 `Insulation` 的检查,改进错误处理逻辑。

在 `MainViewModel.cs` 中:
- 初始化 `IsUseDiscoloration` 为 `true`。
2024-11-26 10:31:58 +08:00
lihanbo 9c0d3acdfa 105040 Update 线材检查增加导出文件名自定义,增加刷新报表数据,修复部分情况下导致的长度异常 2024-11-15 15:04:08 +08:00
lihanbo 5bc1533d9b 添加异常处理并重构 MainViewModel.Check.cs
在 MainViewModel.Check.cs 文件中添加了多个 try-catch 块,以捕获异常并设置错误信息。重构了 ValidateItem、CheckWireErpNr 和 CheckRequiredFields 方法的代码逻辑,确保在不同情况下设置相应的错误信息。
2024-11-08 17:14:38 +08:00
lihanbo c2dca12e99 重构生成线缆型号的逻辑
对生成线缆型号的逻辑进行了重构和优化:
- 在 `MainViewModel.Check.cs` 文件中:
  - 注释掉了原有的直接拼接字符串生成线缆型号的代码。
  - 新增了调用 `GenWireModel` 方法来生成线缆型号的代码,并在调用时对线缆长度进行了处理。
- 在 `MainViewModel.cs` 文件中:
  - 注释掉了原有的直接拼接字符串生成线缆型号的代码。
  - 新增了调用 `GenWireModel` 方法来生成线缆型号的代码。
  - 新增了 `GenWireModel` 方法,该方法接收线缆颜色、截面积、线缆长度和线缆编号作为参数,并返回生成的线缆型号字符串。
2024-11-08 17:13:24 +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 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 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 04b57294ce 105040 增加字段,优化数量逻辑,修复检查大小匹配时的错误 2024-10-28 17:56:13 +08:00
lihanbo 67a9e0c416 105040 Fix 变色套管匹配错误 2024-10-28 14:29:56 +08:00
lihanbo f194ff589c 105040 修改端子检查逻辑,增加地线检查与料号匹配 2024-10-26 14:40:12 +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 f2cd6c50b2 105040 Update 增加叉耳端子检查 2024-10-25 08:37:28 +08:00
lihanbo faa4bbf20d 添加项目文件。 2024-10-24 18:01:26 +08:00