Exemple #1
0
        private string CreateXlsRptPO(RptPoByParamInput input)
        {
            //get data
            List <RptPODto> data     = _rptPoBLL.GetRptPo(input);
            var             listData = Mapper.Map <List <RptPOItem> >(data);

            var slDocument = new SLDocument();

            //title
            slDocument.SetCellValue(1, 1, "PO Report Data");
            slDocument.MergeWorksheetCells(1, 1, 1, 19);
            //create style
            SLStyle valueStyle = slDocument.CreateStyle();

            valueStyle.SetHorizontalAlignment(HorizontalAlignmentValues.Center);
            valueStyle.Font.Bold     = true;
            valueStyle.Font.FontSize = 18;
            slDocument.SetCellStyle(1, 1, valueStyle);

            //create header
            slDocument = CreateHeaderExcelDashboard(slDocument, listData, input);

            //create data
            slDocument = CreateDataExcelDashboard(slDocument, listData, input);

            var fileName = "RptPO" + DateTime.Now.ToString("_yyyyMMddHHmmss") + ".xlsx";
            var path     = Path.Combine(Server.MapPath(Constans.UploadPath), fileName);

            slDocument.SaveAs(path);

            return(path);
        }
Exemple #2
0
        public List <PO_REPORT_DATA> GetRptPo(RptPoByParamInput filter)
        {
            Expression <Func <PO_REPORT_DATA, bool> > queryFilter = PredicateHelper.True <PO_REPORT_DATA>();

            if (filter != null)
            {
                //if (filter.PeriodFrom != null)
                //{
                //    //queryFilter = queryFilter.And(c => (c.CREATED_DATE.Day >= filter.PeriodFrom.Day) &&
                //    //                                    (c.CREATED_DATE.Month >= filter.PeriodFrom.Month) &&
                //    //                                    (c.CREATED_DATE.Year >= filter.PeriodFrom.Year));
                //    queryFilter = queryFilter.And(c => (c.START_CONTRACT.Value.Day >= filter.PeriodFrom.Day) &&
                //                                       (c.START_CONTRACT.Value.Month >= filter.PeriodFrom.Month) &&
                //                                       (c.START_CONTRACT.Value.Year >= filter.PeriodFrom.Year));
                //}
                //if (filter.PeriodTo != null)
                //{
                //    //queryFilter = queryFilter.And(c => (c.CREATED_DATE.Day <= filter.PeriodTo.Day) &&
                //    //                                    (c.CREATED_DATE.Month <= filter.PeriodTo.Month) &&
                //    //                                    (c.CREATED_DATE.Year <= filter.PeriodTo.Year));
                //    queryFilter = queryFilter.And(c => (c.END_CONTRACT.Value.Day <= filter.PeriodTo.Day) &&
                //                                        (c.END_CONTRACT.Value.Month <= filter.PeriodTo.Month) &&
                //                                        (c.END_CONTRACT.Value.Year <= filter.PeriodTo.Year));
                //}
                if (filter.MonthFrom > 0)
                {
                    queryFilter = queryFilter.And(c => c.REPORT_MONTH >= filter.MonthFrom);
                }
                if (filter.YearFrom > 0)
                {
                    queryFilter = queryFilter.And(c => c.REPORT_YEAR >= filter.YearFrom);
                }
                if (filter.MonthTo > 0)
                {
                    queryFilter = queryFilter.And(c => c.REPORT_MONTH <= filter.MonthTo);
                }
                if (filter.YearTo > 0)
                {
                    queryFilter = queryFilter.And(c => c.REPORT_YEAR <= filter.YearTo);
                }
                if (!string.IsNullOrEmpty(filter.EmployeeName))
                {
                    queryFilter = queryFilter.And(c => c.EMPLOYEE_NAME.ToUpper() == filter.EmployeeName.ToUpper());
                }
                if (!string.IsNullOrEmpty(filter.CostCenter))
                {
                    queryFilter = queryFilter.And(c => c.COST_CENTER.ToUpper() == filter.CostCenter.ToUpper());
                }
                if (!string.IsNullOrEmpty(filter.SupplyMethod))
                {
                    queryFilter = queryFilter.And(c => c.SUPPLY_METHOD.ToUpper() == filter.SupplyMethod.ToUpper());
                }
                if (!string.IsNullOrEmpty(filter.PoliceNumber))
                {
                    queryFilter = queryFilter.And(c => c.POLICE_NUMBER.ToUpper() == filter.PoliceNumber.ToUpper());
                }
                if (filter.GroupLevel > 0)
                {
                    queryFilter = queryFilter.And(c => c.MST_EMPLOYEE.GROUP_LEVEL == filter.GroupLevel);
                }
            }

            return(_rptPoRepository.Get(queryFilter, null, "").ToList());
        }
