Exemple #1
0
        /// <summary>
        /// PDA发送拣选任务完成
        /// </summary>
        /// <param name="xml"></param>
        /// <returns></returns>
        //public string LesSendFinishStatusPDA(string xml)
        //{
        //    string result = xml;
        //    try { XDocument.Parse(xml); }
        //    catch (Exception ex) { return "ERROR:" + ex.Message; }

        //    try
        //    {
        //        AST_LesTask_PDA_Finish model = AST_LesTask_PDA_FinishConverter.ConvertRequestPDA(xml);
        //        using (GeelyPtlEntities dbContext = new GeelyPtlEntities())
        //        {
        //            List<AST_LesTask_PDA> targets = dbContext.AST_LesTask_PDAs.Where(x => model.BILLID.Contains(x.BillCode)).ToList();
        //            foreach (var target in targets)
        //            {
        //                target.IsFinished = true;
        //            }

        //            dbContext.SaveChanges();
        //        }

        //        XDocument xDocument = XDocument.Parse(xml);
        //        XElement serviceElement = xDocument.Descendants("Service").First();
        //        XElement dataElement = serviceElement.Descendants("Data").First();
        //        XElement requestElement = dataElement.Descendants("Request").First();
        //        XElement arrivedElement = requestElement.Descendants("ASSEMBLE").First();
        //        XElement type = new XElement("TYPE");
        //        type.Value = "succ";
        //        XElement message = new XElement("MESSAGE");
        //        message.Value = "接收成功!";

        //        arrivedElement.Add(type);
        //        arrivedElement.Add(message);

        //        result = Converter.ToXml(xDocument);
        //    }
        //    catch
        //    {
        //        XDocument xDocument = XDocument.Parse(xml);
        //        XElement serviceElement = xDocument.Descendants("Service").First();
        //        XElement dataElement = serviceElement.Descendants("Data").First();
        //        XElement requestElement = dataElement.Descendants("Request").First();
        //        XElement arrivedElement = requestElement.Descendants("ASSEMBLE").First();
        //        XElement type = new XElement("TYPE");
        //        type.Value = "error";
        //        XElement message = new XElement("MESSAGE");
        //        message.Value = "接收失败!";

        //        arrivedElement.Add(type);
        //        arrivedElement.Add(message);

        //        result = Converter.ToXml(xDocument);
        //    }

        //    return result;
        //}
        #endregion

        /// <summary>
        /// PDA发送拣选任务完成
        /// </summary>
        /// <param name="xml">报文</param>
        /// <returns></returns>
        public string LesSendFinishStatusPDA(string xml)
        {
            string result = xml;

            try { XDocument.Parse(xml); }
            catch (Exception ex) { return("ERROR:" + ex.Message); }

            try
            {
                using (GeelyPtlEntities dbContext = new GeelyPtlEntities())
                {
                    List <AST_PalletPickResult_PDA> astPalletPickResults = AST_PalletPickResult_PDAConverter.ConvertRequestPDA(xml, dbContext);
                    if (astPalletPickResults.Count > 0)
                    {
                        string sReqCode = GetReqCode();

                        AST_PalletPickResultMessage_PDA astPalletPickResultMessage = new AST_PalletPickResultMessage_PDA();
                        astPalletPickResultMessage.AST_PalletPickResultKey = sReqCode;
                        astPalletPickResultMessage.ReceivedXml             = xml;
                        astPalletPickResultMessage.ReceivedTime            = DateTime.Now;
                        dbContext.AST_PalletPickResultMessage_PDAs.Add(astPalletPickResultMessage);

                        foreach (AST_PalletPickResult_PDA astPalletPickResult in astPalletPickResults)
                        {
                            if (!dbContext.AST_PalletPickResult_PDAs.Any(pa => pa.BatchCode == astPalletPickResult.BatchCode &&
                                                                         pa.CFG_PalletId == astPalletPickResult.CFG_PalletId &&
                                                                         pa.PickBillIds == astPalletPickResult.PickBillIds))
                            {
                                astPalletPickResult.AST_PalletPickResultKey = sReqCode;
                                dbContext.AST_PalletPickResult_PDAs.Add(astPalletPickResult);

                                //结束LES拣料任务
                                List <AST_LesTask_PDA> targets = dbContext.AST_LesTask_PDAs.Where(x => astPalletPickResult.PickBillIds.Contains(x.BillCode)).ToList();
                                foreach (var target in targets)
                                {
                                    target.IsFinished = true;
                                }

                                //结束托盘拣料任务及其明细
                                List <AST_PalletTaskItem_PDA> astPalletTaskItems = dbContext.AST_PalletTaskItem_PDAs
                                                                                   .Where(t => t.AST_PalletTask_PDA.BatchCode.Equals(astPalletPickResult.BatchCode) &&
                                                                                          t.AST_PalletTask_PDA.CFG_PalletId == astPalletPickResult.CFG_PalletId &&
                                                                                          t.BoxCode.Equals(astPalletPickResult.BoxCode) &&
                                                                                          t.PickStatus != PickStatus.Finished).ToList();
                                if (astPalletTaskItems.Count > 0)
                                {
                                    foreach (AST_PalletTaskItem_PDA astPalletTaskItem in astPalletTaskItems)
                                    {
                                        if (astPalletTaskItem.PickedQuantity == null)
                                        {
                                            astPalletTaskItem.PickedQuantity = 0;
                                        }
                                        astPalletTaskItem.PickedQuantity = Convert.ToInt32(astPalletTaskItem.PickedQuantity) + astPalletPickResult.Quantity;
                                        astPalletTaskItem.PickedTime     = astPalletPickResult.ReceivedTime;
                                        astPalletTaskItem.PickStatus     = astPalletTaskItem.PickedQuantity >= astPalletTaskItem.ToPickQuantity ? PickStatus.Finished : PickStatus.Picking;
                                    }
                                    AST_PalletTask_PDA astPalletTask = astPalletTaskItems.FirstOrDefault().AST_PalletTask_PDA;
                                    if (astPalletTask.AST_PalletTaskItem_PDAs.All(t => t.PickStatus == PickStatus.Finished))
                                    {
                                        astPalletTask.PickStatus = PickStatus.Finished;
                                    }
                                }
                            }
                        }

                        dbContext.SaveChanges();
                    }
                }

                return(AST_PalletPickResult_PDAConverter.ConvertResponse(xml, true, string.Empty));
            }
            catch (Exception ex)
            {
                string message = ex.Message;
                if (message.Contains("无效的托盘编码"))
                {
                    return(AST_PalletPickResult_PDAConverter.ConvertResponse(xml, true, string.Empty));
                }
                else
                {
                    DbEntityValidationException dbEntityValidationException = ex as DbEntityValidationException;
                    if (dbEntityValidationException != null)
                    {
                        foreach (DbEntityValidationResult validationResult in dbEntityValidationException.EntityValidationErrors)
                        {
                            foreach (DbValidationError validationError in validationResult.ValidationErrors)
                            {
                                message += Environment.NewLine + validationError.ErrorMessage;
                            }
                        }
                    }
                    message += Environment.NewLine + ex.StackTrace;

                    Logger.Log("LesSendFinishStatusPDA", DateTime.Now.ToString("HH:mm:ss") + Environment.NewLine +
                               xml + Environment.NewLine
                               + message + Environment.NewLine
                               + Environment.NewLine);
                    return(AST_PalletPickResult_PDAConverter.ConvertResponse(xml, false, message));
                }
            }
        }
        /// <summary>
        /// 按托合并原始分拣任务-PDA。
        /// </summary>
        /// <param name="astPalletArrived">从接口解析还未持久化的托盘抵达记录。</param>
        /// <param name="dbContext">数据上下文。</param>
        public static void GeneratePDA(AST_PalletArrived_PDA astPalletArrived, GeelyPtlEntities dbContext)
        {
            List <AST_LesTask_PDA> astLesTasks = dbContext.AST_LesTask_PDAs
                                                 .Where(lt => lt.BatchCode == astPalletArrived.BatchCode &&
                                                        lt.CFG_PalletId == astPalletArrived.CFG_PalletId &&
                                                        lt.CFG_ChannelId == astPalletArrived.CFG_ChannelId &&
                                                        astPalletArrived.PickBillIds.Contains(lt.BillCode) &&
                                                        !lt.TaskGenerated)
                                                 .ToList();

            if (astLesTasks.Count > 0)
            {
                AST_LesTask_PDA mainAstLesTask = astLesTasks.First();

                AST_PalletTask_PDA astPalletTask = new AST_PalletTask_PDA();
                astPalletTask.CFG_PalletId  = astPalletArrived.CFG_PalletId;
                astPalletTask.BatchCode     = mainAstLesTask.BatchCode;
                astPalletTask.PickBillIds   = astPalletArrived.PickBillIds;
                astPalletTask.ProjectCode   = astPalletArrived.ProjectCode;
                astPalletTask.WbsId         = mainAstLesTask.WbsId;
                astPalletTask.ProjectStep   = astPalletArrived.ProjectStep;
                astPalletTask.CFG_ChannelId = astPalletArrived.CFG_ChannelId;
                astPalletTask.PickStatus    = PickStatus.New;
                astPalletTask.CreateTime    = DateTime.Now;

                dbContext.AST_PalletTask_PDAs.Add(astPalletTask);

                //提取当前目标工位、当前批次、当前巷道、当前托盘未合并的原始任务
                List <int> cfgWorkStationIds = astLesTasks
                                               .Select(lt => lt.CFG_WorkStationId)
                                               .Distinct()
                                               .ToList();
                foreach (int cfgWorkStationId in cfgWorkStationIds)
                {
                    ILookup <int, AST_LesTask_PDA> astLesTaskLookupByFromPalletPosition = astLesTasks
                                                                                          .Where(lt => lt.CFG_WorkStationId == cfgWorkStationId)
                                                                                          .OrderBy(lt => lt.FromPalletPosition)
                                                                                          .ToLookup(lt => lt.FromPalletPosition);

                    //明细的合并,特殊件单独拣
                    foreach (IGrouping <int, AST_LesTask_PDA> astLesTaskGroupingByFromPalletPosition in astLesTaskLookupByFromPalletPosition)
                    {
                        int             fromPalletPosition          = astLesTaskGroupingByFromPalletPosition.Key;
                        AST_LesTask_PDA mainAstLesTaskByWorkStation = astLesTaskGroupingByFromPalletPosition.First();

                        List <AST_LesTaskItem_PDA> normalAstLesTaskItems  = new List <AST_LesTaskItem_PDA>();
                        List <AST_LesTaskItem_PDA> specialAstLesTaskItems = new List <AST_LesTaskItem_PDA>();

                        foreach (AST_LesTask_PDA astLesTask in astLesTaskGroupingByFromPalletPosition)
                        {
                            normalAstLesTaskItems.AddRange(astLesTask.AST_LesTaskItem_PDAs.Where(lti => !lti.IsSpecial));
                            specialAstLesTaskItems.AddRange(astLesTask.AST_LesTaskItem_PDAs.Where(lti => lti.IsSpecial));
                        }

                        //普通件
                        if (normalAstLesTaskItems.Count > 0)
                        {
                            AST_LesTaskItem_PDA mainAstLesTaskItem = normalAstLesTaskItems.First();
                            int totalNormalQuantity = normalAstLesTaskItems.Sum(lti => lti.ToPickQuantity);

                            AST_PalletTaskItem_PDA astPalletTaskItem = new AST_PalletTaskItem_PDA();
                            astPalletTaskItem.AST_PalletTask_PDA = astPalletTask;
                            astPalletTaskItem.CFG_WorkStationId  = cfgWorkStationId;
                            astPalletTaskItem.BoxCode            = mainAstLesTaskByWorkStation.BoxCode;
                            astPalletTaskItem.FromPalletPosition = fromPalletPosition;
                            astPalletTaskItem.MaterialCode       = mainAstLesTaskItem.MaterialCode;
                            astPalletTaskItem.MaterialName       = mainAstLesTaskItem.MaterialName;
                            astPalletTaskItem.MaterialBarcode    = mainAstLesTaskItem.MaterialBarcode;
                            astPalletTaskItem.ToPickQuantity     = totalNormalQuantity;
                            astPalletTaskItem.MaxQuantityInSingleCartPosition = mainAstLesTaskItem.MaxQuantityInSingleCartPosition;
                            astPalletTaskItem.IsSpecial  = false;
                            astPalletTaskItem.IsBig      = mainAstLesTaskItem.IsBig;
                            astPalletTaskItem.PickStatus = PickStatus.New;

                            dbContext.AST_PalletTaskItem_PDAs.Add(astPalletTaskItem);

                            foreach (AST_LesTaskItem_PDA normalAstLesTaskItem in normalAstLesTaskItems)
                            {
                                normalAstLesTaskItem.AST_PalletTaskItem_PDA = astPalletTaskItem;
                            }
                        }

                        //特殊件
                        foreach (AST_LesTaskItem_PDA astLesTaskItem in specialAstLesTaskItems)
                        {
                            AST_PalletTaskItem_PDA astPalletTaskItem = new AST_PalletTaskItem_PDA();
                            astPalletTaskItem.AST_PalletTask_PDA = astPalletTask;
                            astPalletTaskItem.CFG_WorkStationId  = cfgWorkStationId;
                            astPalletTaskItem.BoxCode            = mainAstLesTaskByWorkStation.BoxCode;
                            astPalletTaskItem.FromPalletPosition = fromPalletPosition;
                            astPalletTaskItem.MaterialCode       = astLesTaskItem.MaterialCode;
                            astPalletTaskItem.MaterialName       = astLesTaskItem.MaterialName;
                            astPalletTaskItem.MaterialBarcode    = astLesTaskItem.MaterialBarcode;
                            astPalletTaskItem.ToPickQuantity     = astLesTaskItem.ToPickQuantity;
                            astPalletTaskItem.MaxQuantityInSingleCartPosition = astLesTaskItem.MaxQuantityInSingleCartPosition;
                            astPalletTaskItem.IsSpecial  = true;
                            astPalletTaskItem.IsBig      = astLesTaskItem.IsBig;
                            astPalletTaskItem.PickStatus = PickStatus.New;

                            dbContext.AST_PalletTaskItem_PDAs.Add(astPalletTaskItem);

                            astLesTaskItem.AST_PalletTaskItem_PDA = astPalletTaskItem;
                        }

                        //标记已合并按托任务
                        foreach (AST_LesTask_PDA astLesTask in astLesTaskGroupingByFromPalletPosition)
                        {
                            astLesTask.TaskGenerated = true;
                        }
                    }
                }
            }
        }
        /// <summary>
        /// 按巷道查询当前PDA任务。
        /// </summary>
        /// <param name="cfgChannelId">巷道的主键。</param>
        /// <param name="dPtlPalletLastArriveTime">PTL托盘最后到达时间。</param>
        private AssortingKanbanTaskInfo QueryPDACurrentTaskInfo(int cfgChannelId, DateTime dPtlPalletLastArriveTime)
        {
            AssortingKanbanTaskInfo result = new AssortingKanbanTaskInfo();

            try
            {
                using (GeelyPtlEntities dbContext = new GeelyPtlEntities())
                {
                    DateTime minTime = DateTime.Today;
                    DateTime maxTime = minTime.AddDays(1);

                    AST_PalletTask_PDA astPalletTask = null;
                    if (dPtlPalletLastArriveTime == DateTime.MinValue)
                    {
                        astPalletTask = dbContext.AST_PalletTask_PDAs
                                        .Where(pt => pt.CFG_ChannelId == cfgChannelId && pt.PickStatus != PickStatus.Finished && pt.CreateTime > minTime && pt.CreateTime < maxTime)
                                        .OrderByDescending(pt => pt.Id)
                                        .FirstOrDefault();
                    }
                    else
                    {
                        astPalletTask = dbContext.AST_PalletTask_PDAs
                                        .Where(pt => pt.CFG_ChannelId == cfgChannelId && pt.PickStatus != PickStatus.Finished && pt.CreateTime > minTime && pt.CreateTime <maxTime &&
                                                                                                                                                                           pt.CreateTime> dPtlPalletLastArriveTime)
                                        .OrderByDescending(pt => pt.Id)
                                        .FirstOrDefault();
                    }

                    //AST_PalletTask_PDA astPalletTask = dbContext.AST_PalletTask_PDAs
                    //                                   .Where(pt => pt.CFG_ChannelId == cfgChannelId && pt.PickStatus != PickStatus.Finished && pt.CreateTime > minTime && pt.CreateTime < maxTime)
                    //                                   .OrderByDescending(pt => pt.Id)
                    //                                   .FirstOrDefault();

                    //AST_CartTask astCartTask = dbContext.AST_CartTaskItems
                    //                               .Where(cti => cti.AST_CartTask.CFG_ChannelId == cfgChannelId && cti.AssortingStatus != AssortingStatus.Finished)
                    //                               .Select(cti => cti.AST_CartTask)
                    //                               .FirstOrDefault();

                    if (astPalletTask == null)
                    {
                        result = null;
                        return(result);
                    }

                    string currentBatchCode = astPalletTask.BatchCode;

                    if (!string.IsNullOrEmpty(currentBatchCode))
                    {
                        AST_LesTask_PDA currentBatchFirstAstLesTask = dbContext.AST_LesTask_PDAs
                                                                      .Where(lt => lt.CFG_ChannelId == cfgChannelId && lt.BatchCode == currentBatchCode && lt.CFG_PalletId == astPalletTask.CFG_PalletId)
                                                                      .OrderByDescending(lt => lt.Id).FirstOrDefault();

                        result.CurrentBatchInfo.PickType = ConverterPickTypeToText(currentBatchFirstAstLesTask.WbsId); //PDA手持机拣料
                        //result.CurrentBatchInfo.PickType = currentBatchFirstAstLesTask.WbsId; //PDA手持机拣料
                        //result.CurrentBatchInfo.PickType = 2; //PDA手持机拣料
                        result.CurrentBatchInfo.ProjectCode         = currentBatchFirstAstLesTask.ProjectCode;
                        result.CurrentBatchInfo.ProjectStep         = currentBatchFirstAstLesTask.ProjectStep;
                        result.CurrentBatchInfo.BatchCode           = currentBatchFirstAstLesTask.BatchCode;
                        result.CurrentBatchInfo.FinishedPalletCount = dbContext.AST_PalletTask_PDAs
                                                                      .Count(pr => pr.CFG_ChannelId == cfgChannelId && pr.BatchCode == currentBatchCode && pr.PickStatus == PickStatus.Finished);
                        //result.CurrentBatchInfo.FinishedPalletCount = 0;
                        result.CurrentBatchInfo.TotalPalletCount = dbContext.AST_LesTask_PDAs
                                                                   .Where(lt => lt.CFG_ChannelId == cfgChannelId && lt.BatchCode == currentBatchCode)
                                                                   .Select(lt => lt.CFG_PalletId)
                                                                   .Distinct()
                                                                   .Count();
                        //以下 4 个汇总界面不展示
                        result.CurrentBatchInfo.FinishedMaterialTypeCount = 0;
                        result.CurrentBatchInfo.TotalMaterialTypeCount    = 0;
                        result.CurrentBatchInfo.FinishedMaterialCount     = 0;
                        result.CurrentBatchInfo.TotalMaterialCount        = 0;

                        List <CFG_ChannelCurrentCart> cfgChannelCurrentCarts = dbContext.CFG_ChannelCurrentCarts
                                                                               .Where(ccc => ccc.CFG_ChannelId == cfgChannelId)
                                                                               .OrderBy(ccc => ccc.Position)
                                                                               .ToList();
                        foreach (CFG_ChannelCurrentCart cfgChannelCurrentCart in cfgChannelCurrentCarts)
                        {
                            CFG_ChannelCurrentCartDto cfgChannelCurrentCartDto = new CFG_ChannelCurrentCartDto();
                            cfgChannelCurrentCartDto.CFG_ChannelCurrentCartId = cfgChannelCurrentCart.Id;
                            cfgChannelCurrentCartDto.CFG_ChannelId            = cfgChannelCurrentCart.CFG_ChannelId;
                            cfgChannelCurrentCartDto.Position   = cfgChannelCurrentCart.Position;
                            cfgChannelCurrentCartDto.CFG_CartId = cfgChannelCurrentCart.CFG_CartId;
                            if (cfgChannelCurrentCart.CFG_Cart != null)
                            {
                                cfgChannelCurrentCartDto.CartCode = cfgChannelCurrentCart.CFG_Cart.Code;
                                cfgChannelCurrentCartDto.CartName = cfgChannelCurrentCart.CFG_Cart.Name;
                            }
                        }

                        if (astPalletTask != null)
                        {
                            AST_PalletTaskDto astPalletTaskDto = new AST_PalletTaskDto();
                            astPalletTaskDto.AST_PalletTaskId     = astPalletTask.Id;
                            astPalletTaskDto.CFG_PalletId         = astPalletTask.CFG_PalletId;
                            astPalletTaskDto.PalletCode           = astPalletTask.CFG_Pallet.Code;
                            astPalletTaskDto.PalletType           = astPalletTask.CFG_Pallet.PalletType;
                            astPalletTaskDto.PalletRotationStatus = astPalletTask.CFG_Pallet.PalletRotationStatus;

                            List <AST_PalletTaskItem_PDA> astPalletTaskItems = astPalletTask.AST_PalletTaskItem_PDAs
                                                                               .OrderBy(pti => pti.FromPalletPosition)
                                                                               .ToList();
                            foreach (AST_PalletTaskItem_PDA astPalletTaskItem in astPalletTaskItems)
                            {
                                AST_PalletTaskItemDto astPalletTaskItemDto = new AST_PalletTaskItemDto();
                                astPalletTaskItemDto.AST_PalletTaskItemId = astPalletTaskItem.Id;
                                astPalletTaskItemDto.FromPalletPosition   = astPalletTaskItem.FromPalletPosition;
                                astPalletTaskItemDto.WorkStationCode      = astPalletTaskItem.CFG_WorkStation.Code;
                                astPalletTaskItemDto.MaterialCode         = astPalletTaskItem.MaterialCode;
                                astPalletTaskItemDto.MaterialName         = astPalletTaskItem.MaterialName;
                                astPalletTaskItemDto.MaterialBarcode      = astPalletTaskItem.MaterialBarcode;
                                astPalletTaskItemDto.ToPickQuantity       = astPalletTaskItem.ToPickQuantity;
                                astPalletTaskItemDto.IsSpecial            = astPalletTaskItem.IsSpecial;
                                astPalletTaskItemDto.IsBig          = astPalletTaskItem.IsBig;
                                astPalletTaskItemDto.PickStatus     = astPalletTaskItem.PickStatus;
                                astPalletTaskItemDto.PickedQuantity = astPalletTaskItem.PickedQuantity;

                                astPalletTaskDto.Items.Add(astPalletTaskItemDto);
                            }

                            result.CurrentPalletTask = astPalletTaskDto;
                        }

                        //if (astCartTask != null)
                        //{
                        //    AST_CartTaskDto astCartTaskDto = new AST_CartTaskDto();
                        //    astCartTaskDto.AST_CartTaskId = astCartTask.Id;
                        //    astCartTaskDto.CFG_CartId = astCartTask.CFG_CartId;
                        //    astCartTaskDto.CartCode = astCartTask.CFG_Cart.Code;
                        //    astCartTaskDto.CartName = astCartTask.CFG_Cart.Name;

                        //    List<AST_CartTaskItem> astCartTaskItems = astCartTask.AST_CartTaskItems
                        //                                                  .OrderBy(cti => cti.CartPosition)
                        //                                                  .ToList();
                        //    foreach (AST_CartTaskItem astCartTaskItem in astCartTaskItems)
                        //    {
                        //        AST_PalletTaskItem astPalletTaskItem = astCartTaskItem.AST_PalletTaskItem;

                        //        AST_CartTaskItemDto astCartTaskItemDto = new AST_CartTaskItemDto();
                        //        astCartTaskItemDto.AST_CartTaskItemId = astCartTaskItem.Id;
                        //        astCartTaskItemDto.CartPosition = astCartTaskItem.CartPosition;
                        //        astCartTaskItemDto.WorkStationCode = astCartTask.CFG_WorkStation.Code;
                        //        astCartTaskItemDto.MaterialCode = astPalletTaskItem.MaterialCode;
                        //        astCartTaskItemDto.MaterialName = astPalletTaskItem.MaterialName;
                        //        astCartTaskItemDto.MaterialBarcode = astPalletTaskItem.MaterialBarcode;
                        //        astCartTaskItemDto.MaxQuantityInSingleCartPosition = astPalletTaskItem.MaxQuantityInSingleCartPosition;
                        //        astCartTaskItemDto.IsSpecial = astPalletTaskItem.IsSpecial;
                        //        astCartTaskItemDto.IsBig = astPalletTaskItem.IsBig;
                        //        astCartTaskItemDto.AssortingStatus = astCartTaskItem.AssortingStatus;
                        //        astCartTaskItemDto.PickedQuantity = astCartTaskItem.AssortedQuantity;

                        //        astCartTaskDto.Items.Add(astCartTaskItemDto);
                        //    }

                        //    result.CurrentCartTask = astCartTaskDto;
                        //}
                    }
                }
            }
            catch (Exception ex)
            {
                string message = ex.Message;
                DbEntityValidationException dbEntityValidationException = ex as DbEntityValidationException;
                if (dbEntityValidationException != null)
                {
                    foreach (DbEntityValidationResult validationResult in dbEntityValidationException.EntityValidationErrors)
                    {
                        foreach (DbValidationError validationError in validationResult.ValidationErrors)
                        {
                            message += Environment.NewLine + validationError.ErrorMessage;
                        }
                    }
                }
                message += Environment.NewLine + ex.StackTrace;

                Logger.Log("ForAssortingKanbanService.QueryPDACurrentTaskInfo", DateTime.Now.ToString("HH:mm:ss") + Environment.NewLine
                           + message + Environment.NewLine
                           + Environment.NewLine);
            }

            return(result);
        }