diff --git a/WCS.BLL/Manager/MXBackgroundThread.cs b/WCS.BLL/Manager/MXBackgroundThread.cs index e7877e3..fdea0da 100644 --- a/WCS.BLL/Manager/MXBackgroundThread.cs +++ b/WCS.BLL/Manager/MXBackgroundThread.cs @@ -18,105 +18,105 @@ namespace WCS.BLL.Manager { public static void InitBackgroundThread() { - #region 定时任务:回传Mes入库出库 - Task.Run(() => - { - while (true) - { - //每5秒同步一次 - Thread.Sleep(5000); - try - { - var records = DbHelp.db.Queryable() - .Where(t => t.OperateTime > DateTime.Now.AddDays(-3)) //只查询回传三天内数据 - .Where(t => t.IsUpload == false) - .Includes(t => t.StoreInfo) - .OrderBy(t => t.Id) - .ToList(); - //入库记录上传 - var inventoryDetails = records.Where(t => t.Direction == DirectionEnum.入库) - .WhereIF(!string.IsNullOrEmpty(LocalFile.Config.GroupName), t => t.GroupName == LocalFile.Config.GroupName) - .ToList(); - if (inventoryDetails != null && inventoryDetails.Count > 0) - { - for (int i = 0; i < inventoryDetails.Count; i++) - { - try - { - //请求WMS上传入库记录 - var data = new InputStockInRequest - { - materialBar = inventoryDetails[i].MatSN, - shelfCode = inventoryDetails[i].BigShelfCode, - shelfX = "R" + inventoryDetails[i].R, - shelfY = "C" + inventoryDetails[i].C, - shelfZ = inventoryDetails[i].Wei, - inUser = inventoryDetails[i].OperateUser, - inTime = inventoryDetails[i].OperateTime.ToString("yyyy-MM-dd HH:mm:ss"), - }; - Guid guid = Guid.NewGuid(); - var result = ApiHelp.GetDataFromHttp(LocalFile.Config.InputStockInStr, data, "POST", true); - if (result != null && (result.Code == 200)) - { - //上传成功 更改上传状态 - inventoryDetails[i].IsUpload = true; - DbHelp.db.Updateable(inventoryDetails[i]).ExecuteCommand(); - } + //#region 定时任务:回传Mes入库出库 + //Task.Run(() => + //{ + // while (true) + // { + // //每5秒同步一次 + // Thread.Sleep(5000); + // try + // { + // var records = DbHelp.db.Queryable() + // .Where(t => t.OperateTime > DateTime.Now.AddDays(-3)) //只查询回传三天内数据 + // .Where(t => t.IsUpload == false) + // .Includes(t => t.StoreInfo) + // .OrderBy(t => t.Id) + // .ToList(); + // //入库记录上传 + // var inventoryDetails = records.Where(t => t.Direction == DirectionEnum.入库) + // .WhereIF(!string.IsNullOrEmpty(LocalFile.Config.GroupName), t => t.GroupName == LocalFile.Config.GroupName) + // .ToList(); + // if (inventoryDetails != null && inventoryDetails.Count > 0) + // { + // for (int i = 0; i < inventoryDetails.Count; i++) + // { + // try + // { + // //请求WMS上传入库记录 + // var data = new InputStockInRequest + // { + // materialBar = inventoryDetails[i].MatSN, + // shelfCode = inventoryDetails[i].BigShelfCode, + // shelfX = "R" + inventoryDetails[i].R, + // shelfY = "C" + inventoryDetails[i].C, + // shelfZ = inventoryDetails[i].Wei, + // inUser = inventoryDetails[i].OperateUser, + // inTime = inventoryDetails[i].OperateTime.ToString("yyyy-MM-dd HH:mm:ss"), + // }; + // Guid guid = Guid.NewGuid(); + // var result = ApiHelp.GetDataFromHttp(LocalFile.Config.InputStockInStr, data, "POST", true); + // if (result != null && (result.Code == 200)) + // { + // //上传成功 更改上传状态 + // inventoryDetails[i].IsUpload = true; + // DbHelp.db.Updateable(inventoryDetails[i]).ExecuteCommand(); + // } - } - catch (Exception ex) - { + // } + // catch (Exception ex) + // { - } - Thread.Sleep(200); - } - } + // } + // Thread.Sleep(200); + // } + // } - //出库记录上传 - var outRecord = records.Where(t => t.Direction == DirectionEnum.出库) - .Where(t => !string.IsNullOrEmpty(t.OrderNumber)) - .WhereIF(!string.IsNullOrEmpty(LocalFile.Config.GroupName), t => t.GroupName == LocalFile.Config.GroupName) - .ToList(); - if (outRecord != null && outRecord.Count > 0) - { - for (int i = 0; i < outRecord.Count; i++) - { - try - { - var retString = string.Empty; + // //出库记录上传 + // var outRecord = records.Where(t => t.Direction == DirectionEnum.出库) + // .Where(t => !string.IsNullOrEmpty(t.OrderNumber)) + // .WhereIF(!string.IsNullOrEmpty(LocalFile.Config.GroupName), t => t.GroupName == LocalFile.Config.GroupName) + // .ToList(); + // if (outRecord != null && outRecord.Count > 0) + // { + // for (int i = 0; i < outRecord.Count; i++) + // { + // try + // { + // var retString = string.Empty; - var data = new BunkerOutRequest() - { - materialBar = outRecord[i].MatSN, - outType = 0, - pickBillNumber = outRecord[i].OrderNumber, - qty = outRecord[i].MatQty, - }; - var result = ApiHelp.GetDataFromHttp(LocalFile.Config.BunkerOutStr, data, "POST", true); - //请求成功 - if (result != null && result.Code == 200) - { - //上传成功 更改上传状态 - outRecord[i].IsUpload = true; - DbHelp.db.Updateable(outRecord[i]).ExecuteCommand(); - } + // var data = new BunkerOutRequest() + // { + // materialBar = outRecord[i].MatSN, + // outType = 0, + // pickBillNumber = outRecord[i].OrderNumber, + // qty = outRecord[i].MatQty, + // }; + // var result = ApiHelp.GetDataFromHttp(LocalFile.Config.BunkerOutStr, data, "POST", true); + // //请求成功 + // if (result != null && result.Code == 200) + // { + // //上传成功 更改上传状态 + // outRecord[i].IsUpload = true; + // DbHelp.db.Updateable(outRecord[i]).ExecuteCommand(); + // } - } - catch (Exception ex) - { + // } + // catch (Exception ex) + // { - } - Thread.Sleep(200); - } - } - } - catch (Exception ex) - { - Logs.Write("【定时任务】上传异常:" + ex.Message); - } - } - }); - #endregion + // } + // Thread.Sleep(200); + // } + // } + // } + // catch (Exception ex) + // { + // Logs.Write("【定时任务】上传异常:" + ex.Message); + // } + // } + //}); + //#endregion #region 定时任务:超时退出 出库、入库、盘点模式 Task.Run(() => @@ -169,97 +169,97 @@ namespace WCS.BLL.Manager }); #endregion - #region 定时任务:海康未扫物料码的物料更新数据 - Task.Run(() => - { - while (true) - { - //间隔20秒同步一次 - Thread.Sleep(20000); - try - { - var inventoryDetails = DbHelp.db.Queryable() - .Where(t => t.MatName == "暂时未知") - .Where(t => t.InstoreTime > DateTime.Now.AddDays(-3)) - .ToList(); - if (inventoryDetails != null && inventoryDetails.Count > 0) - { - for (int i = 0; i < inventoryDetails.Count; i++) - { - try - { - //请求WMS获取物料的信息 - var request = new QueryBybarRequest() - { - materialBar = inventoryDetails[i].MatSN - }; - var result = ApiHelp.GetDataFromHttp(LocalFile.Config.QueryBybar, request, "POST", true); - if (result != null && (result.code == 200) && result.data != null && result.data.Count() > 0) - { - //查询成功 更改数值 - var instoreDto = result.data.FirstOrDefault(); - inventoryDetails[i].MatCode = instoreDto.materialCode; - inventoryDetails[i].MatName = instoreDto.materialName; - inventoryDetails[i].MatBatch = instoreDto.batchNo; - inventoryDetails[i].MatSpec = instoreDto.materialSpec; - inventoryDetails[i].MatQty = (int)instoreDto.materialQty; - DbHelp.db.Updateable(inventoryDetails[i]).ExecuteCommand(); - } + //#region 定时任务:海康未扫物料码的物料更新数据 + //Task.Run(() => + //{ + // while (true) + // { + // //间隔20秒同步一次 + // Thread.Sleep(20000); + // try + // { + // var inventoryDetails = DbHelp.db.Queryable() + // .Where(t => t.MatName == "暂时未知") + // .Where(t => t.InstoreTime > DateTime.Now.AddDays(-3)) + // .ToList(); + // if (inventoryDetails != null && inventoryDetails.Count > 0) + // { + // for (int i = 0; i < inventoryDetails.Count; i++) + // { + // try + // { + // //请求WMS获取物料的信息 + // var request = new QueryBybarRequest() + // { + // materialBar = inventoryDetails[i].MatSN + // }; + // var result = ApiHelp.GetDataFromHttp(LocalFile.Config.QueryBybar, request, "POST", true); + // if (result != null && (result.code == 200) && result.data != null && result.data.Count() > 0) + // { + // //查询成功 更改数值 + // var instoreDto = result.data.FirstOrDefault(); + // inventoryDetails[i].MatCode = instoreDto.materialCode; + // inventoryDetails[i].MatName = instoreDto.materialName; + // inventoryDetails[i].MatBatch = instoreDto.batchNo; + // inventoryDetails[i].MatSpec = instoreDto.materialSpec; + // inventoryDetails[i].MatQty = (int)instoreDto.materialQty; + // DbHelp.db.Updateable(inventoryDetails[i]).ExecuteCommand(); + // } - } - catch (Exception ex) - { + // } + // catch (Exception ex) + // { - } - Thread.Sleep(500); - } - } + // } + // Thread.Sleep(500); + // } + // } - } - catch (Exception ex) - { - Logs.Write("【定时任务】更新海康物料信息异常:" + ex.Message); - } + // } + // catch (Exception ex) + // { + // Logs.Write("【定时任务】更新海康物料信息异常:" + ex.Message); + // } - Thread.Sleep(3000); - try - { - var inventoryDetails = DbHelp.db.Queryable() - .Where(t => t.WarehouseCode == null) - .Where(t => t.InstoreTime > DateTime.Now.AddDays(-30)) - .ToList(); - if (inventoryDetails != null && inventoryDetails.Count > 0) - { - for (int i = 0; i < inventoryDetails.Count; i++) - { - try - { - var url = $"http://192.168.2.23:9213/integrate/hkwsInventoryDetail/selectMaterialBar?materialBar={inventoryDetails[i].MatSN}"; - var result = ApiHelp.GetDataFromHttp(url, null, "POST", false); - if (result != null && result.code == 200 && result.data != null && !string.IsNullOrEmpty(result.data.warehouseCode)) - { - //查询成功 更改数值 - inventoryDetails[i].WarehouseCode = result.data.warehouseCode; - DbHelp.db.Updateable(inventoryDetails[i]).ExecuteCommand(); - } + // Thread.Sleep(3000); + // try + // { + // var inventoryDetails = DbHelp.db.Queryable() + // .Where(t => t.WarehouseCode == null) + // .Where(t => t.InstoreTime > DateTime.Now.AddDays(-30)) + // .ToList(); + // if (inventoryDetails != null && inventoryDetails.Count > 0) + // { + // for (int i = 0; i < inventoryDetails.Count; i++) + // { + // try + // { + // var url = $"http://192.168.2.23:9213/integrate/hkwsInventoryDetail/selectMaterialBar?materialBar={inventoryDetails[i].MatSN}"; + // var result = ApiHelp.GetDataFromHttp(url, null, "POST", false); + // if (result != null && result.code == 200 && result.data != null && !string.IsNullOrEmpty(result.data.warehouseCode)) + // { + // //查询成功 更改数值 + // inventoryDetails[i].WarehouseCode = result.data.warehouseCode; + // DbHelp.db.Updateable(inventoryDetails[i]).ExecuteCommand(); + // } - } - catch (Exception ex) - { - Logs.Write("【定时任务】更新仓库代码异常:" + ex.Message); - } - Thread.Sleep(500); - } - } - } - catch (Exception ex) - { - } - } - }); - #endregion + // } + // catch (Exception ex) + // { + // Logs.Write("【定时任务】更新仓库代码异常:" + ex.Message); + // } + // Thread.Sleep(500); + // } + // } + // } + // catch (Exception ex) + // { + // } + // } + //}); + //#endregion #region 定时任务:监测警示灯关灯机制 //判断灯颜色和模式是否对应 diff --git a/WCS.WebApi/Program.cs b/WCS.WebApi/Program.cs index 253dc48..8aa80f8 100644 --- a/WCS.WebApi/Program.cs +++ b/WCS.WebApi/Program.cs @@ -39,6 +39,9 @@ namespace WebApi //Ϣط߳ WarningManager.StartWarningMessageThread(); + //̨Ӳ״̬߳ ʱ˳ģʽعصƵȻ + MXBackgroundThread.InitBackgroundThread(); + //Ѷ˾̨߳ if (LocalFile.Config.IsMx) {