Compare commits

...

16 Commits

Author SHA1 Message Date
e80c8894ea Change "Opis" to NrDok 2025-05-29 12:07:32 +02:00
b5a9ad2e2b Opak clean 2024-10-23 22:27:59 +02:00
ffa2452d07 Obrot opakowaniami 2024-10-02 12:27:23 +02:00
9f288ceb7d RapFisk fix 2024-09-30 16:42:32 +02:00
347c3cb4d2 Roz + Utarg fix 2024-09-29 09:49:35 +02:00
fd54456319 Build fix 2024-09-24 15:46:50 +02:00
9f6840a87f Fixes 2024-09-24 15:44:53 +02:00
16db72e6a3 Rozb Fixes 2024-09-23 15:06:47 +02:00
be4ff5c9ee Fixy 2024-09-23 11:15:01 +02:00
ec382ecbbc Fix 2024-07-24 21:30:39 +02:00
43656d1d55 Korekta cen zakupu 2024-07-24 21:26:35 +02:00
625a679b88 Zw fix 2024-07-24 12:11:18 +02:00
ba6c8551c7 Zd - fix #2 2024-07-24 11:47:19 +02:00
8f83440517 Zd - fix 2024-07-24 11:26:10 +02:00
efd2508f82 Zwroty + rozb. #2 2024-07-23 18:19:46 +02:00
9dfaad971c Zwroty + rozb. 2024-07-23 17:50:15 +02:00
29 changed files with 478 additions and 84 deletions

View File

@ -8,11 +8,11 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.6">
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.8">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.6" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.8" />
</ItemGroup>
<ItemGroup>

View File

@ -5,6 +5,7 @@ namespace FKGees
internal static class Constants
{
public const string DefaultDateFormat = "yyyy-MM-dd";
public static class DbConfig
{
public const string Host = "DbSettings:Host";
@ -22,18 +23,22 @@ namespace FKGees
{nameof(KwUtarg), "*WYPŁATA DO BANKU*"},
{nameof(KwInne), "*INNE*"},
{nameof(KwPomylkaKasjera), "*POMYŁKA*"},
{nameof(KwLotto), "*LOTTO*"},
{nameof(KwLotto), "*LOTTO*"}
};
public static readonly Dictionary<string, string> KpTekstyDod = new()
{
{nameof(KpKaucjaZaOpakowania), "*KAUCJA ZA OPAKOWANIA*"},
{nameof(KpKasy), "*SPRZEDAŻ Z KAS*"},
{nameof(KpRachunki), "*MOJE RACH.*"},
{nameof(KpInne), "*INNE*"},
{nameof(KpPaysafe), "*PAYSAFE*"},
{nameof(KpLotto), "*LOTTO*"},
};
public static readonly Dictionary<string, string> TekstPowodKorekty = new()
{
{nameof(Rozb), "korekta ilości"},
{nameof(KorCenZak), "korekta ceny"},
};
}
}

View File

@ -0,0 +1,53 @@
namespace FKGees.DocsDefinitions.Decrets;
public class DostawaPrasy : IDecretsDefinition
{
public int DocType => 81;
public string Type => "Dprs";
public List<Definition> Definitions { get; } =
[
new Definition("305-60-24", "MA", "[znr]"),
new Definition("342-0-24", "MA", "[snr]-[znr]"),
new Definition("343-0-24", "MA", "[sbr]-[snr]"),
new Definition("332-0-24", "WN", "[sbr]")
];
public Task<List<DecretsResult>> Process(IReadOnlyList<Dok> documents)
{
var result = new List<DecretsResult>();
var toProcess = documents
.Where(x => x.TypDok == DocType && x.RozliczaRozliczanyDok.Count == 0);
foreach (var dok in toProcess)
{
Definitions.ForEach(d =>
{
var item = dok.DecretKontr();
item.Data = dok.DataPom;
item.DataWplywu = dok.Data;
item.Nr = dok.NrDok;
item.Opis = d.Account == "305-60-24" ? item.k_NIP : dok.NrDok;
item.StronaKonta = d.AccountSide;
item.KontoFk = d.Account;
item.Kwota = ProcessValue(dok, d.Expression).AsString();
result.Add(item);
});
}
return Task.FromResult(result);
}
private static decimal ProcessValue(Dok doc, string expression)
{
return expression switch
{
"[znr]" => doc.Netto,
"[snr]-[znr]" => doc.NettoDet - doc.Netto,
"[sbr]-[snr]" => doc.PodatekDet,
"[sbr]" => doc.NettoDet + doc.PodatekDet,
_ => 0
};
}
}

