예제 #1
0
        public DataTable GetExportVerifyDetail(ExportVerifyDetailSearchFilter searchFilter)
        {
            _reportDataAccess = new ReportDataAccess(_context);
            IList <ExportVerifyDetailEntity> exportVerifyDetail = _reportDataAccess.GetExportVerifyDetail(searchFilter);
            DataTable dt = DataTableHelpers.ConvertTo(exportVerifyDetail);

            return(dt);
        }
예제 #2
0
        public IList <ExportVerifyDetailEntity> GetExportVerifyDetail(ExportVerifyDetailSearchFilter searchFilter)
        {
            int?   productGroupId = searchFilter.ProductGroup.ToNullable <int>();
            int?   productId      = searchFilter.Product.ToNullable <int>();
            int?   campaignId     = searchFilter.Campaign.ToNullable <int>();
            int?   typeId         = searchFilter.Type.ToNullable <int>();
            int?   areaId         = searchFilter.Area.ToNullable <int>();
            int?   subareaId      = searchFilter.SubArea.ToNullable <int>();
            int?   ownerId        = searchFilter.OwnerSR.ToNullable <int>();
            int?   ownerbranchId  = searchFilter.OwnerBranch.ToNullable <int>();
            string selectAllValue = Constants.ApplicationStatus.All.ConvertToString();

            DateTime?srMinDate = null;
            DateTime?srMaxDate = null;

            if (searchFilter.SRDateTimeFromValue.HasValue && searchFilter.SRDateTimeToValue.HasValue)
            {
                srMinDate = searchFilter.SRDateTimeFromValue.Value;
                srMaxDate = searchFilter.SRDateTimeToValue.Value;
            }
            else
            {
                int?monthOfReportExport =
                    _context.TB_C_PARAMETER.Where(x => x.PARAMETER_NAME == Constants.ParameterName.ReportExportDate)
                    .FirstOrDefault().PARAMETER_VALUE.ToNullable <int>();

                srMinDate = DateTime.Now.Date.AddMonths(monthOfReportExport.Value * -1);
                srMaxDate = DateTime.Now.Date.AddDays(1);
            }

            var query = (from sr in _context.TB_T_SR.AsNoTracking()
                         join cs in _context.TB_M_CUSTOMER on sr.CUSTOMER_ID equals cs.CUSTOMER_ID
                         join ac in _context.TB_M_ACCOUNT on sr.ACCOUNT_ID equals ac.ACCOUNT_ID
                         join pg in _context.TB_R_PRODUCTGROUP on sr.PRODUCTGROUP_ID equals pg.PRODUCTGROUP_ID
                         join pr in _context.TB_R_PRODUCT on sr.PRODUCT_ID equals pr.PRODUCT_ID
                         join cp in _context.TB_R_CAMPAIGNSERVICE on sr.CAMPAIGNSERVICE_ID equals cp.CAMPAIGNSERVICE_ID
                         join ty in _context.TB_M_TYPE on sr.TYPE_ID equals ty.TYPE_ID
                         join ar in _context.TB_M_AREA on sr.AREA_ID equals ar.AREA_ID
                         join sb in _context.TB_M_SUBAREA on sr.SUBAREA_ID equals sb.SUBAREA_ID
                         join ou in _context.TB_R_USER on sr.OWNER_USER_ID equals ou.USER_ID
                         from vr in _context.TB_T_SR_VERIFY_RESULT_QUESTION.Where(c => c.TB_T_SR_VERIFY_RESULT_GROUP.SR_ID == sr.SR_ID).DefaultIfEmpty()
                         where (productGroupId == null || pg.PRODUCTGROUP_ID == productGroupId) &&
                         (productId == null || pr.PRODUCT_ID == productId) &&
                         (campaignId == null || cp.CAMPAIGNSERVICE_ID == campaignId) &&
                         (typeId == null || ty.TYPE_ID == typeId) &&
                         (areaId == null || ar.AREA_ID == areaId) &&
                         (subareaId == null || sb.SUBAREA_ID == subareaId) &&
                         (ownerId == null || ou.USER_ID == ownerId) &&
                         (ownerbranchId == null || sr.OWNER_BRANCH_ID == ownerbranchId) &&
                         (string.IsNullOrEmpty(searchFilter.SRId) || sr.SR_NO == searchFilter.SRId) &&
                         (string.IsNullOrEmpty(searchFilter.SRIsverify) || selectAllValue == searchFilter.SRIsverify || sr.SR_IS_VERIFY_PASS == searchFilter.SRIsverify) &&
                         (sr.CREATE_DATE >= srMinDate) &&
                         (sr.CREATE_DATE <= srMaxDate)
                         select new ExportVerifyDetailEntity
            {
                SRId = sr.SR_NO,
                AccountNo = ac.ACCOUNT_NO,
                CustomerFistname = !string.IsNullOrEmpty(cs.FIRST_NAME_TH) ? cs.FIRST_NAME_TH : cs.FIRST_NAME_EN,
                CustomerLastname = !string.IsNullOrEmpty(cs.FIRST_NAME_TH) ? cs.LAST_NAME_TH : cs.LAST_NAME_EN,
                ProductGroupName = pg.PRODUCTGROUP_NAME,
                ProductName = pr.PRODUCT_NAME,
                CampaignServiceName = cp.CAMPAIGNSERVICE_NAME,
                TypeName = ty.TYPE_NAME,
                AreaName = ar.AREA_NAME,
                SubAreaName = sb.SUBAREA_NAME,
                SROwnerName = ou.POSITION_CODE + "-" + ou.FIRST_NAME + " " + ou.LAST_NAME,
                IsVerifyPass = sr.SR_IS_VERIFY_PASS,
                QuestionGroupName = vr.TB_T_SR_VERIFY_RESULT_GROUP.QUESTIONGROUP_NAME,
                QuestionName = vr.QUESTION_NAME,
                VerifyResult = vr.RESULT
            });

            return(query.ToList());
        }
