| | |
| | | |
| | | // æ¹éæ¥è¯¢ææå
³èçæç»ï¼è¿æ»¤æç©æç¼å·ä¸ºç©ºçæ°æ® |
| | | var allDetails = BaseDal.Db.Queryable<Dt_OutSGOrderDetail>() |
| | | .Where(d => orderIds.Contains(d.OutSGOrderId) && !string.IsNullOrEmpty(d.MaterialNo)) |
| | | .Where(d => orderIds.Contains(d.OutSGOrderId)) |
| | | .ToList(); |
| | | |
| | | // æè®¢åIDåç» |
| | |
| | | { |
| | | if (detailsByOrderId.TryGetValue(order.Id, out var details)) |
| | | { |
| | | // æç©æç¼å·åå¹
宽çç»ååç»ï¼è¥ç©æä»£ç ç¸åä½å¹
宽ä¸åï¼ä¼è¢«åæä¸åçç» |
| | | var materialGroups = details |
| | | .GroupBy(d => new { |
| | | MaterialNo = d.MaterialNo, |
| | | Width = d.Width |
| | | }) |
| | | .Select(g => $"{g.Key.MaterialNo}({g.Key.Width})").ToList(); |
| | | // è·åææç©æç¼å·ï¼å
æ¬éå¤ç |
| | | var allMaterialNos = details |
| | | .Select(d => d.MaterialNo) |
| | | .ToList(); |
| | | |
| | | // å°åç»ç»æå并为ä¸ä¸ªå符串ï¼å¤ä¸ªç»ä¹é´ç¨éå·åé |
| | | order.MaterialNoWidth = string.Join(",", materialGroups); |
| | | // è·åææå¯ä¸çå¹
宽 |
| | | var uniqueWidths = details |
| | | .Select(d => d.Width.ToString()) |
| | | .Distinct() |
| | | .ToList(); |
| | | |
| | | // è®¾ç½®ç©æç¼å·ï¼ææç©æç¼å·ç¨ææ åéï¼å
æ¬éå¤ç |
| | | order.MaterialNos = string.Join("/", allMaterialNos); |
| | | |
| | | // 设置å¹
宽ï¼å¦æå¹
宽æå¤ä¸ªä¸ä¸è´çæ°å¼å°±æ¾ç¤ºå¤ä¸ªï¼å¦æä¸æ ·å°±æ¾ç¤ºä¸ä¸ª |
| | | order.MaterialWides = uniqueWidths.Count == 1 |
| | | ? uniqueWidths[0] |
| | | : string.Join("/", uniqueWidths); |
| | | |
| | | // 设置æ¯å¦ç¼ºæï¼å¦ææä»»ä½ä¸ä¸ªæç»æ¯ç¼ºæç¶æï¼å°±è®¾ç½®ä¸ºtrue |
| | | // å¼ç¨WIDESEA_Common.OrderEnumå½åç©ºé´æ¥ä½¿ç¨OutOrderStatusEnumæä¸¾ |
| | | order.IsLackMaterial = details.Any(d => d.OutSGOrderDetailStatus == 3); // 3æ¯ç¼ºæç¶æçæä¸¾å¼ |
| | | } |
| | | else |
| | | { |
| | | order.MaterialNoWidth = ""; |
| | | order.MaterialNos = ""; |
| | | order.MaterialWides = ""; |
| | | order.IsLackMaterial = false; |
| | | } |
| | | } |
| | | } |