示例#1
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")));
        }
示例#2
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)));
        }
示例#3
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")));
        }
示例#4
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")));
        }