1426 lines
72 KiB
C#
1426 lines
72 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Text;
|
|
using Kreta.Core;
|
|
using Kreta.Core.Logic;
|
|
using Kreta.DataAccess.Interfaces;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.Model.TantargyFelosztas;
|
|
using Kreta.DataAccessManual.ParameterClasses;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Enums;
|
|
using Kreta.Framework;
|
|
using Kreta.Framework.Entities;
|
|
using Kreta.Framework.Util;
|
|
using SDA.DataProvider;
|
|
using SDA.Kreta.Entities;
|
|
|
|
namespace Kreta.DataAccessManual
|
|
{
|
|
internal class TantargyFelosztasDAL : DataAccessBase, ITantargyFelosztasDal
|
|
{
|
|
public TantargyFelosztasDAL(DalHandler handler) : base(handler)
|
|
{
|
|
}
|
|
|
|
public TantargyFelosztasDAL(DalHandler handler, GridParameters parameters) : base(handler, parameters)
|
|
{
|
|
}
|
|
|
|
//A felosztasID azért kell, mert létező tantárgyfelosztás ellenőrzésénél innen tudjuk, hogy ha létezik ugyanilyen felosztás, az ugyanez-e.
|
|
public DataSet GetTantargyFelosztasokKereses(int? tanarId = null, int? csoportId = null, List<int> tantargyIds = null, int? targyKatId = null,
|
|
int? foglalkozasTipusId = null, int? tanevId = null, int? evfolyamId = null, int? feladatKategoriaId = null, int? feladatellatasihelyId = null,
|
|
int? felosztasId = null, double? oraszam = null, bool? isImportalt = null, bool osztalybontasokkal = false, bool kapcsolodoCsoportokkal = false,
|
|
List<int> osztalyCsoportIds = null, int? oktatasiNevelesiFeladatId = null, bool isFromSzervezet = false)
|
|
{
|
|
var commandText = new StringBuilder(@"SELECT [T_FOGLALKOZAS_OSSZES].ID as ID
|
|
,T_TANTARGY_OSSZES.ID TantargyID
|
|
,T_TANTARGY_OSSZES.C_NEV as Tantargy
|
|
,[C_FOGLALKOZASTIPUSA] as FoglalkozasTipusa
|
|
,[C_ORASZAM] as Oraszam
|
|
,T_OSZTALYCSOPORT_OSSZES.C_EVFOLYAMTIPUSA as EvfolyamTipus
|
|
,T_OSZTALYCSOPORT_OSSZES.C_NEV as OsztalyCsoport
|
|
,T_OSZTALYCSOPORT_OSSZES.ID as OsztalyCsoportID
|
|
,T_TANEV_OSSZES.C_NEV as Tanev
|
|
,T_FELHASZNALO_OSSZES.C_NYOMTATASINEV as Tanar
|
|
,T_FELHASZNALO_OSSZES.C_SZULETESIDATUM as TanarSzuletesiIdo
|
|
,IIF(T_FELHASZNALO_OSSZES.C_NEVSORREND = 'T', T_FELHASZNALO_OSSZES.C_UTONEV + ' ' + T_FELHASZNALO_OSSZES.C_VEZETEKNEV
|
|
,T_FELHASZNALO_OSSZES.C_VEZETEKNEV + ' ' + T_FELHASZNALO_OSSZES.C_UTONEV) as TanarElotagNelkul
|
|
,T_FOGLALKOZAS_OSSZES.C_IMPORTALT as IsImportalt
|
|
,csoport.IsOsztalyBontottCsoport
|
|
,csoport.OsztalyBontottCsoportNev
|
|
,CASE WHEN osztaly.ID is null THEN 'False' ELSE 'True' END AS IsOsztaly
|
|
,C_ISOSSZEVONTORA as OsszevontOra
|
|
,C_ISNEMZETISEGI as NemzetisegiOra
|
|
,C_MEGBIZASIORASZAM as MegbizasiOraszam
|
|
,C_TULORASZAM as TuloraSzam
|
|
FROM [T_FOGLALKOZAS_OSSZES]");
|
|
|
|
var parameters = new List<CommandParameter>();
|
|
|
|
if (feladatellatasihelyId.HasValue)
|
|
{
|
|
commandText.Append(@"
|
|
inner join T_OSZTALYCSOPORT_OSSZES on (T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID=T_OSZTALYCSOPORT_OSSZES.ID) AND (T_OSZTALYCSOPORT_OSSZES.C_FELADATELLATASIHELYID = :pFeladatellatasihelyID)
|
|
left join (select OsztalyCsoport.ID from t_osztaly_OSSZES
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = t_osztaly_OSSZES.ID
|
|
where T_OSZTALY_OSSZES.TOROLT = 'F') osztaly on osztaly.id = T_OSZTALYCSOPORT_OSSZES.ID
|
|
left join (select t_csoport_OSSZES.ID,t_Osztalycsoport_OSSZES.C_nev OsztalyBontottCsoportNev, CASE WHEN t_csoport_OSSZES.c_osztalybontasid is null
|
|
THEN 'False'
|
|
ELSE 'True'
|
|
END AS IsOsztalyBontottCsoport from t_csoport_OSSZES inner join t_Osztalycsoport_OSSZES on t_Osztalycsoport_OSSZES.ID = t_csoport_OSSZES.c_osztalybontasid AND (T_OSZTALYCSOPORT_OSSZES.C_FELADATELLATASIHELYID = :pFeladatellatasihelyID)
|
|
where t_Osztalycsoport_OSSZES.Torolt = 'F' and t_csoport_OSSZES.Torolt = 'F') csoport on csoport.id = T_OSZTALYCSOPORT_OSSZES.ID");
|
|
parameters.Add(new CommandParameter("pFeladatellatasihelyID", feladatellatasihelyId.Value));
|
|
}
|
|
else
|
|
{
|
|
commandText.Append(@"
|
|
inner join T_OSZTALYCSOPORT_OSSZES on T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID=T_OSZTALYCSOPORT_OSSZES.ID
|
|
left join (select OsztalyCsoport.ID from t_osztaly_OSSZES
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = t_osztaly_OSSZES.ID
|
|
where T_OSZTALY_OSSZES.TOROLT = 'F') osztaly on osztaly.id = T_OSZTALYCSOPORT_OSSZES.ID
|
|
left join (select t_csoport_OSSZES.ID,t_Osztalycsoport_OSSZES.C_nev OsztalyBontottCsoportNev, CASE WHEN t_csoport_OSSZES.c_osztalybontasid is null
|
|
THEN 'False'
|
|
ELSE 'True'
|
|
END AS IsOsztalyBontottCsoport from t_csoport_OSSZES inner join t_Osztalycsoport_OSSZES on t_Osztalycsoport_OSSZES.ID = t_csoport_OSSZES.c_osztalybontasid
|
|
where t_Osztalycsoport_OSSZES.Torolt = 'F' and t_csoport_OSSZES.Torolt = 'F') csoport on csoport.id = T_OSZTALYCSOPORT_OSSZES.ID");
|
|
}
|
|
|
|
if (oktatasiNevelesiFeladatId.HasValue)
|
|
{
|
|
commandText.Append(@"
|
|
inner join T_FELADATELLATASIHELY_OSSZES on T_FELADATELLATASIHELY_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.C_FELADATELLATASIHELYID");
|
|
|
|
}
|
|
|
|
commandText.Append(@"
|
|
inner join T_TANTARGY_OSSZES on T_FOGLALKOZAS_OSSZES.C_TANTARGYID=T_TANTARGY_OSSZES.ID
|
|
inner join T_TANEV_OSSZES on T_FOGLALKOZAS_OSSZES.C_TANEVID=T_TANEV_OSSZES.id
|
|
inner join T_FELHASZNALO_OSSZES on T_FOGLALKOZAS_OSSZES.C_TANARID=T_FELHASZNALO_OSSZES.ID
|
|
WHERE T_FOGLALKOZAS_OSSZES.TOROLT= 'F'
|
|
AND T_TANTARGY_OSSZES.TOROLT='F' AND T_OSZTALYCSOPORT_OSSZES.TOROLT='F'
|
|
AND T_TANEV_OSSZES.TOROLT='F' AND T_FELHASZNALO_OSSZES.TOROLT='F'");
|
|
|
|
if (felosztasId.HasValue)
|
|
{
|
|
commandText.Append(@"
|
|
AND T_FOGLALKOZAS_OSSZES.ID <> :pFelosztasID");
|
|
parameters.Add(new CommandParameter("pFelosztasID", felosztasId.Value));
|
|
}
|
|
|
|
if (tanarId.HasValue)
|
|
{
|
|
commandText.Append(@"
|
|
AND T_FOGLALKOZAS_OSSZES.C_TANARID = :pTanarId");
|
|
parameters.Add(new CommandParameter("pTanarId", tanarId.Value));
|
|
}
|
|
|
|
if (csoportId.HasValue)
|
|
{
|
|
commandText.Append(@"
|
|
AND (T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID = :pCsoportID");
|
|
|
|
if (osztalybontasokkal)
|
|
{
|
|
// kiválasztott osztályhoz tartozó bontások csoportjai
|
|
commandText.Append(@"
|
|
OR T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID IN
|
|
(SELECT
|
|
cs.ID
|
|
FROM T_CSOPORT_OSSZES cs
|
|
WHERE cs.C_OSZTALYBONTASID = :pCsoportID AND cs.TOROLT = 'F')");
|
|
}
|
|
|
|
if (kapcsolodoCsoportokkal)
|
|
{
|
|
// minden olyan csoport, ahova legaláb egy tanuló be van sorolva
|
|
commandText.Append(@"
|
|
OR T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(:pCsoportID))");
|
|
}
|
|
|
|
commandText.Append(")");
|
|
|
|
parameters.Add(new CommandParameter("pCsoportID", csoportId.Value));
|
|
}
|
|
|
|
if (osztalyCsoportIds?.Count > 0)
|
|
{
|
|
string osztalyCsoportIdsString = string.Join(",", osztalyCsoportIds);
|
|
|
|
commandText.Append(@"
|
|
AND T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID IN (SELECT value FROM STRING_SPLIT(:pOsztalyCsoportIdsString, ','))");
|
|
|
|
parameters.Add(new CommandParameter("pOsztalyCsoportIdsString", osztalyCsoportIdsString));
|
|
}
|
|
|
|
if (tantargyIds?.Count > 0)
|
|
{
|
|
commandText.Append(@"
|
|
AND T_FOGLALKOZAS_OSSZES.C_TANTARGYID IN (SELECT value FROM STRING_SPLIT(:pTantargyIds, ','))");
|
|
parameters.Add(new CommandParameter("pTantargyIds", SqlLogic.ParseListToParameter(tantargyIds)));
|
|
}
|
|
|
|
if (oraszam.HasValue)
|
|
{
|
|
commandText.Append(@"
|
|
AND T_FOGLALKOZAS_OSSZES.C_ORASZAM = :pOraszam");
|
|
parameters.Add(new CommandParameter("pOraszam", oraszam.Value, SDADBType.Double));
|
|
}
|
|
|
|
if (targyKatId.HasValue)
|
|
{
|
|
commandText.Append(@"
|
|
AND T_FOGLALKOZAS_OSSZES.C_TARGYKATEGORIA = :pTargyKategoria");
|
|
parameters.Add(new CommandParameter("pTargyKategoria", targyKatId.Value));
|
|
}
|
|
|
|
if (foglalkozasTipusId.HasValue)
|
|
{
|
|
commandText.Append(@"
|
|
AND T_FOGLALKOZAS_OSSZES.C_FOGLALKOZASTIPUSA = :pFoglalkozasTipus");
|
|
parameters.Add(new CommandParameter("pFoglalkozasTipus", foglalkozasTipusId.Value));
|
|
}
|
|
|
|
if (tanevId.IsEntityId())
|
|
{
|
|
commandText.Append(@"
|
|
AND T_FOGLALKOZAS_OSSZES.C_TANEVID = :pTanevID");
|
|
parameters.Add(new CommandParameter("pTanevID", tanevId.Value));
|
|
}
|
|
|
|
if (evfolyamId.HasValue)
|
|
{
|
|
commandText.Append(@"
|
|
AND T_OSZTALYCSOPORT_OSSZES.C_EVFOLYAMTIPUSA = :pEvfolyamID");
|
|
parameters.Add(new CommandParameter("pEvfolyamID", evfolyamId.Value));
|
|
}
|
|
if (isImportalt.HasValue)
|
|
{
|
|
commandText.Append(@"
|
|
AND T_FOGLALKOZAS_OSSZES.C_IMPORTALT = :pIsImportalt");
|
|
parameters.Add(new CommandParameter("pIsImportalt", isImportalt.Value ? "T" : "F"));
|
|
}
|
|
if (feladatellatasihelyId.HasValue)
|
|
{
|
|
commandText.Append(@"
|
|
AND T_OSZTALYCSOPORT_OSSZES.C_FELADATELLATASIHELYID = :pFeladatellatasihelyID");
|
|
}
|
|
|
|
if (feladatKategoriaId.IsEntityId())
|
|
{
|
|
commandText.Append(@"
|
|
AND T_OSZTALYCSOPORT_OSSZES.C_FELADATKATEGORIAID = :pFeladatKategoriaId");
|
|
parameters.Add(new CommandParameter("pFeladatKategoriaId", feladatKategoriaId.Value));
|
|
}
|
|
|
|
if (oktatasiNevelesiFeladatId.HasValue)
|
|
{
|
|
commandText.Append(@"
|
|
AND T_FELADATELLATASIHELY_OSSZES.C_OKTATASINEVELESIFELADATTIPUS = :pOktatasiNevelesiFeladatId");
|
|
parameters.Add(new CommandParameter("pOktatasiNevelesiFeladatId", oktatasiNevelesiFeladatId.Value));
|
|
}
|
|
|
|
if (isFromSzervezet)
|
|
{
|
|
commandText.Append(@" AND C_FOGLALKOZASTIPUSA = :pDualisFoglalkozasTipusId");
|
|
parameters.Add(new CommandParameter("pDualisFoglalkozasTipusId", (int)FoglalkozasTipusEnum.dualis_foglalkozas));
|
|
}
|
|
else
|
|
{
|
|
commandText.Append(@" AND C_FOGLALKOZASTIPUSA <> :pDualisFoglalkozasTipusId");
|
|
parameters.Add(new CommandParameter("pDualisFoglalkozasTipusId", (int)FoglalkozasTipusEnum.dualis_foglalkozas));
|
|
}
|
|
|
|
DataSet ds = GetData(commandText.ToString(), parameters, "FoglalkozasTipusa,EvfolyamTipus", booleanColumns: "OsszevontOra,NemzetisegiOra");
|
|
|
|
GetOraszamSUM(ds, commandText.ToString(), parameters);
|
|
|
|
return ds;
|
|
}
|
|
|
|
public void GetOraszamSUM(DataSet ds, string commandText, List<CommandParameter> commandParameters)
|
|
{
|
|
DataTable dt = ds.Tables[0];
|
|
|
|
dt.ExtendedProperties["Oraszam_SUM"] = 0;
|
|
|
|
if (dt.Rows.Count > 0)
|
|
{
|
|
using (SDACommand command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.Text;
|
|
command.CommandText = $"SELECT SUM(Oraszam) AS Oraszam_SUM FROM ({commandText}) AS query";
|
|
|
|
foreach (CommandParameter parameter in commandParameters)
|
|
{
|
|
command.Parameters.Add(parameter.Name, parameter.Value);
|
|
}
|
|
|
|
DataTable sumDt = new DataTable();
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(sumDt);
|
|
}
|
|
|
|
if (sumDt.Rows.Count == 1)
|
|
{
|
|
dt.ExtendedProperties["Oraszam_SUM"] = sumDt.Rows[0]["Oraszam_SUM"];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public DataSet GetTTFToExport(int tanevId)
|
|
{
|
|
return GetTTFToExport(tanevId, null, null, null, null, null, null, null, null, null, null, false, false, false);
|
|
}
|
|
|
|
public DataSet GetTTFToExport(int tanevId, int? tanarId, int? csoportId, int? tantargyId, int? targyKatId,
|
|
int? foglalkozasTipusId, int? feladatKategoriaId, int? feladatellatasiHelyId, int? evfolyamId, double? oraszam, bool? isImportalt, bool osztalybontasokkal, bool kapcsolodoCsoportokkal, bool isFromSzervezet)
|
|
{
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId)
|
|
};
|
|
|
|
var commandText = new StringBuilder($@"
|
|
SELECT
|
|
Adat.Tantargy Tantargy
|
|
,SUM(Adat.Oraszam) Oraszam
|
|
,Adat.Osztaly Osztaly
|
|
,Adat.Tanar Tanar
|
|
,Adat.TanarSzuletesiIdo TanarSzuletesiIdo
|
|
,Adat.CsoportNev CsoportNev
|
|
,Adat.IsOsszevontOra IsOsszevontOra
|
|
,Adat.IsNemzetisegiOra IsNemzetisegiOra
|
|
,Adat.MegbizasiOraszam MegbizasiOraszam
|
|
,Adat.Tuloraszam Tuloraszam
|
|
FROM
|
|
(SELECT
|
|
tantargy.C_NEV Tantargy
|
|
,foglalkozas.C_ORASZAM Oraszam
|
|
,CASE
|
|
WHEN osztaly.ID IS NOT NULL THEN osztaly.OsztalyNev
|
|
ELSE csoport.OsztalyBontottCsoportNev
|
|
END Osztaly
|
|
,felhasznalo .C_NYOMTATASINEV Tanar
|
|
,felhasznalo .C_SZULETESIDATUM TanarSzuletesiIdo
|
|
,csoport.CsoportNev CsoportNev
|
|
,foglalkozas.C_ISOSSZEVONTORA IsOsszevontOra
|
|
,foglalkozas.C_ISNEMZETISEGI IsNemzetisegiOra
|
|
,foglalkozas.C_MEGBIZASIORASZAM MegbizasiOraszam
|
|
,foglalkozas.C_TULORASZAM Tuloraszam
|
|
FROM
|
|
T_FOGLALKOZAS_OSSZES foglalkozas
|
|
INNER JOIN
|
|
T_TANTARGY_OSSZES tantargy ON
|
|
tantargy.ID = foglalkozas.C_TANTARGYID
|
|
AND tantargy.TOROLT = 'F'
|
|
LEFT JOIN
|
|
(SELECT
|
|
osztalyCsoport.ID ID
|
|
,osztalyCsoport.C_NEV OsztalyNev
|
|
FROM
|
|
T_OSZTALY_OSSZES osztaly
|
|
INNER JOIN
|
|
T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON
|
|
osztalyCsoport.TOROLT = 'F'
|
|
AND osztalyCsoport.ID = osztaly.ID
|
|
WHERE
|
|
osztaly.TOROLT = 'F' " +
|
|
(feladatKategoriaId.IsEntityId() ? @"
|
|
AND osztalyCsoport.C_FELADATKATEGORIAID = @OktNevKatTipus" : string.Empty) +
|
|
(feladatellatasiHelyId.HasValue ? @"
|
|
AND osztalyCsoport.C_FELADATELLATASIHELYID = :pFeladatellatasihelyID" : string.Empty) + @"
|
|
) osztaly ON
|
|
osztaly.ID = foglalkozas.C_OSZTALYCSOPORTID
|
|
LEFT JOIN
|
|
(SELECT
|
|
osztalyCsoport.ID ID
|
|
,osztalyCsoport.C_NEV CsoportNev
|
|
,bontas.C_NEV OsztalyBontottCsoportNev
|
|
FROM
|
|
T_CSOPORT_OSSZES csoport
|
|
INNER JOIN
|
|
T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON
|
|
osztalyCsoport.ID = csoport.ID
|
|
AND osztalyCsoport.TOROLT = 'F' " +
|
|
(feladatKategoriaId.IsEntityId() ? @"
|
|
AND osztalyCsoport.C_FELADATKATEGORIAID = @OktNevKatTipus" : string.Empty) +
|
|
(feladatellatasiHelyId.HasValue ? @"
|
|
AND osztalyCsoport.C_FELADATELLATASIHELYID = :pFeladatellatasihelyID" : string.Empty) + @"
|
|
LEFT JOIN
|
|
T_OSZTALYCSOPORT_OSSZES bontas ON
|
|
bontas.ID = csoport.C_OSZTALYBONTASID " +
|
|
(feladatKategoriaId.IsEntityId() ? @"
|
|
AND bontas.C_FELADATKATEGORIAID = @OktNevKatTipus" : string.Empty) +
|
|
(feladatellatasiHelyId.HasValue ? @"
|
|
AND bontas.C_FELADATELLATASIHELYID = :pFeladatellatasihelyID" : string.Empty) + @"
|
|
WHERE
|
|
csoport.TOROLT = 'F' "
|
|
+ (isFromSzervezet ? "AND csoport.C_TIPUSA = :pDualisKepzesiCsoportId"
|
|
: "AND csoport.C_TIPUSA <> :pDualisKepzesiCsoportId") +
|
|
|
|
@") csoport ON
|
|
csoport.ID = foglalkozas.C_OSZTALYCSOPORTID
|
|
INNER JOIN
|
|
T_FELHASZNALO_OSSZES felhasznalo ON
|
|
felhasznalo.ID = foglalkozas.C_TANARID
|
|
AND felhasznalo.TOROLT = 'F'
|
|
WHERE
|
|
foglalkozas.C_TANEVID = :pTanevId
|
|
AND foglalkozas.TOROLT = 'F' " +
|
|
(csoportId.HasValue ? "AND (foglalkozas.C_OSZTALYCSOPORTID = :pCsoportID" +
|
|
(osztalybontasokkal ? @" OR foglalkozas.C_OSZTALYCSOPORTID IN
|
|
(SELECT
|
|
cs.ID
|
|
FROM T_CSOPORT_OSSZES cs
|
|
WHERE cs.C_OSZTALYBONTASID = :pCsoportID AND cs.TOROLT = 'F')" : string.Empty) +
|
|
(kapcsolodoCsoportokkal ? " OR foglalkozas.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(:pCsoportID))" : string.Empty) + ")"
|
|
: string.Empty) +
|
|
(tantargyId.HasValue ? " AND foglalkozas.C_TANTARGYID = :pTantargyId" : string.Empty) +
|
|
(tanarId.HasValue ? " AND foglalkozas.C_TANARID = :pTanarId" : string.Empty) +
|
|
(oraszam.HasValue ? " AND foglalkozas.C_ORASZAM = :pOraszam" : string.Empty) +
|
|
(isFromSzervezet ?
|
|
" AND foglalkozas.C_FOGLALKOZASTIPUSA = :pDualisFoglalkozasTipusId "
|
|
: " AND foglalkozas.C_FOGLALKOZASTIPUSA <> :pDualisFoglalkozasTipusId ")
|
|
+ @") Adat
|
|
GROUP BY
|
|
Adat.Tantargy
|
|
,Adat.Osztaly
|
|
,Adat.Tanar
|
|
,Adat.TanarSzuletesiIdo
|
|
,Adat.CsoportNev
|
|
,Adat.IsOsszevontOra
|
|
,Adat.IsNemzetisegiOra
|
|
,Adat.MegbizasiOraszam
|
|
,Adat.Tuloraszam
|
|
ORDER BY
|
|
Adat.Tanar
|
|
,Adat.TanarSzuletesiIdo");
|
|
|
|
if (feladatellatasiHelyId.HasValue)
|
|
{
|
|
parameters.Add(new CommandParameter("pFeladatellatasihelyID", feladatellatasiHelyId.Value));
|
|
}
|
|
|
|
if (csoportId.HasValue)
|
|
{
|
|
parameters.Add(new CommandParameter("pCsoportID", csoportId.Value));
|
|
}
|
|
|
|
if (tantargyId.HasValue)
|
|
{
|
|
parameters.Add(new CommandParameter("pTantargyId", tantargyId.Value));
|
|
}
|
|
|
|
if (tanarId.HasValue)
|
|
{
|
|
parameters.Add(new CommandParameter("pTanarId", tanarId.Value));
|
|
}
|
|
|
|
if (oraszam.HasValue)
|
|
{
|
|
parameters.Add(new CommandParameter("pOraszam", oraszam.Value, SDADBType.Double));
|
|
}
|
|
|
|
if (feladatKategoriaId.IsEntityId())
|
|
{
|
|
parameters.Add(new CommandParameter("OktNevKatTipus", feladatKategoriaId));
|
|
}
|
|
|
|
parameters.Add(new CommandParameter("pDualisKepzesiCsoportId", (int)CsoportTipusEnum.dualis_kepzesi_csoport));
|
|
parameters.Add(new CommandParameter("pDualisFoglalkozasTipusId", (int)FoglalkozasTipusEnum.dualis_foglalkozas));
|
|
|
|
return GetData(commandText.ToString(), parameters);
|
|
}
|
|
|
|
/// TODO(@DevKornél): schema string concat-al foglalkozni kell, url escape minimum
|
|
public DataSet GetFormazottTTFExport(int intezmenyId, int tanevId, int formatMode, string azonosito)
|
|
{
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("intezmenyId", intezmenyId),
|
|
new CommandParameter("tanevId", tanevId),
|
|
new CommandParameter("formatMode", formatMode)
|
|
,new CommandParameter("OktNevKatTipus", (int)OktNevelesiKategoriaEnum.NevelesOktatas)
|
|
};
|
|
|
|
var ds = new DataSet();
|
|
|
|
var commandText = $@"
|
|
SELECT DISTINCT
|
|
Tanar.C_NYOMTATASINEV + ISNULL(' - ' + Tanar.C_OKTATASIAZONOSITO, '') AS TanarNeve
|
|
,MunkakorDictionaries.C_NAME AS Munkakor
|
|
,CONCAT(
|
|
IIF(mk.C_FOGLALKOZTATASTIPUS IS NULL,
|
|
N'Teljes munkaidős',
|
|
FoglalkoztatasDictionaries.C_NAME),
|
|
N'',
|
|
IIF(mk.C_MUNKAIDOKEDVEZMENYOKA IS NOT NULL AND mk.C_MUNKAIDOKEDVEZMENYOKA <> 6763,
|
|
N', ' + MunkaidokedvezmenyokaDictionaries.C_NAME, N''),
|
|
N'',
|
|
IIF(mk.C_VEZETOIORASZAMOK IS NOT NULL AND mk.C_VEZETOIORASZAMOK <> 6571,
|
|
', ' + VezetoiOraszamOkaDictionaries.C_NAME, N''),
|
|
N'',
|
|
IIF(mk.C_BESOROLASIFOKOZAT IS NOT NULL AND mk.C_BESOROLASIFOKOZAT <> 3040,
|
|
', ' + KepesitesDictionaries.C_NAME, N'')
|
|
) AS PedagogusAdatok
|
|
,[KR_{azonosito}_Schema].fnGetDokumentumPedagogusOraszam(Tanar.ID, @formatMode) AS PedagogusMunkaideje
|
|
,Tantargy.C_NEV AS TantargyNev
|
|
,mk.C_MUNKAIDOKEDVEZMENYORASZAM AS PedagogusOrakedvezmenye
|
|
,';' +
|
|
STUFF(
|
|
(SELECT DISTINCT CAST(TTF0.ID AS nvarchar(max)) + ';'
|
|
FROM T_FOGLALKOZAS_OSSZES TTF0
|
|
WHERE C_INTEZMENYID = @intezmenyId
|
|
AND TTF0.C_TANARID = Tanar.ID
|
|
AND TTF0.C_TANTARGYID = Tantargy.ID
|
|
AND TTF0.C_TANEVID = @tanevId
|
|
AND TTF0.TOROLT = 'F'
|
|
FOR XML PATH ('')),
|
|
1, 1, '') AS TTFIds
|
|
FROM T_FELHASZNALO_OSSZES Tanar
|
|
INNER JOIN T_MUNKAUGYIADATOK_OSSZES mk ON mk.C_ALKALMAZOTTID = Tanar.ID
|
|
AND mk.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES MunkakorDictionaries ON MunkakorDictionaries.ID = mk.C_MUNKAKORTIPUSA
|
|
AND MunkakorDictionaries.C_TANEVID = @tanevId
|
|
AND MunkakorDictionaries.C_INTEZMENYID = Tanar.C_INTEZMENYID
|
|
AND MunkakorDictionaries.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES FoglalkoztatasDictionaries ON FoglalkoztatasDictionaries.ID = mk.C_FOGLALKOZTATASTIPUS
|
|
AND FoglalkoztatasDictionaries.C_TANEVID = @tanevId
|
|
AND FoglalkoztatasDictionaries.C_INTEZMENYID = Tanar.C_INTEZMENYID
|
|
AND FoglalkoztatasDictionaries.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES MunkaidokedvezmenyokaDictionaries ON MunkaidokedvezmenyokaDictionaries.ID = mk.C_MUNKAIDOKEDVEZMENYOKA
|
|
AND MunkaidokedvezmenyokaDictionaries.C_TANEVID = @tanevId
|
|
AND MunkaidokedvezmenyokaDictionaries.C_INTEZMENYID = Tanar.C_INTEZMENYID
|
|
AND MunkaidokedvezmenyokaDictionaries.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES VezetoiOraszamOkaDictionaries ON VezetoiOraszamOkaDictionaries.ID = mk.C_VEZETOIORASZAMOK
|
|
AND VezetoiOraszamOkaDictionaries.C_TANEVID = @tanevId
|
|
AND VezetoiOraszamOkaDictionaries.C_INTEZMENYID = Tanar.C_INTEZMENYID
|
|
AND VezetoiOraszamOkaDictionaries.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES KepesitesDictionaries ON KepesitesDictionaries.ID = mk.C_BESOROLASIFOKOZAT
|
|
AND KepesitesDictionaries.C_TANEVID = @tanevId
|
|
AND KepesitesDictionaries.C_INTEZMENYID = Tanar.C_INTEZMENYID
|
|
AND KepesitesDictionaries.TOROLT = 'F'
|
|
INNER JOIN T_FOGLALKOZAS_OSSZES TTF ON TTF.C_TANARID = Tanar.ID
|
|
AND TTF.C_TANEVID = Tanar.C_TANEVID
|
|
AND TTF.C_INTEZMENYID = Tanar.C_INTEZMENYID
|
|
AND TTF.TOROLT = 'F'
|
|
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.ID = TTF.C_TANTARGYID
|
|
AND Tantargy.C_TANEVID = TTF.C_TANEVID
|
|
AND Tantargy.C_INTEZMENYID = TTF.C_INTEZMENYID
|
|
AND Tantargy.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.C_INTEZMENYID = TTF.C_INTEZMENYID
|
|
AND OsztalyCsoport.C_TANEVID = TTF.C_TANEVID
|
|
AND OsztalyCsoport.ID = TTF.C_OSZTALYCSOPORTID
|
|
AND OsztalyCsoport.TOROLT = 'F'
|
|
AND OsztalyCsoport.C_FELADATKATEGORIAID = @OktNevKatTipus
|
|
WHERE Tanar.C_TANEVID = @tanevId
|
|
AND Tanar.C_INTEZMENYID = @intezmenyId
|
|
AND Tanar.TOROLT = 'F'";
|
|
|
|
ds.Tables.Add(GetData(commandText, parameters).Tables[0].Copy());
|
|
|
|
commandText = @"
|
|
SELECT DISTINCT
|
|
Tanar.C_NYOMTATASINEV + ISNULL(' - ' + Tanar.C_OKTATASIAZONOSITO, '') AS TanarNeve
|
|
,MunkakorDictionaries.C_NAME AS Munakakor
|
|
,Tantargy.C_NEV AS TantargyNev
|
|
,TTF.C_ORASZAM AS Oraszam
|
|
,OsztalyCsoport.C_NEV AS OsztalyCsoportNev
|
|
FROM T_FELHASZNALO_OSSZES Tanar
|
|
INNER JOIN T_MUNKAUGYIADATOK_OSSZES MunkaugyiAdatok ON MunkaugyiAdatok.C_ALKALMAZOTTID = Tanar.ID
|
|
AND MunkaugyiAdatok.C_INTEZMENYID = Tanar.C_INTEZMENYID
|
|
AND MunkaugyiAdatok.C_TANEVID = Tanar.C_TANEVID
|
|
AND MunkaugyiAdatok.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES MunkakorDictionaries ON MunkakorDictionaries.ID = MunkaugyiAdatok.C_MUNKAKORTIPUSA
|
|
AND MunkakorDictionaries.C_INTEZMENYID = Tanar.C_INTEZMENYID
|
|
AND MunkakorDictionaries.C_TANEVID = Tanar.C_TANEVID
|
|
AND MunkakorDictionaries.TOROLT = 'F'
|
|
INNER JOIN T_FOGLALKOZAS_OSSZES TTF ON TTF.C_TANARID = Tanar.ID
|
|
AND TTF.C_INTEZMENYID = Tanar.C_INTEZMENYID
|
|
AND TTF.C_TANEVID = Tanar.C_TANEVID
|
|
AND TTF.TOROLT = 'F'
|
|
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.ID = TTF.C_TANTARGYID
|
|
AND Tantargy.C_INTEZMENYID = TTF.C_INTEZMENYID
|
|
AND Tantargy.C_TANEVID = TTF.C_TANEVID
|
|
AND Tantargy.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = TTF.C_OSZTALYCSOPORTID
|
|
AND OsztalyCsoport.C_INTEZMENYID = TTF.C_INTEZMENYID
|
|
AND OsztalyCsoport.C_TANEVID = TTF.C_TANEVID
|
|
AND OsztalyCsoport.TOROLT = 'F'
|
|
AND OsztalyCsoport.C_FELADATKATEGORIAID = @OktNevKatTipus
|
|
WHERE Tanar.C_INTEZMENYID = @intezmenyId
|
|
AND Tanar.C_TANEVID = @tanevId
|
|
AND Tanar.TOROLT = 'F'";
|
|
|
|
var ds0 = GetData(commandText, parameters);
|
|
ds0.Tables[0].TableName = "1";
|
|
|
|
ds.Tables.Add(ds0.Tables[0].Copy());
|
|
|
|
commandText = @"
|
|
SELECT
|
|
OsztalyCsoport.C_NEV AS OsztalyNev
|
|
FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport
|
|
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = OsztalyCsoport.ID
|
|
AND o.TOROLT = 'F'
|
|
WHERE OsztalyCsoport.C_TANEVID = @tanevId
|
|
AND OsztalyCsoport.C_INTEZMENYID = @intezmenyId
|
|
AND OsztalyCsoport.TOROLT = 'F'
|
|
AND OsztalyCsoport.C_FELADATKATEGORIAID = @OktNevKatTipus
|
|
ORDER BY
|
|
OsztalyCsoport.C_NEV
|
|
,OsztalyCsoport.C_EVFOLYAMTIPUSA";
|
|
|
|
var ds1 = GetData(commandText, parameters);
|
|
ds1.Tables[0].TableName = "2";
|
|
|
|
ds.Tables.Add(ds1.Tables[0].Copy());
|
|
|
|
commandText = @"
|
|
SELECT
|
|
Csoport.C_NEV AS CsoportNev
|
|
,KapcsolodoOsztaly.C_NEV AS KapcsolodoOsztalyNeve
|
|
FROM T_OSZTALYCSOPORT_OSSZES Csoport
|
|
INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = Csoport.ID
|
|
AND cs.TOROLT = 'F'
|
|
LEFT JOIN (
|
|
SELECT
|
|
ocs.C_NEV
|
|
,ocs.ID
|
|
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
|
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.ID
|
|
AND o.TOROLT = 'F'
|
|
WHERE ocs.C_INTEZMENYID = @intezmenyId
|
|
AND ocs.C_TANEVID = @tanevId
|
|
AND ocs.TOROLT = 'F'
|
|
AND ocs.C_FELADATKATEGORIAID = @OktNevKatTipus) KapcsolodoOsztaly ON KapcsolodoOsztaly.ID = cs.C_OSZTALYBONTASID
|
|
WHERE Csoport.C_TANEVID = @tanevId
|
|
AND Csoport.C_INTEZMENYID = @intezmenyId
|
|
AND Csoport.TOROLT = 'F'
|
|
AND Csoport.C_FELADATKATEGORIAID = @OktNevKatTipus
|
|
ORDER BY
|
|
Csoport.C_NEV
|
|
,Csoport.C_EVFOLYAMTIPUSA";
|
|
|
|
var ds2 = GetData(commandText, parameters);
|
|
ds2.Tables[0].TableName = "3";
|
|
|
|
ds.Tables.Add(ds2.Tables[0].Copy());
|
|
|
|
return ds;
|
|
}
|
|
|
|
public DataSet GetTanoranKivuliFoglalkozasokToExport(int tanev)
|
|
{
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("OktNevKatTipus", (int)OktNevelesiKategoriaEnum.NevelesOktatas)
|
|
};
|
|
|
|
var commanText = @"SELECT T_TANTARGY.C_NEV as Tantargy
|
|
,[C_ORASZAM] as Oraszam
|
|
,CASE WHEN osztaly.ID is not null
|
|
THEN osztaly.OsztalyNev
|
|
ELSE csoport.OsztalyBontottCsoportNev
|
|
END AS Osztaly
|
|
,T_FELHASZNALO.C_NYOMTATASINEV as Tanar,
|
|
csoport.CsoportNev
|
|
|
|
FROM [T_FOGLALKOZAS_OSSZES]
|
|
inner join T_TANTARGY_OSSZES on T_FOGLALKOZAS.C_TANTARGYID=T_TANTARGY.ID
|
|
|
|
left join (select T_OSZTALYCSOPORT.ID, T_OSZTALYCSOPORT.C_NEV OsztalyNev
|
|
from t_osztaly_OSSZES
|
|
inner join T_OSZTALYCSOPORT_OSSZES ON t_osztaly.id = T_OSZTALYCSOPORT.ID
|
|
AND T_OSZTALYCSOPORT.C_FELADATKATEGORIAID = @OktNevKatTipus
|
|
|
|
) osztaly on T_FOGLALKOZAS.C_OSZTALYCSOPORTID=osztaly.ID
|
|
|
|
left join (select t_csoport.ID, csoport.c_nev CsoportNev, bontas.C_nev OsztalyBontottCsoportNev
|
|
from t_csoport_osszes
|
|
inner join T_OSZTALYCSOPORT_OSSZES csoport ON t_csoport.id = csoport.ID
|
|
left join t_Osztalycsoport_OSSZES bontas on bontas.ID = t_csoport.c_osztalybontasid) AND bontas.C_FELADATKATEGORIAID = @OktNevKatTipus
|
|
csoport on csoport.id = T_FOGLALKOZAS.C_OSZTALYCSOPORTID
|
|
inner join T_FELHASZNALO on T_FOGLALKOZAS.C_TANARID=T_FELHASZNALO.ID
|
|
WHERE T_FOGLALKOZAS.C_FOGLALKOZASTIPUSA not in (1368,1339)";
|
|
return GetData(commanText, parameters);
|
|
}
|
|
|
|
public void DeleteAllTargyFelosztas(int tanevId)
|
|
{
|
|
using (SDACommand command = UserContext.Instance.SDAConnection.CreateCommand())
|
|
{
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
command.Parameters.Add("tanevId", tanevId);
|
|
|
|
command.CommandText = "sp_DeleteAllTTF";
|
|
command.ExecuteNonQuery();
|
|
}
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public DataSet GetTantargyFelosztasAdatok(int felosztasId)
|
|
{
|
|
var parameters = new List<CommandParameter>() { new CommandParameter("pFelosztasID", felosztasId) };
|
|
var commandText = @"
|
|
SELECT
|
|
T_FOGLALKOZAS_OSSZES.C_ORASZAM AS Oraszam
|
|
,T_FOGLALKOZAS_OSSZES.C_FOGLALKOZASTIPUSA AS FoglalkozasTipusa
|
|
,T_TANEV_OSSZES.C_NEV AS Tanev
|
|
,T_TANTARGY_OSSZES.C_NEV AS Tantargy
|
|
,T_FELHASZNALO_OSSZES.C_NYOMTATASINEV AS MunkavallaloNev
|
|
,T_MUNKAUGYIADATOK_OSSZES.C_MUNKAKORTIPUSA AS MunkakorTipus
|
|
,T_MUKODESIHELY_OSSZES.C_NEV AS FeladatellatasiHelyNev
|
|
,T_OSZTALYCSOPORT_OSSZES.C_NEV AS OsztalyCsoportNev
|
|
,T_FOGLALKOZAS_OSSZES.C_ISOSSZEVONTORA AS OsszevontOra
|
|
,T_FOGLALKOZAS_OSSZES.C_ISNEMZETISEGI AS NemzetisegiOra
|
|
,T_FOGLALKOZAS_OSSZES.C_MEGBIZASIORASZAM AS MegbizasiOraszam
|
|
,T_FOGLALKOZAS_OSSZES.C_TULORASZAM AS TuloraSzam
|
|
FROM [T_FOGLALKOZAS_OSSZES]
|
|
INNER JOIN T_FELHASZNALO_OSSZES ON T_FOGLALKOZAS_OSSZES.C_TANARID=T_FELHASZNALO_OSSZES.ID
|
|
AND T_FELHASZNALO_OSSZES.TOROLT = 'F'
|
|
INNER JOIN T_TANTARGY_OSSZES ON T_FOGLALKOZAS_OSSZES.C_TANTARGYID=T_TANTARGY_OSSZES.ID
|
|
AND T_TANTARGY_OSSZES.TOROLT = 'F'
|
|
INNER JOIN T_ALKALMAZOTT_OSSZES ON T_FELHASZNALO_OSSZES.ID=T_ALKALMAZOTT_OSSZES.ID
|
|
AND T_ALKALMAZOTT_OSSZES.TOROLT = 'F'
|
|
INNER JOIN T_MUNKAUGYIADATOK_OSSZES ON T_MUNKAUGYIADATOK_OSSZES.C_ALKALMAZOTTID = T_ALKALMAZOTT_OSSZES.ID
|
|
AND T_MUNKAUGYIADATOK_OSSZES.TOROLT = 'F'
|
|
LEFT JOIN T_FELADATELLATASIHELY_OSSZES ON T_MUNKAUGYIADATOK_OSSZES.C_FELADATELLATASIHELYID=T_FELADATELLATASIHELY_OSSZES.ID
|
|
AND T_FELADATELLATASIHELY_OSSZES.TOROLT = 'F'
|
|
LEFT JOIN T_MUKODESIHELY_OSSZES ON T_FELADATELLATASIHELY_OSSZES.C_MUKODESIHELYID = T_MUKODESIHELY_OSSZES.ID
|
|
AND T_MUKODESIHELY_OSSZES.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ON T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID=T_OSZTALYCSOPORT_OSSZES.ID
|
|
AND T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F'
|
|
INNER JOIN T_TANEV_OSSZES ON T_FOGLALKOZAS_OSSZES.C_TANEVID=T_TANEV_OSSZES.id
|
|
AND T_TANEV_OSSZES.TOROLT = 'F'
|
|
WHERE T_FOGLALKOZAS_OSSZES.TOROLT='F'
|
|
AND T_FOGLALKOZAS_OSSZES.ID = :pFelosztasID";
|
|
var ds = GetData(commandText, parameters, booleanColumns: "OsszevontOra,NemzetisegiOra");
|
|
return ds;
|
|
}
|
|
|
|
public DataSet GetTantargyFoglalkozasai(int tantargyId, int tanevId)
|
|
{
|
|
List<CommandParameter> paramList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTantargyID", tantargyId),
|
|
new CommandParameter("pTanevId", tanevId)
|
|
};
|
|
|
|
string CommandText = @"
|
|
select
|
|
T_FOGLALKOZAS_OSSZES.ID AS ID,
|
|
T_FOGLALKOZAS_OSSZES.C_ORASZAM AS Oraszam,
|
|
T_FOGLALKOZAS_OSSZES.C_FOGLALKOZASTIPUSA AS Tipus,
|
|
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV AS Tanar,
|
|
T_OSZTALYCSOPORT_OSSZES.C_NEV AS OsztalyCsoport
|
|
from T_FOGLALKOZAS_OSSZES
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ON T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID=T_OSZTALYCSOPORT_OSSZES.ID
|
|
INNER JOIN T_FELHASZNALO_OSSZES ON T_FOGLALKOZAS_OSSZES.C_TANARID =T_FELHASZNALO_OSSZES.ID
|
|
WHERE
|
|
T_FOGLALKOZAS_OSSZES.TOROLT='F' AND T_FOGLALKOZAS_OSSZES.C_TANTARGYID=:pTantargyID AND T_FOGLALKOZAS_OSSZES.C_TANEVID = :pTanevId
|
|
";
|
|
|
|
DataSet ds = GetData(CommandText, paramList, "Tipus");
|
|
return ds;
|
|
}
|
|
|
|
public DataSet GetFoglalkozasok(List<int> csoportTipusok, int? tanarId = null)
|
|
{
|
|
string csoportTipusList = string.Join(", ", csoportTipusok);
|
|
|
|
var commandText = new StringBuilder(@"
|
|
SELECT
|
|
[T_FOGLALKOZAS_OSSZES].ID as ID
|
|
,T_TANTARGY_OSSZES.C_NEV as Tantargy
|
|
,T_OSZTALYCSOPORT_OSSZES.C_NEV as OsztalyCsoportNev
|
|
,CASE
|
|
WHEN osztaly.ID is not null or (osztaly.ID is null and csoport.C_TIPUSA in (:pCsoportTipusList))
|
|
THEN 'T'
|
|
ELSE 'F'
|
|
END AS IsOsztalyOrOsztalyJelleguCsoport
|
|
FROM [T_FOGLALKOZAS_OSSZES]
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ON T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID=T_OSZTALYCSOPORT_OSSZES.ID AND T_OSZTALYCSOPORT_OSSZES.C_FELADATKATEGORIAID = @OktNevKatTipus
|
|
LEFT JOIN (SELECT * FROM t_osztaly_OSSZES
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = t_osztaly_OSSZES.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @OktNevKatTipus
|
|
WHERE T_OSZTALY_OSSZES.TOROLT = 'F') osztaly ON osztaly.ID = T_OSZTALYCSOPORT_OSSZES.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
|
|
) csoport ON csoport.id = T_OSZTALYCSOPORT_OSSZES.ID
|
|
INNER JOIN T_TANTARGY_OSSZES ON T_FOGLALKOZAS_OSSZES.C_TANTARGYID=T_TANTARGY_OSSZES.ID
|
|
INNER JOIN T_FELHASZNALO_OSSZES ON T_FOGLALKOZAS_OSSZES.C_TANARID=T_FELHASZNALO_OSSZES.ID
|
|
WHERE
|
|
T_FOGLALKOZAS_OSSZES.TOROLT = 'F'
|
|
AND T_TANTARGY_OSSZES.TOROLT = 'F'
|
|
AND T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F'
|
|
AND T_OSZTALYCSOPORT_OSSZES.C_FELADATKATEGORIAID = @OktNevKatTipus
|
|
AND T_FELHASZNALO_OSSZES.TOROLT = 'F'
|
|
");
|
|
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pCsoportTipusList", csoportTipusList)
|
|
,new CommandParameter("OktNevKatTipus", (int)OktNevelesiKategoriaEnum.NevelesOktatas)
|
|
};
|
|
|
|
if (tanarId.HasValue)
|
|
{
|
|
commandText.Append(@"
|
|
AND T_FOGLALKOZAS_OSSZES.C_TANARID = :pTanarId");
|
|
parameters.Add(new CommandParameter("pTanarId", tanarId.Value));
|
|
}
|
|
|
|
DataSet ds = GetData(commandText.ToString(), parameters);
|
|
return ds;
|
|
}
|
|
|
|
public DataSet GetFoglalkozasok(int tanevId, int? tanarId = null, int? osztalyId = null, bool? isOsszefuggoSzakGyak = null, bool filterNincsBeloleOra = false, bool isKapcsolodoCsoportok = false)
|
|
{
|
|
var commandText = new StringBuilder($@"
|
|
SELECT
|
|
Foglalkozas.ID ID
|
|
,Tantargy.C_NEV Tantargy
|
|
,OsztalyCsoport.C_NEV OsztalyCsoportNev
|
|
,Foglalkozas.C_OSZTALYCSOPORTID AS OsztalyCsoportId
|
|
,(CASE WHEN Osztaly.ID IS NOT NULL OR (Osztaly.ID IS NULL AND Csoport.Tipus IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@pTanevId)))
|
|
THEN 'T'
|
|
ELSE 'F'
|
|
END) IsOsztalyOrOsztalyJelleguCsoport
|
|
,Foglalkozas.C_ORASZAM AS Oraszam
|
|
FROM T_FOGLALKOZAS_OSSZES Foglalkozas
|
|
INNER JOIN
|
|
T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON
|
|
Foglalkozas.C_OSZTALYCSOPORTID = OsztalyCsoport.ID
|
|
LEFT JOIN
|
|
(SELECT T_OSZTALY_OSSZES.*
|
|
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 = OsztalyCsoport.ID
|
|
LEFT JOIN
|
|
(SELECT
|
|
Csoport.ID ID
|
|
,OsztalyCsoport.C_NEV OsztalyBontottCsoportNev
|
|
,Csoport.C_TIPUSA Tipus
|
|
FROM
|
|
T_CSOPORT_OSSZES Csoport
|
|
INNER JOIN
|
|
T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON
|
|
(
|
|
(Csoport.C_OSZTALYBONTASID IS NOT NULL AND OsztalyCsoport.ID = Csoport.C_OSZTALYBONTASID)
|
|
OR (Csoport.C_OSZTALYBONTASID IS NULL AND Csoport.Id = OsztalyCsoport.ID))
|
|
WHERE
|
|
OsztalyCsoport.Torolt = 'F'
|
|
AND Csoport.Torolt = 'F') Csoport ON
|
|
Csoport.ID = OsztalyCsoport.ID
|
|
INNER JOIN
|
|
T_FELHASZNALO_OSSZES Felhasznalo ON
|
|
Felhasznalo.ID = Foglalkozas.C_TANARID
|
|
INNER JOIN
|
|
T_TANTARGY_OSSZES Tantargy ON
|
|
Tantargy.ID = Foglalkozas.C_TANTARGYID
|
|
{(osztalyId.IsEntityId() && isKapcsolodoCsoportok ? "INNER JOIN fnGetKapcsolodoOsztalycsoportok(:pOsztalyId) KapcsOcs ON KapcsOcs.ID = Foglalkozas.C_OSZTALYCSOPORTID" : string.Empty)}
|
|
WHERE
|
|
Foglalkozas.TOROLT = 'F'
|
|
AND OsztalyCsoport.TOROLT = 'F'
|
|
AND Felhasznalo.C_TANEVID = @pTanevId
|
|
AND Felhasznalo.TOROLT = 'F'
|
|
AND Tantargy.TOROLT = 'F'
|
|
");
|
|
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId)
|
|
};
|
|
|
|
if (tanarId.IsEntityId())
|
|
{
|
|
commandText.Append(@"
|
|
AND Foglalkozas.C_TANARID = :pTanarId");
|
|
parameters.Add(new CommandParameter("pTanarId", tanarId.Value));
|
|
}
|
|
|
|
if (osztalyId.IsEntityId())
|
|
{
|
|
if (!isKapcsolodoCsoportok)
|
|
{
|
|
commandText.Append(@"
|
|
AND Foglalkozas.C_OSZTALYCSOPORTID = :pOsztalyId");
|
|
}
|
|
parameters.Add(new CommandParameter("pOsztalyId", osztalyId.Value));
|
|
}
|
|
|
|
if (isOsszefuggoSzakGyak == true)
|
|
{
|
|
commandText.Append(@"
|
|
AND Csoport.Tipus = :pSzakmaiGyakorlatiCsoportTipus");
|
|
parameters.Add(new CommandParameter("pSzakmaiGyakorlatiCsoportTipus", (int)CsoportTipusEnum.OsszefuggoSzakmaiGyakorlatiCsoport));
|
|
}
|
|
|
|
if (filterNincsBeloleOra)
|
|
{
|
|
commandText.Append(@"
|
|
AND Tantargy.C_ISNINCSBELOLEORA = 'F'");
|
|
}
|
|
|
|
DataSet ds = GetData(commandText.ToString(), parameters);
|
|
return ds;
|
|
}
|
|
|
|
public int? TantargyFelosztasLetezik(int tanarId, int osztalyCsoportId, int tantargyId, int? ttfId, int tanevId)
|
|
{
|
|
using (SDACommand command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
StringBuilder commandText = new StringBuilder(@"SELECT ID FROM T_FOGLALKOZAS_OSSZES
|
|
WHERE C_TANTARGYID = :pTantargyId
|
|
AND C_OSZTALYCSOPORTID = :pOsztalyCsoportId
|
|
AND C_TANARID = :pTanarId AND TOROLT = 'F' AND C_TANEVID = :pTanevId");
|
|
|
|
if (ttfId.IsEntityId())
|
|
{
|
|
commandText.AppendFormat(" AND ID <> :pTtfId");
|
|
command.Parameters.Add("pTtfId", ttfId.Value);
|
|
}
|
|
|
|
command.Parameters.Add("pTantargyId", tantargyId);
|
|
command.Parameters.Add("pTanarId", tanarId);
|
|
command.Parameters.Add("pOsztalyCsoportId", osztalyCsoportId);
|
|
command.Parameters.Add("pTanevId", tanevId);
|
|
|
|
command.CommandText = commandText.ToString();
|
|
var result = command.ExecuteScalar();
|
|
if (result == null)
|
|
{
|
|
return null;
|
|
}
|
|
return int.Parse(result.ToString());
|
|
}
|
|
}
|
|
|
|
public DataSet GetFoglalkozasokForDDL(int tanarId, int tanevId)
|
|
{
|
|
var pList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanarId", tanarId),
|
|
new CommandParameter("pTanevId", tanevId)
|
|
};
|
|
|
|
var command = @"SELECT
|
|
f.ID
|
|
,(ocs.C_NEV + ' - ' + t.C_NEV) AS Nev
|
|
FROM T_FOGLALKOZAS_OSSZES f
|
|
INNER JOIN T_TANTARGY_OSSZES t on t.ID = f.C_TANTARGYID
|
|
AND t.TOROLT = 'F'
|
|
AND t.C_TANEVID = f.C_TANEVID
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.ID = f.C_OSZTALYCSOPORTID
|
|
AND ocs.C_TANEVID = f.C_TANEVID
|
|
AND ocs.TOROLT = 'F'
|
|
WHERE f.TOROLT = 'F'
|
|
AND f.C_TANARID = :pTanarId
|
|
AND f.C_TANEVID = :pTanevId
|
|
AND NOT EXISTS(
|
|
SELECT * FROM T_TANMENET_OSSZES tm
|
|
WHERE tm.TOROLT = 'F'
|
|
AND tm.C_OSZTALYCSOPORTID = f.C_OSZTALYCSOPORTID
|
|
AND tm.C_TANTARGYID = f.C_TANTARGYID
|
|
AND tm.C_FELTOLTOID = f.C_TANARID
|
|
AND tm.C_TANEVID = f.C_TANEVID
|
|
)";
|
|
|
|
return GetData(command, pList);
|
|
}
|
|
|
|
public (int id, bool removeFromOrarendOra) CreateOrUpdateFelosztas(TantargyFelosztasDM dm, int intezmenyId, bool isForceInsert = false)
|
|
{
|
|
var letezoTtfId = isForceInsert ? null : TantargyFelosztasLetezik(dm.TanarId, dm.OsztalyCsoportId, dm.TantargyId, dm.Id, dm.TanevId);
|
|
|
|
var foglalkozasDal = DalHelper.Foglalkozas();
|
|
|
|
var entity = foglalkozasDal.Get() as Foglalkozas;
|
|
if (letezoTtfId.HasValue)
|
|
{
|
|
entity = foglalkozasDal.Get(letezoTtfId.Value) as Foglalkozas;
|
|
entity.Importalt = false;
|
|
|
|
if (dm.Id != 0 && dm.Id != null)
|
|
{
|
|
var deletableEntity = foglalkozasDal.Get(dm.Id.Value);
|
|
CoreDelete(deletableEntity);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (dm.Id != 0 && dm.Id != null)
|
|
{
|
|
entity = foglalkozasDal.Get((int)dm.Id) as Foglalkozas;
|
|
entity.Importalt = false;
|
|
}
|
|
}
|
|
|
|
if (!dm.FoglalkozasTipusa.HasValue || (entity.ID.IsEntityId() && entity.OsztalyCsoportId != dm.OsztalyCsoportId))
|
|
{
|
|
var foglalkozasTipusa = (int)FoglalkozasTipusEnum.na;
|
|
|
|
var osztalyCsoportDal = DalHelper.OsztalyCsoport();
|
|
|
|
var csoportTipus = osztalyCsoportDal.GetCsoportTipusByOsztalyCsoportId(dm.OsztalyCsoportId, intezmenyId);
|
|
|
|
if (csoportTipus.HasValue)
|
|
{
|
|
var isBontott = osztalyCsoportDal.GetIsOsztalyCsoportBontott(dm.OsztalyCsoportId);
|
|
|
|
var foglalkozasTipus = foglalkozasDal.GetFoglalkozasTipusByOsztalyCsoportTipus(csoportTipus.Value, isBontott);
|
|
|
|
if (foglalkozasTipus.HasValue)
|
|
{
|
|
foglalkozasTipusa = foglalkozasTipus.Value;
|
|
}
|
|
}
|
|
|
|
dm.FoglalkozasTipusa = foglalkozasTipusa;
|
|
}
|
|
|
|
var removeFromOrarendOra = false;
|
|
|
|
if (entity.ID.IsEntityId())
|
|
{
|
|
if ((entity.OsztalyCsoportId != dm.OsztalyCsoportId) || (entity.TantargyId != dm.TantargyId) || (entity.TanarId != dm.TanarId))
|
|
{
|
|
removeFromOrarendOra = true;
|
|
}
|
|
}
|
|
|
|
entity.Oraszam = dm.Oraszam;
|
|
entity.OsztalyCsoportId = dm.OsztalyCsoportId;
|
|
entity.TanevId = dm.TanevId;
|
|
entity.TantargyId = dm.TantargyId;
|
|
entity.FoglalkozasTipusa = dm.FoglalkozasTipusa.Value;
|
|
entity.TanarId = dm.TanarId;
|
|
entity.IsOsszevontOra = dm.OsszevontOra;
|
|
entity.IsNemzetisegi = dm.NemzetisegiOra;
|
|
entity.MegbizasiOraszam = dm.MegbizasiOraszam;
|
|
entity.TuloraSzam = dm.TuloraSzam;
|
|
|
|
if ((dm.Id == null || dm.Id == 0) && entity.ID <= 0)
|
|
{
|
|
entity.Insert();
|
|
}
|
|
|
|
var tanar = DalHelper.Alkalmazott().Get(dm.TanarId) as Alkalmazott;
|
|
|
|
entity.Nev = $"{entity.Tantargy.Nev} - {entity.OsztalyCsoport.Nev} - {tanar.NyomtatasiNev}";
|
|
|
|
entity.OsztalyCsoport.Importalt = false;
|
|
entity.OsztalyCsoport.Update();
|
|
|
|
entity.Tantargy.Importalt = false;
|
|
entity.Tantargy.Update();
|
|
|
|
entity.FullUpdate();
|
|
|
|
DalHelper.Commit();
|
|
|
|
return (entity.ID, removeFromOrarendOra);
|
|
}
|
|
|
|
public void Delete(IFoglalkozas entity)
|
|
{
|
|
CoreDelete(entity);
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
private void CoreDelete(IFoglalkozas entity)
|
|
{
|
|
var foglalkozas = entity as Foglalkozas;
|
|
if (entity.OrarendiOra.Count > 0)
|
|
{
|
|
foglalkozas.OrarendiOra.RemoveAll();
|
|
}
|
|
|
|
if (entity.TanitasiOra.Count > 0)
|
|
{
|
|
foglalkozas.TanitasiOra.RemoveAll();
|
|
}
|
|
|
|
if (entity.FoglalkozasAmiTanulo.Count > 0)
|
|
{
|
|
foglalkozas.FoglalkozasAmiTanulo.DeleteAll();
|
|
}
|
|
|
|
foglalkozas.Importalt = false;
|
|
|
|
foglalkozas.Delete();
|
|
}
|
|
|
|
public void TantargyfelosztasVisszamenolegesModositas(int intezmenyId, int tanevId, int felhasznaloId, TantargyFelosztasVisszamenolegesPCO ttf)
|
|
{
|
|
using (SDACommand command = UserContext.Instance.SDAConnection.CreateCommand())
|
|
{
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
command.Parameters.Add("pIntezmenyId", intezmenyId);
|
|
command.Parameters.Add("pTanevId", tanevId);
|
|
command.Parameters.Add("pUserId", felhasznaloId);
|
|
command.Parameters.Add("pEredetiTanarId", ttf.EredetiTanarId);
|
|
command.Parameters.Add("pEredetiTantargyId", ttf.EredetiTantargyId);
|
|
command.Parameters.Add("pEredetiOsztalyCsoportId", ttf.EredetiOsztalyCsoportId);
|
|
command.Parameters.Add("pModosultTanarId", ttf.ModosultTanarId);
|
|
command.Parameters.Add("pModosultTantargyId", ttf.ModosultTantargyId);
|
|
command.Parameters.Add("pModosultOsztalyCsoportId", ttf.ModosultOsztalyCsoportId);
|
|
|
|
command.CommandText = "sp_UpdateTantargyfelosztasVisszamenoleges";
|
|
command.ExecuteNonQuery();
|
|
DalHelper.Commit();
|
|
}
|
|
}
|
|
|
|
public DataSet GetEgyszerAdhatoErtekelesekTanatargyfelosztasModositasAlapjan(int intezmenyId, int tanevId, TantargyFelosztasVisszamenolegesPCO ttf)
|
|
{
|
|
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 = "uspGetEgyszerAdhatoErtekelesekTantargyfelosztasModositasAlapjan";
|
|
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
|
|
command.Parameters.Add("pOldTantargyId", SDADBType.Int).Value = ttf.EredetiTantargyId;
|
|
command.Parameters.Add("pOldOsztalyCsoportId", SDADBType.Int).Value = ttf.EredetiOsztalyCsoportId;
|
|
command.Parameters.Add("pNewTantargyId", SDADBType.Int).Value = ttf.ModosultTantargyId;
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters);
|
|
return dt.AsDataSet();
|
|
}
|
|
}
|
|
|
|
public void UpdateOrarendiOraAfterTantargyfelosztasUpdate(int intezmenyId, int tanevId, int felhasznaloId, TantargyFelosztasVisszamenolegesPCO ttf)
|
|
{
|
|
using (SDACommand command = UserContext.Instance.SDAConnection.CreateCommand())
|
|
{
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
command.Parameters.Add("pIntezmenyId", intezmenyId);
|
|
command.Parameters.Add("pTanevId", tanevId);
|
|
command.Parameters.Add("pUserId", felhasznaloId);
|
|
command.Parameters.Add("pEredetiTanarId", ttf.EredetiTanarId);
|
|
command.Parameters.Add("pEredetiTantargyId", ttf.EredetiTantargyId);
|
|
command.Parameters.Add("pEredetiOsztalyCsoportId", ttf.EredetiOsztalyCsoportId);
|
|
command.Parameters.Add("pModosultTanarId", ttf.ModosultTanarId);
|
|
command.Parameters.Add("pModosultTantargyId", ttf.ModosultTantargyId);
|
|
command.Parameters.Add("pModosultOsztalyCsoportId", ttf.ModosultOsztalyCsoportId);
|
|
|
|
command.CommandText = "uspUpdateOrarendiOraAfterTantargyfelosztasUpdate";
|
|
command.ExecuteNonQuery();
|
|
DalHelper.Commit();
|
|
}
|
|
}
|
|
|
|
public void RemoveOrarendiOraTTFRelation(int intezmenyId, int tanevId, int ttfId)
|
|
{
|
|
string commandText = @"
|
|
UPDATE T_ORARENDIORA_OSSZES SET
|
|
C_FOGLALKOZASID = NULL
|
|
WHERE
|
|
C_INTEZMENYID = :pIntezmenyId AND C_TANEVID = :pTanevId AND TOROLT = 'F'
|
|
AND C_FOGLALKOZASID = :pTTFId
|
|
";
|
|
|
|
using (SDACommand command = DAUtil.CreateCommand(commandText))
|
|
{
|
|
command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId;
|
|
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
|
|
command.Parameters.Add("pTTFId", SDADBType.Int).Value = ttfId;
|
|
command.ExecuteNonQuery();
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
}
|
|
|
|
public DataSet TantargyfelosztasbanValtozoOrarendiOrak(int intezmenyId, int tanevId, TantargyFelosztasVisszamenolegesPCO ttf)
|
|
{
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pIntezmenyId", intezmenyId),
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter("pTanarId", ttf.EredetiTanarId),
|
|
new CommandParameter("pTantargyId", ttf.EredetiTantargyId),
|
|
new CommandParameter("pOsztalyCsoportId", ttf.EredetiOsztalyCsoportId)
|
|
};
|
|
|
|
var commandText = @"
|
|
SELECT DISTINCT
|
|
o.ID,
|
|
hr.C_NAME AS Hetirend,
|
|
hn.C_NAME AS Nap,
|
|
o.C_ORASZAM AS Ora,
|
|
o.C_ORAERVENYESSEGKEZDETE AS ErvenyessegKezdete,
|
|
o.C_ORAERVENYESSEGVEGE AS ErvenyessegVege
|
|
FROM T_ORARENDIORA_OSSZES o
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES hr ON o.C_HETIREND = hr.ID AND hr.TOROLT = 'F' AND hr.C_TANEVID = o.C_TANEVID
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES hn ON o.C_HETNAPJA = hn.ID AND hn.TOROLT = 'F' AND hn.C_TANEVID = o.C_TANEVID
|
|
WHERE o.C_INTEZMENYID = :pIntezmenyId
|
|
AND o.C_TANEVID = :pTanevId
|
|
AND o.C_TANTARGYID = :pTantargyId
|
|
AND o.C_OSZTALYCSOPORTID = :pOsztalyCsoportId
|
|
AND o.C_TANARID = :pTanarId
|
|
AND o.TOROLT = 'F'
|
|
";
|
|
|
|
DataSet ds = GetData(commandText, parameters);
|
|
return ds;
|
|
}
|
|
|
|
public void FizikaiTorlesTantargyfelosztas(int intezmenyId, int tanevId, int userId)
|
|
{
|
|
using (SDACommand command = UserContext.Instance.SDAConnection.CreateCommand())
|
|
{
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
command.Parameters.Add("pIntezmenyId", intezmenyId);
|
|
command.Parameters.Add("pTanevId", tanevId);
|
|
command.Parameters.Add("pUserId", userId);
|
|
|
|
command.CommandText = "sp_FizikaiTorlesTantargyfelosztas";
|
|
command.ExecuteNonQuery();
|
|
DalHelper.Commit();
|
|
}
|
|
}
|
|
|
|
public DataSet GetFoglalkozasById(int TTFId)
|
|
{
|
|
var parameters = new List<CommandParameter> { new CommandParameter("pTTFId", TTFId) };
|
|
|
|
var commandText = @"
|
|
SELECT
|
|
fogl.C_OSZTALYCSOPORTID OsztalyCsoportId
|
|
,fogl.C_TANTARGYID TantargyId
|
|
,fogl.C_TANARID TanarId
|
|
FROM T_FOGLALKOZAS_OSSZES fogl
|
|
WHERE
|
|
fogl.TOROLT = 'F' AND fogl.ID = :pTTFId
|
|
";
|
|
|
|
DataSet ds = GetData(commandText, parameters);
|
|
return ds;
|
|
}
|
|
|
|
public DataSet GetFoglalkozasDataById(int TTFId)
|
|
{
|
|
var parameters = new List<CommandParameter> {
|
|
new CommandParameter("pTTFId", TTFId)
|
|
};
|
|
|
|
const string commandText = @"
|
|
SELECT DISTINCT
|
|
fogl.C_OSZTALYCSOPORTID OsztalyCsoportId
|
|
,ISNULL(cs.C_TIPUSA,1034) CsoportTipusId
|
|
,fogl.C_TANTARGYID TantargyId
|
|
,fogl.C_ISNEMZETISEGI NemzetisegiOra
|
|
,fogl.C_TULORASZAM TuloraSzam
|
|
FROM T_FOGLALKOZAS_OSSZES fogl
|
|
LEFT JOIN T_CSOPORT_OSSZES cs on cs.ID = fogl.C_OSZTALYCSOPORTID and cs.TOROLT = 'F' AND cs.C_ALTANEVID = fogl.C_TANEVID
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = fogl.C_OSZTALYCSOPORTID AND OsztalyCsoport.TOROLT = 'F' AND OsztalyCsoport.C_TANEVID = fogl.C_TANEVID
|
|
WHERE
|
|
fogl.TOROLT = 'F' and fogl.C_OSZTALYCSOPORTID IS NOT NULL AND fogl.ID = :pTTFId
|
|
";
|
|
|
|
DataSet ds = GetData(commandText, parameters, booleanColumns: "NemzetisegiOra");
|
|
return ds;
|
|
}
|
|
|
|
public DataSet GetTantargyFelosztasKapcsolatai(int TTFId, int tanevId)
|
|
{
|
|
var parameters = new List<CommandParameter> { new CommandParameter("pTTFId", TTFId), new CommandParameter("pTanevId", tanevId) };
|
|
|
|
const string commandText = @"
|
|
SELECT
|
|
(
|
|
SELECT COUNT(1) FROM T_TANULOCSOPORT_OSSZES tcs
|
|
WHERE tcs.C_OSZTALYCSOPORTID = fogl.C_OSZTALYCSOPORTID AND tcs.TOROLT = 'F' AND tcs.C_TANEVID =:pTanevId
|
|
) AS DiakokSzama,
|
|
(
|
|
SELECT COUNT(1) FROM T_TANITASIORA_OSSZES tno
|
|
WHERE tno.C_OSZTALYCSOPORTID = fogl.C_OSZTALYCSOPORTID
|
|
AND tno.C_TANTARGYID = fogl.C_TANTARGYID
|
|
AND tno.C_TANARID = fogl.C_TANARID AND tno.TOROLT = 'F' AND tno.C_TANEVID =:pTanevId
|
|
) AS TanorakSzama,
|
|
(
|
|
SELECT COUNT(1) FROM T_TANULOERTEKELES_OSSZES te
|
|
WHERE te.C_OSZTALYCSOPORTID = fogl.C_OSZTALYCSOPORTID
|
|
AND te.C_TANTARGYID = fogl.C_TANTARGYID
|
|
AND te.C_ERTEKELOID = fogl.C_TANARID AND te.TOROLT = 'F' AND te.C_TANEVID =:pTanevId
|
|
) AS ErtekelesekSzama,
|
|
(
|
|
SELECT COUNT(1)
|
|
FROM T_TANULOMULASZTAS_OSSZES tm
|
|
INNER JOIN T_TANITASIORA_OSSZES tno ON tm.C_TANITASIORAKID = tno.ID AND tno.TOROLT = 'F' AND tno.C_TANEVID = tm.C_TANEVID
|
|
WHERE tno.C_OSZTALYCSOPORTID = fogl.C_OSZTALYCSOPORTID
|
|
AND tno.C_TANTARGYID = fogl.C_TANTARGYID
|
|
AND tno.C_TANARID = fogl.C_TANARID AND tm.TOROLT = 'F' AND tm.C_TANEVID =:pTanevId
|
|
) AS MulasztasokSzama
|
|
FROM T_FOGLALKOZAS_OSSZES fogl
|
|
WHERE
|
|
fogl.TOROLT = 'F' AND fogl.ID = :pTTFId AND fogl.C_TANEVID =:pTanevId
|
|
";
|
|
|
|
DataSet ds = GetData(commandText, parameters);
|
|
return ds;
|
|
}
|
|
|
|
public DataSet GetFoglalkozasokByOsztalyCsoport(int osztalyCsoportId, int tanevId)
|
|
{
|
|
var parameters = new List<CommandParameter>()
|
|
{
|
|
new CommandParameter(nameof(osztalyCsoportId), osztalyCsoportId),
|
|
new CommandParameter(nameof(tanevId), tanevId)
|
|
};
|
|
|
|
string commandText = $@"
|
|
SELECT
|
|
foglalkozas.ID
|
|
,foglalkozas.C_TANARID AS TanarId
|
|
,IIF( felhasznalo.C_OKTATASIAZONOSITO IS NULL, LTRIM(felhasznalo.C_NYOMTATASINEV), LTRIM(felhasznalo.C_NYOMTATASINEV) + ' (' + felhasznalo.C_OKTATASIAZONOSITO + ')' ) AS TanarNev
|
|
,foglalkozas.C_TANTARGYID AS TantargyId
|
|
,tantargy.C_NEV AS TantargyNev
|
|
FROM T_FOGLALKOZAS_OSSZES foglalkozas
|
|
INNER JOIN T_TANTARGY_OSSZES tantargy ON foglalkozas.C_TANTARGYID = tantargy.ID
|
|
AND tantargy.TOROLT = 'F'
|
|
AND tantargy.C_TANEVID = foglalkozas.C_TANEVID
|
|
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON foglalkozas.C_TANARID = felhasznalo.ID
|
|
AND felhasznalo.TOROLT = 'F'
|
|
AND felhasznalo.C_TANEVID = foglalkozas.C_TANEVID
|
|
WHERE foglalkozas.C_OSZTALYCSOPORTID = @{nameof(osztalyCsoportId)}
|
|
AND foglalkozas.C_TANEVID = @{nameof(tanevId)}
|
|
AND foglalkozas.TOROLT = 'F'
|
|
";
|
|
|
|
return GetData(commandText, parameters);
|
|
}
|
|
|
|
public DataSet GetTanarAltalErtekelhetoCsoportok(int tanarId, int? tanevId, int szuperOsztalyfonok, DateTime date, string osztalyGroupName, string csoportGroupName)
|
|
{
|
|
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 = "uspGetTanarAltalErtekelhetoCsoportok";
|
|
command.Parameters.Add("pTanarId", SDADBType.Int).Value = tanarId;
|
|
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
|
|
command.Parameters.Add("pSzuperOsztalyfonok", SDADBType.Int).Value = szuperOsztalyfonok;
|
|
command.Parameters.Add("pDatum", SDADBType.DateTime).Value = date;
|
|
command.Parameters.Add("pOsztalyGroup", SDADBType.String).Value = osztalyGroupName;
|
|
command.Parameters.Add("pCsoportGroup", SDADBType.String).Value = csoportGroupName;
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters);
|
|
return dt.AsDataSet();
|
|
}
|
|
}
|
|
|
|
public DataSet GetTanarDolgozatTantargyak(int tanarId, int? tanevId, int szuperOsztalyfonok, DateTime date)
|
|
{
|
|
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 = "uspGetTanarDolgozatTantargyak";
|
|
command.Parameters.Add("pTanarId", SDADBType.Int).Value = tanarId;
|
|
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
|
|
command.Parameters.Add("OktNevKatTipus", SDADBType.Int).Value = (int)OktNevelesiKategoriaEnum.NevelesOktatas;
|
|
command.Parameters.Add("pSzuperOsztalyfonok", SDADBType.Int).Value = szuperOsztalyfonok;
|
|
command.Parameters.Add("pDatum", SDADBType.DateTime).Value = date;
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters);
|
|
return dt.AsDataSet();
|
|
}
|
|
}
|
|
|
|
public int GetTeremByFoglalkozas(int foglalkozasId)
|
|
{
|
|
return DalHelper.Foglalkozas().Get(foglalkozasId).OsztalyCsoport.TeremId;
|
|
}
|
|
|
|
public DataSet ValidateTantargyfelosztasVisszamenolegesModositas(TantargyFelosztasVisszamenolegesPCO ttf)
|
|
{
|
|
using (var command = UserContext.Instance.SDAConnection.CreateCommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.CommandText = "uspValidateTantargyfelosztasVisszamenolegesModositas";
|
|
|
|
command.Parameters.Add("pEredetiTanarId", ttf.EredetiTanarId);
|
|
command.Parameters.Add("pEredetiTantargyId", ttf.EredetiTantargyId);
|
|
command.Parameters.Add("pEredetiOsztalyCsoportId", ttf.EredetiOsztalyCsoportId);
|
|
command.Parameters.Add("pModosultTanarId", ttf.ModosultTanarId);
|
|
command.Parameters.Add("pModosultTantargyId", ttf.ModosultTantargyId);
|
|
command.Parameters.Add("pModosultOsztalyCsoportId", ttf.ModosultOsztalyCsoportId);
|
|
|
|
var ds = new DataSet();
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
return ds;
|
|
}
|
|
}
|
|
|
|
public void HandleTanarValtozasOrarendiOrakon(int foglalkozasId)
|
|
{
|
|
using (SDACommand command = UserContext.Instance.SDAConnection.CreateCommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
command.CommandText = "UPDATE T_ORARENDIORA SET C_FOGLALKOZASID = NULL WHERE TOROLT = 'F' AND C_FOGLALKOZASID = :pFoglalkozasId";
|
|
|
|
command.Parameters.Add("pFoglalkozasId", foglalkozasId);
|
|
|
|
command.ExecuteNonQuery();
|
|
}
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
}
|
|
}
|