示例#1
0
        // GET: Order
        public ActionResult Show(int?page, string OrderCode = "", string DateFrom = "", string DateTo = "", string StaffCode = "", string ProcessId = "process", string StatusId = "", string SalePlace = "", string C1Code = "")
        {
            int permit = Utitl.CheckRoleShowInfo(db, User.Identity.Name);

            int pageSize   = 30;
            int pageNumber = (page ?? 1);

            var current = DateTime.Now;

            DateTime dFrom;

            DateTime dTo;

            if (String.IsNullOrEmpty(DateFrom) || String.IsNullOrEmpty(DateTo))
            {
                dTo   = current;
                dFrom = current.AddMonths(-1);
            }
            else
            {
                dFrom = DateTime.ParseExact(DateFrom, "d/M/yyyy", null);
                dTo   = DateTime.ParseExact(DateTo, "d/MM/yyyy", null);
            }

            ViewBag.DateFrom  = dFrom.ToString("dd/MM/yyyy");
            ViewBag.DateTo    = dTo.ToString("dd/MM/yyyy");
            ViewBag.StaffCode = StaffCode;
            ViewBag.ProcessId = ProcessId;
            ViewBag.StatusId  = StatusId;
            ViewBag.SalePlace = SalePlace;
            ViewBag.C1Code    = C1Code;

            List <get_list_orders_Result> data = new List <get_list_orders_Result>();

            if (!String.IsNullOrEmpty(OrderCode))
            {
                data = db.get_list_orders_by_code("%" + OrderCode + "%").ToList();
            }
            else
            {
                data = db.get_list_orders(dFrom.ToString("yyyy-MM-dd"), dTo.ToString("yyyy-MM-dd"), "%" + ProcessId + "%", "%" + StatusId + "%", "%" + StaffCode + "%", "%" + C1Code + "%").ToList();
            }

            data = data.Where(p => p.SalePlace.Contains(SalePlace)).ToList();

            if (permit == 2)
            {
                // get list cn
                var branchPermit = db.UserBranchPermisses.Where(p => p.UserName == User.Identity.Name).Select(p => p.BranchCode).ToList();
                data = data.Where(p => branchPermit.Contains(p.BrachCode)).ToList();
            }

            return(View(data.OrderByDescending(p => p.CreateDate).ToPagedList(pageNumber, pageSize)));
        }
