From 8247ebd39df0b93af9a37a9ae7935238e15e481d Mon Sep 17 00:00:00 2001 From: KammM Date: Thu, 4 Apr 2024 11:52:11 +0200 Subject: [PATCH] Initial --- SERVER/Insiders/SPL/DD_DbExport.spl.txt | 320 ++++++++++++++++++ ...SPLIT_STRING_MULTIDELIMITER_WITH_GUID].sql | 43 +++ .../SQL/[PRDD_INSERT_ANALYZER_HEAD].sql | 251 ++++++++++++++ .../SQL/[PRDD_INSERT_ANALYZER_ITEMS].sql | 121 +++++++ .../SQL/[PRDD_INSERT_ANALYZER_RESULT].sql | 118 +++++++ SERVER/Insiders/SQL/[TBDD_ANALYZER_HEAD].sql | 101 ++++++ SERVER/Insiders/SQL/[TBDD_ANALYZER_ITEMS].sql | 56 +++ .../Insiders/SQL/[TBDD_ANALYZER_RESULT].sql | 25 ++ 8 files changed, 1035 insertions(+) create mode 100644 SERVER/Insiders/SPL/DD_DbExport.spl.txt create mode 100644 SERVER/Insiders/SQL/[FNCUST_SPLIT_STRING_MULTIDELIMITER_WITH_GUID].sql create mode 100644 SERVER/Insiders/SQL/[PRDD_INSERT_ANALYZER_HEAD].sql create mode 100644 SERVER/Insiders/SQL/[PRDD_INSERT_ANALYZER_ITEMS].sql create mode 100644 SERVER/Insiders/SQL/[PRDD_INSERT_ANALYZER_RESULT].sql create mode 100644 SERVER/Insiders/SQL/[TBDD_ANALYZER_HEAD].sql create mode 100644 SERVER/Insiders/SQL/[TBDD_ANALYZER_ITEMS].sql create mode 100644 SERVER/Insiders/SQL/[TBDD_ANALYZER_RESULT].sql diff --git a/SERVER/Insiders/SPL/DD_DbExport.spl.txt b/SERVER/Insiders/SPL/DD_DbExport.spl.txt new file mode 100644 index 0000000..ad8ccb4 --- /dev/null +++ b/SERVER/Insiders/SPL/DD_DbExport.spl.txt @@ -0,0 +1,320 @@ +/****************************************************************************** + The copyright on the computer program(s) herein is the property of Insiders + Technologies GmbH, Kaiserslautern, Germany. The program(s) may be used or + copied only with the written permission of Insiders Technologies GmbH or in + accordance with the terms and conditions stipulated in the agreement or + contract under which the program(s) have been supplied. +******************************************************************************/ + +/****************************************************************************** + DD MD/MK 06/03/2024 +******************************************************************************/ +FUNCTION OnAnalyserFinishDocument() { + + // Setzte Dateinamen als primären Schlüssel + uid := DOC_ID(); + + // Kopfdaten + Head := DICT(); + Head['AA'] := uid; + Head['AB'] := [RE_CITY]; + Head['AC'] := [RE_COUNTRY]; + Head['AD'] := [RE_ILN]; + Head['AE'] := [RE_NAME]; + Head['AF'] := [RE_PK]; + Head['AG'] := [RE_RECIPIENT_NO]; + Head['AH'] := [RE_STREET]; + Head['AI'] := [RE_SYSTEM]; + Head['AJ'] := [RE_TAX_ID_NO]; + Head['AK'] := [RE_VAT_ID_NO]; + Head['AL'] := [RE_ZIPCODE]; + Head['AM'] := [VE_ACCOUNT_NO]; + Head['AN'] := [VE_BANK]; + Head['AO'] := [VE_BANK_NO]; + Head['AP'] := [VE_CITY]; + Head['AQ'] := [VE_CLERK_ID]; + Head['AR'] := [VE_COUNTRY]; + Head['AS'] := [VE_EMAIL]; + Head['AT'] := [VE_FAX_NO]; + Head['AU'] := [VE_IBAN]; + Head['AV'] := [VE_ILN]; + Head['AW'] := [VE_NAME]; + Head['AX'] := [VE_RECIPIENT_NO]; + Head['AY'] := [VE_STREET]; + Head['AZ'] := [VE_SWIFT_BIC]; + Head['BA'] := [VE_TAX_ID_NO]; + Head['BB'] := [VE_TELEFONE_NO]; + Head['BC'] := [VE_VAT_ID_NO]; + Head['BD'] := [VE_VENDOR_NO]; + Head['BE'] := [VE_ZIPCODE]; + Head['BF'] := [INV_AMOUNT]; + Head['BG'] := [INV_AMOUNT_ROUNDING]; + Head['BH'] := [INV_CASCADED_ITEM_DISCOUNTS]; + Head['BI'] := [INV_COMPLIANCE_COMMENTS]; + Head['BJ'] := [INV_COMPLIANT]; + Head['BK'] := [INV_CREDIT_NOTE]; + Head['BL'] := [INV_CURRENCY]; + Head['BM'] := [INV_CUSTOMS_CHARGE]; + Head['BN'] := [INV_DATE]; + Head['BO'] := [INV_DELIVERY_DATE]; + Head['BP'] := [INV_DELIVERY_MONTH]; + Head['BQ'] := [INV_DELIVERY_WEEK]; + Head['BR'] := [INV_DISCOUNTABLE_AMOUNT]; + Head['BS'] := [INV_DISCOUNT_AMOUNT1]; + Head['BT'] := [INV_DISCOUNT_AMOUNT2]; + Head['BU'] := [INV_DISCOUNT_PERCENT1]; + Head['BV'] := [INV_DISCOUNT_PERCENT2]; + Head['BW'] := [INV_FREIGHT_CHARGE]; + //Head['AX'] := [INV_GROSS_AMOUNT1]; + //Head['AY'] := [INV_GROSS_AMOUNT2]; + //Head['BA'] := [INV_GROSS_AMOUNT3]; + Head['CB'] := [INV_INSURANCE_CHARGE]; + Head['CC'] := [INV_IS_INTERCOMPANY]; + Head['CD'] := [INV_IS_MM]; + Head['CE'] := [INV_NET_AMOUNT1]; + Head['CF'] := [INV_NET_AMOUNT2]; + Head['CG'] := [INV_NET_AMOUNT3]; + Head['CH'] := [INV_NUMBER]; + Head['CI'] := [INV_PACKING_CHARGE]; + Head['CJ'] := [INV_POSTAL_CHARGE]; + Head['CK'] := [INV_POS_DIFF_CHK]; + Head['CL'] := [INV_REFERENCE_DATE]; + Head['CM'] := [INV_REFERENCE_NUMBER]; + Head['CN'] := [INV_SMALL_VOL_CHARGE]; + Head['CO'] := [INV_SPECIAL_CHARGE]; + Head['CP'] := [INV_TAX_AMOUNT1]; + Head['CQ'] := [INV_TAX_AMOUNT2]; + Head['CR'] := [INV_TAX_AMOUNT3]; + Head['CS'] := [INV_TAX_RATE1]; + Head['CT'] := [INV_TAX_RATE2]; + Head['CU'] := [INV_TAX_RATE3]; + Head['CV'] := [INV_TOLL_CHARGE]; + Head['CW'] := [INV_VALUTA_DATE]; + Head['CX'] := [INV_VALUTA_DAYS]; + Head['CY'] := [INV_VALUTA_WEEKS]; + Head['CZ'] := 'DD_DbExport.spl'; + + //stdWriteLog('Message',STRING_FORMAT('DD_DbExport - OnAnalyserFinishDocument - Head: %1','EXEC dbo.PRDD_INSERT_ANALYZER_HEAD'),''); + SQL_EXEC dbeGetHandle(),'EXEC dbo.PRDD_INSERT_ANALYZER_HEAD ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?' PARAMS dbuDictToVector(Head); + SQL_COMMIT(dbeGetHandle()); + + // Schleife für die Positionsmitte + FOR lineIdx := 1 TO NUM_LINES('InvoiceItems')-1 { + + Items := DICT(); + Items['AA'] := uid; + Items['AB'] := CELL(*FIELD('INVI_POS_NO'), lineIdx)+0; + Items['AC'] := CELL(*FIELD('INVI_ARTICLE_NO'), lineIdx); + Items['AD'] := CELL(*FIELD('INVI_CHARGE_AMOUNT1'), lineIdx); + Items['AE'] := CELL(*FIELD('INVI_CHARGE_AMOUNT2'), lineIdx); + Items['AF'] := CELL(*FIELD('INVI_CHARGE_AMOUNT3'), lineIdx); + Items['AG'] := CELL(*FIELD('INVI_CHARGE_PERCENT1'), lineIdx); + Items['AH'] := CELL(*FIELD('INVI_CHARGE_PERCENT2'), lineIdx); + Items['AI'] := CELL(*FIELD('INVI_CHARGE_PERCENT3'), lineIdx); + Items['AJ'] := CELL(*FIELD('INVI_CHARGE_PER_PIECE1'), lineIdx); + Items['AK'] := CELL(*FIELD('INVI_CHARGE_PER_PIECE2'), lineIdx); + Items['AL'] := CELL(*FIELD('INVI_CHARGE_PER_PIECE3'), lineIdx); + Items['AM'] := CELL(*FIELD('INVI_DELIVERY_DATE'), lineIdx); + Items['AN'] := CELL(*FIELD('INVI_DELIVERY_NO'), lineIdx); + Items['AO'] := CELL(*FIELD('INVI_DIFF_CHK'), lineIdx); + Items['AP'] := CELL(*FIELD('INVI_DISCOUNT_AMOUNT1'), lineIdx); + Items['AQ'] := CELL(*FIELD('INVI_DISCOUNT_AMOUNT2'), lineIdx); + Items['AR'] := CELL(*FIELD('INVI_DISCOUNT_AMOUNT3'), lineIdx); + Items['AS'] := CELL(*FIELD('INVI_DISCOUNT_PERCENT1'), lineIdx); + Items['AT'] := CELL(*FIELD('INVI_DISCOUNT_PERCENT2'), lineIdx); + Items['AU'] := CELL(*FIELD('INVI_DISCOUNT_PERCENT3'), lineIdx); + Items['AV'] := CELL(*FIELD('INVI_DISCOUNT_PER_PIECE1'), lineIdx); + Items['AW'] := CELL(*FIELD('INVI_DISCOUNT_PER_PIECE2'), lineIdx); + Items['AX'] := CELL(*FIELD('INVI_DISCOUNT_PER_PIECE3'), lineIdx); + Items['AY'] := CELL(*FIELD('INVI_IS_DELIVERY'), lineIdx); + Items['AZ'] := CELL(*FIELD('INVI_ORI_ARTICLE_NO'), lineIdx); + Items['BA'] := CELL(*FIELD('INVI_ORI_DESCRIPTION'), lineIdx); + Items['BB'] := CELL(*FIELD('INVI_QUANTITY'), lineIdx); + Items['BC'] := CELL(*FIELD('INVI_QUANTITY_UNIT'), lineIdx); + Items['BD'] := CELL(*FIELD('INVI_SINGLE_NET_PRICE'), lineIdx); + Items['BE'] := CELL(*FIELD('INVI_TOTAL_NET_PRICE'), lineIdx); + Items['BF'] := 'DD_DbExport.spl'; + + //stdWriteLog('Message',STRING_FORMAT('DD_DbExport - OnAnalyserFinishDocument - Items: %1','EXEC dbo.PRDD_INSERT_ANALYZER_ITEMS'),''); + SQL_EXEC dbeGetHandle(),'EXEC dbo.PRDD_INSERT_ANALYZER_ITEMS ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?' PARAMS dbuDictToVector(Items); + SQL_COMMIT(dbeGetHandle()); + + } // end for loop + + // Vergleiche Head und Items und schreibe Result in TB + Result := DICT(); + Result['AA'] := uid; + Result['AB'] := 'DD_DbExport.spl'; + + //stdWriteLog('Message',STRING_FORMAT('DD_DbExport - OnAnalyserFinishDocument - Result: %1','EXEC dbo.PRDD_INSERT_ANALYZER_RESULT'),''); + SQL_EXEC dbeGetHandle(),'EXEC dbo.PRDD_INSERT_ANALYZER_RESULT ?,?' PARAMS dbuDictToVector(Result); + SQL_COMMIT(dbeGetHandle()); + + //IF [#AMOUNT_LEARN] = [INV_AMOUNT] THEN + // stdWriteLog('Message',STRING_FORMAT('DD OnAnalyserFinishDocument - : %1','[#AMOUNT_LEARN] = [INV_AMOUNT]'),''); + +} // end OnAnalyserFinishDocument +/****************************************************************************** + FNo 14/03/2022 +******************************************************************************/ +FUNCTION dbeSetup() +{ + TRY SQL_EXEC dbeGetHandle(), 'DROP TABLE SF_HEAD_TEST'; CATCH(err){} + TRY SQL_EXEC dbeGetHandle(), 'DROP TABLE SF_ITEM_TEST'; CATCH(err){} + + TRY SQL_EXEC dbeGetHandle(), 'CREATE TABLE '&dbeHeadTable()&'(UID nvarchar(40), CREATED datetime2(3), FILEPATH nvarchar(max), PRIMARY KEY(UID));'; CATCH(err){} + TRY SQL_EXEC dbeGetHandle(), 'CREATE TABLE '&dbeItemsTable()&'(UID nvarchar(40), LINE int, PRIMARY KEY(UID, LINE));'; CATCH(err){} + CREATE_TEST_DOC('Invoice/Default'); + FOR field IN FIELDS() + IF EXPORTED(*field) THEN + TRY SQL_EXEC dbeGetHandle(), 'ALTER TABLE '&dbeHeadTable()& ' ADD ' & NAME(*field) & ' ' & dbeColumnType(field); CATCH(err){} + + FOR col IN SUBFIELDS('InvoiceItems') + IF EXPORTED(*col) THEN + TRY SQL_EXEC dbeGetHandle(), 'ALTER TABLE '&dbeItemsTable()& ' ADD ' & NAME(*col) & ' ' & dbeColumnType(col); CATCH(err){} +} + +/****************************************************************************** + FNo 14/03/2022 +******************************************************************************/ +FUNCTION dbeOnExporterExportDocument(file) +{ + /*uid := STACK_ID()&DOC_ID();*/ + uid := DOC_ID(); + dbeExportHead(file, uid); + dbeExportItems(uid); +} + +/****************************************************************************** + FNo 14/03/2022 +******************************************************************************/ +FUNCTION dbeOnExporterRollbackStack() +{ + SQL_ROLLBACK(dbeGetHandle()); +} + +/****************************************************************************** + FNo 14/03/2022 +******************************************************************************/ +FUNCTION dbeOnExporterCommitStack() +{ + SQL_COMMIT(dbeGetHandle()); +} + +/****************************************************************************** + FNo 14/03/2022 +******************************************************************************/ +FUNCTION dbeExportHead(file, uid) +{ + bindings := DICT('UID' -> uid, 'CREATED' -> stdSystemDate(), 'FILEPATH' -> file); + FOR field IN FIELDS() + IF EXPORTED(*field) THEN + bindings[NAME(*field)] := euFieldValue(field); + + SQL_EXEC dbeGetHandle(), 'INSERT INTO '&dbeHeadTable()&' '&dbuGetInsertString(bindings) & 'VALUES (' & dbuGenerateBindingString(SIZE(bindings)) & ')' PARAMS dbuDictToVector(bindings) NO_COMMIT; +} + +/****************************************************************************** + FNo 14/03/2022 +******************************************************************************/ +FUNCTION dbeExportItems(uid) PRIVATE +{ + columns := SET(); + FOR col IN SUBFIELDS('InvoiceItems') + IF EXPORTED(*col) THEN + columns[col] := ''; + FOR line := 0 TO NUM_LINES('InvoiceItems')-1 + dbeExportItem(uid, columns, line); +} + +/****************************************************************************** + FNo 14/03/2022 +******************************************************************************/ +FUNCTION dbeExportItem(uid, columns, line) PRIVATE +{ + bindings := DICT('UID' -> uid, 'LINE' -> line); + FOR col IN columns + bindings[NAME(*col)] := euFieldValue(&CELL(*col, line)); + + SQL_EXEC dbeGetHandle(), 'INSERT INTO '&dbeItemsTable()&' '&dbuGetInsertString(bindings) & 'VALUES (' & dbuGenerateBindingString(SIZE(bindings)) & ')' PARAMS dbuDictToVector(bindings) NO_COMMIT; +} + +/****************************************************************************** + FNo 14/03/2022 +******************************************************************************/ +FUNCTION dbeHeadTable() { RETURN DBTABLE_MAPPING('SF_HEAD'); } +FUNCTION dbeItemsTable() { RETURN DBTABLE_MAPPING('SF_ITEM'); } + +/****************************************************************************** + FNo 14/03/2022 +******************************************************************************/ +FUNCTION dbeGetHandle() +{ + GLOBAL gExportDbHandle; + IF gExportDbHandle='' THEN + { + gExportDbHandle := dbeCreateDbHandle( 'ExportDSN', + 'ExportUID', + 'ExportPWD', + 'ExportSchema', + 'ConnectStatementsExportDb'); + } + + RETURN gExportDbHandle; +} + +/****************************************************************************** + FNo 14/03/2022 +******************************************************************************/ +FUNCTION dbeOnDocumentManagerBeforeTest() +{ + SETDBTABLE_MAPPING('SF_HEAD', 'SF_HEAD_TEST'); + SETDBTABLE_MAPPING('SF_ITEM', 'SF_ITEM_TEST'); + tuAddCleanUpCommand('dbeOnDocumentManagerAfterTest', VECTOR()); +} + +/****************************************************************************** + FNo 14/03/2022 +******************************************************************************/ +FUNCTION dbeOnDocumentManagerAfterTest() +{ + SETDBTABLE_MAPPING('SF_HEAD', 'SF_HEAD'); + SETDBTABLE_MAPPING('SF_ITEM', 'SF_ITEM'); +} + +/****************************************************************************** + FNo 14/03/2022 +******************************************************************************/ +FUNCTION dbeCreateDbHandle(dsnEntry, uidEntry, pwdEntry, schemaEntry, + connectStatementsEntry) PRIVATE +{ + params := DICT( + 'dsn' -> CONFIG('DBServerInterface', dsnEntry), + 'uid' -> CONFIG('DBServerInterface', uidEntry), + 'pwd' -> CONFIG('DBServerInterface', pwdEntry), + 'schema' -> CONFIG('DBServerInterface', schemaEntry), + 'connectStatements' -> CONFIG('DBServerInterface', connectStatementsEntry) + ); + + RETURN stdGetDbHandleFromDict(params); +} + +/****************************************************************************** + FNo 14/03/2022 +******************************************************************************/ +FUNCTION dbeColumnType(f) PRIVATE +{ + IF FIELD_TYPE(NAME(*f))='Checkbox' THEN + { + RETURN 'bit'; + } + IF CONTENT_TYPE(*f) = 'Date' THEN + { + RETURN 'datetime2(3)'; + } + IF CONTENT_TYPE(*f) IN SET('Num', 'PosNum') THEN + { + RETURN 'decimal(16,4)'; + } + RETURN 'nvarchar(40)'; +} \ No newline at end of file diff --git a/SERVER/Insiders/SQL/[FNCUST_SPLIT_STRING_MULTIDELIMITER_WITH_GUID].sql b/SERVER/Insiders/SQL/[FNCUST_SPLIT_STRING_MULTIDELIMITER_WITH_GUID].sql new file mode 100644 index 0000000..e509309 --- /dev/null +++ b/SERVER/Insiders/SQL/[FNCUST_SPLIT_STRING_MULTIDELIMITER_WITH_GUID].sql @@ -0,0 +1,43 @@ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO + +-- MK // 04.04.2024 +-- 04.04.2024 MK Initial + +CREATE OR ALTER FUNCTION [dbo].[FNCUST_SPLIT_STRING_MULTIDELIMITER_WITH_GUID] ( + @InputString NVARCHAR(MAX), + @Delimiter NVARCHAR(255) +) +RETURNS @OutputTable TABLE ( + [ID] INT IDENTITY(1,1), + [value] NVARCHAR(MAX) +) +AS +BEGIN + DECLARE @StartIndex INT, @EndIndex INT + + SET @StartIndex = 1 + IF SUBSTRING(@InputString, 1, LEN(@Delimiter)) = @Delimiter + BEGIN + SET @StartIndex = LEN(@Delimiter) + 1 + END + SET @EndIndex = CHARINDEX(@Delimiter, @InputString, @StartIndex) + + WHILE (@StartIndex < LEN(@InputString) + 1) + BEGIN + IF (@EndIndex = 0) + BEGIN + SET @EndIndex = LEN(@InputString) + 1 + END + + INSERT INTO @OutputTable ([value]) + SELECT SUBSTRING(@InputString, @StartIndex, @EndIndex - @StartIndex) + + SET @StartIndex = @EndIndex + LEN(@Delimiter) + SET @EndIndex = CHARINDEX(@Delimiter, @InputString, @StartIndex) + END + + RETURN +END diff --git a/SERVER/Insiders/SQL/[PRDD_INSERT_ANALYZER_HEAD].sql b/SERVER/Insiders/SQL/[PRDD_INSERT_ANALYZER_HEAD].sql new file mode 100644 index 0000000..2d7f08d --- /dev/null +++ b/SERVER/Insiders/SQL/[PRDD_INSERT_ANALYZER_HEAD].sql @@ -0,0 +1,251 @@ +USE [SmartFix_Export_DB_Invoice] +GO +/****** Object: StoredProcedure [dbo].[PRDD_INSERT_ANALYZER_HEAD] Script Date: 05.03.2024 16:07:30 ******/ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: Digital Data GmbH MD/MK +-- Create date: 04.03.2024 +-- Description: Insert row in TBDD_ANALYZER_HEAD +-- ============================================= + +CREATE or ALTER PROCEDURE [dbo].[PRDD_INSERT_ANALYZER_HEAD] + @pREFERENCE_ID NVARCHAR(100), + @pRE_CITY NVARCHAR(50), + @pRE_COUNTRY NVARCHAR(10), + @pRE_ILN NVARCHAR(50), + @pRE_NAME NVARCHAR(255), + @pRE_PK INT, + @pRE_RECIPIENT_NO NVARCHAR(50), + @pRE_STREET NVARCHAR(255), + @pRE_SYSTEM NVARCHAR(10), + @pRE_TAX_ID_NO NVARCHAR(50), + @pRE_VAT_ID_NO NVARCHAR(50), + @pRE_ZIPCODE INT, + @pVE_ACCOUNT_NO NVARCHAR(255), + @pVE_BANK NVARCHAR(255), + @pVE_BANK_NO NVARCHAR(255), + @pVE_CITY NVARCHAR(50), + @pVE_CLERK_ID NVARCHAR(255), + @pVE_COUNTRY NVARCHAR(10), + @pVE_EMAIL NVARCHAR(255), + @pVE_FAX_NO NVARCHAR(100), + @pVE_IBAN NVARCHAR(100), + @pVE_ILN NVARCHAR(50), + @pVE_NAME NVARCHAR(255), + @pVE_RECIPIENT_NO NVARCHAR(50), + @pVE_STREET NVARCHAR(255), + @pVE_SWIFT_BIC NVARCHAR(50), + @pVE_TAX_ID_NO NVARCHAR(50), + @pVE_TELEFONE_NO NVARCHAR(100), + @pVE_VAT_ID_NO NVARCHAR(50), + @pVE_VENDOR_NO NVARCHAR(50), + @pVE_ZIPCODE INT, + @pINV_AMOUNT FLOAT, + @pINV_AMOUNT_ROUNDING FLOAT, + @pINV_CASCADED_ITEM_DISCOUNTS NVARCHAR(25), + @pINV_COMPLIANCE_COMMENTS NVARCHAR(255), + @pINV_COMPLIANT NVARCHAR(25), + @pINV_CREDIT_NOTE NVARCHAR(25), + @pINV_CURRENCY NVARCHAR(25), + @pINV_CUSTOMS_CHARGE FLOAT(25), + @pINV_DATE DATE, + @pINV_DELIVERY_DATE DATE, + @pINV_DELIVERY_MONTH NVARCHAR(25), + @pINV_DELIVERY_WEEK NVARCHAR(25), + @pINV_DISCOUNTABLE_AMOUNT FLOAT, + @pINV_DISCOUNT_AMOUNT1 FLOAT, + @pINV_DISCOUNT_AMOUNT2 FLOAT, + @pINV_DISCOUNT_PERCENT1 FLOAT, + @pINV_DISCOUNT_PERCENT2 FLOAT, + @pINV_FREIGHT_CHARGE FLOAT, + --@pINV_GROSS_AMOUNT1 FLOAT, + --@pINV_GROSS_AMOUNT2 FLOAT, + --@pINV_GROSS_AMOUNT3 FLOAT, + @pINV_INSURANCE_CHARGE FLOAT, + @pINV_IS_INTERCOMPANY NVARCHAR(25), + @pINV_IS_MM NVARCHAR(25), + @pINV_NET_AMOUNT1 FLOAT, + @pINV_NET_AMOUNT2 FLOAT, + @pINV_NET_AMOUNT3 FLOAT, + @pINV_NUMBER NVARCHAR(25), + @pINV_PACKING_CHARGE FLOAT, + @pINV_POSTAL_CHARGE FLOAT, + @pINV_POS_DIFF_CHK FLOAT, + @pINV_REFERENCE_DATE DATE, + @pINV_REFERENCE_NUMBER NVARCHAR(25), + @pINV_SMALL_VOL_CHARGE FLOAT, + @pINV_SPECIAL_CHARGE FLOAT, + @pINV_TAX_AMOUNT1 FLOAT, + @pINV_TAX_AMOUNT2 FLOAT, + @pINV_TAX_AMOUNT3 FLOAT, + @pINV_TAX_RATE1 FLOAT, + @pINV_TAX_RATE2 FLOAT, + @pINV_TAX_RATE3 FLOAT, + @pINV_TOLL_CHARGE FLOAT, + @pINV_VALUTA_DATE DATE, + @pINV_VALUTA_DAYS FLOAT, + @pINV_VALUTA_WEEK FLOAT, + @pAdded_who NVARCHAR(50) +AS +BEGIN + + INSERT INTO [TBDD_ANALYZER_HEAD] ([REFERENCE_ID], + [RE_CITY], + [RE_COUNTRY], + [RE_ILN], + [RE_NAME], + [RE_PK], + [RE_RECIPIENT_NO], + [RE_STREET], + [RE_SYSTEM], + [RE_TAX_ID_NO], + [RE_VAT_ID_NO], + [RE_ZIPCODE], + [VE_ACCOUNT_NO], + [VE_BANK], + [VE_BANK_NO], + [VE_CITY], + [VE_CLERK_ID], + [VE_COUNTRY], + [VE_EMAIL], + [VE_FAX_NO], + [VE_IBAN], + [VE_ILN], + [VE_NAME], + [VE_RECIPIENT_NO], + [VE_STREET], + [VE_SWIFT_BIC], + [VE_TAX_ID_NO], + [VE_TELEFONE_NO], + [VE_VAT_ID_NO], + [VE_VENDOR_NO], + [VE_ZIPCODE], + [INV_AMOUNT], + [INV_AMOUNT_ROUNDING], + [INV_CASCADED_ITEM_DISCOUNTS], + [INV_COMPLIANCE_COMMENTS], + [INV_COMPLIANT], + [INV_CREDIT_NOTE], + [INV_CURRENCY], + [INV_CUSTOMS_CHARGE], + [INV_DATE], + [INV_DELIVERY_DATE], + [INV_DELIVERY_MONTH], + [INV_DELIVERY_WEEK], + [INV_DISCOUNTABLE_AMOUNT], + [INV_DISCOUNT_AMOUNT1], + [INV_DISCOUNT_AMOUNT2], + [INV_DISCOUNT_PERCENT1], + [INV_DISCOUNT_PERCENT2], + [INV_FREIGHT_CHARGE], + -- [INV_GROSS_AMOUNT1], + -- [INV_GROSS_AMOUNT2], + -- [INV_GROSS_AMOUNT3], + [INV_INSURANCE_CHARGE], + [INV_IS_INTERCOMPANY], + [INV_IS_MM], + [INV_NET_AMOUNT1], + [INV_NET_AMOUNT2], + [INV_NET_AMOUNT3], + [INV_NUMBER], + [INV_PACKING_CHARGE], + [INV_POSTAL_CHARGE], + [INV_POS_DIFF_CHK], + [INV_REFERENCE_DATE], + [INV_REFERENCE_NUMBER], + [INV_SMALL_VOL_CHARGE], + [INV_SPECIAL_CHARGE], + [INV_TAX_AMOUNT1], + [INV_TAX_AMOUNT2], + [INV_TAX_AMOUNT3], + [INV_TAX_RATE1], + [INV_TAX_RATE2], + [INV_TAX_RATE3], + [INV_TOLL_CHARGE], + [INV_VALUTA_DATE], + [INV_VALUTA_DAYS], + [INV_VALUTA_WEEKS], + [ADDED_WHO]) + + VALUES (@pREFERENCE_ID, + @pRE_CITY, + @pRE_COUNTRY, + @pRE_ILN, + @pRE_NAME, + @pRE_PK, + @pRE_RECIPIENT_NO, + @pRE_STREET, + @pRE_SYSTEM, + @pRE_TAX_ID_NO, + @pRE_VAT_ID_NO, + @pRE_ZIPCODE, + @pVE_ACCOUNT_NO, + @pVE_BANK, + @pVE_BANK_NO, + @pVE_CITY, + @pVE_CLERK_ID, + @pVE_COUNTRY, + @pVE_EMAIL, + @pVE_FAX_NO, + @pVE_IBAN, + @pVE_ILN, + @pVE_NAME, + @pVE_RECIPIENT_NO, + @pVE_STREET, + @pVE_SWIFT_BIC, + @pVE_TAX_ID_NO, + @pVE_TELEFONE_NO, + @pVE_VAT_ID_NO, + @pVE_VENDOR_NO, + @pVE_ZIPCODE, + @pINV_AMOUNT, + @pINV_AMOUNT_ROUNDING, + @pINV_CASCADED_ITEM_DISCOUNTS, + @pINV_COMPLIANCE_COMMENTS, + @pINV_COMPLIANT, + @pINV_CREDIT_NOTE, + @pINV_CURRENCY, + @pINV_CUSTOMS_CHARGE, + @pINV_DATE, + @pINV_DELIVERY_DATE, + @pINV_DELIVERY_MONTH, + @pINV_DELIVERY_WEEK, + @pINV_DISCOUNTABLE_AMOUNT, + @pINV_DISCOUNT_AMOUNT1, + @pINV_DISCOUNT_AMOUNT2, + @pINV_DISCOUNT_PERCENT1, + @pINV_DISCOUNT_PERCENT2, + @pINV_FREIGHT_CHARGE, + -- @pINV_GROSS_AMOUNT1, + -- @pINV_GROSS_AMOUNT2, + -- @pINV_GROSS_AMOUNT3, + @pINV_INSURANCE_CHARGE, + @pINV_IS_INTERCOMPANY, + @pINV_IS_MM, + @pINV_NET_AMOUNT1, + @pINV_NET_AMOUNT2, + @pINV_NET_AMOUNT3, + @pINV_NUMBER, + @pINV_PACKING_CHARGE, + @pINV_POSTAL_CHARGE, + @pINV_POS_DIFF_CHK, + @pINV_REFERENCE_DATE, + @pINV_REFERENCE_NUMBER, + @pINV_SMALL_VOL_CHARGE, + @pINV_SPECIAL_CHARGE, + @pINV_TAX_AMOUNT1, + @pINV_TAX_AMOUNT2, + @pINV_TAX_AMOUNT3, + @pINV_TAX_RATE1, + @pINV_TAX_RATE2, + @pINV_TAX_RATE3, + @pINV_TOLL_CHARGE, + @pINV_VALUTA_DATE, + @pINV_VALUTA_DAYS, + @pINV_VALUTA_WEEK, + @pAdded_who); +END +GO \ No newline at end of file diff --git a/SERVER/Insiders/SQL/[PRDD_INSERT_ANALYZER_ITEMS].sql b/SERVER/Insiders/SQL/[PRDD_INSERT_ANALYZER_ITEMS].sql new file mode 100644 index 0000000..747650a --- /dev/null +++ b/SERVER/Insiders/SQL/[PRDD_INSERT_ANALYZER_ITEMS].sql @@ -0,0 +1,121 @@ +USE [SmartFix_Export_DB_Invoice] +GO + +/****** Object: StoredProcedure [dbo].[PRDD_INSERT_ANALYZER_ITEMS] Script Date: 06.03.2024 16:19:35 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- ============================================= +-- Author: Digital Data GmbH MD/MK +-- Create date: 04.03.2024 +-- Description: Insert row in TBDD_ANALYZER_HEAD +-- ============================================= + +CREATE OR ALTER PROCEDURE [dbo].[PRDD_INSERT_ANALYZER_ITEMS] + @pREFERENCE_ID NVARCHAR(100), + @pINVI_POS_NO INT, + @pINVI_ARTICLE_NO NVARCHAR(255), + @pINVI_CHARGE_AMOUNT1 FLOAT, + @pINVI_CHARGE_AMOUNT2 FLOAT, + @pINVI_CHARGE_AMOUNT3 FLOAT, + @pINVI_CHARGE_PERCENT1 FLOAT, + @pINVI_CHARGE_PERCENT2 FLOAT, + @pINVI_CHARGE_PERCENT3 FLOAT, + @pINVI_CHARGE_PER_PIECE1 FLOAT, + @pINVI_CHARGE_PER_PIECE2 FLOAT, + @pINVI_CHARGE_PER_PIECE3 FLOAT, + @pINVI_DELIVERY_DATE DATE, + @pINVI_DELIVERY_NO NVARCHAR(255), + @pINVI_DIFF_CHK FLOAT, + @pINVI_DISCOUNT_AMOUNT1 FLOAT, + @pINVI_DISCOUNT_AMOUNT2 FLOAT, + @pINVI_DISCOUNT_AMOUNT3 FLOAT, + @pINVI_DISCOUNT_PERCENT1 FLOAT, + @pINVI_DISCOUNT_PERCENT2 FLOAT, + @pINVI_DISCOUNT_PERCENT3 FLOAT, + @pINVI_DISCOUNT_PER_PIECE1 FLOAT, + @pINVI_DISCOUNT_PER_PIECE2 FLOAT, + @pINVI_DISCOUNT_PER_PIECE3 FLOAT, + @pINVI_IS_DELIVERY FLOAT, + @pINVI_ORI_ARTICLE_NO NVARCHAR(255), + @pINVI_ORI_DESCRIPTION NVARCHAR(255), + @pINVI_QUANTITY FLOAT, + @pINVI_QUANTITY_UNIT FLOAT, + @pINVI_SINGLE_NET_PRICE FLOAT, + @pINVI_TOTAL_NET_PRICE FLOAT, + @pAdded_who NVARCHAR(50) + + +AS +BEGIN + + INSERT INTO [TBDD_ANALYZER_ITEMS]([REFERENCE_ID], + [INVI_POS_NO], + [INVI_ARTICLE_NO], + [INVI_CHARGE_AMOUNT1], + [INVI_CHARGE_AMOUNT2], + [INVI_CHARGE_AMOUNT3], + [INVI_CHARGE_PERCENT1], + [INVI_CHARGE_PERCENT2], + [INVI_CHARGE_PERCENT3], + [INVI_CHARGE_PER_PIECE1], + [INVI_CHARGE_PER_PIECE2], + [INVI_CHARGE_PER_PIECE3], + [INVI_DELIVERY_DATE], + [INVI_DELIVERY_NO], + [INVI_DIFF_CHK], + [INVI_DISCOUNT_AMOUNT1], + [INVI_DISCOUNT_AMOUNT2], + [INVI_DISCOUNT_AMOUNT3], + [INVI_DISCOUNT_PERCENT1], + [INVI_DISCOUNT_PERCENT2], + [INVI_DISCOUNT_PERCENT3], + [INVI_DISCOUNT_PER_PIECE1], + [INVI_DISCOUNT_PER_PIECE2], + [INVI_DISCOUNT_PER_PIECE3], + [INVI_IS_DELIVERY], + [INVI_ORI_ARTICLE_NO], + [INVI_ORI_DESCRIPTION], + [INVI_QUANTITY], + [INVI_QUANTITY_UNIT], + [INVI_SINGLE_NET_PRICE], + [INVI_TOTAL_NET_PRICE], + [ADDED_WHO]) + + VALUES (@pREFERENCE_ID, + @pINVI_POS_NO, + @pINVI_ARTICLE_NO, + @pINVI_CHARGE_AMOUNT1, + @pINVI_CHARGE_AMOUNT2, + @pINVI_CHARGE_AMOUNT3, + @pINVI_CHARGE_PERCENT1, + @pINVI_CHARGE_PERCENT2, + @pINVI_CHARGE_PERCENT3, + @pINVI_CHARGE_PER_PIECE1, + @pINVI_CHARGE_PER_PIECE2, + @pINVI_CHARGE_PER_PIECE3, + @pINVI_DELIVERY_DATE, + @pINVI_DELIVERY_NO, + @pINVI_DIFF_CHK, + @pINVI_DISCOUNT_AMOUNT1, + @pINVI_DISCOUNT_AMOUNT2, + @pINVI_DISCOUNT_AMOUNT3, + @pINVI_DISCOUNT_PERCENT1, + @pINVI_DISCOUNT_PERCENT2, + @pINVI_DISCOUNT_PERCENT3, + @pINVI_DISCOUNT_PER_PIECE1, + @pINVI_DISCOUNT_PER_PIECE2, + @pINVI_DISCOUNT_PER_PIECE3, + @pINVI_IS_DELIVERY, + @pINVI_ORI_ARTICLE_NO, + @pINVI_ORI_DESCRIPTION, + @pINVI_QUANTITY, + @pINVI_QUANTITY_UNIT, + @pINVI_SINGLE_NET_PRICE, + @pINVI_TOTAL_NET_PRICE, + @pAdded_who); +END +GO \ No newline at end of file diff --git a/SERVER/Insiders/SQL/[PRDD_INSERT_ANALYZER_RESULT].sql b/SERVER/Insiders/SQL/[PRDD_INSERT_ANALYZER_RESULT].sql new file mode 100644 index 0000000..f2132c4 --- /dev/null +++ b/SERVER/Insiders/SQL/[PRDD_INSERT_ANALYZER_RESULT].sql @@ -0,0 +1,118 @@ +USE [SmartFix_Export_DB_Invoice] +GO + +/****** Object: StoredProcedure [dbo].[PRDD_INSERT_ANALYZER_RESULT] Script Date: 06.03.2024 16:20:47 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- ============================================= +-- Author: Digital Data GmbH MD/MK +-- Create date: 06.03.2024 +-- Description: Insert row in TBDD_ANALYZER_RESULT +-- ============================================= + +CREATE OR ALTER PROCEDURE [dbo].[PRDD_INSERT_ANALYZER_RESULT] + @pREFERENCE_ID NVARCHAR(100), + @pAdded_who NVARCHAR(50) +AS +BEGIN + + -- Final Vars for insert + DECLARE @STATUS NVARCHAR(50), + @STATUS_DETAIL NVARCHAR(MAX); + + SET @STATUS = 'UNDEFINED'; + SET @STATUS_DETAIL = ''; + + -- Temp vars for calculation + DECLARE @HEAD_SUM FLOAT, + @ITEMS_SUM FLOAT; + + IF (((SELECT COUNT(*) FROM [SmartFix_Export_DB_Invoice].[dbo].[TBDD_ANALYZER_HEAD] (NOLOCK) WHERE [REFERENCE_ID] = @pREFERENCE_ID AND [STATUS] = 'unprocessed') = 1) and (SELECT count(*) FROM [SmartFix_Export_DB_Invoice].[dbo].[TBDD_ANALYZER_ITEMS] (NOLOCK) WHERE [REFERENCE_ID] = @pREFERENCE_ID AND [STATUS] = 'unprocessed') >= 1) + BEGIN + + ---------------------------------------------------------------------------------------------- + -- 1. Check sum of Head and Items + ---------------------------------------------------------------------------------------------- + + -- Get sum from head + SELECT @HEAD_SUM = [INV_NET_AMOUNT1] + FROM [SmartFix_Export_DB_Invoice].[dbo].[TBDD_ANALYZER_HEAD] + WHERE [REFERENCE_ID] = @pREFERENCE_ID + + -- Get sum from items + SELECT @ITEMS_SUM = SUM(INVI_TOTAL_NET_PRICE) + FROM [SmartFix_Export_DB_Invoice].[dbo].[TBDD_ANALYZER_ITEMS] + WHERE [REFERENCE_ID] = @pREFERENCE_ID + + -- Status "failed" must not be overwritten + IF (@STATUS <> 'FAILED') + BEGIN + SET @STATUS = CASE + WHEN (@HEAD_SUM = @ITEMS_SUM) THEN 'SUCCESS' + WHEN (@HEAD_SUM > @ITEMS_SUM) THEN 'FAILED' + WHEN (@HEAD_SUM < @ITEMS_SUM) THEN 'FAILED' + END + END + + SET @STATUS_DETAIL = CASE + WHEN (@HEAD_SUM = @ITEMS_SUM) THEN @STATUS_DETAIL + 'Head and Item sum match!' + char(10) + char(13) + WHEN (@HEAD_SUM > @ITEMS_SUM) THEN @STATUS_DETAIL + 'Head sum (' + convert(VARCHAR(100),@HEAD_SUM) +') is bigger then Item sum (' + convert(VARCHAR(100),@ITEMS_SUM) +')!' + char(10) + char(13) + WHEN (@HEAD_SUM < @ITEMS_SUM) THEN @STATUS_DETAIL + 'Head sum (' + convert(VARCHAR(100),@HEAD_SUM) +') is lesser then Item sum (' + convert(VARCHAR(100),@ITEMS_SUM) +')!' + char(10) + char(13) + END + + ---------------------------------------------------------------------------------------------- + + INSERT INTO [TBDD_ANALYZER_RESULT] ([REFERENCE_ID], + [STATUS], + [STATUS_DETAIL], + [ADDED_WHO]) + + VALUES (@pREFERENCE_ID, + @STATUS, + @STATUS_DETAIL, + @pAdded_who); + + ---------------------------------------------------------------------------------------------- + + UPDATE [SmartFix_Export_DB_Invoice].[dbo].[TBDD_ANALYZER_HEAD] + SET [STATUS] = 'processed' + WHERE [REFERENCE_ID] = @pREFERENCE_ID + + UPDATE [SmartFix_Export_DB_Invoice].[dbo].[TBDD_ANALYZER_ITEMS] + SET [STATUS] = 'processed' + WHERE [REFERENCE_ID] = @pREFERENCE_ID + + ---------------------------------------------------------------------------------------------- + + IF (@STATUS = 'SUCCESS') + BEGIN + PRINT 'Update Insiders TB, set doc to Coordinator' + END + + ---------------------------------------------------------------------------------------------- + + END + + ELSE + + BEGIN + + SET @STATUS = 'UNREFERENCED'; + SET @STATUS_DETAIL = 'Insufficient rows in DB!' + + INSERT INTO [TBDD_ANALYZER_RESULT] ([REFERENCE_ID], + [STATUS], + [STATUS_DETAIL], + [ADDED_WHO]) + + VALUES (@pREFERENCE_ID, + @STATUS, + @STATUS_DETAIL, + @pAdded_who); + END +END +GO \ No newline at end of file diff --git a/SERVER/Insiders/SQL/[TBDD_ANALYZER_HEAD].sql b/SERVER/Insiders/SQL/[TBDD_ANALYZER_HEAD].sql new file mode 100644 index 0000000..40c200c --- /dev/null +++ b/SERVER/Insiders/SQL/[TBDD_ANALYZER_HEAD].sql @@ -0,0 +1,101 @@ +USE [SmartFix_Export_DB_Invoice] +GO + +/****** Object: Table [dbo].[TBDD_ANALYZER_HEAD] Script Date: 06.03.2024 16:17:19 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[TBDD_ANALYZER_HEAD]( + [GUID] [bigint] IDENTITY(1,1) NOT NULL, + [REFERENCE_ID] [nvarchar](100) NOT NULL, + [STATUS] [nvarchar](50) NOT NULL, + [RE_CITY] [nvarchar](50) NULL, + [RE_COUNTRY] [nvarchar](10) NULL, + [RE_ILN] [nvarchar](50) NULL, + [RE_NAME] [nvarchar](255) NULL, + [RE_PK] [int] NULL, + [RE_RECIPIENT_NO] [nvarchar](50) NULL, + [RE_STREET] [nvarchar](255) NULL, + [RE_SYSTEM] [nvarchar](10) NULL, + [RE_TAX_ID_NO] [nvarchar](50) NULL, + [RE_VAT_ID_NO] [nvarchar](50) NULL, + [RE_ZIPCODE] [int] NULL, + [VE_ACCOUNT_NO] [nvarchar](255) NULL, + [VE_BANK] [nvarchar](255) NULL, + [VE_BANK_NO] [nvarchar](255) NULL, + [VE_CITY] [nvarchar](50) NULL, + [VE_CLERK_ID] [nvarchar](255) NULL, + [VE_COUNTRY] [nvarchar](10) NULL, + [VE_EMAIL] [nvarchar](255) NULL, + [VE_FAX_NO] [nvarchar](100) NULL, + [VE_IBAN] [nvarchar](100) NULL, + [VE_ILN] [nvarchar](50) NULL, + [VE_NAME] [nvarchar](255) NULL, + [VE_RECIPIENT_NO] [nvarchar](50) NULL, + [VE_STREET] [nvarchar](255) NULL, + [VE_SWIFT_BIC] [nvarchar](50) NULL, + [VE_TAX_ID_NO] [nvarchar](50) NULL, + [VE_TELEFONE_NO] [nvarchar](100) NULL, + [VE_VAT_ID_NO] [nvarchar](50) NULL, + [VE_VENDOR_NO] [nvarchar](50) NULL, + [VE_ZIPCODE] [int] NULL, + [INV_AMOUNT] [float] NULL, + [INV_AMOUNT_ROUNDING] [float] NULL, + [INV_CASCADED_ITEM_DISCOUNTS] [nvarchar](25) NULL, + [INV_COMPLIANCE_COMMENTS] [nvarchar](255) NULL, + [INV_COMPLIANT] [nvarchar](25) NULL, + [INV_CREDIT_NOTE] [nvarchar](25) NULL, + [INV_CURRENCY] [nvarchar](25) NULL, + [INV_CUSTOMS_CHARGE] [float] NULL, + [INV_DATE] [date] NULL, + [INV_DELIVERY_DATE] [date] NULL, + [INV_DELIVERY_MONTH] [nvarchar](25) NULL, + [INV_DELIVERY_WEEK] [nvarchar](25) NULL, + [INV_DISCOUNTABLE_AMOUNT] [float] NULL, + [INV_DISCOUNT_AMOUNT1] [float] NULL, + [INV_DISCOUNT_AMOUNT2] [float] NULL, + [INV_DISCOUNT_PERCENT1] [float] NULL, + [INV_DISCOUNT_PERCENT2] [float] NULL, + [INV_FREIGHT_CHARGE] [float] NULL, + [INV_GROSS_AMOUNT1] [float] NULL, + [INV_GROSS_AMOUNT2] [float] NULL, + [INV_GROSS_AMOUNT3] [float] NULL, + [INV_INSURANCE_CHARGE] [float] NULL, + [INV_IS_INTERCOMPANY] [nvarchar](25) NULL, + [INV_IS_MM] [nvarchar](25) NULL, + [INV_NET_AMOUNT1] [float] NULL, + [INV_NET_AMOUNT2] [float] NULL, + [INV_NET_AMOUNT3] [float] NULL, + [INV_NUMBER] [nvarchar](25) NULL, + [INV_PACKING_CHARGE] [float] NULL, + [INV_POSTAL_CHARGE] [float] NULL, + [INV_POS_DIFF_CHK] [float] NULL, + [INV_REFERENCE_DATE] [date] NULL, + [INV_REFERENCE_NUMBER] [nvarchar](25) NULL, + [INV_SMALL_VOL_CHARGE] [float] NULL, + [INV_SPECIAL_CHARGE] [float] NULL, + [INV_TAX_AMOUNT1] [float] NULL, + [INV_TAX_AMOUNT2] [float] NULL, + [INV_TAX_AMOUNT3] [float] NULL, + [INV_TAX_RATE1] [float] NULL, + [INV_TAX_RATE2] [float] NULL, + [INV_TAX_RATE3] [float] NULL, + [INV_TOLL_CHARGE] [float] NULL, + [INV_VALUTA_DATE] [date] NULL, + [INV_VALUTA_DAYS] [nvarchar](25) NULL, + [INV_VALUTA_WEEKS] [nvarchar](25) NULL, + [ADDED_WHO] [nvarchar](50) NOT NULL, + [ADDED_WHEN] [datetime] NOT NULL +) ON [PRIMARY] +GO + +ALTER TABLE [dbo].[TBDD_ANALYZER_HEAD] ADD CONSTRAINT [DF_TBDD_ANALYZER_HEAD_STATUS] DEFAULT ('unprocessed') FOR [STATUS] +GO + +ALTER TABLE [dbo].[TBDD_ANALYZER_HEAD] ADD CONSTRAINT [DF_TBDD_ANALYZER_HEAD_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN] +GO + + diff --git a/SERVER/Insiders/SQL/[TBDD_ANALYZER_ITEMS].sql b/SERVER/Insiders/SQL/[TBDD_ANALYZER_ITEMS].sql new file mode 100644 index 0000000..d725bc4 --- /dev/null +++ b/SERVER/Insiders/SQL/[TBDD_ANALYZER_ITEMS].sql @@ -0,0 +1,56 @@ +USE [SmartFix_Export_DB_Invoice] +GO + +/****** Object: Table [dbo].[TBDD_ANALYZER_ITEMS] Script Date: 06.03.2024 16:17:48 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[TBDD_ANALYZER_ITEMS]( + [GUID] [bigint] IDENTITY(1,1) NOT NULL, + [REFERENCE_ID] [nvarchar](100) NOT NULL, + [STATUS] [nvarchar](50) NOT NULL, + [INVI_POS_NO] [int] NULL, + [INVI_ARTICLE_NO] [nvarchar](255) NULL, + [INVI_CHARGE_AMOUNT1] [float] NULL, + [INVI_CHARGE_AMOUNT2] [float] NULL, + [INVI_CHARGE_AMOUNT3] [float] NULL, + [INVI_CHARGE_PERCENT1] [float] NULL, + [INVI_CHARGE_PERCENT2] [float] NULL, + [INVI_CHARGE_PERCENT3] [float] NULL, + [INVI_CHARGE_PER_PIECE1] [float] NULL, + [INVI_CHARGE_PER_PIECE2] [float] NULL, + [INVI_CHARGE_PER_PIECE3] [float] NULL, + [INVI_DELIVERY_DATE] [date] NULL, + [INVI_DELIVERY_NO] [nvarchar](255) NULL, + [INVI_DIFF_CHK] [float] NULL, + [INVI_DISCOUNT_AMOUNT1] [float] NULL, + [INVI_DISCOUNT_AMOUNT2] [float] NULL, + [INVI_DISCOUNT_AMOUNT3] [float] NULL, + [INVI_DISCOUNT_PERCENT1] [float] NULL, + [INVI_DISCOUNT_PERCENT2] [float] NULL, + [INVI_DISCOUNT_PERCENT3] [float] NULL, + [INVI_DISCOUNT_PER_PIECE1] [float] NULL, + [INVI_DISCOUNT_PER_PIECE2] [float] NULL, + [INVI_DISCOUNT_PER_PIECE3] [float] NULL, + [INVI_IS_DELIVERY] [float] NULL, + [INVI_ORI_ARTICLE_NO] [nvarchar](255) NULL, + [INVI_ORI_DESCRIPTION] [nvarchar](255) NULL, + [INVI_QUANTITY] [float] NULL, + [INVI_QUANTITY_UNIT] [float] NULL, + [INVI_SINGLE_NET_PRICE] [float] NULL, + [INVI_TOTAL_NET_PRICE] [float] NULL, + [ADDED_WHO] [nvarchar](50) NOT NULL, + [ADDED_WHEN] [datetime] NOT NULL +) ON [PRIMARY] +GO + +ALTER TABLE [dbo].[TBDD_ANALYZER_ITEMS] ADD CONSTRAINT [DF_TBDD_ANALYZER_ITEMS_STATUS] DEFAULT ('unprocessed') FOR [STATUS] +GO + +ALTER TABLE [dbo].[TBDD_ANALYZER_ITEMS] ADD CONSTRAINT [DF_TBDD_ANALYZER_ITEMS_ADDED_WHEN_1] DEFAULT (getdate()) FOR [ADDED_WHEN] +GO + + diff --git a/SERVER/Insiders/SQL/[TBDD_ANALYZER_RESULT].sql b/SERVER/Insiders/SQL/[TBDD_ANALYZER_RESULT].sql new file mode 100644 index 0000000..737c327 --- /dev/null +++ b/SERVER/Insiders/SQL/[TBDD_ANALYZER_RESULT].sql @@ -0,0 +1,25 @@ +USE [SmartFix_Export_DB_Invoice] +GO + +/****** Object: Table [dbo].[TBDD_ANALYZER_RESULT] Script Date: 06.03.2024 16:18:04 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[TBDD_ANALYZER_RESULT]( + [GUID] [bigint] IDENTITY(1,1) NOT NULL, + [REFERENCE_ID] [nvarchar](100) NOT NULL, + [STATUS] [nvarchar](50) NOT NULL, + [STATUS_DETAIL] [nvarchar](max) NULL, + [COMMENT] [nvarchar](200) NULL, + [ADDED_WHO] [nvarchar](50) NOT NULL, + [ADDED_WHEN] [datetime] NOT NULL +) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] +GO + +ALTER TABLE [dbo].[TBDD_ANALYZER_RESULT] ADD CONSTRAINT [DF_TBDD_ANALYZER_RESULT_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN] +GO + +