View File

@ -0,0 +1,70 @@
using FKGees.Services;
namespace FKGees.DocsDefinitions.Decrets;
public class KorCenZak : IDecretsDefinition
{
public int DocType => 26;
public string Type => "KorCenZak";
public List<Definition> Definitions { get; } =
[
new Definition("361-0-24", "WN", "[znr]"),
new Definition("221-0-24", "WN", "[zvr]"),
new Definition("210-1", "MA", "[zbr]"),
new Definition("301-0-24", "MA", "[znr]"),
new Definition("342-0-24", "MA", "[snr]-[znr]"),
new Definition("343-0-24", "MA", "[sbr]-[snr]"),
new Definition("332-0-24", "WN", "[sbr]")
];
private readonly PcmService _pcmService;
public KorCenZak(PcmService pcmService)
{
_pcmService = pcmService;
}
public Task<List<DecretsResult>> Process(IReadOnlyList<Dok> documents)
{
var result = new List<DecretsResult>();
var toProcess = documents
.Where(x => x.TypDok == DocType
&& x.PowodKorekty().Contains(Constants.TekstPowodKorekty[nameof(KorCenZak)]));
foreach (var dok in toProcess)
{
var opis = _pcmService.RozbNrFakturyKor(dok.DokId);
Definitions.ForEach(d =>
{
var item = dok.DecretKontr();
item.Data = dok.DataPom;
item.DataWplywu = dok.Data;
item.Nr = dok.NrDok;
item.Opis = opis;
item.StronaKonta = d.AccountSide;
item.KontoFk = d.Account;
item.Kwota = Processvalue(dok, d.Expression)
.AsString();
result.Add(item);
});
}
return Task.FromResult(result);
}
private static decimal Processvalue(Dok doc, string expression)
{
return expression switch
{
"[znr]" => doc.Netto,
"[zvr]" => doc.Podatek,
"[zbr]" => doc.Netto + doc.Podatek,
"[sbr]" => doc.NettoDet + doc.PodatekDet,
"[snr]-[znr]" => doc.NettoDet - doc.Netto,
"[sbr]-[snr]" => doc.NettoDet + doc.PodatekDet - doc.Netto,
_ => 0
};
}
}

View File

@ -7,7 +7,7 @@ public class KpInne : IDecretsDefinition
public List<Definition> Definitions { get; } =
[
new Definition("139-1-24", "WN", "[sbr]"),
new Definition("100-1-24", "MA", "[sbr]")
new Definition("100-1-24", "WN", "[sbr]")
];
public Task<List<DecretsResult>> Process(IReadOnlyList<Dok> documents)
@ -28,7 +28,7 @@ public class KpInne : IDecretsDefinition
Data = dok.DataPom,
DataWplywu = dok.Data,
Nr = dok.NrDok,
Opis = dok.TekstZaCo(),
Opis = dok.NrDok,
StronaKonta = d.AccountSide,
KontoFk = d.Account,
Kwota = Math.Abs(dok.Zaplacono).AsString()

View File

@ -26,7 +26,7 @@ public class KpKaucjaZaOpakowania : IDecretsDefinition
item.Data = dok.DataPom;
item.DataWplywu = dok.Data;
item.Nr = dok.NrDok;
item.Opis = dok.TekstZaCo();
item.Opis = dok.NrDok;
item.StronaKonta = d.AccountSide;
item.KontoFk = d.Account;
item.Kwota = Math.Abs(dok.Zaplacono).AsString();

View File

