<%@language = "javascript" %>
<% /*
     $Revision$
     $Id$

    File:        opdr_search_list.asp
    Description: Vangt de parameters van opdr_search op en verwerkt die in een aanroep van opdr_list
    Parameters:  urole
                 Alle zoek-criteria van opdr_search.asp
    Context:     Vanuit opdr_search.asp
    Note:        Inline lijstje van opdrachten bij een specifieke melding gaat via opdr_list.asp
*/ %>

<!-- #include file="../Shared/common.inc" -->
<!-- #include file="opdr_list.inc" -->
<!-- #include file="opdr_plan.inc" -->

<%
// Zie opdr_list.inc voor uitleg

var urole = getQParamSafe("urole", "fe");   // Indien niet meegegeven, veronderstel dan frontend gebruik

var autfunction = {fe: "WEB_MLDORD", bo: "WEB_ORDBOF", b2: ["WEB_EXTORD","WEB_ORDBO2"], bgt: "WEB_BGTORD"} [urole];

// FORM parameters: de waarde indien aanwezig, anders null
// Vaak is een lege selectie ook een -1, dus dan is-ie wel aanwezig, maar hoeft niet
// als filter te worden toegepast. Dan is null dus gelijk aan -1, qua betekenis,
// Vandaar dat een default van -1 ipv null ook mag
// In eerste instantie identificeren we elk veld gewoon 1-op-1.
var outputmode = getQParamInt("outputmode", 0); //  0 = screen, 1 = print, 2 = excel etc
var showall = getQParamInt("showall", 0) == 1;

// Voor velden die de user in kan typen valideren we zodanig dat we er tegen kunnen
var opdr_key = getQParamInt("opdr_key", null, true); // opdracht nummer is voor de gebruiker hetzelfde als mld_key
var opdr_id = getQParam("opdr_id", ""); // mld_opdr_id, bij meeste klanten leeg
var planb = getQParamInt("planb", 1) == 1; // Op planbord button geklikt.

var bes = (getQParamInt("bes", 0) == 1);
var cnt_key = "";
// contract en cntnr kunnen beide een contract key opleveren
// Indien beide niet gelijk zijn krijg je in opdr_list nooit een resultaat
var contract = getQParamInt("contract", -1);
var cntnr = getQParamInt("cntnr", -1);
var handler = getQParamInt("handler", -1); // uitvoerder
// Beperken tot I of E? Standaard niet.
var has_opdrXUit = getQParamInt("has_opdrXUit", 0) == 1; // Wordt er gefilterd?
var internuit = getQParamInt("opdrIUit", (has_opdrXUit ? 0 : 1)) == 1; // Interne uitvoerders.
var externuit = getQParamInt("opdrEUit", (has_opdrXUit ? 0 : 1)) == 1; // Externe uitvoerders.
// Moet het opdrachtbedrag tussen bepaalde waarden liggen?
var bedragboven = getQParamFloat("bedragboven", null);
var bedragonder = getQParamFloat("bedragonder", null);
// Beperken tot geplande of ongeplande? Standaard niet, beide tonen
var has_opdrPlan = getQParamInt("has_opdrPlan", 0) == 1; // Wordt er gefilterd?
var opdrplanned = getQParamInt("opdrPlanned", (has_opdrPlan ? 0 : 1)) == 1; // Geplande opdrachten
var opdrunplanned = getQParamInt("opdrUnplanned", (has_opdrPlan ? 0 : 1)) == 1; // Ongeplande opdrachten
var opdr_actiecode_bitor = 0;
var opdr_actiecode_att = null;
if (S("mld_opdr_actiecode") > 0 && (!hasQParam("has_actiecodeBO")   || getQParam("actiecodeBO", "off") == "on"))
    opdr_actiecode_bitor |= 1;
if (S("mld_opdr_actiecode") > 0 && (!hasQParam("has_actiecodeUITV") || getQParam("actiecodeUITV", "off") == "on"))
    opdr_actiecode_bitor |= 4;
if (hasQParam("has_actiecodeATT") && getQParam("actiecodeATT", "off") == "on") {
    opdr_actiecode_att = true;
}
var bld = getQParamInt("bld", -1);
var sName_key = getQParamInt("sName_key", -1);
var reg_key_arr  = getQParamKeyArray("regiokey", []); // Regio
var dist_key_arr = getQParamKeyArray("districtkey", []); // District
var loc_key_arr  = getQParamKeyArray("locatiekey", []);
var bld_key_arr  = getQParamKeyArray("gebouwkey", []);
var flr_key_arr  = getQParamKeyArray("verdiepingkey", []);
var room_key_arr = getQParamKeyArray("ruimtekey", []);

var adr_key = getQParamInt("adr_key", -1);  // Afleveradres
var behandel_key_arr = getQParamInt("behandel_key", []);  // Behandelaar
var opdr_beh_key_arr = getQParamKeyArray("opdrbehmulti", []); // Opdracht Behandelaar multi
var contactpersoon_key = getQParamInt("contactpers", -1); // Contactpersoon
var uitvopdr_key = getQParamInt("uitvopdr_key", -1); // Uitvoerende opdracht
var opdrtype = getQParamInt("opdrtype", -1); // Opdrachttype
var srtdisc_key_arr = getQParamKeyArray("srtdiscmulti", []); // Soort melding
var disc_key_arr = getQParamKeyArray("discmulti", []); // Productgroep
var stdm_key_arr = getQParamIntArray("sm", []); // Melding (Stdmelding)
var meldinggrp_key = getQParamInt("meldinggrp_key", -1); // Meldinggroep
var behandelgrp_key = getQParamInt("behandelgrp_key", -1); // Behandelgroep
var priority_arr = getQParamKeyArray("priority", []);
var bosort = getQParamInt("bosort", S("mld_ord_bo_sort_descending"));
var offerte = getQParamInt("offerte", -1); // Opdrachttype is een offerteaanvraag. Kan -1:don't care, 0:niet, 1:wel zijn.
var searchtekst = getQParam("searchtekst", ""); // Zoektekst
var verantw_key = getQParamInt("verantw", -1); // Gebouw verantwoordelijke

