Beispiel #1
0
        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();
 }
Beispiel #3
0
        /// <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());
        }
Beispiel #4
0
        /// <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());
        }
Beispiel #5
0
        /// <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);
        }