Exemple #1
0
        void UpdateRight()
        {
            string ids = GetSelectedIdList();

            string filt = string.IsNullOrEmpty(ids) ? "" : string.Format(" AND ed.qAbiturient.Id NOT IN ({0}) ", ids);

            dgvRight.Rows.Clear();

            DataTable dtAbits = new DataTable();

            string query = string.Format(@"SELECT DISTINCT ObrazProgramId, ProfileId 
                    FROM ed.qEntry WHERE qEntry.IsForeign = 1 AND qEntry.StudyLevelGroupId = {7} AND qEntry.FacultyId={0} AND qEntry.StudyFormId={1} AND
                    qEntry.StudyBasisId={2} {3} AND qEntry.IsSecond = {4} AND qEntry.IsReduced = {5} AND qEntry.IsParallel = {6}",
                                         _facultyId, _studyFormId, _studyBasisId, _licenseProgramId.HasValue ? string.Format(" AND ed.qEntry.LicenseProgramId='{0}'", _licenseProgramId.Value) : "",
                                         QueryServ.StringParseFromBool(_isSecond), QueryServ.StringParseFromBool(_isReduced), QueryServ.StringParseFromBool(_isParallel), _studyLevelGroupId);

            DataSet dsPrograms = MainClass.Bdc.GetDataSet(query);

            foreach (DataRow dr in dsPrograms.Tables[0].Rows)
            {
                string obProg = dr["ObrazProgramId"].ToString();
                string spec   = dr["ProfileId"].ToString();

                string sQueryBody = "SELECT DISTINCT '' AS Sum, qAbiturient.Id as Id, qAbiturient.BAckDoc as backdoc, " +
                                    " 'false' as Red, qAbiturient.RegNum as Рег_Номер, " +
                                    " extPerson.FIO as ФИО, " +
                                    " extPerson.EducDocument as Документ_об_образовании, " +
                                    " extPerson.PassportSeries + ' №' + extPerson.PassportNumber as Паспорт, " +
                                    " LicenseProgramCode + ' ' + LicenseProgramName + ' ' +(Case when NOT ed.qAbiturient.ProfileId IS NULL then ProfileName else ObrazProgramCrypt + ' ' + ObrazProgramName end) as Направление, " +
                                    " Competition.NAme as Конкурс, qAbiturient.BackDoc " +
                                    " FROM ed.qAbiturient " +
                                    " INNER JOIN ed.extPerson ON qAbiturient.PersonId = extPerson.Id " +
                                    " INNER JOIN ed.extEnableProtocol ON ed.qAbiturient.Id=ed.extEnableProtocol.AbiturientId " +
                                    " LEFT JOIN ed.Competition ON Competition.Id = qAbiturient.CompetitionId ";

                string sQueryJoinFW = string.Empty;

                string sFilter = GetTotalFilter() + filt;
                sFilter += " AND qAbiturient.ObrazProgramId = " + obProg;
                sFilter += " AND qAbiturient.IsForeign = 1 ";
                sFilter += string.IsNullOrEmpty(spec) ? " AND ed.qAbiturient.ProfileId IS NULL " : string.Format(" AND ed.qAbiturient.ProfileId='{0}'", spec);

                string orderBy = " ORDER BY ФИО ";

                DataTable dtProg = MainClass.Bdc.GetDataSet(sQueryBody + sQueryJoinFW + sFilter + orderBy).Tables[0];

                dtAbits.Merge(dtProg);
            }

            FillGrid(dgvRight, dtAbits);
        }
Exemple #2
0
        private void UpdateDataGrid()
        {
            if (StudyFormId == null || StudyBasisId == null)
            {
                dgvViews.DataSource = null;
                return;
            }

            string query = string.Format(@"SELECT DISTINCT Id, Number as 'Номер представления' FROM ed.extDisEntryView 
WHERE IsForeign = 1 AND StudyFormId={0} AND StudyBasisId={1} AND FacultyId= {2} {3} AND IsListener = {4} AND IsSecond = {5} AND IsReduced = {6} AND IsParallel = {7} AND StudyLevelGroupId = {8} order by 2",
                                         StudyFormId, StudyBasisId, FacultyId,
                                         LicenseProgramId.HasValue ? string.Format("AND LicenseProgramId = {0}", LicenseProgramId) : "",
                                         QueryServ.StringParseFromBool(IsListener), QueryServ.StringParseFromBool(IsSecond),
                                         QueryServ.StringParseFromBool(IsReduced), QueryServ.StringParseFromBool(IsParallel), StudyLevelGroupId);

            HelpClass.FillDataGrid(dgvViews, _bdc, query, "");
        }
        //дополнительная инициализация
        protected override void InitControls()
        {
            sQuery = string.Format("SELECT DISTINCT extAbitMarksSum.TotalSum as Sum, extAbit.Id as Id, extAbit.BAckDoc as backdoc, " +
                                   " 'false' as Red, extAbit.RegNum as Рег_Номер, " +
                                   " extPerson.FIO as ФИО, " +
                                   " extPerson.EducDocument as Документ_об_образовании, " +
                                   " extPerson.PassportSeries + ' №' + extPerson.PassportNumber as Паспорт, " +
                                   " extAbit.ObrazProgramName + ' ' + (Case when extAbit.ProfileName IS NULL then '' else extAbit.ProfileName end) as Направление, " +
                                   " Competition.NAme as Конкурс, extAbit.BackDoc " +
                                   " FROM ed.extAbit INNER JOIN ed.extPerson ON extAbit.PersonId = extPerson.Id " +
                                   " INNER JOIN ed.extEnableProtocol ON extAbit.Id = extEnableProtocol.AbiturientId " +
                                   " INNER JOIN ed.extEntryView ON extAbit.Id = extEntryView.AbiturientId " +
                                   " INNER JOIN ed.extAbitMarksSum ON extAbit.Id = extAbitMarksSum.Id " +
                                   " LEFT JOIN ed.Competition ON Competition.Id = extAbit.CompetitionId ");

            string q = string.Format(@"SELECT DISTINCT CONVERT(varchar(100), Id) AS Id, Number as Name FROM ed.extEntryView WHERE IsForeign = 1 AND Excluded=0 AND IsOld=0 
AND FacultyId ={0} AND StudyFormId = {1} AND StudyBasisId = {2} {3} AND IsSecond = {4} AND IsReduced = {5} AND IsParallel = {6} AND IsListener = {7} AND StudyLevelGroupId = {8}",
                                     _facultyId, _studyFormId, _studyBasisId,
                                     _licenseProgramId.HasValue ? string.Format("AND LicenseProgramId = {0}", _licenseProgramId) : "",
                                     QueryServ.StringParseFromBool(_isSecond),
                                     QueryServ.StringParseFromBool(_isReduced), QueryServ.StringParseFromBool(_isParallel), QueryServ.StringParseFromBool(_isListener), _studyLevelGroupId);

            ComboServ.FillCombo(cbHeaders, HelpClass.GetComboListByQuery(q), false, false);

            cbHeaders.Visible  = true;
            lblHeaderText.Text = "Из представления к зачислению №";
            chbInostr.Visible  = true;

            cbHeaders.SelectedIndexChanged += new EventHandler(cbHeaders_SelectedIndexChanged);
            chbInostr.CheckedChanged       += new System.EventHandler(UpdateGrids);

            base.InitControls();

            this.Text           = "Приказ об исключении ";
            this.chbEnable.Text = "Добавить всех выбранных слева абитуриентов в приказ об исключении";

            this.chbFilter.Visible = false;
        }
