// 得到调入单dto
        /// <summary>
        /// 得到调入单dto
        /// </summary>
        /// <param name="bpObj"></param>
        /// <returns></returns>
        private System.Collections.Generic.List<ISV.TransferInISV.IC_TransferInDTOData> GetTransferInDTOList(CreateApprovedTransferInSV bpObj)
        {
            System.Collections.Generic.List<ISV.TransferInISV.IC_TransferInDTOData> list = new System.Collections.Generic.List<ISV.TransferInISV.IC_TransferInDTOData>();
            System.Collections.Generic.Dictionary<string, System.Collections.Generic.List<TransInLineDTO>> dic = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.List<TransInLineDTO>>();
            foreach (TransInLineDTO dtoline in bpObj.TransferInLineDTOList)
            {
                if (!dic.ContainsKey(dtoline.SpitOrderFlag))
                {
                    dic.Add(dtoline.SpitOrderFlag, new System.Collections.Generic.List<TransInLineDTO>());
                }
                dic[dtoline.SpitOrderFlag].Add(dtoline);
            }
            foreach (string key in dic.Keys)
            {
                List<TransInLineDTO> listLineDTO = dic[key];

                if (listLineDTO != null
                    && listLineDTO.Count > 0
                    )
                {
                    TransInLineDTO firstDTO = listLineDTO.GetFirst<TransInLineDTO>();

                    ISV.TransferInISV.IC_TransferInDTOData transindto = new ISV.TransferInISV.IC_TransferInDTOData();
                    transindto.TransInDocType = (new CommonArchiveDataDTOData());
                    if (firstDTO.OperationType == 1)
                    {
                        transindto.TransInDocType.Code = ("MoveWH");
                    }
                    else if (firstDTO.OperationType == 2)
                    {
                        transindto.TransInDocType.Code = ("CarOutWH");
                    }
                    transindto.CreatedBy = (Context.LoginUser);
                    transindto.CreatedOn = (System.DateTime.Now);
                    transindto.ModifiedBy = (Context.LoginUser);
                    transindto.ModifiedOn = (System.DateTime.Now);
                    transindto.DescFlexField = (new DescFlexSegmentsData());
                    transindto.DescFlexField.PrivateDescSeg4 = (firstDTO.TransDocNo);
                    transindto.TransInLines = (new System.Collections.Generic.List<ISV.TransferInISV.IC_TransInLineDTOData>());
                    foreach (TransInLineDTO linedto in listLineDTO)
                    {
                        ISV.TransferInISV.IC_TransInLineDTOData transinlinedto = new ISV.TransferInISV.IC_TransInLineDTOData();
                        transinlinedto.ItemInfo = (new ItemInfoData());
                        transinlinedto.ItemInfo.ItemCode = (linedto.ItemMaster);
                        transinlinedto.TransInWh = (new CommonArchiveDataDTOData());
                        transinlinedto.TransInWh.Code = (linedto.WhIn);
                        Warehouse whin = Warehouse.Finder.Find(string.Format("Org={0} and Code='{1}'", Context.LoginOrg.ID.ToString(), linedto.WhIn), new OqlParam[0]);
                        if (whin != null)
                        {
                            transinlinedto.StorageType = (whin.StorageType.Value);
                        }
                        else
                        {
                            transinlinedto.StorageType = (4);
                        }
                        transinlinedto.StoreUOMQty = (linedto.Number);
                        transinlinedto.CostCurrency = (new CommonArchiveDataDTOData());
                        transinlinedto.CostCurrency.Code = (linedto.Currency);
                        transinlinedto.DescFlexSegments = (new DescFlexSegmentsData());
                        transinlinedto.DescFlexSegments.PubDescSeg12 = (linedto.VIN);
                        transinlinedto.Project = (new CommonArchiveDataDTOData());
                        transinlinedto.Project.Code = (linedto.TransDocNo);
                        transinlinedto.TransInSubLines = (new System.Collections.Generic.List<ISV.TransferInISV.IC_TransInSubLineDTOData>());
                        ISV.TransferInISV.IC_TransInSubLineDTOData sublinedto = new ISV.TransferInISV.IC_TransInSubLineDTOData();
                        sublinedto.TransOutWh = (new CommonArchiveDataDTOData());
                        sublinedto.TransOutWh.Code = (linedto.WhOut);
                        sublinedto.Project = (new CommonArchiveDataDTOData());
                        sublinedto.Project.Code = (linedto.TransDocNo);
                        Warehouse whout = Warehouse.Finder.Find(string.Format("Org={0} and Code='{1}'", Context.LoginOrg.ID.ToString(), linedto.WhOut), new OqlParam[0]);
                        if (whout != null)
                        {
                            sublinedto.StorageType = (whout.StorageType.Value);
                        }
                        else
                        {
                            sublinedto.StorageType = (4);
                        }
                        transinlinedto.TransInSubLines.Add(sublinedto);
                        transindto.TransInLines.Add(transinlinedto);
                    }
                    list.Add(transindto);
                }
            }
            return list;
        }
