<%@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 fields =  [ { dbs: "prs_bedrijf_naam", typ: "varchar",  frm: "bdr_naam" },
                { dbs: "prs_bedrijf_post_adres", typ: "varchar",  frm: "bdr_pstadr" },
                { dbs: "prs_bedrijf_post_postcode", typ: "varchar",  frm: "bdr_pstpstc" },
                { dbs: "prs_bedrijf_post_plaats", typ: "varchar",  frm: "bdr_pstpl" },
                { dbs: "prs_bedrijf_post_land", typ: "varchar",  frm: "bdr_pstland" },
                { dbs: "prs_bedrijf_bezoek_adres", typ: "varchar",  frm: "bdr_bezadr" },
                { dbs: "prs_bedrijf_bezoek_postcode", typ: "varchar",  frm: "bdr_bezpstc" },
                { dbs: "prs_bedrijf_bezoek_plaats", typ: "varchar",  frm: "bdr_bezpl" },
                { dbs: "prs_bedrijf_bezoek_land", typ: "varchar",  frm: "bdr_bezland" },
                { dbs: "prs_bedrijf_telefoon", typ: "varchar",  frm: "bdr_tel" },
                { dbs: "prs_bedrijf_fax", typ: "varchar",  frm: "bdr_fax" },
                { dbs: "prs_bedrijf_telefoon2", typ: "varchar",  frm: "bdr_tel2" },
                { dbs: "prs_bedrijf_contact_persoon", typ: "varchar",  frm: "bdr_cntper" },
                { dbs: "prs_bedrijf_contact_telefoon", typ: "varchar",  frm: "bdr_cnttel" },
                { dbs: "prs_bedrijf_contact_fax", typ: "varchar",  frm: "bdr_cntfax" },
                { dbs: "prs_bedrijf_opmerking", typ: "varchar",  frm: "bdr_opm" },
                { dbs: "prs_bedrijf_opmerking2", typ: "varchar",  frm: "bdr_opm2" },
                { dbs: "prs_bedrijf_uurloon", typ: "float",  frm: "bdr_uurln" },
                { dbs: "prs_leverancier_nr", typ: "varchar",  frm: "bdr_levnr" },
                { dbs: "prs_overeenkomst_nr", typ: "varchar",  frm: "bdr_ovknr" },
                { dbs: "prs_overeenkomst_datum", typ: "date",  frm: "bdr_ovkdat" },
                { dbs: "prs_bedrijf_leverancier", typ: "check",  frm: "bdr_lev" },
                { dbs: "prs_bedrijf_uitvoerende", typ: "check",  frm: "bdr_uitv" },
                { dbs: "prs_bedrijf_contract", typ: "check",  frm: "bdr_cntr" },
                { dbs: "prs_bedrijf_intern", typ: "number",  frm: "bdr_intern" },
                { dbs: "prs_bedrijf_huurder", typ: "check",  frm: "bdr_huur" },
                { dbs: "prs_bedrijf_email", typ: "varchar",  frm: "bdr_email" },
                { dbs: "prs_bedrijf_image_loc", typ: "varchar",  frm: "bdr_imgloc" },
                { dbs: "prs_bedrijf_details_loc", typ: "varchar",  frm: "bdr_detloc" },
                { dbs: "mld_adres_key_lev", typ: "key",  frm: "mld_adrlkey" },
                { dbs: "mld_adres_key_fac", typ: "key",  frm: "mld_adrfkey" },
                { dbs: "prs_bedrijf_ingids", typ: "check",  frm: "bdr_ingids" },
                { dbs: "prs_bedrijf_order_confirm", typ: "check",  frm: "bdr_confirm" },
                { dbs: "prs_bedrijf_xmldetails_loc", typ: "varchar",  frm: "bdr_xmldetl" },
                { dbs: "prs_bedrijf_xmlcatalogus_loc", typ: "varchar",  frm: "bdr_xmlcatl" },
                { dbs: "prs_bedrijf_bes_limiet", typ: "float",  frm: "bdr_beslim" },
                { dbs: "fin_btwtabel_key", typ: "key",  frm: "finbtwtabelkey" },
                { dbs: "prs_bedrijf_bes_kosten", typ: "float",  frm: "bdr_beskst" },
                { dbs: "prs_relatietype_key", typ: "key",  frm: "prs_reltype_key" }];

// 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 = "";
if (bedrijf_key > 0)
{
  sql = buildUpdate("prs_bedrijf", fields)
      + "     prs_bedrijf_key = " + bedrijf_key;

  var err = Oracle.Execute(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;
}

if (!warning)
{
  currentKenmerkenSQL = "SELECT kl.prs_kenmerk_key " +
                           "  , kl.prs_kenmerklink_waarde" +
                           "  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;

  saveFlexKenmerken(bedrijf_key, { kenmerkTable: "PRS_KENMERKLINK",
                                   kenmerkParentKey : "PRS_LINK_KEY",
                                   kenmerkWaarde: "prs_kenmerklink_waarde",
                                   kenmerkKey: "PRS_KENMERK_KEY",
                                   currentKenmerkenSQL: currentKenmerkenSQL,
                                   requestQF: Request.Form,
                                   moduleName: "PRS_KENMERKLINK_NIVEAU",
                                   moduleVal: "B",
                                   isNew: isNew,
                                   flexPath: "PRS/B"
                          });
}
%>
<html>
  <head>
<%  FCLTHeader.Generate() %>
    <script>
        $(document).ready(function () {
            FcltMgr.closeDetail(window, { bedrijf_key: <%=bedrijf_key%>,
                                          warning: "<%=safe.jsstring(warning)%>",
                                          keepForm: <%=warning?"true":"false"%>
                                         }); } );
    </script>
  </head>
  <body>
  </body>
</html>
