public ActionResult SaleOrderDetail(string paySN, decimal preferentialPrice, decimal totalAmount, string changedDetails) { return(Content("修改订单功能已关闭")); var result = SaleOrdersService.UpdateSaleOrder(paySN, preferentialPrice, totalAmount, changedDetails, Sys.CurrentUser.UID); return(Content(result.ToJson())); }
public ActionResult FindPageList() { int count; object footer; var list = SaleOrdersService.QuerySaleOrdersPageList(Request.Params, out count, out footer); return(ToDataGrid(list, count, footer)); }
public ValueObject.DayReportResult DayMonthReport(DateTime from, DateTime to, Sale.Range range) { DayReportResult result = new DayReportResult(); result.Summary = new List <DayReportDetailItem>(); result.SalesmanRecords = new List <SalesmanDayReportResult>(); var machineParams = range == Range.Local ? MachineSN : ""; var users = SaleOrdersService.DayMonthReport(from, to, ref result, StoreId, machineParams, CompanyId, IsSalesclerkTest); SaleDetailService.DayMonthReport(from, to, ref result, StoreId, machineParams, CompanyId, IsSalesclerkTest, users); PosIncomePayoutService.DayMonthReport(from, to, ref result, StoreId, machineParams, CompanyId, IsSalesclerkTest); return(result); }
public ActionResult Index() { ViewBag.cashiers = ListToSelect(SaleOrdersService.GetCashiers(), emptyTitle: "全部"); ViewBag.salers = ListToSelect(SaleOrdersService.GetSalers(), emptyTitle: "全部"); ViewBag.stores = ListToSelect(WarehouseService.GetList(true).Select(o => new SelectListItem() { Value = o.StoreId, Text = o.Title, Selected = Sys.CurrentUser.StoreId == o.StoreId }), emptyTitle: "全部"); ViewBag.apiCodes = ListToSelect(ApiLibraryService.GetAllApiLibrary().Select(a => new SelectListItem() { Value = a.ApiCode.ToString(), Text = a.Title }), emptyTitle: "全部"); return(View()); }
public ActionResult SaleOrderDetail(string paySN) { //var model = SaleOrdersService.Find(a => a.CompanyId == CommonService.CompanyId && a.PaySN == paySN); //var temp = UserInfoService.Find(a => a.UID == model.CreateUID); //ViewBag.cashier = temp == null ? "" : temp.FullName; //temp = UserInfoService.Find(a => a.UID == model.Salesman); //ViewBag.shoppingGuide = temp == null ? "" : temp.FullName; ; //ViewBag.store = WarehouseService.IsExist(a => a.CompanyId == CommonService.CompanyId && a.StoreId == model.StoreId) ? WarehouseService.Find(a => a.CompanyId == CommonService.CompanyId && a.StoreId == model.StoreId).Title : ""; ViewBag.salesClassify = ListToSelect(SysDataDictService.GetDictionaryList(Logic.DicType.销售分类).Select(a => new SelectListItem() { Value = a.DicSN.ToString(), Text = a.Title })); //ViewBag.thirdPartyTradeNo = ConsumptionPaymentService.IsExist(a => a.PaySN == paySN) ? ConsumptionPaymentService.Find(a => a.PaySN == paySN).ApiOrderSN : ""; //ViewBag.thirdPartyTradeNo = PayNotifyResultService.IsExist(a => a.CompanyId == CommonService.CompanyId && a.PaySN == paySN) ? PayNotifyResultService.Find(a => a.CompanyId == CommonService.CompanyId && a.PaySN == paySN).TradeNo : ""; var obj = SaleOrdersService.GetDetailBypaysn(paySN); return(View(obj)); }
/// <summary> /// 销售类型统计 /// </summary> /// <param name="storeId"></param> /// <param name="date"></param> /// <param name="lx">1-日结,2-月结</param> /// <returns></returns> public static object SaleTypeReport(string storeId, string date, short lx) { if (string.IsNullOrWhiteSpace(storeId)) { throw new MessageException("门店号为空!"); } if (string.IsNullOrWhiteSpace(date)) { throw new MessageException("日期为空!"); } var start = DateTime.Parse(date).Date; var end = start.AddDays(1); if (lx == 2) { start = new DateTime(start.Year, start.Month, 1); end = start.AddMonths(1); } var giftStatus = new int[] { (int)SaleStatus.ActivityGifts, (int)SaleStatus.POSGift }; var allist = SaleOrdersService.FindList(o => o.CreateDT >= start && o.CreateDT < end && o.StoreId == storeId && !o.IsTest && o.CompanyId == CommonService.CompanyId); var salelist = allist.Where(o => o.Type == 0 && o.State == 0); var huanglist = allist.Where(o => o.Type == 1 && o.State == 0); var retlist = allist.Where(o => o.Type == 2 || o.State == 1); var giftlist = (from a in SaleDetailService.CurrentRepository.Entities from b in SaleOrdersService.CurrentRepository.Entities where a.PaySN == b.PaySN && giftStatus.Contains(a.SalesClassifyId) && b.CreateDT >= start && b.CreateDT < end && b.StoreId == storeId && !b.IsTest && b.CompanyId == CommonService.CompanyId select a).ToList(); var list = new List <object>() { new{ Type = "销售", Count = salelist.Count(), Total = salelist.Sum(o => o.TotalAmount) }, new{ Type = "退货", Count = retlist.Count(), Total = retlist.Sum(o => Math.Abs(o.TotalAmount)) }, new{ Type = "赠送", Count = giftlist.Select(o => o.PaySN).Distinct().Count(), Total = giftlist.Sum(o => o.PurchaseNumber * o.SysPrice) }, new{ Type = "换货", Count = huanglist.Count(), Total = huanglist.Sum(o => Math.Abs(o.TotalAmount)) }, }; return(list); }
public ActionResult Index() { //if (!Sys.CurrentUser.IsLogin || Sys.CurrentUser.IsStore) //{ // return RedirectToAction("Login", "Account"); //} #region sync //ServiceReference1.Service1Client client = new ServiceReference1.Service1Client(); //ChannelFactory<Sync.IService1> myFactory = new ChannelFactory<Sync.IService1>("endpointConfig"); //Sync.IService1 client = myFactory.CreateChannel(); //ServiceReference2.AccountClient client = new ServiceReference2.AccountClient(); //using (TransactionScope tran = new TransactionScope()) //{ // var pv = client.GetPublish(CommonService.CompanyId, 1); // if (pv != null) // { // var menus = new List<Sys.Entity.SysMenus>(); //if (pv.ProductMenusk__BackingField != null) //{ // Pharos.Logic.BLL.SysMenuBLL menuBll = new SysMenuBLL(); // menus = pv.ProductMenusk__BackingField.Select(o => new Sys.Entity.SysMenus() // { // CompanyId = CommonService.CompanyId, // MenuId = o.MenuIdk__BackingField, // PMenuId = o.PMenuIdk__BackingField, // SortOrder = o.SortOrderk__BackingField, // Status = o.Statusk__BackingField, // Title = o.Titlek__BackingField, // Type = 0, // URL = o.Urlk__BackingField // }).ToList(); // menuBll.SyncMenu(menus); //} //if (pv.ProductLimitsk__BackingField != null) //{ // Pharos.Logic.BLL.SysLimitsBLL limitBll = new SysLimitsBLL(); // var limits = menus.Select(o => new Sys.Entity.SysLimits() // { // CompanyId = o.CompanyId, // LimitId = o.MenuId, // PLimitId = 0, // Depth = 1, // Status = Convert.ToInt16(o.Status), // Title = o.Title // }).ToList(); // limits.AddRange(pv.ProductLimitsk__BackingField.Select(o => new Sys.Entity.SysLimits() // { // CompanyId = CommonService.CompanyId, // LimitId = o.LimitIdk__BackingField.GetValueOrDefault(), // PLimitId = o.MenuIdk__BackingField.GetValueOrDefault(), // Depth = 2, // Status = Convert.ToInt16(o.Statusk__BackingField.GetValueOrDefault()), // Title = o.Titlek__BackingField // })); // limitBll.SyncLimit(limits); //} // } // tran.Complete(); //} //client.Close(); #endregion #region 验证 //1为单商户版本,其他值为多商户版本 string ver = Pharos.Utility.Config.GetAppSettings("ver"); //单商户版本 if (ver == "1") { if (!Sys.CurrentUser.IsLogin || Sys.CurrentUser.IsStore) { Response.Redirect("/Account/Login"); } } //多商户版本 else { //二级域名 string d = ""; //二级域名 string dom = ""; if (!RouteData.Values["dom"].IsNullOrEmpty()) { dom = RouteData.Values["dom"].ToString(); } //一级域名 string d1 = ""; if (!RouteData.Values["d1"].IsNullOrEmpty()) { d1 = RouteData.Values["d1"].ToString(); } //顶级域名 string d0 = ""; if (!RouteData.Values["d0"].IsNullOrEmpty()) { d0 = RouteData.Values["d0"].ToString(); } if (!d0.IsNullOrEmpty()) { if (!dom.IsNullOrEmpty()) { d = dom; } } //输入保留二级域名:store if (!RouteData.Values["cid"].IsNullOrEmpty()) { d = "store"; } //localhost访问、ip访问 if ((dom.ToLower().Trim() == "localhost") || (dom.IsNullOrEmpty() && d1.IsNullOrEmpty() && d0.IsNullOrEmpty())) { if (!Sys.CurrentUser.IsLogin || Sys.CurrentUser.IsStore) { Response.Redirect("/Account/Login"); return(null); } } //域名访问 else { //API的CID int cID = Authorize.getCID(d); //输入保留二级域名:store if (d.ToLower().Trim().Contains("store") && cID == -1) { //门店 Response.Redirect("/Store/Index"); return(null); } //请求API发生错误 else if (cID == -2) { Response.Redirect("/Account/error"); return(null); } //输入的二级域名是空 else if (cID == -1) { Response.Redirect("/Account/noBusiness"); return(null); } //输入的域名不存在商户 else if (cID == 0) { Response.Redirect("/Account/noBusiness"); return(null); } //输入的域名是保留二级域名 else if (cID == -3) { //在crm里面 if (d.ToLower() == "erp") { if (!Sys.CurrentUser.IsLogin || Sys.CurrentUser.IsStore) { Response.Redirect("/Account/Login"); return(null); } } //不在crm里面 else { Response.Redirect("/Account/noBusiness"); return(null); } } //输入的域名存在商户 else if (cID > 0) { var obj = UserInfoService.Find(o => o.CompanyId == cID); //CID在目前项目不存在 if (obj == null) { Response.Redirect("/Account/noUser?cid=" + cID); return(null); } else { if (!Sys.CurrentUser.IsLogin || Sys.CurrentUser.IsStore) { Response.Redirect("/Account/Login"); return(null); } else { if (Cookies.IsExist("remuc")) { //cookie的CID string cid = Cookies.Get("remuc", "_cid"); if (cid.IsNullOrEmpty()) { cid = "0"; } if (cID != Convert.ToInt32(cid)) { Response.Redirect("/Account/Login"); return(null); } } } } } } } #endregion //获取活动列表 var activityList = CommodityPromotionService.GetNewestActivity(3); //获取公告列表 var noticeList = NoticeService.GetNewestNotice(3); //采购订单列表 ViewBag.OrderList = OrderService.GetNewOrder(3); List <ActivityNoticeModel> activityNoticeList = new List <ActivityNoticeModel>(); if (activityList != null) { foreach (var activity in activityList) { activityNoticeList.Add(new ActivityNoticeModel(activity.Id, Enum.GetName(typeof(PromotionType), activity.PromotionType), DateTime.Parse(activity.StartDate.ToString()).ToString("yyyy-MM-dd") + "至" + DateTime.Parse(activity.EndDate.ToString()).ToString("yyyy-MM-dd"), Enum.GetName(typeof(SaleState), activity.State), activity.CreateDT, 1)); } } if (noticeList != null) { foreach (var notice in noticeList) { activityNoticeList.Add(new ActivityNoticeModel(notice.Id.ToString(), notice.Theme, notice.BeginDate.ToString("yyyy-MM-dd") + "至" + notice.ExpirationDate.ToString("yyyy-MM-dd"), notice.State == 1 ? "已发布":"未发布", notice.CreateDT, 2)); } } activityNoticeList = activityNoticeList.OrderByDescending(o => o.CreateDT).Take(3).ToList(); if (activityNoticeList == null) { activityNoticeList = new List <ActivityNoticeModel>(); } ViewBag.activityNoticeList = activityNoticeList;//活动公告 //todo: 模拟数据 string mode = Request["mode"]; ViewBag.accessCount = 0; ViewBag.WelcomeText = "欢迎光临"; ViewBag.CurUserName = Sys.CurrentUser.FullName; ViewBag.CurLoginName = Sys.CurrentUser.UserName; //近3天数据 var beginTime = DateTime.Parse(DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd")); var endTime = DateTime.Parse(DateTime.Now.AddDays(1).ToString("yyyy-MM-dd")); ViewBag.newMemberNumber = MembersService.GetNewMemberNumber(beginTime, endTime); //新增会员数量 ViewBag.newSalesVolume = ReportBLL.GetSalesVolume(beginTime, endTime); //新增销售量 var saleOrderList3Day = SaleOrdersService.GetIndexSaleOrder(beginTime, endTime); //3天内的销售订单 ViewBag.newSaleOrderNumber = saleOrderList3Day.Count(); //新增客单量 decimal newSaleTotal = 0; newSaleTotal = saleOrderList3Day.Sum(o => o.Receive); ViewBag.newSaleTotal = newSaleTotal;//新增销售额 //近7天数据 var dayTitleList = new List <string>(); var saleTotalList = new List <decimal>(); var saleOederNumberList = new List <int>(); var hotProductNameList = new List <string>(); var hotProductSaleNumList = new List <int>(); for (int i = 6; i >= 0; i--) { var time1 = DateTime.Parse(DateTime.Now.AddDays(0 - i).ToString("yyyy-MM-dd")); var time2 = DateTime.Parse(DateTime.Now.AddDays(0 - i + 1).ToString("yyyy-MM-dd")); var saleOrderList = SaleOrdersService.GetIndexSaleOrder(time1, time2); dayTitleList.Add(int.Parse(DateTime.Now.AddDays(0 - i).ToString("dd")) + "日"); saleTotalList.Add(saleOrderList.Sum(o => o.Receive)); saleOederNumberList.Add(saleOrderList.Count()); } var hotProductBeginTime = DateTime.Parse(DateTime.Now.AddDays(-6).ToString("yyyy-MM-dd")); var hotProductEndTime = DateTime.Parse(DateTime.Now.AddDays(1).ToString("yyyy-MM-dd")); ReportBLL.GetHotProduct(hotProductBeginTime, hotProductEndTime, out hotProductNameList, out hotProductSaleNumList); //近7天热销商品 ViewBag.hotProductNameList = hotProductNameList.ToJson(); ViewBag.hotProductSaleNumList = hotProductSaleNumList.ToJson(); ViewBag.hotProductNameListNotJson = hotProductNameList; ViewBag.dayTitleList = dayTitleList.ToJson(); ViewBag.saleTotalList = saleTotalList.ToJson(); //近7天销售额 ViewBag.saleOederNumberList = saleOederNumberList.ToJson(); //近7天客单量 var list = new List <Pharos.Sys.Models.MenuModel>(); list = _menuBLL.GetHomeMenusByUID(Sys.CurrentUser.UID); ViewBag.Menus = list; var set = new Pharos.Sys.BLL.SysWebSettingBLL().GetWebSetting(); //var comp = Authorize.GetCompanyByConnect(null); ViewBag.comptitle = set == null ? "ERP管理平台" : set.SysName; return(View(set ?? new Sys.Entity.SysWebSetting())); }
public object GetSalerList(int cid, string storeId) { return(SaleOrdersService.GetSalers(storeId)); }
public BillHistoryInfo GetBillDetailsHistory(string paySn) { return(SaleOrdersService.GetBillDetailsHistory(StoreId, MachineSN, paySn, CompanyId, IsSalesclerkTest)); }
public IEnumerable <BillListItem> GetBills(DateTime date, Range range, string paySn, string cashier, string qmachineSn) { return(SaleOrdersService.GetBills(StoreId, qmachineSn, date, CompanyId, range, IsSalesclerkTest, paySn, cashier)); }
public ActionResult Index() { #region 如未登录 或 非门店登录,则跳转到 门店登录页 if (!Sys.CurrentStoreUser.IsLogin) { Sys.CurrentStoreUser.Exit(); return(RedirectToAction("Login")); //Response.Redirect("/Store/Login"); } #endregion /* * csID csid2 = ipLocalhost(); * * //url中cid * string s_cid = ""; * * if (!RouteData.Values["cid"].IsNullOrEmpty()) * { * s_cid = RouteData.Values["cid"].ToString(); * } * //url中sid * string s_sid = ""; * * if (!RouteData.Values["sid"].IsNullOrEmpty()) * { * s_sid = RouteData.Values["sid"].ToString(); * } * * if (csid2.message == "禁止访问") * { * Response.Redirect("/Account/noBusiness"); * return null; * } * * if (!s_cid.IsNullOrEmpty() && !s_sid.IsNullOrEmpty()) * { * Authorize authorize = new Authorize(); * csID csid = authorize.getCidSid(s_cid, s_sid); * if (csid.message == "格式错误") * { * Response.Redirect("/Account/noBusiness"); * return null; * } * else if (csid.message == "域名的store后面必须是数字") * { * Response.Redirect("/Account/noBusiness"); * return null; * } * else if (csid.message == "success") * { * //如未登录 或 非门店登录,则跳转到 门店登录页 * if (!Sys.CurrentUser.IsLogin || !Sys.CurrentUser.IsStore) * { * Sys.CurrentUser.Exit(); * * //ip、localhost门店登录 * if (csid2.message == "localhost" || csid2.message == "ip") * { * Response.Redirect("/store" + csid2.cid + "-" + csid2.sid); * return null; * } * * Response.Redirect("/Store/Login"); * return null; * } * else * { * if (Cookies.IsExist("remuc")) * { * //cookie的CID * string cid = Cookies.Get("remuc", "_cid").Trim(); * //cookie的门店ID * string sid = Server.UrlDecode(Cookies.Get("remuc", "_storeId")); * sid = sid.Split('~')[0]; * * string ss = sid.Split('~')[0]; * * if (cid.IsNullOrEmpty()) * { * cid = "0"; * } * if (sid.IsNullOrEmpty()) * { * sid = "0"; * } * * if (csid.cid.Trim() != cid || csid.sid.Trim() != sid) * { * Sys.CurrentUser.Exit(); * * //ip、localhost门店登录 * if (csid2.message == "localhost" || csid2.message == "ip") * { * Response.Redirect("/store" + csid2.cid + "-" + csid2.sid); * return null; * } * * Response.Redirect("/Store/Login"); * return null; * } * } * } * * } * } * else * { * Response.Redirect("/Account/noBusiness"); * return null; * } * //是否localhost、ip门店登录 * string isLocalhostIp = "0"; * if (csid2.message == "localhost" || csid2.message == "ip") * { * isLocalhostIp = "1"; * } */ ViewBag.isLocalhostIp = "1"; ViewBag.cid = Pharos.Utility.Config.GetAppSettings("CompanyId"); ViewBag.sid = Sys.SysCommonRules.CurrentStore; ViewBag.WelcomeText = "欢迎光临"; ViewBag.CurUserName = Sys.CurrentStoreUser.FullName; ViewBag.CurLoginName = Sys.CurrentStoreUser.UserName; ViewBag.comptitle = Sys.CurrentStoreUser.StoreName; //获取活动列表 var activityList = CommodityPromotionService.GetNewestActivity(3); //获取公告列表 var noticeList = NoticeService.GetNewestNotice(3); //采购订单列表 ViewBag.OrderList = OrderService.GetNewOrder(3); List <ActivityNoticeModel> activityNoticeList = new List <ActivityNoticeModel>(); if (activityList != null) { foreach (var activity in activityList) { activityNoticeList.Add(new ActivityNoticeModel(activity.Id, Enum.GetName(typeof(PromotionType), activity.PromotionType), DateTime.Parse(activity.StartDate.ToString()).ToString("yyyy-MM-dd") + "至" + DateTime.Parse(activity.EndDate.ToString()).ToString("yyyy-MM-dd"), Enum.GetName(typeof(SaleState), activity.State), activity.CreateDT, 1)); } } if (noticeList != null) { foreach (var notice in noticeList) { activityNoticeList.Add(new ActivityNoticeModel(notice.Id.ToString(), notice.Theme, notice.BeginDate.ToString("yyyy-MM-dd") + "至" + notice.ExpirationDate.ToString("yyyy-MM-dd"), notice.State == 1 ? "已发布" : "未发布", notice.CreateDT, 2)); } } activityNoticeList = activityNoticeList.OrderByDescending(o => o.CreateDT).Take(3).ToList(); if (activityNoticeList == null) { activityNoticeList = new List <ActivityNoticeModel>(); } ViewBag.activityNoticeList = activityNoticeList;//活动公告 //近3天数据 var beginTime = DateTime.Parse(DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd")); var endTime = DateTime.Parse(DateTime.Now.AddDays(1).ToString("yyyy-MM-dd")); ViewBag.newMemberNumber = MembersService.GetNewMemberNumber(beginTime, endTime, Sys.CurrentStoreUser.StoreId); //新增会员数量 ViewBag.newSalesVolume = ReportBLL.GetSalesVolume(beginTime, endTime, Sys.CurrentStoreUser.StoreId); //新增销售量 var saleOrderList3Day = SaleOrdersService.GetIndexSaleOrder(beginTime, endTime, Sys.CurrentStoreUser.StoreId); //3天内的销售订单 ViewBag.newSaleOrderNumber = saleOrderList3Day.Count(); //新增客单量 decimal newSaleTotal = 0; newSaleTotal = saleOrderList3Day.Sum(o => o.TotalAmount); ViewBag.newSaleTotal = newSaleTotal;//新增销售额 //近7天数据 var dayTitleList = new List <string>(); var saleTotalList = new List <decimal>(); var saleOederNumberList = new List <int>(); var hotProductNameList = new List <string>(); var hotProductSaleNumList = new List <int>(); for (int i = 6; i >= 0; i--) { var time1 = DateTime.Parse(DateTime.Now.AddDays(0 - i).ToString("yyyy-MM-dd")); var time2 = DateTime.Parse(DateTime.Now.AddDays(0 - i + 1).ToString("yyyy-MM-dd")); var saleOrderList = SaleOrdersService.GetIndexSaleOrder(time1, time2, Sys.CurrentStoreUser.StoreId); dayTitleList.Add(int.Parse(DateTime.Now.AddDays(0 - i).ToString("dd")) + "日"); saleTotalList.Add(saleOrderList.Sum(o => o.TotalAmount)); saleOederNumberList.Add(saleOrderList.Count()); } var hotProductBeginTime = DateTime.Parse(DateTime.Now.AddDays(-6).ToString("yyyy-MM-dd")); var hotProductEndTime = DateTime.Parse(DateTime.Now.AddDays(1).ToString("yyyy-MM-dd")); ReportBLL.GetHotProduct(hotProductBeginTime, hotProductEndTime, out hotProductNameList, out hotProductSaleNumList, Sys.CurrentStoreUser.StoreId); //近7天热销商品 ViewBag.hotProductNameList = hotProductNameList.ToJson(); ViewBag.hotProductSaleNumList = hotProductSaleNumList.ToJson(); ViewBag.hotProductNameListNotJson = hotProductNameList; ViewBag.dayTitleList = dayTitleList.ToJson(); ViewBag.saleTotalList = saleTotalList.ToJson(); //近7天销售额 ViewBag.saleOederNumberList = saleOederNumberList.ToJson(); //近7天客单量 var list = new List <Pharos.Sys.Models.MenuModel>(); //list = _menuBLL.GetHomeMenusByUID(Sys.CurrentStoreUser.UID, 1); //var pids = new string[] { "1", "3", "15", "25", "68" }; //传秤门店固定菜单 list.Add(new Sys.Models.MenuModel() { Id = "165", Level = 0, Name = "商品传秤", ParentId = "0", Url = null, Value = "165", Children = new List <Sys.Models.MenuModel>() { new Sys.Models.MenuModel() { Id = "166", Level = 1, Name = "下发到电子秤", ParentId = "165", Url = "/Product/ProductWeight", Value = "166", Children = null }, new Sys.Models.MenuModel() { Id = "167", Level = 1, Name = "电子秤设备配置", ParentId = "165", Url = "/Product/ProductWeightSetting", Value = "167", Children = null } } }); ViewBag.Menus = list; var set = new Pharos.Sys.BLL.SysWebSettingBLL().GetWebSetting(); return(View(set)); }