Beispiel #2
0
        // 得到调入单dto
        /// <summary>
        /// 得到调入单dto
        /// </summary>
        /// <param name="bpObj"></param>
        /// <returns></returns>
        private System.Collections.Generic.List <ISV.TransferInISV.IC_TransferInDTOData> GetTransferInDTOList(CreateApprovedTransferInSV bpObj)
        {
            System.Collections.Generic.List <ISV.TransferInISV.IC_TransferInDTOData> list = new System.Collections.Generic.List <ISV.TransferInISV.IC_TransferInDTOData>();
            System.Collections.Generic.Dictionary <string, System.Collections.Generic.List <TransInLineDTO> > dic = new System.Collections.Generic.Dictionary <string, System.Collections.Generic.List <TransInLineDTO> >();
            foreach (TransInLineDTO dtoline in bpObj.TransferInLineDTOList)
            {
                if (!dic.ContainsKey(dtoline.SpitOrderFlag))
                {
                    dic.Add(dtoline.SpitOrderFlag, new System.Collections.Generic.List <TransInLineDTO>());
                }
                dic[dtoline.SpitOrderFlag].Add(dtoline);
            }
            foreach (string key in dic.Keys)
            {
                List <TransInLineDTO> listLineDTO = dic[key];

                if (listLineDTO != null &&
                    listLineDTO.Count > 0
                    )
                {
                    TransInLineDTO firstDTO = listLineDTO.GetFirst <TransInLineDTO>();

                    ISV.TransferInISV.IC_TransferInDTOData transindto = new ISV.TransferInISV.IC_TransferInDTOData();
                    transindto.TransInDocType = (new CommonArchiveDataDTOData());
                    if (firstDTO.OperationType == 1)
                    {
                        transindto.TransInDocType.Code = ("MoveWH");
                    }
                    else if (firstDTO.OperationType == 2)
                    {
                        transindto.TransInDocType.Code = ("CarOutWH");
                    }
                    transindto.CreatedBy     = (Context.LoginUser);
                    transindto.CreatedOn     = (System.DateTime.Now);
                    transindto.ModifiedBy    = (Context.LoginUser);
                    transindto.ModifiedOn    = (System.DateTime.Now);
                    transindto.DescFlexField = (new DescFlexSegmentsData());
                    transindto.DescFlexField.PrivateDescSeg4 = (firstDTO.TransDocNo);
                    transindto.TransInLines = (new System.Collections.Generic.List <ISV.TransferInISV.IC_TransInLineDTOData>());
                    foreach (TransInLineDTO linedto in listLineDTO)
                    {
                        ISV.TransferInISV.IC_TransInLineDTOData transinlinedto = new ISV.TransferInISV.IC_TransInLineDTOData();
                        transinlinedto.ItemInfo          = (new ItemInfoData());
                        transinlinedto.ItemInfo.ItemCode = (linedto.ItemMaster);
                        transinlinedto.TransInWh         = (new CommonArchiveDataDTOData());
                        transinlinedto.TransInWh.Code    = (linedto.WhIn);
                        Warehouse whin = Warehouse.Finder.Find(string.Format("Org={0} and Code='{1}'", Context.LoginOrg.ID.ToString(), linedto.WhIn), new OqlParam[0]);
                        if (whin != null)
                        {
                            transinlinedto.StorageType = (whin.StorageType.Value);
                        }
                        else
                        {
                            transinlinedto.StorageType = (4);
                        }
                        transinlinedto.StoreUOMQty                   = (linedto.Number);
                        transinlinedto.CostCurrency                  = (new CommonArchiveDataDTOData());
                        transinlinedto.CostCurrency.Code             = (linedto.Currency);
                        transinlinedto.DescFlexSegments              = (new DescFlexSegmentsData());
                        transinlinedto.DescFlexSegments.PubDescSeg12 = (linedto.VIN);
                        transinlinedto.Project         = (new CommonArchiveDataDTOData());
                        transinlinedto.Project.Code    = (linedto.TransDocNo);
                        transinlinedto.TransInSubLines = (new System.Collections.Generic.List <ISV.TransferInISV.IC_TransInSubLineDTOData>());
                        ISV.TransferInISV.IC_TransInSubLineDTOData sublinedto = new ISV.TransferInISV.IC_TransInSubLineDTOData();
                        sublinedto.TransOutWh      = (new CommonArchiveDataDTOData());
                        sublinedto.TransOutWh.Code = (linedto.WhOut);
                        sublinedto.Project         = (new CommonArchiveDataDTOData());
                        sublinedto.Project.Code    = (linedto.TransDocNo);
                        Warehouse whout = Warehouse.Finder.Find(string.Format("Org={0} and Code='{1}'", Context.LoginOrg.ID.ToString(), linedto.WhOut), new OqlParam[0]);
                        if (whout != null)
                        {
                            sublinedto.StorageType = (whout.StorageType.Value);
                        }
                        else
                        {
                            sublinedto.StorageType = (4);
                        }
                        transinlinedto.TransInSubLines.Add(sublinedto);
                        transindto.TransInLines.Add(transinlinedto);
                    }
                    list.Add(transindto);
                }
            }
            return(list);
        }