增加毛重皮重
This commit is contained in:
parent
64524c2788
commit
6b8cb35a7c
|
|
@ -26,11 +26,13 @@ namespace Waste.Application.ThirdApiInfo
|
||||||
private readonly ISqlSugarRepository<W_Device> repository;
|
private readonly ISqlSugarRepository<W_Device> repository;
|
||||||
private readonly SqlSugarClient dbClient;
|
private readonly SqlSugarClient dbClient;
|
||||||
private readonly ISuZhouService _suZhouService;
|
private readonly ISuZhouService _suZhouService;
|
||||||
public OpenService(ISqlSugarRepository<W_Device> sqlSugarRepository, ISuZhouService suZhouService)
|
private readonly ILoggerService _loggerService;
|
||||||
|
public OpenService(ISqlSugarRepository<W_Device> sqlSugarRepository, ISuZhouService suZhouService, ILoggerService loggerService)
|
||||||
{
|
{
|
||||||
repository = sqlSugarRepository;
|
repository = sqlSugarRepository;
|
||||||
dbClient = repository.Context;
|
dbClient = repository.Context;
|
||||||
_suZhouService = suZhouService;
|
_suZhouService = suZhouService;
|
||||||
|
_loggerService = loggerService;
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 更新上报状态
|
/// 更新上报状态
|
||||||
|
|
@ -123,48 +125,43 @@ namespace Waste.Application.ThirdApiInfo
|
||||||
{
|
{
|
||||||
return new ResultInfo(ResultState.FAIL, "设备未找到");
|
return new ResultInfo(ResultState.FAIL, "设备未找到");
|
||||||
}
|
}
|
||||||
var devicesecret = await dbClient.Queryable<W_SZDevice>().FirstAsync(x => x.DeviceId == device.Id);
|
var returndata = new GetDevInfoResponseDto {
|
||||||
if (devicesecret == null || string.IsNullOrEmpty(devicesecret.Secret)
|
ResultId= IDGen.NextID(),
|
||||||
|| string.IsNullOrEmpty(devicesecret.SecretHash)
|
|
||||||
|| string.IsNullOrEmpty(devicesecret.DevId))
|
|
||||||
{
|
|
||||||
return new ResultInfo(ResultState.FAIL, "设备还未获取验证信息");
|
|
||||||
}
|
|
||||||
int timestamp = _suZhouService.GetUTCTimestamp();
|
|
||||||
int noncestr = _suZhouService.GetNonce();
|
|
||||||
var returndata = new GetDevInfoResponseDto
|
|
||||||
{
|
|
||||||
DeviceId = devicesecret.DevId,
|
|
||||||
noncestr = noncestr,
|
|
||||||
timestamp = timestamp,
|
|
||||||
Secret = devicesecret.Secret,
|
|
||||||
SecretHash = devicesecret.SecretHash,
|
|
||||||
UserId = UserId,
|
UserId = UserId,
|
||||||
PostUrl = ApiUrl,
|
PostUrl= ApiUrl
|
||||||
ScanningTime = timestamp,
|
|
||||||
ResultId = IDGen.NextID()
|
|
||||||
};
|
};
|
||||||
//解析协议,IC卡数据@垃圾桶编号@厨余垃圾@7.91
|
//解析协议,IC卡数据@垃圾桶编号@厨余垃圾@7.91
|
||||||
// 00000000003031 40 000F000002 40 C6E4CBFBC0ACBBF8 40 35312E300D0A
|
// 00000000003031 40 000F000002 40 C6E4CBFBC0ACBBF8 40 35312E300D0A
|
||||||
if (!string.IsNullOrEmpty(data.data) && data.data.Length > 52)
|
if (!string.IsNullOrEmpty(data.data) && data.data.Length > 52)
|
||||||
{
|
{
|
||||||
data.data = data.data.Replace(" ", "");
|
data.data = data.data.Replace(" ", "");
|
||||||
//收到的为16进制,对数据进行解析,0-4预留,5-垃圾种类,6-垃圾桶大小,7-@,8-12垃圾桶编号,13@,14-21垃圾种类汉子,22@,23-结束重量, OD OA 回车换行
|
//收到的为16进制,对数据进行解析,0-4预留,5-垃圾种类,6-垃圾桶大小,7-@,8-12垃圾桶编号,13@,14-21垃圾种类汉字,22@,23-结束重量, OD OA 回车换行
|
||||||
data.data = data.data.Substring(0, data.data.Length - 4);
|
data.data = data.data.Substring(0, data.data.Length - 4);
|
||||||
var trashhex = data.data.Substring(16, 10);
|
var trashhex = data.data.Substring(16, 10); //垃圾桶编号
|
||||||
var typehex = data.data.Substring(28, 16);
|
var typehex = data.data.Substring(28, 16); //垃圾种类
|
||||||
|
var sizehex = data.data.Substring(12, 2);//桶大小,30-小桶,31-大桶
|
||||||
var weighthex = data.data.Substring(46, data.data.Length - 46);
|
var weighthex = data.data.Substring(46, data.data.Length - 46);
|
||||||
returndata.trash = HextToDec(trashhex).ToString(); //垃圾桶编号使用10进制
|
returndata.trash = HextToDec(trashhex).ToString(); //垃圾桶编号使用10进制
|
||||||
|
|
||||||
|
//检查是否为15分钟内第一次上报
|
||||||
|
var time15 = DateTime.Now.AddMinutes(-15);
|
||||||
|
if(await dbClient.Queryable<W_Result>().AnyAsync(x=>x.DeviceId == device.Id && x.Registration == returndata.trash && x.CreateTime > time15))
|
||||||
|
{
|
||||||
|
_loggerService.AddLogger($"重复垃圾桶编号的数据:{returndata.ToJson()}", 1);
|
||||||
|
return new ResultInfo(ResultState.FAIL, "15分钟内同一垃圾桶编号上报");
|
||||||
|
}
|
||||||
var type = GetChsFromHex(typehex);
|
var type = GetChsFromHex(typehex);
|
||||||
var weight = GetChsFromHex(weighthex);
|
var weight = GetChsFromHex(weighthex);
|
||||||
returndata.type = TrashType(type);
|
returndata.type = TrashType(type);
|
||||||
returndata.Weight = weight.ToDouble();
|
returndata.Weight = weight.ToDouble();
|
||||||
returndata.IsSuccessed = true;
|
returndata.IsSuccessed = true;
|
||||||
string[] paramlist = new string[] {
|
//计算净重,毛重-皮重=净重,如果净重小于等于0则不上报保存
|
||||||
returndata.Weight.ToString(),returndata.trash,returndata.type.ToString(),returndata.ScanningTime.ToString(),returndata.status.ToString()
|
returndata.Weight = returndata.Weight - device.Tare.ToDouble();
|
||||||
};
|
if(returndata.Weight <= 0)
|
||||||
returndata.sign = _suZhouService.GetUserApiSign(returndata.Secret, paramlist);
|
{
|
||||||
|
_loggerService.AddLogger($"重量小于等于0:{returndata.ToJson()}", 1);
|
||||||
|
return new ResultInfo(ResultState.FAIL, "无效的重量");
|
||||||
|
}
|
||||||
//保存测量结果
|
//保存测量结果
|
||||||
var devicedata = await dbClient.Queryable<W_DeviceData>().FirstAsync(x => x.DeviceId == device.Id);
|
var devicedata = await dbClient.Queryable<W_DeviceData>().FirstAsync(x => x.DeviceId == device.Id);
|
||||||
DateTime time = DateTime.Now;
|
DateTime time = DateTime.Now;
|
||||||
|
|
@ -198,9 +195,27 @@ namespace Waste.Application.ThirdApiInfo
|
||||||
tare = device.Tare,
|
tare = device.Tare,
|
||||||
isfrist = isfrist
|
isfrist = isfrist
|
||||||
});
|
});
|
||||||
var logger = App.GetService<ILoggerService>();
|
|
||||||
logger.AddLogger($"发送的数据:{returndata.ToJson()}", 1);
|
|
||||||
}
|
}
|
||||||
|
var devicesecret = await dbClient.Queryable<W_SZDevice>().FirstAsync(x => x.DeviceId == device.Id);
|
||||||
|
if (devicesecret == null || string.IsNullOrEmpty(devicesecret.Secret)
|
||||||
|
|| string.IsNullOrEmpty(devicesecret.SecretHash)
|
||||||
|
|| string.IsNullOrEmpty(devicesecret.DevId))
|
||||||
|
{
|
||||||
|
return new ResultInfo(ResultState.FAIL, "设备还未获取验证信息");
|
||||||
|
}
|
||||||
|
int timestamp = _suZhouService.GetUTCTimestamp();
|
||||||
|
int noncestr = _suZhouService.GetNonce();
|
||||||
|
returndata.DeviceId = devicesecret.DevId;
|
||||||
|
returndata.noncestr = noncestr;
|
||||||
|
returndata.timestamp = timestamp;
|
||||||
|
returndata.Secret = devicesecret.Secret;
|
||||||
|
returndata.SecretHash = devicesecret.SecretHash;
|
||||||
|
returndata.ScanningTime = timestamp;
|
||||||
|
string[] paramlist = new string[] {
|
||||||
|
returndata.Weight.ToString(),returndata.trash,returndata.type.ToString(),returndata.ScanningTime.ToString(),returndata.status.ToString()
|
||||||
|
};
|
||||||
|
returndata.sign = _suZhouService.GetUserApiSign(returndata.Secret, paramlist);
|
||||||
|
_loggerService.AddLogger($"发送的数据:{returndata.ToJson()}", 1);
|
||||||
return new ResultInfo(ResultState.SUCCESS, "success", returndata);
|
return new ResultInfo(ResultState.SUCCESS, "success", returndata);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,10 @@
|
||||||
}
|
}
|
||||||
, cols: [[
|
, cols: [[
|
||||||
{
|
{
|
||||||
field: 'deviceecode', title: '设备编号'
|
field: 'devicefacecode', title: '设备编号'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'deviceecode', title: '机器码', hide: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'devicename', title: '设备名称'
|
field: 'devicename', title: '设备名称'
|
||||||
|
|
@ -97,6 +100,10 @@
|
||||||
field: 'grossweight', title: '毛重(KG)'
|
field: 'grossweight', title: '毛重(KG)'
|
||||||
}
|
}
|
||||||
,
|
,
|
||||||
|
{
|
||||||
|
field: 'registration', title: '垃圾桶'
|
||||||
|
}
|
||||||
|
,
|
||||||
{
|
{
|
||||||
field: 'tare', title: '皮重(KG)', hide: true
|
field: 'tare', title: '皮重(KG)', hide: true
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_PublishTargetUrl>D:\webpublish\waste.ybhdmob.com</_PublishTargetUrl>
|
<_PublishTargetUrl>D:\webpublish\waste.ybhdmob.com</_PublishTargetUrl>
|
||||||
<History>True|2021-08-23T01:44:46.2114418Z;True|2021-08-19T20:32:56.2854974+08:00;True|2021-08-18T14:01:33.0411246+08:00;True|2021-08-17T10:05:15.4299188+08:00;True|2021-08-13T19:32:53.6307075+08:00;True|2021-08-13T19:29:50.5876782+08:00;True|2021-08-13T19:14:14.2545106+08:00;True|2021-08-13T15:24:09.4521125+08:00;True|2021-08-13T14:59:40.4579407+08:00;True|2021-08-13T10:02:29.7650246+08:00;True|2021-08-13T09:45:10.6245894+08:00;True|2021-08-12T20:11:21.5851106+08:00;True|2021-08-12T20:00:42.4820498+08:00;True|2021-08-12T18:44:08.3079650+08:00;True|2021-08-12T18:35:47.4730766+08:00;True|2021-08-12T18:32:10.9361388+08:00;True|2021-08-12T18:30:21.4006961+08:00;True|2021-08-12T18:13:00.9624470+08:00;True|2021-08-12T18:10:12.3459311+08:00;True|2021-08-12T18:09:18.8656414+08:00;True|2021-08-12T17:35:24.7213607+08:00;True|2021-08-11T07:54:57.1322848+08:00;True|2021-08-10T10:16:40.7495389+08:00;True|2021-08-03T11:16:02.7897282+08:00;True|2021-08-02T16:39:27.2332369+08:00;True|2021-08-02T15:07:40.7995318+08:00;True|2021-08-02T14:32:29.6885424+08:00;True|2021-08-02T14:31:18.6578543+08:00;True|2021-08-02T14:27:57.1301002+08:00;True|2021-08-02T10:55:40.3542370+08:00;True|2021-08-02T09:44:28.0994056+08:00;True|2021-08-01T13:49:38.4071985+08:00;True|2021-08-01T13:36:45.5372120+08:00;True|2021-08-01T11:00:19.6165520+08:00;True|2021-08-01T10:38:51.4029710+08:00;True|2021-07-31T20:27:53.6583811+08:00;True|2021-07-31T18:35:23.4214441+08:00;True|2021-07-31T17:34:14.0712243+08:00;True|2021-07-31T14:50:43.2065556+08:00;True|2021-07-30T17:59:30.2223340+08:00;True|2021-07-30T17:57:35.9412910+08:00;True|2021-07-30T17:07:58.3305971+08:00;True|2021-07-30T17:04:10.9244859+08:00;True|2021-07-30T17:02:12.1943634+08:00;True|2021-07-30T16:16:22.2838331+08:00;True|2021-07-30T15:05:26.5664155+08:00;True|2021-07-30T14:57:59.1966108+08:00;True|2021-07-30T14:54:25.8172908+08:00;True|2021-07-30T14:52:20.9209995+08:00;True|2021-07-30T14:35:29.5239463+08:00;True|2021-07-30T09:32:38.2676032+08:00;True|2021-07-30T09:14:42.6170851+08:00;True|2021-07-29T19:06:09.1449349+08:00;True|2021-06-11T08:16:29.9542894+08:00;True|2021-06-04T14:46:02.2707457+08:00;True|2021-06-02T15:08:52.8245632+08:00;True|2021-06-02T15:05:50.3614099+08:00;True|2021-06-02T14:59:32.3690948+08:00;True|2021-06-02T14:10:25.1182836+08:00;True|2021-06-02T14:09:54.9215833+08:00;True|2021-06-01T10:41:54.9488501+08:00;True|2021-06-01T10:38:56.0283198+08:00;True|2021-05-28T13:59:02.2308877+08:00;True|2021-05-28T11:56:26.6796406+08:00;True|2021-05-28T11:28:00.4087907+08:00;True|2021-05-27T16:18:09.5993838+08:00;True|2021-05-27T16:07:31.3484951+08:00;True|2021-05-27T11:30:37.9119310+08:00;True|2021-05-27T11:28:35.5374674+08:00;True|2021-05-27T08:00:09.1625592+08:00;True|2021-05-26T20:42:17.0852150+08:00;True|2021-05-26T20:36:49.7527415+08:00;True|2021-05-25T17:57:31.8791293+08:00;True|2021-05-25T13:49:29.6488978+08:00;True|2021-05-25T13:48:24.6686105+08:00;True|2021-05-25T13:25:41.2512493+08:00;True|2021-05-24T17:55:33.3800078+08:00;True|2021-05-20T14:35:30.6957985+08:00;True|2021-05-20T13:17:22.6192995+08:00;True|2021-05-20T10:51:38.1268169+08:00;True|2021-05-19T19:50:03.7000224+08:00;True|2021-05-19T19:44:27.2518811+08:00;True|2021-05-19T19:43:26.5916681+08:00;True|2021-05-19T19:36:29.3197365+08:00;True|2021-05-19T19:30:00.3802430+08:00;True|2021-05-19T17:55:23.7939835+08:00;True|2021-05-19T11:05:17.9043392+08:00;True|2021-05-19T10:19:38.4839988+08:00;True|2021-05-19T10:17:19.7430612+08:00;True|2021-05-19T10:13:23.0031721+08:00;True|2021-05-19T10:06:03.9881599+08:00;True|2021-05-18T14:39:03.8876574+08:00;True|2021-05-18T14:23:46.9818836+08:00;True|2021-05-18T14:19:56.2382079+08:00;True|2021-05-18T11:29:53.5497590+08:00;True|2021-05-18T11:16:18.0123853+08:00;True|2021-05-17T18:59:52.4159105+08:00;True|2021-05-17T18:53:37.9438984+08:00;True|2021-05-17T18:48:14.9625161+08:00;True|2021-05-17T17:46:03.7723404+08:00;True|2021-05-17T17:14:20.2312990+08:00;True|2021-05-17T16:44:34.5837616+08:00;True|2021-05-17T16:25:20.1087804+08:00;True|2021-05-17T11:35:27.9388562+08:00;</History>
|
<History>True|2021-09-03T07:41:46.2819586Z;True|2021-08-31T17:16:16.0336390+08:00;True|2021-08-31T16:05:30.7224440+08:00;True|2021-08-23T09:44:46.2114418+08:00;True|2021-08-19T20:32:56.2854974+08:00;True|2021-08-18T14:01:33.0411246+08:00;True|2021-08-17T10:05:15.4299188+08:00;True|2021-08-13T19:32:53.6307075+08:00;True|2021-08-13T19:29:50.5876782+08:00;True|2021-08-13T19:14:14.2545106+08:00;True|2021-08-13T15:24:09.4521125+08:00;True|2021-08-13T14:59:40.4579407+08:00;True|2021-08-13T10:02:29.7650246+08:00;True|2021-08-13T09:45:10.6245894+08:00;True|2021-08-12T20:11:21.5851106+08:00;True|2021-08-12T20:00:42.4820498+08:00;True|2021-08-12T18:44:08.3079650+08:00;True|2021-08-12T18:35:47.4730766+08:00;True|2021-08-12T18:32:10.9361388+08:00;True|2021-08-12T18:30:21.4006961+08:00;True|2021-08-12T18:13:00.9624470+08:00;True|2021-08-12T18:10:12.3459311+08:00;True|2021-08-12T18:09:18.8656414+08:00;True|2021-08-12T17:35:24.7213607+08:00;True|2021-08-11T07:54:57.1322848+08:00;True|2021-08-10T10:16:40.7495389+08:00;True|2021-08-03T11:16:02.7897282+08:00;True|2021-08-02T16:39:27.2332369+08:00;True|2021-08-02T15:07:40.7995318+08:00;True|2021-08-02T14:32:29.6885424+08:00;True|2021-08-02T14:31:18.6578543+08:00;True|2021-08-02T14:27:57.1301002+08:00;True|2021-08-02T10:55:40.3542370+08:00;True|2021-08-02T09:44:28.0994056+08:00;True|2021-08-01T13:49:38.4071985+08:00;True|2021-08-01T13:36:45.5372120+08:00;True|2021-08-01T11:00:19.6165520+08:00;True|2021-08-01T10:38:51.4029710+08:00;True|2021-07-31T20:27:53.6583811+08:00;True|2021-07-31T18:35:23.4214441+08:00;True|2021-07-31T17:34:14.0712243+08:00;True|2021-07-31T14:50:43.2065556+08:00;True|2021-07-30T17:59:30.2223340+08:00;True|2021-07-30T17:57:35.9412910+08:00;True|2021-07-30T17:07:58.3305971+08:00;True|2021-07-30T17:04:10.9244859+08:00;True|2021-07-30T17:02:12.1943634+08:00;True|2021-07-30T16:16:22.2838331+08:00;True|2021-07-30T15:05:26.5664155+08:00;True|2021-07-30T14:57:59.1966108+08:00;True|2021-07-30T14:54:25.8172908+08:00;True|2021-07-30T14:52:20.9209995+08:00;True|2021-07-30T14:35:29.5239463+08:00;True|2021-07-30T09:32:38.2676032+08:00;True|2021-07-30T09:14:42.6170851+08:00;True|2021-07-29T19:06:09.1449349+08:00;True|2021-06-11T08:16:29.9542894+08:00;True|2021-06-04T14:46:02.2707457+08:00;True|2021-06-02T15:08:52.8245632+08:00;True|2021-06-02T15:05:50.3614099+08:00;True|2021-06-02T14:59:32.3690948+08:00;True|2021-06-02T14:10:25.1182836+08:00;True|2021-06-02T14:09:54.9215833+08:00;True|2021-06-01T10:41:54.9488501+08:00;True|2021-06-01T10:38:56.0283198+08:00;True|2021-05-28T13:59:02.2308877+08:00;True|2021-05-28T11:56:26.6796406+08:00;True|2021-05-28T11:28:00.4087907+08:00;True|2021-05-27T16:18:09.5993838+08:00;True|2021-05-27T16:07:31.3484951+08:00;True|2021-05-27T11:30:37.9119310+08:00;True|2021-05-27T11:28:35.5374674+08:00;True|2021-05-27T08:00:09.1625592+08:00;True|2021-05-26T20:42:17.0852150+08:00;True|2021-05-26T20:36:49.7527415+08:00;True|2021-05-25T17:57:31.8791293+08:00;True|2021-05-25T13:49:29.6488978+08:00;True|2021-05-25T13:48:24.6686105+08:00;True|2021-05-25T13:25:41.2512493+08:00;True|2021-05-24T17:55:33.3800078+08:00;True|2021-05-20T14:35:30.6957985+08:00;True|2021-05-20T13:17:22.6192995+08:00;True|2021-05-20T10:51:38.1268169+08:00;True|2021-05-19T19:50:03.7000224+08:00;True|2021-05-19T19:44:27.2518811+08:00;True|2021-05-19T19:43:26.5916681+08:00;True|2021-05-19T19:36:29.3197365+08:00;True|2021-05-19T19:30:00.3802430+08:00;True|2021-05-19T17:55:23.7939835+08:00;True|2021-05-19T11:05:17.9043392+08:00;True|2021-05-19T10:19:38.4839988+08:00;True|2021-05-19T10:17:19.7430612+08:00;True|2021-05-19T10:13:23.0031721+08:00;True|2021-05-19T10:06:03.9881599+08:00;True|2021-05-18T14:39:03.8876574+08:00;True|2021-05-18T14:23:46.9818836+08:00;True|2021-05-18T14:19:56.2382079+08:00;True|2021-05-18T11:29:53.5497590+08:00;True|2021-05-18T11:16:18.0123853+08:00;True|2021-05-17T18:59:52.4159105+08:00;True|2021-05-17T18:53:37.9438984+08:00;True|2021-05-17T18:48:14.9625161+08:00;True|2021-05-17T17:46:03.7723404+08:00;True|2021-05-17T17:14:20.2312990+08:00;True|2021-05-17T16:44:34.5837616+08:00;True|2021-05-17T16:25:20.1087804+08:00;True|2021-05-17T11:35:27.9388562+08:00;</History>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
@ -177,11 +177,16 @@ namespace WasteConsoleTest
|
||||||
if (!string.IsNullOrEmpty(token))
|
if (!string.IsNullOrEmpty(token))
|
||||||
{
|
{
|
||||||
int timestamp = GetTimestamp();
|
int timestamp = GetTimestamp();
|
||||||
|
DateTime testtime = DateTime.Parse("2021-08-22 20:00:00");
|
||||||
|
DateTime utcTime = TimeZoneInfo.ConvertTimeToUtc(testtime);
|
||||||
|
DateTime utcStartTime = new DateTime(1970, 1, 1, 0, 0, 0, 0);
|
||||||
|
int scantime= timestamp = Convert.ToInt32((utcTime - utcStartTime).TotalSeconds);
|
||||||
|
|
||||||
var garbageC2SDto = new GarbageC2SDto
|
var garbageC2SDto = new GarbageC2SDto
|
||||||
{
|
{
|
||||||
weight = 50.25,
|
weight = 50.25,
|
||||||
trash = "251658245",
|
trash = "251658245",
|
||||||
scanningTime = timestamp,
|
scanningTime = scantime,
|
||||||
d_status = 0,
|
d_status = 0,
|
||||||
type = 1
|
type = 1
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue