diff --git a/Waste.Application/ResultInfos/Dtos/ResultDto.cs b/Waste.Application/ResultInfos/Dtos/ResultDto.cs index ad99880..d55274c 100644 --- a/Waste.Application/ResultInfos/Dtos/ResultDto.cs +++ b/Waste.Application/ResultInfos/Dtos/ResultDto.cs @@ -21,7 +21,7 @@ namespace Waste.Application /// /// 物品小类别 /// - public string WasteSType { get; set; } = ""; + public string WasteSType { get; set; } = string.Empty; /// /// 重量,单位KG @@ -167,6 +167,16 @@ namespace Waste.Application /// 唯一消息ID /// public string Measure_UUID { get; set; } + + + public string ID1 { get; set; } + public string ID2 { get; set; } + public string ID3 { get; set; } + public string ID4 { get; set; } + public string ID5 { get; set; } + public string ID6 { get; set; } + public string ID7 { get; set; } + public string ID8 { get; set; } } /// @@ -177,7 +187,7 @@ namespace Waste.Application /// /// 固定头 /// - public string Key { get; set; } = ""; + public string Key { get; set; } = string.Empty; /// /// 数据体长度 @@ -187,22 +197,22 @@ namespace Waste.Application /// /// IMEI /// - public string IMEI { get; set; } = ""; + public string IMEI { get; set; } = string.Empty; /// /// ICCID /// - public string ICCID { get; set; } = ""; + public string ICCID { get; set; } = string.Empty; /// /// IMSI /// - public string IMSI { get; set; } = ""; + public string IMSI { get; set; } = string.Empty; /// /// 信号强度 /// - public string GSLQ { get; set; } = ""; + public string GSLQ { get; set; } = string.Empty; /// /// 时间 @@ -212,27 +222,27 @@ namespace Waste.Application /// /// 经度 /// - public string Longitude { get; set; } = ""; + public string Longitude { get; set; } = string.Empty; /// /// 纬度 /// - public string Latitude { get; set; } = ""; + public string Latitude { get; set; } = string.Empty; /// /// 设备地区 /// - public string City { get; set; } = ""; + public string City { get; set; } = string.Empty; /// /// 设备详细地点 /// - public string Area { get; set; } = ""; + public string Area { get; set; } = string.Empty; /// /// 垃圾类别 /// - public string WasteType { get; set; } = ""; + public string WasteType { get; set; } = string.Empty; /// /// 重量,KG @@ -242,12 +252,12 @@ namespace Waste.Application /// /// 内容 /// - public string Body { get; set; } = ""; + public string Body { get; set; } = string.Empty; /// /// 字符串结果 /// - public string Str { get; set; } = ""; + public string Str { get; set; } = string.Empty; /// /// 是否是否通过校检,true-是,false-否 @@ -273,32 +283,60 @@ namespace Waste.Application /// /// 垃圾类别小类 /// - public string WasteSType { get; set; } = ""; + public string WasteSType { get; set; } = string.Empty; /// /// 消息ID /// - public string UUID { get; set; } = ""; + public string UUID { get; set; } = string.Empty; /// /// 上报时间 /// - public string UploadTime { get; set; } = ""; + public string UploadTime { get; set; } = string.Empty; /// /// 价格 /// - public string Price { get; set; } = ""; + public string Price { get; set; } = string.Empty; /// /// 金额 /// - public string Amount { get; set; } = ""; + public string Amount { get; set; } = string.Empty; /// /// 操作员 /// - public string OpUser { get; set; } = ""; + public string OpUser { get; set; } = string.Empty; + /// + /// 设备出厂序列号/设备出厂编号 + /// + public string DeviceFacEcode { get; set; } = string.Empty; + /// + /// 车牌号/物品编码/垃圾桶编号 + /// + public string Registration { get; set; } = string.Empty; + /// + /// 毛重,KG + /// + public string GrossWeight { get; set; } = string.Empty; + /// + /// 皮重,KG + /// + public string Tare { get; set; } = string.Empty; + /// + /// 净重,KG + /// + public string NetWeight { get; set; } = string.Empty; + public string ID1 { get; set; } = string.Empty; + public string ID2 { get; set; } = string.Empty; + public string ID3 { get; set; } = string.Empty; + public string ID4 { get; set; } = string.Empty; + public string ID5 { get; set; } = string.Empty; + public string ID6 { get; set; } = string.Empty; + public string ID7 { get; set; } = string.Empty; + public string ID8 { get; set; } = string.Empty; } /// @@ -309,7 +347,7 @@ namespace Waste.Application /// /// 固定头 /// - public string Key { get; set; } = ""; + public string Key { get; set; } = string.Empty; /// /// 数据体长度 @@ -319,22 +357,22 @@ namespace Waste.Application /// /// IMEI /// - public string IMEI { get; set; } = ""; + public string IMEI { get; set; } = string.Empty; /// /// ICCID /// - public string ICCID { get; set; } = ""; + public string ICCID { get; set; } = string.Empty; /// /// IMSI /// - public string IMSI { get; set; } = ""; + public string IMSI { get; set; } = string.Empty; /// /// 信号强度 /// - public string GSLQ { get; set; } = ""; + public string GSLQ { get; set; } = string.Empty; /// /// 时间 @@ -344,27 +382,27 @@ namespace Waste.Application /// /// 经度 /// - public string Longitude { get; set; } = ""; + public string Longitude { get; set; } = string.Empty; /// /// 纬度 /// - public string Latitude { get; set; } = ""; + public string Latitude { get; set; } = string.Empty; /// /// 桶大小 /// - public string size { get; set; } = ""; + public string size { get; set; } = string.Empty; /// /// 垃圾桶编号 /// - public string trashcode { get; set; } = ""; + public string trashcode { get; set; } = string.Empty; /// /// 垃圾类别 /// - public string WasteType { get; set; } = ""; + public string WasteType { get; set; } = string.Empty; /// /// 重量,KG @@ -374,12 +412,12 @@ namespace Waste.Application /// /// 内容 /// - public string Body { get; set; } = ""; + public string Body { get; set; } = string.Empty; /// /// 字符串结果 /// - public string Str { get; set; } = ""; + public string Str { get; set; } = string.Empty; /// /// 是否是否通过校检,true-是,false-否 @@ -405,7 +443,7 @@ namespace Waste.Application /// /// 固定头 /// - public string Key { get; set; } = ""; + public string Key { get; set; } = string.Empty; /// /// 数据体长度 @@ -415,22 +453,22 @@ namespace Waste.Application /// /// IMEI /// - public string IMEI { get; set; } = ""; + public string IMEI { get; set; } = string.Empty; /// /// ICCID /// - public string ICCID { get; set; } = ""; + public string ICCID { get; set; } = string.Empty; /// /// IMSI /// - public string IMSI { get; set; } = ""; + public string IMSI { get; set; } = string.Empty; /// /// 信号强度 /// - public string GSLQ { get; set; } = ""; + public string GSLQ { get; set; } = string.Empty; /// /// 时间 @@ -440,27 +478,27 @@ namespace Waste.Application /// /// 经度 /// - public string Longitude { get; set; } = ""; + public string Longitude { get; set; } = string.Empty; /// /// 纬度 /// - public string Latitude { get; set; } = ""; + public string Latitude { get; set; } = string.Empty; /// /// 桶大小 /// - public string size { get; set; } = ""; + public string size { get; set; } = string.Empty; /// /// 垃圾桶编号 /// - public string trashcode { get; set; } = ""; + public string trashcode { get; set; } = string.Empty; /// /// 垃圾类别 /// - public string WasteType { get; set; } = ""; + public string WasteType { get; set; } = string.Empty; /// /// 重量,KG @@ -470,12 +508,12 @@ namespace Waste.Application /// /// 内容 /// - public string Body { get; set; } = ""; + public string Body { get; set; } = string.Empty; /// /// 字符串结果 /// - public string Str { get; set; } = ""; + public string Str { get; set; } = string.Empty; /// /// 是否是否通过校检,true-是,false-否 @@ -506,17 +544,17 @@ namespace Waste.Application /// /// 桶大小 /// - public string size { get; set; } = ""; + public string size { get; set; } = string.Empty; /// /// 垃圾桶编号 /// - public string trashcode { get; set; } = ""; + public string trashcode { get; set; } = string.Empty; /// /// 垃圾类别 /// - public string WasteType { get; set; } = ""; + public string WasteType { get; set; } = string.Empty; /// /// 重量,KG diff --git a/Waste.Application/ResultInfos/ResultService.cs b/Waste.Application/ResultInfos/ResultService.cs index e802254..4817801 100644 --- a/Waste.Application/ResultInfos/ResultService.cs +++ b/Waste.Application/ResultInfos/ResultService.cs @@ -150,6 +150,15 @@ namespace Waste.Application it.Measure_Amount = ext?.Amount; it.Measure_OpUser = ext?.OpUser; it.Measure_UUID = ext?.UUID; + + it.ID1 = ext?.ID1; + it.ID2 = ext?.ID2; + it.ID3 = ext?.ID3; + it.ID4 = ext?.ID4; + it.ID5 = ext?.ID5; + it.ID6 = ext?.ID6; + it.ID7 = ext?.ID7; + it.ID8 = ext?.ID8; }) .ToPageListAsync(param.offset, param.limit, totalnum); return new PageParms @@ -443,7 +452,22 @@ namespace Waste.Application Amount = amount, OpUser = myPackage.OpUser.ToStr(), Price = price, - UUID = myPackage.UUID + UUID = myPackage.UUID, + + DeviceFacEcode = myPackage.DeviceFacEcode, + Registration = myPackage.Registration, + GrossWeight = myPackage.GrossWeight, + Tare = myPackage.Tare, + NetWeight = myPackage.NetWeight, + + ID1 = myPackage.ID1, + ID2 = myPackage.ID2, + ID3 = myPackage.ID3, + ID4 = myPackage.ID4, + ID5 = myPackage.ID5, + ID6 = myPackage.ID6, + ID7 = myPackage.ID7, + ID8 = myPackage.ID8, }).ExecuteCommandAsync(); } await SendMessageToThird(new SendThirdMessageSubscribeS2SDto diff --git a/Waste.Domain/DataModel/W_MeasureResult.cs b/Waste.Domain/DataModel/W_MeasureResult.cs index e31dd26..3f52799 100644 --- a/Waste.Domain/DataModel/W_MeasureResult.cs +++ b/Waste.Domain/DataModel/W_MeasureResult.cs @@ -43,5 +43,35 @@ namespace Waste.Domain /// [SugarColumn(ColumnDescription = "唯一消息ID", ColumnDataType = "varchar(50)",IndexGroupNameList =new string[] { "index_uuid"})] public string UUID { get; set; } + + + /// + /// 设备出厂序列号/设备出厂编号 + /// + public string DeviceFacEcode { get; set; } + /// + /// 车牌号/物品编码/垃圾桶编号 + /// + public string Registration { get; set; } + /// + /// 毛重,KG + /// + public string GrossWeight { get; set; } + /// + /// 皮重,KG + /// + public string Tare { get; set; } + /// + /// 净重,KG + /// + public string NetWeight { get; set; } + public string ID1 { get; set; } + public string ID2 { get; set; } + public string ID3 { get; set; } + public string ID4 { get; set; } + public string ID5 { get; set; } + public string ID6 { get; set; } + public string ID7 { get; set; } + public string ID8 { get; set; } } } diff --git a/Waste.SocketService.cs/MyPackage.cs b/Waste.SocketService.cs/MyPackage.cs index e6397dd..35e22f5 100644 --- a/Waste.SocketService.cs/MyPackage.cs +++ b/Waste.SocketService.cs/MyPackage.cs @@ -11,6 +11,7 @@ namespace Waste.SocketService /// public class MyPackage: A8Package { + /// /// 固定头 /// @@ -83,8 +84,10 @@ namespace Waste.SocketService /// 是否为有效测量 /// public bool IsWeight { get; set; } = false; + + } - + /// /// A8协议包内容 /// @@ -114,5 +117,34 @@ namespace Waste.SocketService /// 操作员 /// public string OpUser { get; set; } = ""; + + /// + /// 设备出厂序列号/设备出厂编号 + /// + public string DeviceFacEcode { get; set; } + /// + /// 车牌号/物品编码/垃圾桶编号 + /// + public string Registration { get; set; } + /// + /// 毛重,KG + /// + public string GrossWeight { get; set; } + /// + /// 皮重,KG + /// + public string Tare { get; set; } + /// + /// 净重,KG + /// + public string NetWeight { get; set; } + public string ID1 { get; set; } + public string ID2 { get; set; } + public string ID3 { get; set; } + public string ID4 { get; set; } + public string ID5 { get; set; } + public string ID6 { get; set; } + public string ID7 { get; set; } + public string ID8 { get; set; } } } diff --git a/Waste.SocketService.cs/MyPackageFilter.cs b/Waste.SocketService.cs/MyPackageFilter.cs index af5c30e..dc7c4f5 100644 --- a/Waste.SocketService.cs/MyPackageFilter.cs +++ b/Waste.SocketService.cs/MyPackageFilter.cs @@ -302,14 +302,30 @@ namespace Waste.SocketService var measurearr = arr[6].Split('@'); if (measurearr.Length == 8) { - package.UUID = measurearr[0]; - package.UploadTime = measurearr[1]; - package.WasteType = measurearr[2]; - package.WasteSType = measurearr[3]; - package.Weight = measurearr[4]; - package.Price = measurearr[5]; - package.Amount = measurearr[6]; - package.OpUser = measurearr[7]; + Read(package, measurearr); + package.IsWeight = true; + } + //uuid@datetime@垃圾类型@子类@重量@单价@金额@操作员@物品编码@垃圾桶@毛重@皮重@净重@ID1@ID2@ID3@ID4@ID5@ID6@ID7@ID8\r\n + else if (measurearr.Length == 21) + { + + Read(package, measurearr); + + package.DeviceFacEcode = measurearr[8]; + package.Registration = measurearr[9]; + package.GrossWeight = measurearr[10]; + package.Tare = measurearr[11]; + package.NetWeight = measurearr[12]; + + package.ID1 = measurearr[13]; + package.ID2 = measurearr[14]; + package.ID3 = measurearr[15]; + package.ID4 = measurearr[16]; + package.ID5 = measurearr[17]; + package.ID6 = measurearr[18]; + package.ID7 = measurearr[19]; + package.ID8 = measurearr[20]; + package.IsWeight = true; } else @@ -438,6 +454,18 @@ namespace Waste.SocketService Console.WriteLine($"数据处理发生异常:{ex.Message}"); return new MyPackage(); } + + void Read(MyPackage package, string[] measurearr) + { + package.UUID = measurearr[0]; + package.UploadTime = measurearr[1]; + package.WasteType = measurearr[2]; + package.WasteSType = measurearr[3]; + package.Weight = measurearr[4]; + package.Price = measurearr[5]; + package.Amount = measurearr[6]; + package.OpUser = measurearr[7]; + } } } } diff --git a/Waste.Web.Entry/Pages/Result/ResultColumnConfigService.cs b/Waste.Web.Entry/Pages/Result/ResultColumnConfigService.cs index 623d3a6..e5d5595 100644 --- a/Waste.Web.Entry/Pages/Result/ResultColumnConfigService.cs +++ b/Waste.Web.Entry/Pages/Result/ResultColumnConfigService.cs @@ -13,6 +13,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Waste.Application; using Waste.Domain; +using static Google.Protobuf.WellKnownTypes.Field.Types; namespace Waste.Web.Entry.Pages.Result { @@ -31,19 +32,29 @@ namespace Waste.Web.Entry.Pages.Result {nameof(ResultList.DeviceEcode).ToLower(),""}, {nameof(ResultList.DeviceName).ToLower(),"豸"}, {nameof(ResultList.BusinessName).ToLower(),"̻"}, + {nameof(ResultList.PostStatus).ToLower(),"״̬"}, + {nameof(ResultList.CreateTime).ToLower(),"ʱ"}, {nameof(ResultList.WasteType).ToLower(),"Ʒ"}, - {nameof(ResultList.GrossWeight).ToLower(),"ë(KG)"}, {nameof(ResultList.Registration).ToLower(),"Ͱ"}, + {nameof(ResultList.GrossWeight).ToLower(),"ë(KG)"}, {nameof(ResultList.Tare).ToLower(),"Ƥ(KG)"}, {nameof(ResultList.NetWeight).ToLower(),"(KG)"}, {nameof(ResultList.DeviceAddress).ToLower(),"ַ"}, - {nameof(ResultList.PostStatus).ToLower(),"״̬"}, - {nameof(ResultList.CreateTime).ToLower(),"ʱ"}, {nameof(ResultList.Measure_Price).ToLower(),""}, {nameof(ResultList.Measure_Amount).ToLower(),""}, {nameof(ResultList.Measure_OpUser).ToLower(),"Ա"}, {nameof(ResultList.Measure_UUID).ToLower(),"ϢID"}, {nameof(ResultList.Measure_WasteSType).ToLower(),"ƷС"}, + + {nameof(ResultList.ID1).ToLower(),"ID1"}, + {nameof(ResultList.ID2).ToLower(),"ID2"}, + {nameof(ResultList.ID3).ToLower(),"ID3"}, + {nameof(ResultList.ID4).ToLower(),"ID4"}, + {nameof(ResultList.ID5).ToLower(),"ID5"}, + {nameof(ResultList.ID6).ToLower(),"ID6"}, + {nameof(ResultList.ID7).ToLower(),"ID7"}, + {nameof(ResultList.ID8).ToLower(),"ID8"}, + }; public ResultColumnConfigService(ILogger logger, SettingProvider settingProvider, UserSettingValueProvider userSettingValueProvider, GlobalSettingValueProvider globalSettingValueProvider) @@ -73,10 +84,32 @@ namespace Waste.Web.Entry.Pages.Result var config = JSON.Deserialize(value); if (config.ResultColumn != null && config.ResultColumn.Any()) { - return config.ResultColumn.GroupBy(x => x.Name) + #region ϵͳ˳Ϊ׼ + var dic = config.ResultColumn.GroupBy(x => x.Name).ToDictionary(x => x.Key, x => x.First()); + return def + .Select(x => + { + if (dic.TryGetValue(x.Key, out var find)) + { + return new GlobalColumnConfig + { Name = x.Key, Title = find.Title, IsShow = find.IsShow }; + } + return new GlobalColumnConfig { Name = x.Key, Title = string.Empty, IsShow = false }; + }).ToList(); + + #endregion + + + #region Զ˳ + + /* return config.ResultColumn.GroupBy(x => x.Name) .Where(x => def.ContainsKey(x.Key)) .Select(x => - new GlobalColumnConfig { Name = x.Key, Title = x.First().Title, IsShow = x.First().IsShow }).ToList(); + new GlobalColumnConfig { Name = x.Key, Title = x.First().Title, IsShow = x.First().IsShow }).ToList(); +*/ + #endregion + + } } catch (Exception e)