| | |
| | | using Admin.NET.Application; |
| | | using iWareCC.Common.Helper; |
| | | using iWareCommon.Common.Globle; |
| | | using iWareCommon.Utils; |
| | | using iWareModel; |
| | | using iWareSql.DataAccess; |
| | | using iWareSql.WmsDBModel; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Threading; |
| | | using System.Threading.Tasks; |
| | | //using Admin.NET.Application; |
| | | //using iWareCC.Common.Helper; |
| | | //using iWareCommon.Common.Globle; |
| | | //using iWareCommon.Utils; |
| | | //using iWareModel; |
| | | //using iWareSql.DataAccess; |
| | | //using iWareSql.WmsDBModel; |
| | | //using System; |
| | | //using System.Collections.Generic; |
| | | //using System.Linq; |
| | | //using System.Threading; |
| | | //using System.Threading.Tasks; |
| | | |
| | | namespace iWareCC.ThreadService |
| | | { |
| | | /// <summary> |
| | | /// æºå¨äººç¼åå² èªå¨é½å¥åºåº å¤ç |
| | | /// </summary> |
| | | public static class DataProcess_RobotBuffer_AutoQiTaoOutbound |
| | | { |
| | | public static async void Handler() |
| | | { |
| | | var alertMsg = ""; |
| | | LogType logType = LogType.DataProcess_RobotBuffer_AutoQiTaoOutbound; |
| | | while (true) |
| | | { |
| | | Thread.Sleep(2000);//ä¼ç 2ç§ï¼å°ä¼ç åå°åé¢ï¼æ¯ä¸ºäºä¸é¢çcontinueæ¹æ³æ§è¡å䏿¾ç¤ºé误信æ¯çæç¤ºï¼ï¼ï¼ãEditBy shaocx,2022-05-24ã |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_AutoQiTaoOutbound = string.Empty; |
| | | try |
| | | {//SystemValue.isAllowRuning_DataProcess_RobotBuffer_AutoQiTaoOutbound && |
| | | if (SystemValue.isStartedModel) |
| | | { |
| | | //namespace iWareCC.ThreadService |
| | | //{ |
| | | // /// <summary> |
| | | // /// æºå¨äººç¼åå² èªå¨é½å¥åºåº å¤ç |
| | | // /// </summary> |
| | | // public static class DataProcess_RobotBuffer_AutoQiTaoOutbound |
| | | // { |
| | | // public static async void Handler() |
| | | // { |
| | | // var alertMsg = ""; |
| | | // LogType logType = LogType.DataProcess_RobotBuffer_AutoQiTaoOutbound; |
| | | // while (true) |
| | | // { |
| | | // Thread.Sleep(2000);//ä¼ç 2ç§ï¼å°ä¼ç åå°åé¢ï¼æ¯ä¸ºäºä¸é¢çcontinueæ¹æ³æ§è¡å䏿¾ç¤ºé误信æ¯çæç¤ºï¼ï¼ï¼ãEditBy shaocx,2022-05-24ã |
| | | // SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_AutoQiTaoOutbound = string.Empty; |
| | | // try |
| | | // {//SystemValue.isAllowRuning_DataProcess_RobotBuffer_AutoQiTaoOutbound && |
| | | // if (SystemValue.isStartedModel) |
| | | // { |
| | | |
| | | using (WmsDBModel wmsDB = new WmsDBModel()) |
| | | { |
| | | List<wms_stock_quan> qunList = wmsDB.wms_stock_quan.Where(x => x.StockStatus == (int)StockStatusEnum.å¨åº).ToList(); |
| | | var queryPageckCodeList = qunList.Select(x => x.PackageCode).Distinct().ToList(); |
| | | List<mes_batchOrderUPI_new> upiList = wmsDB.mes_batchOrderUPI_new.Where(x => queryPageckCodeList.Contains(x.PackageCode)).ToList(); |
| | | var groups = qunList.GroupBy(x => x.PackageCode); |
| | | foreach (var group in groups) |
| | | { |
| | | var packageCode = group.Key; |
| | | var allCount = upiList.Where(x => x.PackageCode == packageCode).Count(); |
| | | if (allCount == group.ToList().Count()) |
| | | { |
| | | //满足é½å¥ï¼åºåº |
| | | //注æï¼æåºä¸¥æ ¼æç
§ æ¬¡åº è¿è¡æåºã ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ |
| | | var doList = upiList.Where(x => x.PackageCode == packageCode).OrderBy(x => x.Shelf).ToList(); |
| | | foreach (var item in doList) |
| | | { |
| | | item.UpiStatus = (int)UpiStatusEnum.å·²é½å
; |
| | | item.UpdateTime = DateTime.Now; |
| | | // using (WmsDBModel wmsDB = new WmsDBModel()) |
| | | // { |
| | | // List<wms_stock_quan> qunList = wmsDB.wms_stock_quan.Where(x => x.StockStatus == (int)StockStatusEnum.å¨åº).ToList(); |
| | | // var queryPageckCodeList = qunList.Select(x => x.PackageCode).Distinct().ToList(); |
| | | // List<mes_batchOrderUPI_new> upiList = wmsDB.mes_batchOrderUPI_new.Where(x => queryPageckCodeList.Contains(x.PackageCode)).ToList(); |
| | | // var groups = qunList.GroupBy(x => x.PackageCode); |
| | | // foreach (var group in groups) |
| | | // { |
| | | // var packageCode = group.Key; |
| | | // var allCount = upiList.Where(x => x.PackageCode == packageCode).Count(); |
| | | // if (allCount == group.ToList().Count()) |
| | | // { |
| | | // //满足é½å¥ï¼åºåº |
| | | // //注æï¼æåºä¸¥æ ¼æç
§ æ¬¡åº è¿è¡æåºã ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ |
| | | // var doList = upiList.Where(x => x.PackageCode == packageCode).OrderBy(x => x.Shelf).ToList(); |
| | | // foreach (var item in doList) |
| | | // { |
| | | // item.UpiStatus = (int)UpiStatusEnum.å·²é½å
; |
| | | // item.UpdateTime = DateTime.Now; |
| | | |
| | | var stock = group.ToList().Find(b => b.Upi == item.UPI); |
| | | stock.StockStatus = (int)StockStatusEnum.é½å
å¾
åºåº; |
| | | // var stock = group.ToList().Find(b => b.Upi == item.UPI); |
| | | // stock.StockStatus = (int)StockStatusEnum.é½å
å¾
åºåº; |
| | | |
| | | //çæåºåºä»»å¡ |
| | | //è®°å½ä»»å¡ |
| | | var _id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | var plcTaskNo = BusinessHelper.CreatePlcTaskId(); |
| | | plcTaskNo = MyExtendHelper.GetNewTaskNo(wmsDB, RbTaskTypeEnum.é½å
åºåºä»»å¡, plcTaskNo); |
| | | var new_task = new wms_rbline_task() |
| | | { |
| | | Id = _id, |
| | | TaskNo = plcTaskNo, |
| | | // //çæåºåºä»»å¡ |
| | | // //è®°å½ä»»å¡ |
| | | // var _id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | // var plcTaskNo = BusinessHelper.CreatePlcTaskId(); |
| | | // plcTaskNo = MyExtendHelper.GetNewTaskNo(wmsDB, RbTaskTypeEnum.é½å
åºåºä»»å¡, plcTaskNo); |
| | | // var new_task = new wms_rbline_task() |
| | | // { |
| | | // Id = _id, |
| | | // TaskNo = plcTaskNo, |
| | | |
| | | Upi = stock.Upi, |
| | | Length = stock.Length, |
| | | Width = stock.Width, |
| | | Thk = stock.Thk, |
| | | // Upi = stock.Upi, |
| | | // Length = stock.Length, |
| | | // Width = stock.Width, |
| | | // Thk = stock.Thk, |
| | | |
| | | PlanNo = stock.PlanNo, |
| | | OrderId = stock.OrderId, |
| | | PackageCode = stock.PackageCode, |
| | | PlaceCode = stock.PlaceCode, |
| | | RbTaskType = (int)RbTaskTypeEnum.é½å
åºåºä»»å¡, |
| | | TaskStatus = (int)TaskStatusEnum.æ°å»º, |
| | | TaskMsg = "åºåºä»»å¡", |
| | | // PlanNo = stock.PlanNo, |
| | | // OrderId = stock.OrderId, |
| | | // PackageCode = stock.PackageCode, |
| | | // PlaceCode = stock.PlaceCode, |
| | | // RbTaskType = (int)RbTaskTypeEnum.é½å
åºåºä»»å¡, |
| | | // TaskStatus = (int)TaskStatusEnum.æ°å»º, |
| | | // TaskMsg = "åºåºä»»å¡", |
| | | |
| | | |
| | | CreateTime = DateTime.Now, |
| | | CreateUserName = SysGloble.WCSSystem, |
| | | UpdateTime = DateTime.Now, |
| | | UpdateUserName = SysGloble.WCSSystem, |
| | | }; |
| | | // CreateTime = DateTime.Now, |
| | | // CreateUserName = SysGloble.WCSSystem, |
| | | // UpdateTime = DateTime.Now, |
| | | // UpdateUserName = SysGloble.WCSSystem, |
| | | // }; |
| | | |
| | | wmsDB.wms_rbline_task.Add(new_task); |
| | | // wmsDB.wms_rbline_task.Add(new_task); |
| | | |
| | | var place = StationHandler.GetPlaceByPlaceCode(stock.PlaceCode, wmsDB); |
| | | place.PlaceStatus = (int)PlaceStatusEnum.éå®; |
| | | // var place = StationHandler.GetPlaceByPlaceCode(stock.PlaceCode, wmsDB); |
| | | // place.PlaceStatus = (int)PlaceStatusEnum.éå®; |
| | | |
| | | Thread.Sleep(100); |
| | | } |
| | | } |
| | | } |
| | | // Thread.Sleep(100); |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | wmsDB.SaveChanges(); |
| | | } |
| | | // wmsDB.SaveChanges(); |
| | | // } |
| | | |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_AutoQiTaoOutbound += " åºç°å¼å¸¸:" + ex.Message + SysGloble.SPLIT_STR; |
| | | Log4NetHelper.WriteErrorLog(logType, " åºç°å¼å¸¸ï¼" + ex.Message, ex); |
| | | } |
| | | } |
| | | } |
| | | // } |
| | | // } |
| | | // catch (Exception ex) |
| | | // { |
| | | // SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_AutoQiTaoOutbound += " åºç°å¼å¸¸:" + ex.Message + SysGloble.SPLIT_STR; |
| | | // Log4NetHelper.WriteErrorLog(logType, " åºç°å¼å¸¸ï¼" + ex.Message, ex); |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | } |
| | | } |
| | | // } |
| | | //} |