<add>[normal]添加传统方式下读取条码之后插入扫码表

This commit is contained in:
葛林强 2024-06-19 16:30:52 +08:00
parent c91a72e9e0
commit e1d3acd92a

View File

@ -2,6 +2,7 @@
using WcsMain.Business.Convey.HistoryDataHandler;
using WcsMain.DataBase.Dao;
using WcsMain.DataBase.TableEntity;
using WcsMain.DataService;
using WcsMain.Enum.General;
using WcsMain.EquipOperation.Convey;
@ -12,13 +13,8 @@ namespace WcsMain.Business.CirculationTask.Convey;
/// 箱式线读取扫码信息
/// </summary>
[Circulation]
public class ReadScanCode(AppRouterMethodDao routerMethodDao, ConveyOperation conveyOperation, HistoryConveyDataHander historyConveyDataHander)
public class ReadScanCode(AppRouterMethodDao routerMethodDao, ConveyOperation conveyOperation, HistoryConveyDataHander historyConveyDataHander, AppScanRecordDao scanRecordDao, DataBaseData dataBaseData)
{
private readonly ConveyOperation _conveyOperation = conveyOperation;
private readonly AppRouterMethodDao _routerMethodDao = routerMethodDao;
private readonly HistoryConveyDataHander _historyConveyDataHander = historyConveyDataHander;
private static List<AppRouterMethod>? routers;
/// <summary>
@ -30,13 +26,13 @@ public class ReadScanCode(AppRouterMethodDao routerMethodDao, ConveyOperation co
{
if(routers == default)
{
routers = _routerMethodDao.Query(new AppRouterMethod() { RouterStatus = (int)TrueFalseEnum.TRUE });
routers = routerMethodDao.Query(new AppRouterMethod() { RouterStatus = (int)TrueFalseEnum.TRUE });
return true;
}
List<Task> tasks = [];
foreach(AppRouterMethod router in routers)
{
(var readErrText, var scanOk, var code) = _conveyOperation.ReadScanInfo(router.Area);
(var readErrText, var scanOk, var code) = conveyOperation.ReadScanInfo(router.Area);
if(!string.IsNullOrEmpty(readErrText))
{
ConsoleLog.Exception($"【异常】读取扫码:{router.Area} 数据异常,信息:{readErrText}");
@ -46,12 +42,13 @@ public class ReadScanCode(AppRouterMethodDao routerMethodDao, ConveyOperation co
if(scanOk != (int)TrueFalseEnum.TRUE) { continue; }
tasks.Add(Task.Factory.StartNew(() =>
{
_historyConveyDataHander.GetData("-", code, router.Area ?? "");
string clearErrText = _conveyOperation.ClearScanStatus(router.Area);
historyConveyDataHander.GetData("-", code, router.Area ?? "");
string clearErrText = conveyOperation.ClearScanStatus(router.Area);
if(!string.IsNullOrEmpty(clearErrText))
{
ConsoleLog.Exception($"【异常】扫码:{router.Area} 清理读码信号异常,信息:{clearErrText}");
}
scanRecordDao.Insert(new AppScanRecord() { RecordId = dataBaseData.GetNewUUID2(), ScanId = router.Area, Code = code, ScanTime = DateTime.Now });
}));
}
Task.WaitAll([.. tasks]);