204 lines
4.8 KiB
C#
204 lines
4.8 KiB
C#
using MapoDb;
|
|
using SteamWare;
|
|
using System;
|
|
using System.Web.UI;
|
|
|
|
namespace MoonProTablet
|
|
{
|
|
public partial class fixODL : System.Web.UI.Page
|
|
{
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!Page.IsPostBack)
|
|
{
|
|
fixSelMacc();
|
|
hfIdxMacchina.Value = idxMacchina;
|
|
fixBtnImpostaODL();
|
|
DateTime adesso = DateTime.Now;
|
|
hfDataTo.Value = adesso.ToString();
|
|
hfDataFrom.Value = adesso.AddMonths(-1).ToString();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// idx macchina selezionata
|
|
/// </summary>
|
|
public string idxMacchinaSession
|
|
{
|
|
get
|
|
{
|
|
return memLayer.ML.StringSessionObj("IdxMacchina");
|
|
}
|
|
set
|
|
{
|
|
memLayer.ML.setSessionVal("IdxMacchina", value);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// idx macchina selezionata
|
|
/// </summary>
|
|
public string idxMacchina
|
|
{
|
|
get
|
|
{
|
|
string answ = idxMacchinaSession;
|
|
// verifico: se multi uso selettore tendina...
|
|
if (isMulti)
|
|
{
|
|
if (ddlSubMacc.SelectedValue == "")
|
|
{
|
|
ddlSubMacc.DataBind();
|
|
}
|
|
if (ddlSubMacc.SelectedValue != "")
|
|
{
|
|
answ = ddlSubMacc.SelectedValue;
|
|
}
|
|
}
|
|
return answ;
|
|
}
|
|
set
|
|
{
|
|
memLayer.ML.setSessionVal("IdxMacchina", value);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// Verifica se la macchina MAIN sia MULTI (da DatiMacchina / redis...)
|
|
/// </summary>
|
|
protected bool isMulti
|
|
{
|
|
get
|
|
{
|
|
bool answ = false;
|
|
answ = DataLayer.isMulti(idxMacchinaSession);
|
|
return answ;
|
|
}
|
|
}
|
|
protected void ddlSubMacc_DataBound(object sender, EventArgs e)
|
|
{
|
|
// se ho in memoria un valore LO REIMPOSTO...
|
|
if (subMaccSel != "")
|
|
{
|
|
// provo a preselezionare...
|
|
try
|
|
{
|
|
ddlSubMacc.SelectedValue = subMaccSel;
|
|
}
|
|
catch
|
|
{ }
|
|
}
|
|
}
|
|
protected void ddlSubMacc_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
subMaccSel = ddlSubMacc.SelectedValue;
|
|
checkAll();
|
|
}
|
|
|
|
private void checkAll()
|
|
{
|
|
fixSelMacc();
|
|
hfIdxMacchina.Value = idxMacchina;
|
|
}
|
|
/// <summary>
|
|
/// Se la machcina è MULTI --> mostro selettore
|
|
/// </summary>
|
|
private void fixSelMacc()
|
|
{
|
|
divSelMacc.Visible = isMulti;
|
|
if (isMulti)
|
|
{
|
|
// salvo selezione submacc
|
|
ddlSubMacc.DataBind();
|
|
subMaccSel = ddlSubMacc.SelectedValue;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// Sotto sistema (macchina) selezionato
|
|
/// </summary>
|
|
public string subMaccSel
|
|
{
|
|
get
|
|
{
|
|
return memLayer.ML.StringSessionObj("subMaccSel");
|
|
}
|
|
set
|
|
{
|
|
memLayer.ML.setSessionVal("subMaccSel", value);
|
|
}
|
|
}
|
|
private void fixBtnImpostaODL()
|
|
{
|
|
// verifico se selezionato un ODL sorgente...
|
|
lbtSetODL.Visible = idxODL > 0;
|
|
}
|
|
/// <summary>
|
|
/// idx macchina selezionata
|
|
/// </summary>
|
|
public int idxODL
|
|
{
|
|
get
|
|
{
|
|
int answ = 0;
|
|
try
|
|
{
|
|
answ = Convert.ToInt32(ddlODL.SelectedValue);
|
|
}
|
|
catch
|
|
{ }
|
|
return answ;
|
|
}
|
|
}
|
|
|
|
|
|
protected void ddlODL_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
fixBtnImpostaODL();
|
|
}
|
|
/// <summary>
|
|
/// Verifica (su tab config) se sia abilitata la gestione flusso RPO (Richieste - Promesse - ODL)
|
|
/// </summary>
|
|
protected bool enableRPO
|
|
{
|
|
get
|
|
{
|
|
return memLayer.ML.cdvb("enableRPO");
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// Registra attivazione ODL per macchina corrente...
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void lbtSetODL_Click(object sender, EventArgs e)
|
|
{
|
|
if (idxMacchina != "" && idxODL > 0)
|
|
{
|
|
if (enableRPO)
|
|
{
|
|
// registro ODL retroattivamente...
|
|
DataLayer.obj.taODL.inizioSetupPromessaPostuma(idxODL, DataLayer.MatrOpr, idxMacchina);
|
|
}
|
|
else
|
|
{
|
|
// registro ODL retroattivamente...
|
|
DataLayer.obj.taODL.insPostumo(idxODL, idxMacchina);
|
|
}
|
|
}
|
|
// controllo: se il nuovo ODL è stato registrato --> rimando a pagina ODL/Attrezzaggio...
|
|
bool odlOk = false;
|
|
try
|
|
{
|
|
// ricalcolo MSE
|
|
DataLayer.obj.taMSE.getByRefreshData(0);
|
|
// verifico!
|
|
int idxODL = DataLayer.obj.taMSE.getByIdxMacchina(idxMacchina)[0].idxODL;
|
|
odlOk = (idxODL > 0);
|
|
}
|
|
catch (Exception exc)
|
|
{
|
|
logger.lg.scriviLog(string.Format("Errore recupero ODL corrente da confermare per la macchina {0}{1}{2}", idxMacchina, Environment.NewLine, exc), tipoLog.ERROR);
|
|
}
|
|
// forzo COMUNQUE redirect...
|
|
Response.Redirect("ODL");
|
|
}
|
|
}
|
|
} |