BillingTest: Implement Test_02 and Test_03
This commit is contained in:
@ -7,9 +7,18 @@ namespace Tests.HelperTests {
|
|||||||
[TestFixture]
|
[TestFixture]
|
||||||
public class BillingTest {
|
public class BillingTest {
|
||||||
|
|
||||||
private const int Year1 = 2020, Year2 = 2020;
|
private const int Year1 = 2020, Year2 = 2021;
|
||||||
private const int MgNr1 = 101, MgNr2 = 102, MgNr3 = 103, MgNr4 = 104;
|
private const int MgNr1 = 101, MgNr2 = 102, MgNr3 = 103, MgNr4 = 104;
|
||||||
|
|
||||||
|
private const decimal
|
||||||
|
GV_ungeb = 0.50m,
|
||||||
|
GV_geb = 0.60m,
|
||||||
|
GVB_ungeb = 0.54m,
|
||||||
|
GVB_geb = 0.64m,
|
||||||
|
GVK_ungeb = 0.61m,
|
||||||
|
GVK_geb = 0.71m,
|
||||||
|
WEI = 0.10m;
|
||||||
|
|
||||||
private SqliteConnection? Connection;
|
private SqliteConnection? Connection;
|
||||||
|
|
||||||
[OneTimeSetUp]
|
[OneTimeSetUp]
|
||||||
@ -26,6 +35,40 @@ namespace Tests.HelperTests {
|
|||||||
Connection = null;
|
Connection = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[SetUp]
|
||||||
|
public async Task CreatePaymentVariant() {
|
||||||
|
var json = """
|
||||||
|
{
|
||||||
|
"mode": "elwig",
|
||||||
|
"version": 1,
|
||||||
|
"payment": {
|
||||||
|
"GV/": "curve:0",
|
||||||
|
"GV/B": "curve:1",
|
||||||
|
"GV/K": "curve:2"
|
||||||
|
},
|
||||||
|
"quality": {"WEI": 0.1},
|
||||||
|
"curves": [{
|
||||||
|
"id": 0,
|
||||||
|
"mode": "oe",
|
||||||
|
"data": {"15kmw": 0.5},
|
||||||
|
"geb": 0.1
|
||||||
|
}, {
|
||||||
|
"id": 1,
|
||||||
|
"mode": "oe",
|
||||||
|
"data": {"15kmw": 0.54},
|
||||||
|
"geb": 0.1
|
||||||
|
}, {
|
||||||
|
"id": 2,
|
||||||
|
"mode": "oe",
|
||||||
|
"data": {"15kmw": 0.61},
|
||||||
|
"geb": 0.1
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
""";
|
||||||
|
await InsertPaymentVariant(Year1, 1, json);
|
||||||
|
await InsertPaymentVariant(Year2, 1, json);
|
||||||
|
}
|
||||||
|
|
||||||
[TearDown]
|
[TearDown]
|
||||||
public async Task CleanupDatabasePayment() {
|
public async Task CleanupDatabasePayment() {
|
||||||
if (Connection == null) return;
|
if (Connection == null) return;
|
||||||
@ -51,11 +94,11 @@ namespace Tests.HelperTests {
|
|||||||
return ctx.GetMemberPaymentBuckets(year, mgnr, Connection);
|
return ctx.GetMemberPaymentBuckets(year, mgnr, Connection);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<Dictionary<(string, string), int>> GetMemberDeliveryPrices(int year, int mgnr) {
|
private async Task<Dictionary<(string, string), (int, decimal)>> GetMemberDeliveryPrices(int year, int mgnr) {
|
||||||
var buckets = new Dictionary<(string, string), int>();
|
var buckets = new Dictionary<(string, string), (int, decimal)>();
|
||||||
using (var cmd = Connection!.CreateCommand()) {
|
using (var cmd = Connection!.CreateCommand()) {
|
||||||
cmd.CommandText = $"""
|
cmd.CommandText = $"""
|
||||||
SELECT lsnr || '/' || d.dpnr, d.sortid || b.discr, price
|
SELECT lsnr || '/' || d.dpnr, d.sortid || b.discr, b.value, p.price
|
||||||
FROM v_delivery d
|
FROM v_delivery d
|
||||||
LEFT JOIN payment_delivery_part_bucket p ON (p.year, p.did, p.dpnr) = (d.year, d.did, d.dpnr)
|
LEFT JOIN payment_delivery_part_bucket p ON (p.year, p.did, p.dpnr) = (d.year, d.did, d.dpnr)
|
||||||
LEFT JOIN delivery_part_bucket b ON (b.year, b.did, b.dpnr, b.bktnr) = (p.year, p.did, p.dpnr, p.bktnr)
|
LEFT JOIN delivery_part_bucket b ON (b.year, b.did, b.dpnr, b.bktnr) = (p.year, p.did, p.dpnr, p.bktnr)
|
||||||
@ -65,7 +108,7 @@ namespace Tests.HelperTests {
|
|||||||
while (await reader.ReadAsync()) {
|
while (await reader.ReadAsync()) {
|
||||||
var lsnr = reader.GetString(0);
|
var lsnr = reader.GetString(0);
|
||||||
var bucket = reader.GetString(1);
|
var bucket = reader.GetString(1);
|
||||||
buckets[(lsnr, bucket)] = reader.GetInt32(2);
|
buckets[(lsnr, bucket)] = (reader.GetInt32(2), Utils.DecFromDb(reader.GetInt32(3), 4));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return buckets;
|
return buckets;
|
||||||
@ -81,34 +124,6 @@ namespace Tests.HelperTests {
|
|||||||
[Test]
|
[Test]
|
||||||
public async Task Test_01_NoActiveAreaComs() {
|
public async Task Test_01_NoActiveAreaComs() {
|
||||||
int mgnr = MgNr1, year = Year1;
|
int mgnr = MgNr1, year = Year1;
|
||||||
await InsertPaymentVariant(year, 1, """
|
|
||||||
{
|
|
||||||
"mode": "elwig",
|
|
||||||
"version": 1,
|
|
||||||
"payment": {
|
|
||||||
"GV/": "curve:0",
|
|
||||||
"GV/B": "curve:1",
|
|
||||||
"GV/K": "curve:2"
|
|
||||||
},
|
|
||||||
"quality": {"WEI": 0.1},
|
|
||||||
"curves": [{
|
|
||||||
"id": 0,
|
|
||||||
"mode": "oe",
|
|
||||||
"data": {"15kmw": 0.5},
|
|
||||||
"geb": 0.1
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"mode": "oe",
|
|
||||||
"data": {"15kmw": 0.54},
|
|
||||||
"geb": 0.1
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"mode": "oe",
|
|
||||||
"data": {"15kmw": 0.61},
|
|
||||||
"geb": 0.1
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
""");
|
|
||||||
|
|
||||||
var areaCom = await GetMemberAreaCommitmentBuckets(year, mgnr);
|
var areaCom = await GetMemberAreaCommitmentBuckets(year, mgnr);
|
||||||
Assert.That(areaCom, Is.Empty);
|
Assert.That(areaCom, Is.Empty);
|
||||||
@ -133,25 +148,117 @@ namespace Tests.HelperTests {
|
|||||||
var prices = await GetMemberDeliveryPrices(year, mgnr);
|
var prices = await GetMemberDeliveryPrices(year, mgnr);
|
||||||
Assert.Multiple(() => {
|
Assert.Multiple(() => {
|
||||||
Assert.That(prices, Has.Count.EqualTo(6));
|
Assert.That(prices, Has.Count.EqualTo(6));
|
||||||
Assert.That(prices[("20201001X001/1", "GV_")], Is.EqualTo(0_6100));
|
// Kabinett
|
||||||
Assert.That(prices[("20201001X001/2", "GV_")], Is.EqualTo(0_5000));
|
Assert.That(prices[("20201001X001/1", "GV_")], Is.EqualTo((4_000, GV_ungeb)));
|
||||||
Assert.That(prices[("20201001X002/1", "GV_")], Is.EqualTo(0_5400));
|
// ohne Attribut
|
||||||
Assert.That(prices[("20201001X002/2", "GV_")], Is.EqualTo(0_5400));
|
Assert.That(prices[("20201001X001/2", "GV_")], Is.EqualTo((4_000, GV_ungeb)));
|
||||||
Assert.That(prices[("20201001X003/1", "GV_")], Is.EqualTo(0_1000));
|
// Bio
|
||||||
Assert.That(prices[("20201001X003/2", "GV_")], Is.EqualTo(0_5000));
|
Assert.That(prices[("20201001X002/1", "GV_")], Is.EqualTo((4_000, GVB_ungeb)));
|
||||||
|
// Bio
|
||||||
|
Assert.That(prices[("20201001X002/2", "GV_")], Is.EqualTo((4_000, GVB_ungeb)));
|
||||||
|
// ohne Attribut
|
||||||
|
Assert.That(prices[("20201001X003/1", "GV_")], Is.EqualTo(( 500, WEI)));
|
||||||
|
// ohne Attribut
|
||||||
|
Assert.That(prices[("20201001X003/2", "GV_")], Is.EqualTo(( 500, GV_ungeb)));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
[Ignore("Not implemented yet")]
|
|
||||||
public async Task Test_02_SimpleNotStrictAreaComs() {
|
public async Task Test_02_SimpleNotStrictAreaComs() {
|
||||||
// TODO
|
int mgnr = MgNr1, year = Year2;
|
||||||
|
|
||||||
|
var areaCom = await GetMemberAreaCommitmentBuckets(year, mgnr);
|
||||||
|
Assert.Multiple(() => {
|
||||||
|
Assert.That(areaCom, Has.Count.EqualTo(1));
|
||||||
|
Assert.That(areaCom["GV"], Is.EqualTo(new AreaComBucket(10_000, 5_000, 10_000)));
|
||||||
|
});
|
||||||
|
var delivery = await GetMemberDeliveryBuckets(year, mgnr);
|
||||||
|
Assert.Multiple(() => {
|
||||||
|
Assert.That(delivery, Has.Count.EqualTo(4));
|
||||||
|
Assert.That(delivery["GV"], Is.EqualTo(16_000));
|
||||||
|
Assert.That(delivery["GV_"], Is.EqualTo( 1_000));
|
||||||
|
Assert.That(delivery["GVB"], Is.EqualTo( 8_000));
|
||||||
|
Assert.That(delivery["GVK"], Is.EqualTo( 4_000));
|
||||||
|
});
|
||||||
|
|
||||||
|
BillingVariant b = new(year, 1);
|
||||||
|
await b.CalculateBuckets(false, false, false, Connection);
|
||||||
|
var payment = await GetMemberPaymentBuckets(year, mgnr);
|
||||||
|
Assert.Multiple(() => {
|
||||||
|
Assert.That(payment, Has.Count.EqualTo(2));
|
||||||
|
Assert.That(payment["GV_"], Is.EqualTo( 7_000));
|
||||||
|
Assert.That(payment["GV"], Is.EqualTo(10_000));
|
||||||
|
});
|
||||||
|
|
||||||
|
await b.Calculate(false, false, false);
|
||||||
|
var prices = await GetMemberDeliveryPrices(year, mgnr);
|
||||||
|
Assert.Multiple(() => {
|
||||||
|
Assert.That(prices, Has.Count.EqualTo(10));
|
||||||
|
// Kabinett
|
||||||
|
Assert.That(prices[("20211001X001/1", "GV_")], Is.EqualTo((2_000, GV_ungeb)));
|
||||||
|
Assert.That(prices[("20211001X001/1", "GV")] , Is.EqualTo((2_000, GV_geb)));
|
||||||
|
// ohne Attribut
|
||||||
|
Assert.That(prices[("20211001X001/2", "GV_")], Is.EqualTo((4_000, GV_ungeb)));
|
||||||
|
Assert.That(prices[("20211001X001/2", "GV")], Is.EqualTo(( 0, GV_geb)));
|
||||||
|
// Bio
|
||||||
|
Assert.That(prices[("20211001X002/1", "GV_")], Is.EqualTo(( 0, GVB_ungeb)));
|
||||||
|
Assert.That(prices[("20211001X002/1", "GV")], Is.EqualTo((4_000, GVB_geb)));
|
||||||
|
// Bio
|
||||||
|
Assert.That(prices[("20211001X002/2", "GV_")], Is.EqualTo(( 0, GVB_ungeb)));
|
||||||
|
Assert.That(prices[("20211001X002/2", "GV")], Is.EqualTo((4_000, GVB_geb)));
|
||||||
|
// ohne Attribut
|
||||||
|
Assert.That(prices[("20211001X003/1", "GV_")], Is.EqualTo(( 500, WEI)));
|
||||||
|
// ohne Attribut
|
||||||
|
Assert.That(prices[("20211001X003/2", "GV_")], Is.EqualTo(( 500, GV_ungeb)));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
[Ignore("Not implemented yet")]
|
|
||||||
public async Task Test_03_SimpleNotStrictAreaComs_HonorGebunden() {
|
public async Task Test_03_SimpleNotStrictAreaComs_HonorGebunden() {
|
||||||
// TODO
|
int mgnr = MgNr1, year = Year2;
|
||||||
|
|
||||||
|
var areaCom = await GetMemberAreaCommitmentBuckets(year, mgnr);
|
||||||
|
Assert.Multiple(() => {
|
||||||
|
Assert.That(areaCom, Has.Count.EqualTo(1));
|
||||||
|
Assert.That(areaCom["GV"], Is.EqualTo(new AreaComBucket(10_000, 5_000, 10_000)));
|
||||||
|
});
|
||||||
|
var delivery = await GetMemberDeliveryBuckets(year, mgnr);
|
||||||
|
Assert.Multiple(() => {
|
||||||
|
Assert.That(delivery, Has.Count.EqualTo(4));
|
||||||
|
Assert.That(delivery["GV"], Is.EqualTo(16_000));
|
||||||
|
Assert.That(delivery["GV_"], Is.EqualTo( 1_000));
|
||||||
|
Assert.That(delivery["GVB"], Is.EqualTo( 8_000));
|
||||||
|
Assert.That(delivery["GVK"], Is.EqualTo( 4_000));
|
||||||
|
});
|
||||||
|
|
||||||
|
BillingVariant b = new(year, 1);
|
||||||
|
await b.CalculateBuckets(true, false, false, Connection);
|
||||||
|
var payment = await GetMemberPaymentBuckets(year, mgnr);
|
||||||
|
Assert.Multiple(() => {
|
||||||
|
Assert.That(payment, Has.Count.EqualTo(2));
|
||||||
|
Assert.That(payment["GV_"], Is.EqualTo(9_000));
|
||||||
|
Assert.That(payment["GV"], Is.EqualTo(8_000));
|
||||||
|
});
|
||||||
|
|
||||||
|
await b.Calculate(true, false, false);
|
||||||
|
var prices = await GetMemberDeliveryPrices(year, mgnr);
|
||||||
|
Assert.Multiple(() => {
|
||||||
|
Assert.That(prices, Has.Count.EqualTo(8));
|
||||||
|
// Kabinett
|
||||||
|
Assert.That(prices[("20211001X001/1", "GV_")], Is.EqualTo(( 0, GV_ungeb)));
|
||||||
|
Assert.That(prices[("20211001X001/1", "GV")], Is.EqualTo((4_000, GV_geb)));
|
||||||
|
// ohne Attribut
|
||||||
|
Assert.That(prices[("20211001X001/2", "GV_")], Is.EqualTo((4_000, GV_ungeb)));
|
||||||
|
// Bio
|
||||||
|
Assert.That(prices[("20211001X002/1", "GV_")], Is.EqualTo(( 0, GVB_ungeb)));
|
||||||
|
Assert.That(prices[("20211001X002/1", "GV")], Is.EqualTo((4_000, GVB_geb)));
|
||||||
|
// Bio
|
||||||
|
Assert.That(prices[("20211001X002/2", "GV_")], Is.EqualTo((4_000, GVB_ungeb)));
|
||||||
|
// ohne Attribut
|
||||||
|
Assert.That(prices[("20211001X003/1", "GV_")], Is.EqualTo(( 500, WEI)));
|
||||||
|
// ohne Attribut
|
||||||
|
Assert.That(prices[("20211001X003/2", "GV_")], Is.EqualTo(( 500, GV_ungeb)));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
@ -16,17 +16,18 @@ INSERT INTO wine_attribute (attrid, name, active, max_kg_per_ha, strict, fill_lo
|
|||||||
('R', 'Vertrag R', TRUE, NULL, TRUE, 2);
|
('R', 'Vertrag R', TRUE, NULL, TRUE, 2);
|
||||||
|
|
||||||
INSERT INTO area_commitment_type (vtrgid, sortid, attrid, disc, min_kg_per_ha, penalty_per_kg, penalty_amount, penalty_none) VALUES
|
INSERT INTO area_commitment_type (vtrgid, sortid, attrid, disc, min_kg_per_ha, penalty_per_kg, penalty_amount, penalty_none) VALUES
|
||||||
('ZW', 'ZW', NULL, NULL, 2500, 600, NULL, NULL),
|
('ZW', 'ZW', NULL, NULL, 2500, 600, NULL, NULL),
|
||||||
('GV', 'GV', NULL, NULL, 5000, 500, NULL, NULL),
|
('GV', 'GV', NULL, NULL, 5000, 500, NULL, NULL),
|
||||||
('GVK', 'GV', 'K', NULL, 5000, 500, NULL, NULL),
|
('GVK', 'GV', 'K', NULL, 5000, 500, NULL, NULL),
|
||||||
('GVD', 'GV', 'D', NULL, 5000, 1000, NULL, NULL),
|
('GVD', 'GV', 'D', NULL, 5000, 1000, NULL, NULL),
|
||||||
('GVP', 'GV', 'P', NULL, 5000, 1000, 1000000, NULL),
|
('GVP', 'GV', 'P', NULL, 5000, 1000, 1000000, NULL),
|
||||||
('GVQ', 'GV', 'Q', NULL, 5000, 1000, 1000000, NULL),
|
('GVQ', 'GV', 'Q', NULL, 5000, 1000, 1000000, NULL),
|
||||||
('GVR', 'GV', 'R', NULL, 5000, 1000, 1000000, NULL);
|
('GVR', 'GV', 'R', NULL, 5000, 1000, 1000000, NULL);
|
||||||
|
|
||||||
INSERT INTO area_commitment (fbnr, mgnr, vtrgid, cultid, area, kgnr, gstnr, rdnr, year_from, year_to) VALUES
|
INSERT INTO area_commitment (fbnr, mgnr, vtrgid, cultid, area, kgnr, gstnr, rdnr, year_from, year_to) VALUES
|
||||||
( 1, 101, 'GV', 'K', 10000, 06109, '123/4', NULL, 2000, 2019),
|
( 1, 101, 'GV', 'K', 10000, 06109, '123/4', NULL, 2000, 2019),
|
||||||
( 2, 101, 'GV', 'B', 10000, 06109, '123/5', NULL, 2025, 2030);
|
( 2, 101, 'GV', 'K', 10000, 06109, '123/5', NULL, 2025, 2030),
|
||||||
|
( 3, 101, 'GV', 'K', 10000, 06109, '123/6', NULL, 2021, 2031);
|
||||||
|
|
||||||
INSERT INTO season (year, currency, min_kg_per_bs, max_kg_per_bs, penalty_per_kg, penalty_amount, penalty_none, start_date, end_date) VALUES
|
INSERT INTO season (year, currency, min_kg_per_bs, max_kg_per_bs, penalty_per_kg, penalty_amount, penalty_none, start_date, end_date) VALUES
|
||||||
(2020, 'EUR', 1000, 2000, NULL, NULL, NULL, NULL, NULL),
|
(2020, 'EUR', 1000, 2000, NULL, NULL, NULL, NULL, NULL),
|
||||||
@ -36,18 +37,30 @@ INSERT INTO modifier (year, modid, ordering, name, abs, rel, standard, quick_sel
|
|||||||
(2020, 'S', 0, 'Geschädigte Trauben', NULL, -0.1, FALSE, FALSE),
|
(2020, 'S', 0, 'Geschädigte Trauben', NULL, -0.1, FALSE, FALSE),
|
||||||
(2020, 'A', 0, 'Keine Voranmeldung', -1000, NULL, FALSE, FALSE);
|
(2020, 'A', 0, 'Keine Voranmeldung', -1000, NULL, FALSE, FALSE);
|
||||||
|
|
||||||
|
-- Test 01
|
||||||
INSERT INTO delivery (mgnr, year, did, date, time, zwstid, lnr) VALUES
|
INSERT INTO delivery (mgnr, year, did, date, time, zwstid, lnr) VALUES
|
||||||
(101, 2020, 1, '2020-10-01', NULL, 'X', 1),
|
(101, 2020, 1, '2020-10-01', NULL, 'X', 1),
|
||||||
(101, 2020, 2, '2020-10-01', NULL, 'X', 2),
|
(101, 2020, 2, '2020-10-01', NULL, 'X', 2),
|
||||||
(101, 2020, 3, '2020-10-01', NULL, 'X', 3);
|
(101, 2020, 3, '2020-10-01', NULL, 'X', 3);
|
||||||
|
|
||||||
INSERT INTO delivery_part (year, did, dpnr, sortid, attrid, weight, kmw, qualid, hkid, kgnr, gerebelt, manual_weighing, spl_check, scale_id, weighing_id, weighing_reason) VALUES
|
INSERT INTO delivery_part (year, did, dpnr, sortid, attrid, weight, kmw, qualid, hkid, kgnr, gerebelt, manual_weighing, spl_check, scale_id, weighing_id, weighing_reason) VALUES
|
||||||
(2020, 1, 1, 'GV', 'K', 4000, 17, 'KAB', 'WLNO', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
(2020, 1, 1, 'GV', 'K', 4000, 17, 'KAB', 'WLNO', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||||
(2020, 1, 2, 'GV', NULL, 4000, 16, 'QUW', 'WLNO', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
(2020, 1, 2, 'GV', NULL, 4000, 16, 'QUW', 'WLNO', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||||
(2020, 2, 1, 'GV', 'B', 4000, 15, 'QUW', 'WLNO', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
(2020, 2, 1, 'GV', 'B', 4000, 15, 'QUW', 'WLNO', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||||
(2020, 2, 2, 'GV', 'B', 4000, 16, 'QUW', 'WLNO', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
(2020, 2, 2, 'GV', 'B', 4000, 16, 'QUW', 'WLNO', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||||
(2020, 3, 1, 'GV', NULL, 500, 15, 'WEI', 'OEST', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
(2020, 3, 1, 'GV', NULL, 500, 15, 'WEI', 'OEST', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||||
(2020, 3, 2, 'GV', NULL, 500, 14, 'LDW', 'WLXX', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL);
|
(2020, 3, 2, 'GV', NULL, 500, 14, 'LDW', 'WLXX', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL);
|
||||||
|
|
||||||
INSERT INTO delivery_part_modifier (year, did, dpnr, modid) VALUES
|
INSERT INTO delivery_part_modifier (year, did, dpnr, modid) VALUES
|
||||||
(2020, 1, 2, 'S');
|
(2020, 1, 2, 'S');
|
||||||
|
|
||||||
|
-- Test 02 + 03
|
||||||
|
INSERT INTO delivery (mgnr, year, did, date, time, zwstid, lnr) VALUES
|
||||||
|
(101, 2021, 1, '2021-10-01', NULL, 'X', 1),
|
||||||
|
(101, 2021, 2, '2021-10-01', NULL, 'X', 2),
|
||||||
|
(101, 2021, 3, '2021-10-01', NULL, 'X', 3);
|
||||||
|
INSERT INTO delivery_part (year, did, dpnr, sortid, attrid, weight, kmw, qualid, hkid, kgnr, gebunden, gerebelt, manual_weighing, spl_check, scale_id, weighing_id, weighing_reason) VALUES
|
||||||
|
(2021, 1, 1, 'GV', 'K', 4000, 17, 'KAB', 'WLNO', 06109, TRUE, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||||
|
(2021, 1, 2, 'GV', NULL, 4000, 16, 'QUW', 'WLNO', 06109, FALSE, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||||
|
(2021, 2, 1, 'GV', 'B', 4000, 15, 'QUW', 'WLNO', 06109, TRUE, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||||
|
(2021, 2, 2, 'GV', 'B', 4000, 16, 'QUW', 'WLNO', 06109, FALSE, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||||
|
(2021, 3, 1, 'GV', NULL, 500, 15, 'WEI', 'OEST', 06109, NULL, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||||
|
(2021, 3, 2, 'GV', NULL, 500, 14, 'LDW', 'WLXX', 06109, NULL, TRUE, FALSE, FALSE, NULL, NULL, NULL);
|
||||||
|
Reference in New Issue
Block a user