166 lines
7.5 KiB
C#
166 lines
7.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Text;
|
|
using Kreta.Core.Logic;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.ParameterClasses;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Framework;
|
|
using Kreta.Framework.Util;
|
|
using Kreta.Resources;
|
|
using SDA.DataProvider;
|
|
|
|
namespace Kreta.DataAccessManual
|
|
{
|
|
internal class HRModulDAL : DataAccessBase, IHRModulDAL
|
|
{
|
|
public HRModulDAL(DalHandler handler) : base(handler) { }
|
|
public HRModulDAL(DalHandler handler, GridParameters gridParameters) : base(handler, gridParameters) { }
|
|
|
|
public DataSet TavolletjelentoDokList(int tavolletId)
|
|
{
|
|
List<CommandParameter> paramlist = new List<CommandParameter>();
|
|
paramlist.Add(new CommandParameter("pTavolletId", tavolletId));
|
|
|
|
StringBuilder command = new StringBuilder($@"
|
|
SELECT
|
|
iktId.ID as ID
|
|
,ISNULL(iktId.C_IKTATOSZAM, '-') as Iktatoszam
|
|
,iktId.C_DOKUMENTUMNEVE as DokumentumNev
|
|
,'T' as IsDokumentum
|
|
FROM T_IKTATOTTDOKUMENTUMTAVOLLET tid
|
|
INNER JOIN T_IKTATOTTDOKUMENTUM iktId on tid.C_IKTATOTTDOKUMENTUMID = iktId.ID
|
|
LEFT JOIN T_IKTATOTTDOKUMENTUMCSATOLMANY iktCsat on iktCsat.C_IKTATOTTDOKUMENTUMID = iktId.ID
|
|
WHERE tid.C_KOZPONTITAVOLLETID = :pTavolletId
|
|
AND iktCsat.ID IS NULL
|
|
AND iktId.C_DOKUMENTUMNEVE <> '{HRModulResource.TavolletIktatasSablonGeneraltFajlNeve}'
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
iktCsat.ID as ID
|
|
,ISNULL(iktId.C_IKTATOSZAM, '-') as Iktatoszam
|
|
,iktCsat.C_FAJLNEV as DokumentumNev
|
|
,'F' as IsDokumentum
|
|
FROM T_IKTATOTTDOKUMENTUMTAVOLLET tid
|
|
INNER JOIN T_IKTATOTTDOKUMENTUM iktId on tid.C_IKTATOTTDOKUMENTUMID = iktId.ID
|
|
INNER JOIN T_IKTATOTTDOKUMENTUMCSATOLMANY iktCsat on iktCsat.C_IKTATOTTDOKUMENTUMID = iktId.ID
|
|
WHERE
|
|
tid.C_KOZPONTITAVOLLETID = :pTavolletId
|
|
");
|
|
|
|
DataSet ds = GetData(command.ToString(), paramlist);
|
|
return ds;
|
|
}
|
|
|
|
public void InsertDokumentum(int tavolletId, int dokumentumId)
|
|
{
|
|
DalHelper.IktatottDokumentumTavolletDal().Insert(tavolletId, dokumentumId);
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void UpdateSzinkronizalatlan(int intezmenyId, int tanevId, List<int> list)
|
|
{
|
|
using (var command = new SDACommand
|
|
{
|
|
Connection = UserContext.Instance.SDAConnection,
|
|
Transaction = UserContext.Instance.SDATransaction,
|
|
CommandText = $@"
|
|
UPDATE T_IKTATOTTDOKUMENTUMTAVOLLET_OSSZES
|
|
SET
|
|
[C_SZINKRONIZALVA] = GETDATE()
|
|
,[SERIAL] = SERIAL + 1
|
|
WHERE C_KOZPONTITAVOLLETID IN ({SqlLogic.ParseListToParameter(list)})
|
|
AND C_INTEZMENYID = :pIntezmenyId
|
|
AND C_TANEVID = :pTanevId
|
|
AND C_SZINKRONIZALVA IS NULL
|
|
"
|
|
})
|
|
{
|
|
command.Parameters.Add("pTanevId", tanevId);
|
|
command.Parameters.Add("pIntezmenyId", intezmenyId);
|
|
|
|
command.ExecuteNonQuery();
|
|
DalHelper.Commit();
|
|
}
|
|
}
|
|
|
|
public int GetTavolletIdotartam(DateTime tavolletKezdet, DateTime tavolletVeg)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.Parameters.Add(nameof(tavolletKezdet), tavolletKezdet);
|
|
command.Parameters.Add(nameof(tavolletVeg), tavolletVeg);
|
|
|
|
command.CommandText = $@"
|
|
SELECT COUNT(1) FROM T_NAPTARINAP_OSSZES nn
|
|
WHERE
|
|
nn.C_NAPDATUMA BETWEEN @{nameof(tavolletKezdet)} AND @{nameof(tavolletVeg)}
|
|
AND nn.C_NAPTIPUSA NOT IN (1386, 6833, 1396) AND nn.TOROLT = 'F'
|
|
AND (nn.C_HETNAPJA BETWEEN 1408 AND 1412 OR EXISTS (
|
|
SELECT TOP 1 1
|
|
FROM T_TANEVRENDJE_OSSZES tr
|
|
WHERE tr.TOROLT = 'F'
|
|
AND tr.C_DATUM = nn.C_NAPDATUMA
|
|
AND tr.C_EGYEDINAP = 'T'
|
|
AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T'))
|
|
";
|
|
|
|
var result = int.Parse(command.ExecuteScalar()?.ToString());
|
|
return tavolletKezdet == tavolletVeg ? 1 : result;
|
|
}
|
|
}
|
|
|
|
public DataSet GetTavolletSzinkronizalatlanDok(TavolletIktatottPCO pco)
|
|
{
|
|
List<CommandParameter> paramlist = new List<CommandParameter>()
|
|
{
|
|
//paramétereket beállítani
|
|
new CommandParameter("pTanevId", pco.TanevId),
|
|
new CommandParameter("pIntezmenyId", pco.IntezmenyId)
|
|
};
|
|
|
|
var command = @"
|
|
WITH x AS (SELECT C_KOZPONTITAVOLLETID
|
|
FROM T_IKTATOTTDOKUMENTUMTAVOLLET_OSSZES tavol
|
|
INNER JOIN T_IKTATOTTDOKUMENTUM_OSSZES iktat ON iktat.ID = tavol.C_IKTATOTTDOKUMENTUMID
|
|
AND iktat.C_INTEZMENYID = tavol.C_INTEZMENYID AND iktat.C_TANEVID = iktat.C_TANEVID
|
|
AND tavol.C_SZINKRONIZALVA IS NULL
|
|
WHERE tavol.TOROLT = 'F'
|
|
AND tavol.C_TANEVID = @pTanevId
|
|
AND tavol.C_INTEZMENYID = @pIntezmenyId
|
|
AND C_ELEKTRONIKUSPELDANYID IS NULL)
|
|
|
|
SELECT C_KOZPONTITAVOLLETID, C_ELEKTRONIKUSPELDANYID, C_FAJLNEV, C_IKTATASDATUMA, C_NYOMTATASINEV, C_EGYEDIAZONOSITO FROM
|
|
(SELECT
|
|
iktDokCsat.id
|
|
,tavol.C_KOZPONTITAVOLLETID
|
|
,iktDokCsat.C_ELEKTRONIKUSPELDANYID
|
|
,iktDokCsat.C_FAJLNEV as C_FAJLNEV
|
|
,iktat.C_IKTATASDATUMA
|
|
,f.C_NYOMTATASINEV
|
|
,f.C_EGYEDIAZONOSITO
|
|
FROM T_IKTATOTTDOKUMENTUMTAVOLLET_OSSZES tavol
|
|
INNER JOIN T_IKTATOTTDOKUMENTUM_OSSZES iktat ON iktat.ID = tavol.C_IKTATOTTDOKUMENTUMID
|
|
AND iktat.C_INTEZMENYID = tavol.C_INTEZMENYID AND iktat.C_TANEVID = tavol.C_TANEVID
|
|
AND tavol.C_SZINKRONIZALVA IS NULL
|
|
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = iktat.C_IKTATOSZEMELYID
|
|
AND f.C_INTEZMENYID = tavol.C_INTEZMENYID AND f.C_TANEVID = tavol.C_TANEVID
|
|
INNER JOIN T_IKTATOTTDOKUMENTUMCSATOLMANY_OSSZES iktDokCsat on iktDokCsat.C_IKTATOTTDOKUMENTUMID = iktat.ID
|
|
AND iktDokCsat.C_INTEZMENYID = iktat.C_INTEZMENYID AND iktDokCsat.C_TANEVID = iktat.C_TANEVID
|
|
AND iktDokCsat.C_ISATTACHED = 'T'
|
|
AND iktDokCsat.TOROLT = 'F'
|
|
WHERE tavol.TOROLT = 'F'
|
|
AND C_SZINKRONIZALVA IS NULL
|
|
AND tavol.C_TANEVID = @pTanevId
|
|
AND tavol.C_INTEZMENYID = @pIntezmenyId) AS notsynced
|
|
WHERE NOT EXISTS (SELECT C_KOZPONTITAVOLLETID FROM x WHERE C_KOZPONTITAVOLLETID = notsynced.C_KOZPONTITAVOLLETID)
|
|
";
|
|
|
|
return GetData(command, paramlist);
|
|
}
|
|
}
|
|
}
|