Files
Facilitor/APPL/PRS/prs_edit_bedrijf_save.asp
2025-05-19 10:18:28 +00:00

178 lines
11 KiB
Plaintext

<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: prs_edit_bedrijf_save.asp
Description: SUBMIT-form
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../shared/save2db.inc" -->
<!-- #include file="../Shared/kenmerk_common.inc"-->
<%
FCLTHeader.Requires({ plugins:["jQuery"] });
var bedrijf_key = getQParamInt("bedrijf_key", -1);
var levnr = getFParam("bdr_levnr", -1);
var isNew = (bedrijf_key < 0);
if (S("prs_bedrijf_leveranciernr_unique") == 1)
{ // Controleer of het leveranciersnummer al wordt gebruikt bij een bedrijf
sql = "SELECT b.prs_bedrijf_key"
+ " FROM prs_v_aanwezigbedrijf b"
+ " WHERE UPPER(b.prs_leverancier_nr) = " + safe.quoted_sql_upper(levnr);
if (bedrijf_key > 0)
{
sql += " AND b.prs_bedrijf_key NOT IN (" + bedrijf_key + ")";
}
oRs = Oracle.Execute(sql);
if (!oRs.eof)
{ // Er is al een bedrijf met dezelfde leveranciersnummer aanwezig
abort_with_warning(L("lcl_prs_levnr_unique"));
}
oRs.close();
}
var intern = getFParamInt("bdr_intern", 0);
var fields = [ { dbs: "prs_bedrijf_naam", typ: "varchar", frm: "bdr_naam", track: L("lcl_prs_companies_name") },
{ dbs: "prs_bedrijf_post_adres", typ: "varchar", frm: "bdr_pstadr", track: L("lcl_prs_companies_post_adres") },
{ dbs: "prs_bedrijf_post_postcode", typ: "varchar", frm: "bdr_pstpstc", track: L("lcl_prs_companies_post_postcode") },
{ dbs: "prs_bedrijf_post_plaats", typ: "varchar", frm: "bdr_pstpl", track: L("lcl_prs_companies_post_plaats") },
{ dbs: "prs_bedrijf_post_land", typ: "varchar", frm: "bdr_pstland", track: L("lcl_prs_companies_post_land") },
{ dbs: "prs_bedrijf_bezoek_adres", typ: "varchar", frm: "bdr_bezadr", track: L("lcl_prs_companies_bezoek_adres") },
{ dbs: "prs_bedrijf_bezoek_postcode", typ: "varchar", frm: "bdr_bezpstc", track: L("lcl_prs_companies_bezoek_postcode") },
{ dbs: "prs_bedrijf_bezoek_plaats", typ: "varchar", frm: "bdr_bezpl", track: L("lcl_prs_companies_bezoek_plaats") },
{ dbs: "prs_bedrijf_bezoek_land", typ: "varchar", frm: "bdr_bezland", track: L("lcl_prs_companies_bezoek_land") },
{ dbs: "prs_bedrijf_telefoon", typ: "varchar", frm: "bdr_tel", track: L("lcl_prs_companies_telefoon") },
{ dbs: "prs_bedrijf_fax", typ: "varchar", frm: "bdr_fax", track: L("lcl_prs_companies_fax") },
{ dbs: "prs_bedrijf_url", typ: "varchar", frm: "bdr_url", track: L("lcl_prs_companies_url") },
{ dbs: "prs_bedrijf_telefoon2", typ: "varchar", frm: "bdr_tel2", track: L("lcl_prs_companies_telefoon2") },
{ dbs: "prs_bedrijf_contact_persoon", typ: "varchar", frm: "bdr_cntper", track: L("lcl_prs_companies_contact_person") },
{ dbs: "prs_bedrijf_contact_telefoon", typ: "varchar", frm: "bdr_cnttel", track: L("lcl_prs_companies_contact_telefoon") },
{ dbs: "prs_bedrijf_contact_fax", typ: "varchar", frm: "bdr_cntfax", track: L("lcl_prs_companies_contact_fax") },
{ dbs: "prs_bedrijf_opmerking", typ: "varchar", frm: "bdr_opm", track: L("lcl_prs_companies_opmerking") },
{ dbs: "prs_bedrijf_opmerking2", typ: "varchar", frm: "bdr_opm2", track: L("lcl_prs_companies_opmerking2") },
{ dbs: "prs_bedrijf_uurloon", typ: "float", frm: "bdr_uurln", track: L("lcl_prs_companies_uurloon") },
{ dbs: "prs_bedrijf_mld_limiet", typ: "float", frm: "bdr_mldlim", track: L("lcl_prs_companies_mld_limiet") },
{ dbs: "prs_leverancier_nr", typ: "varchar", frm: "bdr_levnr", track: L("lcl_prs_companies_leverancier_nr") },
{ dbs: "prs_overeenkomst_nr", typ: "varchar", frm: "bdr_ovknr", track: L("lcl_prs_companies_overeenkomst_nr") },
{ dbs: "prs_overeenkomst_datum", typ: "date", frm: "bdr_ovkdat", track: L("lcl_prs_companies_overeenkomst_datum") },
{ dbs: "prs_bedrijf_leverancier", typ: "check", frm: "bdr_lev", track: L("lcl_prs_companies_leverancier") },
{ dbs: "prs_bedrijf_uitvoerende", typ: "check", frm: "bdr_uitv", track: L("lcl_prs_companies_leverancier_nr") },
{ dbs: "prs_bedrijf_contract", typ: "check", frm: "bdr_cntr", track: L("lcl_prs_companies_contract") },
{ dbs: "prs_bedrijf_intern", typ: "number", val: (intern > 0 ? intern : null) }, // intern=0 opslaan als NULL
{ dbs: "prs_bedrijf_huurder", typ: "check", frm: "bdr_huur", track: L("lcl_prs_companies_huurder") },
{ dbs: "prs_bedrijf_email", typ: "varchar", frm: "bdr_email", track: L("lcl_prs_companies_email") },
{ dbs: "prs_bedrijf_image_loc", typ: "varchar", frm: "bdr_imgloc", track: L("lcl_prs_companies_image_loc") },
{ dbs: "prs_bedrijf_details_loc", typ: "varchar", frm: "bdr_detloc", track: L("lcl_prs_companies_details_loc") },
{ dbs: "mld_adres_key_lev", typ: "key", frm: "mld_adrlkey", track: L("lcl_prs_companies_adres_lev"), foreign: "mld_v_afleveradres" },
{ dbs: "mld_adres_key_fac", typ: "key", frm: "mld_adrfkey", track: L("lcl_prs_companies_adres_fac"), foreign: "mld_v_factuuradres" },
{ dbs: "prs_bedrijf_ingids", typ: "check", frm: "bdr_ingids", track: L("lcl_prs_companies_ingids") },
{ dbs: "prs_bedrijf_order_confirm", typ: "check", frm: "bdr_confirm", track: L("lcl_prs_companies_order_confirm") },
{ dbs: "prs_bedrijf_xmlcatalogus_loc", typ: "varchar", frm: "bdr_xmlcatl", track: L("lcl_prs_companies_xmlcatalogus_loc") },
{ dbs: "prs_bedrijf_bes_limiet", typ: "float", frm: "bdr_beslim", track: L("lcl_prs_companies_bes_limiet") },
{ dbs: "fin_btwtabel_key", typ: "key", frm: "finbtwtabelkey", track: L("fin_btwtabel"), foreign: "fin_btwtabel" },
{ dbs: "prs_bedrijf_bes_kosten", typ: "float", frm: "bdr_beskst", track: L("lcl_prs_companies_bes_kosten") },
{ dbs: "prs_relatietype_key", typ: "key", frm: "prs_reltype_key", track: L("lcl_prs_relatietype"), foreign: "prs_relatietype" },
{ dbs: "prs_bedrijf_x", typ: "float", frm: "xcoord", track: L("lcl_geoxcoord")},
{ dbs: "prs_bedrijf_y", typ: "float", frm: "ycoord", track: L("lcl_geoycoord")}
];
// Checken of het eenheden selectveld met dagen/uren bij "Uitvoertijd" niet readonly was en wel is meegegeven.
// Als dit eenheden selectieveld readonly was dan is er geen waarde voor uitvoertijd ingevuld en moeten beide waarden null worden.
fields = shared.add_time_field(fields, "prs_bedrijf_t_uitvoertijd", "bdr_uitvtijd", "dayshours");
var warning = "";
var prsUpd;
if (bedrijf_key > 0)
{
var prsUpd = buildTrackingUpdate("prs_bedrijf", " prs_bedrijf_key = " + bedrijf_key, fields);
var err = Oracle.Execute(prsUpd.sql, true);
if (err.friendlyMsg)
warning = err.friendlyMsg;
}
else
{
fields.push({ dbs: "prs_bedrijf_key", typ: "key", seq: "prs_s_prs_alluitvoerende_keys" });
var regIns = buildInsert("prs_bedrijf", fields);
var bedrijf_key = regIns.sequences["prs_bedrijf_key"];
sql = regIns.sql;
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
warning = err.friendlyMsg;
// Geen trackaction voor nieuwe bedrijven.
}
var flextrack = [];
if (!warning)
{
currentKenmerkenSQL = "SELECT kl.prs_kenmerk_key"
+ " , kl.prs_kenmerklink_waarde"
+ " , k.prs_kenmerk_toonbaar"
+ " , k.fac_functie_key"
+ " FROM prs_kenmerklink kl"
+ " , prs_kenmerk k"
+ " WHERE k.prs_kenmerk_key = kl.prs_kenmerk_key"
+ " AND prs_kenmerklink_verwijder IS NULL"
+ " AND prs_link_key = " + bedrijf_key;
var allKenmerkenSQL = " SELECT " + lcl.xsql('k.prs_kenmerk_omschrijving', 'k.prs_kenmerk_key') + " kenmerk_omschrijving"
+ " , k.prs_kenmerk_kenmerktype kenmerk_kenmerktype"
+ " , k.prs_kenmerk_systeem kenmerk_systeem"
+ " , k.prs_kenmerk_toonbaar kenmerk_readonly"
+ " , k.prs_kenmerk_uniek kenmerk_uniek"
+ " , fac_kenmerkdomein_key"
+ " FROM prs_kenmerk k "
+ " WHERE k.prs_kenmerk_verwijder IS NULL"
+ " AND k.prs_kenmerk_key = "; /* wordt in saveFlexkenmerken uitgebreid */
flextrack =
saveFlexKenmerken(bedrijf_key, { kenmerkTable: "prs_kenmerklink",
kenmerkParentKey : "prs_link_key",
kenmerkWaarde: "prs_kenmerklink_waarde",
kenmerkKey: "prs_kenmerk_key",
kenmerkToonbaar: "prs_kenmerk_toonbaar",
currentKenmerkenSQL: currentKenmerkenSQL,
allKenmerkenSQL: allKenmerkenSQL,
requestQF: Request.Form,
module: "PRS",
moduleName: "prs_kenmerklink_niveau",
moduleVal: "B",
isNew: isNew,
tracking: true,
flexPath: "PRS/B"
});
if (!isNew)
{
if (flextrack.length)
{
if (prsUpd && prsUpd.trackarray)
prsUpd.trackarray = prsUpd.trackarray.concat(flextrack);
else
prsUpd.trackarray = flextrack;
}
if (prsUpd.trackarray.length)
shared.trackaction("PRSUPB", bedrijf_key, prsUpd.trackarray.join("\n") );
}
}
%>
<html>
<head>
<% FCLTHeader.Generate() %>
<script>
$(function ()
{
FcltMgr.closeDetail(window, { bedrijf_key: <%=bedrijf_key%>,
warning: "<%=safe.jsstring(warning)%>",
keepForm: <%=warning?"true":"false"%>
});
});
</script>
</head>
<body>
</body>
</html>
<% ASPPAGE_END(); %>