Exemple #4
0
        public override void UpdateDataGrid()
        {
            if (StudyFormId == null || StudyBasisId == null)
            {
                dgvViews.DataSource = null;
                return;
            }
            string qquery = @"SELECT DISTINCT Id, Number + ' (' + CONVERT(nvarchar, Date, 104) + ')' AS 'Номер представления' 
FROM ed.extEntryView 
WHERE StudyFormId={0} AND StudyBasisId={1} " + (FacultyId.HasValue? "AND FacultyId= {2} ":"") + (LicenseProgramId.HasValue ? "AND LicenseProgramId = {3} ":"") + @"AND IsListener = {4} AND IsSecond = {5} 
AND IsReduced = {6} AND IsParallel = {7} AND IsForeign = {8} AND StudyLevelGroupId = {9}
order by 2";
            string query  = string.Format(qquery,
                                          StudyFormId,
                                          StudyBasisId,
                                          FacultyId,
                                          LicenseProgramId,
                                          QueryServ.StringParseFromBool(IsListener),
                                          QueryServ.StringParseFromBool(IsSecond),
                                          QueryServ.StringParseFromBool(IsReduced),
                                          QueryServ.StringParseFromBool(IsParallel),
                                          QueryServ.StringParseFromBool(MainClass.dbType == PriemType.PriemForeigners),
                                          StudyLevelGroupId);

            HelpClass.FillDataGrid(dgvViews, _bdc, query, "");

            if (dgvViews.Columns.Contains("Номер представления"))
            {
                dgvViews.Columns["Номер представления"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            }
            if (dgvViews.Rows.Count == 0)
            {
                dgvViews.CurrentCell = null;
                ViewProtocolInfo();
            }
        }
Exemple #5
0
        private void UpdateDataGrid()
        {
            gbOrders.Visible    = true;
            gbOrdersFor.Visible = true;

            if (StudyFormId == null || StudyBasisId == null)
            {
                dgvViews.DataSource = null;
                gbOrders.Visible    = false;
                gbOrdersFor.Visible = false;
                return;
            }

            string query = string.Format("SELECT DISTINCT Id, Number as 'Номер представления' FROM ed.extEntryView WHERE StudyFormId={0} AND StudyBasisId={1} AND FacultyId= {2} AND LicenseProgramId = {3} AND IsListener = {4} AND IsSecond = {5} AND IsReduced = {6} AND IsParallel = {7} order by 2", StudyFormId, StudyBasisId, FacultyId, LicenseProgramId, QueryServ.StringParseFromBool(IsListener), QueryServ.StringParseFromBool(IsSecond), QueryServ.StringParseFromBool(IsReduced), QueryServ.StringParseFromBool(IsParallel));

            HelpClass.FillDataGrid(dgvViews, _bdc, query, "");

            dgvViews.Columns["Номер представления"].Width = 149;
            dgvViews.Update();

            if (dgvViews.RowCount == 0)
            {
                gbOrders.Visible    = false;
                gbOrdersFor.Visible = false;
            }
        }
Exemple #6
0
        public override void UpdateDataGrid()
        {
            try
            {
                string sOrderBy = string.Empty;
                if (MainClass.dbType == PriemType.PriemMag)
                {
                    sOrderBy = " ORDER BY comp , noexamssort, ed.extAbitMarksSum.TotalSum desc, preimsort desc, ed.qAbiturient.Coefficient, ed.extAbitMarksSum.TotalCount desc, ФИО";
                }
                else
                {
                    sOrderBy = " ORDER BY comp , noexamssort, ed.extAbitMarksSum.TotalSum desc, preimsort desc, DopOrProfSort desc, olymp, attestat, attAvg desc, ed.qAbiturient.Coefficient, ed.extAbitMarksSum.TotalCount desc, ФИО";
                }

                string totalQuery = null;
                iPlanValue = GetPlanValueAndCheckLock();

                if (chbFix.Checked)
                {
                    if (MainClass.dbType == PriemType.PriemMag)
                    {
                        _queryOrange = @", CASE WHEN EXISTS(SELECT PersonId FROM ed.hlpPersonsWithOriginals WHERE PersonId = ed.qAbiturient.PersonId AND EntryId <> ed.qAbiturient.EntryId) then 1 else 0 end as orange ";
                    }
                    else
                    {
                        _queryOrange = @", CASE WHEN EXISTS(SELECT ed.extEntryView.Id FROM ed.extEntryView INNER JOIN ed.Abiturient a ON ed.extEntryView.AbiturientId = a.Id WHERE a.PersonId = ed.qAbiturient.PersonId) then 1 else 0 end as orange ";
                    }

                    string queryFix = _queryBody + _queryOrange +
                                      @" FROM ed.qAbiturient                     
                    INNER JOIN ed.extPerson ON ed.extPerson.Id = ed.qAbiturient.PersonId                    
                    INNER JOIN ed.Competition ON ed.Competition.Id = ed.qAbiturient.CompetitionId 
                    INNER JOIN ed.Fixieren ON ed.Fixieren.AbiturientId=ed.qAbiturient.Id 
                    LEFT JOIN ed.hlpEntryWithAddExams ON hlpEntryWithAddExams.EntryId = qAbiturient.EntryId
                    LEFT JOIN ed.FixierenView ON ed.Fixieren.FixierenViewId=ed.FixierenView.Id 
                    LEFT JOIN ed.hlpAbiturientProfAdd ON ed.hlpAbiturientProfAdd.Id = ed.qAbiturient.Id 
                    LEFT JOIN ed.hlpAbiturientProf ON ed.hlpAbiturientProf.Id = ed.qAbiturient.Id 
                    LEFT JOIN ed.extAbitMarksSum ON ed.qAbiturient.Id = ed.extAbitMarksSum.Id";

                    string whereFix = string.Format(@" WHERE ed.FixierenView.StudyLevelGroupId = {10} AND ed.FixierenView.StudyFormId={0} AND ed.FixierenView.StudyBasisId={1} AND ed.FixierenView.FacultyId={2} 
                                                    AND ed.FixierenView.LicenseProgramId={3} AND ed.FixierenView.ObrazProgramId={4} {5} AND ed.FixierenView.IsCel = {6}
                                                    AND ed.FixierenView.IsSecond = {7} AND ed.FixierenView.IsReduced = {8} AND ed.FixierenView.IsParallel = {9} ",
                                                    StudyFormId, StudyBasisId, FacultyId, LicenseProgramId, ObrazProgramId, ProfileId == null ? " AND ed.FixierenView.ProfileId IS NULL" : "AND ed.FixierenView.ProfileId='" + ProfileId + "'",
                                                    QueryServ.StringParseFromBool(false), QueryServ.StringParseFromBool(IsSecond), QueryServ.StringParseFromBool(IsReduced), QueryServ.StringParseFromBool(IsParallel), StudyLevelGroupId);

                    totalQuery = queryFix + whereFix + sOrderBy;
                }
                else
                {
                    string sFilters = GetFilterString();

                    //не забрали доки
                    sFilters += " AND (ed.qAbiturient.BackDoc=0) ";
                    sFilters += " AND ed.qAbiturient.Id NOT IN (select abiturientid from ed.extentryview) ";

                    // кроме бэ преодолены мин планки
                    sFilters += " AND ((CompetitionId=1  OR CompetitionId=8) OR hlpMinMarkAbiturient.Id IS NULL )";

                    string examsCnt = _bdc.GetStringValue(string.Format(" SELECT Count(Id) FROM ed.extExamInEntry WHERE EntryId='{0}' ", EntryId.ToString()));

                    if (MainClass.dbType == PriemType.PriemMag)
                    {
                        _queryOrange = @", CASE WHEN EXISTS(SELECT PersonId FROM ed.hlpPersonsWithOriginals WHERE PersonId = ed.qAbiturient.PersonId AND EntryId <> ed.qAbiturient.EntryId) then 1 else 0 end as orange ";

                        // кроме бэ нужное кол-во оценок есть
                        sFilters += " AND ((CompetitionId=1  OR CompetitionId=8) OR ed.extAbitMarksSum.TotalCount = " + examsCnt + " ) ";

                        totalQuery = _queryBody + _queryOrange + _queryFrom + sFilters + sOrderBy;
                    }
                    else
                    {
                        _queryOrange = @", CASE WHEN EXISTS(SELECT ed.extEntryView.Id FROM ed.extEntryView INNER JOIN ed.Abiturient a ON ed.extEntryView.AbiturientId = a.Id WHERE a.PersonId = ed.qAbiturient.PersonId) then 1 else 0 end as orange ";

                        //if(StudyBasisId == 1)
                        //    sFilters += " AND qAbiturient.Id NOT IN (SELECT AbiturientId FROM ed._FirstWaveGreenBackUp2)";

                        sFilters += " AND ed.qAbiturient.CompetitionId NOT IN (6, 1, 2, 7) ";

                        // кроме бэ и тех, у кого нет сертификатов и оценок нужное кол-во оценок есть
                        sFilters += @" AND ((CompetitionId=1  OR CompetitionId=8) 
                                        OR (ed.qAbiturient.PersonId NOT IN (SELECT PersonId FROM ed.EgeCertificate) 
                                           AND ed.qAbiturient.Id NOT IN (SELECT abiturientid from ed.Mark where IsFromEge = 1) and ed.extPerson.EgeInSPbgu = 0 and ed.qAbiturient.IsSecond = 0 and ed.qAbiturient.IsReduced = 0 and ed.qAbiturient.IsParallel = 0) 
                                        OR ed.extAbitMarksSum.TotalCount = " + examsCnt + " ) ";

                        totalQuery = _queryBody + _queryOrange + _queryFrom + sFilters + sOrderBy;
                    }
                }

                if (!dgvAbits.Columns.Contains("Number"))
                {
                    dgvAbits.Columns.Add("Number", "№ п/п");
                }

                HelpClass.FillDataGrid(dgvAbits, _bdc, totalQuery, "");

                dgvAbits.Columns["Id"].Visible            = false;
                dgvAbits.Columns["comp"].Visible          = false;
                dgvAbits.Columns["noexamssort"].Visible   = false;
                dgvAbits.Columns["preimsort"].Visible     = false;
                dgvAbits.Columns["olymp"].Visible         = false;
                dgvAbits.Columns["attestat"].Visible      = false;
                dgvAbits.Columns["attAvg"].Visible        = false;
                dgvAbits.Columns["DopOrProfSort"].Visible = false;
                dgvAbits.Columns["orange"].Visible        = false;

                if (MainClass.dbType == PriemType.PriemMag)
                {
                    dgvAbits.Columns["Серия аттестата"].Visible = false;
                    dgvAbits.Columns["Медалист"].HeaderText     = "Красный диплом";
                }
                else
                {
                    dgvAbits.Columns["Серия диплома"].Visible = false;
                }

                foreach (DataGridViewColumn column in dgvAbits.Columns)
                {
                    column.SortMode = DataGridViewColumnSortMode.NotSortable;
                }

                lblCount.Text = dgvAbits.RowCount.ToString() + "             Cвободных мест: " + iPlanValue;
            }
            catch (Exception ex)
            {
                WinFormsServ.Error("Ошибка при обновлении списка.", ex);
            }
        }
