private ConvertRequestInfo ConvertRequestVMToInfo(ConvertRequestVM vm)
        {
            ConvertRequestInfo info = vm.ConvertVM <ConvertRequestVM, ConvertRequestInfo>((v, i) =>
            {
                i.Stock = new StockInfo {
                    SysNo = v.StockSysNo
                };
                i.CreateUser = new BizEntity.Common.UserInfo {
                    SysNo = v.CreateUserSysNo
                };
                i.EditUser = new BizEntity.Common.UserInfo {
                    SysNo = v.EditUserSysNo
                };
                i.AuditUser = new BizEntity.Common.UserInfo {
                    SysNo = v.AuditUserSysNo
                };
                i.OutStockUser = new BizEntity.Common.UserInfo {
                    SysNo = v.OutStockUserSysNo
                };
                i.ProductLineSysno = v.ProductLineSysno;
            });

            info.ConvertItemInfoList = new List <ConvertRequestItemInfo>();
            vm.ConvertItemInfoList.ForEach(item =>
            {
                ConvertRequestItemInfo itemInfo = item.ConvertVM <ConvertRequestItemVM, ConvertRequestItemInfo>();
                itemInfo.ConvertProduct         = new BizEntity.IM.ProductInfo {
                    SysNo = item.ProductSysNo.Value
                };
                itemInfo.BatchDetailsInfoList = new List <InventoryBatchDetailsInfo>();
                itemInfo.BatchDetailsInfoList = EntityConverter <ProductBatchInfoVM, InventoryBatchDetailsInfo> .Convert(item.BatchDetailsInfoList);
                info.ConvertItemInfoList.Add(itemInfo);
            });
            return(info);
        }
Beispiel #2
0
        /// <summary>
        /// 根据转换单的SysNo获取转换单的全部信息
        /// </summary>
        /// <param name="sysNo"></param>
        /// <returns></returns>
        public virtual ConvertRequestInfo GetConvertRequestInfoBySysNo(int requestSysNo)
        {
            ConvertRequestInfo requestInfo = convertRequestProcessor.GetConvertRequestInfoBySysNo(requestSysNo);

            LoadRequestDetailInfo(requestInfo);
            return(requestInfo);
        }
        private ConvertRequestVM ConvertRequestInfoToVM(ConvertRequestInfo info)
        {
            ConvertRequestVM vm = info.Convert <ConvertRequestInfo, ConvertRequestVM>((i, v) =>
            {
                v.StockSysNo        = i.Stock == null ? null : i.Stock.SysNo;
                v.AuditUserSysNo    = i.AuditUser == null ? null : i.AuditUser.SysNo;
                v.CreateUserSysNo   = i.CreateUser == null ? null : i.CreateUser.SysNo;
                v.EditUserSysNo     = i.EditUser == null ? null : i.EditUser.SysNo;
                v.OutStockUserSysNo = i.OutStockUser == null ? null : i.OutStockUser.SysNo;
                v.OutStockUserSysNo = i.OutStockUser == null ? null : i.OutStockUser.SysNo;
                v.ProductLineSysno  = i.ProductLineSysno == null ? null : i.ProductLineSysno;
            });

            if (info.ConvertItemInfoList != null)
            {
                info.ConvertItemInfoList.ForEach(p =>
                {
                    ConvertRequestItemVM item = vm.ConvertItemInfoList.FirstOrDefault(i => i.SysNo == p.SysNo);
                    if (p.ConvertProduct != null)
                    {
                        item.ProductSysNo = p.ConvertProduct.SysNo;
                        item.ProductName  = p.ConvertProduct.ProductBasicInfo.ProductTitle.Content;
                        item.ProductID    = p.ConvertProduct.ProductID;
                    }
                    item.BatchDetailsInfoList = new List <ProductBatchInfoVM>();
                    item.BatchDetailsInfoList = EntityConverter <InventoryBatchDetailsInfo, ProductBatchInfoVM> .Convert(p.BatchDetailsInfoList);
                });
            }
            return(vm);
        }
Beispiel #4
0
        public ConvertRequestInfo LoadConvertRequestInfo(string requestSysNo)
        {
            int sysNo = int.Parse(requestSysNo);
            ConvertRequestInfo result = ObjectFactory <ConvertRequestAppService> .Instance.GetConvertRequestInfoBySysNo(sysNo);

            return(result);
        }
Beispiel #5
0
        public ConvertRequestInfo GetProductLine(string productSysNo)
        {
            int sysNo = int.Parse(productSysNo);
            ConvertRequestInfo result = ObjectFactory <ConvertRequestAppService> .Instance.GetProductLineInfo(sysNo);

            return(result);
        }