@ -7,7 +7,7 @@ public class KpLotto : IDecretsDefinition
public List<Definition> Definitions { get; } =
[
new Definition("100-1-24", "WN", "[sbr]"),
new Definition("249-1-22", "MA", "[sbr]")
new Definition("249-0-22", "MA", "[sbr]")
];
public Task<List<DecretsResult>> Process(IReadOnlyList<Dok> documents)
@ -28,7 +28,7 @@ public class KpLotto : IDecretsDefinition
Data = dok.DataPom,
DataWplywu = dok.Data,
Nr = dok.NrDok,
Opis = dok.TekstZaCo(),
Opis = dok.NrDok,
StronaKonta = d.AccountSide,
KontoFk = d.Account,
Kwota = Math.Abs(dok.Zaplacono).AsString()

View File

@ -28,7 +28,7 @@ public class KpPaysafe : IDecretsDefinition
Data = dok.DataPom,
DataWplywu = dok.Data,
Nr = dok.NrDok,
Opis = dok.TekstZaCo(),
Opis = dok.NrDok,
StronaKonta = d.AccountSide,
KontoFk = d.Account,
Kwota = Math.Abs(dok.Zaplacono).AsString()

View File

@ -28,7 +28,7 @@ public class KpRachunki : IDecretsDefinition
Data = dok.DataPom,
DataWplywu = dok.Data,
Nr = dok.NrDok,
Opis = dok.TekstZaCo(),
Opis = dok.NrDok,
StronaKonta = d.AccountSide,
KontoFk = d.Account,
Kwota = Math.Abs(dok.Zaplacono).AsString()

View File

@ -26,7 +26,7 @@ public class KwBony : IDecretsDefinition
item.Data = dok.DataPom;
item.DataWplywu = dok.Data;
item.Nr = dok.NrDok;
item.Opis = dok.TekstZaCo();
item.Opis = dok.NrDok;
item.StronaKonta = d.AccountSide;
item.KontoFk = d.Account;
item.Kwota = Math.Abs(dok.Zaplacono).AsString();

View File

@ -0,0 +1,42 @@
namespace FKGees.DocsDefinitions.Decrets;
public class KwCashback : IDecretsDefinition
{
public int DocType => 53;
public string Type => nameof(KwCashback);
public List<Definition> Definitions { get; } =
[
new Definition("249-0-19", "WN", "[sbr]"),
new Definition("100-1-24", "MA", "[sbr]")
];
public Task<List<DecretsResult>> Process(IReadOnlyList<Dok> documents)
{
var result = new List<DecretsResult>();
var toProcess = documents
.Where(x => x.TypDok == DocType && x.Kwota5 != 0)
.GroupBy(x => x.Data);
foreach (var dok in toProcess)
{
Definitions.ForEach(d =>
{
var item = new DecretsResult
{
Data = dok.Key,
DataWplywu = dok.Key,
Nr = string.Join(", ",dok.Select(z => z.NrDok)),
Opis = "CashBack",
StronaKonta = d.AccountSide,
KontoFk = d.Account,
Kwota = dok.Sum(x => x.Kwota5).AsString()
};
result.Add(item);
});
}
return Task.FromResult(result);
}
}

View File

@ -26,7 +26,7 @@ public class KwInne : IDecretsDefinition
item.Data = dok.DataPom;
item.DataWplywu = dok.Data;
item.Nr = dok.NrDok;
item.Opis = dok.TekstZaCo();
item.Opis = dok.NrDok;
item.StronaKonta = d.AccountSide;
item.KontoFk = d.Account;
item.Kwota = Math.Abs(dok.Zaplacono).AsString();

View File

@ -26,7 +26,7 @@ public class KwLotto : IDecretsDefinition
item.Data = dok.DataPom;
item.DataWplywu = dok.Data;
item.Nr = dok.NrDok;
item.Opis = dok.TekstZaCo();
item.Opis = dok.NrDok;
item.StronaKonta = d.AccountSide;
item.KontoFk = d.Account;
item.Kwota = Math.Abs(dok.Zaplacono).AsString();

View File

@ -25,7 +25,7 @@ public class KwOpakowania : IDecretsDefinition
item.Data = dok.DataPom;
item.DataWplywu = dok.Data;
item.Nr = dok.NrDok;
item.Opis = dok.TekstZaCo();
item.Opis = dok.NrDok;
item.StronaKonta = d.AccountSide;
item.KontoFk = d.Account;
item.Kwota = Math.Abs(dok.Zaplacono).AsString();

