| | |
| | | |
| | | //å¤ç表 mes_order_gather |
| | | var errmsg = ""; |
| | | var result = HandlerOrderGather(wmsDB, package, qitaoValue, _UnlinePerson, out errmsg); |
| | | var result = MyExtendHelper.HandlerOrderGather(wmsDB, package, qitaoValue, _UnlinePerson, out errmsg); |
| | | if (result == false) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = errmsg; |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å¤ç 表 mes_order_gather |
| | | /// </summary> |
| | | /// <param name="wmsDB"></param> |
| | | /// <param name="package"></param> |
| | | /// <param name="qitaoValue"></param> |
| | | /// <param name="_UnlinePerson"></param> |
| | | /// <param name="errMsg"></param> |
| | | /// <returns></returns> |
| | | public static bool HandlerOrderGather(WmsDBModel wmsDB, mes_package_gather package, string qitaoValue, string _UnlinePerson, out string errMsg) |
| | | { |
| | | errMsg = ""; |
| | | //å¤ç表 mes_order_gather |
| | | var isAddOrder = false; |
| | | var packageList = wmsDB.mes_package_gather.Where(x => x.Info5 == package.Info5).ToList(); |
| | | if (packageList == null || packageList?.Count == 0) |
| | | { |
| | | errMsg = $"æ²¡ææ¾å°ç产åå·{package.Info5}çæ±æ»æ°æ®"; |
| | | return false; |
| | | } |
| | | var order = wmsDB.mes_order_gather.Where(x => x.Info5 == package.Info5).FirstOrDefault(); |
| | | if (order != null) |
| | | { |
| | | |
| | | } |
| | | else |
| | | { |
| | | order = new mes_order_gather() |
| | | { |
| | | Id = Yitter.IdGenerator.YitIdHelper.NextId(), |
| | | Info5 = package.Info5, |
| | | OrderId = package.OrderId, |
| | | PlanNo = package.PlanNo, |
| | | }; |
| | | isAddOrder = true; |
| | | } |
| | | order.PackageNum = packageList.Count(); |
| | | order.UnLinePackageNum = packageList.Where(x => x.UpiStatus == (int)UpiStatusEnum.å·²ä¸çº¿).Count(); |
| | | order.NoUnLinePackageNum = order.PackageNum - order.UnLinePackageNum; |
| | | |
| | | order.AllPackageArea = packageList.Sum(x => Convert.ToDecimal(x.Info13)); |
| | | order.ScanPackageArea = packageList.Where(x => x.UpiStatus == (int)UpiStatusEnum.å·²ä¸çº¿).Sum(x => Convert.ToDecimal(x.Info13)); |
| | | order.NoScanPackageArea = order.AllPackageArea - order.ScanPackageArea; |
| | | order.IsKitting = qitaoValue == "é½å¥" ? true : false; |
| | | |
| | | var order_unLine = false; |
| | | //æ¥è¯¢ä¸ä¸ä¸ªå
æ¯ä¸æ¯å±äºè¯¥è®¢å |
| | | var newLineQueue = wmsDB.mes_package_linequeue.OrderBy(x => x.Id).FirstOrDefault(); |
| | | if (newLineQueue != null && newLineQueue.Info5 != order.Info5) |
| | | { |
| | | //è¡¨ç¤ºæ¯ åæ¢ æ°è®¢åäºï¼è¯¥è®¢åè¦æ´æ°ä¸º å·²ä¸çº¿ã |
| | | order_unLine = true; |
| | | } |
| | | else |
| | | { |
| | | //å¤æè¯¥è®¢åæ¯å¦å·²ä¸çº¿ |
| | | if (order.PackageNum == order.UnLinePackageNum) |
| | | { |
| | | order_unLine = true; |
| | | } |
| | | } |
| | | //å¤æè¯¥è®¢åæ¯å¦å·²ä¸çº¿ |
| | | if (order_unLine) |
| | | { |
| | | order.IsUnline = true; |
| | | order.UnlineTime = DateTime.Now; |
| | | order.UnlinePerson = _UnlinePerson; |
| | | } |
| | | else |
| | | { |
| | | order.IsUnline = false; |
| | | } |
| | | |
| | | if (isAddOrder) |
| | | { |
| | | wmsDB.mes_order_gather.Add(order); |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |