Esempio n. 1
0
        public LendRequestInfo GetLendProductLine(string productSysNo)
        {
            int             sysNo  = int.Parse(productSysNo);
            LendRequestInfo result = ObjectFactory <LendRequestAppService> .Instance.GetProductLineInfo(sysNo);

            return(result);
        }
Esempio n. 2
0
        public void CreateRequest(LendRequestVM requestVM, Action <LendRequestVM> callback)
        {
            string relativeUrl = "/InventoryService/LendRequest/CreateRequest";

            requestVM.CompanyCode = CPApplication.Current.CompanyCode;
            SetRequestUserInfo(requestVM, InventoryAdjustSourceAction.Create);

            LendRequestInfo msg = ConvertRequestVMToInfo(requestVM);

            restClient.Create <LendRequestInfo>(relativeUrl, msg, (obj, args) =>
            {
                if (!args.FaultsHandle())
                {
                    LendRequestVM vm = null;
                    if (args.Result != null)
                    {
                        vm = ConvertRequestInfoToVM(args.Result);
                    }
                    if (callback != null)
                    {
                        callback(vm);
                    }
                }
            });
        }
Esempio n. 3
0
        /// <summary>
        /// 根据借货单的SysNo获取借货单的全部信息
        /// </summary>
        /// <param name="requestSysNo"></param>
        /// <returns></returns>
        public virtual LendRequestInfo GetLendRequestInfoBySysNo(int requestSysNo)
        {
            LendRequestInfo requestInfo = lendRequestProcessor.GetLendRequestInfoBySysNo(requestSysNo);

            LoadRequestDetailInfo(requestInfo);
            return(requestInfo);
        }
Esempio n. 4
0
        private LendRequestVM ConvertRequestInfoToVM(LendRequestInfo info)
        {
            LendRequestVM vm = info.Convert <LendRequestInfo, LendRequestVM>((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.LendUserSysNo     = i.LendUser == null ? null : i.LendUser.SysNo;
                v.ProductLineSysno  = i.ProductLineSysno == null ? null : i.ProductLineSysno;
            });

            if (info.LendItemInfoList != null)
            {
                info.LendItemInfoList.ForEach(p =>
                {
                    LendRequestItemVM item = vm.LendItemInfoList.FirstOrDefault(i => i.SysNo == p.SysNo);
                    if (p.LendProduct != null)
                    {
                        item.ProductSysNo   = p.LendProduct.SysNo;
                        item.ProductName    = p.LendProduct.ProductBasicInfo.ProductTitle.Content;
                        item.ProductID      = p.LendProduct.ProductID;
                        item.PMUserSysNo    = p.LendProduct.ProductBasicInfo.ProductManager.UserInfo.SysNo;
                        item.PMUserName     = p.LendProduct.ProductBasicInfo.ProductManager.UserInfo.UserDisplayName;
                        item.ReturnDateETA  = p.ExpectReturnDate;
                        item.ReturnQuantity = p.ReturnQuantity;
                    }
                });
            }
            return(vm);
        }
Esempio n. 5
0
        public LendRequestInfo LoadLendRequestInfo(string requestSysNo)
        {
            int             sysNo  = int.Parse(requestSysNo);
            LendRequestInfo result = ObjectFactory <LendRequestAppService> .Instance.GetLendRequestInfoBySysNo(sysNo);

            return(result);
        }
Esempio n. 6
0
        /// <summary>
        /// 借货出库
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual LendRequestInfo OutStockRequest(LendRequestInfo entityToUpdate)
        {
            LoadRequestProductInfo(entityToUpdate);
            LendRequestInfo resultRequest = lendRequestProcessor.OutStockRequest(entityToUpdate);

            LoadRequestDetailInfo(resultRequest);
            return(resultRequest);
        }
Esempio n. 7
0
        /// <summary>
        /// 创建借货单
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual LendRequestInfo CreateRequest(LendRequestInfo entityToCreate)
        {
            LoadRequestProductInfo(entityToCreate);
            LendRequestInfo resultRequest = lendRequestProcessor.CreateRequest(entityToCreate);

            LoadRequestDetailInfo(resultRequest);
            return(resultRequest);
        }
Esempio n. 8
0
        /// <summary>
        /// 取消作废借货单
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual LendRequestInfo CancelAbandonRequest(LendRequestInfo entityToUpdate)
        {
            LoadRequestProductInfo(entityToUpdate);
            LendRequestInfo resultRequest = lendRequestProcessor.CancelAbandonRequest(entityToUpdate);

            LoadRequestDetailInfo(resultRequest);
            return(resultRequest);
        }