if (opdrtype > 0)
    lcl.set_dialect(opdrtype, "MLD_TYPEOPDR_KEY");

// Plus kalenderdatum

// Flags
var flags = [];
for (flagkey=0; flagkey < S("mld_opdracht_flags"); flagkey++)
{
    if (getQParam("flag" + flagkey, "off") == "on")
        flags.push(flagkey);
}

// FORM status checkboxes
var st_opdrAfm = getQParamInt("opdrAfm", 0) == 1;
var st_opdrBusy = getQParamInt("opdrBusy", 0) == 1;
var st_opdrDone = getQParamInt("opdrDone", 0) == 1;
var st_opdrNew = getQParamInt("opdrNew", 0) == 1;
var st_opdrAfr = getQParamInt("opdrAfr", 0) == 1;
var st_opdrRej = getQParamInt("opdrRej", 0) == 1;
var st_opdrVer =  getQParamInt("opdrVer", 0) == 1;

// ** de velden van de form zijn nu allemaal bekend **
// ** nu volgt de verwerking

// Statusfilters: vertaal de vinkjes naar de bijbehorende statussen
// te behandelen (3, 5) bezig (4, 8), afgewezen (1, 2), afgemeld (6), archief (7)

var status1 = st_opdrRej;
var status2 = st_opdrRej;
var status3 = st_opdrNew;
var status4 = st_opdrBusy;
var status5 = st_opdrNew;  // Nog niet door uitvoerder geaccepteerd
var status6 = st_opdrAfm;
var status7 = st_opdrVer;
var status8 = st_opdrBusy;
var status9 = st_opdrAfr;
var status10 = st_opdrNew;

var startdate_from = getQParamDate("startdate_from", null);
var startdate_to = getQParamDate("startdate_to", null);
var enddate_from = getQParamDate("enddate_from", null);
var enddate_to = getQParamDate("enddate_to", null);
var plandate_from = getQParamDate("plandate_from", null);
var plandate_to = getQParamDate("plandate_to", null);

var params = { urole : urole,
               opdr_key: opdr_key,
               opdr_id: opdr_id,
               outputmode: outputmode,
               showall: showall,
               caller_key: (sName_key != -1 ? sName_key : null),
               reg_key_arr: reg_key_arr,
               dist_key_arr: dist_key_arr,
               loc_key_arr: loc_key_arr,
               bld_key_arr: bld_key_arr,
               flr_key_arr: flr_key_arr,
               room_key_arr: room_key_arr,
               adr_key: (adr_key != -1 ? adr_key : null),
               verantw_key: (verantw_key != -1 ? verantw_key : null),
               behandel_key_arr: behandel_key_arr,
               opdr_behandel_key_arr : opdr_beh_key_arr,
               contactpersoon_key: (contactpersoon_key != -1 ? contactpersoon_key : null),
               uitvopdr_key: (uitvopdr_key != -1 ? uitvopdr_key : null),
               contract: (contract != -1 ? contract : null),
               cnt_key: (cntnr != -1 ? cntnr : null),
               searchtekst: (searchtekst != "" ? searchtekst : null),
               handler_key: (handler != -1 ? handler : null),
               internuit: internuit,
               externuit: externuit,
               opdrplanned: opdrplanned,
               opdrunplanned: opdrunplanned,
               opdr_actiecode_bitor: opdr_actiecode_bitor,
               opdr_actiecode_att: opdr_actiecode_att,
               startdatefrom: startdate_from,
               startdateto: startdate_to,
               enddatefrom: enddate_from,
               enddateto: enddate_to,
               plandatefrom: plandate_from,
               plandateto: plandate_to,
               opdr_bedrag_boven: bedragboven,
               opdr_bedrag_onder: bedragonder,
               opdrtype_key: (opdrtype != -1 ? opdrtype : null),
               srtdisc_key_arr : srtdisc_key_arr,
               disc_key_arr : disc_key_arr,
               stdm_key_arr : stdm_key_arr,
               meldinggrp_key: (meldinggrp_key != -1 ? meldinggrp_key : null),
               behandelgrp_key: (behandelgrp_key != -1 ? behandelgrp_key : null),
               priority_arr: priority_arr,
               bosort: (bosort != -1? bosort : null),
               bes: bes,
               offerte: offerte,
               planb: planb,
               withflex: true,
               flags: flags,
               mldopdrstrej: status1,
               mldopdrstnak: status2,
               mldopdrsttfi: status3,
               mldopdrstfia: status4,
               mldopdrstuit: status5,
               mldopdrstafm: status6,
               mldopdrstver: status7,
               mldopdrstacp: status8,
               mldopdrstafr: status9,
               mldopdrstgoe: status10
             };

if (planb)
  opdr_plan (params);
else
  opdr_list (params);
%><% ASPPAGE_END(); %>
