2234 lines
118 KiB
C#
2234 lines
118 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using Kreta.Core;
|
|
using Kreta.Core.Logic;
|
|
using Kreta.DataAccess.Interfaces;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.ParameterClasses;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Enums;
|
|
using Kreta.Enums.ManualEnums;
|
|
using Kreta.Framework;
|
|
using Kreta.Framework.Util;
|
|
using Kreta.Resources;
|
|
using SDA.DataProvider;
|
|
using SDA.Kreta.Entities;
|
|
|
|
namespace Kreta.DataAccessManual
|
|
{
|
|
internal class OsztalyCsoportDal : DataAccessBase, IOsztalyCsoportDal
|
|
{
|
|
public OsztalyCsoportDal(DalHandler handler, GridParameters parameters)
|
|
: base(handler, parameters)
|
|
{
|
|
}
|
|
|
|
public OsztalyCsoportDal(DalHandler handler) : base(handler)
|
|
{
|
|
}
|
|
|
|
public DataSet GetOsztalyCSoportok(string osztaly, string csoport, int evfolyamTipus = -1, bool isCsoportTipusaKell = true)
|
|
{
|
|
const string commandText = @"
|
|
Select
|
|
ocs.ID,
|
|
ocs.C_NEV AS Nev,
|
|
ocs.C_EVFOLYAMTIPUSA Evfolyam,
|
|
CASE WHEN Osztaly IS NOT NULL THEN :pOsztaly ELSE :pCsoport END AS GroupName,
|
|
cs.C_TIPUSA AS CsoportTipusa
|
|
From(
|
|
SELECT [ID]
|
|
,[C_NEV]
|
|
,[C_EVFOLYAMTIPUSA]
|
|
FROM [T_OSZTALYCSOPORT] Where TOROLT = 'F' AND T_OSZTALYCSOPORT.C_FELADATKATEGORIAID = @OktNevKatTipus) AS ocs
|
|
Left Join (SELECT T_OSZTALY.[ID],
|
|
'T' AS Osztaly
|
|
FROM [T_OSZTALY]
|
|
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_OSZTALY.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @OktNevKatTipus) AS o
|
|
on o.ID = ocs.ID
|
|
LEFT JOIN (SELECT T_CSOPORT.ID, C_TIPUSA FROM T_CSOPORT
|
|
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_CSOPORT.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @OktNevKatTipus WHERE T_CSOPORT.TOROLT = 'F') AS cs ON cs.ID = ocs.ID
|
|
";
|
|
var prams = new List<CommandParameter> {
|
|
new CommandParameter("pOsztaly", osztaly),
|
|
new CommandParameter("pCsoport", csoport)
|
|
,new CommandParameter("OktNevKatTipus", (int)OktNevelesiKategoriaEnum.NevelesOktatas)
|
|
};
|
|
|
|
if (evfolyamTipus.IsEntityId())
|
|
{
|
|
prams.Add(new CommandParameter("pevfolyamTipus", evfolyamTipus));
|
|
}
|
|
var ds = this.GetData(commandText, prams, dictionaryItemColumns: "CsoportTipusa");
|
|
|
|
if (isCsoportTipusaKell)
|
|
{
|
|
foreach (DataRow row in ds.Tables[0].Rows)
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(row["CsoportTipusa_DNAME"] as string))
|
|
{
|
|
row["Nev"] += (" - " + (row["CsoportTipusa_DNAME"] as string));
|
|
}
|
|
}
|
|
}
|
|
|
|
return ds;
|
|
}
|
|
public bool IsOsztalyCsoportNemTanoraiCeluCsoport(int osztalyCsoportId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
|
|
command.CommandText = "uspGetIsOsztalyCsoportNemTanoraiCeluCsoport";
|
|
command.Parameters.Add("pOsztalyCsoportId", osztalyCsoportId);
|
|
|
|
var result = Convert.ToBoolean(command.ExecuteScalar());
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
public DataSet GetOsztalyCsoportokGroupedByKapcsolodas(int userId)
|
|
{
|
|
var commandParameterList = new Dictionary<string, object> { { "felhasznaloId", userId } };
|
|
var result = GetOsztalyCsoportokDataSet("sp_GetFelhasznaloErintettOsztalyai", commandParameterList);
|
|
return result;
|
|
}
|
|
|
|
public DataSet GetOsztalyCsoportokGroupedByFoglalkozas(int userId)
|
|
{
|
|
var osztalyGroupName = CommonResource.Osztaly; /*Osztály*/
|
|
var csoportGroupName = CommonResource.Csoport; /*Csoport*/
|
|
var commandParameterList = new Dictionary<string, object> { { "felhasznaloId", userId }, { "osztaly", osztalyGroupName }, { "csoport", csoportGroupName } };
|
|
var result = GetOsztalyCsoportokDataSet("sp_GetFelhasznaloOsztalyaiByFoglalkozas", commandParameterList);
|
|
return result;
|
|
}
|
|
|
|
public DataSet GetFelhasznaloOsztalyaiByFoglalkozasAndOsztfo(int intezmenyId, int tanevId, int userId, string osztalyGroupName, string csoportGroupName, bool isKellCsoportvezeto = false)
|
|
{
|
|
var commandParameterList = new Dictionary<string, object> { { "pFelhasznaloId", userId }, { "pOsztalyGroupName", osztalyGroupName }, { "pCsoportGroupName", csoportGroupName }, { "pTanevId", tanevId }, { "pIntezmenyId", intezmenyId }, { "pIsKellCsoportVezeto", isKellCsoportvezeto } };
|
|
var result = GetOsztalyCsoportokDataSet("uspGetFelhasznaloOsztalyaiByFoglalkozasAndOsztfo", commandParameterList);
|
|
return result;
|
|
}
|
|
|
|
public DataSet GetVezetettOsztalyCsoportokByAlkalmazott(int tanevId, int alkalmazottId)
|
|
{
|
|
var ds = new DataSet();
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
|
|
command.CommandText = "uspGetVezetettOsztalyCsoportokByAlkalmazott";
|
|
|
|
command.Parameters.Add("pAlkalmazottId", SDADBType.Int).Value = alkalmazottId;
|
|
command.Parameters.Add("pTanevID", SDADBType.Int).Value = tanevId;
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
|
|
DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters);
|
|
|
|
return dt.AsDataSet();
|
|
}
|
|
}
|
|
|
|
public DataSet GetOsztalyCsoportokForFeljegyzesek(int userId)
|
|
{
|
|
var commandParameterList = new Dictionary<string, object> { { "felhasznaloId", userId } };
|
|
var result = GetOsztalyCsoportokDataSet("sp_GetOsztalyCsoportokForFeljegyzesek", commandParameterList);
|
|
return result;
|
|
}
|
|
|
|
public DataSet GetOsztalyCsoportokGrouped(int? feladatKategoriaId)
|
|
{
|
|
Dictionary<string, object> paramList = new Dictionary<string, object>();
|
|
|
|
if (feladatKategoriaId.IsEntityId())
|
|
{ paramList.Add("pFeladatKategoriaId", feladatKategoriaId); }
|
|
else
|
|
{ paramList.Add("pFeladatKategoriaId", DBNull.Value); }
|
|
|
|
var result = GetOsztalyCsoportokDataSet("sp_GetAllOsztalyCsoport", paramList);
|
|
return result;
|
|
}
|
|
|
|
public DataSet GetOsztalyCsoportokDataSet(string commandText, Dictionary<string, object> commandParameterList)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
|
|
command.CommandText = commandText;
|
|
|
|
if (commandParameterList != null)
|
|
{
|
|
foreach (KeyValuePair<string, object> commandParameter in commandParameterList)
|
|
{
|
|
command.Parameters.Add(commandParameter.Key, commandParameter.Value);
|
|
}
|
|
}
|
|
|
|
var ds = new DataSet();
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
|
|
DalHelper.Commit();
|
|
|
|
if (ds.Tables[0].Columns.Contains("CsoportTipusa"))
|
|
{
|
|
foreach (DataRow row in ds.Tables[0].Rows)
|
|
{
|
|
if (int.TryParse(row["CsoportTipusa"].ToString(), out int csoportTipusa))
|
|
{
|
|
row["Nev"] += " - " + csoportTipusa.GetItemNameFromCache(UserContext.Instance.AktivTanevId);
|
|
}
|
|
}
|
|
}
|
|
|
|
return ds;
|
|
}
|
|
}
|
|
|
|
public DataSet GetOsztalyCSoportokEvfolyamAlapjan(string osztaly, string csoport, int evfolyamTipus = -1)
|
|
{
|
|
var commandText = @"
|
|
Select
|
|
ocs.ID,
|
|
ocs.C_NEV AS Nev,
|
|
ocs.C_EVFOLYAMTIPUSA Evfolyam,
|
|
CASE WHEN Osztaly IS NOT NULL THEN :pOsztaly ELSE :pCsoport END AS GroupName,
|
|
cs.C_TIPUSA AS CsoportTipusa
|
|
From(
|
|
SELECT [ID]
|
|
,[C_NEV]
|
|
,[C_EVFOLYAMTIPUSA]
|
|
FROM [T_OSZTALYCSOPORT] Where TOROLT = 'F' AND T_OSZTALYCSOPORT.C_FELADATKATEGORIAID = @OktNevKatTipus " + (evfolyamTipus.IsEntityId() ? " and C_EVFOLYAMTIPUSA = :pevfolyamTipus" : string.Empty) + @") AS ocs
|
|
Left Join (SELECT T_OSZTALY.[ID],
|
|
'T' AS Osztaly
|
|
FROM [T_OSZTALY]
|
|
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_OSZTALY.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @OktNevKatTipus) AS o
|
|
on o.ID = ocs.ID
|
|
LEFT JOIN (SELECT T_CSOPORT.ID, C_TIPUSA FROM T_CSOPORT
|
|
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_CSOPORT.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @OktNevKatTipus WHERE T_CSOPORT.TOROLT = 'F') AS cs ON cs.ID = ocs.ID
|
|
";
|
|
var prams = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pOsztaly", osztaly),
|
|
new CommandParameter("pCsoport", csoport),
|
|
new CommandParameter("pevfolyamTipus", evfolyamTipus)
|
|
,new CommandParameter("OktNevKatTipus", (int)OktNevelesiKategoriaEnum.NevelesOktatas)
|
|
};
|
|
|
|
var ds = this.GetData(commandText, prams, dictionaryItemColumns: "CsoportTipusa");
|
|
|
|
foreach (DataRow row in ds.Tables[0].Rows)
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(row["CsoportTipusa_DNAME"] as string))
|
|
{
|
|
row["Nev"] += (" - " + (row["CsoportTipusa_DNAME"] as string));
|
|
}
|
|
}
|
|
|
|
return ds;
|
|
}
|
|
|
|
public DataSet GetOsztalyCsoportListByEvfolyam(int intezmenyId, int tanevId, string osztaly, string csoport, int evfolyamTipus = -1, int? tanarId = null, bool isOsszefuggoSzakGyak = false, int? feladatKategoriaId = null,
|
|
bool? csakOsztalyEsTanoraJelleguCsoport = null, bool? isDualisKepzes = null, int? szervezetId = null, int? szervezetAdatokHalmaza = null)
|
|
{
|
|
if (isDualisKepzes.HasValue && isDualisKepzes.Value)
|
|
{
|
|
isOsszefuggoSzakGyak = false;
|
|
}
|
|
var isWhereClauseNeeded = isOsszefuggoSzakGyak || csakOsztalyEsTanoraJelleguCsoport == true || isDualisKepzes == true;
|
|
var commandText = @"
|
|
SELECT
|
|
CASE WHEN ocs.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(ocs.C_NEV,9) AS INT) ELSE 2147483647 END NumberOrder
|
|
,CASE WHEN LEFT(ocs.C_NEV, 1) BETWEEN '0' AND '9' AND ocs.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(ocs.C_NEV, 1, PATINDEX('%[^0-9]%', ocs.C_NEV) - 1),9) AS INT) ELSE 2147483647 END NumberAndTextOrder
|
|
,ocs.ID AS ID
|
|
,ocs.C_NEV AS Nev
|
|
,ocs.C_EVFOLYAMTIPUSA AS Evfolyam
|
|
,CASE WHEN Osztaly IS NOT NULL THEN :pOsztaly ELSE :pCsoport END AS GroupName
|
|
,cs.C_TIPUSA AS CsoportTipusa
|
|
FROM (
|
|
SELECT DISTINCT
|
|
ocsossz.[ID]
|
|
,ocsossz.[C_NEV]
|
|
,ocsossz.[C_EVFOLYAMTIPUSA]
|
|
,ocsossz.C_TANEVID
|
|
FROM
|
|
[T_OSZTALYCSOPORT_OSSZES] as ocsossz " +
|
|
(tanarId.HasValue ?
|
|
" INNER JOIN T_FOGLALKOZAS_OSSZES foglalkozas ON ocsossz.ID = foglalkozas.C_OSZTALYCSOPORTID AND foglalkozas.C_TANARID = :pTanarId AND foglalkozas.TOROLT = 'F' AND foglalkozas.C_TANEVID = ocsossz.C_TANEVID "
|
|
+ " INNER JOIN T_FOGLALKOZAS_OSSZES DualisFoglalkozas ON ocsossz.ID = DualisFoglalkozas.C_OSZTALYCSOPORTID AND DualisFoglalkozas.TOROLT = 'F' AND DualisFoglalkozas.C_TANEVID = ocsossz.C_TANEVID" + (isDualisKepzes == true ? " AND DualisFoglalkozas.C_FOGLALKOZASTIPUSA = 8999" : " AND DualisFoglalkozas.C_FOGLALKOZASTIPUSA <> 8999 ") : string.Empty)
|
|
|
|
+ $@" WHERE
|
|
ocsossz.C_TANEVID = :pTanevId AND
|
|
ocsossz.TOROLT = 'F'
|
|
AND (ocsossz.C_FELADATKATEGORIAID = @{nameof(feladatKategoriaId)} OR @{nameof(feladatKategoriaId)} IS NULL)"
|
|
+ (evfolyamTipus.IsEntityId() ? " AND C_EVFOLYAMTIPUSA = :pevfolyamTipus" : string.Empty) +
|
|
$@") AS ocs
|
|
LEFT JOIN (
|
|
SELECT
|
|
T_OSZTALY_OSSZES.[ID]
|
|
,'T' AS Osztaly
|
|
,T_OSZTALY_OSSZES.C_ALTANEVID
|
|
FROM [T_OSZTALY_OSSZES]
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = T_OSZTALY_OSSZES.ID AND OsztalyCsoport.TOROLT = 'F' AND OsztalyCsoport.C_TANEVID = T_OSZTALY_OSSZES.C_ALTANEVID AND (OsztalyCsoport.C_FELADATKATEGORIAID = @{nameof(feladatKategoriaId)} OR @{nameof(feladatKategoriaId)} IS NULL)) AS o ON o.ID = ocs.ID AND o.C_ALTANEVID = ocs.C_TANEVID
|
|
LEFT JOIN (
|
|
SELECT
|
|
T_CSOPORT_OSSZES.ID
|
|
,T_CSOPORT_OSSZES.C_TIPUSA
|
|
,T_CSOPORT_OSSZES.C_ALTANEVID
|
|
FROM
|
|
T_CSOPORT_OSSZES
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = T_CSOPORT_OSSZES.ID AND OsztalyCsoport.TOROLT = 'F' AND OsztalyCsoport.C_TANEVID = T_CSOPORT_OSSZES.C_ALTANEVID AND (OsztalyCsoport.C_FELADATKATEGORIAID = @{nameof(feladatKategoriaId)} OR @{nameof(feladatKategoriaId)} IS NULL)
|
|
{(isDualisKepzes == true && szervezetId.IsEntityId() && szervezetAdatokHalmaza != (int)SzervezetAdatokHalmazaEnum.Szervezet ? "INNER JOIN (SELECT ID FROM fnGetLathatoSzervezetek(:pIntezmenyId, :pTanevId, :pSzervezetId, :pSzervezetAdatokHalmaza)) lathatok ON lathatok.ID = T_CSOPORT_OSSZES.C_SZERVEZETID" : string.Empty)}
|
|
|
|
WHERE
|
|
T_CSOPORT_OSSZES.TOROLT = 'F'
|
|
{(isDualisKepzes == true && szervezetId.IsEntityId() && szervezetAdatokHalmaza == (int)SzervezetAdatokHalmazaEnum.Szervezet ? $" AND T_CSOPORT_OSSZES.C_SZERVEZETID = :pSzervezetId" : string.Empty)}
|
|
) AS cs ON cs.ID = ocs.ID AND cs.C_ALTANEVID = ocs.C_TANEVID " +
|
|
|
|
(isWhereClauseNeeded ? " WHERE 1=1 " : string.Empty) +
|
|
(isOsszefuggoSzakGyak ? " AND cs.C_TIPUSA = :pSzakmaiGyakorlatiCsoportTipus" : string.Empty) +
|
|
(csakOsztalyEsTanoraJelleguCsoport == true ? " AND (Osztaly IS NOT NULL OR (Osztaly IS NULL AND cs.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(:pTanevId)))) " : string.Empty) +
|
|
(isDualisKepzes == true ? " AND cs.C_TIPUSA = 8831" : string.Empty) +
|
|
@" ORDER BY
|
|
GroupName DESC, NumberOrder ASC, NumberAndTextOrder ASC, ocs.C_NEV ASC, CsoportTipusa ASC";
|
|
|
|
var prams = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pOsztaly", osztaly),
|
|
new CommandParameter("pCsoport", csoport),
|
|
new CommandParameter("pevfolyamTipus", evfolyamTipus),
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter("pSzakmaiGyakorlatiCsoportTipus", (int)CsoportTipusEnum.OsszefuggoSzakmaiGyakorlatiCsoport)
|
|
};
|
|
if (tanarId.HasValue)
|
|
{
|
|
prams.Add(new CommandParameter("pTanarId", tanarId.Value));
|
|
}
|
|
|
|
if (feladatKategoriaId.IsEntityId())
|
|
{
|
|
prams.Add(new CommandParameter(nameof(feladatKategoriaId), feladatKategoriaId));
|
|
}
|
|
else
|
|
{
|
|
prams.Add(new CommandParameter(nameof(feladatKategoriaId), DBNull.Value));
|
|
}
|
|
if (isDualisKepzes == true && szervezetId.IsEntityId() && szervezetAdatokHalmaza.HasValue)
|
|
{
|
|
prams.Add(new CommandParameter("pIntezmenyId", intezmenyId));
|
|
prams.Add(new CommandParameter("pSzervezetId", szervezetId.Value));
|
|
prams.Add(new CommandParameter("pSzervezetAdatokHalmaza", szervezetAdatokHalmaza.Value));
|
|
}
|
|
|
|
var ds = GetData(commandText, prams, dictionaryItemColumns: "CsoportTipusa");
|
|
|
|
foreach (DataRow row in ds.Tables[0].Rows)
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(row["CsoportTipusa_DNAME"] as string))
|
|
{
|
|
row["Nev"] += " - " + (row["CsoportTipusa_DNAME"] as string);
|
|
}
|
|
}
|
|
|
|
return ds;
|
|
}
|
|
|
|
public DataSet GetCsoportListByCsoportVezeto(int tanevId, int tanarId, bool isTanoraiCeluCsoportok, int tanoraiCsoportTipusId, bool isSzuperOsztalyfonok, bool? szervezetTipusId = null, int? szervezetId = null)
|
|
{
|
|
var prams = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter("pTanarId", tanarId),
|
|
new CommandParameter("pTanoraiCsoportTipusId", tanoraiCsoportTipusId)
|
|
};
|
|
|
|
var commandText = @"
|
|
SELECT
|
|
Csoport.ID Id
|
|
,OsztalyCsoport.C_NEV Nev
|
|
,'Csoport' GroupName
|
|
FROM T_CSOPORT_OSSZES Csoport
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON Csoport.ID = OsztalyCsoport.ID
|
|
LEFT JOIN T_SZERVEZET_OSSZES Szervezet ON Szervezet.ID = Csoport.C_SZERVEZETID AND Szervezet.C_TANEVID = Csoport.C_ALTANEVID
|
|
WHERE
|
|
Csoport.C_ALTANEVID = :pTanevId
|
|
AND Csoport.TOROLT = 'F'
|
|
AND OsztalyCsoport.C_TANEVID = :pTanevId
|
|
AND OsztalyCsoport.TOROLT = 'F'";
|
|
|
|
if (!isTanoraiCeluCsoportok)
|
|
{
|
|
commandText += @"AND (C_TIPUSA != :pTanoraiCsoportTipusId)";
|
|
}
|
|
|
|
if (!isSzuperOsztalyfonok)
|
|
{
|
|
commandText += @"AND (C_CSOPORTVEZETOID = :pTanarId)";
|
|
}
|
|
|
|
if(szervezetTipusId.HasValue)
|
|
{
|
|
prams.Add(new CommandParameter("pSzervezetTipusId", szervezetTipusId));
|
|
commandText += @" AND Szervezet.C_TIPUS = :pSzervezetTipusId";
|
|
}
|
|
else
|
|
{
|
|
commandText += @" AND Szervezet.C_TIPUS IS NULL ";
|
|
}
|
|
|
|
if(szervezetId.HasValue)
|
|
{
|
|
prams.Add(new CommandParameter("pSzervezetId", szervezetId));
|
|
commandText += @" AND C_SZERVEZETID = :pSzervezetId";
|
|
}
|
|
else
|
|
{
|
|
commandText += @" AND C_SZERVEZETID IS NULL ";
|
|
}
|
|
|
|
|
|
return GetData(commandText, prams);
|
|
}
|
|
|
|
public DataSet GetOsztalyCsoportokEvfolyamAndTanevAlapjan(int tanevId, string osztaly, string csoport, int evfolyamTipus = -1)
|
|
{
|
|
var commandText = @"
|
|
SELECT
|
|
CASE WHEN ocs.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(ocs.C_NEV,9) AS INT) ELSE 2147483647 END NumberOrder,
|
|
CASE WHEN LEFT(ocs.C_NEV, 1) BETWEEN '0' AND '9' AND ocs.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(ocs.C_NEV, 1, PATINDEX('%[^0-9]%', ocs.C_NEV) - 1),9) AS INT) ELSE 2147483647 END NumberAndTextOrder,
|
|
ocs.ID,
|
|
ocs.C_NEV AS Nev,
|
|
ocs.C_EVFOLYAMTIPUSA Evfolyam,
|
|
CASE WHEN Osztaly IS NOT NULL THEN :pOsztaly ELSE :pCsoport END AS GroupName,
|
|
cs.C_TIPUSA AS CsoportTipusa
|
|
FROM (
|
|
SELECT
|
|
T_OSZTALYCSOPORT_OSSZES.[ID]
|
|
,T_OSZTALYCSOPORT_OSSZES.[C_NEV]
|
|
,T_OSZTALYCSOPORT_OSSZES.[C_EVFOLYAMTIPUSA]
|
|
FROM [T_OSZTALYCSOPORT_OSSZES]
|
|
WHERE
|
|
C_TANEVID = :pTanevId AND TOROLT = 'F'
|
|
AND T_OSZTALYCSOPORT_OSSZES.C_FELADATKATEGORIAID = @OktNevKatTipus " + (evfolyamTipus.IsEntityId() ? " and C_EVFOLYAMTIPUSA = :pevfolyamTipus" : string.Empty) + @") AS ocs
|
|
LEFT JOIN (SELECT T_OSZTALY_OSSZES.ID, 'T' AS Osztaly FROM T_OSZTALY_OSSZES
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = T_OSZTALY_OSSZES.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @OktNevKatTipus AND OsztalyCsoport.TOROLT = 'F' AND OsztalyCsoport.C_TANEVID = T_OSZTALY_OSSZES.C_ALTANEVID
|
|
WHERE T_OSZTALY_OSSZES.TOROLT = 'F' AND T_OSZTALY_OSSZES.C_ALTANEVID = :pTanevId
|
|
) AS o on o.ID = ocs.ID
|
|
LEFT JOIN (SELECT T_CSOPORT_OSSZES.ID, C_TIPUSA FROM T_CSOPORT_OSSZES
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = T_CSOPORT_OSSZES.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @OktNevKatTipus AND OsztalyCsoport.TOROLT = 'F' AND OsztalyCsoport.C_TANEVID = T_CSOPORT_OSSZES.C_ALTANEVID
|
|
WHERE T_CSOPORT_OSSZES.TOROLT = 'F' AND T_CSOPORT_OSSZES.C_ALTANEVID = :pTanevId
|
|
) AS cs ON cs.ID = ocs.ID
|
|
ORDER BY
|
|
GroupName DESC, NumberOrder ASC, NumberAndTextOrder ASC, ocs.C_NEV ASC, CsoportTipusa ASC";
|
|
var prams = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter("pOsztaly", osztaly),
|
|
new CommandParameter("pCsoport", csoport),
|
|
new CommandParameter("pevfolyamTipus", evfolyamTipus)
|
|
,new CommandParameter("OktNevKatTipus", (int)OktNevelesiKategoriaEnum.NevelesOktatas)
|
|
};
|
|
|
|
var ds = this.GetData(commandText, prams, dictionaryItemColumns: "CsoportTipusa");
|
|
|
|
foreach (DataRow row in ds.Tables[0].Rows)
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(row["CsoportTipusa_DNAME"] as string))
|
|
{
|
|
row["Nev"] += (" - " + (row["CsoportTipusa_DNAME"] as string));
|
|
}
|
|
}
|
|
|
|
return ds;
|
|
}
|
|
|
|
/// INFO @DevKornel: Mobil használja
|
|
public DataSet GetOsztalyCsoportok(int tanevId, int? feladatKategoriaId, bool isAktiv = false, bool isFromSzervezet = false, List<int> osztalyfonokIds = null, List<int> tanuloIds = null, int? oktatasiNevelesiFeladatId = null)
|
|
{
|
|
var ds = new DataSet();
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
|
|
command.CommandText = "uspGetTanuloOsztalyCsoportjai";
|
|
|
|
command.Parameters.Add("pTanuloIds", SqlLogic.ParseListToParameter(tanuloIds));
|
|
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
|
|
command.Parameters.Add("pIsAktiv", SDADBType.Int).Value = isAktiv ? 1 : 0;
|
|
command.Parameters.Add("pIsFromSzervezet", SDADBType.Int).Value = isFromSzervezet ? 1 : 0;
|
|
command.Parameters.Add("pOsztalyfonokIds", SqlLogic.ParseListToParameter(osztalyfonokIds));
|
|
command.Parameters.Add("pFeladatKategoriaId", feladatKategoriaId.IsEntityId() ? (int)feladatKategoriaId : (object)DBNull.Value);
|
|
command.Parameters.Add("pOktatasiNevelesiFeladatId", oktatasiNevelesiFeladatId.HasValue ? (int)oktatasiNevelesiFeladatId : (object)DBNull.Value);
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
|
|
SetDNAME(ds.Tables[0], "EvFolyamTipus,CsoportTipus,KepzesiForma,FeladatKategoriaId,OktatasiNevelesiFeladatId");
|
|
SetBoolFields(ds.Tables[0], "IsCsoport");
|
|
DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters);
|
|
|
|
return dt.AsDataSet();
|
|
}
|
|
}
|
|
|
|
public DataSet GetOsztalyCsoportokWithTanev(int tanevId)
|
|
{
|
|
const string commandText = @"
|
|
SELECT
|
|
CASE WHEN ocs.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(ocs.C_NEV,9) AS INT) ELSE 2147483647 END NumberOrder,
|
|
CASE WHEN LEFT(ocs.C_NEV, 1) BETWEEN '0' AND '9' AND ocs.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(ocs.C_NEV, 1, PATINDEX('%[^0-9]%', ocs.C_NEV) - 1),9) AS INT) ELSE 2147483647 END NumberAndTextOrder,
|
|
ocs.ID
|
|
,ocs.C_NEV AS OsztalyCsoport
|
|
,t.C_NEV AS Tanev
|
|
,cs.C_TIPUSA AS CsoportTipusa
|
|
,ocs.C_EVFOLYAMTIPUSA AS Evfolyam
|
|
,dic.C_ORDER
|
|
FROM (
|
|
SELECT
|
|
[ID]
|
|
,[C_NEV]
|
|
,[C_TANEVID]
|
|
,[C_EVFOLYAMTIPUSA]
|
|
FROM [T_OSZTALYCSOPORT_OSSZES] Where [TOROLT] = 'F') AS ocs
|
|
INNER JOIN (
|
|
SELECT
|
|
[ID]
|
|
,[C_NEV]
|
|
FROM [T_TANEV_OSSZES]
|
|
WHERE [TOROLT] = 'F'
|
|
AND ID = :pTanevId) AS t On t.ID = ocs.C_TANEVID
|
|
LEFT JOIN (SELECT ID, C_TIPUSA FROM T_CSOPORT_OSSZES WHERE TOROLT = 'F' AND C_ALTANEVID = :pTanevId) AS cs ON cs.ID = ocs.ID
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dic ON dic.ID = ocs.C_EVFOLYAMTIPUSA AND dic.TOROLT = 'F' AND dic.C_TANEVID = t.ID
|
|
ORDER BY NumberOrder ASC, NumberAndTextOrder ASC, ocs.C_NEV ASC
|
|
";
|
|
|
|
var prams = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId)
|
|
};
|
|
|
|
var ds = GetData(commandText, prams, dictionaryItemColumns: "CsoportTipusa");
|
|
|
|
foreach (DataRow row in ds.Tables[0].Rows)
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(row["CsoportTipusa_DNAME"] as string))
|
|
{
|
|
row["OsztalyCsoport"] += (" - " + (row["CsoportTipusa_DNAME"] as string));
|
|
}
|
|
}
|
|
|
|
return ds;
|
|
}
|
|
|
|
public DataSet GetOsztalyCsoportokTanoranKivuliFoglalkozasokhozWithGroup(bool csakOsztalyEsTanoraJelleguCsoport, int tanevId)
|
|
{
|
|
var prams = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId)
|
|
};
|
|
|
|
string commandText = $@"
|
|
SELECT
|
|
ocs.ID
|
|
,ocs.C_NEV AS OsztalyCsoport
|
|
,t.C_NEV AS Tanev
|
|
,cs.C_TIPUSA AS CsoportTipusa
|
|
FROM (
|
|
SELECT ID
|
|
,C_NEV
|
|
,C_TANEVID
|
|
FROM [T_OSZTALYCSOPORT_OSSZES] WHERE [TOROLT] = 'F'
|
|
AND C_TANEVID = :pTanevId) AS ocs
|
|
LEFT JOIN (SELECT ID, C_NEV FROM [T_TANEV_OSSZES] WHERE [TOROLT] = 'F' AND ID = :pTanevId) AS t ON t.ID = ocs.C_TANEVID
|
|
LEFT JOIN (SELECT ID, C_TIPUSA FROM T_CSOPORT_OSSZES WHERE TOROLT = 'F' AND C_ALTANEVID = :pTanevId) AS cs ON cs.ID = ocs.ID
|
|
LEFT JOIN
|
|
(SELECT T_OSZTALY_OSSZES.ID
|
|
FROM
|
|
T_OSZTALY_OSSZES
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = T_OSZTALY_OSSZES.ID
|
|
WHERE
|
|
T_OSZTALY_OSSZES.TOROLT = 'F') Osztaly ON
|
|
Osztaly.ID = ocs.ID
|
|
";
|
|
|
|
if (csakOsztalyEsTanoraJelleguCsoport)
|
|
commandText += " WHERE Osztaly.ID IS NOT NULL OR (Osztaly.ID IS NULL AND C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@pTanevId)))";
|
|
|
|
var ds = GetData(commandText, prams, dictionaryItemColumns: "CsoportTipusa");
|
|
|
|
foreach (DataRow row in ds.Tables[0].Rows)
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(row["CsoportTipusa_DNAME"] as string))
|
|
{
|
|
row["OsztalyCsoport"] += (" - " + (row["CsoportTipusa_DNAME"] as string));
|
|
}
|
|
}
|
|
|
|
return ds;
|
|
}
|
|
|
|
public DataSet GetOsztalyokOsztalyfonokAlapjan(int osztalyfonokVagyHelyettesId)
|
|
{
|
|
var parameters = new List<CommandParameter>() {
|
|
new CommandParameter("pOsztalyfonokId", osztalyfonokVagyHelyettesId)
|
|
,new CommandParameter("OktNevKatTipus", (int)OktNevelesiKategoriaEnum.NevelesOktatas)
|
|
};
|
|
const string commandText = @"
|
|
SELECT
|
|
T_OSZTALYCSOPORT.ID,
|
|
T_OSZTALYCSOPORT.C_NEV Nev,
|
|
T_OSZTALYCSOPORT.C_EVFOLYAMTIPUSA Evfolyam
|
|
FROM T_OSZTALYCSOPORT
|
|
JOIN (SELECT
|
|
T_OSZTALY.ID
|
|
FROM T_OSZTALY
|
|
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_OSZTALY.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @OktNevKatTipus
|
|
WHERE T_OSZTALY.C_OFOHELYETTESID = :pOsztalyfonokId OR T_OSZTALY.C_OSZTALYFONOKID = :pOsztalyfonokId) OSZTALY
|
|
ON OSZTALY.ID = T_OSZTALYCSOPORT.ID
|
|
JOIN T_DICTIONARYITEMBASE dic on dic.ID = T_OSZTALYCSOPORT.C_EVFOLYAMTIPUSA and dic.TOROLT = 'F'
|
|
WHERE
|
|
T_OSZTALYCSOPORT.TOROLT = 'F'
|
|
AND T_OSZTALYCSOPORT.C_FELADATKATEGORIAID = @OktNevKatTipus
|
|
|
|
ORDER BY dic.C_ORDER ASC, Nev ASC
|
|
";
|
|
|
|
return GetData(commandText, parameters);
|
|
}
|
|
|
|
public DataSet GetKapcsolodoOsztalyCsoportokByTanarId(int tanarId, bool osztalyKell, bool csoportKell, bool tartottOraKell, OktNevelesiKategoriaEnum? feladatKategoria, string osztalyGroupName = null, string csoportGroupName = null)
|
|
{
|
|
var commandParameterList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanarId", tanarId),
|
|
new CommandParameter("pOsztalyKell", osztalyKell),
|
|
new CommandParameter("pCsoportKell", csoportKell),
|
|
new CommandParameter("pTartottOraKell", tartottOraKell),
|
|
feladatKategoria.HasValue ?
|
|
new CommandParameter("pOktNevKatTipus", (int) feladatKategoria) :
|
|
new CommandParameter("pOktNevKatTipus", DBNull.Value),
|
|
!string.IsNullOrWhiteSpace(osztalyGroupName) ?
|
|
new CommandParameter("pOsztalyGroupName", osztalyGroupName) :
|
|
new CommandParameter("pOsztalyGroupName", DBNull.Value),
|
|
!string.IsNullOrWhiteSpace(csoportGroupName) ?
|
|
new CommandParameter("pCsoportGroupName", csoportGroupName) :
|
|
new CommandParameter("pCsoportGroupName", DBNull.Value),
|
|
new CommandParameter("pTipusId", (int)GeneratedAdatszotarTipusEnum.EvfolyamTipus)
|
|
};
|
|
|
|
string commandText = @"
|
|
DECLARE @defaultEvfolyamId int
|
|
SELECT @defaultEvfolyamId = (SELECT TOP 1 ID FROM T_DICTIONARYITEMBASE WHERE C_DICTIONARYTYPEID = :pTipusId AND C_VALUE = 1)
|
|
DECLARE @kapcsolodoOsztalyCsoportok TABLE (ID int)
|
|
INSERT INTO @kapcsolodoOsztalyCsoportok (ID)
|
|
EXEC sp_GetTanarKapcsolodoOsztalyai
|
|
@tanarId = :pTanarId
|
|
,@osztalyKell = :pOsztalyKell
|
|
,@csoportKell = :pCsoportKell
|
|
,@tartottOraKell = :pTartottOraKell
|
|
,@feladatKategoriaId = :pOktNevKatTipus
|
|
|
|
SELECT DISTINCT
|
|
CASE WHEN ocs.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(ocs.C_NEV, 9) AS int) ELSE 2147483647 END AS NumberOrder
|
|
,CASE WHEN LEFT(ocs.C_NEV, 1) BETWEEN '0' AND '9' AND ocs.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(ocs.C_NEV, 1, PATINDEX('%[^0-9]%', ocs.C_NEV) - 1),9) AS int) ELSE 2147483647 END AS NumberAndTextOrder
|
|
,ocs.ID AS ID
|
|
,ocs.C_NEV AS Nev
|
|
,ocs.C_EVFOLYAMTIPUSA AS Evfolyam
|
|
" + (string.IsNullOrWhiteSpace(osztalyGroupName) || string.IsNullOrWhiteSpace(csoportGroupName) ? ",NULL AS GroupName" : @", CASE WHEN :pOsztalyGroupName IS NOT NULL AND :pCsoportGroupName IS NOT NULL THEN
|
|
CASE WHEN o.ID IS NOT NULL THEN :pOsztalyGroupName ELSE :pCsoportGroupName END
|
|
ELSE
|
|
dib2.C_NAME
|
|
END AS GroupName") + @"
|
|
FROM T_OSZTALYCSOPORT ocs
|
|
INNER JOIN @kapcsolodoOsztalyCsoportok kocs ON kocs.ID = ocs.ID
|
|
INNER JOIN T_DICTIONARYITEMBASE dib ON dib.ID = ISNULL(ocs.C_EVFOLYAMTIPUSA, @defaultEvfolyamId) AND dib.TOROLT = 'F'
|
|
LEFT JOIN T_OSZTALY o ON o.ID = ocs.ID AND o.TOROLT = 'F'
|
|
"+(string.IsNullOrWhiteSpace(osztalyGroupName) || string.IsNullOrWhiteSpace(csoportGroupName) ? "" : "INNER JOIN T_DICTIONARYITEMBASE_OSSZES dib2 ON dib2.ID = ocs.C_FELADATKATEGORIAID AND dib2.C_TANEVID=ocs.C_TANEVID AND dib2.TOROLT='F'") + @"
|
|
WHERE ocs.TOROLT = 'F'
|
|
AND (:pOktNevKatTipus IS NULL OR ocs.C_FELADATKATEGORIAID = :pOktNevKatTipus)
|
|
ORDER BY
|
|
GroupName DESC
|
|
,NumberOrder ASC
|
|
,NumberAndTextOrder ASC
|
|
,Nev ASC
|
|
";
|
|
|
|
return GetData(commandText, commandParameterList);
|
|
}
|
|
|
|
public DataSet GetOsztalyokOsztalyfonokAlapjan(int osztalyfonokVagyHelyettesId, int intezmenyId, int tanevId)
|
|
{
|
|
var parameters = new List<CommandParameter>()
|
|
{ new CommandParameter("pOsztalyfonokId", osztalyfonokVagyHelyettesId),
|
|
new CommandParameter("pIntezmenyId", intezmenyId),
|
|
new CommandParameter("pTanevId", tanevId)
|
|
,new CommandParameter("OktNevKatTipus", (int)OktNevelesiKategoriaEnum.NevelesOktatas)
|
|
};
|
|
|
|
const string commandText = @"
|
|
SELECT
|
|
ocs.ID as ID
|
|
,ocs.C_NEV as Nev
|
|
,ocs.C_EVFOLYAMTIPUSA AS Evfolyam
|
|
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
|
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.ID AND (o.C_OFOHELYETTESID = :pOsztalyfonokId OR o.C_OSZTALYFONOKID = :pOsztalyfonokId) AND o.TOROLT='F' AND ocs.C_TANEVID = o.C_ALTANEVID
|
|
WHERE ocs.TOROLT='F' AND ocs.C_TANEVID = :pTanevId AND ocs.C_FELADATKATEGORIAID = @OktNevKatTipus
|
|
";
|
|
|
|
return GetData(commandText, parameters);
|
|
}
|
|
|
|
public DataSet GetOsztalyCsoportFoglalkozasAlapjan(int foglalkozasId)
|
|
{
|
|
const string commandText = @"select
|
|
t_osztalycsoport.id ID,
|
|
t_osztalycsoport.c_nev OsztalyCsoportNev
|
|
from
|
|
t_foglalkozas
|
|
inner join t_osztalycsoport on t_foglalkozas.c_osztalycsoportid=t_osztalycsoport.id AND t_osztalycsoport.C_FELADATKATEGORIAID = @OktNevKatTipus
|
|
|
|
where t_foglalkozas.id= :pFoglalkozasID";
|
|
var parameters = new List<CommandParameter>() {
|
|
new CommandParameter("pFoglalkozasID", foglalkozasId)
|
|
,new CommandParameter("OktNevKatTipus", (int)OktNevelesiKategoriaEnum.NevelesOktatas)
|
|
};
|
|
DataSet ds = GetData(commandText, parameters);
|
|
return ds;
|
|
}
|
|
|
|
public List<int> GetTanuloMindenkoriOsztalyCsoportjai(int tanuloId)
|
|
{
|
|
string commandText = $@"
|
|
SELECT
|
|
C_OSZTALYCSOPORTID ID
|
|
FROM
|
|
T_TANULOCSOPORT tanuloCsoport
|
|
WHERE
|
|
tanuloCsoport.TOROLT = 'F'
|
|
AND tanuloCsoport.C_TANULOID = @{nameof(tanuloId)}";
|
|
|
|
var commandParameters = new List<CommandParameter>()
|
|
{
|
|
new CommandParameter(nameof(tanuloId), tanuloId)
|
|
};
|
|
|
|
DataSet ds = GetData(commandText, commandParameters);
|
|
|
|
return ds.Tables[0].AsEnumerable().Select(r => r.Field<int>("ID")).ToList();
|
|
}
|
|
|
|
public bool IsTanuloOsztalyCsoportTagja(int tanuloId, int osztalyCsoportId, DateTime? datum = null)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
command.Parameters.Add(nameof(tanuloId), tanuloId);
|
|
command.Parameters.Add(nameof(osztalyCsoportId), osztalyCsoportId);
|
|
command.Parameters.Add(nameof(datum), datum ?? DateTime.Today);
|
|
|
|
command.CommandText = $@"
|
|
SELECT
|
|
ID
|
|
FROM
|
|
T_TANULOCSOPORT tanuloCsoport
|
|
WHERE
|
|
tanuloCsoport.C_TANULOID = @{nameof(tanuloId)} AND
|
|
tanuloCsoport.C_OSZTALYCSOPORTID = @{nameof(osztalyCsoportId)} AND
|
|
tanuloCsoport.C_BELEPESDATUM <= @{nameof(datum)} AND
|
|
(tanuloCsoport.C_KILEPESDATUM IS NULL OR tanuloCsoport.C_KILEPESDATUM >= @{nameof(datum)})
|
|
";
|
|
|
|
var commandResult = command.ExecuteScalar();
|
|
bool result = (commandResult != null && commandResult != DBNull.Value);
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
public List<int> GetTanuloOsztalyCsoportjaiIdList(int tanuloId, DateTime? datum = null)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter(nameof(tanuloId), tanuloId),
|
|
new CommandParameter(nameof(datum), datum ?? DateTime.Now)
|
|
};
|
|
|
|
command.CommandText = $@"
|
|
SELECT
|
|
C_OSZTALYCSOPORTID ID
|
|
FROM
|
|
T_TANULOCSOPORT tanuloCsoport
|
|
WHERE tanuloCsoport.C_TANULOID = @{nameof(tanuloId)}
|
|
AND tanuloCsoport.C_BELEPESDATUM <= @{nameof(datum)}
|
|
AND (tanuloCsoport.C_KILEPESDATUM IS NULL OR tanuloCsoport.C_KILEPESDATUM >= @{nameof(datum)})
|
|
AND tanuloCsoport.TOROLT = 'F'
|
|
";
|
|
|
|
var ds = GetData(command.CommandText, parameters);
|
|
return ds.Tables[0].AsEnumerable().Select(r => r.Field<int>("ID")).ToList();
|
|
}
|
|
}
|
|
|
|
public DataSet GetTanuloBesorolasData(int intezmenyId, int tanevId, int tanuloId, int osztalyCsoportId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter(nameof(intezmenyId), intezmenyId),
|
|
new CommandParameter(nameof(tanevId), tanevId),
|
|
new CommandParameter(nameof(tanuloId), tanuloId),
|
|
new CommandParameter(nameof(osztalyCsoportId), osztalyCsoportId)
|
|
};
|
|
|
|
command.CommandText = $@"
|
|
SELECT
|
|
tanuloCsoport.C_TANULOID
|
|
,tanuloCsoport.C_KILEPESDATUM
|
|
,tanuloCsoport.C_BELEPESDATUM
|
|
,felhasznalo.C_NYOMTATASINEV
|
|
FROM
|
|
T_TANULOCSOPORT_OSSZES tanuloCsoport
|
|
LEFT JOIN
|
|
T_FELHASZNALO_OSSZES felhasznalo ON
|
|
felhasznalo.C_INTEZMENYID = @{nameof(intezmenyId)}
|
|
AND felhasznalo.C_TANEVID = @{nameof(tanevId)}
|
|
AND felhasznalo.TOROLT = 'F'
|
|
AND felhasznalo.ID = tanuloCsoport.C_TANULOID
|
|
WHERE
|
|
tanuloCsoport.C_INTEZMENYID = @{nameof(intezmenyId)}
|
|
AND tanuloCsoport.C_TANEVID = @{nameof(tanevId)}
|
|
AND tanuloCsoport.TOROLT = 'F'
|
|
AND tanuloCsoport.C_TANULOID = @{nameof(tanuloId)}
|
|
AND tanuloCsoport.C_OSZTALYCSOPORTID = @{nameof(osztalyCsoportId)}
|
|
";
|
|
|
|
var ds = GetData(command.CommandText, parameters);
|
|
return ds;
|
|
}
|
|
}
|
|
|
|
public DataSet GetTanuloBesorolasaiKisorolasaiDatumDataByTanuloIdList(List<int> tanuloIdList, int osztalyCsoportId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter(nameof(osztalyCsoportId), osztalyCsoportId)
|
|
};
|
|
|
|
command.CommandText = $@"
|
|
SELECT
|
|
tanuloCsoport.C_TANULOID
|
|
,tanuloCsoport.C_KILEPESDATUM
|
|
,tanuloCsoport.C_BELEPESDATUM
|
|
,T_FELHASZNALO_OSSZES.C_NYOMTATASINEV
|
|
FROM
|
|
T_TANULOCSOPORT_OSSZES tanuloCsoport
|
|
LEFT JOIN
|
|
T_FELHASZNALO_OSSZES ON T_FELHASZNALO_OSSZES.ID = tanuloCsoport.C_TANULOID AND T_FELHASZNALO_OSSZES.TOROLT ='F' AND T_FELHASZNALO_OSSZES.C_TANEVID = tanuloCsoport.C_TANEVID
|
|
WHERE
|
|
tanuloCsoport.C_TANULOID IN ( {string.Join(",", tanuloIdList.ToArray())} )
|
|
AND tanuloCsoport.C_OSZTALYCSOPORTID = @{nameof(osztalyCsoportId)} AND tanuloCsoport.TOROLT = 'F'";
|
|
|
|
var ds = GetData(command.CommandText, parameters);
|
|
return ds;
|
|
}
|
|
}
|
|
|
|
/// INFO @DevKornel: Mobil használja
|
|
public bool GetIsVegzosOsztalyCsoport(int osztalyCsoportId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.Parameters.Add("pOsztalyCsoportId", osztalyCsoportId);
|
|
|
|
command.CommandText = @"
|
|
SELECT
|
|
ID
|
|
FROM
|
|
T_OSZTALYCSOPORT_OSSZES
|
|
WHERE
|
|
TOROLT = 'F'
|
|
AND C_TANEVID = (SELECT ID FROM T_TANEV_OSSZES WHERE TOROLT = 'F' AND C_AKTIV = 'T')
|
|
AND C_VEGZOSEVFOLYAM = 'T'
|
|
AND ID = @pOsztalyCsoportId
|
|
";
|
|
|
|
var result = command.ExecuteScalar();
|
|
bool ret = (result != null && result != DBNull.Value);
|
|
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
public DataSet GetOsztalyCsoportDataSet(int tanevId, int? oktNevelesiKategoriaId = null)
|
|
{
|
|
var commandParameterList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
oktNevelesiKategoriaId.IsEntityId() ?
|
|
new CommandParameter("pOktNevelesiKategoriaId", oktNevelesiKategoriaId.Value) :
|
|
new CommandParameter("pOktNevelesiKategoriaId", DBNull.Value)
|
|
};
|
|
|
|
const string commandText = @"
|
|
SELECT
|
|
ocs.ID AS Id
|
|
,ocs.C_NEV AS Nev
|
|
,ocs.C_VEGZOSEVFOLYAM AS IsVegzosEvfolyam
|
|
,ocs.C_FELADATKATEGORIAID AS FeladatKategoriaId
|
|
,ocs.C_IMPORTALT AS Importalt
|
|
,IIF(o.ID IS NULL, 'F', 'T') AS IsOsztaly
|
|
,cs.C_OSZTALYBONTASID AS OsztalyBontasId
|
|
,cs.C_ISAUTOEGYENICSOPORT AS IsAutoEgyeniCsoport
|
|
,dib.C_ORDER AS EvfolyamTipusOrder
|
|
,ocs.C_FELADATELLATASIHELYID AS FeladatellatasiHelyId
|
|
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dib ON dib.ID = ocs.C_EVFOLYAMTIPUSA AND dib.C_TANEVID = ocs.C_TANEVID AND dib.TOROLT = 'F'
|
|
LEFT JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.ID AND o.C_ALTANEVID = ocs.C_TANEVID AND o.TOROLT = 'F'
|
|
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.ID AND cs.C_ALTANEVID = ocs.C_TANEVID AND cs.TOROLT = 'F'
|
|
WHERE ocs.C_TANEVID = :pTanevId
|
|
AND ocs.TOROLT = 'F'
|
|
AND (:pOktNevelesiKategoriaId IS NULL OR ocs.C_FELADATKATEGORIAID = :pOktNevelesiKategoriaId)
|
|
";
|
|
|
|
return GetData(commandText, commandParameterList);
|
|
}
|
|
|
|
public bool GetIsOsztalyCsoportBontott(int osztalyCsoportId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.Parameters.Add("pOsztalyCsoportId", osztalyCsoportId);
|
|
|
|
command.CommandText = @"
|
|
SELECT
|
|
COUNT(*) Counter
|
|
FROM T_CSOPORT
|
|
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_CSOPORT.ID
|
|
WHERE T_CSOPORT.TOROLT = 'F'
|
|
AND T_CSOPORT.ID = :pOsztalyCsoportId
|
|
AND T_CSOPORT.C_OSZTALYBONTASID IS NOT NULL
|
|
";
|
|
|
|
var result = command.ExecuteScalar();
|
|
bool ret = Convert.ToInt32(result) == 1;
|
|
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
public int? GetCsoportTipusByOsztalyCsoportId(int osztalyCsoportId, int intezmenyId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.Parameters.Add("pOsztalyCsoportId", osztalyCsoportId);
|
|
command.Parameters.Add("pIntezmenyId", intezmenyId);
|
|
|
|
command.CommandText = @"
|
|
SELECT
|
|
CASE
|
|
WHEN T_CSOPORT_Osszes.C_TIPUSA is null THEN osztaly.OsztalyTipus Else
|
|
T_CSOPORT_Osszes.C_TIPUSA
|
|
END CsoportTipus
|
|
FROM
|
|
T_OSZTALYCSOPORT_Osszes
|
|
left JOIN T_CSOPORT_Osszes ON T_CSOPORT_Osszes.ID = T_OSZTALYCSOPORT_Osszes.ID AND T_CSOPORT_Osszes.TOROLT = 'F' AND T_OSZTALYCSOPORT_Osszes.C_TANEVID = T_CSOPORT_Osszes.C_ALTANEVID
|
|
left JOIN (select 1034 OsztalyTipus, T_OSZTALY_OSSZES.ID, T_OSZTALY_OSSZES.C_ALTANEVID from T_OSZTALY_OSSZES WHERE T_OSZTALY_OSSZES.TOROLT = 'F'
|
|
) osztaly ON osztaly.ID = T_OSZTALYCSOPORT_Osszes.ID AND osztaly.C_ALTANEVID = T_OSZTALYCSOPORT_Osszes.C_TANEVID
|
|
WHERE
|
|
T_OSZTALYCSOPORT_Osszes.c_intezmenyid = :pIntezmenyId
|
|
and T_OSZTALYCSOPORT_Osszes.Torolt = 'F' and
|
|
T_OSZTALYCSOPORT_Osszes.ID = :pOsztalyCsoportId
|
|
";
|
|
|
|
var result = command.ExecuteScalar();
|
|
|
|
int? ret = null;
|
|
if (result != null && result != DBNull.Value)
|
|
{
|
|
ret = Convert.ToInt32(result);
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
public bool GetIsCsoport(int osztalyCsoportId)
|
|
{
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pOsztalyCsoportId", osztalyCsoportId)
|
|
};
|
|
|
|
const string commandText = @"
|
|
SELECT
|
|
T_CSOPORT_OSSZES.ID ID
|
|
FROM
|
|
T_CSOPORT_OSSZES
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = T_CSOPORT_OSSZES.ID
|
|
AND OsztalyCsoport.TOROLT = 'F' AND OsztalyCsoport.C_TANEVID = T_CSOPORT_OSSZES.C_ALTANEVID
|
|
WHERE
|
|
T_CSOPORT_OSSZES.TOROLT = 'F'
|
|
AND T_CSOPORT_OSSZES.ID = :pOsztalyCsoportId
|
|
";
|
|
|
|
var ds = GetData(commandText, parameters);
|
|
|
|
return ds.Tables[0].Rows.Count > 0;
|
|
}
|
|
|
|
public bool GetIsCsoportTipusAlapjan(int osztalyCsoportId, int csoportTipusId)
|
|
{
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pOsztalyCsoportId", osztalyCsoportId),
|
|
new CommandParameter("pCsoportTipusId", csoportTipusId)
|
|
};
|
|
|
|
const string commandText = @"
|
|
SELECT
|
|
cs.ID ID
|
|
FROM
|
|
T_CSOPORT_OSSZES cs
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES AS ocs ON ocs.ID = cs.ID
|
|
AND ocs.TOROLT = 'F' AND ocs.C_TANEVID = cs.C_ALTANEVID
|
|
WHERE
|
|
cs.TOROLT = 'F'
|
|
AND cs.ID = :pOsztalyCsoportId
|
|
AND cs.C_TIPUSA = :pCsoportTipusId
|
|
|
|
";
|
|
|
|
var ds = GetData(commandText, parameters);
|
|
|
|
return ds.Tables[0].Rows.Count > 0;
|
|
}
|
|
|
|
public bool GetIsOsztaly(int osztalyCsoportId)
|
|
{
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pOsztalyCsoportId", osztalyCsoportId),
|
|
};
|
|
|
|
const string commandText = @"
|
|
SELECT
|
|
T_OSZTALY_OSSZES.ID ID
|
|
FROM
|
|
T_OSZTALY_OSSZES
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = T_OSZTALY_OSSZES.ID
|
|
AND OsztalyCsoport.TOROLT = 'F' AND OsztalyCsoport.C_TANEVID = T_OSZTALY_OSSZES.C_ALTANEVID
|
|
WHERE
|
|
T_OSZTALY_OSSZES.TOROLT = 'F'
|
|
AND T_OSZTALY_OSSZES.ID = :pOsztalyCsoportId
|
|
";
|
|
|
|
var ds = GetData(commandText, parameters);
|
|
|
|
return ds.Tables[0].Rows.Count > 0;
|
|
}
|
|
|
|
public DataSet GetCsoportTanuloinakSzakmajegyzeke(int tanevId, int csoportId, DateTime datum)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter(nameof(tanevId), tanevId),
|
|
new CommandParameter(nameof(csoportId), csoportId),
|
|
new CommandParameter(nameof(datum), datum)
|
|
};
|
|
|
|
command.CommandText = $@"
|
|
SELECT
|
|
ocs.C_NEV as 'CsoportNeve'
|
|
,tta.C_SZAKMATIPUSID as 'SzakmaTipusId'
|
|
,tta.C_SZAKMAIRANYTIPUSID as 'SzakmairanyTipusId'
|
|
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES cstcs ON ocs.ID = cstcs.C_OSZTALYCSOPORTID
|
|
AND cstcs.C_TANEVID = ocs.C_TANEVID AND cstcs.TOROLT = ocs.TOROLT
|
|
AND (cstcs.C_KILEPESDATUM IS NULL OR cstcs.C_KILEPESDATUM > @{nameof(datum)})
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES otcs ON cstcs.C_TANULOID = otcs.C_TANULOID
|
|
AND otcs.C_TANEVID = cstcs.C_TANEVID AND otcs.TOROLT = cstcs.TOROLT
|
|
AND (otcs.C_KILEPESDATUM IS NULL OR otcs.C_KILEPESDATUM > @{nameof(datum)})
|
|
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = otcs.C_OSZTALYCSOPORTID
|
|
AND o.C_ALTANEVID = otcs.C_TANEVID AND o.TOROLT = otcs.TOROLT
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocso ON o.ID = ocso.ID
|
|
AND ocso.C_TANEVID = o.C_ALTANEVID AND ocso.TOROLT = o.TOROLT
|
|
AND ocso.C_FELADATKATEGORIAID = 7553
|
|
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON otcs.ID = tta.C_TANULOCSOPORTID
|
|
AND tta.C_TANEVID = otcs.C_TANEVID AND tta.TOROLT = otcs.TOROLT
|
|
WHERE ocs.ID = @{nameof(csoportId)} AND ocs.C_TANEVID = @{nameof(tanevId)} AND ocs.TOROLT = 'F'
|
|
GROUP BY ocs.C_NEV, tta.C_SZAKMATIPUSID, tta.C_SZAKMAIRANYTIPUSID
|
|
";
|
|
|
|
var ds = GetData(command.CommandText, parameters);
|
|
return ds;
|
|
}
|
|
}
|
|
|
|
public DataSet GetTanulokSzakmajegyzeke(int tanevId, List<int> tanuloIds, DateTime datum)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter(nameof(tanevId), tanevId),
|
|
new CommandParameter(nameof(datum), datum),
|
|
};
|
|
|
|
command.CommandText = $@"
|
|
SELECT
|
|
tta.C_SZAKMATIPUSID as 'SzakmaTipusId'
|
|
,tta.C_SZAKMAIRANYTIPUSID as 'SzakmairanyTipusId'
|
|
,IIF(fh.C_NEVSORREND = 'T',
|
|
fh.C_UTONEV + ' ' + fh.C_VEZETEKNEV,
|
|
fh.C_VEZETEKNEV + ' ' + fh.C_UTONEV) as 'NevElotagNelkul'
|
|
FROM T_TANULOTANUGYIADATOK_OSSZES tta
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.ID = tta.C_TANULOCSOPORTID
|
|
AND tcs.C_TANEVID = tta.C_TANEVID AND tcs.TOROLT = tta.TOROLT
|
|
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > @{nameof(datum)})
|
|
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.Id = tcs.C_TANULOID
|
|
and fh.C_TANEVID = tcs.C_TANEVID AND fh.TOROLT = tcs.TOROLT
|
|
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = tcs.C_OSZTALYCSOPORTID
|
|
AND o.C_ALTANEVID = tcs.C_TANEVID AND o.TOROLT = tcs.TOROLT
|
|
INNER JOIN T_OSZTALYCSOPORT ocs ON o.ID = ocs.ID AND ocs.C_FELADATKATEGORIAID = 7553
|
|
AND ocs.C_TANEVID = o.C_ALTANEVID AND ocs.TOROLT = o.TOROLT
|
|
WHERE tta.TOROLT = 'F' AND tta.C_TANEVID = @{nameof(tanevId)} AND tcs.C_TANULOID IN ({string.Join(",", tanuloIds)})
|
|
|
|
";
|
|
|
|
var ds = GetData(command.CommandText, parameters);
|
|
return ds;
|
|
}
|
|
}
|
|
|
|
|
|
#region Export
|
|
public DataSet GetCsoportokMindenAdataForExport(int tanevId, OktNevelesiKategoriaEnum? feladatKategoria, CsoportSearchPco pco, bool isSelectedTanev21_22OrLater, bool isSzakkepzoIntezmeny, DateTime? aktualisTanevElsoTanitasiNapja = null)
|
|
{
|
|
const string csoportAlias = "csoport";
|
|
const string osztalycsoportAlias = "osztalycsoport";
|
|
const string bontasAlias = "osztalybontas";
|
|
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter(nameof(aktualisTanevElsoTanitasiNapja), aktualisTanevElsoTanitasiNapja)
|
|
};
|
|
var kovetkezoTanev = aktualisTanevElsoTanitasiNapja > DateTime.Now;
|
|
|
|
if (feladatKategoria.HasValue)
|
|
{ parameters.Add(new CommandParameter(nameof(feladatKategoria), (int)feladatKategoria)); }
|
|
else
|
|
{ parameters.Add(new CommandParameter(nameof(feladatKategoria), DBNull.Value)); }
|
|
|
|
StringBuilder whereClause = pco.ToWhereClause(parameters, bontasAlias, osztalycsoportAlias, csoportAlias);
|
|
|
|
string munkarendSelectCommand = string.Empty, munkarendJoinCommand = string.Empty;
|
|
if (isSelectedTanev21_22OrLater)
|
|
{
|
|
if (isSzakkepzoIntezmeny && feladatKategoria != OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas)
|
|
{
|
|
munkarendSelectCommand = $@"
|
|
,{osztalycsoportAlias}.C_FELADATKATEGORIAID csoportFeladatkategoriaId
|
|
,ISNULL(kepzes.C_NAME, '-') AS 'AmiMunkarend'
|
|
,munkarend.*
|
|
,'' Munkarend
|
|
";
|
|
munkarendJoinCommand = $@"
|
|
OUTER APPLY (
|
|
SELECT
|
|
COUNT(DISTINCT ISNULL(tta.C_TANTERVIJELLEGID, 0)) AS MunkarendCount
|
|
,MAX(tta.C_TANTERVIJELLEGID) AS MunkarendMax
|
|
FROM T_TANULOCSOPORT_OSSZES tcs
|
|
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.id AND tta.TOROLT ='F'
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs2 ON tcs2.C_TANULOID = tcs.C_TANULOID AND tcs2.Torolt = 'F'
|
|
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = tcs.C_OSZTALYCSOPORTID AND o.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
|
|
WHERE
|
|
tcs.C_BELEPESDATUM <= :pDate
|
|
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > :pDate)
|
|
AND tcs.TOROLT = 'F'
|
|
AND tcs2.C_OSZTALYCSOPORTID = csoport.ID
|
|
AND ocs.C_FELADATKATEGORIAID = osztalycsoport.C_FELADATKATEGORIAID
|
|
|
|
) munkarend
|
|
";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
munkarendSelectCommand = $@"
|
|
,ISNULL(kepzes.C_NAME, '-') AS 'Képzés'
|
|
";
|
|
}
|
|
|
|
parameters.Add(new CommandParameter("pDate", kovetkezoTanev ? aktualisTanevElsoTanitasiNapja : DateTime.Now));
|
|
|
|
StringBuilder command = new StringBuilder($@"
|
|
SELECT
|
|
{osztalycsoportAlias}.C_NEV AS 'Csoport neve'
|
|
, IIF({osztalycsoportAlias}.C_ISGYOGYPEDAGOGIAILOGOPEDIAI = 'F','Nem','Igen') AS 'Gyógypedagógiai/logopédiai'
|
|
, IIF({osztalycsoportAlias}.C_ISTECHNIKAI = 'F','Nem','Igen') AS 'Technikai csoport'
|
|
, IIF({csoportAlias}.C_TIPUSA IS NULL, '-', csoporttipusa.C_NAME) AS [Csoporttípus]
|
|
, feladatellatasihely.C_NAME AS '{IntezmenyResource.EllatottKoznevelesiFeladat}'
|
|
, tanev.C_NEV AS 'Tanév'
|
|
, IIF({csoportAlias}.C_OSZTALYBONTASID IS NULL, 'Nincs', {bontasAlias}.C_NEV) AS 'Osztálybontás'
|
|
, IIF({osztalycsoportAlias}.C_EVFOLYAMTIPUSA IS NULL, '-', evfolyamtipusa.C_NAME) AS [Évfolyam neve]
|
|
, IIF({osztalycsoportAlias}.C_TEREMID IS NULL, '-', terem.C_NEV) AS [Terem]
|
|
, IIF({csoportAlias}.C_CSOPORTVEZETOID IS NULL, '-', csoportvezeto.C_NYOMTATASINEV) AS [Csoportvezető]
|
|
, ISNULL({osztalycsoportAlias}.C_MEGJEGYZES, '-') AS [Megjegyzés]
|
|
, IIF({osztalycsoportAlias}.C_VEGZOSEVFOLYAM = 'T', 'Igen', 'Nem') AS 'Végzős évfolyamú csoport'
|
|
, IIF({osztalycsoportAlias}.C_TERVEZETTLETSZAM IS NULL, '-', {osztalycsoportAlias}.C_TERVEZETTLETSZAM) AS [Tervezett létszám]
|
|
, ISNULL(convert(varchar(10),{csoportAlias}.C_CSOPORTNAPLOMEGNYITASA,120), '-') AS [Csoportnapló megnyitás dátuma]
|
|
, ISNULL(convert(varchar(10),{csoportAlias}.C_CSOPORTNAPLOZARASA,120), '-') AS [Csoportnapló lezárás dátuma]
|
|
,
|
|
(SELECT COUNT(1) FROM T_TANULOCSOPORT_OSSZES tcs WHERE tcs.C_OSZTALYCSOPORTID = {csoportAlias}.ID AND TOROLT = 'F' AND C_BELEPESDATUM <= " + (!kovetkezoTanev ? @"GETDATE() " : $@" CONVERT(date, @{nameof(aktualisTanevElsoTanitasiNapja)})") + $@" AND (C_KILEPESDATUM IS NULL OR C_KILEPESDATUM > " + (!kovetkezoTanev ? @"GETDATE() " : $@"CONVERT(date, @{nameof(aktualisTanevElsoTanitasiNapja)}) ") + $@")) AS '{(feladatKategoria == OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas ? TanuloResource.NovendekekSzama : OsztalyCsoportResource.TanulokSzama)}'
|
|
, ISNULL({csoportAlias}.C_CSOPORTNAPLOLEIRAS, '-') AS 'Csoport leírása'
|
|
,csoportvezeto.C_OKTATASIAZONOSITO as '{ AlkalmazottResource.PedagogusOktatasiAzonosito }'
|
|
{munkarendSelectCommand}
|
|
FROM T_CSOPORT_OSSZES {csoportAlias}
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES {osztalycsoportAlias} ON {csoportAlias}.ID = {osztalycsoportAlias}.ID AND ({osztalycsoportAlias}.C_FELADATKATEGORIAID = @{nameof(feladatKategoria)} OR @{nameof(feladatKategoria)} IS NULL) AND {osztalycsoportAlias}.TOROLT = 'F' AND {osztalycsoportAlias}.C_TANEVID = {csoportAlias}.C_ALTANEVID
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES csoporttipusa ON csoporttipusa.ID = {csoportAlias}.C_TIPUSA AND csoporttipusa.C_TANEVID = :pTanevId AND csoporttipusa.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES evfolyamtipusa ON evfolyamtipusa.ID = {osztalycsoportAlias}.C_EVFOLYAMTIPUSA AND evfolyamtipusa.C_TANEVID = :pTanevId AND evfolyamtipusa.TOROLT = 'F'
|
|
LEFT JOIN T_TANEV_OSSZES tanev ON {osztalycsoportAlias}.C_TANEVID = tanev.ID AND tanev.TOROLT = 'F'
|
|
LEFT JOIN T_FELHASZNALO_OSSZES csoportvezeto ON csoportvezeto.ID = {csoportAlias}.C_CSOPORTVEZETOID AND csoportvezeto.TOROLT = 'F' AND csoportvezeto.C_TANEVID = :pTanevId
|
|
LEFT JOIN T_TEREM_OSSZES terem ON terem.ID = {osztalycsoportAlias}.C_TEREMID AND terem.TOROLT = 'F' AND terem.C_TANEVID = :pTanevId
|
|
LEFT JOIN T_OSZTALYCSOPORT_OSSZES {bontasAlias} ON {bontasAlias}.ID = {csoportAlias}.C_OSZTALYBONTASID AND ({bontasAlias}.C_FELADATKATEGORIAID = @{nameof(feladatKategoria)} OR @{nameof(feladatKategoria)} IS NULL) AND {bontasAlias}.TOROLT = 'F' AND {bontasAlias}.C_TANEVID = {csoportAlias}.C_ALTANEVID
|
|
LEFT JOIN T_FELADATELLATASIHELY_OSSZES feladatellatasi ON feladatellatasi.ID = {osztalycsoportAlias}.C_FELADATELLATASIHELYID AND feladatellatasi.TOROLT = 'F' AND feladatellatasi.C_TANEVID = :pTanevId
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES feladatellatasihely ON feladatellatasihely.ID = feladatellatasi.C_OKTATASINEVELESIFELADATTIPUS AND feladatellatasihely.C_TANEVID = :pTanevId AND feladatellatasihely.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES kepzes ON kepzes.ID = {osztalycsoportAlias}.C_KEPZESIFORMA AND kepzes.C_TANEVID = {osztalycsoportAlias}.C_TANEVID AND kepzes.TOROLT = 'F'
|
|
{munkarendJoinCommand}
|
|
WHERE
|
|
{csoportAlias}.TOROLT = 'F' AND {csoportAlias}.C_ALTANEVID = :pTanevId
|
|
{whereClause}
|
|
ORDER BY
|
|
evfolyamtipusa.C_VALUE, {osztalycsoportAlias}.C_NEV
|
|
");
|
|
|
|
return GetData(command.ToString(), parameters);
|
|
}
|
|
|
|
public DataSet GetEvfolyamAktualisLetszamadataiExcelExport(int tanevId, OktNevelesiKategoriaEnum feladatKategoria, OsztalySearchPco pco, DateTime aktualisTanevElsoTanitasiNapja)
|
|
{
|
|
/*TODO:Tobb Osztaly*//*OM-1625*/
|
|
|
|
const string osztalycsoportAlias = "osztalycsoport";
|
|
const string osztalyAlias = "csoport";
|
|
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter(nameof(aktualisTanevElsoTanitasiNapja), aktualisTanevElsoTanitasiNapja)
|
|
};
|
|
var kovetkezoTanev = aktualisTanevElsoTanitasiNapja > DateTime.Now;
|
|
|
|
StringBuilder whereClause = pco.ToWhereClause(parameters, osztalycsoportAlias, osztalyAlias);
|
|
|
|
var command = new StringBuilder($@"
|
|
SELECT IIF({osztalycsoportAlias}.C_EVFOLYAMTIPUSA IS NULL, '-', evfolyamtipusa.C_NAME) AS 'Évfolyam neve'
|
|
, COUNT(tanulocsoport.C_TANULOID) AS '{(feladatKategoria == OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas ? TanuloResource.NovendekekSzama : OsztalyCsoportResource.TanulokSzama)}'
|
|
FROM T_OSZTALY_OSSZES AS {osztalyAlias}
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES AS {osztalycsoportAlias} ON {osztalycsoportAlias}.ID = {osztalyAlias}.ID AND {osztalycsoportAlias}.TOROLT = 'F' AND {osztalyAlias}.C_ALTANEVID = {osztalycsoportAlias}.C_TANEVID
|
|
LEFT JOIN T_TANULOCSOPORT_OSSZES AS tanulocsoport on {osztalyAlias}.ID = tanulocsoport.C_OSZTALYCSOPORTID AND tanulocsoport.C_BELEPESDATUM <= " + (!kovetkezoTanev ? @"GETDATE() " : $@" CONVERT(date,@{nameof(aktualisTanevElsoTanitasiNapja)}) ") + $@" AND (tanulocsoport.C_KILEPESDATUM IS NULL OR tanulocsoport.C_KILEPESDATUM > " + (!kovetkezoTanev ? @"GETDATE() " : $@" CONVERT(date,@{nameof(aktualisTanevElsoTanitasiNapja)}) ") + $@") AND tanulocsoport.TOROLT = 'F' AND {osztalyAlias}.C_ALTANEVID = tanulocsoport.C_TANEVID
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES evfolyamtipusa ON evfolyamtipusa.ID = {osztalycsoportAlias}.C_EVFOLYAMTIPUSA AND evfolyamtipusa.C_TANEVID = {osztalycsoportAlias}.C_TANEVID AND evfolyamtipusa.TOROLT = 'F'
|
|
WHERE
|
|
{osztalyAlias}.TOROLT = 'F' AND
|
|
{osztalyAlias}.C_ALTANEVID = :pTanevId
|
|
{whereClause}
|
|
GROUP BY C_EVFOLYAMTIPUSA, evfolyamtipusa.C_NAME, evfolyamtipusa.C_VALUE
|
|
ORDER BY evfolyamtipusa.C_VALUE");
|
|
|
|
return GetData(command.ToString(), parameters);
|
|
}
|
|
|
|
public DataSet GetOsztalyokMindenAdataExcelExport(int tanevId, OktNevelesiKategoriaEnum feladatKategoria, OsztalySearchPco pco, DateTime aktualisTanevElsoTanitasiNapja, bool isSelectedTanev21_22OrLater, bool isSzakkepzoIntezmeny)
|
|
{
|
|
const string osztalycsoportAlias = "osztalycsoport";
|
|
const string osztalyAlias = "osztaly";
|
|
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter(nameof(aktualisTanevElsoTanitasiNapja), aktualisTanevElsoTanitasiNapja)
|
|
};
|
|
var kovetkezoTanev = aktualisTanevElsoTanitasiNapja > DateTime.Now;
|
|
|
|
StringBuilder whereClause = pco.ToWhereClause(parameters, osztalycsoportAlias, osztalyAlias);
|
|
|
|
string jegyzekSelectCommand, jegyzekJoinCommand;
|
|
string munkarendSelectCommand, munkarendJoinCommand;
|
|
|
|
if (isSelectedTanev21_22OrLater)
|
|
{
|
|
jegyzekSelectCommand = $@"
|
|
,jegyzek.*
|
|
";
|
|
|
|
jegyzekJoinCommand = $@"
|
|
OUTER APPLY (
|
|
SELECT
|
|
COUNT(DISTINCT tta.C_AGAZATID) AS AgazatCount
|
|
,MAX(tta.C_AGAZATID) AS AgazatMax
|
|
,COUNT(DISTINCT tta.C_SZAKKEPESITESID) AS SzakkepesitesCount
|
|
,MAX(tta.C_SZAKKEPESITESID) AS SzakkepesitesMax
|
|
,COUNT(DISTINCT tta.C_RESZSZAKKEPESITESID) AS ReszszakkepesitesCount
|
|
,MAX(tta.C_RESZSZAKKEPESITESID) AS ReszszakkepesitesMax
|
|
,COUNT(DISTINCT tta.C_SZAKMACSOPORTID) AS SzakmacsoportCount
|
|
,MAX(tta.C_SZAKMACSOPORTID) AS SzakmacsoportMax
|
|
,COUNT(DISTINCT tta.C_AGAZATUJSZKTTIPUSID) AS AgazatSzktCount
|
|
,MAX(tta.C_AGAZATUJSZKTTIPUSID) AS AgazatSzktMax
|
|
,COUNT(DISTINCT tta.C_SZAKMATIPUSID) AS SzakmaTipusCount
|
|
,MAX(tta.C_SZAKMATIPUSID) AS SzakmaTipusMax
|
|
,COUNT(DISTINCT tta.C_SZAKMAIRANYTIPUSID) AS SzakmairanyTipusCount
|
|
,MAX(tta.C_SZAKMAIRANYTIPUSID) AS SzakmairanyTipusMax
|
|
,COUNT(DISTINCT tta.C_TANULMANYITERULETNKTTIPUSID) AS TanulmanyiTeruletCount
|
|
,MAX(tta.C_TANULMANYITERULETNKTTIPUSID) AS TanulmanyiTeruletMax
|
|
,COUNT(DISTINCT tta.C_SZAKKEPESITESNKTTIPUSID) AS SzakkepesitesNktCount
|
|
,MAX(tta.C_SZAKKEPESITESNKTTIPUSID) AS SzakkepesitesNktMax
|
|
,COUNT(DISTINCT tta.C_SZAKIRANYNKTTIPUSID) AS SzakiranyCount
|
|
,MAX(tta.C_SZAKIRANYNKTTIPUSID) AS SzakiranyMax
|
|
,COUNT(DISTINCT tta.C_AGAZATRESZSZAKMATIPUSID) AS AgazatReszszakmaCount
|
|
,MAX(tta.C_AGAZATRESZSZAKMATIPUSID) AS AgazatReszszakmaMax
|
|
,COUNT(DISTINCT tta.C_SZAKMARESZSZAKMATIPUSID) AS SzakmaReszszakmaCount
|
|
,MAX(tta.C_SZAKMARESZSZAKMATIPUSID) AS SzakmaReszszakmaMax
|
|
,COUNT(DISTINCT tta.C_RESZSZAKMATIPUSID) AS ReszszakmaCount
|
|
,MAX(tta.C_RESZSZAKMATIPUSID) AS ReszszakmaMax
|
|
FROM T_TANULOCSOPORT_OSSZES tcs
|
|
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID
|
|
WHERE tcs.C_OSZTALYCSOPORTID = osztaly.ID
|
|
AND tcs.C_BELEPESDATUM <= :pDate
|
|
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > :pDate)
|
|
) jegyzek
|
|
";
|
|
|
|
if (isSzakkepzoIntezmeny)
|
|
{
|
|
munkarendSelectCommand = $@"
|
|
,munkarend.*
|
|
,'' Munkarend
|
|
";
|
|
munkarendJoinCommand = $@"
|
|
OUTER APPLY (
|
|
SELECT
|
|
COUNT(DISTINCT tta.C_TANTERVIJELLEGID) AS MunkarendCount
|
|
,MAX(tta.C_TANTERVIJELLEGID) AS MunkarendMax
|
|
FROM T_TANULOCSOPORT_OSSZES tcs
|
|
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.TOROLT = 'F'
|
|
WHERE tcs.C_OSZTALYCSOPORTID = osztaly.ID
|
|
AND tcs.C_BELEPESDATUM <= :pDate
|
|
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > :pDate)
|
|
AND tcs.TOROLT = 'F'
|
|
) munkarend
|
|
";
|
|
}
|
|
else
|
|
{
|
|
munkarendSelectCommand = $@"
|
|
,ISNULL(kepzes.C_NAME, '-') AS 'Képzés'
|
|
";
|
|
|
|
munkarendJoinCommand = $@"
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES kepzes ON kepzes.ID = {osztalycsoportAlias}.C_KEPZESIFORMA AND kepzes.C_TANEVID = {osztalycsoportAlias}.C_TANEVID AND kepzes.TOROLT = 'F'
|
|
";
|
|
}
|
|
|
|
parameters.Add(new CommandParameter("pDate", kovetkezoTanev ? aktualisTanevElsoTanitasiNapja : DateTime.Now));
|
|
}
|
|
else
|
|
{
|
|
jegyzekSelectCommand = $@"
|
|
,ISNULL(agazat.C_NAME, '-') AS '{ OsztalyCsoportResource.AgazatTipusa }'
|
|
,ISNULL(szakkepesites.C_NAME, '-') AS '{ OsztalyCsoportResource.SzakkepesitesTipusa }'
|
|
,ISNULL(reszszakkepesites.C_NAME, '-') AS '{ OsztalyCsoportResource.ReszszakkepesitesTipusa }'
|
|
,ISNULL(szakmacsoport.C_NAME, '-') AS '{ OsztalyCsoportResource.SzakmacsoportTipusa }'
|
|
,ISNULL(szktagazattipus.C_NAME, '-') AS '{ OsztalyCsoportResource.UjSzktAgazatTipusa }'
|
|
,ISNULL(szktszakmatipus.C_NAME, '-') AS '{ OsztalyCsoportResource.UjSzktSzakmaTipusa }'
|
|
,ISNULL(szktszakmairanytipus.C_NAME, '-') AS '{ OsztalyCsoportResource.UjSzktSzakmairanyTipusa }'
|
|
,ISNULL(nkttanulmanyiterulet.C_NAME, '-') AS '{ OsztalyCsoportResource.NktTanulmanyiTerulet }'
|
|
,ISNULL(nktszakkepesites.C_NAME, '-') AS '{ OsztalyCsoportResource.NktSzakkepesites }'
|
|
,ISNULL(nktszakirany.C_NAME, '-') AS '{ OsztalyCsoportResource.NktSzakirany }'
|
|
";
|
|
|
|
jegyzekJoinCommand = $@"
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES agazat ON agazat.ID = {osztalyAlias}.C_AGAZAT AND agazat.C_TANEVID = {osztalycsoportAlias}.C_TANEVID AND agazat.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szakkepesites ON szakkepesites.ID = {osztalyAlias}.C_SZAKKEPESITES AND szakkepesites.C_TANEVID = {osztalycsoportAlias}.C_TANEVID AND szakkepesites.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES reszszakkepesites ON reszszakkepesites.ID = {osztalyAlias}.C_RESZSZAKKEPESITES AND reszszakkepesites.C_TANEVID = {osztalycsoportAlias}.C_TANEVID AND reszszakkepesites.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szakmacsoport ON szakmacsoport.ID = {osztalyAlias}.C_SZAKMACSOPORT AND szakmacsoport.C_TANEVID = {osztalycsoportAlias}.C_TANEVID AND szakmacsoport.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szktagazattipus ON szktagazattipus.ID = {osztalyAlias}.C_AGAZATUJSZKTTIPUSID AND szktagazattipus.C_TANEVID = {osztalycsoportAlias}.C_TANEVID AND szktagazattipus.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szktszakmatipus ON szktszakmatipus.ID = {osztalyAlias}.C_SZAKMATIPUSID AND szktszakmatipus.C_TANEVID = {osztalycsoportAlias}.C_TANEVID AND szktszakmatipus.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szktszakmairanytipus ON szktszakmairanytipus.ID = {osztalyAlias}.C_SZAKMAIRANYTIPUSID AND szktszakmairanytipus.C_TANEVID = {osztalycsoportAlias}.C_TANEVID AND szktszakmairanytipus.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES nkttanulmanyiterulet ON nkttanulmanyiterulet.ID = {osztalyAlias}.C_TANULMANYITERULETNKTTIPUSID AND nkttanulmanyiterulet.C_TANEVID = {osztalycsoportAlias}.C_TANEVID AND nkttanulmanyiterulet.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES nktszakkepesites ON nktszakkepesites.ID = {osztalyAlias}.C_SZAKKEPESITESNKTTIPUSID AND nktszakkepesites.C_TANEVID = {osztalycsoportAlias}.C_TANEVID AND nktszakkepesites.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES nktszakirany ON nktszakirany.ID = {osztalyAlias}.C_SZAKIRANYNKTTIPUSID AND nktszakirany.C_TANEVID = {osztalycsoportAlias}.C_TANEVID AND nktszakirany.TOROLT = 'F'
|
|
";
|
|
|
|
munkarendSelectCommand = $@"
|
|
,ISNULL(kepzes.C_NAME, '-') AS 'Képzés'
|
|
";
|
|
|
|
munkarendJoinCommand = $@"
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES kepzes ON kepzes.ID = {osztalycsoportAlias}.C_KEPZESIFORMA AND kepzes.C_TANEVID = {osztalycsoportAlias}.C_TANEVID AND kepzes.TOROLT = 'F'
|
|
";
|
|
}
|
|
|
|
var command = $@"
|
|
SELECT
|
|
{osztalycsoportAlias}.C_NEV AS 'Osztály neve'
|
|
,ISNULL(evfolyamtipusa.C_NAME, '-') AS 'Évfolyam neve'
|
|
,ISNULL(tanev.C_NEV, '-') AS 'Tanév'
|
|
,ISNULL(osztalyfonok.C_NYOMTATASINEV, '-') AS 'Osztályfőnök'
|
|
,ISNULL(ofohelyettes.C_NYOMTATASINEV, '-') AS 'Osztályfőnök-helyettes'
|
|
{munkarendSelectCommand}
|
|
,ISNULL(tanterv.C_NEV, '-') AS '{(feladatKategoria == OktNevelesiKategoriaEnum.Kollegium ? OsztalyCsoportResource.NevelesiTerv : OsztalyCsoportResource.Tanterv)}'
|
|
,ISNULL(terem.C_NEV, '-') AS 'Osztályterem'
|
|
,ISNULL({osztalycsoportAlias}.C_MEGJEGYZES, '-') AS 'Megjegyzés'
|
|
,IIF({osztalycsoportAlias}.C_VEGZOSEVFOLYAM = 'T', 'Igen', 'Nem') AS 'Végzős évfolyamú osztály'
|
|
,IIF({osztalycsoportAlias}.C_KERESZTFELEVES = 'T', 'Igen', 'Nem') AS 'Keresztféléves'
|
|
,ISNULL({osztalycsoportAlias}.C_TERVEZETTLETSZAM, '-') AS 'Tervezett létszám'
|
|
,ISNULL(convert(varchar(10),{osztalyAlias}.C_OSZTALYNAPLOMEGNYITASA,120), '-') AS 'Osztálynapló megnyitás dátuma'
|
|
,ISNULL(convert(varchar(10),{osztalyAlias}.C_OSZTALYNAPLOZARASA,120), '-') AS 'Osztálynapló lezárás dátuma'
|
|
,(SELECT COUNT(1) FROM T_TANULOCSOPORT_OSSZES tcs WHERE tcs.C_OSZTALYCSOPORTID = {osztalyAlias}.ID AND TOROLT = 'F' AND C_BELEPESDATUM <= " + (!kovetkezoTanev ? @"GETDATE() " : $@" CONVERT(date,@{nameof(aktualisTanevElsoTanitasiNapja)}) ") + $@" AND (C_KILEPESDATUM IS NULL OR C_KILEPESDATUM > " + (!kovetkezoTanev ? @"GETDATE() " : $@" CONVERT(date,@{nameof(aktualisTanevElsoTanitasiNapja)}) ") + $@")) AS '{(feladatKategoria == OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas ? TanuloResource.NovendekekSzama : OsztalyCsoportResource.TanulokSzama)}'
|
|
,ISNULL({osztalyAlias}.C_OSZTALYNAPLOLEIRASA, '-') AS 'Osztály leírása'
|
|
,ISNULL({osztalyAlias}.C_SPECIALISJELLEMZO, '-') AS 'Speciális jellemző'
|
|
,ISNULL(osztalyfonok.C_OKTATASIAZONOSITO, '-') AS '{ AlkalmazottResource.PedagogusOktatasiAzonosito }'
|
|
,ISNULL(oktatasinevelesifeladattipus.C_NAME, '-') AS 'Oktatási-nevelési feladat típusa'
|
|
,ISNULL(feladatkategoria.C_NAME, '-') AS 'Feladatkategória típusa'
|
|
,ISNULL(intezmenyadatok.C_NEV, '-') AS 'Intézmény neve'
|
|
,IIF({osztalycsoportAlias}.C_ISTECHNIKAI = 'T', 'Igen', 'Nem') AS 'Technikai osztály'
|
|
,ISNULL(gimnaziumevfolyamtipus.C_NAME, '-') AS 'Gimnázium évfolyam típusa'
|
|
,IIF({osztalyAlias}.C_KETTANNYELVU = 'T', 'Igen', 'Nem') AS '{ OsztalyCsoportResource.Kettannyelvu }'
|
|
,IIF({osztalycsoportAlias}.C_ISGYOGYPEDAGOGIAILOGOPEDIAI = 'T', 'Igen', 'Nem') AS 'Gyógypedagógiai/Logopédiai osztály'
|
|
,IIF({osztalyAlias}.C_NEMZETISEGI = 'T', 'Igen', 'Nem') AS 'Nemzetiségi osztály'
|
|
,IIF({osztalyAlias}.C_NYELVIELOKESZITO = 'T', 'Igen', 'Nem') AS '{ OsztalyCsoportResource.NyelviElokeszitoOsztaly }'
|
|
,IIF({osztalyAlias}.C_SPORT = 'T', 'Igen', 'Nem') AS 'Sport osztály'
|
|
,IIF({osztalyAlias}.C_AJTEHETTSEGGONDOZOPROGRAM = 'T', 'Igen', 'Nem') AS 'AJ tehettséggondozó program'
|
|
,IIF({osztalyAlias}.C_AJPROGRAM = 'T', 'Igen', 'Nem') AS 'AJ program'
|
|
,IIF({osztalyAlias}.C_VEGYESEVFOLYAMU = 'T', 'Igen', 'Nem') AS 'Vegyes évfolyamú osztály'
|
|
,ISNULL({osztalyAlias}.C_VEGYESEVFOLYAMUTANTERV, '-') AS 'Vegyes évfolyamú tanterv'
|
|
,IIF({osztalyAlias}.C_VEGYESSZAKKEPZESU = 'T', 'Igen', 'Nem') AS 'Vegyes szakképzésű osztály'
|
|
,ISNULL(szmkhelyettes.C_NEV, '-') AS 'Szülői munkaközösség képviselő helyettes'
|
|
,ISNULL(szmk.C_NEV, '-') AS 'Szülői munkaközösség képviselő'
|
|
,ISNULL({osztalyAlias}.C_OSZTALYPENZBANKSZAMLASZAMA, '-') AS Bankszámlaszám
|
|
,ISNULL({osztalyAlias}.C_OSZTALYPENZBANKSZAMLASZAMKED, '-') AS 'Bankszámlaszám kedvezményezett'
|
|
{jegyzekSelectCommand}
|
|
FROM T_OSZTALY_OSSZES {osztalyAlias}
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES {osztalycsoportAlias} ON {osztalyAlias}.C_ALINTEZMENYID = {osztalycsoportAlias}.C_INTEZMENYID AND {osztalyAlias}.ID = {osztalycsoportAlias}.ID AND {osztalycsoportAlias}.TOROLT = 'F' AND {osztalyAlias}.C_ALTANEVID = {osztalycsoportAlias}.C_TANEVID
|
|
LEFT JOIN T_FELADATELLATASIHELY feladatellatasihely ON feladatellatasihely.ID = {osztalycsoportAlias}.C_FELADATELLATASIHELYID AND feladatellatasihely.C_TANEVID = {osztalycsoportAlias}.C_TANEVID AND feladatellatasihely.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES oktatasinevelesifeladattipus ON oktatasinevelesifeladattipus.ID = feladatellatasihely.C_OKTATASINEVELESIFELADATTIPUS AND oktatasinevelesifeladattipus.C_TANEVID = feladatellatasihely.C_TANEVID AND oktatasinevelesifeladattipus.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES evfolyamtipusa ON evfolyamtipusa.ID = {osztalycsoportAlias}.C_EVFOLYAMTIPUSA AND evfolyamtipusa.C_TANEVID = {osztalycsoportAlias}.C_TANEVID AND evfolyamtipusa.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES feladatkategoria ON feladatkategoria.ID = {osztalycsoportAlias}.C_FELADATKATEGORIAID AND feladatkategoria.C_TANEVID = {osztalycsoportAlias}.C_TANEVID AND feladatkategoria.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES gimnaziumevfolyamtipus ON gimnaziumevfolyamtipus.ID = {osztalyAlias}.C_GIMNAZIUMIEVFOLYAMTIPUSID AND gimnaziumevfolyamtipus.C_TANEVID = {osztalycsoportAlias}.C_TANEVID AND gimnaziumevfolyamtipus.TOROLT = 'F'
|
|
LEFT JOIN T_TANTERV_OSSZES tanterv ON tanterv.ID = {osztalyAlias}.C_TANTERVID AND tanterv.C_INTEZMENYID = {osztalyAlias}.C_ALINTEZMENYID AND tanterv.TOROLT = 'F' AND tanterv.C_TANEVID = {osztalycsoportAlias}.C_TANEVID
|
|
LEFT JOIN T_TANEV_OSSZES tanev ON {osztalycsoportAlias}.C_TANEVID = tanev.ID AND tanev.C_INTEZMENYID = {osztalyAlias}.C_ALINTEZMENYID AND tanev.TOROLT = 'F'
|
|
LEFT JOIN T_FELHASZNALO_OSSZES osztalyfonok ON osztalyfonok.ID = {osztalyAlias}.C_OSZTALYFONOKID AND osztalyfonok.C_INTEZMENYID = {osztalyAlias}.C_ALINTEZMENYID AND osztalyfonok.C_TANEVID = :pTanevId AND osztalyfonok.TOROLT = 'F'
|
|
LEFT JOIN T_FELHASZNALO_OSSZES ofohelyettes ON ofohelyettes.ID = {osztalyAlias}.C_OFOHELYETTESID AND ofohelyettes.C_INTEZMENYID = {osztalyAlias}.C_ALINTEZMENYID AND ofohelyettes.C_TANEVID = :pTanevId AND ofohelyettes.TOROLT = 'F'
|
|
LEFT JOIN T_GONDVISELO_OSSZES szmk ON szmk.ID = {osztalyAlias}.C_SZMKKEPVISELOID AND szmk.C_INTEZMENYID = {osztalyAlias}.C_ALINTEZMENYID AND szmk.C_TANEVID = :pTanevId AND szmk.TOROLT = 'F'
|
|
LEFT JOIN T_GONDVISELO_OSSZES szmkhelyettes ON szmkhelyettes.ID = {osztalyAlias}.C_SZMKKEPVISELOHELYETTESID AND szmkhelyettes.C_INTEZMENYID = {osztalyAlias}.C_ALINTEZMENYID AND szmkhelyettes.C_TANEVID = :pTanevId AND szmkhelyettes.TOROLT = 'F'
|
|
LEFT JOIN T_TEREM_OSSZES terem ON terem.ID = {osztalycsoportAlias}.C_TEREMID AND terem.C_INTEZMENYID = {osztalycsoportAlias}.C_INTEZMENYID AND terem.C_TANEVID = :pTanevId AND terem.TOROLT = 'F'
|
|
LEFT JOIN T_INTEZMENYADATOK_OSSZES intezmenyadatok ON intezmenyadatok.C_INTEZMENYID = {osztalycsoportAlias}.C_INTEZMENYID AND intezmenyadatok.C_TANEVID = {osztalycsoportAlias}.C_TANEVID AND intezmenyadatok.TOROLT = 'F'
|
|
{jegyzekJoinCommand}
|
|
{munkarendJoinCommand}
|
|
WHERE
|
|
{osztalyAlias}.TOROLT = 'F' AND
|
|
{osztalyAlias}.C_ALTANEVID = :pTanevId
|
|
{whereClause}
|
|
ORDER BY evfolyamtipusa.C_VALUE, evfolyamtipusa.C_NAME";
|
|
|
|
return GetData(command.ToString(), parameters);
|
|
}
|
|
|
|
public DataSet GetOsztalybaJaroTanulokExcelExport(int tanevId, OsztalySearchPco pco, DateTime? aktualisTanevElsoTanitasiNapja = null)
|
|
{
|
|
const string osztalycsoportAlias = "osztcsop";
|
|
const string osztalyAlias = "oszt";
|
|
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter(nameof(aktualisTanevElsoTanitasiNapja), aktualisTanevElsoTanitasiNapja)
|
|
};
|
|
var kovetkezoTanev = aktualisTanevElsoTanitasiNapja > DateTime.Now;
|
|
StringBuilder whereClause = pco.ToWhereClause(parameters, osztalycsoportAlias, osztalyAlias);
|
|
|
|
var command = new StringBuilder($@"
|
|
SELECT {osztalycsoportAlias}.C_NEV AS '{ TanuloResource.Osztaly }'
|
|
, felh.C_NYOMTATASINEV AS '{ TanuloResource.Nev }'
|
|
, felh.C_OKTATASIAZONOSITO as '{ TanuloResource.OktatasiAzonosito }'
|
|
FROM T_TANULOCSOPORT_OSSZES tancsop
|
|
INNER JOIN T_OSZTALY_OSSZES {osztalyAlias} ON {osztalyAlias}.ID = tancsop.C_OSZTALYCSOPORTID AND {osztalyAlias}.TOROLT = 'F' AND {osztalyAlias}.C_ALTANEVID = tancsop.C_TANEVID
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES {osztalycsoportAlias} ON {osztalycsoportAlias}.ID = {osztalyAlias}.ID AND {osztalycsoportAlias}.TOROLT = 'F' AND {osztalycsoportAlias}.C_TANEVID = {osztalyAlias}.C_ALTANEVID
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dib ON {osztalycsoportAlias}.C_EVFOLYAMTIPUSA = dib.ID AND dib.C_TANEVID=:pTanevId AND dib.TOROLT = 'F'
|
|
LEFT JOIN T_FELHASZNALO_OSSZES felh ON felh.ID = tancsop.C_TANULOID AND felh.C_TANEVID = :pTanevId AND felh.TOROLT = 'F'
|
|
WHERE
|
|
tancsop.C_TANEVID = :pTanevId AND
|
|
tancsop.TOROLT = 'F' AND
|
|
tancsop.C_BELEPESDATUM <= " + (!kovetkezoTanev ? @"GETDATE() " : $@" CONVERT(date,@{nameof(aktualisTanevElsoTanitasiNapja)}) ") + $@" AND
|
|
(tancsop.C_KILEPESDATUM IS NULL OR tancsop.C_KILEPESDATUM > " + (!kovetkezoTanev ? @"GETDATE() " : $@" CONVERT(date,@{nameof(aktualisTanevElsoTanitasiNapja)}) ") + $@")
|
|
{whereClause}
|
|
ORDER BY dib.C_VALUE, {osztalycsoportAlias}.C_NEV, felh.C_NYOMTATASINEV");
|
|
|
|
return GetData(command.ToString(), parameters);
|
|
}
|
|
|
|
public DataSet GetCsoportbaJaroTanulokExcelExport(int tanevId, OktNevelesiKategoriaEnum? feladatKategoria, CsoportSearchPco pco, DateTime? tanevElsoTanitasiNapja = null)
|
|
{
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
};
|
|
|
|
if (tanevElsoTanitasiNapja.HasValue)
|
|
{
|
|
parameters.Add(new CommandParameter(nameof(tanevElsoTanitasiNapja), tanevElsoTanitasiNapja));
|
|
}
|
|
|
|
var isActiveTanev = !tanevElsoTanitasiNapja.HasValue;
|
|
|
|
if (feladatKategoria.HasValue)
|
|
{ parameters.Add(new CommandParameter(nameof(feladatKategoria), (int)feladatKategoria)); }
|
|
else
|
|
{ parameters.Add(new CommandParameter(nameof(feladatKategoria), DBNull.Value)); }
|
|
|
|
const string osztalycsoportAlias = "osztcsop";
|
|
const string csoportAlias = "csop";
|
|
StringBuilder whereClause = pco.ToWhereClause(parameters, null, osztalycsoportAlias, csoportAlias);
|
|
|
|
string command = $@"
|
|
SELECT
|
|
{osztalycsoportAlias}.C_NEV AS 'Csoport neve'
|
|
, felh.C_NYOMTATASINEV AS '{ TanuloResource.Nev }'
|
|
,felh.C_OKTATASIAZONOSITO as '{ TanuloResource.OktatasiAzonosito }'
|
|
,osztalycsoport.C_NEV AS 'Osztály'
|
|
FROM T_TANULOCSOPORT_OSSZES tancsop
|
|
INNER JOIN T_CSOPORT_OSSZES {csoportAlias} ON {csoportAlias}.ID = tancsop.C_OSZTALYCSOPORTID AND {csoportAlias}.TOROLT = 'F' AND {csoportAlias}.C_ALTANEVID = tancsop.C_TANEVID
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES {osztalycsoportAlias} ON {osztalycsoportAlias}.ID = {csoportAlias}.ID AND ({osztalycsoportAlias}.C_FELADATKATEGORIAID = @{nameof(feladatKategoria)} OR @{nameof(feladatKategoria)} IS NULL) AND {osztalycsoportAlias}.TOROLT = 'F' AND {osztalycsoportAlias}.C_TANEVID = {csoportAlias}.C_ALTANEVID
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dib ON {osztalycsoportAlias}.C_EVFOLYAMTIPUSA = dib.ID AND dib.C_TANEVID = :pTanevId AND dib.TOROLT = 'F'
|
|
INNER JOIN T_FELHASZNALO_OSSZES felh ON felh.ID = tancsop.C_TANULOID AND felh.C_TANEVID = :pTanevId AND felh.TOROLT = 'F'
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tanoszt ON tancsop.C_TANULOID = tanoszt.C_TANULOID AND tanoszt.C_TANEVID = :pTanevId AND tanoszt.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalycsoport ON osztalycsoport.ID = tanoszt.C_OSZTALYCSOPORTID AND (osztalycsoport.C_FELADATKATEGORIAID = @{nameof(feladatKategoria)} OR @{nameof(feladatKategoria)} IS NULL) AND osztalycsoport.TOROLT = 'F' AND osztalycsoport.C_TANEVID = tanoszt.C_TANEVID
|
|
INNER JOIN T_OSZTALY_OSSZES osztaly ON osztaly.ID = osztalycsoport.ID AND osztaly.TOROLT = 'F' AND osztalycsoport.C_TANEVID = osztaly.C_ALTANEVID
|
|
WHERE
|
|
tancsop.C_TANEVID = :pTanevId AND
|
|
tancsop.TOROLT = 'F' AND
|
|
tancsop.C_BELEPESDATUM <= " + (isActiveTanev ? @"GETDATE() " : $@" CONVERT(date,@{nameof(tanevElsoTanitasiNapja)}) ") + $@" AND
|
|
(tancsop.C_KILEPESDATUM IS NULL OR tancsop.C_KILEPESDATUM > " + (isActiveTanev ? @"GETDATE() " : $@" CONVERT(date,@{nameof(tanevElsoTanitasiNapja)}) ") + $@") AND
|
|
tanoszt.C_BELEPESDATUM <= " + (isActiveTanev ? @"GETDATE() " : $@" CONVERT(date,@{nameof(tanevElsoTanitasiNapja)}) ") + $@" AND
|
|
(tanoszt.C_KILEPESDATUM IS NULL OR tanoszt.C_KILEPESDATUM > " + (isActiveTanev ? @"GETDATE() " : $@" CONVERT(date,@{nameof(tanevElsoTanitasiNapja)}) ") + $@")
|
|
{whereClause}
|
|
ORDER BY
|
|
dib.C_VALUE, {osztalycsoportAlias}.C_NEV, felh.C_NYOMTATASINEV
|
|
";
|
|
|
|
return GetData(command, parameters);
|
|
}
|
|
|
|
#endregion
|
|
|
|
public List<IOsztalyCsoport> GetOsztalybontasosCsoportok(int osztalyId, int tanevId)
|
|
{
|
|
var list = new List<IOsztalyCsoport>();
|
|
|
|
var dal = this.DalHelper.Csoport();
|
|
var ds = dal.GetOsztalybontasosCsoportok(osztalyId, tanevId);
|
|
foreach (DataRow row in ds.Tables[0].Rows)
|
|
{
|
|
var cs = OsztalyCsoport.GiveAnInstance();
|
|
cs.LoadByID(Convert.ToInt32(row.Field<int>("ID")));
|
|
list.Add(cs);
|
|
}
|
|
return list;
|
|
}
|
|
|
|
public List<IOsztalyCsoport> GetTanuloOsztalyCsoportjai(int tanuloId, DateTime? datum = null)
|
|
{
|
|
var list = new List<IOsztalyCsoport>();
|
|
|
|
var osztalyCsoportIdList = GetTanuloOsztalyCsoportjaiIdList(tanuloId, datum);
|
|
foreach (var osztalyCsoportId in osztalyCsoportIdList)
|
|
{
|
|
var cs = OsztalyCsoport.GiveAnInstance();
|
|
cs.LoadByID(osztalyCsoportId);
|
|
list.Add(cs);
|
|
}
|
|
return list;
|
|
}
|
|
|
|
public IOsztalyCsoport Get()
|
|
{
|
|
return OsztalyCsoport.GiveAnInstance();
|
|
}
|
|
|
|
public IOsztalyCsoport Get(int id)
|
|
{
|
|
var entity = OsztalyCsoport.GiveAnInstance();
|
|
entity.LoadByID(id);
|
|
return entity;
|
|
}
|
|
|
|
[Obsolete("Tároltra kell cserélni minél hamarabb")]
|
|
public IOsztalyCsoport GetSpecific(string condition, Dictionary<string, object> commandParameters = null)
|
|
{
|
|
var entity = Osztaly.LoadWithFilter(condition, commandParameters).FirstOrDefault();
|
|
return entity;
|
|
}
|
|
|
|
public bool IsOsztaly(int osztcsopId, int tanevId)
|
|
{
|
|
var ocs = this.DalHelper.Osztaly().GetSpecific(" and T_OSZTALY_OSSZES.TOROLT = 'F' and T_OSZTALY_OSSZES.ID = " + osztcsopId, tanevId);
|
|
return ocs != null;
|
|
}
|
|
|
|
public DataSet GetCsoportokCsoportvezetoAlapjan(int userId, bool showTanoraCeluCsoportok)
|
|
{
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pFelhasznaloId", userId),
|
|
};
|
|
|
|
string command = @"
|
|
SELECT
|
|
osztalyCsoport.ID ID
|
|
,osztalyCsoport.C_NEV Nev
|
|
,csoport.C_TIPUSA CsoportTipusa
|
|
,osztalyCsoport.C_EVFOLYAMTIPUSA Evfolyam
|
|
FROM T_OSZTALYCSOPORT osztalyCsoport
|
|
INNER JOIN T_CSOPORT csoport ON csoport.ID = osztalyCsoport.ID
|
|
WHERE
|
|
osztalyCsoport.TOROLT = 'F' AND csoport.C_CSOPORTVEZETOID = :pFelhasznaloId
|
|
";
|
|
|
|
if (!showTanoraCeluCsoportok)
|
|
{
|
|
command += " AND csoport.C_TIPUSA NOT IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(osztalyCsoport.C_TANEVID))";
|
|
}
|
|
|
|
command += " ORDER BY CsoportTipusa, Evfolyam";
|
|
|
|
return GetData(command, parameters);
|
|
}
|
|
|
|
public List<int> GetKapcsolodoOsztalyBontasokkal(int osztalyCsoportId)
|
|
{
|
|
var commandParameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter(nameof(osztalyCsoportId), osztalyCsoportId)
|
|
};
|
|
|
|
string commandText = $@"
|
|
SELECT @{nameof(osztalyCsoportId)} AS ID /* Önmaga */
|
|
|
|
UNION
|
|
|
|
SELECT ID /* Osztály esetén, a bontott csoportok */
|
|
FROM T_CSOPORT
|
|
WHERE C_OSZTALYBONTASID = @{nameof(osztalyCsoportId)}
|
|
|
|
UNION
|
|
|
|
SELECT C_OSZTALYBONTASID AS ID /* Csoport esetén, a ha bontott, akkor az osztálya */
|
|
FROM T_CSOPORT
|
|
WHERE ID = @{nameof(osztalyCsoportId)}
|
|
AND C_OSZTALYBONTASID IS NOT NULL
|
|
|
|
UNION
|
|
|
|
SELECT ID /* Csoport esetén, a ha bontott, akkor az osztályának a többi csoportbontása */
|
|
FROM T_CSOPORT
|
|
WHERE C_OSZTALYBONTASID IN (
|
|
SELECT C_OSZTALYBONTASID
|
|
FROM T_CSOPORT
|
|
WHERE ID = @{nameof(osztalyCsoportId)}
|
|
)
|
|
";
|
|
|
|
DataSet ds = GetData(commandText, commandParameters);
|
|
|
|
return ds.Tables[0].AsEnumerable().Select(r => r.Field<int>("ID")).ToList();
|
|
}
|
|
|
|
public int? GetOsztalyfonokElsonekMegtalaltOsztalya(int tanarId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.Parameters.Add(nameof(tanarId), tanarId);
|
|
|
|
command.CommandText = $@"
|
|
SELECT TOP 1
|
|
osztaly.ID
|
|
FROM T_OSZTALY osztaly
|
|
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = osztaly.ID
|
|
AND OsztalyCsoport.TOROLT = 'F'
|
|
WHERE osztaly.C_OSZTALYFONOKID= @{nameof(tanarId)}
|
|
AND osztaly.TOROLT = 'F'
|
|
";
|
|
|
|
var result = command.ExecuteScalar();
|
|
|
|
int? ret = null;
|
|
if (result != null && result != DBNull.Value)
|
|
{
|
|
ret = Convert.ToInt32(result);
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
public bool HasTanitasiOra(int osztalyCsoportId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.Parameters.Add(nameof(osztalyCsoportId), osztalyCsoportId);
|
|
|
|
command.CommandText = $@"
|
|
SELECT 1
|
|
FROM T_TANITASIORA TanitasiOra
|
|
WHERE TanitasiOra.TOROLT = 'F'
|
|
AND TanitasiOra.C_OSZTALYCSOPORTID = @{nameof(osztalyCsoportId)}";
|
|
|
|
var result = command.ExecuteScalar();
|
|
|
|
return result != null && result != DBNull.Value && Convert.ToInt32(result) > 0;
|
|
}
|
|
}
|
|
|
|
public bool HasTanuloBesorolas(int osztalyCsoportId, bool checkOsztalybontottCsoportok = false)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
command.Parameters.Add(nameof(osztalyCsoportId), osztalyCsoportId);
|
|
|
|
command.CommandText = $@"
|
|
IF EXISTS(
|
|
SELECT 1
|
|
FROM T_TANULOCSOPORT_OSSZES tcs
|
|
WHERE tcs.C_OSZTALYCSOPORTID = @{nameof(osztalyCsoportId)}
|
|
AND tcs.TOROLT = 'F'
|
|
AND (tcs.C_BELEPESDATUM <> tcs.C_KILEPESDATUM OR C_KILEPESDATUM IS NULL)
|
|
|
|
" + (checkOsztalybontottCsoportok ? $@"
|
|
UNION
|
|
|
|
SELECT 1
|
|
FROM T_TANULOCSOPORT_OSSZES tcs
|
|
INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = tcs.C_OSZTALYCSOPORTID AND cs.C_OSZTALYBONTASID = @{nameof(osztalyCsoportId)} AND cs.TOROLT = 'F'
|
|
WHERE tcs.TOROLT = 'F'
|
|
AND (tcs.C_BELEPESDATUM <> tcs.C_KILEPESDATUM OR C_KILEPESDATUM IS NULL)
|
|
" : string.Empty) + @"
|
|
|
|
)
|
|
SELECT 1
|
|
ELSE
|
|
SELECT 0
|
|
";
|
|
|
|
var result = command.ExecuteScalar();
|
|
|
|
int.TryParse(result?.ToString(), out int res);
|
|
return res == 1;
|
|
}
|
|
}
|
|
|
|
public DataSet GetExistsHianyzasErtekelesFeljegyzesSorolaskor(List<int> pTanuloIdList, DateTime pSorolasDatum, int? pOsztalyCsoportId = null, bool pHianyzasKovetes = false, bool pErtekelesKovetes = false, bool pFeljegyzesKovetes = false)
|
|
{
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pSorolasDatum", pSorolasDatum)
|
|
};
|
|
string pTanuIds = string.Join(",", pTanuloIdList);
|
|
|
|
string command = @"
|
|
SELECT
|
|
t.ID,fh.C_NYOMTATASINEV AS TANULONEV ";
|
|
command += pHianyzasKovetes ? ",h.HIANYZASOKSZAMA AS HIANYZASOKSZAMA" : ",NULL AS HIANYZASOKSZAMA";
|
|
command += pErtekelesKovetes ? ",ert.ERTEKELESEKSZAMA AS ERTEKELESEKSZAMA" : ",NULL AS ERTEKELESEKSZAMA";
|
|
command += pFeljegyzesKovetes ? ",e.FELJEGYZESEMSZAMA AS FELJEGYZESEMSZAMA" : ",NULL AS FELJEGYZESEMSZAMA";
|
|
command += @"
|
|
FROM T_TANULO t
|
|
INNER JOIN T_FELHASZNALO fh ON fh.ID = t.ID ";
|
|
if (pHianyzasKovetes)
|
|
{
|
|
command += @"
|
|
LEFT JOIN (
|
|
SELECT
|
|
tm.C_ORATANULOIID AS TANULOIID
|
|
,COUNT(1) AS HIANYZASOKSZAMA
|
|
FROM T_TANULOMULASZTAS tm
|
|
INNER JOIN T_TANITASIORA tora ON tora.ID = tm.C_TANITASIORAKID
|
|
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID = tora.C_OSZTALYCSOPORTID AND tm.C_ORATANULOIID = tcs.C_TANULOID
|
|
INNER JOIN (SELECT tancsop.C_TANULOID,o.ID,tancsop.C_KILEPESDATUM, tancsop.C_BELEPESDATUM FROM T_TANULOCSOPORT tancsop INNER JOIN T_OSZTALY o ON o.ID = tancsop.C_OSZTALYCSOPORTID) oszt ON oszt.C_TANULOID = tm.C_ORATANULOIID AND (oszt.C_KILEPESDATUM IS NULL OR oszt.C_KILEPESDATUM > tora.C_DATUM) AND (oszt.C_BELEPESDATUM <= tora.C_DATUM)
|
|
WHERE (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > tora.C_DATUM) AND (tcs.C_BELEPESDATUM <= tora.C_DATUM)
|
|
AND tm.C_Igazolt = 'F'
|
|
AND tora.C_DATUM >= :pSorolasDatum
|
|
AND tm.C_ORATANULOIID IN (" + pTanuIds + ") ";
|
|
command += pOsztalyCsoportId != null ? "AND tcs.C_OSZTALYCSOPORTID = " + pOsztalyCsoportId.ToString() : string.Empty;
|
|
command += @"
|
|
AND tm.Torolt = 'F'
|
|
GROUP BY tm.C_ORATANULOIID ) h ON h.TANULOIID = t.ID ";
|
|
}
|
|
if (pErtekelesKovetes)
|
|
{
|
|
command += @"
|
|
LEFT JOIN ( SELECT
|
|
te.C_TANULOID AS TANULOIID
|
|
,COUNT(1) AS ERTEKELESEKSZAMA
|
|
FROM T_TANULOERTEKELES te
|
|
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID = te.C_OSZTALYCSOPORTID AND te.C_TANULOID = tcs.C_TANULOID
|
|
INNER JOIN (SELECT tancsop.C_TANULOID,o.ID,tancsop.C_KILEPESDATUM, tancsop.C_BELEPESDATUM FROM T_TANULOCSOPORT tancsop INNER JOIN T_OSZTALY o ON o.ID = tancsop.C_OSZTALYCSOPORTID) oszt ON oszt.C_TANULOID = te.C_TANULOID AND (oszt.C_KILEPESDATUM IS NULL OR oszt.C_KILEPESDATUM > te.C_DATUM) AND (oszt.C_BELEPESDATUM <= te.C_DATUM)
|
|
WHERE (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > te.C_DATUM) AND (tcs.C_BELEPESDATUM <= te.C_DATUM)
|
|
AND te.C_DATUM >= :pSorolasDatum
|
|
AND te.C_TANULOID IN (" + pTanuIds + ") ";
|
|
command += pOsztalyCsoportId != null ? "AND tcs.C_OSZTALYCSOPORTID = " + pOsztalyCsoportId.ToString() : string.Empty;
|
|
command += @"
|
|
AND te.Torolt = 'F'
|
|
GROUP BY te.C_TANULOID ) ert ON ert.TANULOIID = t.ID ";
|
|
}
|
|
if (pFeljegyzesKovetes)
|
|
{
|
|
command += @"
|
|
LEFT JOIN ( SELECT
|
|
tte.C_TANULOID AS TANULOIID
|
|
,COUNT(1) AS FELJEGYZESEMSZAMA
|
|
FROM T_TANULO_TANULOESEMENY tte
|
|
INNER JOIN T_TANULOESEMENY te ON te.ID = tte.C_TANULOESEMENYID AND te.Torolt = 'F'
|
|
WHERE 1 = 1
|
|
AND te.C_ESEMENYDATUMA >= :pSorolasDatum
|
|
AND tte.C_TANULOID IN (" + pTanuIds + @")
|
|
GROUP BY tte.C_TANULOID ) e ON e.TANULOIID = t.ID ";
|
|
}
|
|
command += @"
|
|
WHERE t.TOROLT = 'F'
|
|
AND (h.HIANYZASOKSZAMA IS NOT NULL OR ert.ERTEKELESEKSZAMA IS NOT NULL OR e.FELJEGYZESEMSZAMA IS NOT NULL)
|
|
AND t.ID IN (" + pTanuIds + @")
|
|
ORDER BY t.ID
|
|
";
|
|
return GetData(command, parameters);
|
|
}
|
|
|
|
/// INFO @DevKornel: Mobil használja
|
|
public int GetOsztalyCsoportFeladatKategoria(int osztalyCsoportId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
command.Parameters.Add(nameof(osztalyCsoportId), osztalyCsoportId);
|
|
|
|
command.CommandText = $@"
|
|
SELECT C_FELADATKATEGORIAID
|
|
FROM T_OSZTALYCSOPORT_OSSZES
|
|
WHERE ID = @{nameof(osztalyCsoportId)} AND TOROLT = 'F'
|
|
";
|
|
|
|
var result = command.ExecuteScalar();
|
|
|
|
if (int.TryParse(result?.ToString(), out int res))
|
|
{ return res; }
|
|
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
public int GetOsztalyCsoportOktatasNevelesiFeladatTipus(int osztalyCsoportId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
command.Parameters.Add(nameof(osztalyCsoportId), osztalyCsoportId);
|
|
|
|
command.CommandText = $@"
|
|
SELECT
|
|
fh.C_OKTATASINEVELESIFELADATTIPUS
|
|
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
|
INNER JOIN T_FELADATELLATASIHELY_OSSZES fh ON ocs.C_FELADATELLATASIHELYID = fh.ID
|
|
AND fh.TOROLT = 'F'
|
|
WHERE ocs.ID = @{nameof(osztalyCsoportId)}
|
|
AND ocs.TOROLT = 'F'
|
|
";
|
|
|
|
var result = command.ExecuteScalar();
|
|
|
|
if (int.TryParse(result?.ToString(), out int res))
|
|
{ return res; }
|
|
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
public DataSet GetOsztalyTanuloinakGondviseloi(int tanevId, int osztalyId, DateTime pDatum)
|
|
{
|
|
var commandParameterList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter(nameof(osztalyId), osztalyId),
|
|
new CommandParameter("pDatum", pDatum),
|
|
new CommandParameter("pTanevId", tanevId)
|
|
};
|
|
|
|
string commandText = $@"
|
|
SELECT
|
|
Gondviselo.ID AS GondviseloId
|
|
,Gondviselo.C_NEV AS GondviseloNev
|
|
FROM T_TANULOCSOPORT_OSSZES TanuloCsoport
|
|
INNER JOIN T_GONDVISELO_OSSZES Gondviselo ON Gondviselo.C_TANULOID = TanuloCsoport.C_TANULOID
|
|
AND Gondviselo.TOROLT = 'F' AND Gondviselo.C_TANEVID = TanuloCsoport.C_TANEVID
|
|
WHERE TanuloCsoport.C_OSZTALYCSOPORTID = @{nameof(osztalyId)}
|
|
AND TanuloCsoport.C_BELEPESDATUM <= :pDatum
|
|
AND(TanuloCsoport.C_KILEPESDATUM IS NULL OR TanuloCsoport.C_KILEPESDATUM > GETDATE())
|
|
AND TanuloCsoport.TOROLT = 'F'
|
|
AND TanuloCsoport.C_TANEVID = :pTanevId";
|
|
|
|
DataSet dataSet = GetData(commandText, commandParameterList);
|
|
|
|
return dataSet;
|
|
}
|
|
|
|
public DataSet GetOsztalyokByMuveszetiAg(MuveszetiAgEnum muveszetiAg, int tanevId)
|
|
{
|
|
var commandParameterList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter(nameof(muveszetiAg), (int)muveszetiAg),
|
|
new CommandParameter(nameof(tanevId), tanevId)
|
|
};
|
|
|
|
string commandText = $@"
|
|
SELECT ocs.ID
|
|
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
|
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.ID AND o.TOROLT = 'F' AND ocs.C_TANEVID = o.C_ALTANEVID
|
|
WHERE ocs.C_TANEVID = @{nameof(tanevId)}
|
|
AND ocs.C_MUVESZETIAGID = @{nameof(muveszetiAg)}
|
|
AND ocs.TOROLT = 'F'
|
|
";
|
|
|
|
return GetData(commandText, commandParameterList);
|
|
}
|
|
|
|
public DataSet GetOsztalyCsoportokFeladatKategoria(string osztalyIdString)
|
|
{
|
|
string commandText = $@"
|
|
SELECT C_FELADATKATEGORIAID
|
|
FROM T_OSZTALYCSOPORT_OSSZES
|
|
WHERE ID IN ({osztalyIdString})
|
|
";
|
|
|
|
return GetData(commandText);
|
|
}
|
|
|
|
public DataSet GetOsztalyCsoportokOktatasNevelesiFeladatTipus(string osztalyIdString)
|
|
{
|
|
string commandText = $@"
|
|
SELECT
|
|
fh.C_OKTATASINEVELESIFELADATTIPUS
|
|
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
|
INNER JOIN T_FELADATELLATASIHELY_OSSZES fh ON ocs.C_FELADATELLATASIHELYID = fh.ID
|
|
AND fh.TOROLT = 'F'
|
|
WHERE ocs.ID IN ({osztalyIdString})
|
|
AND ocs.TOROLT = 'F'
|
|
";
|
|
|
|
return GetData(commandText);
|
|
}
|
|
|
|
public DataSet GetOsztalybontasosCsoportokOsztalyAdatokkal(string csoportIdString, int tanevId)
|
|
{
|
|
var paramList = new List<CommandParameter>() { new CommandParameter(nameof(tanevId), tanevId) };
|
|
|
|
string commandText = $@"
|
|
SELECT oszalybontottOsztalya.C_EVFOLYAMTIPUSA AS OsztalybontottOsztalyanakEvfolyama
|
|
,oszalybontottOsztalya.C_FELADATELLATASIHELYID AS OsztalybontottOsztalyanakFeladatellatasiHelye
|
|
,oszalybontottOsztalya.C_ISGYOGYPEDAGOGIAILOGOPEDIAI AS OsztalybontottOsztalyanakGyogypedagogiaiLogopediai
|
|
,oszalybontottOsztalya.C_ISTECHNIKAI AS OsztalybontottOsztalyanakTechnikai
|
|
,csoport.C_NEV AS CsoportNev
|
|
FROM T_CSOPORT_OSSZES cs
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES csoport ON csoport.ID = cs.ID AND csoport.TOROLT = 'F' AND cs.C_ALTANEVID = csoport.C_TANEVID
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES oszalybontottOsztalya ON oszalybontottOsztalya.ID = cs.C_OSZTALYBONTASID AND oszalybontottOsztalya.TOROLT = 'F' AND cs.C_ALTANEVID = oszalybontottOsztalya.C_TANEVID
|
|
WHERE cs.ID IN ({csoportIdString})
|
|
AND cs.TOROLT = 'F'
|
|
AND cs.C_ALTANEVID = @{nameof(tanevId)}
|
|
";
|
|
|
|
return GetData(commandText, paramList);
|
|
}
|
|
|
|
public DataSet GetAutoEgyeniCsoportok(string csoportIDArrayString, int tanevId)
|
|
{
|
|
var paramList = new List<CommandParameter>() { new CommandParameter(nameof(tanevId), tanevId) };
|
|
|
|
string commandText = $@"
|
|
SELECT csoport.C_NEV AS CsoportNev
|
|
FROM T_CSOPORT_OSSZES cs
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES csoport ON csoport.ID = cs.ID AND csoport.TOROLT = 'F' AND cs.C_ALTANEVID = csoport.C_TANEVID
|
|
WHERE cs.ID IN ({csoportIDArrayString})
|
|
AND cs.C_ISAUTOEGYENICSOPORT = 'T'
|
|
AND cs.TOROLT = 'F'
|
|
AND cs.C_ALTANEVID = @{nameof(tanevId)}
|
|
";
|
|
|
|
return GetData(commandText, paramList);
|
|
}
|
|
|
|
public DataSet GetTanuloOsztalyDataSetByOsztalyCsoportId(int tanevId, int osztalyCsoportId)
|
|
{
|
|
using (var sdaCommand = new SDACommand())
|
|
{
|
|
sdaCommand.Connection = UserContext.Instance.SDAConnection;
|
|
sdaCommand.Transaction = UserContext.Instance.SDATransaction;
|
|
sdaCommand.CommandType = CommandType.StoredProcedure;
|
|
|
|
sdaCommand.CommandText = "uspGetTanuloOsztalyDataSetByOsztalyCsoportId";
|
|
|
|
sdaCommand.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
|
|
sdaCommand.Parameters.Add("pOsztalyCsoportId", SDADBType.Int).Value = osztalyCsoportId;
|
|
|
|
var dataSet = new DataSet();
|
|
using (var sdaDataAdapter = new SDADataAdapter())
|
|
{
|
|
sdaDataAdapter.SelectCommand = sdaCommand;
|
|
sdaDataAdapter.Fill(dataSet);
|
|
}
|
|
|
|
return dataSet;
|
|
}
|
|
}
|
|
|
|
public DataSet GetKapcsolodoOsztalyCsoportok(int osztalyCsoportId)
|
|
{
|
|
var paramList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter(nameof(osztalyCsoportId), osztalyCsoportId)
|
|
};
|
|
|
|
var commandText = $"SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(@{nameof(osztalyCsoportId)})";
|
|
|
|
return GetData(commandText, paramList);
|
|
}
|
|
|
|
public DataSet GetCsoportBesorolasModositasValidacio(int tanevId, int csoportId, int tanuloId, DateTime datumTol, DateTime datumIg, OktNevelesiKategoriaEnum? feladatKategoria, bool isTorolhetosegVizsgalat)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.CommandText = "uspValidateCsoportbaSorolasModositasa";
|
|
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
|
|
command.Parameters.Add("pCsoportId", SDADBType.Int).Value = csoportId;
|
|
command.Parameters.Add("pTanuloId", SDADBType.Int).Value = tanuloId;
|
|
command.Parameters.Add("pDatumTol", SDADBType.DateTime).Value = datumTol;
|
|
command.Parameters.Add("pDatumIg", SDADBType.DateTime).Value = datumIg;
|
|
command.Parameters.Add("pIsTorolhetosegVizsgalat", isTorolhetosegVizsgalat);
|
|
if (feladatKategoria.HasValue)
|
|
{
|
|
command.Parameters.Add("pFeladatKategoriaId", SDADBType.Int).Value = (int)feladatKategoria;
|
|
}
|
|
|
|
var ds = new DataSet();
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
return ds;
|
|
}
|
|
}
|
|
|
|
public DataSet GetOsztalyCsoportNev(string osztalyCsoportNev, int? id, int tanevId)
|
|
{
|
|
var prams = new List<CommandParameter>
|
|
{
|
|
new CommandParameter(nameof(osztalyCsoportNev), osztalyCsoportNev),
|
|
new CommandParameter(nameof(tanevId), tanevId)
|
|
};
|
|
|
|
string commandText = $@"
|
|
SELECT o.ID OsztalyId, cs.ID CsoportId, ocs.C_FELADATKATEGORIAID KategoriaId
|
|
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
|
LEFT JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.ID
|
|
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.ID
|
|
WHERE ocs.TOROLT = 'F'
|
|
AND ocs.C_TANEVID = @{nameof(tanevId)}
|
|
AND ocs.C_NEV = @{nameof(osztalyCsoportNev)}
|
|
";
|
|
|
|
if (id.HasValue)
|
|
{
|
|
prams.Add(new CommandParameter(nameof(id), id));
|
|
commandText += $" AND ocs.ID <> @{nameof(id)}";
|
|
}
|
|
|
|
return GetData(commandText, prams);
|
|
}
|
|
|
|
public DataSet GetOsztalyBesorolasModositasValidacio(int tanevId, int fromOsztalyId, int toOsztalyId, int tanuloId, DateTime datumTol, DateTime datumIg, OktNevelesiKategoriaEnum feladatKategoria, bool isTorolhetosegVizsgalat, bool isCheckMaxOsztalyReturnKilepes)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.CommandText = "uspValidateOsztalybaSorolasModositasa";
|
|
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
|
|
command.Parameters.Add("pFromOsztalyId", SDADBType.Int).Value = fromOsztalyId;
|
|
command.Parameters.Add("pToOsztalyId", SDADBType.Int).Value = toOsztalyId;
|
|
command.Parameters.Add("pTanuloId", SDADBType.Int).Value = tanuloId;
|
|
command.Parameters.Add("pDatumTol", SDADBType.DateTime).Value = datumTol;
|
|
command.Parameters.Add("pDatumIg", SDADBType.DateTime).Value = datumIg;
|
|
command.Parameters.Add("pFeladatKategoriaId", SDADBType.Int).Value = (int)feladatKategoria;
|
|
command.Parameters.Add("pIsTorolhetosegVizsgalat", isTorolhetosegVizsgalat);
|
|
command.Parameters.Add("pIsCheckMaxOsztalyReturnKilepes", isCheckMaxOsztalyReturnKilepes);
|
|
|
|
var ds = new DataSet();
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
|
|
return ds;
|
|
}
|
|
}
|
|
|
|
public DataSet GetTanuloOsztalyEsFeladatkategoriaList(int tanuloId, int tanevId, int intezmenyId, DateTime? datum = null)
|
|
{
|
|
var result = new DataSet();
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanuloId", tanuloId),
|
|
new CommandParameter("pDatum", datum ?? DateTime.Now),
|
|
new CommandParameter("pIntezmenyId", intezmenyId),
|
|
new CommandParameter("pTanevId", tanevId)
|
|
};
|
|
command.CommandText = $@"
|
|
SELECT
|
|
C_OSZTALYCSOPORTID ID
|
|
,ocs.C_FELADATKATEGORIAID FeladatKategoriaId
|
|
FROM
|
|
T_TANULOCSOPORT_OSSZES tanuloCsoport
|
|
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = tanuloCsoport.C_OSZTALYCSOPORTID AND o.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F'
|
|
WHERE tanuloCsoport.C_TANULOID = :pTanuloId
|
|
AND tanuloCsoport.C_BELEPESDATUM <= :pDatum
|
|
AND (tanuloCsoport.C_KILEPESDATUM IS NULL OR tanuloCsoport.C_KILEPESDATUM >= :pDatum)
|
|
AND tanuloCsoport.C_INTEZMENYID = :pIntezmenyId
|
|
AND tanuloCsoport.C_TANEVID = :pTanevId
|
|
AND tanuloCsoport.TOROLT = 'F'
|
|
";
|
|
|
|
result = GetData(command.CommandText, parameters);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public DateTime? GetVegzosUtolsoNapByOsztalycsoportId(string azonosito, int tanevId, int intezmenyId, int osztalycsoportId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.Parameters.Add(nameof(azonosito), azonosito);
|
|
command.Parameters.Add(nameof(tanevId), tanevId);
|
|
command.Parameters.Add(nameof(intezmenyId), intezmenyId);
|
|
command.Parameters.Add(nameof(osztalycsoportId), osztalycsoportId);
|
|
|
|
command.CommandText = $@"SELECT [kr_{azonosito}_schema].fnGetOsztalyVegzosTanitasiNap({osztalycsoportId}, {intezmenyId}, {tanevId})";
|
|
|
|
var result = command.ExecuteScalar();
|
|
|
|
DateTime? ret = null;
|
|
if (result != null && result != DBNull.Value)
|
|
{
|
|
ret = Convert.ToDateTime(result);
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
public DataSet GetOsztalyCsoportAdatokDataSet()
|
|
{
|
|
using (var sdaCommand = new SDACommand())
|
|
{
|
|
sdaCommand.Connection = UserContext.Instance.SDAConnection;
|
|
sdaCommand.Transaction = UserContext.Instance.SDATransaction;
|
|
sdaCommand.CommandType = CommandType.StoredProcedure;
|
|
sdaCommand.CommandText = "uspGetOsztalyCsoportAdatok";
|
|
|
|
var result = new DataSet();
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = sdaCommand;
|
|
adapter.Fill(result);
|
|
}
|
|
return result;
|
|
}
|
|
}
|
|
}
|
|
}
|