105040 增加颜色匹配
This commit is contained in:
parent
d5e61f5ac2
commit
09c4e983bd
|
@ -205,5 +205,8 @@ w_00196 BK 黑色RV1.5-CE/定制 42012300001005 C45-1.5-CE/定制 4202010000
|
||||||
Assert.IsFalse(!stuffedData.IsError);
|
Assert.IsFalse(!stuffedData.IsError);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,6 +51,7 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="CheckTest.cs" />
|
<Compile Include="CheckTest.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="StuffTest.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
|
|
|
@ -0,0 +1,102 @@
|
||||||
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
|
using Sinvo.EplanHpD.Plugin.WPFUI.Models;
|
||||||
|
using Sinvo.EplanHpD.Plugin.WPFUI.ViewModel;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
namespace Sinvo.EplanHpD.Plugin.Test
|
||||||
|
{
|
||||||
|
[TestClass]
|
||||||
|
public class StuffTest
|
||||||
|
{
|
||||||
|
[TestMethod("数据处理测试")]
|
||||||
|
public void StuffedTest()
|
||||||
|
{
|
||||||
|
|
||||||
|
var vm = new MainViewModel();
|
||||||
|
var result = vm.StuffData(new List<ReportModel>
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
序号 项目 归属机构 电缆名称 规格型号 品牌 电线标码 长度(mm) 外径 截面积 物料编号 电线颜色 电线条颜色 导线名称 绞线 前端子型号 前端子物料编码 前端剥线长度 后端子型号 后端子物料编码 后端剥线长度
|
||||||
|
1 放卷2 隔膜放卷_&G000111006-033_DQ 黑色RV10.0/定制 EC5L1 593.9 mm 6.7 mm 10 mm2 42020100000222 浅蓝色 电线 C45-10/定制 42020100000386 8 mm RNB8-8/定制 42020100000148 8 mm
|
||||||
|
2 放卷2 隔膜放卷_&G000111006-033_DQ 黑色RV10.0/定制 EC5L2 581.8 mm 6.7 mm 10 mm2 42020100000222 蓝色 白色 电线 RNB8-8/定制 42020100000148 8 mm C45-10/定制 42020100000386 8 mm
|
||||||
|
3 放卷2 隔膜放卷_&G000111006-033_DQ 黑色RV10.0/定制 EC5L3 584.1 mm 6.7 mm 10 mm2 42020100000222 黑色 电线 C45-10/定制 42020100000386 8 mm RNB8-8/定制 42020100000148 8 mm
|
||||||
|
|
||||||
|
*/
|
||||||
|
new ReportModel
|
||||||
|
{
|
||||||
|
Project = "放卷2",
|
||||||
|
Document = "隔膜放卷_&G000111006-033_DQ",
|
||||||
|
CableName = "",
|
||||||
|
PartNumber = "黑色RV10.0/定制",
|
||||||
|
ManufacturerCompany = "",
|
||||||
|
Imprint = "EC5L1",
|
||||||
|
Length = "593.9 mm",
|
||||||
|
OutsideDiameter = "6.7 mm",
|
||||||
|
CoreDiameter = "10 mm2",
|
||||||
|
ERPNr = "42020100000222",
|
||||||
|
DisplayColor = "浅蓝色",
|
||||||
|
DisplayStripeColor = "",
|
||||||
|
WireName = "电线",
|
||||||
|
WireTwisted = "",
|
||||||
|
ConnectorFrom = "C45-10/定制",
|
||||||
|
ConnectorFromERPNr = "42020100000386",
|
||||||
|
StripLengthFrom = "8 mm",
|
||||||
|
ConnectorTo = "RNB8-8/定制",
|
||||||
|
ConnectorToERPNr = "42020100000148",
|
||||||
|
StripLengthTo = "8 mm"
|
||||||
|
},
|
||||||
|
new ReportModel
|
||||||
|
{
|
||||||
|
Project = "放卷2",
|
||||||
|
Document = "隔膜放卷_&G000111006-033_DQ",
|
||||||
|
CableName = "",
|
||||||
|
PartNumber = "黑色RV10.0/定制",
|
||||||
|
ManufacturerCompany = "",
|
||||||
|
Imprint = "EC5L2",
|
||||||
|
Length = "581.8 mm",
|
||||||
|
OutsideDiameter = "6.7 mm",
|
||||||
|
CoreDiameter = "10 mm2",
|
||||||
|
ERPNr = "42020100000222",
|
||||||
|
DisplayColor = "蓝色",
|
||||||
|
DisplayStripeColor = "白色",
|
||||||
|
WireName = "电线",
|
||||||
|
WireTwisted = "",
|
||||||
|
ConnectorFrom = "RNB8-8/定制",
|
||||||
|
ConnectorFromERPNr = "42020100000148",
|
||||||
|
StripLengthFrom = "8 mm",
|
||||||
|
ConnectorTo = "C45-10/定制",
|
||||||
|
ConnectorToERPNr = "42020100000386",
|
||||||
|
StripLengthTo = "8 mm"
|
||||||
|
},
|
||||||
|
new ReportModel
|
||||||
|
{
|
||||||
|
Project = "放卷2",
|
||||||
|
Document = "隔膜放卷_&G000111006-033_DQ",
|
||||||
|
CableName = "",
|
||||||
|
PartNumber = "黑色RV10.0/定制",
|
||||||
|
ManufacturerCompany = "",
|
||||||
|
Imprint = "EC5L3",
|
||||||
|
Length = "584.1 mm",
|
||||||
|
OutsideDiameter = "6.7 mm",
|
||||||
|
CoreDiameter = "10 mm2",
|
||||||
|
ERPNr = "42020100000222",
|
||||||
|
DisplayColor = "黑色",
|
||||||
|
DisplayStripeColor = "",
|
||||||
|
WireName = "电线",
|
||||||
|
WireTwisted = "",
|
||||||
|
ConnectorFrom = "C45-10/定制",
|
||||||
|
ConnectorFromERPNr = "42020100000386",
|
||||||
|
StripLengthFrom = "8 mm",
|
||||||
|
ConnectorTo = "RNB8-8/定制",
|
||||||
|
ConnectorToERPNr = "42020100000148",
|
||||||
|
StripLengthTo = "8 mm"
|
||||||
|
}
|
||||||
|
}).Result;
|
||||||
|
Assert.IsTrue(result.Count == 3);
|
||||||
|
Assert.IsTrue(result.Where(it => it.Imprint == "EC5L1").First().WireColor == "LBU");
|
||||||
|
Assert.IsTrue(result.Where(it => it.Imprint == "EC5L2").First().WireColor == "BUWH");
|
||||||
|
Assert.IsTrue(result.Where(it => it.Imprint == "EC5L3").First().WireColor == "BK");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -446,6 +446,7 @@
|
||||||
<TextBlock VerticalAlignment="Center" Text="当线径为1.5或是1.5以下时,变色套管(绝缘软套)应使用1.5平方,如未按此规则使用,将提示异常。" />
|
<TextBlock VerticalAlignment="Center" Text="当线径为1.5或是1.5以下时,变色套管(绝缘软套)应使用1.5平方,如未按此规则使用,将提示异常。" />
|
||||||
<TextBlock VerticalAlignment="Center" Text="当勾选全部CE认证时,未使用CE认证的线或是端子将提示异常。" />
|
<TextBlock VerticalAlignment="Center" Text="当勾选全部CE认证时,未使用CE认证的线或是端子将提示异常。" />
|
||||||
<TextBlock VerticalAlignment="Center" Text="当型号出现重复时,将会自动增加5mm长度,如果依旧出现重复,将会再增加一次,第二次增加长度后依旧重复,则根据原有长度提示异常。增加长度如果未出现异常,则会以增加后的长度进行生成(不会修改已有的数据,只会影响检查时的显示与导出报表)。" />
|
<TextBlock VerticalAlignment="Center" Text="当型号出现重复时,将会自动增加5mm长度,如果依旧出现重复,将会再增加一次,第二次增加长度后依旧重复,则根据原有长度提示异常。增加长度如果未出现异常,则会以增加后的长度进行生成(不会修改已有的数据,只会影响检查时的显示与导出报表)。" />
|
||||||
|
<TextBlock VerticalAlignment="Center" Text="当型号中出现:(冒号)时,会自动去除冒号以及冒号后面的内容。例如:“A000-CE / 定制:1” 将会被识别成 “A000-CE / 定制”" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</GroupBox>
|
</GroupBox>
|
||||||
|
|
|
@ -387,7 +387,6 @@ public partial class MainWindow : Window
|
||||||
//flexDesigner.
|
//flexDesigner.
|
||||||
flexDesigner.SelectSet.OnSelectionChanged();
|
flexDesigner.SelectSet.OnSelectionChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,10 +66,10 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.Utils
|
||||||
// .ToList();
|
// .ToList();
|
||||||
//}
|
//}
|
||||||
|
|
||||||
public static dynamic GetNumberTube(string wireModel)
|
public static dynamic GetNumberTube(string tubeModel)
|
||||||
{
|
{
|
||||||
CheckAndGetCache();
|
CheckAndGetCache();
|
||||||
return _terminalMappingCache.Where(item => item.WireModelSpecification == wireModel)
|
return _terminalMappingCache.Where(item => item.TubeModel == tubeModel)
|
||||||
.Select(item => new
|
.Select(item => new
|
||||||
{
|
{
|
||||||
item.TubeModel,
|
item.TubeModel,
|
||||||
|
|
|
@ -188,6 +188,11 @@ public partial class MainViewModel : INotifyPropertyChanged
|
||||||
);
|
);
|
||||||
return Task.FromResult(reportDatas.ToList());
|
return Task.FromResult(reportDatas.ToList());
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 清理数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="data"></param>
|
||||||
|
/// <returns></returns>
|
||||||
public async Task<List<StuffedDataModel>> StuffData(List<ReportModel> data)
|
public async Task<List<StuffedDataModel>> StuffData(List<ReportModel> data)
|
||||||
{
|
{
|
||||||
var datas = new ConcurrentBag<StuffedDataModel>();
|
var datas = new ConcurrentBag<StuffedDataModel>();
|
||||||
|
@ -205,13 +210,7 @@ public partial class MainViewModel : INotifyPropertyChanged
|
||||||
|
|
||||||
var data = new StuffedDataModel();
|
var data = new StuffedDataModel();
|
||||||
|
|
||||||
//if (!string.IsNullOrEmpty(item.PartNumber))
|
|
||||||
//{
|
|
||||||
// if (!item.PartNumber.Contains("-CE/"))
|
|
||||||
// {
|
|
||||||
// isAllCe = false;
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
if (!string.IsNullOrEmpty(item.Imprint) && item.Imprint.Contains("&"))
|
if (!string.IsNullOrEmpty(item.Imprint) && item.Imprint.Contains("&"))
|
||||||
{
|
{
|
||||||
var splitImprint = item.Imprint.Split('&');
|
var splitImprint = item.Imprint.Split('&');
|
||||||
|
@ -228,34 +227,21 @@ public partial class MainViewModel : INotifyPropertyChanged
|
||||||
}
|
}
|
||||||
data.Imprint = item.Imprint;
|
data.Imprint = item.Imprint;
|
||||||
data.WireColor = GetWireColorCode(item.DisplayColor, item.DisplayStripeColor);
|
data.WireColor = GetWireColorCode(item.DisplayColor, item.DisplayStripeColor);
|
||||||
//if (string.IsNullOrEmpty(data.WireColor))
|
|
||||||
//{
|
data.WireModel = item.PartNumber.Contains(":") ? item.PartNumber.Split(':')[0] : item.PartNumber;
|
||||||
// data.IsError = true;
|
|
||||||
// data.CheckedMsg += "线色不符合规范\r\n";
|
|
||||||
//}
|
|
||||||
data.WireModel = item.PartNumber;
|
|
||||||
data.WireCode = item.ERPNr;
|
data.WireCode = item.ERPNr;
|
||||||
data.WireName = item.WireName;
|
data.WireName = item.WireName;
|
||||||
//if (string.IsNullOrEmpty(data.WireCode))
|
|
||||||
//{
|
data.FrontTerminalModel = item.ConnectorFrom.Contains(":") ? item.ConnectorFrom.Split(':')[0] : item.ConnectorFrom;
|
||||||
// data.IsError = true;
|
|
||||||
// data.CheckedMsg += "线材编码为空\r\n";
|
|
||||||
//}
|
|
||||||
data.FrontTerminalModel = item.ConnectorFrom;
|
|
||||||
data.FrontTerminalMaterialCode = item.ConnectorFromERPNr;
|
data.FrontTerminalMaterialCode = item.ConnectorFromERPNr;
|
||||||
//if (string.IsNullOrEmpty(data.FrontTerminalMaterialCode))
|
|
||||||
//{
|
|
||||||
// data.IsError = true;
|
|
||||||
// data.CheckedMsg += "前端子物料编码为空\r\n";
|
|
||||||
//}
|
|
||||||
data.FrontStripLength = item.StripLengthFrom;
|
data.FrontStripLength = item.StripLengthFrom;
|
||||||
data.RearTerminalModel = item.ConnectorTo;
|
|
||||||
|
data.RearTerminalModel = item.ConnectorTo.Contains(":") ? item.ConnectorTo.Split(':')[0] : item.ConnectorTo;
|
||||||
|
|
||||||
data.RearTerminalMaterialCode = item.ConnectorToERPNr;
|
data.RearTerminalMaterialCode = item.ConnectorToERPNr;
|
||||||
//if (string.IsNullOrEmpty(data.RearTerminalMaterialCode))
|
|
||||||
//{
|
|
||||||
// data.IsError = true;
|
|
||||||
// data.CheckedMsg = "后端子物料编码为空\r\n";
|
|
||||||
//}
|
|
||||||
data.RearStripLength = item.StripLengthTo;
|
data.RearStripLength = item.StripLengthTo;
|
||||||
|
|
||||||
//MID(输出报表!J2,1,FIND(" mm2",输出报表!J2)-1)
|
//MID(输出报表!J2,1,FIND(" mm2",输出报表!J2)-1)
|
||||||
|
@ -286,7 +272,8 @@ public partial class MainViewModel : INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
data.Insulation = new InsulationModel();
|
data.Insulation = new InsulationModel();
|
||||||
}
|
}
|
||||||
var numberTube = ExcelHelper.GetNumberTube(data.WireModel);
|
var numberTubeModel = GetNumberTubeSpecification(data.CrossSection, data.WireColor);
|
||||||
|
var numberTube = ExcelHelper.GetNumberTube(numberTubeModel);
|
||||||
if (numberTube != null)
|
if (numberTube != null)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -294,18 +281,6 @@ public partial class MainViewModel : INotifyPropertyChanged
|
||||||
data.NumberTubeMaterialNo = numberTube.TubeMaterialCode;
|
data.NumberTubeMaterialNo = numberTube.TubeMaterialCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//if (datas.Any(it => it.Model == data.Model))
|
|
||||||
//{
|
|
||||||
|
|
||||||
// var existsItem = datas.First(it => it.Model == data.Model);
|
|
||||||
// if (existsItem != null)
|
|
||||||
// {
|
|
||||||
// existsItem.Quantity += 1;
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
{
|
{
|
||||||
if (data != null)
|
if (data != null)
|
||||||
datas.Add(data);
|
datas.Add(data);
|
||||||
|
@ -326,20 +301,59 @@ public partial class MainViewModel : INotifyPropertyChanged
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取颜色代号
|
/// 获取颜色代号
|
||||||
/// TODO : 改成从excel中读取基本资料
|
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="displayColor"></param>
|
/// <param name="displayColor">L3</param>
|
||||||
/// <param name="displayStripeColor"></param>
|
/// <param name="displayStripeColor">M3</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private static string GetWireColorCode(string displayColor, string displayStripeColor = null)
|
private static string GetWireColorCode(string displayColor, string displayStripeColor = null)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
=IF(AND(输出报表!L3="黄色"
|
||||||
|
输出报表!M3="绿色")
|
||||||
|
"GNYE"
|
||||||
|
IF(AND(输出报表!L3="蓝色"
|
||||||
|
输出报表!M3="白色")
|
||||||
|
"BUWH"
|
||||||
|
IF(输出报表!L3="红色"
|
||||||
|
"RD"
|
||||||
|
IF(输出报表!L3="黄色"
|
||||||
|
"YE"
|
||||||
|
IF(输出报表!L3="蓝色"
|
||||||
|
"BU"
|
||||||
|
IF(输出报表!L3="绿色"
|
||||||
|
"GN"
|
||||||
|
IF(输出报表!L3="黑色"
|
||||||
|
"BK"
|
||||||
|
IF(输出报表!L3="灰色"
|
||||||
|
"GR"
|
||||||
|
IF(输出报表!L3="白色"
|
||||||
|
"WH"
|
||||||
|
IF(输出报表!L3="棕色"
|
||||||
|
"BN"
|
||||||
|
IF(输出报表!L3="橙色"
|
||||||
|
"OG"
|
||||||
|
IF(输出报表!L3="紫色"
|
||||||
|
"VT"
|
||||||
|
IF(输出报表!L3="绿/黄双色"
|
||||||
|
"GNYE"
|
||||||
|
IF(输出报表!L3="浅蓝色"
|
||||||
|
"LBU"
|
||||||
|
))))))))))))))
|
||||||
|
*/
|
||||||
string colorCode;
|
string colorCode;
|
||||||
|
|
||||||
if (displayColor == "黄色" && displayStripeColor == "绿色")
|
if (displayColor == "黄色" && displayStripeColor == "绿色")
|
||||||
{
|
{
|
||||||
return "GNYE";
|
return "GNYE";
|
||||||
}
|
}
|
||||||
|
else if (displayColor == "蓝色" && displayStripeColor == "白色")
|
||||||
|
{
|
||||||
|
return "BUWH";
|
||||||
|
}
|
||||||
|
else if (displayColor == "浅蓝色")
|
||||||
|
{
|
||||||
|
return "LBU";
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
colorCode = displayColor switch
|
colorCode = displayColor switch
|
||||||
|
@ -361,6 +375,47 @@ public partial class MainViewModel : INotifyPropertyChanged
|
||||||
}
|
}
|
||||||
return colorCode;
|
return colorCode;
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 获取号码管规格
|
||||||
|
/// </summary>
|
||||||
|
public string GetNumberTubeSpecification(string crossSection, string colorCode)
|
||||||
|
{
|
||||||
|
if (crossSection == "16")
|
||||||
|
{
|
||||||
|
if (colorCode == "YE") return "黄色热缩管φ12/定制";
|
||||||
|
if (colorCode == "GN") return "绿色热缩管φ12/定制";
|
||||||
|
if (colorCode == "RD") return "红色热缩管φ12/定制";
|
||||||
|
if (colorCode == "BU") return "蓝色热缩管φ12/定制";
|
||||||
|
if (colorCode == "GNYE") return "黄绿色热缩管φ12/定制";
|
||||||
|
}
|
||||||
|
else if (crossSection == "0.3" || crossSection == "0.5" || crossSection == "0.75" || crossSection == "1")
|
||||||
|
{
|
||||||
|
return "白色号码管φ2.5/定制";
|
||||||
|
}
|
||||||
|
else if (crossSection == "1.5")
|
||||||
|
{
|
||||||
|
return "白色号码管φ3/定制";
|
||||||
|
}
|
||||||
|
else if (crossSection == "2.5")
|
||||||
|
{
|
||||||
|
return "白色号码管φ4/定制";
|
||||||
|
}
|
||||||
|
else if (crossSection == "4")
|
||||||
|
{
|
||||||
|
return "白色号码管φ5/定制";
|
||||||
|
}
|
||||||
|
else if (crossSection == "6")
|
||||||
|
{
|
||||||
|
return "白色号码管φ6/定制";
|
||||||
|
}
|
||||||
|
else if (crossSection == "10")
|
||||||
|
{
|
||||||
|
return "白色号码管φ8/定制";
|
||||||
|
}
|
||||||
|
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
public event PropertyChangedEventHandler PropertyChanged;
|
public event PropertyChangedEventHandler PropertyChanged;
|
||||||
|
|
||||||
private void OnPropertyChanged(string propertyName)
|
private void OnPropertyChanged(string propertyName)
|
||||||
|
|
Loading…
Reference in New Issue