Esempio n. 9
0
        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)
                {
                    LendRequestInfo requestInfo = ObjectFactory <LendRequestAppService> .Instance.GetLendRequestInfoBySysNo(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 dtProduct = new DataTable();
                    dtProduct.Columns.AddRange(new System.Data.DataColumn[]
                    {
                        new DataColumn("ProductID"),
                        new DataColumn("ProductName"),
                        new DataColumn("Price"),
                        new DataColumn("Quantity"),
                        new DataColumn("Amount")
                    });
                    decimal totalAmount = 0M;
                    requestInfo.LendItemInfoList.ForEach(p =>
                    {
                        totalAmount             += p.LendQuantity * p.LendUnitCost;
                        DataRow drProduct        = dtProduct.NewRow();
                        drProduct["ProductID"]   = p.LendProduct.ProductID;
                        drProduct["ProductName"] = p.LendProduct.ProductBasicInfo.ProductTitle;
                        drProduct["Price"]       = p.LendUnitCost.ToString("N2");
                        drProduct["Quantity"]    = p.LendQuantity;
                        drProduct["Amount"]      = (p.LendQuantity * p.LendUnitCost).ToString("N2");
                        dtProduct.Rows.Add(drProduct);
                    });
                    variables.Add("TotalAmount", totalAmount.ToString("N2"));
                    tableVariables.Add("ProductList", dtProduct);
                }
            }
        }
Esempio n. 10
0
        /// <summary>
        /// 更新借货单信息
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual LendRequestInfo UpdateLendRequest(LendRequestInfo entity)
        {
            DataCommand dc = DataCommandManager.GetDataCommand("Inventory_UpdateLendRequest");

            dc.SetParameterValue("@RequestSysNo", entity.SysNo);
            dc.SetParameterValue("@LendUserSysNo", entity.LendUser.SysNo);
            dc.SetParameterValue("@Note", entity.Note);
            dc.SetParameterValue("@ProductLineSysNo", entity.ProductLineSysno);
            return(dc.ExecuteEntity <LendRequestInfo>());
        }
Esempio n. 11
0
 private void LoadRequestDetailInfo(LendRequestInfo requestInfo)
 {
     LoadRequestProductInfo(requestInfo);
     LoadRequestUserInfo(requestInfo);
     // batch info
     if (requestInfo.SysNo.HasValue)
     {
         LoadRequestProductBatchInfo(requestInfo);
     }
 }
Esempio n. 12
0
        private void LoadRequestProductBatchInfo(LendRequestInfo requestInfo)
        {
            if (requestInfo == null || requestInfo.LendItemInfoList == null || requestInfo.LendItemInfoList.Count == 0)
            {
                return;
            }
            ProductInventoryProcessor proInventory = ObjectFactory <ProductInventoryProcessor> .Instance;

            foreach (var item in requestInfo.LendItemInfoList)
            {
                item.BatchDetailsInfoList = proInventory.GetProdcutBatchesInfo("LD", requestInfo.SysNo.Value, item.LendProduct.SysNo);
            }
        }
Esempio n. 13
0
        /// <summary>
        /// 更新借货单状态
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual LendRequestInfo UpdateLendRequestStatus(LendRequestInfo entity)
        {
            DataCommand dc = DataCommandManager.GetDataCommand("Inventory_UpdateLendRequestStatus");

            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 <LendRequestInfo>());
        }
Esempio n. 14
0
        private LendRequestInfo ConvertRequestVMToInfo(LendRequestVM vm)
        {
            LendRequestInfo info = vm.ConvertVM <LendRequestVM, LendRequestInfo>((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.LendUser = new BizEntity.Common.UserInfo {
                    SysNo = v.LendUserSysNo
                };
                i.ProductLineSysno = v.ProductLineSysno;
            });

            info.LendItemInfoList = new List <LendRequestItemInfo>();
            vm.LendItemInfoList.ForEach(item =>
            {
                LendRequestItemInfo itemInfo = item.ConvertVM <LendRequestItemVM, LendRequestItemInfo>();
                if (itemInfo.BatchDetailsInfoList != null)
                {
                    itemInfo.BatchDetailsInfoList.ForEach(p =>
                    {
                        var re = item.BatchDetailsInfoList.FirstOrDefault(k => k.ProductSysNo == p.ProductSysNo && k.BatchNumber.Equals(p.BatchNumber));
                        if (re != null)
                        {
                            p.ReturnQty = re.ReturnQuantity ?? 0;
                        }
                    });
                }
                itemInfo.LendProduct = new BizEntity.IM.ProductInfo {
                    SysNo = item.ProductSysNo.Value
                };
                if (item.ReturnDateETA.HasValue)
                {
                    itemInfo.ExpectReturnDate = (DateTime)item.ReturnDateETA;
                }
                info.LendItemInfoList.Add(itemInfo);
            });
            return(info);
        }
