/// <summary> /// 购买获取报表的实体 /// </summary> /// <param name="userCode"></param> /// <param name="order"></param> /// <param name="payType"></param> /// <returns></returns> public financialStatements getData(string userCode, Order order, string payType) { ICouponService _couponService = new CouponService(); IProductInfoService _productInfoService = new ProductInfoService(); ICouponTypeService _couponTypeService = new CouponTypeService(); IUseWalletService _useWalletService = new UseWalletService(); IStoreService _storeService = new StoreService(); IUserInfo _userService = new UserInfo(); var uw = _useWalletService.GetUseWalletCountMoney(userCode); var s = _storeService.GetStore(order.StoreCode); var p = _productInfoService.GetProductInfo(order.ProductCode); var u = _userService.GetUserByCode(userCode); financialStatements fs = new financialStatements(); fs.Code = Guid.NewGuid().ToString(); fs.CreateTime = order.CreateTime; fs.UserPhone = u?.Phone; fs.UserCreateTime = u?.CreateTime; fs.StoreName = s?.StoreName; fs.OrderNo = order.OrderNO; switch (p.Type) { case "1": fs.ProductionType = "体验服务"; break; case "2": fs.ProductionType = "硬件产品"; break; case "3": fs.ProductionType = "水吧服务"; break; case "4": fs.ProductionType = "衍生品"; break; case "5": fs.ProductionType = "配件"; break; } fs.Cstname = "普通销售"; fs.ProductionCode = p.ProductCode; fs.ProductionName = p.ProductName; fs.Iquantity = order.Number; fs.Itaxunitprice = p.ExperiencePrice; if (payType.Equals("微信")) { fs.Isum = order.Money; } else { fs.Isum = p.ExperiencePrice * order.Number; } fs.CpersonName = p.CreatorName; fs.PayType = payType; fs.AmountOfIncome = order.Money; fs.DonationAmount = 0; fs.CouponUseCode = order.ExperienceVoucherCode; if (!string.IsNullOrEmpty(order.ExperienceVoucherCode)) { var coupon = _couponService.GetCouponByCode(order.ExperienceVoucherCode); var couponMoney = _couponTypeService.GetCouponTypeByCode(coupon?.CouponTypeCode); if (couponMoney != null) { fs.CouponUseMoney = couponMoney.Money; } } fs.GetCouponTime = order.CreateTime; if (payType.Equals("微信")) { fs.UseWalletMoney = order.Money; fs.Ratio = "100%"; } else { fs.UseWalletMoney = uw.TotalAmount; fs.UseWalletMoney1 = fs.UseWalletMoney; fs.UseWalletAccountPrincipal = uw.AccountPrincipal; if (!string.IsNullOrEmpty(uw.Ratio)) { fs.Ratio = Math.Round(100 - Convert.ToDouble(uw.Ratio) * 100, 2).ToString() + '%'; } fs.UseWalletMoney = uw.TotalAmount - order.Money; fs.UseWalletAccountPrincipal = uw.AccountPrincipal - order.Money * (1 - Convert.ToDecimal(uw.Ratio)); if (fs.UseWalletMoney != 0) { if (!string.IsNullOrEmpty(uw.Ratio)) { fs.Ratio = Math.Round(100 - Convert.ToDouble(uw.Ratio) * 100, 2).ToString() + '%'; } else { fs.Ratio = "100%"; } } else { fs.Ratio = "100%"; } fs.UseWalletMoney1 = fs.UseWalletMoney; } fs.ProductInfoRate = p.Rate + "%"; return(fs); }
/// <summary> /// 核销 /// </summary> /// <param name="userCode"></param> /// <param name="order"></param> /// <param name="payType"></param> /// <returns></returns> public financialStatements getWriteOff(string wfuserName, string userCode, string orderCode, string payType, decimal?RecordsAccountPrincipalMoney) { var dateTime = DateTime.Now; ICouponService _couponService = new CouponService(); IProductInfoService _productInfoService = new ProductInfoService(); ICouponTypeService _couponTypeService = new CouponTypeService(); IUseWalletService _useWalletService = new UseWalletService(); IOrderService _orderService = new OrderService(); IStoreService _storeService = new StoreService(); IUserInfo _userService = new UserInfo(); var order = _orderService.GetOrderByCode(orderCode); var uw = _useWalletService.GetUseWalletCountMoneyWf(userCode); var s = _storeService.GetStore(order.StoreCode); var p = _productInfoService.GetProductInfo(order.ProductCode); var u = _userService.GetUserByCode(userCode); financialStatements fs = new financialStatements(); fs.OrderNo = order?.OrderNO; fs.Code = Guid.NewGuid().ToString(); fs.CreateTime = dateTime; fs.UserPhone = u?.Phone; fs.UserCreateTime = u?.CreateTime; fs.StoreName = s?.StoreName; switch (p.Type) { case "1": fs.ProductionType = "体验服务"; break; case "2": fs.ProductionType = "硬件产品"; break; case "3": fs.ProductionType = "水吧服务"; break; case "4": fs.ProductionType = "衍生品"; break; case "5": fs.ProductionType = "配件"; break; } fs.Cstname = "普通销售"; fs.ProductionCode = ""; fs.ProductionName = ""; fs.Iquantity = 0; fs.Itaxunitprice = 0; fs.Isum = 0; fs.CpersonName = p.CreatorName; fs.PayType = payType; fs.AmountOfIncome = 0; fs.DonationAmount = 0; fs.CouponUseCode = ""; fs.CouponUseMoney = 0; fs.GetCouponTime = null; if (payType.Equals("微信")) { fs.UseWalletMoney = order.Money; fs.Ratio = "100%"; } else { fs.UseWalletMoney = uw.TotalAmount; fs.UseWalletMoney1 = fs.UseWalletMoney; fs.UseWalletAccountPrincipal = uw.AccountPrincipal; if (!string.IsNullOrEmpty(uw.Ratio)) { fs.Ratio = Math.Round(100 - Convert.ToDouble(uw.Ratio) * 100, 2).ToString() + '%'; } } fs.RecordsOfConsumptionCreateTime = dateTime; fs.WriteOffUser = wfuserName; fs.ProductionCode1 = p.ProductCode; fs.ProductionName1 = p.ProductName; fs.ExperiencePrice = p.ExperiencePrice; fs.Iquantity1 = order.Number; fs.RecordsMoney = p.ExperiencePrice * order.Number; if (!string.IsNullOrEmpty(order.ExperienceVoucherCode)) { var coupon = _couponService.GetCouponByCode(order.ExperienceVoucherCode); var couponMoney = _couponTypeService.GetCouponTypeByCode(coupon?.CouponTypeCode); if (couponMoney != null) { fs.CouponUseMoney1 = couponMoney.Money; fs.ActualConsumption = fs.RecordsMoney - fs.CouponUseMoney1; if (fs.ActualConsumption < 0m) { fs.ActualConsumption = 0m; } } } else { fs.ActualConsumption = fs.RecordsMoney; } if (payType.Equals("微信")) { fs.FinancialRevenueAccounting = fs.ActualConsumption; } else { fs.FinancialRevenueAccounting = RecordsAccountPrincipalMoney; } fs.Imoney = fs.FinancialRevenueAccounting / (Convert.ToDecimal((Convert.ToDouble(p.Rate)) * 0.01) + 1); fs.ProductInfoRate = p.Rate + "%"; fs.Itax = fs.Imoney * Convert.ToDecimal((Convert.ToDouble(p.Rate)) * 0.01); fs.GrossProfit = fs.Imoney; return(fs); }