Exemple #3
0
        private SLDocument CreateDataExcelDashboard(SLDocument slDocument, List <RptPOItem> listData, RptPoByParamInput input)
        {
            int iRow = 4; //starting row data
            int iCol = 19;

            foreach (var data in listData)
            {
                slDocument.SetCellValue(iRow, 1, data.PoliceNumber);
                slDocument.SetCellValue(iRow, 2, data.SupplyMethod);
                slDocument.SetCellValue(iRow, 3, data.EmployeeName);
                slDocument.SetCellValue(iRow, 4, data.CostCenter);
                slDocument.SetCellValue(iRow, 5, data.Manufacturer);
                slDocument.SetCellValue(iRow, 6, data.Models);
                slDocument.SetCellValue(iRow, 7, data.Series);
                slDocument.SetCellValue(iRow, 8, data.BodyType);
                slDocument.SetCellValue(iRow, 9, data.Color);
                slDocument.SetCellValue(iRow, 10, data.ChasisNumber);
                slDocument.SetCellValue(iRow, 11, data.EngineNumber);
                slDocument.SetCellValue(iRow, 12, data.VehicleType);
                slDocument.SetCellValue(iRow, 13, data.VehicleUsage);
                slDocument.SetCellValue(iRow, 14, data.PoNumber);
                slDocument.SetCellValue(iRow, 15, data.PoLine);
                slDocument.SetCellValue(iRow, 16, data.StartContract.ToString("dd-MMM-yyyy"));
                slDocument.SetCellValue(iRow, 17, data.EndContract.ToString("dd-MMM-yyyy"));
                slDocument.SetCellValue(iRow, 18, data.Vendor);
                slDocument.SetCellValue(iRow, 19, data.VehicleFunction);

                if (input.MonthFrom <= 1 && input.MonthTo >= 1)
                {
                    //if (data.JanAmount > 0)
                    //{

                    //}
                    slDocument.SetCellValue(iRow, iCol + 1, data.JanAmount);
                    slDocument.SetCellValue(iRow, iCol + 2, data.JanPPN);
                    slDocument.SetCellValue(iRow, iCol + 3, data.JanTotal);
                    iCol = iCol + 3;
                }
                if (input.MonthFrom <= 2 && input.MonthTo >= 2)
                {
                    //if (data.PebAmount > 0)
                    //{

                    //}
                    slDocument.SetCellValue(iRow, iCol + 1, data.PebAmount);
                    slDocument.SetCellValue(iRow, iCol + 2, data.PebPPN);
                    slDocument.SetCellValue(iRow, iCol + 3, data.PebTotal);
                    iCol = iCol + 3;
                }
                if (input.MonthFrom <= 3 && input.MonthTo >= 3)
                {
                    //if (data.MarAmount > 0)
                    //{

                    //}
                    slDocument.SetCellValue(iRow, iCol + 1, data.MarAmount);
                    slDocument.SetCellValue(iRow, iCol + 2, data.MarPPN);
                    slDocument.SetCellValue(iRow, iCol + 3, data.MarTotal);
                    iCol = iCol + 3;
                }
                if (input.MonthFrom <= 4 && input.MonthTo >= 4)
                {
                    //if (data.AprAmount > 0)
                    //{

                    //}
                    slDocument.SetCellValue(iRow, iCol + 1, data.AprAmount);
                    slDocument.SetCellValue(iRow, iCol + 2, data.AprPPN);
                    slDocument.SetCellValue(iRow, iCol + 3, data.AprTotal);
                    iCol = iCol + 3;
                }
                if (input.MonthFrom <= 5 && input.MonthTo >= 5)
                {
                    //if (data.MeiAmount > 0)
                    //{

                    //}
                    slDocument.SetCellValue(iRow, iCol + 1, data.MeiAmount);
                    slDocument.SetCellValue(iRow, iCol + 2, data.MeiPPN);
                    slDocument.SetCellValue(iRow, iCol + 3, data.MeiTotal);
                    iCol = iCol + 3;
                }
                if (input.MonthFrom <= 6 && input.MonthTo >= 6)
                {
                    //if (data.JunAmount > 0)
                    //{

                    //}
                    slDocument.SetCellValue(iRow, iCol + 1, data.JunAmount);
                    slDocument.SetCellValue(iRow, iCol + 2, data.JunPPN);
                    slDocument.SetCellValue(iRow, iCol + 3, data.JunTotal);
                    iCol = iCol + 3;
                }
                if (input.MonthFrom <= 7 && input.MonthTo >= 7)
                {
                    //if (data.JulAmount > 0)
                    //{

                    //}
                    slDocument.SetCellValue(iRow, iCol + 1, data.JulAmount);
                    slDocument.SetCellValue(iRow, iCol + 2, data.JulPPN);
                    slDocument.SetCellValue(iRow, iCol + 3, data.JulTotal);
                    iCol = iCol + 3;
                }
                if (input.MonthFrom <= 8 && input.MonthTo >= 8)
                {
                    //if (data.AgusAmount > 0)
                    //{

                    //}
                    slDocument.SetCellValue(iRow, iCol + 1, data.AgusAmount);
                    slDocument.SetCellValue(iRow, iCol + 2, data.AgusPPN);
                    slDocument.SetCellValue(iRow, iCol + 3, data.AgusTotal);
                    iCol = iCol + 3;
                }
                if (input.MonthFrom <= 9 && input.MonthTo >= 9)
                {
                    //if (data.SepAmount > 0)
                    //{

                    //}
                    slDocument.SetCellValue(iRow, iCol + 1, data.SepAmount);
                    slDocument.SetCellValue(iRow, iCol + 2, data.SepPPN);
                    slDocument.SetCellValue(iRow, iCol + 3, data.SepTotal);
                    iCol = iCol + 3;
                }
                if (input.MonthFrom <= 10 && input.MonthTo >= 10)
                {
                    //if (data.OktAmount > 0)
                    //{

                    //}
                    slDocument.SetCellValue(iRow, iCol + 1, data.OktAmount);
                    slDocument.SetCellValue(iRow, iCol + 2, data.OktPPN);
                    slDocument.SetCellValue(iRow, iCol + 3, data.OktTotal);
                    iCol = iCol + 3;
                }
                if (input.MonthFrom <= 11 && input.MonthTo >= 11)
                {
                    //if (data.NopAmount > 0)
                    //{

                    //}
                    slDocument.SetCellValue(iRow, iCol + 1, data.NopAmount);
                    slDocument.SetCellValue(iRow, iCol + 2, data.NopPPN);
                    slDocument.SetCellValue(iRow, iCol + 3, data.NopTotal);
                    iCol = iCol + 3;
                }
                if (input.MonthFrom <= 12 && input.MonthTo >= 12)
                {
                    //if (data.DesAmount > 0)
                    //{

                    //}
                    slDocument.SetCellValue(iRow, iCol + 1, data.DesAmount);
                    slDocument.SetCellValue(iRow, iCol + 2, data.DesPPN);
                    slDocument.SetCellValue(iRow, iCol + 3, data.DesTotal);
                    iCol = iCol + 3;
                }
                iCol = 19;
                iRow++;
            }

            //create style
            SLStyle valueStyle = slDocument.CreateStyle();

            valueStyle.Border.LeftBorder.BorderStyle   = BorderStyleValues.Thin;
            valueStyle.Border.RightBorder.BorderStyle  = BorderStyleValues.Thin;
            valueStyle.Border.TopBorder.BorderStyle    = BorderStyleValues.Thin;
            valueStyle.Border.BottomBorder.BorderStyle = BorderStyleValues.Thin;

            slDocument.AutoFitColumn(1, iCol);
            slDocument.SetCellStyle(3, 1, iRow - 1, iCol, valueStyle);

            return(slDocument);
        }
Exemple #4
0
        private SLDocument CreateHeaderExcelDashboard(SLDocument slDocument, List <RptPOItem> listData, RptPoByParamInput input)
        {
            int iRow = 3;
            int iCol = 19;

            slDocument.SetCellValue(iRow, 1, "Police Number");
            slDocument.SetCellValue(iRow, 2, "Supply Method");
            slDocument.SetCellValue(iRow, 3, "Employee Name");
            slDocument.SetCellValue(iRow, 4, "Cost Center");
            slDocument.SetCellValue(iRow, 5, "Manufacturer");
            slDocument.SetCellValue(iRow, 6, "Model");
            slDocument.SetCellValue(iRow, 7, "Series");
            slDocument.SetCellValue(iRow, 8, "Body Type");
            slDocument.SetCellValue(iRow, 9, "Color");
            slDocument.SetCellValue(iRow, 10, "Chasis Number");
            slDocument.SetCellValue(iRow, 11, "Engine Number");
            slDocument.SetCellValue(iRow, 12, "Vehicle Type");
            slDocument.SetCellValue(iRow, 13, "Vehicle Usage");
            slDocument.SetCellValue(iRow, 14, "PO Number");
            slDocument.SetCellValue(iRow, 15, "PO Line");
            slDocument.SetCellValue(iRow, 16, "Start Contract");
            slDocument.SetCellValue(iRow, 17, "End Contract");
            slDocument.SetCellValue(iRow, 18, "Vendor");
            slDocument.SetCellValue(iRow, 19, "Vehicle Function");
            foreach (var data in listData)
            {
            }

            if (input.MonthFrom <= 1 && input.MonthTo >= 1)
            {
                slDocument.SetCellValue(2, iCol + 1, "January");
                slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3);

                slDocument.SetCellValue(iRow, iCol + 1, "Amount");
                slDocument.SetCellValue(iRow, iCol + 2, "PPN");
                slDocument.SetCellValue(iRow, iCol + 3, "Total");
                iCol = iCol + 3;
            }
            if (input.MonthFrom <= 2 && input.MonthTo >= 2)
            {
                slDocument.SetCellValue(2, iCol + 1, "February");
                slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3);

                slDocument.SetCellValue(iRow, iCol + 1, "Amount");
                slDocument.SetCellValue(iRow, iCol + 2, "PPN");
                slDocument.SetCellValue(iRow, iCol + 3, "Total");
                iCol = iCol + 3;
            }
            if (input.MonthFrom <= 3 && input.MonthTo >= 3)
            {
                slDocument.SetCellValue(2, iCol + 1, "March");
                slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3);

                slDocument.SetCellValue(iRow, iCol + 1, "Amount");
                slDocument.SetCellValue(iRow, iCol + 2, "PPN");
                slDocument.SetCellValue(iRow, iCol + 3, "Total");
                iCol = iCol + 3;
            }
            if (input.MonthFrom <= 4 && input.MonthTo >= 4)
            {
                slDocument.SetCellValue(2, iCol + 1, "April");
                slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3);

                slDocument.SetCellValue(iRow, iCol + 1, "Amount");
                slDocument.SetCellValue(iRow, iCol + 2, "PPN");
                slDocument.SetCellValue(iRow, iCol + 3, "Total");
                iCol = iCol + 3;
            }
            if (input.MonthFrom <= 5 && input.MonthTo >= 5)
            {
                slDocument.SetCellValue(2, iCol + 1, "May");
                slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3);

                slDocument.SetCellValue(iRow, iCol + 1, "Amount");
                slDocument.SetCellValue(iRow, iCol + 2, "PPN");
                slDocument.SetCellValue(iRow, iCol + 3, "Total");
                iCol = iCol + 3;
            }
            if (input.MonthFrom <= 6 && input.MonthTo >= 6)
            {
                slDocument.SetCellValue(2, iCol + 1, "June");
                slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3);

                slDocument.SetCellValue(iRow, iCol + 1, "Amount");
                slDocument.SetCellValue(iRow, iCol + 2, "PPN");
                slDocument.SetCellValue(iRow, iCol + 3, "Total");
                iCol = iCol + 3;
            }
            if (input.MonthFrom <= 7 && input.MonthTo >= 7)
            {
                slDocument.SetCellValue(2, iCol + 1, "July");
                slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3);

                slDocument.SetCellValue(iRow, iCol + 1, "Amount");
                slDocument.SetCellValue(iRow, iCol + 2, "PPN");
                slDocument.SetCellValue(iRow, iCol + 3, "Total");
                iCol = iCol + 3;
            }
            if (input.MonthFrom <= 8 && input.MonthTo >= 8)
            {
                slDocument.SetCellValue(2, iCol + 1, "August");
                slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3);

                slDocument.SetCellValue(iRow, iCol + 1, "Amount");
                slDocument.SetCellValue(iRow, iCol + 2, "PPN");
                slDocument.SetCellValue(iRow, iCol + 3, "Total");
                iCol = iCol + 3;
            }
            if (input.MonthFrom <= 9 && input.MonthTo >= 9)
            {
                slDocument.SetCellValue(2, iCol + 1, "September");
                slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3);

                slDocument.SetCellValue(iRow, iCol + 1, "Amount");
                slDocument.SetCellValue(iRow, iCol + 2, "PPN");
                slDocument.SetCellValue(iRow, iCol + 3, "Total");
                iCol = iCol + 3;
            }
            if (input.MonthFrom <= 10 && input.MonthTo >= 10)
            {
                slDocument.SetCellValue(2, iCol + 1, "October");
                slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3);

                slDocument.SetCellValue(iRow, iCol + 1, "Amount");
                slDocument.SetCellValue(iRow, iCol + 2, "PPN");
                slDocument.SetCellValue(iRow, iCol + 3, "Total");
                iCol = iCol + 3;
            }
            if (input.MonthFrom <= 11 && input.MonthTo >= 11)
            {
                slDocument.SetCellValue(2, iCol + 1, "November");
                slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3);

                slDocument.SetCellValue(iRow, iCol + 1, "Amount");
                slDocument.SetCellValue(iRow, iCol + 2, "PPN");
                slDocument.SetCellValue(iRow, iCol + 3, "Total");
                iCol = iCol + 3;
            }
            if (input.MonthFrom <= 12 && input.MonthTo >= 12)
            {
                slDocument.SetCellValue(2, iCol + 1, "December");
                slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3);

                slDocument.SetCellValue(iRow, iCol + 1, "Amount");
                slDocument.SetCellValue(iRow, iCol + 2, "PPN");
                slDocument.SetCellValue(iRow, iCol + 3, "Total");
                iCol = iCol + 3;
            }

            SLStyle headerStyle = slDocument.CreateStyle();

            headerStyle.Alignment.Horizontal            = HorizontalAlignmentValues.Center;
            headerStyle.Font.Bold                       = true;
            headerStyle.Border.LeftBorder.BorderStyle   = BorderStyleValues.Thin;
            headerStyle.Border.RightBorder.BorderStyle  = BorderStyleValues.Thin;
            headerStyle.Border.TopBorder.BorderStyle    = BorderStyleValues.Thin;
            headerStyle.Border.BottomBorder.BorderStyle = BorderStyleValues.Thin;
            headerStyle.Fill.SetPattern(PatternValues.Solid, System.Drawing.Color.LightGray, System.Drawing.Color.LightGray);

            slDocument.SetCellStyle(iRow, 1, 2, iCol, headerStyle);
            slDocument.SetCellStyle(iRow, 1, iRow, iCol, headerStyle);

            return(slDocument);
        }
Exemple #5
0
        public List <RptPODto> GetRptPo(RptPoByParamInput filter)
        {
            var data       = _RptPoService.GetRptPo(filter);
            var retData    = Mapper.Map <List <RptPODto> >(data);
            var dataListPo = new List <RptPODto>();

            var dataPo = _RptPoService.GetRptPoData().ToList();

            var groupList = retData
                            .GroupBy(x => new { x.PoliceNumber, x.SupplyMethod, x.EmployeeName, x.CostCenter, x.Manufacturer, x.Models, x.Series,
                                                x.BodyType, x.Color, x.ChasisNumber, x.EngineNumber, x.VehicleType, x.VehicleUsage, x.PoNumber,
                                                x.PoLine, x.Vendor, x.StartContract, x.EndContract })
                            .Select(p => new RptPODto()
            {
                PoliceNumber  = p.FirstOrDefault().PoliceNumber,
                SupplyMethod  = p.FirstOrDefault().SupplyMethod,
                EmployeeName  = p.FirstOrDefault().EmployeeName,
                CostCenter    = p.FirstOrDefault().CostCenter,
                Manufacturer  = p.FirstOrDefault().Manufacturer,
                Models        = p.FirstOrDefault().Models,
                Series        = p.FirstOrDefault().Series,
                BodyType      = p.FirstOrDefault().BodyType,
                Color         = p.FirstOrDefault().Color,
                ChasisNumber  = p.FirstOrDefault().ChasisNumber,
                EngineNumber  = p.LastOrDefault().EngineNumber,
                VehicleType   = p.FirstOrDefault().VehicleType,
                VehicleUsage  = p.FirstOrDefault().VehicleUsage,
                PoNumber      = p.FirstOrDefault().PoNumber,
                PoLine        = p.FirstOrDefault().PoLine,
                Vendor        = p.FirstOrDefault().Vendor,
                StartContract = p.FirstOrDefault().StartContract,
                EndContract   = p.FirstOrDefault().EndContract
            });

            foreach (var item in groupList)
            {
                var retDataPo1 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 1).FirstOrDefault();
                if (retDataPo1 != null)
                {
                    item.JanAmount = (Decimal)retDataPo1.MONTHLY_INSTALLMENT;
                    item.JanPPN    = (Decimal)retDataPo1.GST;
                    item.JanTotal  = (Decimal)retDataPo1.TOTAL_MONTHLY_INSTALLMENT;
                }

                var retDataPo2 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 2).FirstOrDefault();
                if (retDataPo2 != null)
                {
                    item.PebAmount = (Decimal)retDataPo2.MONTHLY_INSTALLMENT;
                    item.PebPPN    = (Decimal)retDataPo2.GST;
                    item.PebTotal  = (Decimal)retDataPo2.TOTAL_MONTHLY_INSTALLMENT;
                }

                var retDataPo3 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 3).FirstOrDefault();
                if (retDataPo3 != null)
                {
                    item.MarAmount = (Decimal)retDataPo3.MONTHLY_INSTALLMENT;
                    item.MarPPN    = (Decimal)retDataPo3.GST;
                    item.MarTotal  = (Decimal)retDataPo3.TOTAL_MONTHLY_INSTALLMENT;
                }

                var retDataPo4 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 4).FirstOrDefault();
                if (retDataPo4 != null)
                {
                    item.AprAmount = (Decimal)retDataPo4.MONTHLY_INSTALLMENT;
                    item.AprPPN    = (Decimal)retDataPo4.GST;
                    item.AprTotal  = (Decimal)retDataPo4.TOTAL_MONTHLY_INSTALLMENT;
                }

                var retDataPo5 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 5).FirstOrDefault();
                if (retDataPo5 != null)
                {
                    item.MeiAmount = (Decimal)retDataPo5.MONTHLY_INSTALLMENT;
                    item.MeiPPN    = (Decimal)retDataPo5.GST;
                    item.MeiTotal  = (Decimal)retDataPo5.TOTAL_MONTHLY_INSTALLMENT;
                }

                var retDataPo6 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 6).FirstOrDefault();
                if (retDataPo6 != null)
                {
                    item.JunAmount = (Decimal)retDataPo6.MONTHLY_INSTALLMENT;
                    item.JunPPN    = (Decimal)retDataPo6.GST;
                    item.JunTotal  = (Decimal)retDataPo6.TOTAL_MONTHLY_INSTALLMENT;
                }

                var retDataPo7 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 7).FirstOrDefault();
                if (retDataPo7 != null)
                {
                    item.JulAmount = (Decimal)retDataPo7.MONTHLY_INSTALLMENT;
                    item.JulPPN    = (Decimal)retDataPo7.GST;
                    item.JulTotal  = (Decimal)retDataPo7.TOTAL_MONTHLY_INSTALLMENT;
                }

                var retDataPo8 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 8).FirstOrDefault();
                if (retDataPo8 != null)
                {
                    item.AgusAmount = (Decimal)retDataPo8.MONTHLY_INSTALLMENT;
                    item.AgusPPN    = (Decimal)retDataPo8.GST;
                    item.AgusTotal  = (Decimal)retDataPo8.TOTAL_MONTHLY_INSTALLMENT;
                }

                var retDataPo9 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 9).FirstOrDefault();
                if (retDataPo9 != null)
                {
                    item.SepAmount = (Decimal)retDataPo9.MONTHLY_INSTALLMENT;
                    item.SepPPN    = (Decimal)retDataPo9.GST;
                    item.SepTotal  = (Decimal)retDataPo9.TOTAL_MONTHLY_INSTALLMENT;
                }

                var retDataPo10 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 10).FirstOrDefault();
                if (retDataPo10 != null)
                {
                    item.OktAmount = (Decimal)retDataPo10.MONTHLY_INSTALLMENT;
                    item.OktPPN    = (Decimal)retDataPo10.GST;
                    item.OktTotal  = (Decimal)retDataPo10.TOTAL_MONTHLY_INSTALLMENT;
                }

                var retDataPo11 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 11).FirstOrDefault();
                if (retDataPo11 != null)
                {
                    item.NopAmount = (Decimal)retDataPo11.MONTHLY_INSTALLMENT;
                    item.NopPPN    = (Decimal)retDataPo11.GST;
                    item.NopTotal  = (Decimal)retDataPo11.TOTAL_MONTHLY_INSTALLMENT;
                }

                var retDataPo12 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 12).FirstOrDefault();
                if (retDataPo12 != null)
                {
                    item.DesAmount = (Decimal)retDataPo12.MONTHLY_INSTALLMENT;
                    item.DesPPN    = (Decimal)retDataPo12.GST;
                    item.DesTotal  = (Decimal)retDataPo12.TOTAL_MONTHLY_INSTALLMENT;
                }

                dataListPo.Add(item);
            }
            return(dataListPo);
        }