/// <summary> /// Display information Sale tag list by customer /// </summary> /// <param name="model">model</param> /// <param name="condition">condition</param> /// <param name="TAB_ID">Tab id</param> /// <returns>Json Sale Tag List By Customer</returns> public ActionResult SaleTagListByCustomer(DataTablesModel model, ConditionSaleTag condition, string TAB_ID) { if (Request.IsAjaxRequest()) { var pageInfo = this.service.SearchTagByCustomer(model, GetLoginUser().CompanyCode, condition); Session[Constant.SESSION_SEARCH_RESULT + TAB_ID] = pageInfo.Items; decimal totalSales = 0; decimal totalProfit = 0; foreach (var data in pageInfo.Items) { totalSales += data.total_sales; totalProfit += data.gross_profit; } var result = Json( new { sEcho = model.sEcho, iTotalRecords = pageInfo.TotalItems, iTotalDisplayRecords = pageInfo.TotalItems, aaData = (from t in pageInfo.Items select new object[] { t.tag_id, t.peta_rn, HttpUtility.HtmlEncode(t.display_name), t.total_sales.ToString("#,##0") + "円", (totalSales > 0 ? (t.total_sales / totalSales * 100) : 0).ToString("#,##0.00") + "%", t.gross_profit.ToString("#,##0") + "円", t.total_sales == 0 ? "0.00%" : (t.gross_profit_rate * 100).ToString("#,##0.00") + "%" }).ToList(), totalSales = totalSales.ToString("#,##0") + "円", totalProfit = totalProfit.ToString("#,##0") + "円" }, JsonRequestBehavior.AllowGet); return(result); } return(new EmptyResult()); }
public ActionResult SaleTagByCustomer(int customer_Id, string customer_Name, DateTime start_Date, DateTime end_Date, string locationId, string locationName, string groupId, string groupName, int?tagId, string tagName, string contract_type_id, string contract_type_name) { if ((!IsInFunctionList(Constant.FunctionID.SalesCustomer_Admin)) && (!IsInFunctionList(Constant.FunctionID.SalesCustomer))) { return(this.RedirectToAction("Index", "ErrorAuthent")); } var condition = new ConditionSaleTag() { CUSTOMER_ID = customer_Id, START_DATE = start_Date, END_DATE = end_Date, LOCATION_ID = locationId, GROUP_ID = groupId, TAG_ID = tagId, CONTRACT_TYPE_ID = contract_type_id }; var model = new PMS09003SalesTagByCustomerViewMode { Customer_Name = customer_Name, Condition = condition, Location_Name = locationName, Group_Name = groupName, Tag_Name = tagName, Contract_Type_Name = contract_type_name }; Session["PMS09003_SaleTagByCustomer_Condition"] = condition; Session["PMS09003_SaleTagByCustomer_CustomerName"] = customer_Name; Session["PMS09003_PMS09003_SaleTagByCustomer_LocationName"] = locationName; Session["PMS09003_SaleTagByCustomer_GroupName"] = groupName; Session["PMS09003_SaleTagByCustomer_TagName"] = tagName; Session["PMS09003_SaleTagByCustomer_ContractTypeName"] = contract_type_name; return(this.View("SaleTagByCustomer", model)); }
public PMS09003SalesTagByCustomerViewMode() { Condition = new ConditionSaleTag(); Customer_Name = ""; }
public ActionResult ExportCsvListSalesTagByCustomer( string condition_customerId, string condition_startDate, string condition_endDate, int sortCol = 0, string sortDir = "asc", string TAB_ID = "") { ConditionSaleTag condition = new ConditionSaleTag(); if (!string.IsNullOrEmpty(condition_customerId)) { condition.CUSTOMER_ID = Convert.ToInt32(condition_customerId); } condition.START_DATE = Convert.ToDateTime(condition_startDate); condition.END_DATE = Convert.ToDateTime(condition_endDate); DataTablesModel model = new DataTablesModel { sEcho = "1", iColumns = 7, sColumns = "tag_id,tag_id,display_name,total_sales,total_sales,gross_profit,gross_profit", iDisplayStart = 0, iDisplayLength = int.MaxValue, iSortCol_0 = sortCol, sSortDir_0 = sortDir, iSortingCols = 1 }; var results = new List <SalesTagByCustomerPlus>(); if (Session[Constant.SESSION_SEARCH_RESULT + TAB_ID] != null) { results = Session[Constant.SESSION_SEARCH_RESULT + TAB_ID] as List <SalesTagByCustomerPlus>; } else { results = this.service.SearchTagByCustomer(model, GetLoginUser().CompanyCode, condition).Items; } List <SalesTagByCustomerPlusExport> dataExport = new List <SalesTagByCustomerPlusExport>(); string[] columns = new[] { "No.", "タグ名", "売上金額", "構成比", "粗利金額", "粗利率" }; decimal totalSales = 0; decimal totalProfit = 0; int i = 0; foreach (var data in results) { data.peta_rn = i + 1; totalSales += data.total_sales; totalProfit += data.gross_profit; i++; } foreach (var r in results) { SalesTagByCustomerPlusExport tmpData = new SalesTagByCustomerPlusExport(); tmpData.tag_id = r.peta_rn; tmpData.display_name = (r.display_name == null) ? "未設定" : r.display_name; tmpData.total_sales = r.total_sales.ToString("#,##0"); tmpData.sale_proceeds = (totalSales > 0 ? (r.total_sales / totalSales * 100) : 0).ToString("#,##0.00") + "%"; tmpData.gross_profit = r.gross_profit.ToString("#,##0"); tmpData.gross_profit_rate = r.gross_profit_rate == 0 ? "0%" : Utility.RoundNumber(r.gross_profit_rate, "03", true) + "%"; dataExport.Add(tmpData); } DataTable dt = Utility.ToDataTableT(dataExport, columns.ToArray()); string fileName = "SalesTagByCustomer_" + Utility.GetCurrentDateTime().ToString("yyyyMMdd") + ".csv"; Utility.ExportToCsvData(this, dt, fileName); return(new EmptyResult()); }
/// <summary> /// Get list tag by customer /// </summary> /// <param name="model">model</param> /// <param name="companyCode">companyCode</param> /// <param name="condition">condition</param> /// <returns>List tag by customer</returns> public PageInfo <SalesTagByCustomerPlus> SearchTagByCustomer(DataTablesModel model, string companyCode, ConditionSaleTag condition) { var pageInfo = this._repository.SearchTagByCustomer( model.iDisplayStart, model.iDisplayLength, model.sColumns, model.iSortCol_0, model.sSortDir_0, companyCode, condition); return(pageInfo); }