예제 #3
0
파일: ReportFacade.cs 프로젝트: KKPBank/CSM
        public byte[] CreateReportVerifyDetail(IList <ExportVerifyDetailEntity> vfdList, ExportVerifyDetailSearchFilter searchFilter)
        {
            try
            {
                StringBuilder sb = new StringBuilder();
                List <string> search_criteria = new List <string>();

                if (!string.IsNullOrWhiteSpace(searchFilter.ProductGroup))
                {
                    search_criteria.Add(SetReportData("ProductGroup:" + searchFilter.ProductGroupName));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.Product))
                {
                    search_criteria.Add(SetReportData("Product:" + searchFilter.ProductName));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.Campaign))
                {
                    search_criteria.Add(SetReportData("Campaign/Service:" + searchFilter.CampaignName));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.Type))
                {
                    search_criteria.Add(SetReportData("Type:" + searchFilter.TypeName));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.Area))
                {
                    search_criteria.Add(SetReportData("Area:" + searchFilter.AreaName));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.SubArea))
                {
                    search_criteria.Add(SetReportData("Sub Area:" + searchFilter.SubAreaName));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.OwnerBranch))
                {
                    search_criteria.Add(SetReportData("Owner Branch:" + searchFilter.OwnerBranchName));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.OwnerSR))
                {
                    search_criteria.Add(SetReportData("Owner SR:" + searchFilter.OwnerSRName));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.SRId))
                {
                    search_criteria.Add(SetReportData("SR ID:" + searchFilter.SRId));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.SRIsverify))
                {
                    search_criteria.Add(SetReportData("Verify Result:" + searchFilter.SRIsverifyName));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.SRDateFrom))
                {
                    search_criteria.Add(SetReportData("SR Created Date From:" + searchFilter.SRDateFrom));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.SRDateTo))
                {
                    search_criteria.Add(SetReportData("SR Created Date To:" + searchFilter.SRDateTo));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.SRTimeFrom))
                {
                    search_criteria.Add(SetReportData("SR Created Time From:" + searchFilter.SRTimeFrom));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.SRTimeTo))
                {
                    search_criteria.Add(SetReportData("SR Created Time To:" + searchFilter.SRTimeTo));
                }

                sb.AppendLine(string.Join(",", search_criteria));
                sb.AppendLine("");

                string[] headers = new string[]
                {
                    SetReportData("No"),
                    SetReportData("SR ID"),
                    SetReportData("เลขที่สัญญา / เลขที่บัญชีชื่อลูกค้า"),
                    SetReportData("ชื่อลูกค้า"),
                    SetReportData("นามสกุลลูกค้า"),
                    SetReportData("Product Group"),
                    SetReportData("Product"),
                    SetReportData("Campaign/Service"),
                    SetReportData("Type"),
                    SetReportData("Area"),

                    SetReportData("Sub-Area"),
                    SetReportData("SR Owner"),
                    SetReportData("Verify Result"),
                    SetReportData("Question Group"),
                    SetReportData("Question"),
                    SetReportData("Answer")
                };
                sb.AppendLine(string.Join(",", headers));

                int i = 0;
                foreach (var item in vfdList)
                {
                    i += 1;
                    string[] fields = new string[]
                    {
                        SetReportData(i.ToString()),
                        SetReportData(addSingleQuote(item.SRId)),
                        SetReportData(addSingleQuote(item.AccountNo)),
                        SetReportData(item.CustomerFistname),
                        SetReportData(item.CustomerLastname),
                        SetReportData(item.ProductGroupName),
                        SetReportData(item.ProductName),
                        SetReportData(item.CampaignServiceName),
                        SetReportData(item.TypeName),
                        SetReportData(item.AreaName),

                        SetReportData(item.SubAreaName),
                        SetReportData(item.SROwnerName),
                        SetReportData(item.IsVerifyPassDisplay),
                        SetReportData(item.QuestionGroupName),
                        SetReportData(item.QuestionName),
                        SetReportData(item.VerifyResultDisplay)
                    };
                    sb.AppendLine(string.Join(",", fields));
                }

                return(Encoding.GetEncoding(874).GetBytes(sb.ToString()));
            }
            catch
            {
                throw;
            }
        }
예제 #4
0
파일: ReportFacade.cs 프로젝트: KKPBank/CSM
        //public DataTable GetExportVerifyDetail(ExportVerifyDetailSearchFilter searchFilter)
        //{
        //    _reportDataAccess = new ReportDataAccess(_context);
        //    IList<ExportVerifyDetailEntity> exportVerifyDetail = _reportDataAccess.GetExportVerifyDetail(searchFilter);
        //    DataTable dt = DataTableHelpers.ConvertTo(exportVerifyDetail);
        //    return dt;
        //}

        public IList <ExportVerifyDetailEntity> GetExportVerifyDetail(ExportVerifyDetailSearchFilter searchFilter)
        {
            _reportDataAccess = new ReportDataAccess(_context);
            return(_reportDataAccess.GetExportVerifyDetail(searchFilter));
        }