Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }