Personalakte hinzugefügt
This commit is contained in:
84
Bayernoil/Personalakte/10_hooks.groovy
Normal file
84
Bayernoil/Personalakte/10_hooks.groovy
Normal file
@@ -0,0 +1,84 @@
|
||||
import com.dvelop.d3.server.Document
|
||||
import com.dvelop.d3.server.Entrypoint
|
||||
import com.dvelop.d3.server.User
|
||||
import com.dvelop.d3.server.core.D3Interface
|
||||
import com.dvelop.d3.server.DocumentTypeAttribute;
|
||||
import com.dvelop.d3.server.DocumentType;
|
||||
import com.dvelop.d3.server.RepositoryField;
|
||||
|
||||
class Hook {
|
||||
|
||||
@Entrypoint( entrypoint = "hook_insert_entry_10" )
|
||||
public int hookInsertEntry10(D3Interface d3, User user, DocumentType docType, Document doc)
|
||||
{
|
||||
d3.log.info("START | hookInsertEntry10 ");
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
// Validierung Personalnummer mit Mitarbeiternamen calb @ d.velop 2025.12.12 START
|
||||
|
||||
String Namensvalidierung = "DPERS|APERS|APREG";
|
||||
|
||||
if ( Namensvalidierung.contains( docType.id() ) )
|
||||
{
|
||||
if ( doc.field[ 1 ] )
|
||||
{
|
||||
if ( doc.field[ 1 ].indexOf( "|" ) > 0 )
|
||||
{
|
||||
def werte = doc.field[ 1 ].tokenize( " | " );
|
||||
|
||||
if ( werte[ 0 ].length() > 0 )
|
||||
{
|
||||
doc.field[ 1 ] = werte[ 0 ];
|
||||
}
|
||||
|
||||
if ( werte[ 1 ].length() > 0 )
|
||||
{
|
||||
doc.field[ 3 ] = werte[ 1 ];
|
||||
}
|
||||
|
||||
if ( werte[ 2 ].length() > 0 )
|
||||
{
|
||||
doc.field[ 2 ] = werte[ 2 ];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
d3.log.info( "Validierung Personalnummer / Mitarbeiternamen erfolgt.");
|
||||
|
||||
// Validierung Personalnummer mit Mitarbeiternamen calb @ d.velop 2025.12.12 ENDE
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
// Validierung Register / Dokumenttyp calb @ d.velop 2025.12.12 START
|
||||
|
||||
String Registervalidierung = "DPERS";
|
||||
|
||||
if ( Registervalidierung.contains( docType.id() ) )
|
||||
{
|
||||
if ( doc.field[ 16 ] )
|
||||
{
|
||||
def sqlQuery = "select distinct dok_dat_feld_20 from firmen_spezifisch where kue_dokuart = 'AADM' and dok_dat_feld_21 = '" + doc.field[ 16 ] + "' ";
|
||||
|
||||
def resultrows = d3.sql.executeAndGet( sqlQuery );
|
||||
|
||||
if ( resultrows.size() > 0 )
|
||||
{
|
||||
doc.field[ 15 ] = resultrows[ 0 ].dok_dat_feld_20;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
d3.log.info( "Validierung Register / Dokumenttyp erfolgt.");
|
||||
|
||||
// Validierung Register / Dokumenttyp calb @ d.velop 2025.12.12 ENDE
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
d3.log.info("ENDE | hookInsertEntry10 ");
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
57
Bayernoil/Personalakte/20_value_sets.groovy
Normal file
57
Bayernoil/Personalakte/20_value_sets.groovy
Normal file
@@ -0,0 +1,57 @@
|
||||
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.RepositoryField;
|
||||
|
||||
|
||||
|
||||
public class ValueSetsCombined
|
||||
{
|
||||
|
||||
@ValueSet( entrypoint = "PERS_Dokumenttyp" )
|
||||
def PERS_Dokumenttyp( D3Interface d3, RepositoryField reposField, User user, DocumentType docType, int rowNo, int validate, Document doc )
|
||||
{
|
||||
def where = "";
|
||||
if ( doc.field[ 15 ] )
|
||||
{
|
||||
where = " and dok_dat_feld_20 = '" + doc.field[ 15 ] + "' "
|
||||
}
|
||||
|
||||
def sqlQuery = "select distinct dok_dat_feld_21 DDF from firmen_spezifisch where kue_dokuart = 'AADM' " + where + " order by dok_dat_feld_21 ";
|
||||
|
||||
def resultRows = d3.sql.executeAndGet( (String) sqlQuery );
|
||||
|
||||
if ( resultRows.size() > 0 )
|
||||
{
|
||||
reposField.provideValuesForValueSet( resultRows.collect{ it.DDF } );
|
||||
}
|
||||
}
|
||||
|
||||
@ValueSet( entrypoint = "PERS_Register" )
|
||||
def PERS_Register( D3Interface d3, RepositoryField reposField, User user, DocumentType docType, int rowNo, int validate, Document doc )
|
||||
{
|
||||
def sqlQuery = "select distinct dok_dat_feld_20 DDF from firmen_spezifisch where kue_dokuart = 'AADM'" + " order by dok_dat_feld_20 ";
|
||||
|
||||
def resultRows = d3.sql.executeAndGet( (String) sqlQuery );
|
||||
|
||||
if ( resultRows.size() > 0 )
|
||||
{
|
||||
reposField.provideValuesForValueSet( resultRows.collect{ it.DDF } );
|
||||
}
|
||||
}
|
||||
|
||||
@ValueSet( entrypoint = "PERS_PersonalNr" )
|
||||
def PERS_PersonalNr( D3Interface d3, RepositoryField reposField, User user, DocumentType docType, int rowNo, int validate, Document doc )
|
||||
{
|
||||
def sqlQuery = "select dok_dat_feld_1 || ' | ' || dok_dat_feld_3 || ' | ' || dok_dat_feld_2 mitarbeiter from firmen_spezifisch where kue_dokuart = 'APERS' order by mitarbeiter ";
|
||||
|
||||
def resultRows = d3.sql.executeAndGet( (String) sqlQuery );
|
||||
|
||||
if ( resultRows.size() > 0 )
|
||||
{
|
||||
reposField.provideValuesForValueSet( resultRows.collect{ it.mitarbeiter } );
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user