Beispiel #1
0
        public async Task <IActionResult> ExportExcelMainDetail(KanbanByPoParam kanbanByPoParam)
        {
            var data = await _kanbanByPoService.GetKanbanByPoDetailMainExcel(kanbanByPoParam);

            var path = Path.Combine(_webHostEnvironment.ContentRootPath, "Resources\\Template\\KanbanByPoMainDetail.xlsx");
            WorkbookDesigner designer = new WorkbookDesigner();

            designer.Workbook = new Workbook(path);
            Worksheet ws = designer.Workbook.Worksheets[0];

            designer.SetDataSource("result", data);
            designer.Process();

            // custom style
            for (int i = 2; i < data.Count + 2; i++)
            {
                //Custom cell Kind nếu kind bằng 6 hoặc 7 thì cho background màu vàng
                Cell cellKind = ws.Cells["Q" + i];
                CustomStyle(ref cellKind);
            }

            MemoryStream stream = new MemoryStream();

            designer.Workbook.Save(stream, SaveFormat.Xlsx);

            byte[] result = stream.ToArray();

            return(File(result, "application/xlsx", "Excel" + DateTime.Now.ToString("dd_MM_yyyy_HH_mm_ss") + ".xlsx"));
        }
Beispiel #2
0
        public async Task <PagedList <KanbanByPo_Dto> > GetKanbanByPo(KanbanByPoParam kanbanByPoParam, PaginationParams paginationParams, bool isPaging = true)
        {
            // gọi store procedure
            var data = await(_context.KanbanByPo_Dto.FromSqlRaw("EXEC [dbo].[NSP_REPORT_MAIN] @DateType, @Date_S, @Date_E, @Line, @MO_No, @MO_Seq, @Material_No, @Supplier, @Model_Name, @Article ",
                                                                new SqlParameter("DateType", kanbanByPoParam.DateType != 0 ? kanbanByPoParam.DateType : (object)DBNull.Value),
                                                                new SqlParameter("Date_S", kanbanByPoParam.DateStart != "" ? kanbanByPoParam.DateStart : (object)DBNull.Value),
                                                                new SqlParameter("Date_E", kanbanByPoParam.DateEnd != "" ? kanbanByPoParam.DateEnd : (object)DBNull.Value),
                                                                new SqlParameter("Line", kanbanByPoParam.Line != "" ? kanbanByPoParam.Line : (object)DBNull.Value),
                                                                new SqlParameter("MO_No", kanbanByPoParam.MoNo != "" ? kanbanByPoParam.MoNo : (object)DBNull.Value),
                                                                new SqlParameter("MO_Seq", kanbanByPoParam.MoSeq != "" ? kanbanByPoParam.MoSeq : (object)DBNull.Value),
                                                                new SqlParameter("Material_No", (object)DBNull.Value),
                                                                new SqlParameter("Supplier", (kanbanByPoParam.Supplier != "" && kanbanByPoParam.Supplier != "All") ? kanbanByPoParam.Supplier : (object)DBNull.Value),
                                                                new SqlParameter("Model_Name", kanbanByPoParam.ModelName != "" ? kanbanByPoParam.ModelName : (object)DBNull.Value),
                                                                new SqlParameter("Article", kanbanByPoParam.Article != "" ? kanbanByPoParam.Article : (object)DBNull.Value)

                                                                )).ToListAsync();

            data = data.OrderBy(x => x.Date).ToList();

            return(PagedList <KanbanByPo_Dto> .Create(data, paginationParams.PageNumber, paginationParams.PageSize, isPaging));
        }
Beispiel #3
0
        public async Task <IActionResult> ExportExcelMainSummary([FromQuery] PaginationParams paginationParams, KanbanByPoParam kanbanByPoParam)
        {
            var data = await _kanbanByPoService.GetKanbanByPo(kanbanByPoParam, paginationParams, false);

            var path = Path.Combine(_webHostEnvironment.ContentRootPath, "Resources\\Template\\KanbanByPoMainSummary.xlsx");
            WorkbookDesigner designer = new WorkbookDesigner();

            designer.Workbook = new Workbook(path);
            Worksheet ws = designer.Workbook.Worksheets[0];

            designer.SetDataSource("result", data);
            designer.Process();

            MemoryStream stream = new MemoryStream();

            designer.Workbook.Save(stream, SaveFormat.Xlsx);

            byte[] result = stream.ToArray();

            return(File(result, "application/xlsx", "Excel" + DateTime.Now.ToString("dd_MM_yyyy_HH_mm_ss") + ".xlsx"));
        }
Beispiel #4
0
        public async Task <IActionResult> GetKanbanByPo([FromQuery] PaginationParams paginationParams, KanbanByPoParam kanbanByPoParam)
        {
            var result = await _kanbanByPoService.GetKanbanByPo(kanbanByPoParam, paginationParams);

            Response.AddPagination(result.CurrentPage, result.PageSize, result.TotalCount, result.TotalPages);
            return(Ok(result));
        }
Beispiel #5
0
        public async Task <List <KanbanByPoDetailExcel_Dto> > GetKanbanByPoDetailMainExcel(KanbanByPoParam kanbanByPoParam)
        {
            var data = await(_context.KanbanByPoDetailExcel_Dto.FromSqlRaw("EXEC [dbo].[NSP_REPORT_DETAIL] @DateType, @Date_S, @Date_E, @Line, @MO_No, @MO_Seq, @Material_No, @Supplier, @Model_Name, @Article ",
                                                                           new SqlParameter("DateType", kanbanByPoParam.DateType != 0 ? kanbanByPoParam.DateType : (object)DBNull.Value),
                                                                           new SqlParameter("Date_S", kanbanByPoParam.DateStart != "" ? kanbanByPoParam.DateStart : (object)DBNull.Value),
                                                                           new SqlParameter("Date_E", kanbanByPoParam.DateEnd != "" ? kanbanByPoParam.DateEnd : (object)DBNull.Value),
                                                                           new SqlParameter("Line", kanbanByPoParam.Line != "" ? kanbanByPoParam.Line : (object)DBNull.Value),
                                                                           new SqlParameter("MO_No", kanbanByPoParam.MoNo != "" ? kanbanByPoParam.MoNo : (object)DBNull.Value),
                                                                           new SqlParameter("MO_Seq", kanbanByPoParam.MoSeq != "" ? kanbanByPoParam.MoSeq : (object)DBNull.Value),
                                                                           new SqlParameter("Material_No", (object)DBNull.Value),
                                                                           new SqlParameter("Supplier", kanbanByPoParam.Supplier != "" ? kanbanByPoParam.Supplier : (object)DBNull.Value),
                                                                           new SqlParameter("Model_Name", kanbanByPoParam.ModelName != "" ? kanbanByPoParam.ModelName : (object)DBNull.Value),
                                                                           new SqlParameter("Article", kanbanByPoParam.Article != "" ? kanbanByPoParam.Article : (object)DBNull.Value)

                                                                           )).ToListAsync();
            var result = data.Select(x =>
            {
                x.Material_No = x.Material_No.Trim() == "ZZZZZZZZZZ" ? "" : x.Material_No;
                return(x);
            }).OrderBy(x => x.Plan_Start_STF).ToList();

            return(result);
        }