YKPN#55794 Melding wordt afgemeld als opdracht geannuleerd wordt
svn path=/Website/branches/v2018.2/; revision=40270
This commit is contained in:
@@ -157,40 +157,43 @@ var result = { opdr_key: ingesloten.join(","), message: "", success: false };
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
// De status van de melding zou gewijzigd kunnen moeten worden hierdoor
|
||||
var sluitmelding = mldClose(mld_opdr.typeopdr_sluitmelding, ingesloten);
|
||||
result.mld_key = mld_opdr.mld_key;
|
||||
mld.updatemeldingstatus(mld_opdr.mld_key, 0);
|
||||
if (sluitmelding > 0 && mld_opdr.typeopdr_isofferte == 0) // misschien melding nu ook? Bij offertes melding nooit automatisch afmelden of de vraag weergeven
|
||||
{ // Zijn er niet-afgemelde opdrachten bij dezelfde melding?
|
||||
sql = "SELECT COUNT(*) aantal"
|
||||
+ " FROM mld_opdr o1"
|
||||
+ " WHERE o1.mld_melding_key = " + mld_opdr.mld_key
|
||||
+ " AND o1.mld_statusopdr_key NOT IN (1, 2, 6, 7, 9)";
|
||||
oRs = Oracle.Execute(sql);
|
||||
var nn = oRs("aantal").Value;
|
||||
oRs.Close();
|
||||
if (nn == 0) // Het was de laatste opdracht van de melding die nog niet afgemeld is
|
||||
{
|
||||
reqStatusEmptyMelding = mld.getReqStatusEmptyMelding(reqStatusEmptyMelding, mld_opdr.mld_key, 1); // Melding status "Afgewezen(1)"
|
||||
if (reqStatusEmptyMelding.length == 0) // Alle verplichte kenmerken en/of verplicht object zijn ingevuld.
|
||||
if (S("fac_reserved_number1") == 1)
|
||||
{
|
||||
var sluitmelding = mldClose(mld_opdr.typeopdr_sluitmelding, ingesloten);
|
||||
result.mld_key = mld_opdr.mld_key;
|
||||
if (sluitmelding > 0 && mld_opdr.typeopdr_isofferte == 0) // misschien melding nu ook? Bij offertes melding nooit automatisch afmelden of de vraag weergeven
|
||||
{ // Zijn er niet-afgemelde opdrachten bij dezelfde melding?
|
||||
sql = "SELECT COUNT(*) aantal"
|
||||
+ " FROM mld_opdr o1"
|
||||
+ " WHERE o1.mld_melding_key = " + mld_opdr.mld_key
|
||||
+ " AND o1.mld_statusopdr_key NOT IN (1, 2, 6, 7, 9)";
|
||||
oRs = Oracle.Execute(sql);
|
||||
var nn = oRs("aantal").Value;
|
||||
oRs.Close();
|
||||
if (nn == 0) // Het was de laatste opdracht van de melding die nog niet afgemeld is
|
||||
{
|
||||
// Mag ik dan ook de melding afmelden?
|
||||
var this_mld = mld.func_enabled_melding(mld_opdr.mld_key);
|
||||
result.canCloseMld = this_mld.canClose; // ondervangt ook de situatie dat hij al is afgemeld.
|
||||
if (result.canCloseMld && (sluitmelding == 2)) // Autoclose mld
|
||||
reqStatusEmptyMelding = mld.getReqStatusEmptyMelding(reqStatusEmptyMelding, mld_opdr.mld_key, 1); // Melding status "Afgewezen(1)"
|
||||
if (reqStatusEmptyMelding.length == 0) // Alle verplichte kenmerken en/of verplicht object zijn ingevuld.
|
||||
{
|
||||
writeOpdrOpmToMld();
|
||||
// Handle workflow actions for completion:
|
||||
mld.nextworkflowstep(mld_opdr.mld_key, 1); // 1 = completed
|
||||
mld.setmeldingstatus(mld_opdr.mld_key, 5);
|
||||
result.canCloseMld = false; // want hij is net afgemeld.
|
||||
}
|
||||
else if (!result.canCloseMld && S("mld_add_mldopmerk_on_opdrclose") == 1 && opdr_opm != "")
|
||||
{ // Afhandelingtekst van de opdracht automatisch kopi<70>ren naar de melding.
|
||||
writeOpdrOpmToMld();
|
||||
// Mag ik dan ook de melding afmelden?
|
||||
var this_mld = mld.func_enabled_melding(mld_opdr.mld_key);
|
||||
result.canCloseMld = this_mld.canClose; // ondervangt ook de situatie dat hij al is afgemeld.
|
||||
if (result.canCloseMld && (sluitmelding == 2)) // Autoclose mld
|
||||
{
|
||||
writeOpdrOpmToMld();
|
||||
// Handle workflow actions for completion:
|
||||
mld.nextworkflowstep(mld_opdr.mld_key, 1); // 1 = completed
|
||||
mld.setmeldingstatus(mld_opdr.mld_key, 5);
|
||||
result.canCloseMld = false; // want hij is net afgemeld.
|
||||
}
|
||||
else if (!result.canCloseMld && S("mld_add_mldopmerk_on_opdrclose") == 1 && opdr_opm != "")
|
||||
{ // Afhandelingtekst van de opdracht automatisch kopi<70>ren naar de melding.
|
||||
writeOpdrOpmToMld();
|
||||
}
|
||||
}
|
||||
// else: Als result.canCloseMld == true dan is sluitmelding == 1 en dan wordt alsnog de vraag gesteld of melding ook moet worden gesloten via callback functie
|
||||
}
|
||||
// else: Als result.canCloseMld == true dan is sluitmelding == 1 en dan wordt alsnog de vraag gesteld of melding ook moet worden gesloten via callback functie
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user