diff --git a/Sinvo.EplanHpD.Plugin.Service/DBHelper.cs b/Sinvo.EplanHpD.Plugin.Service/DBHelper.cs
index 0ad9552..57d0d3b 100644
--- a/Sinvo.EplanHpD.Plugin.Service/DBHelper.cs
+++ b/Sinvo.EplanHpD.Plugin.Service/DBHelper.cs
@@ -44,6 +44,7 @@ namespace Sinvo.EplanHpD.Plugin.Service
DB.CodeFirst.InitTables(typeof(Model.Motor));
DB.CodeFirst.InitTables(typeof(Model.CableLectotype));
DB.CodeFirst.InitTables(typeof(Model.LectotypeLine));
+ DB.CodeFirst.InitTables(typeof(Model.MultiCoreWireLecDBModel));
}
}
}
diff --git a/Sinvo.EplanHpD.Plugin.Service/Model/MultiCoreWireLecDBModel.cs b/Sinvo.EplanHpD.Plugin.Service/Model/MultiCoreWireLecDBModel.cs
new file mode 100644
index 0000000..a9f4017
--- /dev/null
+++ b/Sinvo.EplanHpD.Plugin.Service/Model/MultiCoreWireLecDBModel.cs
@@ -0,0 +1,62 @@
+using SqlSugar;
+using System.ComponentModel;
+
+namespace Sinvo.EplanHpD.Plugin.Service.Model
+{
+ [SugarTable("T_MCWIRE_LEC")]
+ public class MultiCoreWireLecDBModel
+ {
+ /*
+ * 应用场景 类型 线径规格(mm2) 是否高柔 线芯数 线材型号规格 插头型号 前端子型号 后端子型号
+ */
+ public string Id { get; set; }
+ public string UniqueKey { get; set; }
+ public string ProjectName { get; set; }
+ public string UserId { get; set; }
+
+ public int SeqNo { get; set; }
+
+
+ ///
+ /// 应用场景
+ ///
+ public string ApplicationScenario { get; set; }
+
+
+ ///
+ /// 线径规格(mm2)
+ ///
+ public string WireDiameterSpecification { get; set; }
+
+
+
+ ///
+ /// 是否高柔
+ ///
+ public string IsHighFlexibilityStr { get; set; }
+
+ ///
+ /// 线芯数
+ ///
+ public string WireCoreCount { get; set; }
+
+ ///
+ /// 线材型号规格
+ ///
+ public string WireModelSpecification { get; set; }
+ ///
+ /// 前连接
+ ///
+ public string FrontConnectorModel { get; set; }
+
+ ///
+ /// 后连接
+ ///
+ public string BackConnectorModel { get; set; }
+
+ ///
+ /// 是否已布线
+ ///
+ public bool Layouted { get; set; } = false;
+ }
+}
diff --git a/Sinvo.EplanHpD.Plugin.Service/Properties/AssemblyInfo.cs b/Sinvo.EplanHpD.Plugin.Service/Properties/AssemblyInfo.cs
index c495626..006ac82 100644
--- a/Sinvo.EplanHpD.Plugin.Service/Properties/AssemblyInfo.cs
+++ b/Sinvo.EplanHpD.Plugin.Service/Properties/AssemblyInfo.cs
@@ -29,6 +29,6 @@ using System.Runtime.InteropServices;
// 生成号
// 修订号
//
-[assembly: AssemblyVersion("1.0.1.2")]
-[assembly: AssemblyFileVersion("1.0.1.2")]
-[assembly: AssemblyInformationalVersion("1.0.1.2")]
\ No newline at end of file
+[assembly: AssemblyVersion("1.0.1.3")]
+[assembly: AssemblyFileVersion("1.0.1.3")]
+[assembly: AssemblyInformationalVersion("1.0.1.3")]
\ No newline at end of file
diff --git a/Sinvo.EplanHpD.Plugin.Service/Sinvo.EplanHpD.Plugin.Service.csproj b/Sinvo.EplanHpD.Plugin.Service/Sinvo.EplanHpD.Plugin.Service.csproj
index 0b43136..de6c2c4 100644
--- a/Sinvo.EplanHpD.Plugin.Service/Sinvo.EplanHpD.Plugin.Service.csproj
+++ b/Sinvo.EplanHpD.Plugin.Service/Sinvo.EplanHpD.Plugin.Service.csproj
@@ -73,6 +73,7 @@
+
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/Converter/WireColorConverter.cs b/Sinvo.EplanHpD.Plugin.WPFUI/Converter/WireColorConverter.cs
new file mode 100644
index 0000000..3d8f45f
--- /dev/null
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/Converter/WireColorConverter.cs
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Data;
+using System.Windows.Media;
+
+namespace Sinvo.EplanHpD.Plugin.WPFUI.Converter
+{
+ public class WireColorConverter : IMultiValueConverter
+ {
+ public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
+ {
+ if (values.Length < 2 || values[0] == null || values[1] == null)
+ return Brushes.Transparent;
+
+ string primaryColor = values[0].ToString();
+ string secondaryColor = values[1].ToString();
+ bool isMultiColor = false;
+
+ if (values.Length > 2 && values[2] is bool v)
+ isMultiColor = v;
+
+ if (!isMultiColor || string.IsNullOrEmpty(secondaryColor))
+ return new SolidColorBrush((Color)ColorConverter.ConvertFromString(primaryColor));
+
+ // 创建线性渐变刷
+ LinearGradientBrush gradientBrush = new LinearGradientBrush();
+ gradientBrush.StartPoint = new System.Windows.Point(0, 0);
+ gradientBrush.EndPoint = new System.Windows.Point(1, 0);
+
+ gradientBrush.GradientStops.Add(
+ new GradientStop((Color)ColorConverter.ConvertFromString(primaryColor), 0.0));
+ gradientBrush.GradientStops.Add(
+ new GradientStop((Color)ColorConverter.ConvertFromString(secondaryColor), 1.0));
+
+ return gradientBrush;
+ }
+
+ public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/Datas/Brands.cs b/Sinvo.EplanHpD.Plugin.WPFUI/Datas/Brands.cs
index b576dac..c25a734 100644
--- a/Sinvo.EplanHpD.Plugin.WPFUI/Datas/Brands.cs
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/Datas/Brands.cs
@@ -41,7 +41,7 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.Datas
5. 数据表中Sheet名称: 安川
*/
{ANCHUAN,
- new BrandData{
+ new BrandData {
Name = ANCHUAN,
ComplexLine = false,
SheetName = ANCHUAN,
@@ -61,7 +61,7 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.Datas
5. 数据表中Sheet名称: 汇川
*/
{HUICHUAN,
- new BrandData{
+ new BrandData {
Name = HUICHUAN,
ComplexLine = false,
SheetName = HUICHUAN,
@@ -81,7 +81,7 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.Datas
5. 数据表中Sheet名称: HK_KT
*/
{SANLING_HK_KT,
- new BrandData{
+ new BrandData {
Name = SANLING_HK_KT,
ComplexLine = true,
SheetName = SANLING_HK_KT,
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/Models/CableLectotype/LectotypeLineModel.cs b/Sinvo.EplanHpD.Plugin.WPFUI/Models/CableLectotype/LectotypeLineModel.cs
index 5ff0b2a..b5e0d67 100644
--- a/Sinvo.EplanHpD.Plugin.WPFUI/Models/CableLectotype/LectotypeLineModel.cs
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/Models/CableLectotype/LectotypeLineModel.cs
@@ -1,13 +1,15 @@
using EPLAN.Harness.AppCore.AttributeEvents;
using Sinvo.EplanHpD.Plugin.WPFUI.Datas;
using Sinvo.EplanHpD.Plugin.WPFUI.Utils;
+using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
namespace Sinvo.EplanHpD.Plugin.WPFUI.Models
{
- public class LectotypeLineModel : CheckedModel
+ public class
+ LectotypeLineModel : CheckedModel
{
public string CableLectotypeId { get; set; }
@@ -288,7 +290,7 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.Models
}
}
- private string _cableModelNo;
+ //private string _cableModelNo;
public string CableModelNo
{
get
@@ -416,5 +418,92 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.Models
CableType = it.Name
}).ToList();
}
+ public bool SubLineNeedInsulation
+ {
+ get
+ {
+ return SubLines != null && SubLines.Any(it => it.NeedInsulation);
+ }
+ }
+ //private bool _needInsulation;
+ public bool NeedInsulation
+ {
+ get
+ {
+ return (CableType == "动力线" || CableType == "动力刹车线") && (CableModel?.Contains("黄绿色") ?? false);
+ }
+ }
+
+ private string _insulationMCode;
+ ///
+ /// 绝缘软套物料编码
+ ///
+ public string InsulationMCode
+ {
+ get
+ {
+ return _insulationMCode;
+ }
+ set
+ {
+ _insulationMCode = value;
+ OnPropertyChanged(nameof(InsulationMCode));
+ }
+ }
+ ///
+ /// 绝缘软套物料编码
+ ///
+ public int? InsulationCount
+ {
+ get
+ {
+ return NeedInsulation ? 1 : null;
+ }
+ set
+ {
+ OnPropertyChanged(nameof(InsulationCount));
+ }
+ }
+ public string InsulationModel
+ {
+ get
+ {
+ return GetInsulation();
+ }
+ set {
+
+ }
+ }
+
+
+ private string GetInsulation()
+ {
+ if (string.IsNullOrEmpty(CableModel) || !NeedInsulation)
+ return "";
+ // 线径
+ var matchGroups = Consts.InsulationRegex.Match(CableModel).Groups;
+ var wireDiameter = matchGroups[1]?.Value;
+ var ceFlag = matchGroups[2]?.Value ?? "";
+ if (string.IsNullOrEmpty(ceFlag) && CableModel.Contains("-CE"))
+ {
+ ceFlag = "-CE";
+ }
+ if (double.Parse(wireDiameter) <= 1.5)
+ {
+ wireDiameter = "1.5";
+ }
+ var insulationModel = $"V-{wireDiameter}{ceFlag}(绿色)/定制";
+ var insData = ExcelHelper.GetInsulationSoftSleeveTable(insulationModel).FirstOrDefault();
+ if (insData != null)
+ {
+ InsulationMCode = insData.MaterialCode;
+ OnPropertyChanged(nameof(NeedInsulation));
+ return insData.Specification;
+ }
+ else
+ {
+ return " - ";
+ }
+ }
}
}
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/Models/MultiCoreWire/MultiCoreWireDataModel.cs b/Sinvo.EplanHpD.Plugin.WPFUI/Models/MultiCoreWire/MultiCoreWireDataModel.cs
index 5e8c035..283db85 100644
--- a/Sinvo.EplanHpD.Plugin.WPFUI/Models/MultiCoreWire/MultiCoreWireDataModel.cs
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/Models/MultiCoreWire/MultiCoreWireDataModel.cs
@@ -34,10 +34,7 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.Models
/// 是否高柔
///
public bool IsHighFlexibility { get; set; }
- ///
- /// 插头型号
- ///
- public string ConnectorModel { get; set; }
+
///
/// 前端子型号
///
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/Models/MultiCoreWire/MultiCoreWireLecModel.cs b/Sinvo.EplanHpD.Plugin.WPFUI/Models/MultiCoreWire/MultiCoreWireLecModel.cs
index e447d7d..ec59cd1 100644
--- a/Sinvo.EplanHpD.Plugin.WPFUI/Models/MultiCoreWire/MultiCoreWireLecModel.cs
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/Models/MultiCoreWire/MultiCoreWireLecModel.cs
@@ -1,4 +1,5 @@
using MiniExcelLibs.Attributes;
+using Sinvo.EplanHpD.Plugin.WPFUI.Models.MultiCoreWire;
using System;
using System.Collections.Generic;
using System.ComponentModel;
@@ -7,66 +8,466 @@ using System.Text;
using System.Threading.Tasks;
namespace Sinvo.EplanHpD.Plugin.WPFUI.Models
-{
- public class MultiCoreWireLecModel
+{
+ public class MultiCoreWireLecModel : INotifyPropertyChanged
{
/*
* 应用场景 类型 线径规格(mm2) 是否高柔 线芯数 线材型号规格 插头型号 前端子型号 后端子型号
*/
+ public string Id { get; set; }
+ public string UniqueKey { get; set; }
+ public string ProjectName { get; set; }
+ public string UserId { get; set; }
+
+
+ private int _seqNo;
+ [ExcelColumn(Ignore = true)]
+ public int SeqNo
+ {
+ get => _seqNo;
+ set
+ {
+ _seqNo = value;
+ OnPropertyChanged(nameof(SeqNo));
+ }
+ }
///
/// 应用场景
///
+ private string _applicationScenario;
[ExcelColumn(Name = "应用场合")]
- public string ApplicationScenario { get; set; }
+ public string ApplicationScenario
+ {
+ get => _applicationScenario;
+ set
+ {
+ _applicationScenario = value;
+ OnPropertyChanged(nameof(ApplicationScenario));
+ }
+ }
+
///
/// 线材类型
///
- [ExcelColumn(Ignore = true)]
- public string WireType { get; set; }
+ //private string _wireType;
+ //[ExcelColumn(Ignore = true)]
+ //public string WireType
+ //{
+ // get => _wireType;
+ // set
+ // {
+ // _wireType = value;
+ // OnPropertyChanged(nameof(WireType));
+ // }
+ //}
+
///
/// 线径规格(mm2)
///
+ private string _wireDiameterSpecification;
[ExcelColumn(IndexName = "F")]
- public string WireDiameterSpecification { get; set; }
- ///
- /// 是否高柔
- ///
- [ExcelColumn(Ignore = true)]
- public bool IsHighFlexibility { get; set; }
+ public string WireDiameterSpecification
+ {
+ get => _wireDiameterSpecification;
+ set
+ {
+ _wireDiameterSpecification = value;
+ OnPropertyChanged(nameof(WireDiameterSpecification));
+ }
+ }
///
/// 是否高柔
///
+ private bool _isHighFlexibility;
+ [ExcelColumn(Ignore = true)]
+ public bool IsHighFlexibility
+ {
+ get => _isHighFlexibility;
+ set
+ {
+ _isHighFlexibility = value;
+ OnPropertyChanged(nameof(IsHighFlexibility));
+ }
+ }
+
+ ///
+ /// 是否高柔
+ ///
+ private string _isHighFlexibilityStr;
[ExcelColumn(Name = "是否高柔")]
- public string IsHighFlexibilityStr { get; set; }
+ public string IsHighFlexibilityStr
+ {
+ get => _isHighFlexibilityStr;
+ set
+ {
+ _isHighFlexibilityStr = value;
+ OnPropertyChanged(nameof(IsHighFlexibilityStr));
+ }
+ }
+
///
/// 线芯数
///
+ private string _wireCoreCount;
[ExcelColumn(Name = "线芯数")]
- public string WireCoreCount { get; set; }
+ public string WireCoreCount
+ {
+ get => _wireCoreCount;
+ set
+ {
+ _wireCoreCount = value;
+ OnPropertyChanged(nameof(WireCoreCount));
+ }
+ }
+
///
/// 线材型号规格
///
+ private string _wireModelSpecification;
[ExcelColumn(Name = "线材型号规格")]
- public string WireModelSpecification { get; set; }
+ public string WireModelSpecification
+ {
+ get => _wireModelSpecification;
+ set
+ {
+ _wireModelSpecification = value;
+ OnPropertyChanged(nameof(WireModelSpecification));
+ }
+ }
+
///
/// 插头型号
///
+ private string _connectorModel;
[ExcelColumn(Name = "插头型号")]
- public string ConnectorModel { get; set; }
- ///
- /// 前端子型号
- ///
- [ExcelColumn(Ignore = true)]
- public string FrontTerminalModel { get; set; }
- ///
- /// 后端子型号
- ///
- [ExcelColumn(Ignore = true)]
- public string BackTerminalModel { get; set; }
+ public string ConnectorModel
+ {
+ get => _connectorModel;
+ set
+ {
+ _connectorModel = value;
+ OnPropertyChanged(nameof(ConnectorModel));
+ }
+ }
-
+ ///
+ /// 叉耳端子
+ ///
+ private string _forkTerminal;
+ [ExcelColumn(Name = "叉耳端子")]
+ public string ForkTerminal
+ {
+ get => _forkTerminal;
+ set
+ {
+ _forkTerminal = value;
+ OnPropertyChanged(nameof(ForkTerminal));
+ OnPropertyChanged(nameof(TerminalModels));
+ }
+ }
+ ///
+ /// 叉耳端子剥线长度(mm)
+ ///
+ private double _forkTerminalStripLength;
+ [ExcelColumn(Name = "叉耳端子剥线长度(mm)")]
+ public double ForkTerminalStripLength
+ {
+ get => _forkTerminalStripLength;
+ set
+ {
+ _forkTerminalStripLength = value;
+ OnPropertyChanged(nameof(ForkTerminalStripLength));
+ OnPropertyChanged(nameof(TerminalModels));
+ }
+ }
+
+ ///
+ /// 叉耳端子物料编码
+ ///
+ private string _forkTerminalMaterialCode;
+ [ExcelColumn(Name = "叉耳端子物料编码")]
+ public string ForkTerminalMaterialCode
+ {
+ get => _forkTerminalMaterialCode;
+ set
+ {
+ _forkTerminalMaterialCode = value;
+ OnPropertyChanged(nameof(ForkTerminalMaterialCode));
+ OnPropertyChanged(nameof(TerminalModels));
+ }
+ }
+
+ ///
+ /// 扁形端子
+ ///
+ private string _flatTerminal;
+ [ExcelColumn(Name = "扁形端子")]
+ public string FlatTerminal
+ {
+ get => _flatTerminal;
+ set
+ {
+ _flatTerminal = value;
+ OnPropertyChanged(nameof(FlatTerminal));
+ OnPropertyChanged(nameof(TerminalModels));
+ }
+ }
+
+ ///
+ /// 扁形端子剥线长度(mm)
+ ///
+ private double _flatTerminalStripLength;
+ [ExcelColumn(Name = "扁形端子剥线长度(mm)")]
+ public double FlatTerminalStripLength
+ {
+ get => _flatTerminalStripLength;
+ set
+ {
+ _flatTerminalStripLength = value;
+ OnPropertyChanged(nameof(FlatTerminalStripLength));
+ OnPropertyChanged(nameof(TerminalModels));
+ }
+ }
+
+ ///
+ /// 扁形端子物料编码
+ ///
+ private string _flatTerminalMaterialCode;
+ [ExcelColumn(Name = "扁形端子物料编码")]
+ public string FlatTerminalMaterialCode
+ {
+ get => _flatTerminalMaterialCode;
+ set
+ {
+ _flatTerminalMaterialCode = value;
+ OnPropertyChanged(nameof(FlatTerminalMaterialCode));
+ OnPropertyChanged(nameof(TerminalModels));
+ }
+ }
+
+ ///
+ /// O型端子
+ ///
+ private string _oTypeTerminal;
+ [ExcelColumn(Name = "O型端子")]
+ public string OTypeTerminal
+ {
+ get => _oTypeTerminal;
+ set
+ {
+ _oTypeTerminal = value;
+ OnPropertyChanged(nameof(OTypeTerminal));
+ OnPropertyChanged(nameof(TerminalModels));
+ }
+ }
+
+ ///
+ /// O型端子剥线长度(mm)
+ ///
+ private double _oTypeTerminalStripLength;
+ [ExcelColumn(Name = "O型端子剥线长度(mm)")]
+ public double OTypeTerminalStripLength
+ {
+ get => _oTypeTerminalStripLength;
+ set
+ {
+ _oTypeTerminalStripLength = value;
+ OnPropertyChanged(nameof(OTypeTerminalStripLength));
+ OnPropertyChanged(nameof(TerminalModels));
+ }
+ }
+
+ ///
+ /// O型端子物料编码
+ ///
+ private string _oTypeTerminalMaterialCode;
+ [ExcelColumn(Name = "O型端子物料编码")]
+ public string OTypeTerminalMaterialCode
+ {
+ get => _oTypeTerminalMaterialCode;
+ set
+ {
+ _oTypeTerminalMaterialCode = value;
+ OnPropertyChanged(nameof(OTypeTerminalMaterialCode));
+ OnPropertyChanged(nameof(TerminalModels));
+ }
+ }
+
+ ///
+ /// 针型端子
+ ///
+ private string _pinTerminal;
+ [ExcelColumn(Name = "针型端子")]
+ public string PinTerminal
+ {
+ get => _pinTerminal;
+ set
+ {
+ _pinTerminal = value;
+ OnPropertyChanged(nameof(PinTerminal));
+ OnPropertyChanged(nameof(TerminalModels));
+ }
+ }
+
+ ///
+ /// 针型端子剥线长度(mm)
+ ///
+ private double _pinTerminalStripLength;
+ [ExcelColumn(Name = "针型端子剥线长度(mm)")]
+ public double PinTerminalStripLength
+ {
+ get => _pinTerminalStripLength;
+ set
+ {
+ _pinTerminalStripLength = value;
+ OnPropertyChanged(nameof(PinTerminalStripLength));
+ OnPropertyChanged(nameof(TerminalModels));
+ }
+ }
+
+ ///
+ /// 针型端子物料编码
+ ///
+ private string _pinTerminalMaterialCode;
+ [ExcelColumn(Name = "针型端子物料编码")]
+ public string PinTerminalMaterialCode
+ {
+ get => _pinTerminalMaterialCode;
+ set
+ {
+ _pinTerminalMaterialCode = value;
+ OnPropertyChanged(nameof(PinTerminalMaterialCode));
+ OnPropertyChanged(nameof(TerminalModels));
+ }
+ }
+
+ ///
+ /// Y形端子
+ ///
+ private string _yTypeTerminal;
+ [ExcelColumn(Name = "Y形端子")]
+ public string YTypeTerminal
+ {
+ get => _yTypeTerminal;
+ set
+ {
+ _yTypeTerminal = value;
+ OnPropertyChanged(nameof(YTypeTerminal));
+ OnPropertyChanged(nameof(TerminalModels));
+ }
+ }
+
+ ///
+ /// Y形端子剥线长度(mm)
+ ///
+ private double _yTypeTerminalStripLength;
+ [ExcelColumn(Name = "Y形端子剥线长度(mm)")]
+ public double YTypeTerminalStripLength
+ {
+ get => _yTypeTerminalStripLength;
+ set
+ {
+ _yTypeTerminalStripLength = value;
+ OnPropertyChanged(nameof(YTypeTerminalStripLength));
+ OnPropertyChanged(nameof(TerminalModels));
+ }
+ }
+
+ ///
+ /// Y形端子物料编码
+ ///
+ private string _yTypeTerminalMaterialCode;
+ [ExcelColumn(Name = "Y形端子物料编码")]
+ public string YTypeTerminalMaterialCode
+ {
+ get => _yTypeTerminalMaterialCode;
+ set
+ {
+ _yTypeTerminalMaterialCode = value;
+ OnPropertyChanged(nameof(YTypeTerminalMaterialCode));
+ OnPropertyChanged(nameof(TerminalModels));
+ }
+ }
+
+ ///
+ /// 前连接
+ ///
+ private string _frontConnectorModel;
+ [ExcelColumn(Ignore = true)]
+ public string FrontConnectorModel
+ {
+ get => _frontConnectorModel;
+ set
+ {
+ _frontConnectorModel = value;
+ OnPropertyChanged(nameof(FrontConnectorModel));
+ }
+ }
+
+ ///
+ /// 后连接
+ ///
+ private string _backConnectorModel;
+ [ExcelColumn(Ignore = true)]
+ public string BackConnectorModel
+ {
+ get => _backConnectorModel;
+ set
+ {
+ _backConnectorModel = value;
+ OnPropertyChanged(nameof(BackConnectorModel));
+ }
+ }
+
+
+ [ExcelColumn(Ignore = true)]
+ public List TerminalModels
+ {
+ get
+ {
+ // 将所有类型的端子模型组合成一个列表
+ return [
+ new MultiCoreWireTerminalModel
+ {
+ TerminalModel = ForkTerminal,
+ TerminalStripLength = ForkTerminalStripLength,
+ TerminalMaterialCode = ForkTerminalMaterialCode
+ },
+ new MultiCoreWireTerminalModel
+ {
+ TerminalModel = FlatTerminal,
+ TerminalStripLength = FlatTerminalStripLength,
+ TerminalMaterialCode = FlatTerminalMaterialCode
+ },
+ new MultiCoreWireTerminalModel
+ {
+ TerminalModel = OTypeTerminal,
+ TerminalStripLength = OTypeTerminalStripLength,
+ TerminalMaterialCode = OTypeTerminalMaterialCode
+ },
+ new MultiCoreWireTerminalModel
+ {
+ TerminalModel = PinTerminal,
+ TerminalStripLength = PinTerminalStripLength,
+ TerminalMaterialCode = PinTerminalMaterialCode
+ },
+ new MultiCoreWireTerminalModel
+ {
+ TerminalModel = YTypeTerminal,
+ TerminalStripLength = YTypeTerminalStripLength,
+ TerminalMaterialCode = YTypeTerminalMaterialCode
+ }
+ ];
+ }
+ }
+
+ public event PropertyChangedEventHandler PropertyChanged;
+ public void OnPropertyChanged(string propertyName)
+ {
+ PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
+ }
}
}
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/Models/MultiCoreWire/MultiCoreWireTerminalModel.cs b/Sinvo.EplanHpD.Plugin.WPFUI/Models/MultiCoreWire/MultiCoreWireTerminalModel.cs
new file mode 100644
index 0000000..0820bb7
--- /dev/null
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/Models/MultiCoreWire/MultiCoreWireTerminalModel.cs
@@ -0,0 +1,27 @@
+using MiniExcelLibs.Attributes;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Sinvo.EplanHpD.Plugin.WPFUI.Models.MultiCoreWire
+{
+ public class MultiCoreWireTerminalModel
+ {
+ ///
+ /// 端子型号
+ ///
+ public string TerminalModel { get; set; }
+
+ ///
+ /// 端子剥线长度(mm)
+ public double TerminalStripLength { get; set; }
+
+ ///
+ /// 端子物料编码
+ ///
+ public string TerminalMaterialCode { get; set; }
+
+ }
+}
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/Properties/AssemblyInfo.cs b/Sinvo.EplanHpD.Plugin.WPFUI/Properties/AssemblyInfo.cs
index 1ade4d4..20e68a1 100644
--- a/Sinvo.EplanHpD.Plugin.WPFUI/Properties/AssemblyInfo.cs
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/Properties/AssemblyInfo.cs
@@ -46,6 +46,6 @@ using System.Windows;
// 生成号
// 修订号
//
-[assembly: AssemblyVersion("1.0.1.2")]
-[assembly: AssemblyFileVersion("1.0.1.2")]
-[assembly: AssemblyInformationalVersion("1.0.1.2")]
\ No newline at end of file
+[assembly: AssemblyVersion("1.0.1.3")]
+[assembly: AssemblyFileVersion("1.0.1.3")]
+[assembly: AssemblyInformationalVersion("1.0.1.3")]
\ No newline at end of file
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/Service/MotorLectotypeService.cs b/Sinvo.EplanHpD.Plugin.WPFUI/Service/MotorLectotypeService.cs
index 2bda638..cfd7145 100644
--- a/Sinvo.EplanHpD.Plugin.WPFUI/Service/MotorLectotypeService.cs
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/Service/MotorLectotypeService.cs
@@ -88,9 +88,10 @@ namespace Sinvo.EplanHpD.Plugin.Service
// 查询关联的 LectotypeLine 数据
var selectedLines = DBHelper.DB.Queryable()
- .Where(ll => ll.CableLectotypeId == cableLectotype.CableLectotypeId)
- //.OrderBy(ll => ll.SeqNo)
+ .Where(line => line.CableLectotypeId == cableLectotype.CableLectotypeId)
.ToList();
+ //.OrderBy(ll => ll.SeqNo)
+
// 构建 CableLectotypeViewModel
var viewModel = new CableLectotypeViewModel
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/Service/MultiCoreWireService.cs b/Sinvo.EplanHpD.Plugin.WPFUI/Service/MultiCoreWireService.cs
new file mode 100644
index 0000000..8cfe7de
--- /dev/null
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/Service/MultiCoreWireService.cs
@@ -0,0 +1,100 @@
+using Newtonsoft.Json.Bson;
+using Sinvo.EplanHpD.Plugin.Service;
+using Sinvo.EplanHpD.Plugin.Service.Model;
+using Sinvo.EplanHpD.Plugin.WPFUI.Models.MultiCoreWire;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Shapes;
+
+namespace Sinvo.EplanHpD.Plugin.WPFUI.Service
+{
+ public class MultiCoreWireService
+ {
+ public IEnumerable GetByUniqueKey(string uniqueKey)
+ {
+
+ if (string.IsNullOrEmpty(uniqueKey))
+ {
+ return [];
+ }
+ var db = DBHelper.DB;
+ try
+ {
+ var result = db.Queryable()
+ .Where(it => it.UniqueKey == uniqueKey)
+ .ToList();
+ return result;
+ }
+ catch (Exception)
+ {
+ throw;
+ }
+ }
+
+ // 保存
+ public void SaveData(MultiCoreWireLecDBModel line)
+ {
+ if (string.IsNullOrEmpty(line.UniqueKey)
+ || string.IsNullOrEmpty(line.UserId)
+ || string.IsNullOrEmpty(line.ProjectName))
+ {
+ return;
+ }
+ var db = DBHelper.DB;
+ try
+ {
+ db.BeginTran();
+ db.Insertable(line).ExecuteCommand();
+ db.CommitTran();
+ }
+ catch (Exception)
+ {
+ db.RollbackTran();
+ throw;
+ }
+ }
+
+ internal void ClearSelf(string uniqueKey)
+ {
+ if (string.IsNullOrEmpty(uniqueKey))
+ {
+ return;
+ }
+ var db = DBHelper.DB;
+ try
+ {
+ db.BeginTran();
+ db.Deleteable().Where(it => it.UniqueKey == uniqueKey).ExecuteCommand();
+ db.CommitTran();
+ }
+ catch (Exception)
+ {
+ db.RollbackTran();
+ throw;
+ }
+ }
+
+ internal void DeleteById(string id)
+ {
+ if (string.IsNullOrEmpty(id))
+ {
+ return;
+ }
+ var db = DBHelper.DB;
+ try
+ {
+ db.BeginTran();
+ db.Deleteable().Where(it => it.Id == id).ExecuteCommand();
+ db.CommitTran();
+ }
+ catch (Exception)
+ {
+ db.RollbackTran();
+ throw;
+ }
+ }
+ }
+}
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/Sinvo.EplanHpD.Plugin.WPFUI.csproj b/Sinvo.EplanHpD.Plugin.WPFUI/Sinvo.EplanHpD.Plugin.WPFUI.csproj
index bae9ae8..b7d1bb5 100644
--- a/Sinvo.EplanHpD.Plugin.WPFUI/Sinvo.EplanHpD.Plugin.WPFUI.csproj
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/Sinvo.EplanHpD.Plugin.WPFUI.csproj
@@ -242,6 +242,7 @@
+
@@ -253,6 +254,7 @@
+
@@ -272,6 +274,7 @@
+
TestWindow.xaml
@@ -288,6 +291,7 @@
+
@@ -308,6 +312,9 @@
LoginWindow.xaml
+
+ MultiCoreWireLayoutHelperWindow.xaml
+
MultiCoreWireWindow.xaml
@@ -348,6 +355,10 @@
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
Designer
MSBuild:Compile
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/Utils/Consts.cs b/Sinvo.EplanHpD.Plugin.WPFUI/Utils/Consts.cs
index dd0c145..0675864 100644
--- a/Sinvo.EplanHpD.Plugin.WPFUI/Utils/Consts.cs
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/Utils/Consts.cs
@@ -40,6 +40,10 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.Utils
///
public static readonly Regex dRegex = new("V-[\\d]+\\.?[\\d]*", RegexOptions.Compiled);
///
+ /// 线径大小匹配(伺服电机线材选型)
+ ///
+ public static readonly Regex InsulationRegex = new("(?:[T]{0,}RVV\\d×)(\\d\\.{0,}\\d+)(?:-2000W)?(-CE)?", RegexOptions.Compiled);
+ ///
/// 括号内容匹配
///
public static readonly Regex regexParenthesesContent = new(@"(?<=\()[^)]*(?=\))", RegexOptions.Compiled);
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/Utils/ExcelHelper.cs b/Sinvo.EplanHpD.Plugin.WPFUI/Utils/ExcelHelper.cs
index 4332427..0253982 100644
--- a/Sinvo.EplanHpD.Plugin.WPFUI/Utils/ExcelHelper.cs
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/Utils/ExcelHelper.cs
@@ -9,6 +9,8 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.Utils
{
public class ExcelHelper
{
+ private static IEnumerable _insulations;
+
private static IEnumerable _terminalMappingCache = [];
///
/// 线材端子对照表
@@ -54,8 +56,16 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.Utils
///
public static IEnumerable GetInsulationSoftSleeveTable(string wireModel)
{
+ if(_insulations != null)
+ {
+ return _insulations.Where(item => item.Specification == wireModel);
+ }
var path = Path.Combine(Consts.DATA_FILE_PATH, Consts.DATA_FILE_PATH_INSULATION);
var results = MiniExcel.Query(path);
+ if(_insulations == null)
+ {
+ _insulations = results;
+ }
//.Where(item => item.Specification == wireModel)
//.ToList();
return results.Where(item => item.Specification == wireModel);
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/Utils/LectotypeManager.cs b/Sinvo.EplanHpD.Plugin.WPFUI/Utils/LectotypeManager.cs
index 00df2ba..39dcf73 100644
--- a/Sinvo.EplanHpD.Plugin.WPFUI/Utils/LectotypeManager.cs
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/Utils/LectotypeManager.cs
@@ -1,4 +1,5 @@
-using Sinvo.EplanHpD.Plugin.Service;
+using EPLAN.Harness.ProjectCore;
+using Sinvo.EplanHpD.Plugin.Service;
using Sinvo.EplanHpD.Plugin.WPFUI.Extension;
using Sinvo.EplanHpD.Plugin.WPFUI.Models;
using Sinvo.EplanHpD.Plugin.WPFUI.ViewModel;
@@ -27,7 +28,7 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.Utils
///
///
///
- public static async Task CreateOrGetAsync(MotorModel motor)
+ public static CableLectotypeViewModel CreateOrGetAsync(MotorModel motor)
{
if (motor == null || string.IsNullOrEmpty(motor.AxisNo))
{
@@ -67,5 +68,17 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.Utils
}
}
+ public static string GetDocName(FlexDesigner designer)
+ {
+ var docName = designer.Name;
+ if (docName.Contains("+"))
+ {
+ return docName.Split('+').FirstOrDefault();
+ }
+ else
+ {
+ return docName;
+ }
+ }
}
}
\ No newline at end of file
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/Utils/MotorExcelHelper.cs b/Sinvo.EplanHpD.Plugin.WPFUI/Utils/MotorExcelHelper.cs
index a8e5b5c..f13e3e5 100644
--- a/Sinvo.EplanHpD.Plugin.WPFUI/Utils/MotorExcelHelper.cs
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/Utils/MotorExcelHelper.cs
@@ -138,6 +138,9 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.Utils
line.CableType,
line.AxisNo,
line.DrawingNo,
+ line.InsulationMCode,
+ line.InsulationModel,
+ line.InsulationCount,
EncoderLineLength = line.EncoderLineLength == 0 ? "" : line.EncoderLineLength.ToString(),
PowerLineLength = line.PowerLineLength == 0 ? "" : line.PowerLineLength.ToString(),
OrderDate = DateTime.Now.ToString("yyyy/M/d"),
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/Utils/MultiCoreWireExcelHelper.cs b/Sinvo.EplanHpD.Plugin.WPFUI/Utils/MultiCoreWireExcelHelper.cs
index b6f04dd..27997bd 100644
--- a/Sinvo.EplanHpD.Plugin.WPFUI/Utils/MultiCoreWireExcelHelper.cs
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/Utils/MultiCoreWireExcelHelper.cs
@@ -39,6 +39,7 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.Utils
var data = MiniExcel.Query(dataFileStream,sheetName: "多芯线WPS数据配对");
//MiniExcel.Query()
return data;
- }
+ }
+
}
}
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/View/CableLectotype/CableLectotypeUserControl.xaml b/Sinvo.EplanHpD.Plugin.WPFUI/View/CableLectotype/CableLectotypeUserControl.xaml
index dbc0e04..5a7c668 100644
--- a/Sinvo.EplanHpD.Plugin.WPFUI/View/CableLectotype/CableLectotypeUserControl.xaml
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/View/CableLectotype/CableLectotypeUserControl.xaml
@@ -50,7 +50,7 @@
Grid.ColumnSpan="2"
Panel.ZIndex="99"
ContentTemplate="{StaticResource LoadingMask}"
- Visibility="Collapsed" />
+ Visibility="Hidden" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/View/MultiCoreWire/MultiCoreWireWindow.xaml.cs b/Sinvo.EplanHpD.Plugin.WPFUI/View/MultiCoreWire/MultiCoreWireWindow.xaml.cs
index 3d3222d..58f600f 100644
--- a/Sinvo.EplanHpD.Plugin.WPFUI/View/MultiCoreWire/MultiCoreWireWindow.xaml.cs
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/View/MultiCoreWire/MultiCoreWireWindow.xaml.cs
@@ -1,5 +1,8 @@
-using Sinvo.EplanHpD.Plugin.WPFUI.ViewModel.MultiCoreWireViewModel;
+using Sinvo.EplanHpD.Plugin.WPFUI.Models;
+using Sinvo.EplanHpD.Plugin.WPFUI.ViewModel.MultiCoreWireViewModel;
+using SqlSugar.Extensions;
using System.Windows;
+using System.Windows.Controls;
namespace Sinvo.EplanHpD.Plugin.WPFUI.View
{
@@ -17,6 +20,7 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.View
private void Window_Loaded(object sender, RoutedEventArgs e)
{
+ viewModel.Init();
viewModel.LoadWiresData();
}
@@ -35,5 +39,17 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.View
{
viewModel.ClearLecLines();
}
+
+ private void DeleteItemBtn_Click(object sender, RoutedEventArgs e)
+ {
+ if(sender is Button btn)
+ {
+ string id = (string)btn.Tag;
+ if(id != null)
+ {
+ viewModel.DeleteLecWireItem(id);
+ }
+ }
+ }
}
}
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/View/Scanner/ScannerInfo.xaml.cs b/Sinvo.EplanHpD.Plugin.WPFUI/View/Scanner/ScannerInfo.xaml.cs
index 7547173..f634f32 100644
--- a/Sinvo.EplanHpD.Plugin.WPFUI/View/Scanner/ScannerInfo.xaml.cs
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/View/Scanner/ScannerInfo.xaml.cs
@@ -66,7 +66,7 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.View
///
private void Button_Click(object sender, RoutedEventArgs e)
{
- if (string.IsNullOrEmpty(_scannerViewModel.S_part)) ;
+ if (string.IsNullOrEmpty(_scannerViewModel.S_part)) { }
else
{
_scannerViewModel.ToSourceById(_scannerViewModel._ScanCableModels.FirstOrDefault().S_PartID);
@@ -79,7 +79,7 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.View
///
private void Button_Click_1(object sender, RoutedEventArgs e)
{
- if (string.IsNullOrEmpty(_scannerViewModel.S_pin)) ;
+ if (string.IsNullOrEmpty(_scannerViewModel.S_pin)) { }
else
{
_scannerViewModel.ToSourceById(_scannerViewModel._ScanCableModels.FirstOrDefault().S_pinID);
@@ -88,7 +88,7 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.View
private void Button_Click_2(object sender, RoutedEventArgs e)
{
- if (string.IsNullOrEmpty(_scannerViewModel.E_part)) ;
+ if (string.IsNullOrEmpty(_scannerViewModel.E_part)) { }
else
{
_scannerViewModel.ToSourceById(_scannerViewModel._ScanCableModels.FirstOrDefault().E_PartID);
@@ -97,7 +97,7 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.View
private void Button_Click_3(object sender, RoutedEventArgs e)
{
- if (string.IsNullOrEmpty(_scannerViewModel.E_pin)) ;
+ if (string.IsNullOrEmpty(_scannerViewModel.E_pin)) { }
else
{
_scannerViewModel.ToSourceById(_scannerViewModel._ScanCableModels.FirstOrDefault().E_pinID);
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/View/WireCheck/MainWindow.xaml.cs b/Sinvo.EplanHpD.Plugin.WPFUI/View/WireCheck/MainWindow.xaml.cs
index 969d869..435b2ee 100644
--- a/Sinvo.EplanHpD.Plugin.WPFUI/View/WireCheck/MainWindow.xaml.cs
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/View/WireCheck/MainWindow.xaml.cs
@@ -178,7 +178,7 @@ public partial class MainWindow : System.Windows.Window
Task.WaitAll(dataColumns, data);
var stuffedData = ViewModel.StuffData(data.Result);
- _ = stuffedData.ContinueWith(x =>
+ await stuffedData.ContinueWith(x =>
{
_ = this.Dispatcher.BeginInvoke(delegate ()
{
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/ViewModel/CableLectotype/CableLectotypeViewModel.cs b/Sinvo.EplanHpD.Plugin.WPFUI/ViewModel/CableLectotype/CableLectotypeViewModel.cs
index 4c71332..cb040e3 100644
--- a/Sinvo.EplanHpD.Plugin.WPFUI/ViewModel/CableLectotype/CableLectotypeViewModel.cs
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/ViewModel/CableLectotype/CableLectotypeViewModel.cs
@@ -9,6 +9,7 @@ using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
+using System.Threading.Tasks;
namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel;
@@ -29,14 +30,13 @@ public class CableLectotypeViewModel : INotifyPropertyChanged
///
public void Cablerator()
{
-
SelectedLines?.Clear();
if (string.IsNullOrEmpty(Motor.MotorPower))
{
ShowWarning("电机功率不能为空!");
return;
}
- if(IsEnableParagraph)
+ if (IsEnableParagraph)
{
if (EncoderLineParagraph == 0 || PowerLineParagraph == 0)
{
@@ -67,7 +67,7 @@ public class CableLectotypeViewModel : INotifyPropertyChanged
{
AxisNo = AxisNo,
CableConnectionClass = CableConnectionType == ConnectionType.FullParagraph ? "前段" : "直通",
- CableType = brandData.ComplexLine ? $"{CableTypePrimary}+{CableTypeSecond}" : CableTypePrimary,
+ CableType = brandData.ComplexLine ? $"{CableTypePrimary}+{CableTypeSecond}" : CableTypePrimary,
CableModelNo = CableModelStr,
IsLectotype = true,
CurrentLine = 1,
@@ -75,7 +75,7 @@ public class CableLectotypeViewModel : INotifyPropertyChanged
};
line.DrawingNo = line.GetCableDrawNo();
line.SubLines = GetSubLines(line.DrawingNo);
- var startIndex = 1;
+ var startIndex = 1;
if (CableConnectionType == ConnectionType.FullParagraph)
{
LectotypeList.Clear();
@@ -95,11 +95,11 @@ public class CableLectotypeViewModel : INotifyPropertyChanged
// 第一条线为所选线
LectotypeList.Add(line);
var secLine = new LectotypeLineModel
- {
- AxisNo = AxisNo,
+ {
+ AxisNo = AxisNo,
CableConnectionClass = CableConnectionType == ConnectionType.FullParagraph ? "前段" : "直通",
- CableType = CableTypeSecond,
- CableModelNo = CableModelStr,
+ CableType = CableTypeSecond,
+ CableModelNo = CableModelStr,
IsLectotype = true,
CurrentLine = 1,
Motor = Motor
@@ -169,11 +169,11 @@ public class CableLectotypeViewModel : INotifyPropertyChanged
if (_passthroughCableCount >= 2 && !string.IsNullOrEmpty(CableTypeSecond))
{
var secLine = new LectotypeLineModel
- {
- AxisNo = AxisNo,
+ {
+ AxisNo = AxisNo,
CableConnectionClass = "直通",
- CableType = CableTypeSecond,
- CableModelNo = CableModelStr,
+ CableType = CableTypeSecond,
+ CableModelNo = CableModelStr,
IsLectotype = true,
CurrentLine = 1,
Motor = Motor
@@ -185,11 +185,11 @@ public class CableLectotypeViewModel : INotifyPropertyChanged
if (_passthroughCableCount >= 3 && !string.IsNullOrEmpty(CableTypeThree))
{
var secLine = new LectotypeLineModel
- {
- AxisNo = AxisNo,
+ {
+ AxisNo = AxisNo,
CableConnectionClass = "直通",
- CableType = CableTypeThree,
- CableModelNo = CableModelStr,
+ CableType = CableTypeThree,
+ CableModelNo = CableModelStr,
IsLectotype = true,
CurrentLine = 1,
Motor = Motor
@@ -199,7 +199,7 @@ public class CableLectotypeViewModel : INotifyPropertyChanged
LectotypeList.Add(secLine);
}
}
-
+
}
var sortedLines = LectotypeList.OrderBy(it => it.CableType).ThenBy(it => it.CurrentLine).ToList();
sortedLines.ForEach(it =>
@@ -462,6 +462,18 @@ public class CableLectotypeViewModel : INotifyPropertyChanged
OnPropertyChanged(nameof(IsEnableSecCableType));
}
}
+
+ private bool _loading;
+ public bool Loading
+ {
+ get => _loading;
+ set
+ {
+ _loading = value;
+ OnPropertyChanged(nameof(Loading));
+ }
+ }
+
public bool SaveToDb()
{
//var service = new MotorLectotypeService();
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/ViewModel/CableLectotype/LectotypeViewModel.cs b/Sinvo.EplanHpD.Plugin.WPFUI/ViewModel/CableLectotype/LectotypeViewModel.cs
index 1ad153a..5064a14 100644
--- a/Sinvo.EplanHpD.Plugin.WPFUI/ViewModel/CableLectotype/LectotypeViewModel.cs
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/ViewModel/CableLectotype/LectotypeViewModel.cs
@@ -169,9 +169,9 @@ public class LectotypeViewModel(string docId) : INotifyPropertyChanged
// 当前的工作区
var designer = FlexProject.CurrentProject.GetDesigners().FirstOrDefault(designer => designer.ID == docId);
// 获取项目名
- DocName = GetDocName(designer);
+ DocName = LectotypeManager.GetDocName(designer);
LectotypeManager.CURRENT_DOC_NAME = DocName;
- LectotypeManager.CURRENT_DOC_CREATE_TIME = new DateTimeOffset(designer.CreatedDateDateTime).ToUnixTimeMilliseconds().ToString();
+ //LectotypeManager.CURRENT_DOC_CREATE_TIME = new DateTimeOffset(designer.CreatedDateDateTime).ToUnixTimeMilliseconds().ToString();
// 获取所有存在的
var wires = designer.GetOrganizerOccurrences(designer.ID);
@@ -212,6 +212,7 @@ public class LectotypeViewModel(string docId) : INotifyPropertyChanged
return new LectotypeLineModel
{
Name= GetLectotypeName(occCable.LibraryName),
+ CableModel = GetLectotypeName(occCable.LibraryName),
LibraryName = occCable.LibraryName,
CableName = occCable.Name,
AxisNo = GetAxisNo(insulatorGraph.Imprint),
@@ -262,18 +263,18 @@ public class LectotypeViewModel(string docId) : INotifyPropertyChanged
}
}
- public string GetDocName(FlexDesigner designer)
- {
- var docName = designer.Name;
- if (docName.Contains("+"))
- {
- return docName.Split('+').FirstOrDefault();
- }
- else
- {
- return docName;
- }
- }
+ //public string GetDocName(FlexDesigner designer)
+ //{
+ // var docName = designer.Name;
+ // if (docName.Contains("+"))
+ // {
+ // return docName.Split('+').FirstOrDefault();
+ // }
+ // else
+ // {
+ // return docName;
+ // }
+ //}
public List StuffData(List cables)
{
List datas = [];
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/ViewModel/MultiCoreWireViewModel/MultiCoreWireLayoutHelperViewModel.cs b/Sinvo.EplanHpD.Plugin.WPFUI/ViewModel/MultiCoreWireViewModel/MultiCoreWireLayoutHelperViewModel.cs
new file mode 100644
index 0000000..bfe7b1c
--- /dev/null
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/ViewModel/MultiCoreWireViewModel/MultiCoreWireLayoutHelperViewModel.cs
@@ -0,0 +1,46 @@
+using Sinvo.EplanHpD.Plugin.Service.Model;
+using Sinvo.EplanHpD.Plugin.WPFUI.Models;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel.MultiCoreWireViewModel
+{
+ public class MultiCoreWireLayoutHelperViewModel : INotifyPropertyChanged
+ {
+
+ private string _uniqueKey;
+
+
+ public event PropertyChangedEventHandler PropertyChanged;
+ public void OnPropertyChanged(string propertyName)
+ {
+ PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
+ }
+ public MultiCoreWireLayoutHelperViewModel(string uniqueKey)
+ {
+ _uniqueKey = uniqueKey;
+ }
+
+
+ #region Props
+
+ private ObservableCollection _lecWires = [];
+
+ public ObservableCollection LecWires
+ {
+ get { return _lecWires; }
+ set
+ {
+ _lecWires = value;
+ OnPropertyChanged(nameof(LecWires));
+ }
+ }
+ #endregion
+
+ }
+}
diff --git a/Sinvo.EplanHpD.Plugin.WPFUI/ViewModel/MultiCoreWireViewModel/MultiCoreWireViewModel.cs b/Sinvo.EplanHpD.Plugin.WPFUI/ViewModel/MultiCoreWireViewModel/MultiCoreWireViewModel.cs
index f8bdea4..5b41f8c 100644
--- a/Sinvo.EplanHpD.Plugin.WPFUI/ViewModel/MultiCoreWireViewModel/MultiCoreWireViewModel.cs
+++ b/Sinvo.EplanHpD.Plugin.WPFUI/ViewModel/MultiCoreWireViewModel/MultiCoreWireViewModel.cs
@@ -3,8 +3,13 @@ using EPLAN.Harness.Core.Appearance;
using EPLAN.Harness.Core.Utils;
using EPLAN.Harness.ProjectCore;
using EPLAN.Harness.ProjectCore.Occurrences.Designer;
+using HandyControl.Controls;
using MiniExcelLibs.Attributes;
+using Sinvo.EplanHpD.Plugin.Service;
+using Sinvo.EplanHpD.Plugin.Service.Model;
using Sinvo.EplanHpD.Plugin.WPFUI.Models;
+using Sinvo.EplanHpD.Plugin.WPFUI.Models.MultiCoreWire;
+using Sinvo.EplanHpD.Plugin.WPFUI.Service;
using Sinvo.EplanHpD.Plugin.WPFUI.Utils;
using SqlSugar;
using System;
@@ -14,6 +19,7 @@ using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Threading.Tasks;
+using System.Windows;
using System.Windows.Forms;
namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel.MultiCoreWireViewModel
@@ -22,6 +28,8 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel.MultiCoreWireViewModel
{
public string _docId = docId;
private readonly MultiCoreWireExcelHelper _dataHelper = MultiCoreWireExcelHelper.Instance;
+ private readonly MultiCoreWireService _service = new();
+ private string CurrUniqueKey = "";
#region Props
private ObservableCollection _wires = [];
@@ -48,6 +56,7 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel.MultiCoreWireViewModel
}
}
+
private string _applicationScenario;
///
/// 应用场景
@@ -58,11 +67,27 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel.MultiCoreWireViewModel
set
{
_applicationScenario = value;
+
+ ApplicationScenarioSelected = !string.IsNullOrEmpty(value);
+
OnPropertyChanged(nameof(ApplicationScenario));
+
OnLecChanged(nameof(ApplicationScenario));
}
}
+ private bool _applicationScenarioSelected;
+
+ public bool ApplicationScenarioSelected
+ {
+ get => _applicationScenarioSelected;
+ set
+ {
+ _applicationScenarioSelected = value;
+ OnPropertyChanged(nameof(ApplicationScenarioSelected));
+ }
+ }
+
private string _wireType;
///
/// 线材类型
@@ -134,46 +159,46 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel.MultiCoreWireViewModel
OnLecChanged(nameof(WireModelSpecification));
}
}
- private string _connectorModel;
- ///
- /// 插头型号
- ///
- public string ConnectorModel
- {
- get => _connectorModel;
- set
- {
- _connectorModel = value;
- OnPropertyChanged(nameof(ConnectorModel));
- }
- }
- private string _frontTerminalModel;
- ///
- /// 前端子型号
- ///
- public string FrontTerminalModel
- {
- get => _frontTerminalModel;
- set
- {
- _frontTerminalModel = value;
- OnPropertyChanged(nameof(FrontTerminalModel));
- }
- }
+ //private string _connectorModel;
+ /////
+ ///// 插头型号
+ /////
+ //public string ConnectorModel
+ //{
+ // get => _connectorModel;
+ // set
+ // {
+ // _connectorModel = value;
+ // OnPropertyChanged(nameof(ConnectorModel));
+ // }
+ //}
+ //private string _frontTerminalModel;
+ /////
+ ///// 前端子型号
+ /////
+ //public string FrontTerminalModel
+ //{
+ // get => _frontTerminalModel;
+ // set
+ // {
+ // _frontTerminalModel = value;
+ // OnPropertyChanged(nameof(FrontTerminalModel));
+ // }
+ //}
- private string _backTerminalModel;
- ///
- /// 后端子型号
- ///
- public string BackTerminalModel
- {
- get => _backTerminalModel;
- set
- {
- _backTerminalModel = value;
- OnPropertyChanged(nameof(BackTerminalModel));
- }
- }
+ //private string _backTerminalModel;
+ /////
+ ///// 后端子型号
+ /////
+ //public string BackTerminalModel
+ //{
+ // get => _backTerminalModel;
+ // set
+ // {
+ // _backTerminalModel = value;
+ // OnPropertyChanged(nameof(BackTerminalModel));
+ // }
+ //}
private List _applicationScenarios;
@@ -189,19 +214,19 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel.MultiCoreWireViewModel
OnPropertyChanged(nameof(ApplicationScenarios));
}
}
- private List _wireTypes;
- ///
- /// 线材类型
- ///
- public List WireTypes
- {
- get => _wireTypes;
- set
- {
- _wireTypes = value;
- OnPropertyChanged(nameof(WireTypes));
- }
- }
+ //private List _wireTypes;
+ /////
+ ///// 线材类型
+ /////
+ //public List WireTypes
+ //{
+ // get => _wireTypes;
+ // set
+ // {
+ // _wireTypes = value;
+ // OnPropertyChanged(nameof(WireTypes));
+ // }
+ //}
private List _wireDiameterSpecifications;
///
/// 线径规格
@@ -245,48 +270,138 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel.MultiCoreWireViewModel
}
}
- private List _connectorModels;
+ //private List _connectorModels;
+ /////
+ ///// 连接器型号
+ /////
+ //public List ConnectorModels
+ //{
+ // get => _connectorModels;
+ // set
+ // {
+ // _connectorModels = value;
+ // OnPropertyChanged(nameof(ConnectorModels));
+ // }
+ //}
+ private List _frontConnectorModels;
///
- /// 连接器型号
+ /// 前连接器型号
///
- public List ConnectorModels
+ public List FrontConnectorModels
{
- get => _connectorModels;
+ get => _frontConnectorModels;
set
{
- _connectorModels = value;
- OnPropertyChanged(nameof(ConnectorModels));
- }
- }
- private List _frontTerminalModels;
- ///
- /// 前端子型号
- ///
- public List FrontTerminalModels
- {
- get => _frontTerminalModels;
- set
- {
- _frontTerminalModels = value;
- OnPropertyChanged(nameof(FrontTerminalModels));
- }
- }
- private List _backTerminalModels;
- ///
- /// 后端子型号
- ///
- public List BackTerminalModels
- {
- get => _backTerminalModels;
- set
- {
- _backTerminalModels = value;
- OnPropertyChanged(nameof(BackTerminalModels));
+ _frontConnectorModels = value;
+ OnPropertyChanged(nameof(FrontConnectorModels));
}
}
+ private List _backConnectorModels;
+ ///
+ /// 后连接器型号
+ ///
+ public List BackConnectorModels
+ {
+ get => _backConnectorModels;
+ set
+ {
+ _backConnectorModels = value;
+ OnPropertyChanged(nameof(BackConnectorModels));
+ }
+ }
+ private string _frontConnectorType;
+ ///
+ /// 前连接器类型
+ ///
+ public string FrontConnectorType
+ {
+ get => _frontConnectorType;
+ set
+ {
+ _frontConnectorType = value;
+ OnPropertyChanged(nameof(FrontConnectorType));
+ OnFrontTypeChange(FrontConnectorType);
+ }
+
+ }
+
+ private void OnFrontTypeChange(string type)
+ {
+ if (type == "端子")
+ {
+ FrontConnectorModels = [.. _datas.Where(it => it.WireModelSpecification == WireModelSpecification).FirstOrDefault()?.TerminalModels];
+ }
+ else
+ {
+ FrontConnectorModels = [new MultiCoreWireTerminalModel {
+ TerminalModel = _datas.Where(it => it.WireModelSpecification == WireModelSpecification).FirstOrDefault()?.ConnectorModel
+ }];
+
+ }
+ }
+
+ private string _backConnectorType;
+ ///
+ /// 后连接器类型
+ ///
+ public string BackConnectorType
+ {
+ get => _backConnectorType;
+ set
+ {
+ _backConnectorType = value;
+ OnPropertyChanged(nameof(BackConnectorType));
+ OnBackTypeChange(BackConnectorType);
+
+ }
+ }
+ private void OnBackTypeChange(string type)
+ {
+ if (type == "端子")
+ {
+ BackConnectorModels = [.. _datas.Where(it => it.WireModelSpecification == WireModelSpecification).FirstOrDefault()?.TerminalModels];
+ }
+ else
+ {
+ BackConnectorModels = [new MultiCoreWireTerminalModel {
+ TerminalModel = _datas.Where(it => it.WireModelSpecification == WireModelSpecification).FirstOrDefault()?.ConnectorModel
+ }];
+
+ }
+ }
+
+ //}
+ private string _frontConnectorModel;
+ ///
+ /// 前连接器型号
+ ///
+ public string FrontConnectorModel
+ {
+ get => _frontConnectorModel;
+ set
+ {
+ _frontConnectorModel = value;
+ OnPropertyChanged(nameof(FrontConnectorModel));
+ }
+ }
+
+
+ private string _backConnectorModel;
+ ///
+ /// 后连接器型号
+ ///
+ public string BackConnectorModel
+ {
+ get => _backConnectorModel;
+ set
+ {
+ _backConnectorModel = value;
+ OnPropertyChanged(nameof(BackConnectorModel));
+ }
+ }
#endregion
@@ -296,6 +411,45 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel.MultiCoreWireViewModel
_datas = _dataHelper.GetMultiCoreWireLecDatas();
SetDatas(_datas);
+ try
+ {
+
+ var wiresData = _service.GetByUniqueKey(CurrUniqueKey);
+ if (wiresData != null)
+ {
+ wiresData.ForEach(wire =>
+ {
+ LecWires.Add(new MultiCoreWireLecModel
+ {
+ Id = wire.Id,
+ SeqNo = wire.SeqNo,
+ ApplicationScenario = wire.ApplicationScenario,
+ WireDiameterSpecification = wire.WireDiameterSpecification,
+ IsHighFlexibilityStr = wire.IsHighFlexibilityStr,
+ WireCoreCount = wire.WireCoreCount,
+ WireModelSpecification = wire.WireModelSpecification,
+ FrontConnectorModel = wire.FrontConnectorModel,
+ BackConnectorModel = wire.BackConnectorModel,
+ UserId = wire.UserId,
+ ProjectName = wire.ProjectName,
+ UniqueKey = wire.UniqueKey
+ });
+ });
+ }
+ }
+ catch (Exception)
+ {
+ HandyControl.Controls.MessageBox.Error("加载历史数据失败");
+ }
+ }
+
+ public void Init()
+ {
+
+ var des = FlexProject.CurrentProject.GetDesigners().FirstOrDefault(it => it.ID == _docId) ?? throw new Exception("设计器不存在");
+ LectotypeManager.CURRENT_DOC_NAME = LectotypeManager.GetDocName(des);
+
+ CurrUniqueKey = $"{LectotypeManager.CURRENT_DOC_NAME}_{PluginServices.user.ID}";
}
private bool LecChanging = false;
public void OnLecChanged(string propName)
@@ -310,20 +464,16 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel.MultiCoreWireViewModel
// 线径规格
.WhereIF(!string.IsNullOrEmpty(WireDiameterSpecification), it => it.WireDiameterSpecification == WireDiameterSpecification)
// 是否高柔
- .WhereIF(!string.IsNullOrEmpty(HighFlexibility),it => it.IsHighFlexibilityStr == HighFlexibility)
+ .WhereIF(!string.IsNullOrEmpty(HighFlexibility), it => it.IsHighFlexibilityStr == HighFlexibility)
// 型号
.WhereIF(!string.IsNullOrEmpty(WireModelSpecification), it => it.WireModelSpecification == WireModelSpecification)
// 线芯数
.WhereIF(!string.IsNullOrEmpty(WireCoreCount), it => it.WireCoreCount == WireCoreCount)
- // 连接器
- .WhereIF(!string.IsNullOrEmpty(ConnectorModel), it => it.ConnectorModel == ConnectorModel)
- .WhereIF(!string.IsNullOrEmpty(FrontTerminalModel), it => it.FrontTerminalModel == FrontTerminalModel)
- .WhereIF(!string.IsNullOrEmpty(BackTerminalModel), it => it.BackTerminalModel == BackTerminalModel)
;
SetDatas(canUsedDatas, propName);
}
- private void SetDatas(IEnumerable datas,string propName = "")
+ private void SetDatas(IEnumerable datas, string propName = "")
{
if (datas != null)
{
@@ -333,7 +483,7 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel.MultiCoreWireViewModel
//{
// ApplicationScenario = ApplicationScenarios.FirstOrDefault();
//}
- WireTypes = [.. datas.Where(it => !string.IsNullOrEmpty(it.WireType)).Select(it => it.WireType).Distinct(), ""];
+ //WireTypes = [.. datas.Where(it => !string.IsNullOrEmpty(it.WireType)).Select(it => it.WireType).Distinct(), ""];
//if (WireTypes.Where(it => !string.IsNullOrEmpty(it)).Count() == 1 && propName != nameof(WireType))
//{
// WireType = WireTypes.FirstOrDefault();
@@ -353,9 +503,8 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel.MultiCoreWireViewModel
{
WireModelSpecification = WireModelSpecifications.FirstOrDefault();
}
- ConnectorModels = [.. datas.Where(it => !string.IsNullOrEmpty(it.ConnectorModel)).Select(it => it.ConnectorModel).Distinct(), ""];
- FrontTerminalModels = [.. datas.Where(it => !string.IsNullOrEmpty(it.FrontTerminalModel)).Select(it => it.FrontTerminalModel).Distinct(), ""];
- BackTerminalModels = [.. datas.Where(it => !string.IsNullOrEmpty(it.BackTerminalModel)).Select(it => it.BackTerminalModel).Distinct(), ""];
+ //FrontConnectorModels = [.. datas.Where(it => !string.IsNullOrEmpty(it.FrontTerminalModel)).Select(it => it.FrontTerminalModel).Distinct(), ""];
+ //BackConnectorModels = [.. datas.Where(it => !string.IsNullOrEmpty(it.BackTerminalModel)).Select(it => it.BackTerminalModel).Distinct(), ""];
LecChanging = false;
}
}
@@ -374,7 +523,7 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel.MultiCoreWireViewModel
{
var wireData = new MultiCoreWireDataModel
{
- WireModelSpecification = it.LibraryName
+ WireModelSpecification = $"{it.Name} / {it.LibraryName}"
};
//Debug.WriteLine($"{it.Name} - {it.LibraryName}");
if (it.Children?.Any() ?? false)
@@ -386,7 +535,7 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel.MultiCoreWireViewModel
{
c.Children.Where(ccc => ccc is OccWire).ForEach(cc =>
{
- if(cc is OccWire wire)
+ if (cc is OccWire wire)
{
//var color = materials.Where(col => col == wire.Color)
//Debug.WriteLine($"\t\t{wire.Name} - {wire.LibraryName} - {FlexColors.GetName(wire.Color.Major)}");
@@ -408,7 +557,7 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel.MultiCoreWireViewModel
Wires?.Add(wireData);
});
return Task.CompletedTask;
- }
+ }
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(string propertyName)
{
@@ -424,9 +573,8 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel.MultiCoreWireViewModel
HighFlexibility = "";
WireCoreCount = "";
WireModelSpecification = "";
- ConnectorModel = "";
- FrontTerminalModel = "";
- BackTerminalModel = "";
+ FrontConnectorType = "";
+ BackConnectorType = "";
LecChanging = false;
OnLecChanged("");
@@ -434,23 +582,111 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel.MultiCoreWireViewModel
public void SaveLecToLine()
{
- LecWires.Add(new MultiCoreWireLecModel
+ if (ApplicationScenario == null
+ || WireDiameterSpecification == null
+ || HighFlexibility == null
+ || WireCoreCount == null
+ || WireModelSpecification == null
+ || FrontConnectorModel == null
+ || BackConnectorModel == null)
{
- ApplicationScenario = ApplicationScenario,
- WireType = WireType,
- WireDiameterSpecification = WireDiameterSpecification,
- IsHighFlexibility = HighFlexibility == "是",
- WireCoreCount = WireCoreCount,
- WireModelSpecification = WireModelSpecification,
- ConnectorModel = ConnectorModel,
- FrontTerminalModel = FrontTerminalModel,
- BackTerminalModel = BackTerminalModel
- });
- }
+ HandyControl.Controls.MessageBox.Show("有信息未选择!",caption: "提示",icon: MessageBoxImage.Warning);
+ return;
+ }
+ //if(LecWires.Any(it=> it.ApplicationScenario == ApplicationScenario && it.WireModelSpecification == WireModelSpecification))
+ //{
+ // MessageBox.Show("已选择相同的线!");
+ // return;
+ //}
+ try
+ {
+ var wire = new MultiCoreWireLecModel
+ {
+ Id = Guid.NewGuid().ToString(),
+ SeqNo = LecWires.Count + 1,
+ ApplicationScenario = ApplicationScenario,
+ WireDiameterSpecification = WireDiameterSpecification,
+ IsHighFlexibilityStr = HighFlexibility,
+ WireCoreCount = WireCoreCount,
+ WireModelSpecification = WireModelSpecification,
+ FrontConnectorModel = FrontConnectorModel,
+ BackConnectorModel = BackConnectorModel,
+ UserId = PluginServices.user.ID,
+ ProjectName = LectotypeManager.CURRENT_DOC_NAME,
+ UniqueKey = $"{LectotypeManager.CURRENT_DOC_NAME}_{PluginServices.user.ID}"
+ };
+
+ _service.SaveData(new MultiCoreWireLecDBModel
+ {
+ Id = wire.Id,
+ UniqueKey = wire.UniqueKey,
+ ProjectName = wire.ProjectName,
+ UserId = wire.UserId,
+ SeqNo = wire.SeqNo,
+ ApplicationScenario = wire.ApplicationScenario,
+ WireDiameterSpecification = wire.WireDiameterSpecification,
+ IsHighFlexibilityStr = wire.IsHighFlexibilityStr,
+ WireCoreCount = wire.WireCoreCount,
+ WireModelSpecification = wire.WireModelSpecification,
+ FrontConnectorModel = wire.FrontConnectorModel,
+ BackConnectorModel = wire.BackConnectorModel
+
+ });
+ LecWires.Add(wire);
+ }
+ catch (Exception ex)
+ {
+ HandyControl.Controls.MessageBox.Error($"保存数据失败!{ex}");
+ }
+ }
+
public void ClearLecLines()
{
- LecWires.Clear();
+ try
+ {
+ LecWires.Clear();
+ _service.ClearSelf(CurrUniqueKey);
+ }
+ catch (Exception ex)
+ {
+ HandyControl.Controls.MessageBox.Error($"清除数据失败!{ex}");
+ }
+
}
+
+ internal void DeleteLecWireItem(string id)
+ {
+ if(id != null)
+ {
+ var removeItem = LecWires.FirstOrDefault(it => it.Id == id!);
+ if(removeItem != null)
+ {
+ try
+ {
+ LecWires.Remove(removeItem);
+ _service.DeleteById(id);
+ }
+ catch (Exception ex)
+ {
+ HandyControl.Controls.MessageBox.Error($"删除数据失败!{ex}");
+ }
+
+ }
+
+ //ReOrderLecWires();
+ }
+ }
+
+ //private void ReOrderLecWires()
+ //{
+ // int seq = 1;
+ // LecWires.OrderBy(it => it.SeqNo).ForEach(it =>
+ // {
+ // it.SeqNo = seq;
+ // seq++;
+ // });
+ // OnPropertyChanged(nameof(LecWires));
+ //}
}
}
diff --git a/Sinvo.EplanHpD.Plugin/DesignPluginEntry.cs b/Sinvo.EplanHpD.Plugin/DesignPluginEntry.cs
index 7bf7329..cf770c5 100644
--- a/Sinvo.EplanHpD.Plugin/DesignPluginEntry.cs
+++ b/Sinvo.EplanHpD.Plugin/DesignPluginEntry.cs
@@ -59,39 +59,27 @@ namespace Sinvo.EplanHpD.Plugin
public void Execute(HpdApi api)
{
- bool isLogin = PluginServices.IsLogin;
- if (!isLogin)
- {
- var LoginWindow = new LoginWindow();
- if(LoginWindow.ShowDialog() == true)
- {
- isLogin = PluginServices.IsLogin;
- }
- }
- if (isLogin)
+ new DBHelper().CodeFirst();
+ var doc = api.CurrentProject.GetActiveDocument();
+ if (window == null)
{
- new DBHelper().CodeFirst();
- var doc = api.CurrentProject.GetActiveDocument();
- if (window == null)
+ window = new LectotypeWindow(doc.ID);
+ // 获取版本号并显示到窗口标题
+ window.Title += $" V{Version} - {doc.Name}";
+ ElementHost.EnableModelessKeyboardInterop(window);
+ var mainApp = BaseApp.ActiveApplication;
+ var helper = new System.Windows.Interop.WindowInteropHelper(window);
+ helper.Owner = mainApp.Handle;
+ window.Closed += delegate
{
- window = new LectotypeWindow(doc.ID);
- // 获取版本号并显示到窗口标题
- window.Title += $" V{Version} - {doc.Name}";
- ElementHost.EnableModelessKeyboardInterop(window);
- var mainApp = BaseApp.ActiveApplication;
- var helper = new System.Windows.Interop.WindowInteropHelper(window);
- helper.Owner = mainApp.Handle;
- window.Closed += delegate
- {
- window = null;
- };
- window.Show();
- }
- else
- {
- window.WindowState = System.Windows.WindowState.Normal;
- window.Activate();
- }
+ window = null;
+ };
+ window.Show();
+ }
+ else
+ {
+ window.WindowState = System.Windows.WindowState.Normal;
+ window.Activate();
}
}
public void Initialize()
diff --git a/Sinvo.EplanHpD.Plugin/MultiCoreWirePluginEntry.cs b/Sinvo.EplanHpD.Plugin/MultiCoreWirePluginEntry.cs
index 99c689f..4d6e86a 100644
--- a/Sinvo.EplanHpD.Plugin/MultiCoreWirePluginEntry.cs
+++ b/Sinvo.EplanHpD.Plugin/MultiCoreWirePluginEntry.cs
@@ -16,7 +16,7 @@ using System.Windows.Forms.Integration;
namespace Sinvo.EplanHpD.Plugin
{
-#if Release_WireAndCable || DEBUG
+#if DEBUG
public class MultiCoreWirePluginEntry : EPLAN.Harness.API.Plugins.IHpDPlugin
#else
public class MultiCoreWirePluginEntry
@@ -59,6 +59,7 @@ namespace Sinvo.EplanHpD.Plugin
public void Execute(HpdApi api)
{
+#if DEBUG
bool isLogin = PluginServices.IsLogin;
if (!isLogin)
{
@@ -70,6 +71,7 @@ namespace Sinvo.EplanHpD.Plugin
}
if (isLogin)
{
+#endif
new DBHelper().CodeFirst();
var doc = api.CurrentProject.GetActiveDocument();
if (window == null)
@@ -92,7 +94,9 @@ namespace Sinvo.EplanHpD.Plugin
window.WindowState = System.Windows.WindowState.Normal;
window.Activate();
}
+#if DEBUG
}
+#endif
}
public void Initialize()
{
diff --git a/Sinvo.EplanHpD.Plugin/PluginEntry.cs b/Sinvo.EplanHpD.Plugin/PluginEntry.cs
index 67653bb..218fa13 100644
--- a/Sinvo.EplanHpD.Plugin/PluginEntry.cs
+++ b/Sinvo.EplanHpD.Plugin/PluginEntry.cs
@@ -61,96 +61,83 @@ namespace Sinvo.EplanHpD.Plugin
private MainWindow window;
public void Execute(HpdApi api)
{
- bool isLogin = PluginServices.IsLogin;
- if (!isLogin)
+ bool isUpdated = false;
+ try
{
- var LoginWindow = new LoginWindow();
- if (LoginWindow.ShowDialog() == true)
+ var doc = api.CurrentProject.GetActiveDocument();
+ //doc.ID
+ //if(doc is FlexReport)
+ if (doc is EPLAN.Harness.API.Projects.Documents.Report report)
{
- isLogin = PluginServices.IsLogin;
- }
- }
- if (isLogin)
- {
-
- bool isUpdated = false;
- try
- {
- var doc = api.CurrentProject.GetActiveDocument();
- //doc.ID
- //if(doc is FlexReport)
- if (doc is EPLAN.Harness.API.Projects.Documents.Report report)
+ var reportId = report.ID;
+ var allReports = FlexProject.CurrentProject.GetReports();
+ if (allReports.Any(item => item.ID == reportId))
{
- var reportId = report.ID;
- var allReports = FlexProject.CurrentProject.GetReports();
- if (allReports.Any(item => item.ID == reportId))
+ var flexReport = allReports.Where(item => item.ID == reportId).First();
+ if (flexReport != null)
{
- var flexReport = allReports.Where(item => item.ID == reportId).First();
- if (flexReport != null)
+ var isNeedUpdate = FlexReport.IsUpToDate(flexReport);
+ if (!isNeedUpdate)
{
- var isNeedUpdate = FlexReport.IsUpToDate(flexReport);
- if (!isNeedUpdate)
+ if (FlexMessageBox.Warning(FlexMessageBox.Buttons.OK_CANCEL,
+ "Report",
+ "报表数据不是最新的,是否更新?", false) == DialogResult.OK)
{
- if (FlexMessageBox.Warning(FlexMessageBox.Buttons.OK_CANCEL,
- "Report",
- "报表数据不是最新的,是否更新?", false) == DialogResult.OK)
- {
- flexReport.UpdateReport();
- isUpdated = true;
- }
+ flexReport.UpdateReport();
+ isUpdated = true;
}
- try
+ }
+ try
+ {
+
+ if (window == null)
{
- if (window == null)
+ window = new MainWindow(flexReport);
+ ElementHost.EnableModelessKeyboardInterop(window);
+ window.Show();
+ }
+ else
+ {
+ if (isUpdated)
{
-
+ window.Close();
window = new MainWindow(flexReport);
ElementHost.EnableModelessKeyboardInterop(window);
window.Show();
}
- else
+ window.ShowActivated = true;
+ if (window.WindowState == System.Windows.WindowState.Minimized)
{
- if (isUpdated)
- {
- window.Close();
- window = new MainWindow(flexReport);
- ElementHost.EnableModelessKeyboardInterop(window);
- window.Show();
- }
- window.ShowActivated = true;
- if (window.WindowState == System.Windows.WindowState.Minimized)
- {
- window.WindowState = System.Windows.WindowState.Normal;
- }
- window.Show();
- window.Activate();
+ window.WindowState = System.Windows.WindowState.Normal;
}
- }
- catch (Exception)
- {
- window = new MainWindow(flexReport);
- // 解决WPF窗体在WinForm中无法输入的问题
- ElementHost.EnableModelessKeyboardInterop(window);
window.Show();
+ window.Activate();
}
}
- }
- else
- {
- FlexMessageBox.Error("未找到项目中匹配的报表,请检查是否生成成功或是未保存到项目中!");
+ catch (Exception)
+ {
+ window = new MainWindow(flexReport);
+ // 解决WPF窗体在WinForm中无法输入的问题
+ ElementHost.EnableModelessKeyboardInterop(window);
+ window.Show();
+ }
}
}
else
{
- FlexMessageBox.Error("请打开一个报表后再使用!");
+ FlexMessageBox.Error("未找到项目中匹配的报表,请检查是否生成成功或是未保存到项目中!");
}
}
- catch (Exception ex)
+ else
{
- FlexMessageBox.Error(ex.ToString());
+ FlexMessageBox.Error("请打开一个报表后再使用!");
}
}
+ catch (Exception ex)
+ {
+ FlexMessageBox.Error(ex.ToString());
+ }
}
public void Initialize()
diff --git a/Sinvo.EplanHpD.Plugin/Properties/AssemblyInfo.cs b/Sinvo.EplanHpD.Plugin/Properties/AssemblyInfo.cs
index 2a94efb..bd169d8 100644
--- a/Sinvo.EplanHpD.Plugin/Properties/AssemblyInfo.cs
+++ b/Sinvo.EplanHpD.Plugin/Properties/AssemblyInfo.cs
@@ -28,6 +28,6 @@ using System.Runtime.InteropServices;
// 生成号
// 修订号
//
-[assembly: AssemblyVersion("1.0.1.2")]
-[assembly: AssemblyFileVersion("1.0.1.2")]
-[assembly: AssemblyInformationalVersion("1.0.1.2")]
\ No newline at end of file
+[assembly: AssemblyVersion("1.0.1.3")]
+[assembly: AssemblyFileVersion("1.0.1.3")]
+[assembly: AssemblyInformationalVersion("1.0.1.3")]
\ No newline at end of file