Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e80c8894ea | |||
| b5a9ad2e2b | |||
| ffa2452d07 | |||
| 9f288ceb7d | |||
| 347c3cb4d2 | |||
| fd54456319 | |||
| 9f6840a87f | |||
| 16db72e6a3 | |||
| be4ff5c9ee | |||
| ec382ecbbc | |||
| 43656d1d55 | |||
| 625a679b88 | |||
| ba6c8551c7 | |||
| 8f83440517 | |||
| efd2508f82 | |||
| 9dfaad971c |
@ -8,11 +8,11 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.6">
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.8">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.6" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.8" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@ -5,6 +5,7 @@ namespace FKGees
|
|||||||
internal static class Constants
|
internal static class Constants
|
||||||
{
|
{
|
||||||
public const string DefaultDateFormat = "yyyy-MM-dd";
|
public const string DefaultDateFormat = "yyyy-MM-dd";
|
||||||
|
|
||||||
public static class DbConfig
|
public static class DbConfig
|
||||||
{
|
{
|
||||||
public const string Host = "DbSettings:Host";
|
public const string Host = "DbSettings:Host";
|
||||||
@ -22,18 +23,22 @@ namespace FKGees
|
|||||||
{nameof(KwUtarg), "*WYPŁATA DO BANKU*"},
|
{nameof(KwUtarg), "*WYPŁATA DO BANKU*"},
|
||||||
{nameof(KwInne), "*INNE*"},
|
{nameof(KwInne), "*INNE*"},
|
||||||
{nameof(KwPomylkaKasjera), "*POMYŁKA*"},
|
{nameof(KwPomylkaKasjera), "*POMYŁKA*"},
|
||||||
{nameof(KwLotto), "*LOTTO*"},
|
{nameof(KwLotto), "*LOTTO*"}
|
||||||
};
|
};
|
||||||
|
|
||||||
public static readonly Dictionary<string, string> KpTekstyDod = new()
|
public static readonly Dictionary<string, string> KpTekstyDod = new()
|
||||||
{
|
{
|
||||||
{nameof(KpKaucjaZaOpakowania), "*KAUCJA ZA OPAKOWANIA*"},
|
{nameof(KpKaucjaZaOpakowania), "*KAUCJA ZA OPAKOWANIA*"},
|
||||||
{nameof(KpKasy), "*SPRZEDAŻ Z KAS*"},
|
|
||||||
{nameof(KpRachunki), "*MOJE RACH.*"},
|
{nameof(KpRachunki), "*MOJE RACH.*"},
|
||||||
{nameof(KpInne), "*INNE*"},
|
{nameof(KpInne), "*INNE*"},
|
||||||
{nameof(KpPaysafe), "*PAYSAFE*"},
|
{nameof(KpPaysafe), "*PAYSAFE*"},
|
||||||
{nameof(KpLotto), "*LOTTO*"},
|
{nameof(KpLotto), "*LOTTO*"},
|
||||||
|
};
|
||||||
|
|
||||||
|
public static readonly Dictionary<string, string> TekstPowodKorekty = new()
|
||||||
|
{
|
||||||
|
{nameof(Rozb), "korekta ilości"},
|
||||||
|
{nameof(KorCenZak), "korekta ceny"},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
53
FKGees/DocsDefinitions/Decrets/DostawaPrasy.cs
Normal file
53
FKGees/DocsDefinitions/Decrets/DostawaPrasy.cs
Normal 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
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
70
FKGees/DocsDefinitions/Decrets/KorCenZak.cs
Normal file
70
FKGees/DocsDefinitions/Decrets/KorCenZak.cs
Normal 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
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -7,7 +7,7 @@ public class KpInne : IDecretsDefinition
|
|||||||
public List<Definition> Definitions { get; } =
|
public List<Definition> Definitions { get; } =
|
||||||
[
|
[
|
||||||
new Definition("139-1-24", "WN", "[sbr]"),
|
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)
|
public Task<List<DecretsResult>> Process(IReadOnlyList<Dok> documents)
|
||||||
@ -28,7 +28,7 @@ public class KpInne : IDecretsDefinition
|
|||||||
Data = dok.DataPom,
|
Data = dok.DataPom,
|
||||||
DataWplywu = dok.Data,
|
DataWplywu = dok.Data,
|
||||||
Nr = dok.NrDok,
|
Nr = dok.NrDok,
|
||||||
Opis = dok.TekstZaCo(),
|
Opis = dok.NrDok,
|
||||||
StronaKonta = d.AccountSide,
|
StronaKonta = d.AccountSide,
|
||||||
KontoFk = d.Account,
|
KontoFk = d.Account,
|
||||||
Kwota = Math.Abs(dok.Zaplacono).AsString()
|
Kwota = Math.Abs(dok.Zaplacono).AsString()
|
||||||
|
|||||||
@ -26,7 +26,7 @@ public class KpKaucjaZaOpakowania : IDecretsDefinition
|
|||||||
item.Data = dok.DataPom;
|
item.Data = dok.DataPom;
|
||||||
item.DataWplywu = dok.Data;
|
item.DataWplywu = dok.Data;
|
||||||
item.Nr = dok.NrDok;
|
item.Nr = dok.NrDok;
|
||||||
item.Opis = dok.TekstZaCo();
|
item.Opis = dok.NrDok;
|
||||||
item.StronaKonta = d.AccountSide;
|
item.StronaKonta = d.AccountSide;
|
||||||
item.KontoFk = d.Account;
|
item.KontoFk = d.Account;
|
||||||
item.Kwota = Math.Abs(dok.Zaplacono).AsString();
|
item.Kwota = Math.Abs(dok.Zaplacono).AsString();
|
||||||
|
|||||||
@ -7,7 +7,7 @@ public class KpLotto : IDecretsDefinition
|
|||||||
public List<Definition> Definitions { get; } =
|
public List<Definition> Definitions { get; } =
|
||||||
[
|
[
|
||||||
new Definition("100-1-24", "WN", "[sbr]"),
|
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)
|
public Task<List<DecretsResult>> Process(IReadOnlyList<Dok> documents)
|
||||||
@ -28,7 +28,7 @@ public class KpLotto : IDecretsDefinition
|
|||||||
Data = dok.DataPom,
|
Data = dok.DataPom,
|
||||||
DataWplywu = dok.Data,
|
DataWplywu = dok.Data,
|
||||||
Nr = dok.NrDok,
|
Nr = dok.NrDok,
|
||||||
Opis = dok.TekstZaCo(),
|
Opis = dok.NrDok,
|
||||||
StronaKonta = d.AccountSide,
|
StronaKonta = d.AccountSide,
|
||||||
KontoFk = d.Account,
|
KontoFk = d.Account,
|
||||||
Kwota = Math.Abs(dok.Zaplacono).AsString()
|
Kwota = Math.Abs(dok.Zaplacono).AsString()
|
||||||
|
|||||||
@ -28,7 +28,7 @@ public class KpPaysafe : IDecretsDefinition
|
|||||||
Data = dok.DataPom,
|
Data = dok.DataPom,
|
||||||
DataWplywu = dok.Data,
|
DataWplywu = dok.Data,
|
||||||
Nr = dok.NrDok,
|
Nr = dok.NrDok,
|
||||||
Opis = dok.TekstZaCo(),
|
Opis = dok.NrDok,
|
||||||
StronaKonta = d.AccountSide,
|
StronaKonta = d.AccountSide,
|
||||||
KontoFk = d.Account,
|
KontoFk = d.Account,
|
||||||
Kwota = Math.Abs(dok.Zaplacono).AsString()
|
Kwota = Math.Abs(dok.Zaplacono).AsString()
|
||||||
|
|||||||
@ -28,7 +28,7 @@ public class KpRachunki : IDecretsDefinition
|
|||||||
Data = dok.DataPom,
|
Data = dok.DataPom,
|
||||||
DataWplywu = dok.Data,
|
DataWplywu = dok.Data,
|
||||||
Nr = dok.NrDok,
|
Nr = dok.NrDok,
|
||||||
Opis = dok.TekstZaCo(),
|
Opis = dok.NrDok,
|
||||||
StronaKonta = d.AccountSide,
|
StronaKonta = d.AccountSide,
|
||||||
KontoFk = d.Account,
|
KontoFk = d.Account,
|
||||||
Kwota = Math.Abs(dok.Zaplacono).AsString()
|
Kwota = Math.Abs(dok.Zaplacono).AsString()
|
||||||
|
|||||||
@ -26,7 +26,7 @@ public class KwBony : IDecretsDefinition
|
|||||||
item.Data = dok.DataPom;
|
item.Data = dok.DataPom;
|
||||||
item.DataWplywu = dok.Data;
|
item.DataWplywu = dok.Data;
|
||||||
item.Nr = dok.NrDok;
|
item.Nr = dok.NrDok;
|
||||||
item.Opis = dok.TekstZaCo();
|
item.Opis = dok.NrDok;
|
||||||
item.StronaKonta = d.AccountSide;
|
item.StronaKonta = d.AccountSide;
|
||||||
item.KontoFk = d.Account;
|
item.KontoFk = d.Account;
|
||||||
item.Kwota = Math.Abs(dok.Zaplacono).AsString();
|
item.Kwota = Math.Abs(dok.Zaplacono).AsString();
|
||||||
|
|||||||
42
FKGees/DocsDefinitions/Decrets/KwCashback.cs
Normal file
42
FKGees/DocsDefinitions/Decrets/KwCashback.cs
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -26,7 +26,7 @@ public class KwInne : IDecretsDefinition
|
|||||||
item.Data = dok.DataPom;
|
item.Data = dok.DataPom;
|
||||||
item.DataWplywu = dok.Data;
|
item.DataWplywu = dok.Data;
|
||||||
item.Nr = dok.NrDok;
|
item.Nr = dok.NrDok;
|
||||||
item.Opis = dok.TekstZaCo();
|
item.Opis = dok.NrDok;
|
||||||
item.StronaKonta = d.AccountSide;
|
item.StronaKonta = d.AccountSide;
|
||||||
item.KontoFk = d.Account;
|
item.KontoFk = d.Account;
|
||||||
item.Kwota = Math.Abs(dok.Zaplacono).AsString();
|
item.Kwota = Math.Abs(dok.Zaplacono).AsString();
|
||||||
|
|||||||
@ -26,7 +26,7 @@ public class KwLotto : IDecretsDefinition
|
|||||||
item.Data = dok.DataPom;
|
item.Data = dok.DataPom;
|
||||||
item.DataWplywu = dok.Data;
|
item.DataWplywu = dok.Data;
|
||||||
item.Nr = dok.NrDok;
|
item.Nr = dok.NrDok;
|
||||||
item.Opis = dok.TekstZaCo();
|
item.Opis = dok.NrDok;
|
||||||
item.StronaKonta = d.AccountSide;
|
item.StronaKonta = d.AccountSide;
|
||||||
item.KontoFk = d.Account;
|
item.KontoFk = d.Account;
|
||||||
item.Kwota = Math.Abs(dok.Zaplacono).AsString();
|
item.Kwota = Math.Abs(dok.Zaplacono).AsString();
|
||||||
|
|||||||
@ -25,7 +25,7 @@ public class KwOpakowania : IDecretsDefinition
|
|||||||
item.Data = dok.DataPom;
|
item.Data = dok.DataPom;
|
||||||
item.DataWplywu = dok.Data;
|
item.DataWplywu = dok.Data;
|
||||||
item.Nr = dok.NrDok;
|
item.Nr = dok.NrDok;
|
||||||
item.Opis = dok.TekstZaCo();
|
item.Opis = dok.NrDok;
|
||||||
item.StronaKonta = d.AccountSide;
|
item.StronaKonta = d.AccountSide;
|
||||||
item.KontoFk = d.Account;
|
item.KontoFk = d.Account;
|
||||||
item.Kwota = Math.Abs(dok.Zaplacono).AsString();
|
item.Kwota = Math.Abs(dok.Zaplacono).AsString();
|
||||||
|
|||||||
@ -6,7 +6,7 @@ public class KwPolcard : IDecretsDefinition
|
|||||||
public string Type => nameof(KwPolcard);
|
public string Type => nameof(KwPolcard);
|
||||||
public List<Definition> Definitions { get; } =
|
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]")
|
new Definition("100-1-24", "MA", "[sbr]")
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@ -26,7 +26,7 @@ public class KwPomylkaKasjera : IDecretsDefinition
|
|||||||
item.Data = dok.DataPom;
|
item.Data = dok.DataPom;
|
||||||
item.DataWplywu = dok.Data;
|
item.DataWplywu = dok.Data;
|
||||||
item.Nr = dok.NrDok;
|
item.Nr = dok.NrDok;
|
||||||
item.Opis = dok.TekstZaCo();
|
item.Opis = dok.NrDok;
|
||||||
item.StronaKonta = d.AccountSide;
|
item.StronaKonta = d.AccountSide;
|
||||||
item.KontoFk = d.Account;
|
item.KontoFk = d.Account;
|
||||||
item.Kwota = Math.Abs(dok.Zaplacono).AsString();
|
item.Kwota = Math.Abs(dok.Zaplacono).AsString();
|
||||||
|
|||||||
@ -26,7 +26,7 @@ public class KwUtarg : IDecretsDefinition
|
|||||||
item.Data = dok.DataPom;
|
item.Data = dok.DataPom;
|
||||||
item.DataWplywu = dok.Data;
|
item.DataWplywu = dok.Data;
|
||||||
item.Nr = dok.NrDok;
|
item.Nr = dok.NrDok;
|
||||||
item.Opis = dok.TekstZaCo();
|
item.Opis = dok.NrDok;
|
||||||
item.StronaKonta = d.AccountSide;
|
item.StronaKonta = d.AccountSide;
|
||||||
item.KontoFk = d.Account;
|
item.KontoFk = d.Account;
|
||||||
item.Kwota = Math.Abs(dok.Zaplacono).AsString();
|
item.Kwota = Math.Abs(dok.Zaplacono).AsString();
|
||||||
|
|||||||
@ -26,7 +26,7 @@ public class MmMinus : IDecretsDefinition
|
|||||||
item.Data = dok.DataPom;
|
item.Data = dok.DataPom;
|
||||||
item.DataWplywu = dok.Data;
|
item.DataWplywu = dok.Data;
|
||||||
item.Nr = dok.NrDok;
|
item.Nr = dok.NrDok;
|
||||||
item.Opis = dok.TekstZaCo();
|
item.Opis = $"{dok.NrDok} / PRZERZUT NA {item.k_Skrot}";
|
||||||
item.StronaKonta = d.AccountSide;
|
item.StronaKonta = d.AccountSide;
|
||||||
item.KontoFk = d.Account;
|
item.KontoFk = d.Account;
|
||||||
item.Kwota = ProcessValue(dok, d.Expression).AsString();
|
item.Kwota = ProcessValue(dok, d.Expression).AsString();
|
||||||
|
|||||||
@ -26,7 +26,7 @@ public class MmPlus : IDecretsDefinition
|
|||||||
item.Data = dok.DataPom;
|
item.Data = dok.DataPom;
|
||||||
item.DataWplywu = dok.Data;
|
item.DataWplywu = dok.Data;
|
||||||
item.Nr = dok.NrDok;
|
item.Nr = dok.NrDok;
|
||||||
item.Opis = dok.TekstZaCo();
|
item.Opis = $"{dok.NrDok} / PRZERZUT Z {item.k_Skrot}";
|
||||||
item.StronaKonta = d.AccountSide;
|
item.StronaKonta = d.AccountSide;
|
||||||
item.KontoFk = d.Account;
|
item.KontoFk = d.Account;
|
||||||
item.Kwota = ProcessValue(dok, d.Expression).AsString();
|
item.Kwota = ProcessValue(dok, d.Expression).AsString();
|
||||||
|
|||||||
38
FKGees/DocsDefinitions/Decrets/ObrotOpakowaniami.cs
Normal file
38
FKGees/DocsDefinitions/Decrets/ObrotOpakowaniami.cs
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -26,7 +26,7 @@ public class Przecena : IDecretsDefinition
|
|||||||
item.Data = dok.DataPom;
|
item.Data = dok.DataPom;
|
||||||
item.DataWplywu = dok.Data;
|
item.DataWplywu = dok.Data;
|
||||||
item.Nr = dok.NrDok;
|
item.Nr = dok.NrDok;
|
||||||
item.Opis = dok.TekstZaCo();
|
item.Opis = dok.NrDok;
|
||||||
item.StronaKonta = d.AccountSide;
|
item.StronaKonta = d.AccountSide;
|
||||||
item.KontoFk = d.Account;
|
item.KontoFk = d.Account;
|
||||||
item.Kwota = Processvalue(dok, d.Expression).AsString();
|
item.Kwota = Processvalue(dok, d.Expression).AsString();
|
||||||
@ -40,17 +40,12 @@ public class Przecena : IDecretsDefinition
|
|||||||
|
|
||||||
private decimal Processvalue(Dok doc, string expression)
|
private decimal Processvalue(Dok doc, string expression)
|
||||||
{
|
{
|
||||||
switch(expression)
|
return expression switch
|
||||||
{
|
{
|
||||||
case "[snr]-[znr]":
|
"[snr]-[znr]" => doc.Netto - doc.NettoDet,
|
||||||
return doc.Netto - doc.NettoDet;
|
"[sbr]-[snr]" => doc.Podatek - doc.PodatekDet,
|
||||||
case "[sbr]-[snr]":
|
"[sbr]" => doc.Razem,
|
||||||
return doc.Podatek - doc.PodatekDet;
|
_ => 0
|
||||||
case "[sbr]":
|
};
|
||||||
return doc.Razem;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -13,7 +13,8 @@ public class RapFisk : IDecretsDefinition
|
|||||||
new Definition("343-0-24", "WN", "[svr]"),
|
new Definition("343-0-24", "WN", "[svr]"),
|
||||||
new Definition("737-0-24", "MA", "[svr]"),
|
new Definition("737-0-24", "MA", "[svr]"),
|
||||||
new Definition("732-0-24", "WN", "[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)
|
public Task<List<DecretsResult>> Process(IReadOnlyList<Dok> documents)
|
||||||
|
|||||||
70
FKGees/DocsDefinitions/Decrets/Rozb.cs
Normal file
70
FKGees/DocsDefinitions/Decrets/Rozb.cs
Normal 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
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,9 +1,9 @@
|
|||||||
namespace FKGees.DocsDefinitions.Decrets;
|
namespace FKGees.DocsDefinitions.Decrets;
|
||||||
|
|
||||||
public class KpKasy : IDecretsDefinition
|
public class Utarg : IDecretsDefinition
|
||||||
{
|
{
|
||||||
public int DocType => 51;
|
public int DocType => 53;
|
||||||
public string Type => nameof(KpKasy);
|
public string Type => nameof(Utarg);
|
||||||
public List<Definition> Definitions { get; } =
|
public List<Definition> Definitions { get; } =
|
||||||
[
|
[
|
||||||
new Definition("100-1-24", "WN", "[sbr]"),
|
new Definition("100-1-24", "WN", "[sbr]"),
|
||||||
@ -15,9 +15,8 @@ public class KpKasy : IDecretsDefinition
|
|||||||
var result = new List<DecretsResult>();
|
var result = new List<DecretsResult>();
|
||||||
|
|
||||||
var toProcess = documents
|
var toProcess = documents
|
||||||
.Where(x => x.TypDok == DocType
|
.Where(x => x.TypDok == DocType && x.Kwota1 != 0)
|
||||||
&& x.NrDok.StartsWith("KP")
|
.GroupBy(x => x.Data);
|
||||||
&& x.Tekst1() == Constants.KpTekstyDod[nameof(KpKasy)]);
|
|
||||||
|
|
||||||
foreach (var dok in toProcess)
|
foreach (var dok in toProcess)
|
||||||
{
|
{
|
||||||
@ -25,13 +24,13 @@ public class KpKasy : IDecretsDefinition
|
|||||||
{
|
{
|
||||||
var item = new DecretsResult
|
var item = new DecretsResult
|
||||||
{
|
{
|
||||||
Data = dok.DataPom,
|
Data = dok.Key,
|
||||||
DataWplywu = dok.Data,
|
DataWplywu = dok.Key,
|
||||||
Nr = dok.NrDok,
|
Nr = string.Join(", ",dok.Select(z => z.NrDok)),
|
||||||
Opis = dok.TekstZaCo(),
|
Opis = "UTARG Z KAS",
|
||||||
StronaKonta = d.AccountSide,
|
StronaKonta = d.AccountSide,
|
||||||
KontoFk = d.Account,
|
KontoFk = d.Account,
|
||||||
Kwota = Math.Abs(dok.Zaplacono).AsString()
|
Kwota = dok.Sum(x => x.Razem - x.Kwota1 + x.Kwota2).AsString()
|
||||||
};
|
};
|
||||||
|
|
||||||
result.Add(item);
|
result.Add(item);
|
||||||
69
FKGees/DocsDefinitions/Decrets/Zwroty.cs
Normal file
69
FKGees/DocsDefinitions/Decrets/Zwroty.cs
Normal 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
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -48,4 +48,9 @@ internal static class DokExtensions
|
|||||||
return dok.TekstDok.FirstOrDefault(x => x.Znaczenie == 71)?.Tekst ?? string.Empty;
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -7,13 +7,14 @@ internal static class ServiceCollectionExtensions
|
|||||||
{
|
{
|
||||||
internal static IServiceCollection AddDecretsDefinitions(this IServiceCollection services)
|
internal static IServiceCollection AddDecretsDefinitions(this IServiceCollection services)
|
||||||
{
|
{
|
||||||
|
services.AddSingleton<IDecretsDefinition, RapFisk>();
|
||||||
|
services.AddSingleton<IDecretsDefinition, ObrotOpakowaniami>();
|
||||||
services.AddSingleton<IDecretsDefinition, Przecena>();
|
services.AddSingleton<IDecretsDefinition, Przecena>();
|
||||||
services.AddSingleton<IDecretsDefinition, MmPlus>();
|
services.AddSingleton<IDecretsDefinition, MmPlus>();
|
||||||
services.AddSingleton<IDecretsDefinition, MmMinus>();
|
services.AddSingleton<IDecretsDefinition, MmMinus>();
|
||||||
services.AddSingleton<IDecretsDefinition, Pz>();
|
services.AddSingleton<IDecretsDefinition, Pz>();
|
||||||
services.AddSingleton<IDecretsDefinition, Wz>();
|
services.AddSingleton<IDecretsDefinition, Wz>();
|
||||||
services.AddSingleton<IDecretsDefinition, PzFaktura>();
|
services.AddSingleton<IDecretsDefinition, PzFaktura>();
|
||||||
services.AddSingleton<IDecretsDefinition, RapFisk>();
|
|
||||||
services.AddSingleton<IDecretsDefinition, KorDetal>();
|
services.AddSingleton<IDecretsDefinition, KorDetal>();
|
||||||
services.AddSingleton<IDecretsDefinition, FaktSprz>();
|
services.AddSingleton<IDecretsDefinition, FaktSprz>();
|
||||||
services.AddSingleton<IDecretsDefinition, KwBony>();
|
services.AddSingleton<IDecretsDefinition, KwBony>();
|
||||||
@ -24,13 +25,18 @@ internal static class ServiceCollectionExtensions
|
|||||||
services.AddSingleton<IDecretsDefinition, KwPomylkaKasjera>();
|
services.AddSingleton<IDecretsDefinition, KwPomylkaKasjera>();
|
||||||
services.AddSingleton<IDecretsDefinition, KwUtarg>();
|
services.AddSingleton<IDecretsDefinition, KwUtarg>();
|
||||||
services.AddSingleton<IDecretsDefinition, KpInne>();
|
services.AddSingleton<IDecretsDefinition, KpInne>();
|
||||||
services.AddSingleton<IDecretsDefinition, KpKasy>();
|
services.AddSingleton<IDecretsDefinition, Utarg>();
|
||||||
services.AddSingleton<IDecretsDefinition, KpKaucjaZaOpakowania>();
|
services.AddSingleton<IDecretsDefinition, KpKaucjaZaOpakowania>();
|
||||||
services.AddSingleton<IDecretsDefinition, KpKaucjaZDokUtargu>();
|
services.AddSingleton<IDecretsDefinition, KpKaucjaZDokUtargu>();
|
||||||
services.AddSingleton<IDecretsDefinition, KwKaucjaZDokUtargu>();
|
services.AddSingleton<IDecretsDefinition, KwKaucjaZDokUtargu>();
|
||||||
services.AddSingleton<IDecretsDefinition, KpLotto>();
|
services.AddSingleton<IDecretsDefinition, KpLotto>();
|
||||||
services.AddSingleton<IDecretsDefinition, KpPaysafe>();
|
services.AddSingleton<IDecretsDefinition, KpPaysafe>();
|
||||||
services.AddSingleton<IDecretsDefinition, KpRachunki>();
|
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;
|
return services;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,16 +8,16 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="CsvHelper" Version="32.0.3" />
|
<PackageReference Include="CsvHelper" Version="33.0.1" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.6">
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.8">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</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.DependencyInjection" Version="8.0.0"/>
|
||||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0"/>
|
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0"/>
|
||||||
<PackageReference Include="NLog" Version="5.3.2"/>
|
<PackageReference Include="NLog" Version="5.3.4" />
|
||||||
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.11"/>
|
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.13" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@ -26,7 +26,9 @@ public class PcmService
|
|||||||
.ThenInclude(x => x.Dok)
|
.ThenInclude(x => x.Dok)
|
||||||
.Include(x => x.DokKasa)
|
.Include(x => x.DokKasa)
|
||||||
.ThenInclude(x => x.Kasa)
|
.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();
|
.ToListAsync();
|
||||||
return documents;
|
return documents;
|
||||||
}
|
}
|
||||||
@ -41,7 +43,9 @@ public class PcmService
|
|||||||
.ThenInclude(x => x.Kontr)
|
.ThenInclude(x => x.Kontr)
|
||||||
.Include(x => x.TekstDok)
|
.Include(x => x.TekstDok)
|
||||||
.Include(x => x.RozbicieDok)
|
.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();
|
.ToListAsync();
|
||||||
return documents;
|
return documents;
|
||||||
}
|
}
|
||||||
@ -58,11 +62,48 @@ public class PcmService
|
|||||||
return dok?.RozliczanyDok.NrDok ?? string.Empty;
|
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()
|
public async Task<List<FormaPlatnosci>> FormyPlatnosci()
|
||||||
{
|
{
|
||||||
await using var context = await _dbContextFactory.CreateDbContextAsync();
|
await using var context = await _dbContextFactory.CreateDbContextAsync();
|
||||||
context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;
|
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 = 0, Tekst = "Gotówka"});
|
||||||
fplat.Add(new FormaPlatnosci {FormaPlat = 1, Tekst = "Przelew"});
|
fplat.Add(new FormaPlatnosci {FormaPlat = 1, Tekst = "Przelew"});
|
||||||
fplat.Add(new FormaPlatnosci {FormaPlat = 2, Tekst = "Czek potwierdzony"});
|
fplat.Add(new FormaPlatnosci {FormaPlat = 2, Tekst = "Czek potwierdzony"});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user