Esempio n. 15
0
        /// <summary>
        /// 创建借货单信息
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual LendRequestInfo CreateLendRequest(LendRequestInfo entity)
        {
            DataCommand dc = DataCommandManager.GetDataCommand("Inventory_CreateLendRequest");

            dc.SetParameterValue("@RequestSysNo", entity.SysNo);
            dc.SetParameterValue("@RequestID", entity.RequestID);
            dc.SetParameterValue("@StockSysNo", entity.Stock.SysNo);
            dc.SetParameterValue("@LendUserSysNo", entity.LendUser.SysNo);
            dc.SetParameterValue("@CreateDate", entity.CreateDate);
            dc.SetParameterValue("@CreateUserSysNo", entity.CreateUser.SysNo);
            dc.SetParameterValue("@RequestStatus", (int)entity.RequestStatus);
            dc.SetParameterValue("@Note", entity.Note);
            dc.SetParameterValue("@CompanyCode", "8601");//[Mark][Alan.X.Luo 硬编码]
            dc.SetParameterValue("@ProductLineSysno", entity.ProductLineSysno);
            return(dc.ExecuteEntity <LendRequestInfo>());
        }
Esempio n. 16
0
        private void LoadRequestProductInfo(LendRequestInfo requestInfo)
        {
            if (requestInfo == null || requestInfo.LendItemInfoList == null || requestInfo.LendItemInfoList.Count == 0)
            {
                return;
            }

            IIMBizInteract IMService = ObjectFactory <IIMBizInteract> .Instance;

            foreach (var item in requestInfo.LendItemInfoList)
            {
                if (item.LendProduct != null && item.LendProduct.SysNo > 0)
                {
                    item.LendProduct = IMService.GetProductInfo(item.LendProduct.SysNo);
                }
            }
        }
Esempio n. 17
0
        private void UpdateRequestStatus(string relativeUrl, LendRequestVM requestVM, Action <LendRequestVM> callback)
        {
            LendRequestInfo msg = ConvertRequestVMToInfo(requestVM);

            restClient.Update <LendRequestInfo>(relativeUrl, msg, (obj, args) =>
            {
                if (!args.FaultsHandle())
                {
                    LendRequestVM vm = null;
                    if (args.Result != null)
                    {
                        vm = ConvertRequestInfoToVM(args.Result);
                    }
                    if (callback != null)
                    {
                        callback(vm);
                    }
                }
            });
        }
Esempio n. 18
0
        private void LoadRequestUserInfo(LendRequestInfo 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);
            }
        }
Esempio n. 19
0
        public void ReturnRequest(LendRequestVM requestVM, Action <LendRequestVM> callback)
        {
            string relativeUrl = "/InventoryService/LendRequest/ReturnLendItem";

            SetRequestUserInfo(requestVM, InventoryAdjustSourceAction.Return);
            LendRequestInfo msg = ConvertRequestVMToInfo(requestVM);

            restClient.Update <LendRequestInfo>(relativeUrl, msg, (obj, args) =>
            {
                if (!args.FaultsHandle())
                {
                    LendRequestVM vm = null;
                    if (args.Result != null)
                    {
                        vm = ConvertRequestInfoToVM(args.Result);
                    }
                    if (callback != null)
                    {
                        callback(vm);
                    }
                }
            });
        }
Esempio n. 20
0
        /// <summary>
        /// 根据商品编号得到其所属产品线
        /// </summary>
        /// <param name="sysNo"></param>
        /// <returns></returns>
        public virtual LendRequestInfo GetProductLineInfo(int ProductsysNo)
        {
            LendRequestInfo requestInfo = lendRequestProcessor.GetProductLineInfo(ProductsysNo);

            return(requestInfo);
        }
Esempio n. 21
0
 public virtual LendRequestInfo CreateLendRequest(LendRequestInfo entityToCreate)
 {
     return(ObjectFactory <LendRequestAppService> .Instance.CreateRequest(entityToCreate));
 }
Esempio n. 22
0
 public virtual LendRequestInfo CancelVerifyLendRequest(LendRequestInfo entityToUpdate)
 {
     return(ObjectFactory <LendRequestAppService> .Instance.CancelVerifyRequest(entityToUpdate));
 }
Esempio n. 23
0
 public virtual LendRequestInfo ReturnLendRequest(LendRequestInfo entityToUpdate)
 {
     return(ObjectFactory <LendRequestAppService> .Instance.ReturnRequest(entityToUpdate));
 }