BVB1#79885 Automatisch nummeren van objecten inclusief scheidingsteken

svn path=/Website/trunk/; revision=61719
This commit is contained in:
Peter Feij
2023-09-05 15:12:52 +00:00
parent b65389b372
commit 4289f52b84
5 changed files with 18 additions and 28 deletions

View File

@@ -173,38 +173,39 @@ var locKey = getQParamInt("loc_key");
if (scenario_key == 0) if (scenario_key == 0)
{ {
sql = "SELECT ins.get_description('LPN_INS_DEEL', "+locKey+", ins_srtdeel_code_upper)" sql = "SELECT ins.nextdescription(ins_srtdeel_code, NULL)"
+ " FROM ins_srtdeel WHERE ins_srtdeel_key="+srtdeel_key; + " FROM ins_srtdeel "
+ " WHERE ins_srtdeel_key = " + srtdeel_key;
} }
else else
{ {
sql = "SELECT max(ins_srtdeel_code_upper)||NVL " sql = "SELECT max(ins_srtdeel_code)||NVL "
+ " (LPAD " + " (LPAD "
+ " (TO_CHAR " + " (TO_CHAR "
+ " ( MAX " + " ( MAX "
+ " (TO_NUMBER (SUBSTR (prj_deel_omschrijving, " + " (TO_NUMBER (SUBSTR (prj_deel_omschrijving, "
+ " LENGTH (ins_srtdeel_code_upper) " + " LENGTH (ins_srtdeel_code) "
+ " + 1, " + " + 1, "
+ " LENGTH (prj_deel_omschrijving) " + " LENGTH (prj_deel_omschrijving) "
+ " - LENGTH (ins_srtdeel_code_upper) " + " - LENGTH (ins_srtdeel_code) "
+ " ) " + " ) "
+ " ) " + " ) "
+ " ) " + " ) "
+ " + 1 " + " + 1 "
+ " ), " + " ), "
+ " MAX ( LENGTH (prj_deel_omschrijving) " + " MAX ( LENGTH (prj_deel_omschrijving) "
+ " - LENGTH (ins_srtdeel_code_upper) " + " - LENGTH (ins_srtdeel_code) "
+ " ), " + " ), "
+ " '0' " + " '0' "
+ " ), " + " ), "
+ " '001' " + " '001' "
+ " ) " + " ) "
+ " FROM prj_deel, prj_ruimte, ins_srtdeel " + " FROM prj_deel, prj_ruimte, ins_srtdeel "
+ " WHERE prj_deel_omschrijving LIKE ins_srtdeel_code_upper || '%' " + " WHERE UPPER(prj_deel_omschrijving) LIKE ins_srtdeel_code_upper || '%' " // caseinsensitive
+ " AND fac.safe_to_number (SUBSTR (prj_deel_omschrijving, " + " AND fac.safe_to_number (SUBSTR (prj_deel_omschrijving, "
+ " LENGTH (ins_srtdeel_code_upper) + 1, " + " LENGTH (ins_srtdeel_code) + 1, "
+ " LENGTH (prj_deel_omschrijving) " + " LENGTH (prj_deel_omschrijving) "
+ " - LENGTH (ins_srtdeel_code_upper) " + " - LENGTH (ins_srtdeel_code) "
+ " ) " + " ) "
+ " ) IS NOT NULL " + " ) IS NOT NULL "
+ " AND prj_deel_verwijder IS NULL " + " AND prj_deel_verwijder IS NULL "

View File

@@ -258,9 +258,7 @@ else
} }
else else
{ {
sql = "SELECT ins.get_description(" + safe.quoted_sql(parent_key < 0 ? "LPN_INS_DEEL" : "LPN_INS_ONDERDEEL") sql = "SELECT ins.nextdescription(ins_srtdeel_code, " + (parent_key < 0 ? "NULL" : parent_key) + ")"
+ " ," + (parent_key < 0 ? loc : parent_key) // scope for uniqueness could be location (unused) or parent
+ " , ins_srtdeel_code_upper)"
+ " FROM ins_srtdeel" + " FROM ins_srtdeel"
+ " WHERE ins_srtdeel_key = " + srtdeel_key; + " WHERE ins_srtdeel_key = " + srtdeel_key;
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);

View File

@@ -17,15 +17,12 @@
var srt_deel_key = getQParamInt("srtdeel_key"); var srt_deel_key = getQParamInt("srtdeel_key");
var parent_key = getQParamInt("parent_key", -1); var parent_key = getQParamInt("parent_key", -1);
var sql = "SELECT " var sql = "SELECT ins.nextdescription(ins_srtdeel_code, " + (parent_key < 0 ? "NULL" : parent_key) + ")"
+ "ins.get_description('"+(parent_key<0?"LPN_INS_DEEL":"LPN_INS_ONDERDEEL")+"'," + " FROM ins_srtdeel "
+ (parent_key<0?"NULL":parent_key) // scope for uniqueness could be location (unused) or parent + "WHERE ins_srtdeel_key = " + srt_deel_key;
+ ", ins_srtdeel_code_upper)" var oRs = Oracle.Execute(sql);
+ " FROM ins_srtdeel WHERE ins_srtdeel_key="+srt_deel_key;
var oRs = Oracle.Execute( sql );
var result = { success: true, volgnr: oRs(0).Value }; var result = { success: true, volgnr: oRs(0).Value };
Response.Write(JSON.stringify(result)); Response.Write(JSON.stringify(result));
%> %>
<% ASPPAGE_END(); %> <% ASPPAGE_END(); %>

View File

@@ -211,9 +211,7 @@ if (ins_key == -1)
isNew = true; isNew = true;
var this_ins = { canChangeAlg: true }; var this_ins = { canChangeAlg: true };
var sql = "SELECT ins.get_description('" + (parent_key<0 ? "LPN_INS_DEEL" : "LPN_INS_ONDERDEEL") + "'," var sql = "SELECT ins.nextdescription(ins_srtdeel_code, " + (parent_key < 0 ? "NULL" : parent_key) + ")"
+ (parent_key<0 ? "NULL" : parent_key) // scope for uniqueness could be location (unused) or parent
+ " , ins_srtdeel_code_upper)"
+ " FROM ins_srtdeel" + " FROM ins_srtdeel"
+ " WHERE ins_srtdeel_key = " + srtobj_key; + " WHERE ins_srtdeel_key = " + srtobj_key;
var oRs = Oracle.Execute( sql ); var oRs = Oracle.Execute( sql );

View File

@@ -255,9 +255,7 @@ else
// Als voor de discipline is aangegeven dat niet automatische genummerd dient te worden zal dat voor multi objecten toch altijd moeten blijven. // Als voor de discipline is aangegeven dat niet automatische genummerd dient te worden zal dat voor multi objecten toch altijd moeten blijven.
// Omschrijving met uniek volgnummer erin bepalen. // Omschrijving met uniek volgnummer erin bepalen.
sql = "SELECT ins.get_description('LPN_INS_DEEL'" sql = "SELECT ins.nextdescription(ins_srtdeel_code, NULL) description"
+ " , 1" // (unused for ins_deel)
+ " , ins_srtdeel_code_upper) description" // Set code als prefix
+ " FROM ins_srtdeel" + " FROM ins_srtdeel"
+ " WHERE ins_srtdeel_key = " + sle_srtdeel_key; + " WHERE ins_srtdeel_key = " + sle_srtdeel_key;
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
@@ -293,9 +291,7 @@ else
{ dbs: "ins_alg_ruimte_type_org", typ: "varchar", val: "R" }]; { dbs: "ins_alg_ruimte_type_org", typ: "varchar", val: "R" }];
// Omschrijving met uniek volgnummer erin bepalen. // Omschrijving met uniek volgnummer erin bepalen.
sql = "SELECT ins.get_description('LPN_INS_DEEL'" sql = "SELECT ins.nextdescription(ins_srtdeel_code, NULL) description"
+ " , 1" // (unused for ins_deel)
+ " , ins_srtdeel_code_upper) description"
+ " FROM ins_srtdeel" + " FROM ins_srtdeel"
+ " WHERE ins_srtdeel_key = " + cil_srtdeel_key; + " WHERE ins_srtdeel_key = " + cil_srtdeel_key;
oRs1 = Oracle.Execute(sql); oRs1 = Oracle.Execute(sql);