Example #1
0
        private static void AdjustSendSSBToWMS(int sysNo, string inWarehouseNumber, List <InventoryBatchDetailsInfo> batchDetailsInfoEntity, List <InventoryAdjustItemInfo> adjustCaseEntityList)
        {
            List <ECommerce.Entity.Inventory.Item> itemList = new List <ECommerce.Entity.Inventory.Item>();

            // List<BatchDetailsInfoEntity> batchDetailsInfoEntity = AdjustDAL.GetBatchDetailsInfoEntityListByNumber(SysNumber);
            if ((batchDetailsInfoEntity != null && batchDetailsInfoEntity.Count > 0) || (adjustCaseEntityList != null && adjustCaseEntityList.Count > 0))
            {
                if (batchDetailsInfoEntity != null && batchDetailsInfoEntity.Count > 0)
                {
                    foreach (var BatchItem in batchDetailsInfoEntity)
                    {
                        ProductBatch pbEntity = new ProductBatch
                        {
                            BatchNumber = BatchItem.BatchNumber
                            ,
                            Quantity = BatchItem.Quantity.ToString()
                        };
                        ECommerce.Entity.Inventory.Item item = new ECommerce.Entity.Inventory.Item()
                        {
                            ProductBatch = pbEntity
                            ,
                            ProductSysNo = BatchItem.ProductSysNo.ToString()
                            ,
                            Quantity = BatchItem.Quantity.ToString()
                        };
                        itemList.Add(item);
                    }
                }
                if (adjustCaseEntityList != null && adjustCaseEntityList.Count > 0)
                {
                    //初始非批次商品调整信息
                    foreach (var NOTBatchItem in adjustCaseEntityList)
                    {
                        ECommerce.Entity.Inventory.Item item = new ECommerce.Entity.Inventory.Item()
                        {
                            ProductSysNo = NOTBatchItem.ProductSysNo.ToString(),
                            Quantity     = NOTBatchItem.AdjustQuantity.ToString()
                        };
                        itemList.Add(item);
                    }
                }

                SendToWMSSSBXMLMessage sendTOWMSSSBXMLMessage = new SendToWMSSSBXMLMessage()
                {
                    RequestRoot = new RequestRoot()
                    {
                        MessageHeader = new MessageHeader
                        {
                            Language     = "CH",
                            Sender       = "IPP",
                            CompanyCode  = "8601",
                            Action       = "Adjust",
                            Version      = "0.1",
                            Type         = "InventoryAdjust",
                            OriginalGUID = ""
                        },
                        Body = new ECommerce.Entity.Inventory.Body
                        {
                            Operation = new Operation()
                            {
                                Type            = "60",
                                Number          = sysNo.ToString(),
                                User            = "******",//ServiceContext.Current.UserDisplayName,
                                Memo            = "损益单出库给仓库发送SSB",
                                Item            = itemList,
                                WarehouseNumber = inWarehouseNumber
                            }
                        }
                    }
                };
                string      paramXml = SerializationUtility.XmlSerialize(sendTOWMSSSBXMLMessage);
                XmlDocument xmlD     = new XmlDocument();
                xmlD.LoadXml(paramXml);
                paramXml = "<" + xmlD.DocumentElement.Name + ">" + xmlD.DocumentElement.InnerXml + "</" + xmlD.DocumentElement.Name + ">";

                if (itemList != null && itemList.Count > 0)
                {
                    InventoryDA.SendSSBToWMS(paramXml);
                }
            }
        }