222
schangxiang@126.com
2024-12-14 7c63794aa85ab939308d10a9ad5c1a57c46bbf6f
CC/iWareCC_ASRS/ThreadService/02_BZ39¹¤Î»£¨²¹°åºó¹¤Î»£©/Outbound/4¡¢DataProcess_RobotBuffer_ForceOutbound.cs
@@ -1,10 +1,12 @@
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;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
@@ -47,49 +49,56 @@
                            List<wms_stock_quan> qunList = wmsDB.wms_stock_quan.Where(x => x.StockStatus == (int)StockStatusEnum.人工强制待出库
                            ).OrderBy(x => x.PackageCode).ToList();
                            foreach (var x in qunList)
                            //按照包分组处理
                            var groups = qunList.GroupBy(x => x.PackageCode);
                            foreach (var group in groups)
                            {
                                x.StockStatus = (int)StockStatusEnum.人工强制任务已创建;
                                x.StockStatusName = StockStatusEnum.人工强制任务已创建.ToString();
                                //注意:排序严格按照 æ¬¡åº è¿›è¡ŒæŽ’序。 ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼
                                var stockList = group.ToList().OrderBy(x => x.Shelf).ToList();
                                //生成出库任务
                                //记录任务
                                var _id = Yitter.IdGenerator.YitIdHelper.NextId();
                                var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask();
                                var new_task = new wms_rbline_task()
                                foreach (var x in stockList)
                                {
                                    Id = _id,
                                    TaskNo = plcTaskNo,
                                    x.StockStatus = (int)StockStatusEnum.人工强制任务已创建;
                                    x.StockStatusName = StockStatusEnum.人工强制任务已创建.ToString();
                                    Upi = x.Upi,
                                    Length = x.Length,
                                    Width = x.Width,
                                    Thk = x.Thk,
                                    //生成出库任务
                                    //记录任务
                                    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,
                                    PlanNo = x.PlanNo,
                                    OrderId = x.OrderId,
                                    PackageCode = x.PackageCode,
                                    PlaceCode = x.PlaceCode,
                                    RbTaskType = (int)RbTaskTypeEnum.强制出库任务,
                                    TaskStatus = (int)TaskStatusEnum.新建,
                                    TaskMsg = "人工强制待出库",
                                        Upi = x.Upi,
                                        Length = x.Length,
                                        Width = x.Width,
                                        Thk = x.Thk,
                                        PlanNo = x.PlanNo,
                                        OrderId = x.OrderId,
                                        PackageCode = x.PackageCode,
                                        PlaceCode = x.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(x.PlaceCode, wmsDB);
                                place.PlaceStatus = (int)PlaceStatusEnum.锁定;
                                    var place = StationHandler.GetPlaceByPlaceCode(x.PlaceCode, wmsDB);
                                    place.PlaceStatus = (int)PlaceStatusEnum.锁定;
                                Thread.Sleep(100);
                                    Thread.Sleep(100);
                                }
                            }
                            wmsDB.SaveChanges();
                        }