FSN#51518 stdmelding via scaffolding

svn path=/Website/trunk/; revision=36382
This commit is contained in:
Jos Groot Lipman
2017-12-14 14:12:42 +00:00
parent 203a0fb39f
commit 9eec2c9dcf
8 changed files with 137 additions and 24 deletions

View File

@@ -101,6 +101,13 @@ api2 = {
case "varchar": case "varchar":
val = getFParam(formfields[i].frm, null); val = getFParam(formfields[i].frm, null);
break; break;
case "processingtime":
val = {
"duration": getFParamFloat(formfields[i].frm, null),
"unit": getFParam(formfields[i].frm + "_eenheid", "D")
}
break;
default: default:
{ {
__DoLog(model.fields[formfields[i].name].typ); __DoLog(model.fields[formfields[i].name].typ);
@@ -563,6 +570,17 @@ api2 = {
dbs = model.aliasprefix + fld; dbs = model.aliasprefix + fld;
selects.push(field.sql + " AS " + dbs); selects.push(field.sql + " AS " + dbs);
} }
else if (field.typ == "processingtime")
{
var sqltijd = "(SELECT xx." + field.dbs + ".tijdsduur"
+ " FROM " + model.table + " xx"
+ " WHERE xx." + model.primary + " = " + model.table + "." + model.primary + ")";
selects.push(sqltijd + " AS " + fld + "_tijdsduur");
var sqleenh = "(SELECT xx." + field.dbs + ".eenheid"
+ " FROM " + model.table + " xx"
+ " WHERE xx." + model.primary + " = " + model.table + "." + model.primary + ")";
selects.push(sqleenh + " AS " + fld + "_eenheid");
}
else if (dbs) else if (dbs)
{ {
// veldnamen moeten gelijk zijn bij het ophalen. Zie ook: sql2jsonval // veldnamen moeten gelijk zijn bij het ophalen. Zie ook: sql2jsonval
@@ -917,6 +935,15 @@ api2 = {
{ {
var field = model.fields[fld]; var field = model.fields[fld];
var sqlfieldname = (model.aliasprefix ? api2.sqlfield_alias(model, fld) : field.dbs); var sqlfieldname = (model.aliasprefix ? api2.sqlfield_alias(model, fld) : field.dbs);
if (field.typ == "processingtime")
{
var val = { "duration": oRs(fld + "_tijdsduur").Value,
"unit": oRs(fld + "_eenheid").Value
}
return val;
}
if (field.val instanceof Function) if (field.val instanceof Function)
var val = field.val(oRs, field, model, sqlfieldname); var val = field.val(oRs, field, model, sqlfieldname);
else if (field.dbs.indexOf(".") < 0) else if (field.dbs.indexOf(".") < 0)

View File

@@ -97,7 +97,7 @@ var api2_mapper = {
"issuedisciplines" : { "filename": "appl/api2/api_issuedisciplines.asp", "module": "MLD" }, "issuedisciplines" : { "filename": "appl/api2/api_issuedisciplines.asp", "module": "MLD" },
"orders" : { "filename": "appl/api2/api_orders.asp", "module": "MLD" }, "orders" : { "filename": "appl/api2/api_orders.asp", "module": "MLD" },
"issues" : { "filename": "appl/api2/api_issues.asp", "module": "MLD" }, "issues" : { "filename": "appl/api2/api_issues.asp", "module": "MLD" },
"issuetypes" : { "filename": "appl/api2/api_issuetypes.asp", "module": "MLD" }, "issuetypes" : { "filename": "appl/mgt/mld_stdmelding.asp", "module": "MLD" },
"pinboardcategories" : { "filename": "appl/mgt/mrk_discipline.asp" }, "pinboardcategories" : { "filename": "appl/mgt/mrk_discipline.asp" },
"services" : { "filename": "appl/mgt/prs_dienst.asp" }, "services" : { "filename": "appl/mgt/prs_dienst.asp" },
"basisproperties" : { "filename": "appl/mgt/prs_kenmerk.asp", "docparam": "&level=P" }, "basisproperties" : { "filename": "appl/mgt/prs_kenmerk.asp", "docparam": "&level=P" },

View File

@@ -444,21 +444,12 @@ function model_mld_stdmelding()
"key": "ins_srtdeel_key", "key": "ins_srtdeel_key",
"desc": "ins_srtdeel_omschrijving" "desc": "ins_srtdeel_omschrijving"
} }
},
"processingtime":{
"dbs": "mld_stdmelding_t_uitvoertijd",
// }, "obj": "MLD_T_UITVOERTIJD",
// "processingtime":{ "typ": "processingtime",
// "dbs": "mld_stdmelding_t_uitvoertijd.tijdsduur", "label": L("lcl_mld_uitvoertijd_normaal")
// "obj": "MLD_T_UITVOERTIJD",
// "typ": "float",
// "label": L("lcl_mld_uitvoertijd_normaal")
// },
// "proscessingunit": {
// "dbs": "mld_stdmelding_t_uitvoertijd.eenheid",
// "obj": "MLD_T_UITVOERTIJD",
// "typ": "varchar",
// "label": "?x?"
} }
}; };

View File

@@ -15,12 +15,6 @@
<!-- #include file="../scf/scaffolding.inc" --> <!-- #include file="../scf/scaffolding.inc" -->
<!-- #include file="../api2/model_mld_stdmelding.inc" --> <!-- #include file="../api2/model_mld_stdmelding.inc" -->
<%
%>
<script>
var userkey = <%=user_key%>
</script>
<% <%
var stdmld_key = getQParamInt("id", -1); var stdmld_key = getQParamInt("id", -1);
var this_model = new model_mld_stdmelding(); var this_model = new model_mld_stdmelding();
@@ -45,7 +39,7 @@ var this_params = {
"discipline", "discipline",
"description", "description",
// acceptatietijd // acceptatietijd
// uitvoertijd "processingtime",
"issuegroup", "issuegroup",
"costtype", "costtype",
"service", "service",

View File

@@ -0,0 +1,79 @@
$(document).ready(function () {
setTimeout("init_stdmelding()", 100);
});
function init_stdmelding()
{
$("#disciplinetype").change( change_disciplinetype );
$("#discipline_show").attr("sgonchange", "change_discipline"); // stdmelding gebruikt MLD_DISCIPLINE als suggestbox
//$("#issuetype").change( change_issuetype );
}
function change_disciplinetype()
{
var disciplinetype_key = $("#disciplinetype").val();
if (disciplinetype_key > 0)
{
$("#sgdisciplinecompleteDiv").remove(); // oude lijst verwijderen
$("#discipline").load("../shared/loadSuggestDisc.asp"
, { fld: "discipline"
, autfunctionKey: -1
, srtdisc_key: disciplinetype_key
, module: "MLDA"
, suggestall: 1
}
, function() { sgdiscipline.setValue(-1, "", true); }
);
}
}
function change_discipline()
{
var disc_key = $("#discipline").val();
var srtdisc_key = $("#discipline_show").attr("sgextraparam");
$('#disciplinetype option[value="' + srtdisc_key + '"]').attr("selected", "selected");
fill_issuetypeselector(disc_key);
}
function fill_issuetypeselector(disc_key)
{
var sel_mode = (typeof cur_mode == "undefined" ? "list" : cur_mode);
$.getJSON( "../mld/get_mld_info_ajax.asp",
{ req_info: "mld_stdmelding_list",
parent_key: disc_key,
init_key: -1
},
process_info);
}
function process_info(data)
{
//alert(JSON.stringify(data));
var select = $("#issuetype");
var new_lov = data.lov;
var add_data = "";
var sel_key = -1;
var new_lov = '<option value="-1" ></option>';
if (data.lov.length > 0)
{
for (i=0; i < data.lov.length;i++)
{
var opt = data.lov[i];
add_data = ' srtdisc_key="' + opt.atr.srtdisc_key + '"'
+ ' disc_key="' + opt.atr.disc_key + '"';
new_lov += '<option value="' + opt.key + '"' + (opt.sel?" selected":"") + add_data + '>'+ opt.oms + '</option>';
if (opt.sel)
sel_key = opt.key;
}
select.prop("disabled", false);
}
else
{
select.prop("disabled", true);
}
select.empty().append(new_lov);
if (sel_key > -1)
select.val(sel_key);
}

View File

@@ -229,6 +229,8 @@ function scf_ROFIELDTR(model, fld, val, key, params)
txt = toTimeString(txt); txt = toTimeString(txt);
else if (typeof txt == "date" || txt instanceof Date) else if (typeof txt == "date" || txt instanceof Date)
txt = toDateString(txt); txt = toDateString(txt);
else if (field.typ == "processingtime")
txt = txt["duration"] + " " + (txt["unit"]=='U'?L("lcl_mld_hours"):L("lcl_mld_days"));
} }
else if ("infoPointer" in field) else if ("infoPointer" in field)
{ {
@@ -571,6 +573,20 @@ function scf_RWFIELDTR(model, fld, val, key, params)
} }
else if (field.typ == "check" || field.typ == "check0") else if (field.typ == "check" || field.typ == "check0")
RWCHECKBOXTR(fld, "fldcheck", field.label, val); RWCHECKBOXTR(fld, "fldcheck", field.label, val);
else if (field.typ == "processingtime")
{
sql = "SELECT 'U', " + safe.quoted_sql(L("lcl_mld_hours")) + " FROM DUAL"
+ " UNION SELECT 'D', " + safe.quoted_sql(L("lcl_mld_days")) + " FROM DUAL"
+ " ORDER BY 2";
var selectparams = { fieldName: fld + "_eenheid",
sql: sql,
params: { id: fld + "_eenheid",
initKey: val.unit
}
}
RWFIELDTR(fld, "fldshort", field.label, val.duration,
{maxlength: 8, datatype: "float", selector: selectparams});
}
else if (fld.match(/^(start_|end_)fclt_d_/)) else if (fld.match(/^(start_|end_)fclt_d_/))
FCLTcalendar (fld, { initEmpty: 1, FCLTcalendar (fld, { initEmpty: 1,
label: field.label, label: field.label,

View File

@@ -2908,7 +2908,8 @@ i.timeklikker {
.fldcntprijs, .fldcntopp, .fldmrkprijs, .fldcntamount, .fldalgprijs, .fldfinsumover, .fldfinsumbelow, .fldbessrtweging, .fldbessrtprijs, .fldbestsrttotaal, .fldcntprijs, .fldcntopp, .fldmrkprijs, .fldcntamount, .fldalgprijs, .fldfinsumover, .fldfinsumbelow, .fldbessrtweging, .fldbessrtprijs, .fldbestsrttotaal,
.fldkpnlimiet, .fldcntverlengen, .fldroomkosten, .fldvoorzkosten, .fldroomkorting, .fldroomtotaal, .fldrvskosten, .fldrespijt, .fldkpnlimiet, .fldcntverlengen, .fldroomkosten, .fldvoorzkosten, .fldroomkorting, .fldroomtotaal, .fldrvskosten, .fldrespijt,
.flduitvoertijd1, .flduitvoertijd2, .flduitvoertijd3, .flduitvoertijd4, .fldalg_uitvtijd, .fldbdr_uitvtijd, .fldins_uitvtijd, .fldmld_uitvtijd, .fldmld_accpettijd, .flduitvoertijd1, .flduitvoertijd2, .flduitvoertijd3, .flduitvoertijd4, .fldalg_uitvtijd, .fldbdr_uitvtijd, .fldins_uitvtijd, .fldmld_uitvtijd, .fldmld_accpettijd,
.flddayshours, .flddayshours3, .flddayshours1, .flddayshours2, .flddayshours4, .flddayshourse, .flddayshours_resp, .flddayshours_urg, .fldfreebudget { .flddayshours, .flddayshours3, .flddayshours1, .flddayshours2, .flddayshours4, .flddayshourse, .flddayshours_resp, .flddayshours_urg, .fldfreebudget,
.fldprocessingtime_eenheid {
width: 100px; width: 100px;
} }
.fldregime .fldregime

View File

@@ -704,6 +704,11 @@ function _buildFields(fields, params)
} }
break; break;
} }
case "processingtime":
{
tupel.sql = " MLD_T_UITVOERTIJD(tijdsduur => {0}, eenheid => {1})".format(val.duration, safe.quoted_sql(val.unit));
break;
}
default: ERROR_UNSUPPORTED_FIELDTYP; default: ERROR_UNSUPPORTED_FIELDTYP;
} }
if (typeof tupel.jsval == "undefined") if (typeof tupel.jsval == "undefined")