| | |
| | | try |
| | | { |
| | | List<Dt_DeliveryOrder> deliveryOrders = new List<Dt_DeliveryOrder>(); |
| | | List<Dt_SupplyTask> supplyTasks = new List<Dt_SupplyTask>(); |
| | | //List<Dt_SupplyTask> supplyTasks = new List<Dt_SupplyTask>(); |
| | | List<Dt_SupplyTask> supplyTasks1 = new List<Dt_SupplyTask>(); |
| | | List<Dt_InventoryInfo> _InventoryInfos = new List<Dt_InventoryInfo>(); |
| | | List<Dt_Inventory_Batch> inventory_Batches = _inventory_BatchServices.Repository.QueryData(x => keys.Contains(x.Id)); |
| | | foreach (var item in inventory_Batches) |
| | | { |
| | | supplyTasks = _supplyTaskService.Repository.QueryData(x => x.MaterielCode == item.MaterielCode && x.BatchNo == item.BatchNo && x.TaskStatus == SupplyStatusEnum.NewCheck.ObjToInt()).ToList(); |
| | | var supplyTasks = _supplyTaskService.Repository.QueryData(x => x.MaterielCode == item.MaterielCode && x.BatchNo == item.BatchNo && x.TaskStatus == SupplyStatusEnum.NewCheck.ObjToInt()).ToList(); |
| | | if (supplyTasks.Count > 0) throw new Exception($"ç©æç¼å·ã{item.MaterielCode}ãæ¹æ¬¡å·ã{item.BatchNo}ãå·²åå¨çç¹ä»»å¡ï¼è¯·å
宿å½åçç¹ä»»å¡"); |
| | | supplyTasks = _supplyTaskService.Repository.QueryData(x => x.MaterielCode == item.MaterielCode && x.BatchNo == item.BatchNo && x.TaskStatus == SupplyStatusEnum.NewOut.ObjToInt()).ToList(); |
| | | if (supplyTasks.Count > 0) throw new Exception($"ç©æç¼å·ã{item.MaterielCode}ãæ¹æ¬¡å·ã{item.BatchNo}ãå·²åå¨çç¹ä»»å¡ï¼è¯·å
宿å½åçç¹ä»»å¡"); |
| | | List<Dt_InventoryInfo> inventoryInfos = _inventoryInfoService.Repository.QueryData(x => item.MaterielCode == x.MaterielCode && x.BatchNo == item.BatchNo); |
| | | if (inventoryInfos.Count > 0) |
| | |
| | | deliveryOrder.Details.Add(deliveryOrderDetail); |
| | | deliveryOrders.Add(deliveryOrder); |
| | | #region å建çç¹ä»»å¡ |
| | | //if (items.Key != "001")// éç«åºåºåéè¦å建çç¹ä»»å¡ |
| | | //{ |
| | | foreach (var inventory in items) |
| | | { |
| | | Dt_SupplyTask supplyTask = new Dt_SupplyTask() |
| | |
| | | SupplyQuantity = 0, |
| | | Remark = "çç¹" |
| | | }; |
| | | supplyTasks.Add(supplyTask); |
| | | supplyTasks1.Add(supplyTask); |
| | | _InventoryInfos.Add(inventory); |
| | | } |
| | | //} |
| | |
| | | }); |
| | | _unitOfWorkManage.BeginTran(); |
| | | _inventoryInfoService.UpdateData(_InventoryInfos); |
| | | _supplyTaskService.AddData(supplyTasks); |
| | | _supplyTaskService.AddData(supplyTasks1); |
| | | BaseDal.Db.InsertNav(deliveryOrders) |
| | | .Include(x => x.Details) |
| | | .ExecuteCommand(); |
| | |
| | | if (cabinOrder == null) return WebResponseContent.Instance.Error($"çç¹å已宿"); |
| | | Dt_DeliveryOrderDetail cabinOrderDetail = cabinOrder.Details.Where(x => x.Batch_num == supplyTask.BatchNo && x.Reservoirarea == supplyTask.WarehouseCode && x.Goods_no == supplyTask.MaterielCode).First(); |
| | | if (cabinOrderDetail == null) return WebResponseContent.Instance.Error($"çç¹åæç»å·²å®æ"); |
| | | Dt_MaterielInfo materielInfo = _basicService.MaterielInfoService.Repository.QueryFirst(x => x.MaterielCode == cabinOrderDetail.Goods_no); |
| | | Dt_MaterielInfo materielInfo = _materielInfoService.Repository.QueryFirst(x => x.MaterielCode == cabinOrderDetail.Goods_no); |
| | | if (materielInfo == null) return WebResponseContent.Instance.Error($"请维æ¤ç©æç¼å·ã{cabinOrderDetail.Goods_no}ãçç©æä¿¡æ¯"); |
| | | cabinOrderDetail.Order_Outqty += supplyTask.SupplyQuantity; |
| | | #region å¹³åºçç¹åªè½åºç°æ´ç®±å·®å¼ |
| | | if (supplyTask.WarehouseCode == WarehouseEnum.大件åº.ObjToInt().ToString()) |
| | | if (supplyTask.WarehouseCode == WarehouseEnum.大件åº.ObjToInt().ToString("000")) |
| | | { |
| | | var Qty = supplyTask.SupplyQuantity % materielInfo.BoxQty; |
| | | if (Qty != 0) return WebResponseContent.Instance.Error($"大件åºåºå为æ´ç®±ï¼çç¹æ°éä¸è½å卿£ä»¶"); |
| | |
| | | { |
| | | #region æ¥æ¾åºå |
| | | var inventoryInfos = _inventoryInfoService.Repository.QueryData(x => x.BatchNo == cabinOrderDetail.Batch_num && x.MaterielCode == cabinOrderDetail.Goods_no); |
| | | var SupplyQuantitys = inventoryInfos.Select(x => x.SupplyQuantity).ToList().Sum(); |
| | | var SupplyQuantitys = inventoryInfos.Sum(x => x.SupplyQuantity); |
| | | #endregion |
| | | |
| | | #region åºåæ¹æ¬¡ |
| | | Dt_Inventory_Batch inventory_Batch = _inventory_BatchServices.Repository.QueryFirst(x => x.BatchNo == cabinOrderDetail.Batch_num && x.MaterielCode == cabinOrderDetail.Goods_no); |
| | | //妿çç¹æ°åæ¹æ¬¡æ»æ°å¯¹ä¸äºï¼çç¹æ°èµå¼ä¸º0ï¼èµå¼å°±æ·»å çç¹æ° |
| | | if (SupplyQuantitys == inventory_Batch.StockQuantity) |
| | | { |
| | | foreach (var item in inventoryInfos) |