public ActionResult SalesGroupDetail(int group_id = -1, int selected_year = -1, int selected_month = -1, string contractTypeID = "", string locationID = "", string contractTypeName = "", string locationName = "") { if (!this.IsInFunctionList(Constant.FunctionID.SalesGroup) && !this.IsInFunctionList(Constant.FunctionID.SalesGroup_Admin)) { return(this.RedirectToAction("Index", "ErrorAuthent")); } var condition = new SalesGroupDetailCondition() { GroupId = group_id, SelectedMonth = selected_month, SelectedYear = selected_year, CompanyCode = GetLoginUser().CompanyCode, LocationID = locationID }; var model = new PMS09001SalesGroupDetailViewModel { GroupName = group_id == 0 ? "該当なし" : this.mainService.GetGroupName(group_id), ContractTypeName = contractTypeName, LocationName = locationName, ContractTypeID = contractTypeID, Condition = condition }; Session["PMS09001_SalesGroupDetail_Condition"] = condition; Session["PMS09001_SalesGroupDetail_GroupName"] = model.GroupName; Session["PMS09001_SalesGroupDetail_ContractTypeName"] = contractTypeName; Session["PMS09001_SalesGroupDetail_LocationName"] = locationName; Session["PMS09001_SalesGroupDetail_ContractTypeID"] = contractTypeID; return(this.View("SalesGroupDetail", model)); }
public PMS09001SalesGroupDetailViewModel() { GroupName = ""; TotalSales = ""; TotalCost = ""; TotalProfit = ""; Condition = new SalesGroupDetailCondition(); }
/// <summary> /// Export Group Detail CSV /// </summary> /// <param name="start_date"></param> /// <param name="end_date"></param> /// <param name="project_name"></param> /// <param name="customer_id"></param> /// <param name="tag_id"></param> /// <param name="eff_type"></param> /// <param name="sort_colum"></param> /// <param name="sort_type"></param> /// <param name="DelFlag"></param> /// <param name="status"></param> /// <param name="TAB_ID"></param> /// <returns></returns> public ActionResult ExportGroupDetailCsv(int group_id, int selected_year, int selected_month, int sortCol = 0, string sortDir = "asc", string ContractTypeID = "", string TAB_ID = "") { var condition = new SalesGroupDetailCondition() { CompanyCode = GetLoginUser().CompanyCode, GroupId = group_id, SelectedYear = selected_year, SelectedMonth = selected_month, ContractTypeID = ContractTypeID }; DataTablesModel model = new DataTablesModel { sEcho = "1", iColumns = 5, sColumns = "project_sys_id,project_name,sales_amount,cost,profit", iDisplayStart = 0, iDisplayLength = int.MaxValue, iSortCol_0 = sortCol, sSortDir_0 = sortDir, iSortingCols = 1 }; var listGroupDetail = new List <ProjectSalesInfo>(); if (Session[Constant.SESSION_SEARCH_RESULT + TAB_ID] != null) { listGroupDetail = Session[Constant.SESSION_SEARCH_RESULT + TAB_ID] as List <ProjectSalesInfo>; } else { listGroupDetail = this.mainService.GetListSalesGroupDetail(model, GetLoginUser().CompanyCode, condition).Items; } var listExport = new List <ProjectSalesInfoExport>(); foreach (var t in listGroupDetail) { listExport.Add(new ProjectSalesInfoExport() { project_name = t.project_name, sales_amount = Utility.RoundNumber(t.sales_amount, GetLoginUser().DecimalCalculationType, false).ToString("#,##0"), cost = Utility.RoundNumber(t.cost, GetLoginUser().DecimalCalculationType, false).ToString("#,##0"), profit = Utility.RoundNumber(t.profit, GetLoginUser().DecimalCalculationType, false).ToString("#,##0"), }); } List <string> columns = new List <string>() { "プロジェクト名", "売上", "原価", "利益" }; DataTable dataTable = Utility.ToDataTableT(listExport, columns.ToArray()); Utility.ExportToCsvData(this, dataTable, "SalesGroupDetail_" + Utility.GetCurrentDateTime().ToString("yyyyMMdd") + ".csv"); return(new EmptyResult()); }
/// <summary> /// Using Ajax to search data table Sales Group Detail by Project /// </summary> /// <param name="model"></param> /// <param name="condition"></param> /// <param name="TAB_ID"></param> /// <returns></returns> public ActionResult SearchSalesGroupDetail(DataTablesModel model, SalesGroupDetailCondition condition, string TAB_ID) { if (Request.IsAjaxRequest() && ModelState.IsValid) { var pageInfo = this.mainService.GetListSalesGroupDetail(model, GetLoginUser().CompanyCode, condition); Session[Constant.SESSION_SEARCH_RESULT + TAB_ID] = pageInfo.Items; decimal totalSales = 0; decimal totalCost = 0; decimal totalProfit = 0; foreach (var data in pageInfo.Items) { totalSales += data.sales_amount; totalCost += data.cost; totalProfit += data.profit; } var result = Json( new { sEcho = model.sEcho, iTotalRecords = pageInfo.TotalItems, iTotalDisplayRecords = pageInfo.TotalItems, aaData = (from t in pageInfo.Items select new object[] { t.project_sys_id, HttpUtility.HtmlEncode(t.project_name), t.sales_amount.ToString("#,##0") + "円", t.cost.ToString("#,##0") + "円", t.profit.ToString("#,##0") + "円", }).ToList(), totalSales = totalSales.ToString("#,##0") + "円", totalCost = totalCost.ToString("#,##0") + "円", totalProfit = totalProfit.ToString("#,##0") + "円" }, JsonRequestBehavior.AllowGet); return(result); } return(new EmptyResult()); }
/// <summary> /// Sales list by group detail /// </summary> /// <param name="model"></param> /// <param name="companyCode"></param> /// <param name="condition"></param> /// <returns></returns> public PageInfo <ProjectSalesInfo> GetListSalesGroupDetail(DataTablesModel model, string companyCode, SalesGroupDetailCondition condition) { var pageInfo = this._repository.GetListSalesGroupDetail( model.iDisplayStart, model.iDisplayLength, model.sColumns, model.iSortCol_0, model.sSortDir_0, companyCode, condition); return(pageInfo); }