| | |
| | | { |
| | | return content.Error("åæ°é误"); |
| | | } |
| | | var info = await BaseDal.QueryFirstAsync(x => x.PalletCode == groupPlate.palletCode); |
| | | if (!info.IsNullOrEmpty()) |
| | | var infos = await BaseDal.QueryFirstNavAsync(x => x.PalletCode == groupPlate.palletCode); |
| | | if (!infos.IsNullOrEmpty()) |
| | | { |
| | | //content.Error("该æçå·²åå¨ç»ç"); |
| | | info.StockStatus = (int)StockStateEmun.ç»çæ¤é; |
| | | DtBoxingInfo_Hty stockhty = info.Adapt<DtBoxingInfo_Hty>(); |
| | | infos.StockStatus = (int)StockStateEmun.ç»çæ¤é; |
| | | DtBoxingInfo_Hty stockhty = infos.Adapt<DtBoxingInfo_Hty>(); |
| | | stockhty.ModifyDate = DateTime.Now; |
| | | |
| | | List<DtBoxingInfoDetail> details = new List<DtBoxingInfoDetail>(); |
| | | foreach (var item in groupPlate.groups) |
| | | { |
| | | var InboundOrder = _inboundOrderRepository.QueryFirst(x => x.OrderNo == item.orderNo); |
| | | |
| | | if (InboundOrder != null) |
| | | foreach (var info in infos.BoxingInfoDetails) |
| | | { |
| | | var x = details.Where(x => x.MaterielCode == InboundOrder.MaterialNo && x.Warehouse == InboundOrder.WarehouseName && x.DrawingNumber == InboundOrder.ProductDrawingNumber && x.DemandClassification == InboundOrder.DemandClassification).FirstOrDefault(); |
| | | if (x != null) |
| | | if (item.orderNo == info.OrderNo) |
| | | { |
| | | details.Remove(x); |
| | | x.MaterielCode = InboundOrder.MaterialNo; |
| | | x.MaterielName = InboundOrder.MaterialName; |
| | | x.DemandClassification = InboundOrder.DemandClassification; |
| | | x.Warehouse = InboundOrder.WarehouseName; |
| | | x.OrderNo = InboundOrder.UpperOrderNo; |
| | | x.Unit = InboundOrder.Unit; |
| | | x.WareHouseId = InboundOrder.WareHouseId; |
| | | x.Specs = InboundOrder.Specs; |
| | | x.Weight = InboundOrder.Weight; |
| | | x.Quantity = x.Quantity + item.quantity; |
| | | x.DrawingNumber = InboundOrder.ProductDrawingNumber; |
| | | x.Date = InboundOrder.Datetime; |
| | | details.Add(x); |
| | | var x = details.Where(x => x.MaterielCode == info.MaterielCode && x.Warehouse == info.Warehouse && x.DrawingNumber == info.DrawingNumber && x.DemandClassification == info.DemandClassification && x.Quantity != info.Quantity).FirstOrDefault(); |
| | | if(x != null) |
| | | { |
| | | details.Remove(x); |
| | | x.MaterielCode = info.MaterielCode; |
| | | x.MaterielName = info.MaterielName; |
| | | x.DemandClassification = info.DemandClassification; |
| | | x.Warehouse = info.Warehouse; |
| | | x.OrderNo = info.OrderNo; |
| | | x.Unit = info.Unit; |
| | | x.WareHouseId = info.WareHouseId; |
| | | x.Specs = info.Specs; |
| | | x.Weight = info.Weight; |
| | | x.Quantity = x.Quantity + item.quantity; |
| | | x.DrawingNumber = info.DrawingNumber; |
| | | x.Date = info.Date; |
| | | details.Add(x); |
| | | } |
| | | else |
| | | { |
| | | DtBoxingInfoDetail detail = new DtBoxingInfoDetail() |
| | | { |
| | | MaterielCode = info.MaterielCode, |
| | | MaterielName = info.MaterielName, |
| | | DemandClassification = info.DemandClassification, |
| | | Warehouse = info.Warehouse, |
| | | OrderNo = info.OrderNo, |
| | | Unit = info.Unit, |
| | | Specs = info.Specs, |
| | | Weight = info.Weight, |
| | | WareHouseId = info.WareHouseId, |
| | | Quantity = item.quantity, |
| | | DrawingNumber = info.DrawingNumber, |
| | | Date = info.Date, |
| | | }; |
| | | details.Add(detail); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | DtBoxingInfoDetail detail = new DtBoxingInfoDetail() |
| | | var InboundOrder = _inboundOrderRepository.QueryFirst(x => x.OrderNo == item.orderNo); |
| | | |
| | | if (InboundOrder != null) |
| | | { |
| | | MaterielCode = InboundOrder.MaterialNo, |
| | | MaterielName = InboundOrder.MaterialName, |
| | | DemandClassification = InboundOrder.DemandClassification, |
| | | Warehouse = InboundOrder.WarehouseName, |
| | | OrderNo = InboundOrder.UpperOrderNo, |
| | | Unit = InboundOrder.Unit, |
| | | Specs = InboundOrder.Specs, |
| | | Weight = InboundOrder.Weight, |
| | | WareHouseId = InboundOrder.WareHouseId, |
| | | Quantity = item.quantity, |
| | | DrawingNumber = InboundOrder.ProductDrawingNumber, |
| | | Date = InboundOrder.Datetime, |
| | | }; |
| | | details.Add(detail); |
| | | var x = details.Where(x => x.MaterielCode == InboundOrder.MaterialNo && x.Warehouse == InboundOrder.WarehouseName && x.DrawingNumber == InboundOrder.ProductDrawingNumber && x.DemandClassification == InboundOrder.DemandClassification).FirstOrDefault(); |
| | | if (x != null) |
| | | { |
| | | details.Remove(x); |
| | | x.MaterielCode = InboundOrder.MaterialNo; |
| | | x.MaterielName = InboundOrder.MaterialName; |
| | | x.DemandClassification = InboundOrder.DemandClassification; |
| | | x.Warehouse = InboundOrder.WarehouseName; |
| | | x.OrderNo = InboundOrder.UpperOrderNo; |
| | | x.Unit = InboundOrder.Unit; |
| | | x.WareHouseId = InboundOrder.WareHouseId; |
| | | x.Specs = InboundOrder.Specs; |
| | | x.Weight = InboundOrder.Weight; |
| | | x.Quantity = x.Quantity + item.quantity; |
| | | x.DrawingNumber = InboundOrder.ProductDrawingNumber; |
| | | x.Date = InboundOrder.Datetime; |
| | | details.Add(x); |
| | | } |
| | | else |
| | | { |
| | | DtBoxingInfoDetail detail = new DtBoxingInfoDetail() |
| | | { |
| | | MaterielCode = InboundOrder.MaterialNo, |
| | | MaterielName = InboundOrder.MaterialName, |
| | | DemandClassification = InboundOrder.DemandClassification, |
| | | Warehouse = InboundOrder.WarehouseName, |
| | | OrderNo = InboundOrder.UpperOrderNo, |
| | | Unit = InboundOrder.Unit, |
| | | Specs = InboundOrder.Specs, |
| | | Weight = InboundOrder.Weight, |
| | | WareHouseId = InboundOrder.WareHouseId, |
| | | Quantity = item.quantity, |
| | | DrawingNumber = InboundOrder.ProductDrawingNumber, |
| | | Date = InboundOrder.Datetime, |
| | | }; |
| | | details.Add(detail); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | return content.Error("æªæ¾å°å
¥åºåæ®ä¿¡æ¯"); |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | return content.Error("æªæ¾å°å
¥åºåæ®ä¿¡æ¯"); |
| | | } |
| | | } |
| | | DtBoxingInfo boxing = new DtBoxingInfo() |
| | |
| | | }; |
| | | await _unitOfWorkManage.UseTranAsync(async () => |
| | | { |
| | | await BaseDal.Db.DeleteNav<DtBoxingInfo>(x => x.Id == info.Id) |
| | | await BaseDal.Db.DeleteNav<DtBoxingInfo>(x => x.Id == infos.Id) |
| | | .Include(x => x.BoxingInfoDetails) |
| | | .ExecuteCommandAsync(); |
| | | await AddStockHtyAsync(stockhty); |