View File

@ -6,7 +6,7 @@ public class KwPolcard : IDecretsDefinition
public string Type => nameof(KwPolcard);
public List<Definition> Definitions { get; } =
[
new Definition("249-0-29", "WN", "[sbr]"),
new Definition("249-0-19", "WN", "[sbr]"),
new Definition("100-1-24", "MA", "[sbr]")
];

View File

@ -26,7 +26,7 @@ public class KwPomylkaKasjera : IDecretsDefinition
item.Data = dok.DataPom;
item.DataWplywu = dok.Data;
item.Nr = dok.NrDok;
item.Opis = dok.TekstZaCo();
item.Opis = dok.NrDok;
item.StronaKonta = d.AccountSide;
item.KontoFk = d.Account;
item.Kwota = Math.Abs(dok.Zaplacono).AsString();

View File

@ -26,7 +26,7 @@ public class KwUtarg : IDecretsDefinition
item.Data = dok.DataPom;
item.DataWplywu = dok.Data;
item.Nr = dok.NrDok;
item.Opis = dok.TekstZaCo();
item.Opis = dok.NrDok;
item.StronaKonta = d.AccountSide;
item.KontoFk = d.Account;
item.Kwota = Math.Abs(dok.Zaplacono).AsString();

View File

@ -26,7 +26,7 @@ public class MmMinus : IDecretsDefinition
item.Data = dok.DataPom;
item.DataWplywu = dok.Data;
item.Nr = dok.NrDok;
item.Opis = dok.TekstZaCo();
item.Opis = $"{dok.NrDok} / PRZERZUT NA {item.k_Skrot}";
item.StronaKonta = d.AccountSide;
item.KontoFk = d.Account;
item.Kwota = ProcessValue(dok, d.Expression).AsString();

View File

@ -26,7 +26,7 @@ public class MmPlus : IDecretsDefinition
item.Data = dok.DataPom;
item.DataWplywu = dok.Data;
item.Nr = dok.NrDok;
item.Opis = dok.TekstZaCo();
item.Opis = $"{dok.NrDok} / PRZERZUT Z {item.k_Skrot}";
item.StronaKonta = d.AccountSide;
item.KontoFk = d.Account;
item.Kwota = ProcessValue(dok, d.Expression).AsString();

View File

@ -0,0 +1,38 @@
namespace FKGees.DocsDefinitions.Decrets;
public class ObrotOpakowaniami : IDecretsDefinition
{
public int DocType => 1;
public string Type => "Opak";
public List<Definition> Definitions { get; } =
[
new Definition("307-0-24", "MA", "[sbr]"),
new Definition("332-0-24", "WN", "[sbr]")
];
public Task<List<DecretsResult>> Process(IReadOnlyList<Dok> documents)
{
var result = new List<DecretsResult>();
var toProcess = documents
.Where(x => x.TypDok == DocType);
foreach (var dok in toProcess)
{
Definitions.ForEach(d =>
{
var item = dok.DecretKontr();
item.Data = dok.DataPom;
item.DataWplywu = dok.Data;
item.Nr = dok.NrDok;
item.StronaKonta = d.AccountSide;
item.KontoFk = d.Account;
item.Kwota = dok.NettoDet.AsString();
result.Add(item);
});
}
return Task.FromResult(result);
}
}

View File

@ -26,7 +26,7 @@ public class Przecena : IDecretsDefinition
item.Data = dok.DataPom;
item.DataWplywu = dok.Data;
item.Nr = dok.NrDok;
item.Opis = dok.TekstZaCo();
item.Opis = dok.NrDok;
item.StronaKonta = d.AccountSide;
item.KontoFk = d.Account;
item.Kwota = Processvalue(dok, d.Expression).AsString();
@ -40,17 +40,12 @@ public class Przecena : IDecretsDefinition
private decimal Processvalue(Dok doc, string expression)
{
switch(expression)
return expression switch
{
case "[snr]-[znr]":
return doc.Netto - doc.NettoDet;
case "[sbr]-[snr]":
return doc.Podatek - doc.PodatekDet;
case "[sbr]":
return doc.Razem;
}
return 0;
"[snr]-[znr]" => doc.Netto - doc.NettoDet,
"[sbr]-[snr]" => doc.Podatek - doc.PodatekDet,
"[sbr]" => doc.Razem,
_ => 0
};
}
}