Beispiel #6
0
        /// <summary>
        /// 取消作废转换单
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual ConvertRequestInfo CancelAbandonRequest(ConvertRequestInfo entityToUpdate)
        {
            LoadRequestProductInfo(entityToUpdate);
            ConvertRequestInfo resultRequest = convertRequestProcessor.CancelAbandonRequest(entityToUpdate);

            LoadRequestDetailInfo(resultRequest);
            return(resultRequest);
        }
Beispiel #7
0
        /// <summary>
        /// 创建转换单
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual ConvertRequestInfo CreateRequest(ConvertRequestInfo entityToCreate)
        {
            LoadRequestProductInfo(entityToCreate);
            ConvertRequestInfo resultRequest = convertRequestProcessor.CreateRequest(entityToCreate);

            LoadRequestDetailInfo(resultRequest);
            return(resultRequest);
        }
Beispiel #8
0
        /// <summary>
        /// 转换出库
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual ConvertRequestInfo OutStockRequest(ConvertRequestInfo entityToUpdate)
        {
            LoadRequestProductInfo(entityToUpdate);
            ConvertRequestInfo resultRequest = convertRequestProcessor.OutStockRequest(entityToUpdate);

            LoadRequestDetailInfo(resultRequest);
            return(resultRequest);
        }
Beispiel #9
0
        /// <summary>
        /// 更新转换单信息
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public ConvertRequestInfo UpdateConvertRequest(ConvertRequestInfo entity)
        {
            var command = DataCommandManager.GetDataCommand("Inventory_UpdateConvertRequest");

            command.SetParameterValue("@RequestSysNo", entity.SysNo.Value);
            command.SetParameterValue("@Note", entity.Note);
            command.SetParameterValue("@ProductLineSysno", entity.ProductLineSysno);
            return(command.ExecuteEntity <ConvertRequestInfo>());
        }
Beispiel #10
0
 private void LoadRequestDetailInfo(ConvertRequestInfo requestInfo)
 {
     LoadRequestProductInfo(requestInfo);
     LoadRequestUserInfo(requestInfo);
     //batch info
     if (requestInfo.SysNo.HasValue)
     {
         LoadRequestProductBatchInfo(requestInfo);
     }
 }
Beispiel #11
0
        /// <summary>
        /// 更新转换单状态
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual ConvertRequestInfo UpdateConvertRequestStatus(ConvertRequestInfo entity)
        {
            DataCommand dc = DataCommandManager.GetDataCommand("Inventory_UpdateConvertRequestStatus");

            dc.SetParameterValue("@RequestSysNo", entity.SysNo);
            dc.SetParameterValue("@RequestStatus", (int)entity.RequestStatus);
            dc.SetParameterValue("@AuditDate", entity.AuditDate);
            dc.SetParameterValue("@AuditUserSysNo", entity.AuditUser.SysNo);
            dc.SetParameterValue("@OutStockDate", entity.OutStockDate);
            dc.SetParameterValue("@OutStockUserSysNo", entity.OutStockUser.SysNo);

            return(dc.ExecuteEntity <ConvertRequestInfo>());
        }
Beispiel #12
0
        private void LoadRequestProductBatchInfo(ConvertRequestInfo requestInfo)
        {
            if (requestInfo == null || requestInfo.ConvertItemInfoList == null || requestInfo.ConvertItemInfoList.Count == 0)
            {
                return;
            }
            ProductInventoryProcessor proInventory = ObjectFactory <ProductInventoryProcessor> .Instance;

            foreach (var item in requestInfo.ConvertItemInfoList)
            {
                item.BatchDetailsInfoList = proInventory.GetProdcutBatchesInfo("TR", requestInfo.SysNo.Value, item.ConvertProduct.SysNo);
            }
        }
Beispiel #13
0
        private void LoadRequestProductInfo(ConvertRequestInfo requestInfo)
        {
            if (requestInfo == null || requestInfo.ConvertItemInfoList == null || requestInfo.ConvertItemInfoList.Count == 0)
            {
                return;
            }

            foreach (var item in requestInfo.ConvertItemInfoList)
            {
                if (item.ConvertProduct != null && item.ConvertProduct.SysNo > 0)
                {
                    item.ConvertProduct = ExternalDomainBroker.GetProductInfoByProductSysNo(item.ConvertProduct.SysNo);
                }
            }
        }
