| | |
| | | using System.Transactions; |
| | | using WIDESEA_Common; |
| | | using WIDESEA_Common.LocationEnum; |
| | | using WIDESEA_Common.MaterielEnum; |
| | | using WIDESEA_Common.OrderEnum; |
| | | using WIDESEA_Common.StockEnum; |
| | | using WIDESEA_Common.TaskEnum; |
| | |
| | | /// <param name="pageNo"></param> |
| | | /// <param name="orderNo"></param> |
| | | /// <returns></returns> |
| | | //public WebResponseContent GetCabinOrderDetail(int pageNo, string orderNo) |
| | | //{ |
| | | // WebResponseContent content = new WebResponseContent(); |
| | | // Dt_CabinOrder cabinOrder = Db.Queryable<Dt_CabinOrder>().Includes(x => x.Details).First(x => x.Order_no == orderNo); |
| | | // List<Dt_CabinOrderDetail> cabinOrderDetails = cabinOrder.Details.Where(x => x.Status == 2 && x.OrderDetailStatus != "已宿").ToList(); |
| | | // content.OK(data: cabinOrderDetails); |
| | | // return content; |
| | | //} |
| | | |
| | | public WebResponseContent GetCabinOrderDetail(int pageNo, string orderNo) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | Dt_CabinOrder cabinOrder = Db.Queryable<Dt_CabinOrder>().Includes(x => x.Details).First(x => x.Order_no == orderNo); |
| | | List<Dt_CabinOrderDetail> cabinOrderDetails = cabinOrder.Details.Where(x => x.Status == 2 && x.OrderDetailStatus != "已宿").ToList(); |
| | | content.OK(data: cabinOrderDetails); |
| | | try |
| | | { |
| | | Dt_CabinOrder cabinOrder = Db.Queryable<Dt_CabinOrder>().Includes(x => x.Details).First(x => x.Order_no == orderNo); |
| | | List<Dt_CabinOrderDetail> cabinOrderDetails = cabinOrder.Details.Where(x => x.Status == 2 && x.OrderDetailStatus != "已宿").ToList(); |
| | | |
| | | // è·åææç©æç¼å· |
| | | var materielCodes = cabinOrderDetails.Select(x => x.Goods_no).Distinct().ToList(); |
| | | |
| | | // è·åç©æä¿¡æ¯ |
| | | var materiels = Db.Queryable<Dt_MaterielInfo>() |
| | | .Where(x => materielCodes.Contains(x.MaterielCode)) |
| | | .ToList() |
| | | .ToDictionary(x => x.MaterielCode, x => x); |
| | | |
| | | // ç»åæ°æ® |
| | | var result = cabinOrderDetails.Select(detail => |
| | | { |
| | | var materiel = materiels.ContainsKey(detail.Goods_no) ? materiels[detail.Goods_no] : null; |
| | | |
| | | return new |
| | | { |
| | | // 订åæç»å段 |
| | | detail.Id, |
| | | detail.Batch_num, |
| | | detail.Goods_no, |
| | | detail.Order_qty, |
| | | detail.Order_Inqty, |
| | | detail.Status, |
| | | detail.OrderDetailStatus, |
| | | detail.Exp_date,//ææ |
| | | |
| | | // ç©æä¿¡æ¯å段 |
| | | MaterielName = materiel?.MaterielName ?? "", |
| | | item = materiel?.item ?? "", // åå/éç¨å |
| | | MaterielSpec = materiel?.MaterielSpec ?? "", // ç©æè§æ ¼ |
| | | Factory = materiel?.Factory ?? "", // ç产åå®¶ |
| | | MaterielUnit = materiel?.MaterielUnit ?? "", // åºæ¬åä½ |
| | | MaterielStoragecondition = materiel?.MaterielStoragecondition, // å卿¡ä»¶/ææ |
| | | MaterielModel = materiel?.MaterielModel ?? "" // ç©æåå· |
| | | }; |
| | | }).ToList(); |
| | | int pageSize = 5; // æ¯é¡µæ¾ç¤º5æ¡ |
| | | var pagedResult = result |
| | | .Skip((pageNo - 1) * pageSize) |
| | | .Take(pageSize) |
| | | .ToList(); |
| | | content.OK(data: pagedResult); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | content.Error(ex.Message); |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// Padå
¥åºå®æ |
| | |
| | | if (cabinOrderDetail.Order_Inqty > cabinOrderDetail.Order_qty) |
| | | return WebResponseContent.Instance.Error($"å
¥åºæ°éä¸å¯è¶
åºåæ®æ°é"); |
| | | //å¤§ä»¶åºæ´ç®±æ ¡éª |
| | | if (warehouseCode == WarehouseEnum.大件åº.ObjToInt().ToString("000")) |
| | | { |
| | | if (warehouseCode == WarehouseEnum.大件åº.ObjToInt().ToString("000")&& (materielInfo.MaterielSourceType==MaterielSourceTypeEnum.SelfMadePart)) |
| | | { |
| | | var BoxRule = materielInfo.BoxQty; |
| | | if (BoxRule > 0 && Inqty % BoxRule != 0) |
| | | { |
| | |
| | | if (order.warehouse_no == WareCodeMJ || order.warehouse_no == WareCodeLD) |
| | | { |
| | | |
| | | List<Dt_Inventory_Batch> inventory_Batchs = _inventory_BatchServices.Repository.QueryData(x => codes.Contains(x.MaterielCode)); |
| | | List<Dt_InventoryInfo> _InventoryInfos = _inventoryInfoService.Repository.QueryData(x => codes.Contains(x.MaterielCode)); |
| | | List<Dt_Inventory_Batch> inventory_Batchs = _inventory_BatchServices.Repository.QueryData(x => codes.Contains(x.MaterielCode)).ToList(); |
| | | List<Dt_InventoryInfo> _InventoryInfos = _inventoryInfoService.Repository.QueryData(x => codes.Contains(x.MaterielCode)).ToList(); |
| | | #region åºåãåºåæ¹æ¬¡å¹³è´¦ |
| | | foreach (var item in order.details) |
| | | { |
| | | //æ¾åºåæ¹æ¬¡ä¿¡æ¯ |
| | | Dt_Inventory_Batch inventory_Batch = inventory_Batchs.Where(x => x.MaterielCode == item.goods_no && x.BatchNo == item.batch_num).First(); |
| | | Dt_Inventory_Batch inventory_Batch = inventory_Batchs.Where(x => x.MaterielCode == item.goods_no && x.BatchNo == item.batch_num).FirstOrDefault(); |
| | | if (inventory_Batch==null) |
| | | { |
| | | _messageInfoService.AddMessageInfo(MessageGroupByEnum.InOrderAlarm, "ERPæ¥æ¥æº¢å
¥åºé误", $"ççå
¥åºåã{order.order_no}ãç©æç¼å·ã{item.goods_no}ãç©ææ¹æ¬¡ã{item.batch_num}ãçç©ææ¹æ¬¡ä¿¡æ¯é误"); |
| | | throw new Exception($"ççå
¥åºåã{order.order_no}ãç©æç¼å·ã{item.goods_no}ãç©ææ¹æ¬¡ã{item.batch_num}ãçç©ææ¹æ¬¡ä¿¡æ¯é误"); |
| | | } |
| | | if (inventory_Batch.SupplyQuantity != item.order_qty) |
| | | { |
| | | _messageInfoService.AddMessageInfo(MessageGroupByEnum.InOrderAlarm, "ERPæ¥æ¥æº¢å
¥åºé误", $"ççå
¥åºåã{order.order_no}ãç©æç¼å·ã{item.goods_no}ãç©ææ¹æ¬¡ã{item.batch_num}ãçççæ°éæè¯¯"); |
| | | throw new Exception($"ççå
¥åºåã{order.order_no}ãç©æç¼å·ã{item.goods_no}ãç©ææ¹æ¬¡ã{item.batch_num}ãçççæ°éæè¯¯"); |
| | | throw new Exception($"ççå
¥åºåã{order.order_no}ãç©æç¼å·ã{item.goods_no}ãç©ææ¹æ¬¡ã{item.batch_num}ãççççæ°éæè¯¯"); |
| | | } |
| | | //æ¾ææåºå |
| | | List<Dt_InventoryInfo> inventoryInfos = _InventoryInfos.Where(x => x.MaterielCode == inventory_Batch.MaterielCode && x.BatchNo == inventory_Batch.BatchNo).ToList(); |
| | |
| | | foreach (var item in order.details) |
| | | { |
| | | //æ¾åºåæ¹æ¬¡ä¿¡æ¯ |
| | | Dt_Inventory_Batch inventory_Batch = inventory_Batchs.Where(x => x.MaterielCode == item.goods_no && x.BatchNo == item.batch_num).First(); |
| | | Dt_Inventory_Batch inventory_Batch = inventory_Batchs.Where(x => x.MaterielCode == item.goods_no && x.BatchNo == item.batch_num).FirstOrDefault(); |
| | | if (inventory_Batch == null) |
| | | { |
| | | _messageInfoService.AddMessageInfo(MessageGroupByEnum.InOrderAlarm, "ERPæ¥æ¥æº¢å
¥åºé误", $"ççå
¥åºåã{order.order_no}ãç©æç¼å·ã{item.goods_no}ãç©ææ¹æ¬¡ã{item.batch_num}ãçæ¹æ¬¡ä¿¡æ¯æ²¡ææ¾å°"); |
| | | throw new Exception($"ççå
¥åºåã{order.order_no}ãç©æç¼å·ã{item.goods_no}ãç©ææ¹æ¬¡ã{item.batch_num}ãçæ¹æ¬¡ä¿¡æ¯é误"); |
| | | } |
| | | var Qty = Math.Abs(inventory_Batch.SupplyQuantity); |
| | | if (Qty != item.order_qty) |
| | | { |
| | |
| | | } |
| | | else |
| | | { |
| | | var url = "http://121.37.118.63:80/GYZ2/95fck/outOrderOk"; |
| | | if (cabinOrder.Order_type == "2") url = "http://121.37.118.63:80/GYZ2/95fck/outOrderOk"; |
| | | var url = "http://192.168.1.100:80/GYZ2/95fck/outOrderOk"; |
| | | if (cabinOrder.Order_type == "2") url = "http://192.168.1.100:80/GYZ2/95fck/outOrderOk"; |
| | | var requestDate = new |
| | | { |
| | | order_no = cabinOrder.Order_no |