Пример #1
0
        /// <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());
        }
Пример #2
0
        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 = "";
 }
Пример #4
0
        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());
        }
Пример #5
0
        /// <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);
        }