Exemple #7
0
        string GetTotalFilter(bool header)
        {
            string sFilter = string.Empty;

            //обработали Направление
            if (_licenseProgramId != null)
            {
                sFilter += " AND ed.qAbiturient.LicenseProgramId = " + _licenseProgramId;
            }

            sFilter += " AND qAbiturient.IsSecond = " + QueryServ.StringParseFromBool(_isSecond);
            sFilter += " AND qAbiturient.IsReduced = " + QueryServ.StringParseFromBool(_isReduced);
            sFilter += " AND qAbiturient.IsParallel = " + QueryServ.StringParseFromBool(_isParallel);

            //обработали слушатель
            sFilter += " AND qAbiturient.IsListener = " + QueryServ.StringParseFromBool(_isListener);

            sFilter += " AND qAbiturient.BackDoc = 0 ";

            sFilter += " AND (ed.qAbiturient.Id NOT IN (SELECT AbiturientId FROM ed.extEntryView WHERE IsListener = 0) OR qAbiturient.IsListener = 1)";

            sFilter += "AND ((qAbiturient.IsListener = 0 AND qAbiturient.IsSecond = 0 AND qAbiturient.IsReduced = 0 AND qAbiturient.IsParallel = 0 AND qAbiturient.HasOriginals > 0) OR qAbiturient.IsListener = 1 OR qAbiturient.IsSecond = 1 OR qAbiturient.IsReduced = 1 OR qAbiturient.IsParallel = 1 OR qAbiturient.IsPaid = 1)";

            if (_studyBasisId == 2)
            {
                sFilter += " AND qAbiturient.IsPaid > 0 ";
                //sFilter += " AND EXISTS (SELECT Top(1) ed.PaidData.Id FROM ed.PaidData WHERE ed.PaidData.AbiturientId = qAbiturient.Id) ";
            }

            if (header)
            {
                switch (HeaderId)
                {
                case 1:
                    sFilter += " AND qAbiturient.CompetitionId=1 ";
                    sFilter += " AND PersonId IN (SELECT PersonId FROM ed.Olympiads WHERE OlympTypeId=1) ";
                    break;

                case 2:
                    sFilter += " AND qAbiturient.CompetitionId=1 ";
                    sFilter += " AND PersonId IN (SELECT PersonId FROM ed.Olympiads WHERE OlympValueId=6 AND OlympTypeId=2) ";
                    break;

                case 3:
                    //sFilter += " AND ed.qAbiturient.CompetitionId=1 ";
                    sFilter += " AND PersonId IN (SELECT PersonId FROM ed.Olympiads WHERE OlympValueId=5 AND OlympTypeId=2) ";
                    break;

                case 4:
                    //sFilter += " AND ed.qAbiturient.CompetitionId=1 ";
                    sFilter += " AND PersonId IN (SELECT PersonId FROM ed.Olympiads WHERE OlympValueId=6 AND OlympTypeId IN (3,4)) ";
                    break;

                case 5:
                    //sFilter += " AND ed.qAbiturient.CompetitionId=1 ";
                    sFilter += " AND PersonId IN (SELECT PersonId FROM ed.Olympiads WHERE OlympValueId=5 AND OlympTypeId IN (3,4)) ";
                    break;

                case 6:
                    sFilter += " AND qAbiturient.CompetitionId=2 ";
                    break;

                case 7:
                    sFilter += " AND qAbiturient.CompetitionId = 6";
                    break;

                case 8:
                    sFilter += " AND qAbiturient.CompetitionId NOT IN (1,2,6,7,8) ";
                    break;

                case 9:
                    sFilter += " AND qAbiturient.CompetitionId IN (1,8) ";
                    break;

                case 10:
                    sFilter += " AND qAbiturient.CompetitionId IN (2,7) ";
                    break;
                }
            }
            return(GetWhereClause("ed.qAbiturient") + sFilter);
        }