View File

@ -13,7 +13,8 @@ public class RapFisk : IDecretsDefinition
new Definition("343-0-24", "WN", "[svr]"),
new Definition("737-0-24", "MA", "[svr]"),
new Definition("732-0-24", "WN", "[svr]"),
new Definition("222-0-24", "MA", "[svr]")
new Definition("222-0-24", "MA", "[svr]"),
new Definition("100-1-24", "MA", "[sbr]")
];
public Task<List<DecretsResult>> Process(IReadOnlyList<Dok> documents)

View File

@ -0,0 +1,70 @@
using FKGees.Services;
namespace FKGees.DocsDefinitions.Decrets;
public class Rozb : IDecretsDefinition
{
public int DocType => 26;
public string Type => "Rozb";
public List<Definition> Definitions { get; } =
[
new Definition("301-0-24", "WN", "[znr]"),
new Definition("221-0-24", "WN", "[zvr]"),
new Definition("210-1", "MA", "[zbr]"),
new Definition("301-0-24", "MA", "[znr]"),
new Definition("332-0-24", "WN", "[sbr]"),
new Definition("343-0-24", "MA", "[svr]"),
new Definition("342-0-24", "MA", "[sbr]-[znr]"),
];
private readonly PcmService _pcmService;
public Rozb(PcmService pcmService)
{
_pcmService = pcmService;
}
public Task<List<DecretsResult>> Process(IReadOnlyList<Dok> documents)
{
var result = new List<DecretsResult>();
var toProcess = documents
.Where(x => x.TypDok == DocType
&& x.PowodKorekty().Contains(Constants.TekstPowodKorekty[nameof(Rozb)]));
foreach (var dok in toProcess)
{
var opis = _pcmService.RozbNrFakturyKor(dok.DokId);
Definitions.ForEach(d =>
{
var item = dok.DecretKontr();
item.Data = dok.DataPom;
item.DataWplywu = dok.Data;
item.Nr = dok.NrDok;
item.Opis = opis;
item.StronaKonta = d.AccountSide;
item.KontoFk = d.Account;
item.Kwota = Processvalue(dok, d.Expression)
.AsString();
result.Add(item);
});
}
return Task.FromResult(result);
}
private static decimal Processvalue(Dok doc, string expression)
{
return expression switch
{
"[znr]" => doc.Netto,
"[zvr]" => doc.Podatek,
"[zbr]" => (doc.Netto + doc.Podatek),
"[sbr]" => doc.NettoDet + doc.PodatekDet,
"[svr]" => doc.PodatekDet,
"[sbr]-[znr]" => doc.NettoDet - doc.Netto,
_ => 0
};
}
}

View File

