Update: Versionierung von Fertigungsaufträgen
This commit is contained in:
@@ -34,9 +34,9 @@ public class D3Hooks
|
||||
@Entrypoint( entrypoint = "hook_insert_exit_20" )
|
||||
public int insertExit_20( D3Interface d3, Document doc, String fileDestination, int importOk, User user, DocumentType docType )
|
||||
{
|
||||
def repo_id = "a9768552-0f99-5876-a73e-f2865b09a657";
|
||||
def baseUri = "https://d3t-app.rau.rau-pforzheim.de";
|
||||
def authUsr = "VlEdhy+t56IhmlcZ45YlTOHwYa82cPd3LxakovVcJySqe+n5fzQCey+/FQ+KVGoC58z74l5qUwfQy8nXtZXQk4WVf9lO1n3wG4pgbOhjiZc=&_z_A0V5ayCRSfawhq6CylCK5wlpIpFAdRduIm5inJ1V3HmqUmSCVXfoK4GvUqlFS8C1F6hucJi-EzDrl-UqJkiCzhHRpw6ce";
|
||||
def repo_id = "2e0f1447-d775-51aa-8593-0e0a5d9662aa";
|
||||
def baseUri = "https://d3ecm.rau.rau-pforzheim.de";
|
||||
def authUsr = "Zyu0W+L0fb6HF0sxPRyPdETFQFBCTOBLb1KcZfli2Sfeepce3TAmYQ22Qq1upRpNAsZou2njb9rkV4c0MRzMdwhPMwEcQCgDWo/VDxsOLkk=&_z_A0V5ayCQR0EAw9MiR-iA1MQAZsBKD5iT_eZeqUR-mqT2T-xMwoBzOA2BvbwjxQEXwJoiuAEGbrxTzJRFYMTVwhHGjwW-p";
|
||||
|
||||
//xlog( d3, 2, "repo_id " + repo_id );
|
||||
//xlog( d3, 2, "baseUri " + baseUri );
|
||||
@@ -46,7 +46,7 @@ public class D3Hooks
|
||||
|
||||
def username = getUserIdpId( d3, "D3-User", repo_id, baseUri, authUsr );
|
||||
|
||||
xlog( d3, 2, "username " + username );
|
||||
//xlog( d3, 2, "username " + username );
|
||||
|
||||
|
||||
empfaenger.push( username );
|
||||
@@ -62,7 +62,8 @@ public class D3Hooks
|
||||
{
|
||||
doc.setStatus( "Freigabe" );
|
||||
|
||||
if ( isRepoIdInDocType( d3, docType.id, 59 ) ) // Kundenstammdaten
|
||||
|
||||
if ( isRepoIdInDocType( d3, docType.id, 51 ) ) // Kundenstammdaten
|
||||
{
|
||||
if ( doc.field[ 6 ] )
|
||||
{
|
||||
@@ -142,38 +143,35 @@ public class D3Hooks
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
///////////////////////////
|
||||
// eingefügt von CALB/d.velop AG / 2024.06.11 / Versionierung von Fertigungsaufträgen
|
||||
// eingefügt von CALB/d.velop AG / 2024.06.12 / Setzen des Mandanten bei SAP-Dokumenten (Mandant = 200)
|
||||
|
||||
if ( docType.id == "DFAUF" )
|
||||
if ( ( isRepoIdInDocType( d3, docType.id, 48 ) ) && ( isRepoIdInDocType( d3, docType.id, 1 ) ) ) // Mandant / Buchungskreis ist in der Dokumentart enthalten
|
||||
{
|
||||
if ( doc.field[ 16 ] )
|
||||
if ( doc.field[ 39 ] == "200" )
|
||||
{
|
||||
def sqlQuery = "select doku_id from firmen_spezifisch where kue_dokuart = 'DFAUF' and dok_dat_feld_16 = '" + doc.field[ 16 ] + "'";
|
||||
|
||||
def treffer = d3.sql.executeAndGet( (String) sqlQuery );
|
||||
|
||||
if ( treffer.size() > 0 )
|
||||
if ( doc.field[ 1 ] )
|
||||
{
|
||||
sqlQuery = "select zeich_nr, var_nr from phys_datei where doku_id = '" + treffer[ 0 ].doku_id + "'";
|
||||
treffer = d3.sql.executeAndGet( (String) sqlQuery );
|
||||
|
||||
if ( treffer.size() > 0 )
|
||||
if ( doc.field[ 1 ].indexOf( "|" ) > 0 )
|
||||
{
|
||||
doc.number = treffer[ 0 ].zeich_nr;
|
||||
//doc.docField( "var_nr", treffer[ 0 ].var_nr );
|
||||
// wird weiter unten behandelt
|
||||
}
|
||||
else
|
||||
{
|
||||
def sqlQuery = "SELECT mandant_name FROM [D3ServiceT].[dbo].[dv_mandant] where mandant_nr = '" + doc.field[ 1 ] + "'";
|
||||
|
||||
def sql = groovy.sql.Sql.newInstance( "jdbc:sqlserver://d3sql;databaseName=D3ServiceT", 'd3DBAdminT', 'Dvelop1!', 'com.microsoft.sqlserver.jdbc.SQLServerDriver' );
|
||||
|
||||
def resultRows = sql.rows( sqlQuery );
|
||||
|
||||
doc.field[ 39 ] = resultRows[ 0 ].mandant_name;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Einfügung Ende / Versionierung von Fertigungsaufträgen
|
||||
// Einfügung Ende / Setzen des Mandanten bei SAP-Dokumenten (Mandant = 200)
|
||||
///////////////////////////
|
||||
|
||||
if ( isRepoIdInDocType( d3, docType.id, 31 ) ) // Materialstammdaten, ID 31 => Materialnummer
|
||||
@@ -312,51 +310,67 @@ public class D3Hooks
|
||||
}
|
||||
|
||||
@Entrypoint( entrypoint = "hook_upd_attrib_entry_20" )
|
||||
public int hookUpdAttribEntry20(D3Interface d3, Document doc, User user, DocumentType docType, DocumentType docTypeNew) {
|
||||
public int hookUpdAttribEntry20(D3Interface d3, Document doc, User user, DocumentType docType, DocumentType docTypeNew)
|
||||
{
|
||||
d3.log.error("START | hookUpdAttribEntry20")
|
||||
|
||||
// temporäres Objekt holen, um zu prüfen, das sich Eigenschaften geändert haben
|
||||
def oldDocAttributes = d3.archive.getDocument(doc.id());
|
||||
|
||||
|
||||
///////////////////////////
|
||||
// eingefügt von CALB/d.velop AG / 2024.06.12 / Setzen des Mandanten bei SAP-Dokumenten (Mandant = 200)
|
||||
|
||||
if ( ( isRepoIdInDocType( d3, docType.id, 48 ) ) && ( isRepoIdInDocType( d3, docType.id, 1 ) ) ) // Mandant / Buchungskreis ist in der Dokumentart enthalten
|
||||
{
|
||||
if ( doc.field[ 39 ] == "200" )
|
||||
{
|
||||
if ( doc.field[ 1 ] )
|
||||
{
|
||||
if ( doc.field[ 1 ].indexOf( "|" ) > 0 )
|
||||
{
|
||||
// wird weiter unten behandelt
|
||||
}
|
||||
else
|
||||
{
|
||||
def sqlQuery = "SELECT mandant_name FROM [D3ServiceT].[dbo].[dv_mandant] where mandant_nr = '" + doc.field[ 1 ] + "'";
|
||||
|
||||
def sql = groovy.sql.Sql.newInstance( "jdbc:sqlserver://d3sql;databaseName=D3ServiceT", 'd3DBAdminT', 'Dvelop1!', 'com.microsoft.sqlserver.jdbc.SQLServerDriver' );
|
||||
|
||||
def resultRows = sql.rows( sqlQuery );
|
||||
|
||||
doc.field[ 39 ] = resultRows[ 0 ].mandant_name;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Einfügung Ende / Setzen des Mandanten bei SAP-Dokumenten (Mandant = 200)
|
||||
///////////////////////////
|
||||
|
||||
def ergebnis = hook_validate_update_entry_10( d3, user, docTypeNew, doc, "" );
|
||||
|
||||
d3.log.error("ENDE | hookUpdAttribEntry20")
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Entrypoint( entrypoint = "hook_insert_entry_10" )
|
||||
public int hookInsertEntry10(D3Interface d3, User user, DocumentType docType, Document doc)
|
||||
{
|
||||
|
||||
d3.log.info("START | hookInsertEntry10 ");
|
||||
|
||||
///////////////////////////
|
||||
// eingefügt von CALB/d.velop AG / 2024.06.11 / Versionierung von Fertigungsaufträgen
|
||||
|
||||
|
||||
if ( ( docType.id == "DFAUF" ) || ( docType.id == "DPEIN" ) || ( docType.id == "DMPRO" ) || ( docType.id == "DPZEU" ) )
|
||||
{
|
||||
|
||||
if ( doc.field[ 16 ] )
|
||||
{
|
||||
def sqlQuery = "select doku_id from firmen_spezifisch where kue_dokuart = '" + docType.id + "' and dok_dat_feld_16 = '" + doc.field[ 16 ] + "'";
|
||||
|
||||
def treffer = d3.sql.executeAndGet( (String) sqlQuery );
|
||||
|
||||
if ( treffer.size() > 1 )
|
||||
{
|
||||
d3.log.error( "Anzahl Treffer: " + treffer.size() + " => es gibt mehr als ein Dokument fuer Auftragsnummer " + doc.field[ 16 ] + " in der Dokumentart " + docType.id + " !" );
|
||||
return -120;
|
||||
}
|
||||
|
||||
if ( treffer.size() == 1 )
|
||||
{
|
||||
|
||||
sqlQuery = "select zeich_nr, var_nr from phys_datei where doku_id = '" + treffer[ 0 ].doku_id + "'";
|
||||
treffer = d3.sql.executeAndGet( (String) sqlQuery );
|
||||
|
||||
if ( treffer.size() > 0 )
|
||||
{
|
||||
d3.log.info( "Fertigungsauftrag gefunden, setze Dokumentnummer " + doc.number + " bei Auftragsnummer " + doc.field[ 16 ] );
|
||||
doc.number = treffer[ 0 ].zeich_nr;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Einfügung Ende / Versionierung von Fertigungsaufträgen
|
||||
///////////////////////////
|
||||
|
||||
|
||||
|
||||
d3.log.info("ENDE | hookInsertEntry10 ");
|
||||
return 0;
|
||||
}
|
||||
|
||||
public String getUserIdpId( D3Interface d3, String UserName, String repo_id, String baseUri, String authUserApiKey )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user