22
schangxiang@126.com
2024-12-12 1daeb924fb62c47ae8fc4f9fed710d19b8ea113e
CC/iWareCC_ASRS/ThreadService/01_BZ01¹¤Î»£¨Çå»Ò£¬Ï´°åºó¹¤Î»£©/DataProcess_BZ01.cs
@@ -119,8 +119,49 @@
                                        }
                                        else
                                        {
                                            qitaoReault = true;
                                            upiObj.AreaCode = (int)AreaCodeEnum.码垛区域;
                                            //还需要验证在这些区域中,是否正确排队,如果没有正确排队,那么就认为不齐套 ã€Editby shaocx,2024-12-12】
                                            var queueList = wmsDB.mes_upi_linequeue.Where(x => x.PackageCode == upiObj.PackageCode && x.AreaCode == queryAreaCode)
                                                .OrderBy(x => x.Id).ToList();
                                            var fisrtId = queueList.OrderBy(x => x.Id).First().Id;
                                            var endId = queueList.OrderByDescending(x => x.Id).First().Id;
                                            //继续查询这个时间段内的队列数据
                                            //重写该队列
                                            queueList = wmsDB.mes_upi_linequeue.Where(x => x.Id >= fisrtId && x.Id <= endId).OrderBy(x => x.Id).ToList();
                                            var syCount = allList.Where(x => x.Shelf >= upiObj.Shelf).Count();
                                            if (queueList.Count() != syCount)
                                            {
                                                qitaoReault = false;
                                                upiObj.AreaCode = (int)AreaCodeEnum.缓存分拣区;
                                            }
                                            else
                                            {
                                                //判断是否乱序
                                                bool isLuanXuan = false;
                                                int temp_shelf = 0;
                                                for (int i = 0; i < queueList.Count; i++)
                                                {
                                                    if (i == 0)
                                                    {
                                                        temp_shelf = queueList[i].Shelf;
                                                    }
                                                    else
                                                    {
                                                        if ((temp_shelf + 1) != queueList[i].Shelf)
                                                        {//认为乱序了
                                                            qitaoReault = false;
                                                            isLuanXuan = true;
                                                            upiObj.AreaCode = (int)AreaCodeEnum.缓存分拣区;
                                                            break;//跳出循环
                                                        }
                                                    }
                                                }
                                                if (isLuanXuan == false)
                                                {
                                                    qitaoReault = true;
                                                    upiObj.AreaCode = (int)AreaCodeEnum.码垛区域;
                                                }
                                            }
                                        }
                                        //注意:要删除该队列数据哦