@ -1,9 +1,9 @@
namespace FKGees.DocsDefinitions.Decrets;
public class KpKasy : IDecretsDefinition
public class Utarg : IDecretsDefinition
{
public int DocType => 51;
public string Type => nameof(KpKasy);
public int DocType => 53;
public string Type => nameof(Utarg);
public List<Definition> Definitions { get; } =
[
new Definition("100-1-24", "WN", "[sbr]"),
@ -15,9 +15,8 @@ public class KpKasy : IDecretsDefinition
var result = new List<DecretsResult>();
var toProcess = documents
.Where(x => x.TypDok == DocType
&& x.NrDok.StartsWith("KP")
&& x.Tekst1() == Constants.KpTekstyDod[nameof(KpKasy)]);
.Where(x => x.TypDok == DocType && x.Kwota1 != 0)
.GroupBy(x => x.Data);
foreach (var dok in toProcess)
{
@ -25,13 +24,13 @@ public class KpKasy : IDecretsDefinition
{
var item = new DecretsResult
{
Data = dok.DataPom,
DataWplywu = dok.Data,
Nr = dok.NrDok,
Opis = dok.TekstZaCo(),
Data = dok.Key,
DataWplywu = dok.Key,
Nr = string.Join(", ",dok.Select(z => z.NrDok)),
Opis = "UTARG Z KAS",
StronaKonta = d.AccountSide,
KontoFk = d.Account,
Kwota = Math.Abs(dok.Zaplacono).AsString()
Kwota = dok.Sum(x => x.Razem - x.Kwota1 + x.Kwota2).AsString()
};
result.Add(item);

View File

@ -0,0 +1,69 @@
using FKGees.Services;
namespace FKGees.DocsDefinitions.Decrets;
public class Zwroty : IDecretsDefinition
{
public int DocType => 4;
public string Type => "Zwroty";
public List<Definition> Definitions { get; } =
[
new Definition("301-0-24", "WN", "[znr]"),
new Definition("221-0-24", "WN", "[zvr]"),
new Definition("210-1", "MA", "[zbr]"),
new Definition("301-0-24", "MA", "[znr]"),
new Definition("332-0-24", "WN", "[sbr]"),
new Definition("343-0-24", "MA", "[svr]"),
new Definition("342-0-24", "MA", "[sbr]-[znr]")
];
private readonly PcmService _pcmService;
public Zwroty(PcmService pcmService)
{
_pcmService = pcmService;
}
public Task<List<DecretsResult>> Process(IReadOnlyList<Dok> documents)
{
var result = new List<DecretsResult>();
var toProcess = documents
.Where(x => x.TypDok == DocType);
foreach (var dok in toProcess)
{
var opis = _pcmService.RozbNrFakturyKor(dok.DokId);
Definitions.ForEach(d =>
{
var item = dok.DecretKontr();
item.Data = dok.DataPom;
item.DataWplywu = dok.Data;
item.Nr = dok.NrDok;
item.Opis = opis;
item.StronaKonta = d.AccountSide;
item.KontoFk = d.Account;
item.Kwota = Processvalue(dok, d.Expression)
.AsString();
result.Add(item);
});
}
return Task.FromResult(result);
}
private static decimal Processvalue(Dok doc, string expression)
{
return expression switch
{
"[znr]" => -doc.Netto,
"[zvr]" => -doc.Podatek,
"[zbr]" => -(doc.Netto + doc.Podatek),
"[sbr]" => -(doc.NettoDet + doc.PodatekDet),
"[svr]" => -(doc.PodatekDet),
"[sbr]-[znr]" => -(doc.NettoDet + doc.PodatekDet - doc.Netto),
_ => 0
};
}
}

View File

@ -48,4 +48,9 @@ internal static class DokExtensions
return dok.TekstDok.FirstOrDefault(x => x.Znaczenie == 71)?.Tekst ?? string.Empty;
}
internal static string PowodKorekty(this Dok dok)
{
return dok.TekstDok.FirstOrDefault(x => x.Znaczenie == 144)?.Tekst ?? string.Empty;
}
}

View File

@ -7,13 +7,14 @@ internal static class ServiceCollectionExtensions
{
internal static IServiceCollection AddDecretsDefinitions(this IServiceCollection services)
{
services.AddSingleton<IDecretsDefinition, RapFisk>();
services.AddSingleton<IDecretsDefinition, ObrotOpakowaniami>();
services.AddSingleton<IDecretsDefinition, Przecena>();
services.AddSingleton<IDecretsDefinition, MmPlus>();
services.AddSingleton<IDecretsDefinition, MmMinus>();
services.AddSingleton<IDecretsDefinition, Pz>();
services.AddSingleton<IDecretsDefinition, Wz>();
services.AddSingleton<IDecretsDefinition, PzFaktura>();
services.AddSingleton<IDecretsDefinition, RapFisk>();
services.AddSingleton<IDecretsDefinition, KorDetal>();
services.AddSingleton<IDecretsDefinition, FaktSprz>();
services.AddSingleton<IDecretsDefinition, KwBony>();
@ -24,13 +25,18 @@ internal static class ServiceCollectionExtensions
services.AddSingleton<IDecretsDefinition, KwPomylkaKasjera>();
services.AddSingleton<IDecretsDefinition, KwUtarg>();
services.AddSingleton<IDecretsDefinition, KpInne>();
services.AddSingleton<IDecretsDefinition, KpKasy>();
services.AddSingleton<IDecretsDefinition, Utarg>();
services.AddSingleton<IDecretsDefinition, KpKaucjaZaOpakowania>();
services.AddSingleton<IDecretsDefinition, KpKaucjaZDokUtargu>();
services.AddSingleton<IDecretsDefinition, KwKaucjaZDokUtargu>();
services.AddSingleton<IDecretsDefinition, KpLotto>();
services.AddSingleton<IDecretsDefinition, KpPaysafe>();
services.AddSingleton<IDecretsDefinition, KpRachunki>();
services.AddSingleton<IDecretsDefinition, Zwroty>();
services.AddSingleton<IDecretsDefinition, Rozb>();
services.AddSingleton<IDecretsDefinition, KorCenZak>();
services.AddSingleton<IDecretsDefinition, KwCashback>();
services.AddSingleton<IDecretsDefinition, DostawaPrasy>();
return services;
}

View File

@ -8,16 +8,16 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="CsvHelper" Version="32.0.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.6">
<PackageReference Include="CsvHelper" Version="33.0.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.8">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.6" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.8" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0"/>
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0"/>
<PackageReference Include="NLog" Version="5.3.2"/>
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.11"/>
<PackageReference Include="NLog" Version="5.3.4" />
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.13" />
</ItemGroup>
<ItemGroup>

View File

@ -26,7 +26,9 @@ public class PcmService
.ThenInclude(x => x.Dok)
.Include(x => x.DokKasa)
.ThenInclude(x => x.Kasa)
.Where(x => typdok.Contains(x.TypDok) && x.Data >= dataOd && x.Data <= dataDo)
.Where(x => typdok.Contains(x.TypDok)
&& x.Data >= dataOd && x.Data <= dataDo
&& x.Aktywny == 1)
.ToListAsync();
return documents;
}
@ -41,7 +43,9 @@ public class PcmService
.ThenInclude(x => x.Kontr)
.Include(x => x.TekstDok)
.Include(x => x.RozbicieDok)
.Where(x => typdok.Contains(x.TypDok) && x.Data >= dataOd && x.Data <= dataDo)
.Where(x => typdok.Contains(x.TypDok)
&& x.Data >= dataOd && x.Data <= dataDo
&& x.Aktywny == 1)
.ToListAsync();
return documents;
}
@ -58,11 +62,48 @@ public class PcmService
return dok?.RozliczanyDok.NrDok ?? string.Empty;
}
public string RozbNrFakturyKor(decimal dokId)
{
using var context = _dbContextFactory.CreateDbContext();
context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;
var dok = context.Rozlicza
.Where(x => x.RozliczanyDokId == dokId)
.Include(x => x.Dok)
.FirstOrDefault();
return dok?.Dok.NrDok ?? string.Empty;
}
public string RozbNrFakturyDost(decimal dokId)
{
using var context = _dbContextFactory.CreateDbContext();
context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;
var dok = context.Rozlicza
.Where(x => x.RozliczanyDokId == dokId)
.Include(x => x.Dok)
.FirstOrDefault();
if (dok == null)
return string.Empty;
var dok2 = context.Rozlicza
.Where(x => x.DokId == dok.DokId)
.Include(x => x.RozliczanyDok)
.Include(rozlicza => rozlicza.Dok)
.ToList();
return dok2.FirstOrDefault(x => x.RozliczanyDok is {TypDok: 31, Aktywny: 1})
?.RozliczanyDok.NrDok ?? string.Empty;
}
public async Task<List<FormaPlatnosci>> FormyPlatnosci()
{
await using var context = await _dbContextFactory.CreateDbContextAsync();
context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;
var fplat = await context.FormaPlatnosci.Where(x => x.FormaPlat > 4).ToListAsync();
var fplat = await context.FormaPlatnosci.Where(x => x.FormaPlat > 4)
.ToListAsync();
fplat.Add(new FormaPlatnosci {FormaPlat = 0, Tekst = "Gotówka"});
fplat.Add(new FormaPlatnosci {FormaPlat = 1, Tekst = "Przelew"});
fplat.Add(new FormaPlatnosci {FormaPlat = 2, Tekst = "Czek potwierdzony"});