Beispiel #14
0
        /// <summary>
        /// 创建转换单主信息
        /// </summary>
        /// <param name="convertEntity"></param>
        /// <returns></returns>
        public ConvertRequestInfo CreateConvertRequest(ConvertRequestInfo entity)
        {
            var command = DataCommandManager.GetDataCommand("Inventory_CreateConvertRequest");

            command.SetParameterValue("@RequestSysNo", entity.SysNo.Value);
            command.SetParameterValue("@RequestID", entity.RequestID);
            command.SetParameterValue("@StockSysNo", entity.Stock.SysNo);
            command.SetParameterValue("@CreateDate", entity.CreateDate);
            command.SetParameterValue("@CreateUserSysNo", entity.CreateUser.SysNo.Value);
            command.SetParameterValue("@RequestStatus", (int?)entity.RequestStatus);
            command.SetParameterValue("@Note", entity.Note);
            command.SetParameterValue("@CompanyCode", "8601");//[Mark][Alan.X.Luo 硬编码]
            command.SetParameterValue("@ProductLineSysno", entity.ProductLineSysno);
            return(command.ExecuteEntity <ConvertRequestInfo>());
        }
        private void UpdateRequestStatus(string relativeUrl, ConvertRequestVM requestVM, Action <ConvertRequestVM> callback)
        {
            ConvertRequestInfo msg = ConvertRequestVMToInfo(requestVM);

            restClient.Update <ConvertRequestInfo>(relativeUrl, msg, (obj, args) =>
            {
                if (!args.FaultsHandle())
                {
                    ConvertRequestVM resultRequestVM = null;
                    if (args.Result != null)
                    {
                        resultRequestVM = ConvertRequestInfoToVM(args.Result);
                    }
                    callback(resultRequestVM);
                }
            });
        }
        public void UpdateRequest(ConvertRequestVM requestVM, Action <ConvertRequestVM> callback)
        {
            string relativeUrl = "/InventoryService/ConvertRequest/UpdateRequest";

            SetRequestUserInfo(requestVM, InventoryAdjustSourceAction.Update);
            ConvertRequestInfo msg = ConvertRequestVMToInfo(requestVM);

            restClient.Update <ConvertRequestInfo>(relativeUrl, msg, (obj, args) =>
            {
                if (!args.FaultsHandle())
                {
                    requestVM = null;
                    if (args.Result != null)
                    {
                        requestVM = ConvertRequestInfoToVM(args.Result);
                    }
                    callback(requestVM);
                }
            });
        }
Beispiel #17
0
        private void LoadRequestUserInfo(ConvertRequestInfo requestInfo)
        {
            if (requestInfo.CreateUser != null && requestInfo.CreateUser.SysNo != null)
            {
                requestInfo.CreateUser = ExternalDomainBroker.GetUserInfo((int)requestInfo.CreateUser.SysNo);
            }

            if (requestInfo.EditUser != null && requestInfo.EditUser.SysNo != null)
            {
                requestInfo.EditUser = ExternalDomainBroker.GetUserInfo((int)requestInfo.EditUser.SysNo);
            }

            if (requestInfo.AuditUser != null && requestInfo.AuditUser.SysNo != null)
            {
                requestInfo.AuditUser = ExternalDomainBroker.GetUserInfo((int)requestInfo.AuditUser.SysNo);
            }

            if (requestInfo.OutStockUser != null && requestInfo.OutStockUser.SysNo != null)
            {
                requestInfo.OutStockUser = ExternalDomainBroker.GetUserInfo((int)requestInfo.OutStockUser.SysNo);
            }
        }
Beispiel #18
0
 public virtual ConvertRequestInfo AbandonConvertRequest(ConvertRequestInfo entityToUpdate)
 {
     return(ObjectFactory <ConvertRequestAppService> .Instance.AbandonRequest(entityToUpdate));
 }
Beispiel #19
0
 public virtual ConvertRequestInfo CreateConvertRequest(ConvertRequestInfo entityToCreate)
 {
     return(ObjectFactory <ConvertRequestAppService> .Instance.CreateRequest(entityToCreate));
 }
Beispiel #20
0
        /// <summary>
        /// 根据商品编号得到其所属产品线
        /// </summary>
        /// <param name="sysNo"></param>
        /// <returns></returns>
        public virtual ConvertRequestInfo GetProductLineInfo(int ProductsysNo)
        {
            ConvertRequestInfo requestInfo = convertRequestProcessor.GetProductLineInfo(ProductsysNo);

            return(requestInfo);
        }
Beispiel #21
0
 public virtual ConvertRequestInfo OutStockConvertRequest(ConvertRequestInfo entityToUpdate)
 {
     return(ObjectFactory <ConvertRequestAppService> .Instance.OutStockRequest(entityToUpdate));
 }
