예제 #1
0
        /// <summary>
        /// Export Project 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 ExportProjectDetailCsv(int project_id, int group_id, int selected_year, int selected_month, int sortCol = 0, string sortDir = "asc", string TAB_ID = "")
        {
            var condition = new SalesProjectDetailCondition()
            {
                CompanyCode   = GetLoginUser().CompanyCode,
                GroupId       = group_id,
                ProjectId     = project_id,
                SelectedYear  = selected_year,
                SelectedMonth = selected_month
            };

            DataTablesModel model = new DataTablesModel
            {
                sEcho          = "1",
                iColumns       = 6,
                sColumns       = "user_sys_id,user_sys_id,user_name,sales_amount,cost,profit",
                iDisplayStart  = 0,
                iDisplayLength = int.MaxValue,
                iSortCol_0     = sortCol,
                sSortDir_0     = sortDir,
                iSortingCols   = 1
            };

            var listGroupDetail = new List <PersonalSalesInfo>();

            if (Session[Constant.SESSION_SEARCH_RESULT + TAB_ID] != null)
            {
                listGroupDetail = Session[Constant.SESSION_SEARCH_RESULT + TAB_ID] as List <PersonalSalesInfo>;
            }
            else
            {
                listGroupDetail = this.mainService.GetListSalesProjectDetail(model, condition).Items;
            }
            var listExport = new List <PersonalSalesInfoExport>();

            foreach (var t in listGroupDetail)
            {
                listExport.Add(new PersonalSalesInfoExport()
                {
                    no           = t.peta_rn,
                    user_name    = t.user_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>()
            {
                "No.",
                "ユーザー名",
                "売上",
                "原価",
                "利益"
            };

            DataTable dataTable = Utility.ToDataTableT(listExport, columns.ToArray());

            Utility.ExportToCsvData(this, dataTable, "SalesProjectDetail_" + Utility.GetCurrentDateTime().ToString("yyyyMMdd") + ".csv");
            return(new EmptyResult());
        }
 public PMS09001SalesProjectDetailViewModel()
 {
     GroupName    = "";
     ProjectName  = "";
     ProjectRange = "";
     TotalSales   = "";
     TotalCost    = "";
     TotalProfit  = "";
     Condition    = new SalesProjectDetailCondition();
     BasicInfo    = new SalesProjectDetailBasicInfo();
 }
예제 #3
0
        /// <summary>
        /// Using Ajax to search data table Sales Project Detail by User
        /// </summary>
        /// <param name="model"></param>
        /// <param name="condition"></param>
        /// <param name="TAB_ID"></param>
        /// <returns></returns>
        public ActionResult SearchSalesProjectDetail(DataTablesModel model, SalesProjectDetailCondition condition, string TAB_ID)
        {
            if (Request.IsAjaxRequest() && ModelState.IsValid)
            {
                condition.CompanyCode = GetLoginUser().CompanyCode;
                var pageInfo = this.mainService.GetListSalesProjectDetail(model, 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.user_sys_id,
                        t.peta_rn,
                        HttpUtility.HtmlEncode(t.user_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());
        }
예제 #4
0
        /// <summary>
        /// Sales Group Detail By Project
        /// </summary>
        /// <param name="group_id"></param>
        /// <param name="selected_year"></param>
        /// <param name="selected_month"></param>
        /// <returns></returns>
        public ActionResult SalesProjectDetail(int group_id = -1, int project_id = -1, int selected_year = -1, int selected_month = -1)
        {
            if (!this.IsInFunctionList(Constant.FunctionID.SalesGroup) &&
                !this.IsInFunctionList(Constant.FunctionID.SalesGroup_Admin))
            {
                return(this.RedirectToAction("Index", "ErrorAuthent"));
            }

            var condition = new SalesProjectDetailCondition()
            {
                ProjectId     = project_id,
                GroupId       = group_id,
                SelectedMonth = selected_month,
                SelectedYear  = selected_year,
                CompanyCode   = GetLoginUser().CompanyCode
            };
            var model = new PMS09001SalesProjectDetailViewModel
            {
                BasicInfo = this.mainService.GetProjectDetailBasicInfo(group_id, project_id),
                Condition = condition
            };

            return(this.View("SalesProjectDetail", model));
        }
예제 #5
0
        /// <summary>
        /// Sales list by project detail
        /// </summary>
        /// <param name="model"></param>
        /// <param name="condition"></param>
        /// <returns></returns>
        public PageInfo <PersonalSalesInfo> GetListSalesProjectDetail(DataTablesModel model, SalesProjectDetailCondition condition)
        {
            var pageInfo = this._repository.GetListSalesProjectDetail(
                model.iDisplayStart,
                model.iDisplayLength,
                model.sColumns,
                model.iSortCol_0,
                model.sSortDir_0,
                condition);

            return(pageInfo);
        }