/// <summary> /// 插入销售单明细 /// </summary> /// <param name="item">销售单明细</param> /// <returns>操作是否成功</returns> /// <remarks>2013-06-25 朱成果 创建</remarks> public override int Insert(SoOrderItem item) { item.SysNo = Context.Insert("SoOrderItem", item) .AutoMap(o => o.SysNo) .ExecuteReturnLastId <int>("SysNo"); return(item.SysNo); }
/// <summary> /// 二期业务数据2段 订单数据 /// </summary> /// <param name="listObject"></param> private void AddBaseTaskObject2ToList3(List <BaseTask> listObject) { BaseTask soOrder = new SoOrder(); BaseTask soOrderItem = new SoOrderItem(); listObject.Add(soOrder); listObject.Add(soOrderItem); }
private void AddBaseTaskObjectToList(List <BaseTask> listObject) { BaseTask bsAT = new BsArea(); BaseTask bsDP = new BsDeliveryPayment(); BaseTask bsPT = new BsPaymentType(); BaseTask bsCode = new BsCode(); BaseTask bsOrganization = new BsOrganization(); BaseTask bsOrganizationWarehouse = new BsOrganizationWarehouse(); BaseTask crCustomer = new CrCustomer(); BaseTask crCL = new CrCustomerLevel(); BaseTask crCQ = new CrCustomerQuestion(); BaseTask crRA = new CrReceiveAddress(); BaseTask dsMallType = new DsMallType(); BaseTask dsDealerLevel = new DsDealerLevel(); BaseTask feArticle = new FeArticle(); BaseTask feAC = new FeArticleCategory(); BaseTask feCS = new FeCommentSupport(); BaseTask fepc = new FeProductComment(); BaseTask fePCI = new FeProductCommentImage(); BaseTask fePCR = new FeProductCommentReply(); BaseTask feSearchKeyword = new FeSearchKeyword(); BaseTask feadvertgroup = new FeAdvertGroup(); BaseTask feadvertitem = new FeAdvertItem(); BaseTask feproductgroup = new FeProductGroup(); BaseTask feproductitem = new FeProductItem(); BaseTask fnIT = new FnInvoiceType(); BaseTask fninvoice = new FnInvoice(); BaseTask fnpv = new FnReceiptVoucher(); BaseTask fnReceiptVoucherItem = new FnReceiptVoucherItem(); BaseTask fnop = new FnOnlinePayment(); BaseTask fnPaymentVoucher = new FnPaymentVoucher(); BaseTask fnPaymentVoucherItem = new FnPaymentVoucherItem(); BaseTask lgDelivery = new LgDelivery(); BaseTask lgDI = new LgDeliveryItem(); BaseTask lgDS = new LgDeliveryScope(); BaseTask lgDT = new LgDeliveryType(); BaseTask lgDUC = new LgDeliveryUserCredit(); BaseTask lgPT = new LgPickupType(); BaseTask lgsettlement = new LgSettlement(); BaseTask lgSI = new LgSettlementItem(); BaseTask lgDeliveryPrintTemplate = new LgDeliveryPrintTemplate(); BaseTask pdAttribute = new PdAttribute(); BaseTask pdAG = new PdAttributeGroup(); BaseTask pdAGA = new PdAttributeGroupAssociation(); BaseTask pdAO = new PdAttributeOption(); BaseTask pdBrand = new PdBrand(); BaseTask pdCGA = new PdCatAttributeGroupAso(); BaseTask pdCategory = new PdCategory(); BaseTask pdCA = new PdCategoryAssociation(); BaseTask pdPrice = new PdPrice(); BaseTask pdProduct = new PdProduct(); BaseTask pdPA = new PdProductAssociation(); BaseTask pdProductAttribute = new PdProductAttribute(); BaseTask pdPI = new PdProductImage(); BaseTask pdTemplate = new PdTemplate(); BaseTask pdProductStatistics = new PdProductStatistics(); BaseTask soOrder = new SoOrder(); BaseTask soOrderItem = new SoOrderItem(); BaseTask soRA = new SoReceiveAddress(); BaseTask SyUG = new SyUserGroup(); BaseTask syGU = new SyGroupUser(); BaseTask syMenu = new SyMenu(); BaseTask syMenuPrivilege = new SyMenuPrivilege(); BaseTask syPrivilege = new SyPrivilege(); BaseTask syRole = new SyRole(); BaseTask syRoleMenu = new SyRoleMenu(); BaseTask syRolePrivilege = new SyRolePrivilege(); BaseTask syPermission = new SyPermission(); BaseTask syUser = new SyUser(); BaseTask syUW = new SyUserWarehouse(); BaseTask syMyMenu = new SyMyMenu(); BaseTask spcombo = new SpCombo(); BaseTask spComboItem = new SpComboItem(); BaseTask spcopon = new spcoupon(); BaseTask sqpromotion = new SPpromotion(); BaseTask spromotiongift = new SPpromotiongift(); BaseTask sppromotionoverlay = new SPpromotionoverlay(); BaseTask sppromotionrule = new SPpromotionrule(); BaseTask sppromotionrulecondition = new SPpromotionrulecondition(); BaseTask sppromotionrulekeyvalue = new SPpromotionrulekeyvalue(); BaseTask syTaskConfig = new SyTaskConfig(); BaseTask whStockOut = new WhStockOut(); BaseTask whStockOutItem = new WhstockOutItem(); BaseTask whwarehouse = new WhWarehouse(); BaseTask whwa = new WHwarehousearea(); BaseTask whwdy = new WHwarehouseDeliveryType(); BaseTask whWPT = new WhWarehousePickupType(); BaseTask whstockin = new WhStockIn(); BaseTask whstockinItem = new WHStockinItem(); BaseTask rcReturn = new RCReturn(); BaseTask rcReturnItem = new RcReturnItem(); listObject.Add(bsAT); listObject.Add(bsDP); listObject.Add(bsPT); listObject.Add(bsCode); listObject.Add(bsOrganization); listObject.Add(bsOrganizationWarehouse); listObject.Add(crCustomer); listObject.Add(crCL); listObject.Add(crCQ); listObject.Add(crRA); listObject.Add(dsMallType); listObject.Add(dsDealerLevel); listObject.Add(feArticle); listObject.Add(feAC); listObject.Add(feCS); listObject.Add(fePCI); listObject.Add(fePCR); listObject.Add(fepc); listObject.Add(feSearchKeyword); listObject.Add(feadvertgroup); listObject.Add(feadvertitem); listObject.Add(feproductgroup); listObject.Add(feproductitem); listObject.Add(fnIT); listObject.Add(fnpv); listObject.Add(fnReceiptVoucherItem); listObject.Add(fnop); listObject.Add(fninvoice); listObject.Add(fnPaymentVoucher); listObject.Add(fnPaymentVoucherItem); listObject.Add(lgDelivery); listObject.Add(lgDI); listObject.Add(lgDS); listObject.Add(lgDT); listObject.Add(lgPT); listObject.Add(lgsettlement); listObject.Add(lgSI); listObject.Add(lgDeliveryPrintTemplate); listObject.Add(pdAttribute); listObject.Add(pdAG); listObject.Add(pdAGA); listObject.Add(pdAO); listObject.Add(pdBrand); listObject.Add(pdCGA); listObject.Add(pdCategory); listObject.Add(pdCA); listObject.Add(pdPrice); listObject.Add(pdProduct); listObject.Add(pdPA); listObject.Add(pdProductAttribute); listObject.Add(pdTemplate); listObject.Add(pdProductStatistics); listObject.Add(soOrder); listObject.Add(soOrderItem); listObject.Add(spcombo); listObject.Add(spComboItem); listObject.Add(spcopon); listObject.Add(sqpromotion); listObject.Add(spromotiongift); //listObject.Add(sppromotionoverlay); listObject.Add(sppromotionrule); listObject.Add(sppromotionrulecondition); listObject.Add(sppromotionrulekeyvalue); listObject.Add(syGU); listObject.Add(syUW); listObject.Add(SyUG); listObject.Add(syMenu); listObject.Add(syUser); listObject.Add(syPermission); listObject.Add(syMenuPrivilege); listObject.Add(syPrivilege); listObject.Add(syRole); listObject.Add(syRoleMenu); listObject.Add(syRolePrivilege); listObject.Add(syMyMenu); listObject.Add(syTaskConfig); listObject.Add(whStockOut); listObject.Add(whStockOutItem); listObject.Add(whwarehouse); listObject.Add(whwa); listObject.Add(whwdy); listObject.Add(whWPT); listObject.Add(whstockin); listObject.Add(whstockinItem); listObject.Add(rcReturn); listObject.Add(rcReturnItem); listObject.Add(lgDUC); listObject.Add(pdPI); listObject.Add(soRA); }
/// <summary> /// 插入销售单明细 /// </summary> /// <param name="item">销售单明细</param> /// <returns>操作是否成功</returns> /// <remarks>2013-06-25 朱成果 创建</remarks> public abstract int Insert(SoOrderItem item);
/// <summary> /// 添加订单 /// </summary> /// <param name="stream">订单数据(json格式)</param> /// <returns></returns> /// <remarks>2016-9-7 杨浩 创建</remarks> public Result <string> AddOrder(Stream stream) { int exceptionPoint = 0; string data = ""; int dealerSysNo = 329; var result = new Result <string>() { Status = true, StatusCode = 0 }; try { var reader = new StreamReader(stream); data = reader.ReadToEnd(); exceptionPoint = 1; var orderInfo = Hyt.Util.Serialization.JsonUtil.ToObject <Order>(data); exceptionPoint = 2; var orderAssociationInfo = Hyt.BLL.Stores.DsOrderAssociationBo.Instance.GetOrderAssociationInfo(dealerSysNo, orderInfo.OrderNo); exceptionPoint = 3; if (orderAssociationInfo != null) { result.Status = false; result.Message = "订单已存在"; result.StatusCode = 1; return(result); } if (orderInfo.OnlinePayment == null) { result.Status = false; result.Message = "没有支付记录"; result.StatusCode = 2; return(result); } var onlinePayments = Hyt.BLL.Finance.FinanceBo.Instance.GetOnlinePaymentByVoucherNo(orderInfo.OnlinePayment.PaymentTypeSysNo, orderInfo.OnlinePayment.VoucherNo); if (onlinePayments != null) { result.Status = false; result.Message = "订单中的支付单已存在"; result.StatusCode = 3; return(result); } #region 订单信息 SoOrder so = new SoOrder(); so.OrderNo = BLL.Basic.ReceiptNumberBo.Instance.GetOrderNo(); so.OrderSource = (int)Hyt.Model.WorkflowStatus.OrderStatus.销售单来源.方商城; so.DealerSysNo = dealerSysNo; so.AuditorDate = (DateTime)SqlDateTime.MinValue; so.AuditorSysNo = 0; so.CancelDate = (DateTime)SqlDateTime.MinValue; so.CashPay = orderInfo.CashPay; so.CBLogisticsSendStatus = orderInfo.CBLogisticsSendStatus; so.CoinPay = orderInfo.CoinPay; so.ContactBeforeDelivery = orderInfo.ContactBeforeDelivery; so.CouponAmount = orderInfo.CouponAmount; so.CreateDate = DateTime.Now; so.CustomerMessage = orderInfo.CustomerMessage; so.CustomsPayStatus = orderInfo.CustomsPayStatus; so.CustomsStatus = orderInfo.CustomsStatus; so.DefaultWarehouseSysNo = 0; so.DeliveryRemarks = orderInfo.DeliveryRemarks; so.DeliveryTime = orderInfo.DeliveryTime; so.DeliveryTypeSysNo = orderInfo.DeliveryTypeSysNo; so.FreightAmount = orderInfo.FreightAmount; so.FreightChangeAmount = orderInfo.FreightChangeAmount; so.FreightDiscountAmount = orderInfo.FreightDiscountAmount; so.GZJCStatus = orderInfo.GZJCStatus; so.ImgFlag = orderInfo.ImgFlag; so.InternalRemarks = orderInfo.InternalRemarks; so.InvoiceSysNo = orderInfo.InvoiceSysNo; so.IsHiddenToCustomer = orderInfo.IsHiddenToCustomer; so.LastUpdateDate = (DateTime)SqlDateTime.MinValue; so.NsStatus = 0; so.OperatFee = 0; so.OrderAmount = orderInfo.OrderAmount; so.OrderCreatorSysNo = 0; so.OrderDiscountAmount = orderInfo.OrderDiscountAmount; so.PayStatus = orderInfo.PayStatus; so.PayTypeSysNo = orderInfo.PayTypeSysNo; so.ProductAmount = orderInfo.ProductAmount; so.ProductChangeAmount = orderInfo.ProductChangeAmount; so.ProductDiscountAmount = orderInfo.ProductDiscountAmount; so.RebateRtio = orderInfo.RebateRtio; so.Remarks = orderInfo.Remarks; so.SalesSysNo = orderInfo.SalesSysNo; so.SalesType = orderInfo.SalesType; so.SendStatus = orderInfo.SendStatus; so.Stamp = orderInfo.Stamp; so.Status = 10; so.TaxFee = orderInfo.TaxFee; so.UsedPromotions = ""; #endregion #region 订单明细 var soItems = new List <SoOrderItem>(); var soItem = new SoOrderItem(); var pager = new Pager <PdProduct>() { PageSize = 999999, CurrentPage = 1 }; pager = BLL.Product.PdProductBo.Instance.GetPdProductList(pager); var dealerInfo = BLL.Stores.StoresBo.Instance.GetStoreById(dealerSysNo); var dealerLevelInfo = BLL.Distribution.DsDealerLevelBo.Instance.GetDealerLevelByDealerSysNo(dealerInfo.LevelSysNo); //订单总价 decimal orderTotalPrice = orderInfo.OrderItemList.Sum(x => x.SalesUnitPrice * x.Quantity); if (orderTotalPrice != orderInfo.CashPay) { result.Status = false; result.Message = "订单明细中的商品总价和订单的支付金额不一致"; result.StatusCode = 4; return(result); } foreach (var item in orderInfo.OrderItemList) { var productInfo = pager.Rows.Where(x => x.ErpCode == item.ProductCode).FirstOrDefault(); if (productInfo == null) { result.Status = false; result.Message = "商品编码【" + item.ProductCode + "】在系统中不存在"; result.StatusCode = 5; return(result); } //价格下限 decimal lower = productInfo.TradePrice * (100 - dealerLevelInfo.SalePriceLower) * 0.01m; //价格上限 decimal upper = productInfo.TradePrice * (100 + dealerLevelInfo.SalePriceUpper) * 0.01m; //检查销售价格下限 if (lower > item.SalesUnitPrice) { result.Status = false; result.Message = "商品编码【" + item.ProductCode + "】的销售价不能低于¥" + lower; result.StatusCode = 6; return(result); } //检查销售价格上限 //if (upper<item.SalesUnitPrice) //{ // result.Status = false; // result.Message = "商品编码【" + item.ProductCode + "】的销售价不能高于¥" + upper; // result.StatusCode = 7; // return result; //} //返点=((销售价-批发价)*数量)*操作费 soItem.Catle = ((productInfo.TradePrice - item.SalesUnitPrice) * item.Quantity) * (1 - (dealerLevelInfo.OperatFee * 0.001m)); soItem.Catle = soItem.Catle < 0 ? 0 : soItem.Catle; soItem.ChangeAmount = 0; soItem.DiscountAmount = 0; soItem.GroupCode = ""; soItem.GroupName = ""; soItem.OriginalPrice = item.OriginalPrice; soItem.OriginalSalesUnitPrice = 0; soItem.ProductName = item.ProductName; soItem.ProductSalesType = 10; soItem.ProductSalesTypeSysNo = item.ProductSalesTypeSysNo; soItem.ProductSysNo = productInfo.SysNo; soItem.Quantity = item.Quantity; soItem.RealStockOutQuantity = 0; soItem.RebatesStatus = 0; soItem.SalesAmount = item.SalesAmount; soItem.SalesUnitPrice = item.SalesUnitPrice; soItem.UnitCatle = 0; soItem.UsedPromotions = ""; soItems.Add(soItem); } #endregion Hyt.Model.CrCustomer cr = null; var isNewUser = true; string strPassword = "******";//初始密码 var options = new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted, Timeout = TransactionManager.DefaultTimeout }; #region 会员 using (var trancustomer = new System.Transactions.TransactionScope(TransactionScopeOption.Required, options))//会员创建事物 { cr = Hyt.BLL.CRM.CrCustomerBo.Instance.GetCrCustomer(orderInfo.Customer.Account); exceptionPoint = 4; //var customerlst = Hyt.BLL.Order.SoOrderBo.Instance.SearchCustomer(); if (cr != null) { isNewUser = false; } else //创建会员 { cr = new Model.CrCustomer() { Account = orderInfo.Customer.Account, MobilePhoneNumber = orderInfo.Customer.MobilePhoneNumber, AreaSysNo = orderInfo.Customer.AreaSysNo, Gender = (int)Hyt.Model.WorkflowStatus.CustomerStatus.性别.保密, EmailStatus = (int)Hyt.Model.WorkflowStatus.CustomerStatus.邮箱状态.未验证, LevelSysNo = Hyt.Model.SystemPredefined.CustomerLevel.初级, Name = orderInfo.Customer.Name, NickName = orderInfo.Customer.NickName, RegisterDate = DateTime.Now, Password = strPassword, // Hyt.Util.EncryptionUtil.EncryptWithMd5AndSalt(strPassword), 余勇修改 2014-09-12 Status = (int)Hyt.Model.WorkflowStatus.CustomerStatus.会员状态.效, MobilePhoneStatus = (int)Hyt.Model.WorkflowStatus.CustomerStatus.手机状态.未验证, RegisterSource = (int)Hyt.Model.WorkflowStatus.CustomerStatus.注册来源.方商城, RegisterSourceSysNo = dealerSysNo.ToString(), StreetAddress = orderInfo.ReceiveAddress.StreetAddress, IsReceiveShortMessage = (int)CustomerStatus.是否接收短信.是, IsReceiveEmail = (int)CustomerStatus.是否接收邮件.是, LastLoginDate = DateTime.Now, Birthday = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue, CreatedDate = DateTime.Now, DealerSysNo = dealerSysNo, }; Hyt.Model.CrReceiveAddress crr = new Model.CrReceiveAddress() { AreaSysNo = orderInfo.ReceiveAddress.AreaSysNo, Name = orderInfo.ReceiveAddress.Name, MobilePhoneNumber = orderInfo.ReceiveAddress.MobilePhoneNumber, StreetAddress = orderInfo.ReceiveAddress.StreetAddress, IsDefault = 1 }; Hyt.BLL.Order.SoOrderBo.Instance.CreateCustomer(cr, crr); exceptionPoint = 5; } trancustomer.Complete();//会员创建事物 } if (cr == null || cr.SysNo < 1) { result.Status = false; result.Message = "会员信息读取失败"; return(result); } exceptionPoint = 6; #endregion #region 数据提交 so.CustomerSysNo = cr.SysNo; so.LevelSysNo = cr.LevelSysNo; so.PayTypeSysNo = 12;//易宝支付 using (var tran = new System.Transactions.TransactionScope(TransactionScopeOption.Required, options)) { var r = Hyt.BLL.Order.SoOrderBo.Instance.ImportSoOrder(so, orderInfo.ReceiveAddress, soItems.ToArray(), "系统", orderInfo.OnlinePayment, ref exceptionPoint); exceptionPoint = 7; if (r.StatusCode > 0) { var model = new DsOrderAssociation() { DealerOrderNo = orderInfo.OrderNo, DealerSysNo = dealerSysNo, OrderSysNo = r.StatusCode, }; Hyt.BLL.Stores.DsOrderAssociationBo.Instance.Add(model); exceptionPoint = 8; } exceptionPoint = 9; tran.Complete(); } #endregion } catch (Exception ex) { result.Status = false; result.Message = "接口异常"; result.StatusCode = -1; BLL.Log.LocalLogBo.Instance.Write(ex.Message + "----->exceptionPoint =" + exceptionPoint, "AddOrderExceptionLog"); } return(result); }
/// <summary> /// 订单对象转换 /// </summary> /// <param name="order">wcf 传入订单对象</param> /// <returns></returns> /// <remarks>2014-9-17 朱成果 创建</remarks> public AppOrder MapToAppOrder(AppOrder2 order) { AppOrder neworder = new AppOrder(); int levelSysNo = 0;//客户等级 if (order != null) { if (order.SoReceiveAddress != null) { neworder.SoReceiveAddress = order.SoReceiveAddress; } if (order.Order != null) { #region 订单和发票 var oo = order.Order; neworder.SoOrder = new SoOrder() { CustomerSysNo = oo.CustomerSysNo, PayTypeSysNo = oo.PayTypeSysNo, DeliveryTypeSysNo = oo.DeliveryTypeSysNo, DeliveryRemarks = oo.DeliveryRemarks, DeliveryTime = oo.DeliveryTime, ContactBeforeDelivery = oo.ContactBeforeDelivery, InternalRemarks = oo.InternalRemarks, CustomerMessage = oo.CustomerMessage, CreateDate = DateTime.Now, SalesType = (int)Hyt.Model.WorkflowStatus.OrderStatus.销售方式.普通订单 }; if (oo.Invoice != null) { neworder.Invoice = new FnInvoice() { InvoiceTypeSysNo = oo.Invoice.InvoiceTypeSysNo, InvoiceTitle = oo.Invoice.InvoiceTitle, InvoiceRemarks = oo.Invoice.InvoiceRemarks }; } #endregion var cr = Hyt.BLL.CRM.CrCustomerBo.Instance.GetModel(order.Order.CustomerSysNo);//客户信息 if (cr != null) { levelSysNo = cr.LevelSysNo; //客户等级 neworder.SoOrder.LevelSysNo = levelSysNo; //下单时候的客户等级 } } if (order.OrderItems != null) { #region 订单明细 decimal amount = 0; neworder.Products = new List <SoOrderItem>(); foreach (var p in order.OrderItems) { if (!CheckTwoSalePrice(p.SysNo, p.Price)) { throw new HytException(string.Format("商品({0})销售价格不允许少于限定价格{1}.", p.ProductName, p.Price)); } var pitem = new SoOrderItem() { Quantity = p.Quantity, ProductSysNo = p.SysNo, OriginalPrice = p.Price, SalesUnitPrice = p.Price, ProductName = p.ProductName, ProductSalesType = (int)CustomerStatus.商品销售类型.普通, SalesAmount = p.Price * p.Quantity, }; if (levelSysNo > 0) { var originalPrice = GetProductPriceByCustomerLevel(pitem.ProductSysNo, levelSysNo); //商城原单价 pitem.OriginalPrice = originalPrice > 0 ? originalPrice : p.Price; //商城原单价 pitem.SalesUnitPrice = originalPrice > 0 ? originalPrice : p.Price; //商城销售单价; pitem.SalesAmount = pitem.SalesUnitPrice * pitem.Quantity; //销售总额 pitem.ChangeAmount = p.Price * p.Quantity - pitem.SalesAmount; //调价金额 if (originalPrice != p.Price && neworder.SoOrder != null) { neworder.SoOrder.ImgFlag = MallTypeFlag.二次销售并调价; } } neworder.Products.Add(pitem); amount += pitem.SalesAmount; } if (neworder.SoOrder != null) { neworder.SoOrder.ProductAmount = neworder.SoOrder.OrderAmount = neworder.Products.Sum(m => m.SalesAmount); //总金额 neworder.SoOrder.ProductChangeAmount = neworder.Products.Sum(m => m.ChangeAmount); //调价金额 neworder.SoOrder.CashPay = neworder.SoOrder.OrderAmount + neworder.SoOrder.ProductChangeAmount; //支付金额 } #endregion } } return(neworder); }
/// <summary> /// 补单 /// </summary> /// <param name="model">补单实体</param> /// <param name="user">当前用户实体</param> /// <returns>true:成功,失败抛出异常</returns> /// <remarks>2013-07-16 黄伟 创建</remarks> /// <remarks>2013-11-15 周唐炬 加入商品借货、EAS业务、恢复配送员信用</remarks> private Result CreateOrder(ParaLogisticsControllerAdditionalOrders model, SyUser user) { var result = new Result { Status = false, StatusCode = -1, Message = "补单失败!" }; var so = new SoOrder(); var currentTime = DateTime.Now; var client = EasProviderFactory.CreateProvider(); //EAS Provider var borrowInfoGroupList = new List <BorrowInfoGroup>(); //EAS还货数据 var saleInfoGroupList = new List <SaleInfoGroup>(); //EAS出库分组数据 var deliveryUser = SyUserBo.Instance.GetSyUser(model.DeliverymanSysNo); #region 补单实体数据 //保存收货地址 var address = model.ReceiveAddress; var soReceiveAddress = new SoReceiveAddress { AreaSysNo = address.AreaSysNo, MobilePhoneNumber = address.MobilePhoneNumber, Name = address.Name, PhoneNumber = address.PhoneNumber, StreetAddress = address.Address, ZipCode = address.ZipCode }; //创建收货地址 ISoReceiveAddressDao.Instance.InsertEntity(soReceiveAddress); so.ReceiveAddressSysNo = soReceiveAddress.SysNo; so.CustomerSysNo = model.UserSysNo; so.LevelSysNo = model.LevelSysNo; var deliveryType = GetDelTypeByNameLike("普通百城当日"); //普通百城当日 so.DeliveryTypeSysNo = deliveryType.SysNo; so.Remarks = so.DeliveryRemarks = "补单"; so.DeliveryTime = deliveryType.DeliveryTime; //全天 so.PayTypeSysNo = model.PaymentTypeSysNo; so.DefaultWarehouseSysNo = model.WarehouseSysNo; so.CreateDate = currentTime; so.LastUpdateBy = user.SysNo; so.LastUpdateDate = currentTime; so.OrderCreatorSysNo = user.SysNo; //order status related so.OrderSource = (int)OrderStatus.销售单来源.业务员补单; so.OrderSourceSysNo = model.DeliverymanSysNo; so.PayStatus = (int)OrderStatus.销售单支付状态.已支付; so.SalesSysNo = 0; so.SalesType = (int)OrderStatus.销售方式.普通订单; so.Status = (int)OrderStatus.销售单状态.已完成; so.OnlineStatus = Constant.OlineStatusType.已发货; //创建订单主表 ISoOrderDao.Instance.InsertEntity(so); so = SoOrderBo.Instance.GetEntity(so.SysNo); var lstSoOrderItem = new List <SoOrderItem>(); var soItems = model.OrderInformations; #endregion //该商品配送员等级价总金额 var deliveryPrice = decimal.Zero; foreach (var item in soItems) { var originalPrice = SoOrderBo.Instance.GetOriginalPrice(model.UserSysNo, item.ProductSysNo); var soItem = new SoOrderItem() { OrderSysNo = so.SysNo, OriginalPrice = originalPrice, ProductName = item.ProductName, ProductSysNo = item.ProductSysNo, TransactionSysNo = so.TransactionSysNo, Quantity = item.ProductOrderNumber, SalesAmount = originalPrice * item.ProductOrderNumber, RealStockOutQuantity = item.ProductOrderNumber, ProductSalesType = (int)CustomerStatus.商品销售类型.普通, SalesUnitPrice = originalPrice }; so.OrderAmount += originalPrice * item.ProductOrderNumber; //创建订单明细 soItem.SysNo = ISoOrderItemDao.Instance.Insert(soItem); lstSoOrderItem.Add(soItem); #region 计算商品配送员进货价 var productLendItem = IProductLendDao.Instance.GetWhProductLendItemInfo(new ParaWhProductLendItemFilter() { DeliveryUserSysNo = model.DeliverymanSysNo, ProductSysNo = item.ProductSysNo, PriceSource = ProductStatus.产品价格来源.配送员进货价.GetHashCode() }); if (productLendItem != null) { deliveryPrice += item.ProductOrderNumber * productLendItem.Price; } #endregion #region 修改借货数量 //配送员补单的时候,eas 要做还货,然后再做销售出库 //(即补单完成后,要先调用还货接口、再调用销售出库接口) ProductReturn(model.DeliverymanSysNo, item, user.SysNo); #endregion #region EAS业务数据 var product = PdProductBo.Instance.GetProduct(item.ProductSysNo); if (product == null) { continue; } //重新获取到包含信用等级价格的借货明细 var productLend = IProductLendDao.Instance.GetWhProductLendItemInfo(new ParaWhProductLendItemFilter() { ProductSysNo = product.SysNo, DeliveryUserSysNo = model.DeliverymanSysNo, PriceSource = ProductStatus.产品价格来源.配送员进货价.GetHashCode() }); var warehouse = WhWarehouseBo.Instance.GetWarehouse(model.WarehouseSysNo); var warehouseErpCode = string.Empty; string organizationCode = string.Empty;//组织机构代码 if (warehouse != null) { warehouseErpCode = warehouse.ErpCode; var oraganization = OrganizationBo.Instance.GetOrganization(warehouse.SysNo); if (oraganization != null) { organizationCode = oraganization.Code; } } if (productLend == null) { continue; } #region EAS还货数据 var borrowInfoGroup = borrowInfoGroupList.SingleOrDefault(x => x.ProductLendSysNo == productLend.ProductLendSysNo) ?? new BorrowInfoGroup() { ProductLendSysNo = productLend.ProductLendSysNo }; var borrowInfo = new BorrowInfo() { ErpCode = product.ErpCode, Quantity = item.ProductOrderNumber, WarehouseNumber = warehouseErpCode, Amount = productLend.Price, Remark = string.Empty, WarehouseSysNo = model.WarehouseSysNo }; //入库单 var stockin = IInStockDao.Instance.GetStockInBySource(WarehouseStatus.入库单据类型.借货单.GetHashCode(), productLend.SysNo); if (stockin != null) { borrowInfoGroup.StockInSysno = stockin.SysNo; } borrowInfoGroup.BorrowInfoList.Add(borrowInfo); //添加到GroupList中 if (borrowInfoGroupList.All(x => x.ProductLendSysNo != productLend.ProductLendSysNo)) { borrowInfoGroupList.Add(borrowInfoGroup); } #endregion #region EAS销售出库数据 //根据借货单编号查询分组数据中的SaleInfo信息 var saleInfoGroup = saleInfoGroupList.SingleOrDefault(x => x.ProductLendSysNo == productLend.ProductLendSysNo) ?? new SaleInfoGroup() { ProductLendSysNo = productLend.ProductLendSysNo }; var saleInfo = new SaleInfo() { ErpCode = product.ErpCode, Quantity = item.ProductOrderNumber, WarehouseNumber = warehouseErpCode, WarehouseSysNo = model.WarehouseSysNo, OrganizationCode = organizationCode, Amount = originalPrice, //销售出库接口的备注格式:JC[Hyt借货单系统编号]-[借货员姓名]-XS[Hyt订单号] Remark = string.Format("JC[{0}]-[{1}]-XS[{2}],配送方式:百城当日达(补单)", saleInfoGroup.ProductLendSysNo, deliveryUser != null ? deliveryUser.UserName : model.DeliverymanSysNo.ToString(CultureInfo.InvariantCulture), so.SysNo) }; saleInfoGroup.SaleInfoList.Add(saleInfo); //添加到Groups中 if (saleInfoGroupList.All(x => x.ProductLendSysNo != productLend.ProductLendSysNo)) { saleInfoGroupList.Add(saleInfoGroup); } #endregion #endregion } #region 恢复配送员信用 if (deliveryPrice > decimal.Zero) { DeliveryUserCreditBo.Instance.UpdateRemaining(model.WarehouseSysNo, model.DeliverymanSysNo, 0, deliveryPrice, "补单,单号:" + so.SysNo); } #endregion #region 更新订单、创建收款单、加入订单池、创建配送单配送在途 //从接口调用金额计算 so.CashPay = ISoOrderItemDao.Instance.SynchronousOrderAmount(so.SysNo);//同步订单价格 //so.CashPay = so.OrderAmount; //订单现金支付金额 //更新订单金额 so.ProductAmount = so.OrderAmount; SoOrderBo.Instance.UpdateOrder(so); //更新订单 余勇修改为调用业务层方法 ISoOrderDao.Instance.Update(so); //创建订单收款单 FnReceiptVoucherBo.Instance.CreateReceiptVoucherByOrder(so); SoOrderBo.Instance.WriteSoTransactionLog(so.TransactionSysNo , string.Format(Constant.ORDER_TRANSACTIONLOG_CREATE, so.SysNo) , user.UserName); //补单不用加入订单池 //创建出库单已签收 var stockOut = CreateOutStock(lstSoOrderItem, model.WarehouseSysNo, user); //配送方式 var delivertType = DeliveryTypeBo.Instance.GetDeliveryType(so.DeliveryTypeSysNo); //创建配送单配送在途 LgDeliveryBo.Instance.CreateLgDelivery(model.WarehouseSysNo, model.DeliverymanSysNo, delivertType, user.SysNo, new List <LgDeliveryItem> { new LgDeliveryItem { NoteType = (int)LogisticsStatus.配送单据类型.出库单, NoteSysNo = stockOut.SysNo, ExpressNo = "" } }, true); #endregion #region EAS还货 if (borrowInfoGroupList.Any()) { //摘要:JC[Hyt借出编号]-[借货员姓名]-RK[Hyt入库编号] //(如果还货的商品在不同 借货单中,就以借货单明细分开调用) borrowInfoGroupList.ForEach(x => { if (x.BorrowInfoList.Count > 0) { client.Return(x.BorrowInfoList, string.Format("JC[{0}]-[{1}]-RK[{2}]", x.ProductLendSysNo, deliveryUser != null ? deliveryUser.UserName : model.DeliverymanSysNo.ToString(), x.StockInSysno), x.ProductLendSysNo.ToString()); } }); } #endregion #region EAS出库 if (saleInfoGroupList.Any()) { saleInfoGroupList.ForEach(x => { if (x.SaleInfoList.Count > 0) { client.SaleOutStock(x.SaleInfoList, Extra.Erp.Model.EasConstant.HytCustomer, so.SysNo.ToString(), so.TransactionSysNo); } }); } #endregion //新增会员明细 2014-1-17 黄志勇 添加 LgSettlementBo.Instance.WriteShopNewCustomerDetail(so.CustomerSysNo, stockOut.StockOutAmount); result.Status = true; result.StatusCode = so.SysNo; result.Message = "补单成功!"; return(result); }
/// <summary> /// 推送订单 /// </summary> /// <returns></returns> /// <remarks>2016-3-21 王耀发 创建</remarks> public override Result PushOrder(int soOrderSysNo) { Result result = new Result(); int IcpType = (int)Model.CommonEnum.商检.广州南沙; Hyt.Model.Manual.SoOrderMods order = SoOrderBo.Instance.GetSoOrderMods(soOrderSysNo); order.ReceiveAddress = SoOrderBo.Instance.GetOrderReceiveAddress2(order.ReceiveAddressSysNo); order.ReceiverProvince = ((Hyt.Model.Manual.SoReceiveAddressMod)order.ReceiveAddress).ReceiverProvince.Trim(); order.ReceiverCity = ((Hyt.Model.Manual.SoReceiveAddressMod)order.ReceiveAddress).ReceiverCity.Trim(); order.ReceiverArea = ((Hyt.Model.Manual.SoReceiveAddressMod)order.ReceiveAddress).ReceiverArea.Trim(); order.OrderItemList = SoOrderBo.Instance.GetOrderItemsByOrderId(order.SysNo); order.OrderInvoice = SoOrderBo.Instance.GetFnInvoice(order.InvoiceSysNo); order.ReceiptVoucher = Hyt.BLL.Finance.FnReceiptVoucherBo.Instance.GetReceiptVoucherByOrder(soOrderSysNo); order.ReceiptVoucherItemList = Hyt.BLL.Finance.FnReceiptVoucherBo.Instance.GetReceiptVoucherItem(order.ReceiptVoucher.SysNo); IList <int> proIdList = new List <int>(); List <Hyt.Model.Manual.SoOrderItemByPro> soProList = new List <Model.Manual.SoOrderItemByPro>(); foreach (var item in order.OrderItemList) { proIdList.Add(item.ProductSysNo); } IList <IcpGZNanShaGoodsInfo> proList = Hyt.BLL.Product.PdProductBo.Instance.GetIcpGZNanShaGoodsInfoList(proIdList); if (order.OrderItemList.Count != proList.Count) { return(new Result() { Message = "订单明细有尚未备案的商品,推送失败", Status = false }); } foreach (var proItem in proList) { SoOrderItem item = order.OrderItemList.First(p => p.ProductSysNo == proItem.ProductSysNo); Hyt.Model.Manual.SoOrderItemByPro mod = new Model.Manual.SoOrderItemByPro(); mod.GCode = proItem.Gcode; mod.ProductSysNo = proItem.ProductSysNo; mod.Hscode = proItem.HSCode; mod.CiqGoodsNo = proItem.CIQGoodsNo; mod.ProductName = proItem.Gname; mod.Brand = proItem.Brand; mod.Spec = proItem.Spec; mod.Origin = proItem.AssemCountry; mod.QtyUnit = proItem.Unit; mod.Qty = item.Quantity.ToString(); mod.DecPrice = item.SalesUnitPrice; mod.DecTotal = item.SalesAmount; mod.SellWebSite = proItem.SellWebSite; soProList.Add(mod); } ////测试 //foreach (var proItem in order.OrderItemList) //{ // var product = Hyt.BLL.Product.PdProductBo.Instance.GetProduct(proItem.ProductSysNo); // //获取启邦商品备案信息 // var IcpQiBang = Hyt.BLL.ApiIcq.IcpBo.Instance.GetIcpQiBangGoodsInfoEntityByPid(proItem.ProductSysNo); // Hyt.Model.Manual.SoOrderItemByPro mod = new Model.Manual.SoOrderItemByPro(); // mod.GCode = IcpQiBang.item_code; // mod.ProductSysNo = proItem.ProductSysNo; // mod.Hscode = IcpQiBang.item_id; // mod.CiqGoodsNo = IcpQiBang.ciqgoodsno; // mod.ProductName = IcpQiBang.item_name; // mod.Brand = Hyt.BLL.Product.PdBrandBo.Instance.GetEntity(product.BrandSysNo).Name; // mod.Spec = IcpQiBang.item_spec; // mod.Origin = IcpQiBang.origincountry; // mod.QtyUnit = "克"; // mod.Qty = proItem.Quantity.ToString(); // mod.DecPrice = proItem.SalesUnitPrice; // mod.DecTotal = proItem.SalesAmount; // mod.SellWebSite = "http://www.gaopin999.com/"; // soProList.Add(mod); //} Hyt.Model.Icp.GZNanSha.Order.Root root = new Hyt.Model.Icp.GZNanSha.Order.Root(); root.head = new Model.Icp.GZNanSha.Head(); root.body = new Model.Icp.GZNanSha.Order.OrderBody(); root.body.record = new Model.Icp.GZNanSha.Order.OrderBodyRecord(); root.body.record.cusOrderMod = new Model.Icp.GZNanSha.Order.CustomOrderMod(); root.body.record.cusOrderMod.orderGoodsList = new Model.Icp.GZNanSha.Order.OrderGoodsList(); //生成最大流水号 string MaxSerialNumber = GetMaxSerialNumberByMType(IcpType.ToString(), config.NSIcpInfo.OrderMessageType); DateTime now = DateTime.Now; string strDate = now.ToString("yyyyMMddHHmmssfff"); string strDateMid = now.ToString("yyyyMMddHHmmss"); //string fileName = config.NSIcpInfo.OrderMessageType + "_" + strDate + MaxSerialNumber; string fileName = config.NSIcpInfo.OrderMessageType + "_" + strDate; string MessageID = "ICIP" + strDateMid; SetCustomOrderHead(MessageID, root.head); BindCusOrderData(order, root.body.record.cusOrderMod); BindCusOrderGoodsData(soProList, root.body.record.cusOrderMod.orderGoodsList); string str = Hyt.Util.Serialization.SerializationUtil.XmlSerialize <Model.Icp.GZNanSha.Order.Root>(root); str = str.Replace("encoding=\"utf-16\"", "encoding=\"utf-8\""); str = str.Replace("Root", "ROOT"); FtpUtil ftp = new FtpUtil(config.NSIcpInfo.FtpUrl, config.NSIcpInfo.FtpName, config.NSIcpInfo.FtpPassword); string msg = ""; fileName = fileName + ".xml"; try { ftp.UploadFile(config.NSIcpInfo.FtpUrl + "4200.IMPBA.SWBEBTRADE.REPORT/in", fileName, Encoding.UTF8.GetBytes(str), out msg); //新增商检表信息 int UserSysNo = AdminAuthenticationBo.Instance.Current.Base.SysNo; CIcp model = new CIcp(); model.SourceSysNo = soOrderSysNo; model.IcpType = Hyt.Model.CommonEnum.商检.广州南沙.GetHashCode(); model.MessageID = MessageID; model.MessageType = config.NSIcpInfo.OrderMessageType; model.SerialNumber = MaxSerialNumber; model.XmlContent = str; model.Status = (int)IcpStatus.商品商检推送状态.已推送; model.CreatedBy = UserSysNo; model.CreatedDate = DateTime.Now; model.LastUpdateBy = UserSysNo; model.LastUpdateDate = DateTime.Now; model.SysNo = IcpDao.Instance.Insert(model); //插入明细 foreach (var proItem in proList) { var m = new CIcpGoodsItem { SourceSysNo = soOrderSysNo, IcpType = model.IcpType, MessageID = MessageID, IcpGoodsSysNo = model.SysNo, ProductSysNo = proItem.ProductSysNo, EntGoodsNo = "None", CreatedBy = UserSysNo, CreatedDate = DateTime.Now, LastUpdateBy = UserSysNo, LastUpdateDate = DateTime.Now }; IcpDao.Instance.InsertIcpGoodsItem(m); } //foreach (var proItem in order.OrderItemList) //{ // var m = new CIcpGoodsItem // { // SourceSysNo = soOrderSysNo, // IcpType = model.IcpType, // MessageID = MessageID, // IcpGoodsSysNo = model.SysNo, // ProductSysNo = proItem.ProductSysNo, // EntGoodsNo = "None", // CreatedBy = UserSysNo, // CreatedDate = DateTime.Now, // LastUpdateBy = UserSysNo, // LastUpdateDate = DateTime.Now // }; // IcpDao.Instance.InsertIcpGoodsItem(m); //} //更新订单的商检推送状态 SoOrderBo.Instance.UpdateOrderNsStatus(soOrderSysNo, (int)OrderStatus.商检状态.已推送); result.Status = true; result.Message = root.head.MessageID; } catch (Exception ex) { result.Status = false; result.Message = ex.Message; } return(result); }
/// <summary> /// 商城退货单导入商城 /// </summary> /// <param name="mallRma">退货单实体</param> /// <returns>处理结果</returns> /// <remarks>2013-8-29 陶辉 创建</remarks> /// <remarks>2013-09-10 朱家宏 实现</remarks> /// <remarks>2013-10-21 黄志勇 修改退换货子表实退商品金额</remarks> public Result ImportMallRma(UpGradeRma mallRma) { //直接申请退换单,根据原订单匹配成功的商品明细进行退货 var result = new Result(); try { //升舱订单数据 var dsOrder = BLL.MallSeller.DsOrderBo.Instance.GetDsOrderByMallOrderId(mallRma.MallOrderId); var dsOrderItems = BLL.MallSeller.DsOrderBo.Instance.GetDsOrderItems(dsOrder.SysNo); //HYT订单主表数据 var soOrder = DataAccess.Order.ISoOrderDao.Instance.GetByTransactionSysNo(dsOrder.OrderTransactionSysNo); if (soOrder.Status != (int)Model.WorkflowStatus.OrderStatus.销售单状态.已完成) { result.Message = "未完成的订单不允许做此操作。"; result.Status = false; result.StatusCode = -1; return(result); } //订单明细数据 var soOrderItems = BLL.Order.SoOrderBo.Instance.GetOrderItemsByOrderId(soOrder.SysNo); if (soOrderItems == null) { throw new ArgumentNullException(); } //退换货明细 var rcReturnItems = new List <RcReturnItem>(); foreach (var item in mallRma.RmaItems) { var outitem = Hyt.BLL.Warehouse.WhWarehouseBo.Instance.GetWhStockOutItem(item.StockOutItemSysNo); SoOrderItem soOrderItem = null; if (outitem != null) { soOrderItem = soOrderItems.FirstOrDefault(m => m.SysNo == outitem.OrderItemSysNo); } if (soOrderItem != null) { var rcReturnItem = new RcReturnItem { OriginPrice = soOrderItem.OriginalPrice, ProductName = soOrderItem.ProductName, ProductSysNo = int.Parse(item.HytProductCode), ReturnPriceType = (int)Model.WorkflowStatus.RmaStatus.商品退款价格类型.自定义价格, ReturnType = (int)Model.WorkflowStatus.RmaStatus.商品退换货类型.新品, RmaQuantity = item.MallQuantity, RmaReason = "", StockOutItemSysNo = item.StockOutItemSysNo, RefundProductAmount = Math.Round(outitem.RealSalesAmount * ((decimal)item.MallQuantity / (decimal)outitem.ProductQuantity), 2) }; rcReturnItems.Add(rcReturnItem); } } var refundProductAmount = rcReturnItems.Sum(o => o.RefundProductAmount); //退款金额合计 var rcReturn = new CBRcReturn { CreateBy = soOrder.CustomerSysNo, CreateDate = DateTime.Now, CustomerSysNo = soOrder.CustomerSysNo, HandleDepartment = (int)Model.WorkflowStatus.RmaStatus.退换货处理部门.客服中心, InvoiceSysNo = soOrder.InvoiceSysNo, LastUpdateBy = soOrder.OrderCreatorSysNo, LastUpdateDate = DateTime.Now, OrderSysNo = soOrder.SysNo, ReceiveAddressSysNo = soOrder.ReceiveAddressSysNo, RMARemark = "", RmaType = (int)Model.WorkflowStatus.RmaStatus.RMA类型.售后退货, Source = (int)Model.WorkflowStatus.RmaStatus.退换货申请单来源.分销商, Status = (int)Model.WorkflowStatus.RmaStatus.退换货状态.待审核, WarehouseSysNo = soOrder.DefaultWarehouseSysNo, RMAItems = rcReturnItems, DeductedInvoiceAmount = 0, InternalRemark = mallRma.BuyerRmaReason,//退款说明 IsPickUpInvoice = 0, OrginAmount = refundProductAmount, OrginPoint = (int)refundProductAmount, RefundPoint = (int)refundProductAmount, PickUpAddressSysNo = 0, PickUpTime = "", PickupTypeSysNo = 0, RedeemAmount = 0, RefundAccount = "", RefundAccountName = "", RefundBank = "", RefundBy = 0, ShipTypeSysNo = 0, RefundDate = DateTime.Now, RefundProductAmount = refundProductAmount, RefundTotalAmount = refundProductAmount, RefundType = (int)Hyt.Model.WorkflowStatus.RmaStatus.退换货退款方式.分销商预存 }; //当前操作用户 var htyUserSysNo = IDsOrderDao.Instance.GetDealer(mallRma.DealerSysNo).UserSysNo; var syUser = BLL.Sys.SyUserBo.Instance.GetSyUser(htyUserSysNo); var pickaddress = BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(soOrder.ReceiveAddressSysNo);//收货地址变成取件地址 pickaddress.SysNo = 0; using (var tran = new TransactionScope()) { //创建rma单 var rmaSysNo = BLL.RMA.RmaBo.Instance.InsertRMA(rcReturn, pickaddress, null, syUser); var htyRma = BLL.RMA.RmaBo.Instance.GetRcReturnEntity(rmaSysNo); //分销商退换货单 var dsReturn = new DsReturn { ApplicationTime = mallRma.ApplyTime, BuyerNick = mallRma.MallBuyerName, RmaRemark = mallRma.BuyerRmaReason, DealerMallSysNo = mallRma.DealerMallSysNo, MallOrderId = mallRma.MallOrderId, MallReturnAmount = mallRma.MallRefundFee, MallReturnId = mallRma.MallRmaId, BuyerRemark = mallRma.MallRmaMessage, RmaType = (int)Model.WorkflowStatus.RmaStatus.RMA类型.售后退货, RcReturnSysNo = rmaSysNo, ReturnTransactionSysNo = htyRma.TransactionSysNo }; var dsReturnItems = new List <DsReturnItem>(); foreach (var rmaItem in mallRma.RmaItems) { var myid = BLL.MallSeller.DsOrderBo.Instance.GetDsOrderItemAssociationByOutStockItemNo(rmaItem.StockOutItemSysNo).Select(m => m.DsOrderItemSysNo).FirstOrDefault(); DsOrderItem dsOrderItem = dsOrderItems.FirstOrDefault(m => m.SysNo == myid); if (dsOrderItem == null) { dsOrderItem = new DsOrderItem(); } dsReturnItems.Add(new DsReturnItem { Amount = rmaItem.HytRmaAmount, MallProductAttribute = dsOrderItem.MallProductAttribute, MallProductId = dsOrderItem.MallProductId, MallProductName = dsOrderItem.MallProductName, Quantity = rmaItem.MallQuantity }); } //创建『分销商退换货单』 BLL.MallSeller.DsReturnBo.Instance.Create(dsReturn, dsReturnItems); if (!string.IsNullOrEmpty(mallRma.ImgPaths)) { string[] paths = mallRma.ImgPaths.Split(','); foreach (string str in paths) { BLL.RMA.RmaBo.Instance.InsertRMAImg(new RcReturnImage() { ImageUrl = str, ReturnSysNo = rmaSysNo }); } } result.Message = "操作成功。"; result.Status = true; result.StatusCode = rmaSysNo; tran.Complete(); } } catch { result.Message = "操作失败。"; result.Status = false; result.StatusCode = -1; } return(result); }