Beispiel #22
0
 public virtual ConvertRequestInfo CancelVerifyConvertRequest(ConvertRequestInfo entityToUpdate)
 {
     return(ObjectFactory <ConvertRequestAppService> .Instance.CancelVerifyRequest(entityToUpdate));
 }
        public void BuildData(System.Collections.Specialized.NameValueCollection requestPostData, out KeyValueVariables variables, out KeyTableVariables tableVariables)
        {
            variables      = new KeyValueVariables();
            tableVariables = new KeyTableVariables();
            string sysNo = requestPostData["SysNo"];

            if (sysNo != null && sysNo.Trim() != String.Empty)
            {
                sysNo = System.Web.HttpUtility.UrlDecode(sysNo);
                int requestSysNo = int.TryParse(sysNo, out requestSysNo) ? requestSysNo : int.MinValue;

                if (requestSysNo > int.MinValue)
                {
                    ConvertRequestInfo requestInfo = ObjectFactory <ConvertRequestAppService> .Instance.GetConvertRequestInfoBySysNo(requestSysNo);

                    variables.Add("SelfCompanyName", ResouceManager.GetMessageString(CommonConst.MessagePath_Common, "Res_Company_Name"));
                    variables.Add("SelfCompanyAddress", ResouceManager.GetMessageString(CommonConst.MessagePath_Common, "Res_Company_Address"));
                    variables.Add("SelfCompanyPhone", ResouceManager.GetMessageString(CommonConst.MessagePath_Common, "Res_Company_Phone"));
                    variables.Add("SelfCompanyWebAddress", ResouceManager.GetMessageString(CommonConst.MessagePath_Common, "Res_Company_Url"));
                    variables.Add("CreateUser", requestInfo.CreateUser.UserDisplayName);
                    variables.Add("CreateDate", requestInfo.CreateDate.HasValue ? requestInfo.CreateDate.Value.ToString() : string.Empty);
                    variables.Add("AuditUser", requestInfo.AuditUser.UserDisplayName);
                    variables.Add("AuditDate", requestInfo.AuditDate.HasValue ? requestInfo.AuditDate.Value.ToString() : string.Empty);
                    variables.Add("RequestSysNo", requestInfo.RequestID);
                    variables.Add("Stock", requestInfo.Stock == null ? "" : requestInfo.Stock.StockName);
                    variables.Add("Status", requestInfo.RequestStatus.ToDisplayText());
                    variables.Add("OutStockUser", requestInfo.OutStockUser.UserDisplayName);
                    variables.Add("OutStockDate", requestInfo.OutStockDate.HasValue ? requestInfo.OutStockDate.Value.ToString() : string.Empty);
                    variables.Add("Note", requestInfo.Note);

                    DataTable dtSourceProduct = new DataTable();
                    dtSourceProduct.Columns.AddRange(new System.Data.DataColumn[]
                    {
                        new DataColumn("ProductID"),
                        new DataColumn("ProductName"),
                        new DataColumn("Price"),
                        new DataColumn("Quantity"),
                        new DataColumn("Amount")
                    });

                    DataTable dtTargetProduct = dtSourceProduct.Clone();
                    decimal   sourceTotalAmount = 0M, targetTotalAmount = 0M;
                    requestInfo.ConvertItemInfoList.ForEach(p =>
                    {
                        DataRow drProduct        = p.ConvertType == ConvertProductType.Source ? dtSourceProduct.NewRow() : dtTargetProduct.NewRow();
                        drProduct["ProductID"]   = p.ConvertProduct.ProductID;
                        drProduct["ProductName"] = p.ConvertProduct.ProductBasicInfo.ProductTitle;
                        drProduct["Price"]       = p.ConvertUnitCost.ToString("N2");
                        drProduct["Quantity"]    = p.ConvertQuantity;
                        drProduct["Amount"]      = (p.ConvertQuantity * p.ConvertUnitCost).ToString("N2");
                        if (p.ConvertType == ConvertProductType.Source)
                        {
                            sourceTotalAmount += p.ConvertQuantity * p.ConvertUnitCost;
                            dtSourceProduct.Rows.Add(drProduct);
                        }
                        else
                        {
                            targetTotalAmount += p.ConvertQuantity * p.ConvertUnitCost;
                            dtTargetProduct.Rows.Add(drProduct);
                        }
                    });
                    variables.Add("SourceTotalAmount", sourceTotalAmount.ToString("N2"));
                    variables.Add("TargetTotalAmount", targetTotalAmount.ToString("N2"));
                    tableVariables.Add("SourceProductList", dtSourceProduct);
                    tableVariables.Add("TargetProductList", dtTargetProduct);
                }
            }
        }