MW Polcard
This commit is contained in:
parent
b1e13cfe3a
commit
10210abe89
@ -35,14 +35,14 @@ internal class App
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!DateTime.TryParseExact(args[0], Constants.DefaultdateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out var startDate))
|
if (!DateTime.TryParseExact(args[0], Constants.DefaultDateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out var startDate))
|
||||||
{
|
{
|
||||||
Console.WriteLine("Niewłaściwy format DataOd");
|
Console.WriteLine("Niewłaściwy format DataOd");
|
||||||
await Task.Delay(4000);
|
await Task.Delay(4000);
|
||||||
Environment.Exit(1);
|
Environment.Exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!DateTime.TryParseExact(args[1], Constants.DefaultdateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out var endDate))
|
if (!DateTime.TryParseExact(args[1], Constants.DefaultDateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out var endDate))
|
||||||
{
|
{
|
||||||
Console.WriteLine("Niewłaściwy format DataOd");
|
Console.WriteLine("Niewłaściwy format DataOd");
|
||||||
await Task.Delay(4000);
|
await Task.Delay(4000);
|
||||||
|
|||||||
@ -4,7 +4,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";
|
||||||
@ -19,8 +19,7 @@ namespace FKGees
|
|||||||
{
|
{
|
||||||
{nameof(KwBony), "*BONY*"},
|
{nameof(KwBony), "*BONY*"},
|
||||||
{nameof(KwOpakowania), "*KAUCJA ZA PRZYJĘTE*"},
|
{nameof(KwOpakowania), "*KAUCJA ZA PRZYJĘTE*"},
|
||||||
{nameof(KwUtarg), "*UTARG*"},
|
{nameof(KwUtarg), "*WYPŁATA DO BANKU*"},
|
||||||
{nameof(KwPolcard), "*POLCARD*"},
|
|
||||||
{nameof(KwInne), "*INNE*"},
|
{nameof(KwInne), "*INNE*"},
|
||||||
{nameof(KwPomylkaKasjera), "*POMYŁKA*"},
|
{nameof(KwPomylkaKasjera), "*POMYŁKA*"},
|
||||||
{nameof(KwLotto), "*LOTTO*"},
|
{nameof(KwLotto), "*LOTTO*"},
|
||||||
|
|||||||
@ -18,7 +18,6 @@ public class KpKaucjaZDokUtargu : IDecretsDefinition
|
|||||||
.Where(x => x.TypDok == DocType && x.Kwota1 != 0)
|
.Where(x => x.TypDok == DocType && x.Kwota1 != 0)
|
||||||
.GroupBy(x => x.Data);
|
.GroupBy(x => x.Data);
|
||||||
|
|
||||||
|
|
||||||
foreach (var dok in toProcess)
|
foreach (var dok in toProcess)
|
||||||
{
|
{
|
||||||
Definitions.ForEach(d =>
|
Definitions.ForEach(d =>
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
public class KwPolcard : IDecretsDefinition
|
public class KwPolcard : IDecretsDefinition
|
||||||
{
|
{
|
||||||
public int DocType => 51;
|
public int DocType => 53;
|
||||||
public string Type => nameof(KwPolcard);
|
public string Type => nameof(KwPolcard);
|
||||||
public List<Definition> Definitions { get; } =
|
public List<Definition> Definitions { get; } =
|
||||||
[
|
[
|
||||||
@ -14,22 +14,24 @@ public class KwPolcard : IDecretsDefinition
|
|||||||
{
|
{
|
||||||
var result = new List<DecretsResult>();
|
var result = new List<DecretsResult>();
|
||||||
|
|
||||||
var toProcess = documents.Where(x => x.TypDok == DocType
|
var toProcess = documents
|
||||||
&& x.NrDok.StartsWith("KW")
|
.Where(x => x.TypDok == DocType && x.Kwota8 != 0)
|
||||||
&& x.Tekst1() == Constants.KwTekstyDod[nameof(KwPolcard)]);
|
.GroupBy(x => x.Data);
|
||||||
|
|
||||||
foreach (var dok in toProcess)
|
foreach (var dok in toProcess)
|
||||||
{
|
{
|
||||||
Definitions.ForEach(d =>
|
Definitions.ForEach(d =>
|
||||||
{
|
{
|
||||||
var item = dok.DecretKontr();
|
var item = new DecretsResult
|
||||||
item.Data = dok.DataPom;
|
{
|
||||||
item.DataWplywu = dok.Data;
|
Data = dok.Key,
|
||||||
item.Nr = dok.NrDok;
|
DataWplywu = dok.Key,
|
||||||
item.Opis = dok.TekstZaCo();
|
Nr = string.Join(", ",dok.Select(z => z.NrDok)),
|
||||||
item.StronaKonta = d.AccountSide;
|
Opis = "POLCARD",
|
||||||
item.KontoFk = d.Account;
|
StronaKonta = d.AccountSide,
|
||||||
item.Kwota = Math.Abs(dok.Zaplacono).AsString();
|
KontoFk = d.Account,
|
||||||
|
Kwota = dok.Sum(x => x.Kwota8).AsString()
|
||||||
|
};
|
||||||
|
|
||||||
result.Add(item);
|
result.Add(item);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -25,11 +25,11 @@ internal class CsvService
|
|||||||
Mode = CsvMode.RFC4180,
|
Mode = CsvMode.RFC4180,
|
||||||
ShouldQuote = quoteArgs => quoteArgs.Field != nameof(DecretsResult.Data)
|
ShouldQuote = quoteArgs => quoteArgs.Field != nameof(DecretsResult.Data)
|
||||||
&& quoteArgs.Field != nameof(DecretsResult.DataWplywu)
|
&& quoteArgs.Field != nameof(DecretsResult.DataWplywu)
|
||||||
&& !DateTime.TryParseExact(quoteArgs.Field, Constants.DefaultdateFormat, CultureInfo.InvariantCulture,
|
&& !DateTime.TryParseExact(quoteArgs.Field, Constants.DefaultDateFormat, CultureInfo.InvariantCulture,
|
||||||
DateTimeStyles.None, out _)
|
DateTimeStyles.None, out _)
|
||||||
};
|
};
|
||||||
await using var csv = new CsvWriter(writer, conf);
|
await using var csv = new CsvWriter(writer, conf);
|
||||||
var options = new TypeConverterOptions { Formats = [Constants.DefaultdateFormat], NullValues = { string.Empty }};
|
var options = new TypeConverterOptions { Formats = [Constants.DefaultDateFormat], NullValues = { string.Empty }};
|
||||||
csv.Context.TypeConverterOptionsCache.AddOptions<DateTime>(options);
|
csv.Context.TypeConverterOptionsCache.AddOptions<DateTime>(options);
|
||||||
csv.Context.TypeConverterOptionsCache.AddOptions<DateTime?>(options);
|
csv.Context.TypeConverterOptionsCache.AddOptions<DateTime?>(options);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user