444 lines
12 KiB
Groovy
444 lines
12 KiB
Groovy
import com.dvelop.d3.server.core.D3Interface;
|
|
import com.dvelop.d3.server.Document;
|
|
import com.dvelop.d3.server.User;
|
|
import com.dvelop.d3.server.DocumentType;
|
|
import com.dvelop.d3.server.ValueSet;
|
|
import com.dvelop.d3.server.ValueSetTranslation;
|
|
import com.dvelop.d3.server.RepositoryField;
|
|
import com.dvelop.d3.server.UserGroup
|
|
import com.dvelop.d3.server.UserOrUserGroup
|
|
import com.dvelop.d3.server.Translation;
|
|
|
|
public class Wertemenge
|
|
{
|
|
|
|
@ValueSet(entrypoint="AbteilungenVertragsmanagement")
|
|
def getAbteilungVM(D3Interface d3, RepositoryField repoField, User user, DocumentType docType, Integer row_no, Integer validate, Document attribContext)
|
|
{
|
|
|
|
d3.log.info("Start getAbteilungVertragsmanagement");
|
|
def mandant = attribContext.field[65][row_no];
|
|
def wm
|
|
if(mandant == "BEWITAL agri GmbH & Co. KG")
|
|
{
|
|
wm = 11
|
|
}
|
|
else if(mandant == "BEWITAL petfood GmbH & Co. KG")
|
|
{
|
|
wm = 12
|
|
}
|
|
else if(mandant == "BEWITAL Holding GmbH & Co. KG")
|
|
{
|
|
wm = 18
|
|
}
|
|
else if(mandant == "BEWITAL Petfood Vertrieb Ost GmbH & Co.KG")
|
|
{
|
|
wm = 19
|
|
}
|
|
else if(mandant == "Lipox GmbH & Co. KG")
|
|
{
|
|
wm = 20
|
|
}
|
|
|
|
|
|
def sqlParams = [wm];
|
|
def h_sqlquery = "SELECT value_char_allowed AS Wert FROM doc_field_values WHERE predef_value_id = ?"
|
|
def resultRows = null;
|
|
if(mandant != null && mandant != "")
|
|
{
|
|
resultRows = d3.sql.executeAndGet( h_sqlquery , sqlParams);
|
|
if(resultRows != null && resultRows.size() > 0)
|
|
{
|
|
repoField.provideValuesForValueSet( resultRows.collect{ it.Wert } );
|
|
}
|
|
else
|
|
{
|
|
d3.log.info("Keine SQL Ergebnisse");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
d3.log.info("Keine Mandant ausgewaehlt.");
|
|
}
|
|
d3.log.info("Ende getAbteilungVertragsmanagement");
|
|
}
|
|
|
|
|
|
@ValueSet(entrypoint="KategorieZuVertragstyp")
|
|
def getKategorieVM(D3Interface d3, RepositoryField repoField, User user, DocumentType docType, Integer row_no, Integer validate, Document attribContext)
|
|
{
|
|
|
|
d3.log.info("Start getKategorieVM");
|
|
def vertragstyp = attribContext.field[5];
|
|
d3.log.info("Vertragstyp: $vertragstyp-")
|
|
def wm
|
|
if(vertragstyp == "Handelvertretung")
|
|
{
|
|
wm = 21
|
|
}
|
|
else if(vertragstyp.equals("Großhandelsvertrag DE."))
|
|
{
|
|
wm = 22
|
|
}
|
|
else if(vertragstyp.equals("Großhandelsvertrag Int."))
|
|
{
|
|
wm = 23
|
|
}
|
|
else if(vertragstyp == "Versicherungen")
|
|
{
|
|
wm = 24
|
|
}
|
|
else if(vertragstyp == "Markenrecht")
|
|
{
|
|
wm = 25
|
|
}
|
|
else if(vertragstyp == "Produktregistrierung")
|
|
{
|
|
wm = 26
|
|
}
|
|
else if(vertragstyp == "Vertrieb")
|
|
{
|
|
wm = 27
|
|
}
|
|
else if(vertragstyp == "Mietvertrag")
|
|
{
|
|
wm = 28
|
|
}
|
|
else if(vertragstyp == "Kaufvertrag")
|
|
{
|
|
wm = 29
|
|
}
|
|
else if(vertragstyp == "Wartungsvertrag")
|
|
{
|
|
wm = 30
|
|
}
|
|
else if(vertragstyp == "Dienstleistungsvertrag")
|
|
{
|
|
wm = 31
|
|
}
|
|
else if(vertragstyp == "Pachtvertrag/Erbbaurecht")
|
|
{
|
|
wm = 32
|
|
}
|
|
else if(vertragstyp == "Zertifizierungsvertrag")
|
|
{
|
|
wm = 33
|
|
}
|
|
else if(vertragstyp == "Lizenzvertrag")
|
|
{
|
|
wm = 34
|
|
}
|
|
else if(vertragstyp == "Listungsvertrag")
|
|
{
|
|
wm = 35
|
|
}
|
|
else if(vertragstyp == "Systemvertrag")
|
|
{
|
|
wm = 36
|
|
}
|
|
else if(vertragstyp == "Siegelnutzungsvertrag")
|
|
{
|
|
wm = 37
|
|
}
|
|
else if(vertragstyp == "Geheimhaltungsvereinbarung")
|
|
{
|
|
wm = 38
|
|
}
|
|
else if(vertragstyp == "Sponsoring/Werbung")
|
|
{
|
|
wm = 39
|
|
}
|
|
else if(vertragstyp == "Kreditvertrag")
|
|
{
|
|
wm = 40
|
|
}
|
|
else if(vertragstyp == "Lieferantenvertrag")
|
|
{
|
|
wm = 41
|
|
}
|
|
else if(vertragstyp == "Auftragsdatenverarbeitung")
|
|
{
|
|
wm = 42
|
|
}
|
|
else if(vertragstyp == "Bau-/Werkvertrag")
|
|
{
|
|
wm = 43
|
|
}
|
|
else if(vertragstyp == "Energieversorgung")
|
|
{
|
|
wm = 44
|
|
}
|
|
else if(vertragstyp == "Mitgliedschaften")
|
|
{
|
|
wm = 45
|
|
}
|
|
else if(vertragstyp == "Verpflichtungsvertrag")
|
|
{
|
|
wm = 46
|
|
}
|
|
else if(vertragstyp == "Sonstiges/Mischvertrag")
|
|
{
|
|
wm = 47
|
|
}
|
|
else if(vertragstyp == "Gesellschaftsvertrag")
|
|
{
|
|
wm = 48
|
|
}
|
|
else if(vertragstyp == "Migration")
|
|
{
|
|
wm = 50
|
|
}
|
|
else
|
|
{
|
|
d3.log.warn("Es konnte keine Vertragstyp gefunden werden.")
|
|
}
|
|
|
|
def sqlParams = [wm];
|
|
def h_sqlquery = "SELECT value_char_allowed AS Wert FROM doc_field_values WHERE predef_value_id = ?"
|
|
def resultRows = null;
|
|
if(vertragstyp != null && vertragstyp != "")
|
|
{
|
|
resultRows = d3.sql.executeAndGet( h_sqlquery , sqlParams);
|
|
if(resultRows != null && resultRows.size() > 0)
|
|
{
|
|
repoField.provideValuesForValueSet( resultRows.collect{ it.Wert } );
|
|
}
|
|
else
|
|
{
|
|
d3.log.info("Keine SQL Ergebnisse");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
repoField.provideValuesForValueSet( "Bitte zuerst einen Mandant wählen." );
|
|
}
|
|
d3.log.info("Ende getAbteilungVertragsmanagement");
|
|
}
|
|
|
|
@ValueSet(entrypoint="getReadAccessVM")
|
|
def getReadAccessVM(D3Interface d3, RepositoryField repoField, User user, DocumentType docType, Integer row_no, Integer validate, Document attribContext)
|
|
{
|
|
d3.log.info("Start getReasAccessVM");
|
|
d3.getArchive().removeTranslationFromCache("getReadAccessVM", new Locale("de"));
|
|
def userGroup = d3.archive.getUserGroup("VM_Vererbt");
|
|
|
|
d3.log.info( "Show group information for: " + userGroup.name );
|
|
def userList = [];
|
|
userGroup.getMembers(UserGroup.MemberType.RECURSIVE).each { userOrGroup ->
|
|
try
|
|
{
|
|
userList.add(userOrGroup.getUser().getEmail() )
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
d3.log.error("Fehler: Beim Auslesen der E-Mail Adresse des Benutzers ist es zu einem Fehler gekommen. " + ex)
|
|
}
|
|
}
|
|
|
|
if( userList.size() > 0 )
|
|
{
|
|
repoField.provideValuesForValueSet( userList );
|
|
}
|
|
}
|
|
|
|
@ValueSetTranslation(entrypoint="getReadAccessVM")
|
|
def getReadAccessVMTranslated(D3Interface d3, Translation transl)
|
|
{
|
|
d3.log.info("getReasAccessVM translated WM starts");
|
|
def userGroup = d3.archive.getUserGroup("VM_Vererbt");
|
|
userGroup.getMembers(UserGroup.MemberType.RECURSIVE).each { userOrGroup ->
|
|
try
|
|
{
|
|
transl.set(userOrGroup.getUser().getEmail(), userOrGroup.defaultName);
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
d3.log.error("Fehler: Beim Auslesen der Übersetzen des Benutzernamen." + ex)
|
|
}
|
|
}
|
|
d3.log.info("getReasAccessVM translated WM starts");
|
|
}
|
|
|
|
//////////////////////////////////////////
|
|
// Wertemengen für die Filer-Ablösung calb/d.velop 2025.12.08 START
|
|
|
|
@ValueSet(entrypoint="WM_Auftragsnummer")
|
|
def WM_Auftragsnummer(D3Interface d3, RepositoryField repoField, User user, DocumentType docType, Integer row_no, Integer validate, Document doc)
|
|
{
|
|
d3.log.info("Start WM_Auftragsnummer");
|
|
|
|
def sql = groovy.sql.Sql.newInstance( "jdbc:sqlserver://sql.adbewital.local;databaseName=" + "D3T_shared", "d3db_master", "D.velop!db", 'com.microsoft.sqlserver.jdbc.SQLServerDriver' );
|
|
|
|
def where = "";
|
|
|
|
if ( doc.field[ 2 ] )
|
|
{
|
|
if ( doc.field[ 2 ].indexOf( "|" ) > 0 )
|
|
{
|
|
def werte = doc.field[ 2 ].tokenize( "|" );
|
|
|
|
if ( werte[ 0 ].length() > 0 )
|
|
{
|
|
where = " where customer_no = '" + werte[ 0 ].trim() + "'";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
where = " where customer_no = '" + doc.field[ 2 ] + "'";
|
|
}
|
|
}
|
|
|
|
def sqlquery = "SELECT distinct order_no from bw_customer_order " + where;
|
|
|
|
def resultRows = null;
|
|
resultRows = sql.rows( sqlquery );
|
|
|
|
if(resultRows != null && resultRows.size() > 0)
|
|
{
|
|
repoField.provideValuesForValueSet( resultRows.collect{ it.order_no } );
|
|
}
|
|
else
|
|
{
|
|
d3.log.warn("WM_Auftragsnummer: Keine SQL Ergebnisse");
|
|
}
|
|
}
|
|
|
|
@ValueSet(entrypoint="WM_Kundennummer")
|
|
def WM_Kundennummer(D3Interface d3, RepositoryField repoField, User user, DocumentType docType, Integer row_no, Integer validate, Document doc)
|
|
{
|
|
d3.log.info("Start WM_Kundennummer");
|
|
|
|
def sql = groovy.sql.Sql.newInstance( "jdbc:sqlserver://sql.adbewital.local;databaseName=" + "D3T_shared", "d3db_master", "D.velop!db", 'com.microsoft.sqlserver.jdbc.SQLServerDriver' );
|
|
|
|
def sqlquery = "SELECT distinct customer_no + ' | ' + customer_name + ' | ' + customer_country as liste from bw_customer_data";
|
|
|
|
def resultRows = null;
|
|
resultRows = sql.rows( sqlquery );
|
|
|
|
if(resultRows != null && resultRows.size() > 0)
|
|
{
|
|
repoField.provideValuesForValueSet( resultRows.collect{ it.liste } );
|
|
}
|
|
else
|
|
{
|
|
d3.log.warn("WM_Kundennummer: Keine SQL Ergebnisse");
|
|
}
|
|
}
|
|
|
|
@ValueSet(entrypoint="WM_Artikelnummer")
|
|
def WM_Artikelnummer(D3Interface d3, RepositoryField repoField, User user, DocumentType docType, Integer row_no, Integer validate, Document doc)
|
|
{
|
|
d3.log.info("Start WM_Artikelnummer");
|
|
|
|
def sql = groovy.sql.Sql.newInstance( "jdbc:sqlserver://sql.adbewital.local;databaseName=" + "D3T_shared", "d3db_master", "D.velop!db", 'com.microsoft.sqlserver.jdbc.SQLServerDriver' );
|
|
|
|
def sqlquery = "SELECT distinct article_no + ' | ' + article_description as liste from bw_article_data";
|
|
|
|
def resultRows = null;
|
|
resultRows = sql.rows( sqlquery );
|
|
|
|
if(resultRows != null && resultRows.size() > 0)
|
|
{
|
|
repoField.provideValuesForValueSet( resultRows.collect{ it.liste } );
|
|
}
|
|
else
|
|
{
|
|
d3.log.warn("WM_Artikelnummer: Keine SQL Ergebnisse");
|
|
}
|
|
}
|
|
|
|
@ValueSet(entrypoint="WM_Marke")
|
|
def WM_Marke(D3Interface d3, RepositoryField repoField, User user, DocumentType docType, Integer row_no, Integer validate, Document doc)
|
|
{
|
|
d3.log.info("Start WM_Marke");
|
|
|
|
def sql = groovy.sql.Sql.newInstance( "jdbc:sqlserver://sql.adbewital.local;databaseName=" + "D3T_shared", "d3db_master", "D.velop!db", 'com.microsoft.sqlserver.jdbc.SQLServerDriver' );
|
|
|
|
def sqlquery = "SELECT distinct brand as liste from bw_brand";
|
|
|
|
def resultRows = null;
|
|
resultRows = sql.rows( sqlquery );
|
|
|
|
if(resultRows != null && resultRows.size() > 0)
|
|
{
|
|
repoField.provideValuesForValueSet( resultRows.collect{ it.liste } );
|
|
}
|
|
else
|
|
{
|
|
d3.log.warn("WM_Marke: Keine SQL Ergebnisse");
|
|
}
|
|
}
|
|
|
|
@ValueSet(entrypoint="WM_Sortiment")
|
|
def WM_Sortiment(D3Interface d3, RepositoryField repoField, User user, DocumentType docType, Integer row_no, Integer validate, Document doc)
|
|
{
|
|
d3.log.info("Start WM_Sortiment");
|
|
|
|
def sql = groovy.sql.Sql.newInstance( "jdbc:sqlserver://sql.adbewital.local;databaseName=" + "D3T_shared", "d3db_master", "D.velop!db", 'com.microsoft.sqlserver.jdbc.SQLServerDriver' );
|
|
|
|
def sqlquery = "SELECT distinct assortment as liste from bw_brand";
|
|
|
|
def resultRows = null;
|
|
resultRows = sql.rows( sqlquery );
|
|
|
|
if(resultRows != null && resultRows.size() > 0)
|
|
{
|
|
repoField.provideValuesForValueSet( resultRows.collect{ it.liste } );
|
|
}
|
|
else
|
|
{
|
|
d3.log.warn("WM_Sortiment: Keine SQL Ergebnisse");
|
|
}
|
|
}
|
|
|
|
@ValueSet(entrypoint="WM_Mandant")
|
|
def WM_Mandant(D3Interface d3, RepositoryField repoField, User user, DocumentType docType, Integer row_no, Integer validate, Document doc)
|
|
{
|
|
d3.log.info("Start WM_Mandant");
|
|
|
|
def sql = groovy.sql.Sql.newInstance( "jdbc:sqlserver://sql.adbewital.local;databaseName=" + "D3T_shared", "d3db_master", "D.velop!db", 'com.microsoft.sqlserver.jdbc.SQLServerDriver' );
|
|
|
|
def sqlquery = "SELECT distinct company_no + ' | ' + company_name as liste from bw_company";
|
|
|
|
def resultRows = null;
|
|
resultRows = sql.rows( sqlquery );
|
|
|
|
if(resultRows != null && resultRows.size() > 0)
|
|
{
|
|
repoField.provideValuesForValueSet( resultRows.collect{ it.liste } );
|
|
}
|
|
else
|
|
{
|
|
d3.log.warn("WM_Mandant: Keine SQL Ergebnisse");
|
|
}
|
|
}
|
|
|
|
@ValueSet(entrypoint="WM_Vertreter")
|
|
def WM_Vertreter(D3Interface d3, RepositoryField repoField, User user, DocumentType docType, Integer row_no, Integer validate, Document doc)
|
|
{
|
|
d3.log.info("Start WM_Vertreter");
|
|
|
|
def sql = groovy.sql.Sql.newInstance( "jdbc:sqlserver://sql.adbewital.local;databaseName=" + "D3T_shared", "d3db_master", "D.velop!db", 'com.microsoft.sqlserver.jdbc.SQLServerDriver' );
|
|
|
|
def sqlquery = "SELECT distinct representative_no + ' | ' + representative_name as liste from bw_representative";
|
|
|
|
def resultRows = null;
|
|
resultRows = sql.rows( sqlquery );
|
|
|
|
if(resultRows != null && resultRows.size() > 0)
|
|
{
|
|
repoField.provideValuesForValueSet( resultRows.collect{ it.liste } );
|
|
}
|
|
else
|
|
{
|
|
d3.log.warn("WM_Vertreter: Keine SQL Ergebnisse");
|
|
}
|
|
}
|
|
|
|
|
|
// Wertemengen für die Filer-Ablösung calb/d.velop 2025.12.08 ENDE
|
|
//////////////////////////////////////////
|
|
|
|
|
|
}
|