示例#2
0
        public ActionResult ReportOrderDetail(int month, int year, int fDay, int tDay)
        {
            string pathRoot = Server.MapPath("~/haiupload/report_order_detail.xlsx");
            string name     = "report" + DateTime.Now.ToString("ddMMyyyyHHmmss") + ".xlsx";
            string pathTo   = Server.MapPath("~/temp/" + name);

            System.IO.File.Copy(pathRoot, pathTo);

            try
            {
                FileInfo newFile = new FileInfo(pathTo);

                var           allData  = db.report_order_detail(year + "-" + month + "-" + fDay, year + "-" + month + "-" + tDay).ToList();
                List <string> branches = new List <string>();
                int           permiss  = Utitl.CheckRoleShowInfo(db, User.Identity.Name);
                if (permiss == 2)
                {
                    branches = Utitl.GetBranchesPermiss(db, User.Identity.Name, false);
                }
                else if (permiss == 1)
                {
                    branches = Utitl.GetBranchesPermiss(db, User.Identity.Name, true);
                }

                var data = allData.Where(p => branches.Contains(p.Branch)).ToList();

                using (ExcelPackage package = new ExcelPackage(newFile))
                {
                    ExcelWorksheet worksheet = package.Workbook.Worksheets[1];

                    for (int i = 0; i < data.Count; i++)
                    {
                        try
                        {
                            worksheet.Cells[i + 2, 1].Value  = i + 1;
                            worksheet.Cells[i + 2, 2].Value  = data[i].CreateDate;
                            worksheet.Cells[i + 2, 3].Value  = data[i].OrderCode;
                            worksheet.Cells[i + 2, 4].Value  = data[i].Branch;
                            worksheet.Cells[i + 2, 5].Value  = data[i].StaffCode;
                            worksheet.Cells[i + 2, 6].Value  = data[i].StaffName;
                            worksheet.Cells[i + 2, 7].Value  = data[i].C2Code;
                            worksheet.Cells[i + 2, 8].Value  = data[i].SMSCode;
                            worksheet.Cells[i + 2, 9].Value  = data[i].StoreName;
                            worksheet.Cells[i + 2, 10].Value = data[i].OderType;
                            worksheet.Cells[i + 2, 11].Value = data[i].C1Code;
                            worksheet.Cells[i + 2, 12].Value = data[i].C1Name;
                            worksheet.Cells[i + 2, 13].Value = data[i].ProductCode;
                            worksheet.Cells[i + 2, 14].Value = data[i].ProductName;
                            worksheet.Cells[i + 2, 15].Value = data[i].Unit;
                            worksheet.Cells[i + 2, 16].Value = data[i].Quantity;
                            worksheet.Cells[i + 2, 17].Value = data[i].PerPrice;
                            worksheet.Cells[i + 2, 18].Value = data[i].QuantityBuy / data[i].Quantity;
                            worksheet.Cells[i + 2, 19].Value = data[i].PriceTotal;
                            if (data[i].QuantityBuy > data[i].QuantityFinish)
                            {
                                worksheet.Cells[i + 2, 20].Value = "Đang giao";
                            }
                            else
                            {
                                worksheet.Cells[i + 2, 20].Value = "Đã giao";
                            }
                            worksheet.Cells[i + 2, 22].Value = data[i].QuantityFinish / data[i].Quantity;
                            worksheet.Cells[i + 2, 23].Value = data[i].QuantityFinish * data[i].PerPrice;
                        }
                        catch
                        {
                        }
                    }
                    package.Save();
                }
            }
            catch
            {
                return(RedirectToAction("error", "home"));
            }

            return(File(pathTo, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", string.Format("report-don-hang-chi-tiet-" + DateTime.Now.ToString("ddMMyyyyhhmmss") + ".{0}", "xlsx")));
        }
示例#3
0
        public ActionResult ListOrderExcel(string DateFrom = "", string DateTo = "", string StaffCode = "", string ProcessId = "process", string StatusId = "", string SalePlace = "", string C1Code = "")
        {
            int permit = Utitl.CheckRoleShowInfo(db, User.Identity.Name);

            var current = DateTime.Now;

            DateTime dFrom;

            DateTime dTo;

            if (String.IsNullOrEmpty(DateFrom) || String.IsNullOrEmpty(DateTo))
            {
                dTo   = current;
                dFrom = current.AddMonths(-1);
            }
            else
            {
                dFrom = DateTime.ParseExact(DateFrom, "d/M/yyyy", null);
                dTo   = DateTime.ParseExact(DateTo, "d/MM/yyyy", null);
            }

            List <get_list_orders_product_Result> data = new List <get_list_orders_product_Result>();


            data = db.get_list_orders_product(dFrom.ToString("yyyy-MM-dd"), dTo.ToString("yyyy-MM-dd"), "%" + ProcessId + "%", "%" + StatusId + "%", "%" + StaffCode + "%", "%" + C1Code + "%").ToList();

            data = data.Where(p => p.SalePlace.Contains(SalePlace)).ToList();

            if (permit == 2)
            {
                // get list cn
                var branchPermit = db.UserBranchPermisses.Where(p => p.UserName == User.Identity.Name).Select(p => p.BranchCode).ToList();
                data = data.Where(p => branchPermit.Contains(p.BrachCode)).ToList();
            }

            string pathRoot = Server.MapPath("~/haiupload/list_order_form.xlsx");
            string name     = "donhang" + DateTime.Now.ToString("ddMMyyyyHHmmss") + ".xlsx";
            string pathTo   = Server.MapPath("~/temp/" + name);

            System.IO.File.Copy(pathRoot, pathTo);

            try
            {
                FileInfo newFile = new FileInfo(pathTo);
                using (ExcelPackage package = new ExcelPackage(newFile))
                {
                    ExcelWorksheet worksheet = package.Workbook.Worksheets[1];

                    for (int i = 0; i < data.Count; i++)
                    {
                        try
                        {
                            worksheet.Cells[i + 2, 1].Value = i + 1;
                            worksheet.Cells[i + 2, 2].Value = data[i].CreateDate;
                            worksheet.Cells[i + 2, 3].Value = data[i].Code;
                            worksheet.Cells[i + 2, 4].Value = data[i].BrachCode;
                            worksheet.Cells[i + 2, 5].Value = data[i].StaffCode;
                            worksheet.Cells[i + 2, 6].Value = data[i].StaffName;

                            worksheet.Cells[i + 2, 7].Value = data[i].AgencyCode;
                            worksheet.Cells[i + 2, 8].Value = data[i].Store;

                            worksheet.Cells[i + 2, 9].Value = data[i].ExpectDate;

                            worksheet.Cells[i + 2, 10].Value = data[i].C1Code;
                            worksheet.Cells[i + 2, 11].Value = data[i].C1Name;

                            if (String.IsNullOrEmpty(data[i].C1Code))
                            {
                                worksheet.Cells[i + 2, 10].Value = data[i].BrachCode;
                                worksheet.Cells[i + 2, 11].Value = "LẤY TẠI CN";
                            }

                            if (data[i].OrderStatus == "process")
                            {
                                worksheet.Cells[i + 2, 12].Value = "Đang xử lý";
                            }
                            else if (data[i].OrderStatus == "finish")
                            {
                                worksheet.Cells[i + 2, 12].Value = "Hoàn thành";
                            }
                            else if (data[i].OrderStatus == "cancel")
                            {
                                worksheet.Cells[i + 2, 12].Value = "Đã hủy không giao";
                            }

                            if (data[i].QuantityFinish == 0)
                            {
                                worksheet.Cells[i + 2, 13].Value = "Chưa giao";
                            }
                            else if (data[i].QuantityFinish == data[i].OrderQuantity)
                            {
                                worksheet.Cells[i + 2, 13].Value = "Giao đủ";
                            }
                            else if (data[i].QuantityFinish > data[i].OrderQuantity)
                            {
                                worksheet.Cells[i + 2, 13].Value = "Giao nhiều hơn";
                            }
                            else
                            {
                                worksheet.Cells[i + 2, 13].Value = "Giao ít hơn";
                            }


                            //
                            if (data[i].HasBill == 1)
                            {
                                worksheet.Cells[i + 2, 14].Value = "Có";
                            }
                            else
                            {
                                worksheet.Cells[i + 2, 14].Value = "Không";
                            }

                            //
                            if (data[i].GoodType == "warehouse")
                            {
                                worksheet.Cells[i + 2, 15].Value = "Hàng gửi kho";
                            }
                            else if (data[i].GoodType == "new")
                            {
                                worksheet.Cells[i + 2, 15].Value = "Hàng xuất mới";
                            }
                            else
                            {
                                worksheet.Cells[i + 2, 15].Value = "Không xác định";
                            }

                            worksheet.Cells[i + 2, 16].Value = data[i].PName;

                            worksheet.Cells[i + 2, 17].Value = data[i].OrderQuantity / data[i].PQuantity;
                            worksheet.Cells[i + 2, 18].Value = data[i].OrderQuantity % data[i].PQuantity;
                            worksheet.Cells[i + 2, 19].Value = data[i].PPriceTotal;

                            worksheet.Cells[i + 2, 20].Value = data[i].QuantityFinish / data[i].PQuantity;
                            worksheet.Cells[i + 2, 21].Value = data[i].QuantityFinish % data[i].PQuantity;
                            worksheet.Cells[i + 2, 22].Value = data[i].QuantityFinish * data[i].PerPrice;


                            if (data[i].OrderType == "checkinorder")
                            {
                                worksheet.Cells[i + 2, 23].Value = "Trong checkin";
                            }
                            else
                            {
                                worksheet.Cells[i + 2, 23].Value = "Ngoài checkin";
                            }
                        }
                        catch
                        {
                            return(RedirectToAction("error", "home"));
                        }
                    }

                    package.Save();
                }
            }
            catch
            {
                return(RedirectToAction("error", "home"));
            }


            return(File(pathTo, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", string.Format("ds-don-hang-" + DateTime.Now.ToString("ddMMyyyyhhmmss") + ".{0}", "xlsx")));
        }
示例#4
0
        public ActionResult ExcelStaffSalesBarcode(string DateFrom = "", string DateTo = "")
        {
            int permit = Utitl.CheckRoleShowInfo(db, User.Identity.Name);

            var current = DateTime.Now;

            DateTime dFrom;

            DateTime dTo;

            if (String.IsNullOrEmpty(DateFrom) || String.IsNullOrEmpty(DateTo))
            {
                dTo   = current;
                dFrom = current.AddMonths(-1);
            }
            else
            {
                dFrom = DateTime.ParseExact(DateFrom, "d/M/yyyy", null);
                dTo   = DateTime.ParseExact(DateTo, "d/MM/yyyy", null);
            }

            List <report_order_staff_sales_barcode_Result> data = new List <report_order_staff_sales_barcode_Result>();

            data = db.report_order_staff_sales_barcode(dFrom.ToString("yyyy-MM-dd"), dTo.ToString("yyyy-MM-dd")).ToList();

            if (permit == 2)
            {
                // get list cn
                var branchPermit = db.UserBranchPermisses.Where(p => p.UserName == User.Identity.Name).Select(p => p.BranchCode).ToList();
                data = data.Where(p => branchPermit.Contains(p.BrachCode)).ToList();
            }

            string pathRoot = Server.MapPath("~/haiupload/report_order_staff_barcode.xlsx");
            string name     = "donhang" + DateTime.Now.ToString("ddMMyyyyHHmmss") + ".xlsx";
            string pathTo   = Server.MapPath("~/temp/" + name);

            System.IO.File.Copy(pathRoot, pathTo);

            try
            {
                FileInfo newFile = new FileInfo(pathTo);

                using (ExcelPackage package = new ExcelPackage(newFile))
                {
                    ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
                    worksheet.Cells[1, 3].Value = DateFrom;
                    worksheet.Cells[2, 3].Value = DateTo;

                    for (int i = 0; i < data.Count; i++)
                    {
                        worksheet.Cells[i + 5, 1].Value = data[i].BrachCode;
                        worksheet.Cells[i + 5, 2].Value = data[i].StaffName;
                        worksheet.Cells[i + 5, 3].Value = data[i].Store;
                        worksheet.Cells[i + 5, 4].Value = data[i].CountOrder;
                        worksheet.Cells[i + 5, 5].Value = data[i].SumPPrice;
                        worksheet.Cells[i + 5, 6].Value = data[i].SumPPriceReal;
                        worksheet.Cells[i + 5, 7].Value = (int)((data[i].SumPPriceReal / data[i].SumPPrice) * 100);
                    }


                    package.Save();
                }
            }
            catch
            {
                return(RedirectToAction("error", "home"));
            }


            return(File(pathTo, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", string.Format("report-don-hang-" + DateTime.Now.ToString("ddMMyyyyhhmmss") + ".{0}", "xlsx")));
        }
示例#5
0
        //
        public ActionResult ReportGeneralDay(int month, int year, int fDay)
        {
            if (!Utitl.CheckUser(db, User.Identity.Name, "CheckIn", 1))
            {
                return(RedirectToAction("relogin", "home"));
            }

            string pathRoot = Server.MapPath("~/haiupload/report_checkin_general_day.xlsx");
            string name     = "report" + DateTime.Now.ToString("ddMMyyyyHHmmss") + ".xlsx";
            string pathTo   = Server.MapPath("~/temp/" + name);

            System.IO.File.Copy(pathRoot, pathTo);

            try
            {
                FileInfo newFile = new FileInfo(pathTo);

                var allData = db.report_checkin_general_day(month, year, fDay).ToList();

                List <string> branches = new List <string>();
                int           permiss  = Utitl.CheckRoleShowInfo(db, User.Identity.Name);
                if (permiss == 2)
                {
                    branches = Utitl.GetBranchesPermiss(db, User.Identity.Name, false);
                }
                else if (permiss == 1)
                {
                    branches = Utitl.GetBranchesPermiss(db, User.Identity.Name, true);
                }

                var data = allData.Where(p => branches.Contains(p.BranchCode)).ToList();

                using (ExcelPackage package = new ExcelPackage(newFile))
                {
                    ExcelWorksheet worksheet = package.Workbook.Worksheets[1];

                    for (int i = 0; i < data.Count; i++)
                    {
                        try
                        {
                            worksheet.Cells[i + 4, 2].Value  = i + 1;
                            worksheet.Cells[i + 4, 3].Value  = data[i].BranchCode;
                            worksheet.Cells[i + 4, 4].Value  = data[i].Code;
                            worksheet.Cells[i + 4, 5].Value  = data[i].FullName;
                            worksheet.Cells[i + 4, 6].Value  = data[i].AgencyPlanInDay;
                            worksheet.Cells[i + 4, 7].Value  = data[i].AgencyCheckInDay;
                            worksheet.Cells[i + 4, 8].Value  = data[i].AgencyCheckInInPlanDay;
                            worksheet.Cells[i + 4, 9].Value  = data[i].AgencyCheckInOutPlanDay;
                            worksheet.Cells[i + 4, 10].Value = data[i].CheckInNotCSKH;
                            worksheet.Cells[i + 4, 11].Value = data[i].AgencyOrder;
                            worksheet.Cells[i + 4, 12].Value = data[i].AllOrder;
                            worksheet.Cells[i + 4, 13].Value = data[i].OrderPrice;
                        }
                        catch
                        {
                        }
                    }
                    package.Save();
                }
            }
            catch
            {
                return(RedirectToAction("error", "home"));
            }

            return(File(pathTo, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", string.Format("report-checkin-tong-hop-" + DateTime.Now.ToString("ddMMyyyyhhmmss") + ".{0}", "xlsx")));
        }
示例#6
0
        public ActionResult ShowCalendar(int?page, int?month, int?year, int status = -1, string branch = "", string staff = "")
        {
            if (!Utitl.CheckUser(db, User.Identity.Name, "CheckIn", 0))
            {
                return(RedirectToAction("relogin", "home"));
            }


            int pageSize   = 30;
            int pageNumber = (page ?? 1);

            if (month == null)
            {
                month = DateTime.Now.Month;
            }

            if (year == null)
            {
                year = DateTime.Now.Year;
            }

            ViewBag.Month  = month;
            ViewBag.Year   = year;
            ViewBag.Status = status;

            var listCalendar = new List <CalendarInfo>();


            List <string> branches = new List <string>();
            int           permiss  = Utitl.CheckRoleShowInfo(db, User.Identity.Name);

            if (permiss == 2)
            {
                branches = Utitl.GetBranchesPermiss(db, User.Identity.Name, false);
            }
            else if (permiss == 1)
            {
                branches = Utitl.GetBranchesPermiss(db, User.Identity.Name, true);
            }

            if (!String.IsNullOrEmpty(branch))
            {
                if (branches.Contains(branch))
                {
                    branches.Clear();
                    branches.Add(branch);
                }
                else
                {
                    branches.Clear();
                }
            }

            ViewBag.Branch = branch;
            ViewBag.Staff  = staff;

            if (status == -1)
            {
                listCalendar = db.CalendarInfoes.Where(p => p.CMonth == month && p.CYear == year && p.HaiStaff.Code.Contains(staff) && branches.Contains(p.HaiStaff.HaiBranch.Code)).ToList();
            }
            else
            {
                listCalendar = db.CalendarInfoes.Where(p => p.CMonth == month && p.CYear == year && p.CStatus == status && p.HaiStaff.Code.Contains(staff) && branches.Contains(p.HaiStaff.HaiBranch.Code)).ToList();
            }

            return(View(listCalendar.OrderBy(p => p.CStatus).ToPagedList(pageNumber, pageSize)));
        }
示例#7
0
        public ActionResult ExcelCheckInDetail(int month, int year, string brand = "", string staff = "")
        {
            if (!Utitl.CheckUser(db, User.Identity.Name, "CheckIn", 0))
            {
                return(RedirectToAction("relogin", "home"));
            }

            if (!String.IsNullOrEmpty(staff))
            {
                var checkStaff = db.HaiStaffs.Where(p => p.Code == staff).FirstOrDefault();
                if (checkStaff != null)
                {
                    return(ExcelCheckInStaffDetail(month, year, checkStaff.Id));
                }
            }

            string pathRoot = Server.MapPath("~/haiupload/report-check-in-detail.xlsx");
            string name     = "report" + DateTime.Now.ToString("ddMMyyyyHHmmss") + ".xlsx";
            string pathTo   = Server.MapPath("~/temp/" + name);

            System.IO.File.Copy(pathRoot, pathTo);
            try
            {
                FileInfo newFile = new FileInfo(pathTo);
                brand = "%" + brand + "%";

                string        branch   = "";
                List <string> branches = new List <string>();
                int           permiss  = Utitl.CheckRoleShowInfo(db, User.Identity.Name);
                if (permiss == 2)
                {
                    branches = Utitl.GetBranchesPermiss(db, User.Identity.Name, false);
                }
                else if (permiss == 1)
                {
                    branches = Utitl.GetBranchesPermiss(db, User.Identity.Name, true);
                }

                if (!String.IsNullOrEmpty(branch))
                {
                    if (branches.Contains(branch))
                    {
                        branches.Clear();
                        branches.Add(branch);
                    }
                    else
                    {
                        branches.Clear();
                    }
                }

                var data = db.report_checkin_detail_by_branch(month, year, brand).ToList();

                data = data.Where(p => branches.Contains(p.Branch)).ToList();

                using (ExcelPackage package = new ExcelPackage(newFile))
                {
                    ExcelWorksheet worksheet = package.Workbook.Worksheets[1];

                    for (int i = 0; i < data.Count; i++)
                    {
                        try
                        {
                            worksheet.Cells[i + 2, 1].Value = data[i].Branch;
                            worksheet.Cells[i + 2, 2].Value = data[i].StaffCode;
                            worksheet.Cells[i + 2, 3].Value = data[i].StaffName;
                            worksheet.Cells[i + 2, 4].Value = data[i].CalendarType;
                            worksheet.Cells[i + 2, 5].Value = data[i].DayInWeek;
                            string date = data[i].CalendarDay + "/" + data[i].CalendarMonth + "/" + data[i].CalendarYear;
                            worksheet.Cells[i + 2, 6].Value = date;

                            worksheet.Cells[i + 2, 7].Value = data[i].AgencyCode;
                            worksheet.Cells[i + 2, 8].Value = data[i].StoreName;
                            if (data[i].InPlan == 1)
                            {
                                worksheet.Cells[i + 2, 9].Value = "X";
                            }

                            if (data[i].Perform == 1)
                            {
                                worksheet.Cells[i + 2, 10].Value = "X";
                            }

                            if (data[i].CalendarId == "HOLIDAY")
                            {
                                worksheet.Cells[i + 2, 11].Value = "X";
                            }


                            if (data[i].InPlan == 1 && data[i].Perform == 1)
                            {
                                worksheet.Cells[i + 2, 12].Value = "ĐÚNG KẾ HOẠCH";
                            }

                            if (data[i].InPlan == 1 && data[i].Perform == 0)
                            {
                                if (!String.IsNullOrEmpty(data[i].AgencyCode))
                                {
                                    worksheet.Cells[i + 2, 12].Value = "RỚT";
                                }
                                else
                                {
                                    worksheet.Cells[i + 2, 12].Value = "NGÀY NGHỈ";
                                }
                            }

                            if (data[i].InPlan == 0 && data[i].Perform == 1)
                            {
                                worksheet.Cells[i + 2, 12].Value = "NGOÀI KẾ HOẠCH";
                            }

                            if (data[i].InPlan == 0 && data[i].Perform == 0)
                            {
                                worksheet.Cells[i + 2, 12].Value = "NGOÀI KẾ HOẠCH (RỚT)";
                            }


                            worksheet.Cells[i + 2, 13].Value = data[i].CInTime;
                            worksheet.Cells[i + 2, 14].Value = data[i].COutTime;
                            // lay toa do khach hang
                            worksheet.Cells[i + 2, 15].Value = data[i].Lat;
                            worksheet.Cells[i + 2, 16].Value = data[i].Lng;
                        }
                        catch
                        {
                            return(RedirectToAction("error", "home"));
                        }
                    }

                    package.Save();
                }
            }
            catch
            {
                return(RedirectToAction("error", "home"));
            }

            return(File(pathTo, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", string.Format("report-checkin-" + DateTime.Now.ToString("ddMMyyyyhhmmss") + ".{0}", "xlsx")));
        }