public static List <Transformer> ConvertInspectDetailToTransformer(IList <InspectOrderDetail> inspectOrderDetailList) { List <Transformer> transformerList = new List <Transformer>(); if (inspectOrderDetailList != null && inspectOrderDetailList.Count > 0) { foreach (InspectOrderDetail inspectDetail in inspectOrderDetailList) { bool isExist = false; foreach (Transformer transformer in transformerList) { if (inspectDetail.LocationLotDetail.Item.Code == transformer.ItemCode && inspectDetail.LocationFrom.Code == transformer.LocationFromCode && inspectDetail.LocationTo.Code == transformer.LocationToCode) { TransformerDetail transformerDetail = ConvertInspectDetailToTransformerDetail(inspectDetail); transformer.AddTransformerDetail(transformerDetail); transformer.Qty += transformerDetail.Qty; isExist = true; break; } } if (!isExist) { Transformer transformer = new Transformer(); transformer.Id = inspectDetail.Id; transformer.ItemCode = inspectDetail.LocationLotDetail.Item.Code; transformer.ItemDescription = inspectDetail.LocationLotDetail.Item.Description; if (inspectDetail.LocationLotDetail.Hu != null) { transformer.UomCode = inspectDetail.LocationLotDetail.Hu.Uom.Code; transformer.UnitCount = inspectDetail.LocationLotDetail.Hu.UnitCount; } else { transformer.UomCode = inspectDetail.LocationLotDetail.Item.Uom.Code; transformer.UnitCount = inspectDetail.LocationLotDetail.Item.UnitCount; } transformer.LocationFromCode = inspectDetail.LocationFrom.Code; transformer.LocationToCode = inspectDetail.LocationTo.Code; transformer.Qty = inspectDetail.InspectedQty; transformer.CurrentQty = 0; if (inspectDetail.LocationLotDetail.Hu != null || inspectDetail.LocationLotDetail.LotNo != null) { transformer.AddTransformerDetail(ConvertInspectDetailToTransformerDetail(inspectDetail)); } transformerList.Add(transformer); } } } ProcessTransformer(transformerList); return(transformerList); }
public static List <Transformer> ConvertPickListDetailsToTransformers(IList <PickListDetail> pickListDetailList) { List <Transformer> transformerList = new List <Transformer>(); if (pickListDetailList != null && pickListDetailList.Count > 0) { foreach (PickListDetail pickListDetail in pickListDetailList) { if (pickListDetail.LotNo != null && pickListDetail.LotNo != string.Empty)//备料不足的不显示 { bool isExist = false; string pickListDetailStorageBinCode = pickListDetail.StorageBin == null ? string.Empty : pickListDetail.StorageBin.Code; foreach (Transformer transformer in transformerList) { string transformerStorageBinCode = transformer.StorageBinCode == null ? string.Empty : transformer.StorageBinCode; if (pickListDetailStorageBinCode == transformerStorageBinCode && //(pickListDetail.OrderLocationTransaction.Id == transformer.OrderLocTransId) pickListDetail.Item.Code == transformer.ItemCode && pickListDetail.LotNo == transformer.LotNo &&//按LotNo汇总,以后可能需要考虑按Hu汇总 pickListDetail.OrderLocationTransaction.Id == transformer.OrderLocTransId) //按订单汇总 { TransformerDetail transformerDetail = ConvertPickListDetailToTransformerDetail(pickListDetail); transformer.AddTransformerDetail(transformerDetail); transformer.Qty += transformerDetail.Qty; isExist = true; break; } } if (!isExist) { Transformer transformer = ConvertOrderLocationTransactionToTransformer(pickListDetail.OrderLocationTransaction); transformer.Id = pickListDetail.Id; //transformer.Qty = pickListDetail.Qty; transformer.StorageBinCode = pickListDetail.StorageBin == null ? string.Empty : pickListDetail.StorageBin.Code; transformer.LotNo = pickListDetail.LotNo; //transformer.CurrentQty = if (pickListDetail.HuId != null || pickListDetail.LotNo != null) { TransformerDetail transformerDetail = ConvertPickListDetailToTransformerDetail(pickListDetail); transformer.AddTransformerDetail(transformerDetail); transformer.Qty = transformerDetail.Qty; } transformerList.Add(transformer); } } } } ProcessTransformer(transformerList); return(transformerList); }
public static List <Transformer> ConvertReceiptToTransformer(IList <ReceiptDetail> receiptDetailList) { List <Transformer> transformerList = new List <Transformer>(); if (receiptDetailList != null && receiptDetailList.Count > 0) { foreach (ReceiptDetail receiptDetail in receiptDetailList) { bool isExist = false; foreach (Transformer transformer in transformerList) { if (receiptDetail.OrderLocationTransaction.Id == transformer.OrderLocTransId) { TransformerDetail transformerDetail = ConvertReceiptToTransformerDetail(receiptDetail); //transformer.AddTransformerDetail(transformerDetail); if (receiptDetail.HuId != null || receiptDetail.LotNo != null) { transformer.AddTransformerDetail(transformerDetail); transformer.Qty += transformerDetail.Qty; transformer.CurrentQty += transformerDetail.CurrentQty; } transformer.AdjustQty = transformer.Qty; isExist = true; break; } } if (!isExist) { Transformer transformer = ConvertOrderLocationTransactionToTransformer(receiptDetail.OrderLocationTransaction); transformer.Qty = receiptDetail.ShippedQty.HasValue ? receiptDetail.ShippedQty.Value : 0; transformer.CurrentQty = receiptDetail.ReceivedQty.HasValue ? receiptDetail.ReceivedQty.Value : 0; transformer.AdjustQty = transformer.CurrentQty; if (receiptDetail.HuId != null || receiptDetail.LotNo != null) { transformer.AddTransformerDetail(ConvertReceiptToTransformerDetail(receiptDetail)); } transformerList.Add(transformer); } } } ProcessTransformer(transformerList); return(transformerList); }
public static List <Transformer> ConvertPickListResultToTransformer(IList <PickListResult> pickListResultList) { List <Transformer> transformerList = new List <Transformer>(); if (pickListResultList != null && pickListResultList.Count > 0) { foreach (PickListResult pickListResult in pickListResultList) { bool isExist = false; foreach (Transformer transformer in transformerList) { if (pickListResult.PickListDetail.OrderLocationTransaction.Id == transformer.OrderLocTransId) { TransformerDetail transformerDetail = ConvertPickListResultToTransformerDetail(pickListResult); transformer.AddTransformerDetail(transformerDetail); transformer.Qty += transformerDetail.Qty; isExist = true; break; } } if (!isExist) { Transformer transformer = ConvertOrderLocationTransactionToTransformer(pickListResult.PickListDetail.OrderLocationTransaction); transformer.Qty = pickListResult.Qty / pickListResult.PickListDetail.OrderLocationTransaction.UnitQty; transformer.CurrentQty = transformer.Qty;//单位换算 if (pickListResult.PickListDetail.HuId != null || pickListResult.PickListDetail.LotNo != null) { transformer.AddTransformerDetail(ConvertPickListResultToTransformerDetail(pickListResult)); } transformerList.Add(transformer); } } } ProcessTransformer(transformerList); return(transformerList); }
public static Transformer ConvertInspectOrderToTransformer(InspectOrder inspectOrder) { Transformer transformer = new Transformer(); foreach (InspectOrderDetail inspectDetail in inspectOrder.InspectOrderDetails) { TransformerDetail transformerDetail = new TransformerDetail(); transformerDetail.QualifiedQty = inspectDetail.QualifiedQty.HasValue ? inspectDetail.QualifiedQty.Value : 0; transformerDetail.RejectedQty = inspectDetail.RejectedQty.HasValue ? inspectDetail.RejectedQty.Value : 0; transformerDetail.CurrentQty = 0; transformerDetail.CurrentRejectQty = 0; transformerDetail.HuId = inspectOrder.IsDetailHasHu ? inspectDetail.LocationLotDetail.Hu.HuId : null; transformerDetail.Id = inspectDetail.Id; transformerDetail.ItemCode = inspectDetail.LocationLotDetail.Item.Code; transformerDetail.ItemDescription = inspectDetail.LocationLotDetail.Item.Description; transformerDetail.LocationCode = inspectDetail.LocationFrom.Code; transformerDetail.LocationLotDetId = inspectDetail.LocationLotDetail.Id; transformerDetail.LotNo = inspectDetail.LocationLotDetail.LotNo; if (inspectDetail.LocationLotDetail.Hu != null) { transformerDetail.Qty = inspectDetail.InspectQty / inspectDetail.LocationLotDetail.Hu.UnitQty; transformerDetail.UomCode = inspectDetail.LocationLotDetail.Hu.Uom.Code; transformerDetail.UnitCount = inspectDetail.LocationLotDetail.Hu.UnitCount; } else { transformerDetail.Qty = inspectDetail.InspectQty; transformerDetail.UomCode = inspectDetail.LocationLotDetail.Item.Uom.Code; transformerDetail.UnitCount = inspectDetail.LocationLotDetail.Item.UnitCount; } transformerDetail.LocationFromCode = inspectDetail.LocationFrom.Code; transformerDetail.LocationToCode = inspectDetail.LocationTo.Code; transformer.AddTransformerDetail(transformerDetail); } return(transformer); }
public static List <Transformer> ConvertInProcessLocationDetailsToTransformers(IList <InProcessLocationDetail> inProcessLocationDetailList) { List <Transformer> transformerList = new List <Transformer>(); if (inProcessLocationDetailList != null && inProcessLocationDetailList.Count > 0) { foreach (InProcessLocationDetail inProcessLocationDetail in inProcessLocationDetailList) { bool isExist = false; foreach (Transformer transformer in transformerList) { //按OrderLocTransId还是按Item汇总? if (inProcessLocationDetail.OrderLocationTransaction.Id == transformer.OrderLocTransId) { TransformerDetail transformerDetail = ConvertInProcessLocationDetailToTransformerDetail(inProcessLocationDetail); transformer.AddTransformerDetail(transformerDetail); transformer.Qty += transformerDetail.Qty; isExist = true; break; } } if (!isExist) { Transformer transformer = ConvertOrderLocationTransactionToTransformer(inProcessLocationDetail.OrderLocationTransaction); if (inProcessLocationDetail.InProcessLocation.Status == null) { transformer.Qty = inProcessLocationDetail.QtyToShip; transformer.CurrentQty = inProcessLocationDetail.Qty; } else if (inProcessLocationDetail.InProcessLocation.Status == BusinessConstants.CODE_MASTER_STATUS_VALUE_CREATE) { transformer.Qty = inProcessLocationDetail.Qty; transformer.CurrentQty = inProcessLocationDetail.Qty; } else if (inProcessLocationDetail.InProcessLocation.Status == BusinessConstants.CODE_MASTER_STATUS_VALUE_INPROCESS) { transformer.Qty = inProcessLocationDetail.Qty; if (inProcessLocationDetail.ReceivedQty.HasValue) { if (inProcessLocationDetail.Qty > inProcessLocationDetail.ReceivedQty.Value) { transformer.CurrentQty = inProcessLocationDetail.Qty - inProcessLocationDetail.ReceivedQty.Value; } else { transformer.CurrentQty = 0; } } else { transformer.CurrentQty = inProcessLocationDetail.Qty; } } else if (inProcessLocationDetail.InProcessLocation.Status == BusinessConstants.CODE_MASTER_STATUS_VALUE_CLOSE) { transformer.Qty = inProcessLocationDetail.Qty; transformer.CurrentQty = inProcessLocationDetail.Qty; } if (inProcessLocationDetail.HuId != null || inProcessLocationDetail.LotNo != null) { transformer.AddTransformerDetail(ConvertInProcessLocationDetailToTransformerDetail(inProcessLocationDetail)); } transformerList.Add(transformer); } } } ProcessTransformer(transformerList); return(transformerList); }