fix disabilitato editing x ODL su amcchine slave
This commit is contained in:
Vendored
+1
-1
@@ -12,7 +12,7 @@ pipeline {
|
||||
steps {
|
||||
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
|
||||
script {
|
||||
withEnv(['NEXT_BUILD_NUMBER=1310']) {
|
||||
withEnv(['NEXT_BUILD_NUMBER=1311']) {
|
||||
// env.versionNumber = VersionNumber(versionNumberString : '6.11.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true)
|
||||
env.versionNumber = VersionNumber(versionNumberString : '6.11.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
|
||||
env.APP_NAME = 'MAPO'
|
||||
|
||||
+107
-71
@@ -6,7 +6,16 @@ namespace MP_ADM
|
||||
{
|
||||
public class BaseUserControl : System.Web.UI.UserControl
|
||||
{
|
||||
#region gestione eventi
|
||||
#region Internal Fields
|
||||
|
||||
/// <summary>
|
||||
/// Oggetto datalayer specifico NON singleton x scalare
|
||||
/// </summary>
|
||||
internal DataLayer DataLayerObj = new DataLayer();
|
||||
|
||||
#endregion Internal Fields
|
||||
|
||||
#region Public Events
|
||||
|
||||
public event EventHandler eh_nuovoValore;
|
||||
|
||||
@@ -14,6 +23,98 @@ namespace MP_ADM
|
||||
|
||||
public event EventHandler eh_selValore;
|
||||
|
||||
#endregion Public Events
|
||||
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
/// titolo pagina
|
||||
/// </summary>
|
||||
public string titolo
|
||||
{
|
||||
get
|
||||
{
|
||||
return devicesAuthProxy.getPage(Request.Url).Replace(".aspx", "");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// UID formattato con "_"
|
||||
/// </summary>
|
||||
public string uid
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.UniqueID.Replace("$", "_").Replace("-", "_");
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
/// <summary>
|
||||
/// Verifica se la macchina MAIN sia MASTER
|
||||
/// </summary>
|
||||
protected bool isMaster(string idxMacchina)
|
||||
{
|
||||
return DataLayerObj.isMaster(idxMacchina);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verifica se la macchina MAIN sia MULTI (da DatiMacchina / redis...)
|
||||
/// </summary>
|
||||
protected bool isMulti(string idxMacchina)
|
||||
{
|
||||
return DataLayerObj.isMulti(idxMacchina);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verifica se la macchina MAIN sia SLAVE
|
||||
/// </summary>
|
||||
protected bool isSlave(string idxMacchina)
|
||||
{
|
||||
return DataLayerObj.isSlave(idxMacchina);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// conversione da tempo minuti centesimali a minuti/secondi
|
||||
/// </summary>
|
||||
/// <param name="valore"></param>
|
||||
/// <returns></returns>
|
||||
protected TimeSpan minCent2Sec(decimal valore)
|
||||
{
|
||||
TimeSpan answ = new TimeSpan(0, 0, 1);
|
||||
try
|
||||
{
|
||||
answ = new TimeSpan(0, Convert.ToInt32(valore), Convert.ToInt32((valore - Convert.ToInt32(valore)) * 60));
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Public Methods
|
||||
|
||||
/// <summary>
|
||||
/// formatta in minuti/sec partendo da min.cent
|
||||
/// </summary>
|
||||
/// <param name="minCent"></param>
|
||||
/// <returns></returns>
|
||||
public string minSec(object minCent)
|
||||
{
|
||||
string answ = "";
|
||||
try
|
||||
{
|
||||
answ = string.Format("{0:mm}:{0:ss}", minCent2Sec(Convert.ToDecimal(minCent.ToString().Replace(".", ","))));
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Solleva evento nuovo valore
|
||||
/// </summary>
|
||||
@@ -26,15 +127,6 @@ namespace MP_ADM
|
||||
}
|
||||
}
|
||||
|
||||
public void raiseSelNew()
|
||||
{
|
||||
// sollevo evento nuovo valore...
|
||||
if (eh_selValore != null)
|
||||
{
|
||||
eh_selValore(this, new EventArgs());
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Solleva evento reset
|
||||
/// </summary>
|
||||
@@ -46,37 +138,15 @@ namespace MP_ADM
|
||||
}
|
||||
}
|
||||
|
||||
#endregion gestione eventi
|
||||
|
||||
/// <summary>
|
||||
/// Oggetto datalayer specifico NON singleton x scalare
|
||||
/// </summary>
|
||||
internal DataLayer DataLayerObj = new DataLayer();
|
||||
|
||||
/// <summary>
|
||||
/// UID formattato con "_"
|
||||
/// </summary>
|
||||
public string uid
|
||||
public void raiseSelNew()
|
||||
{
|
||||
get
|
||||
// sollevo evento nuovo valore...
|
||||
if (eh_selValore != null)
|
||||
{
|
||||
return this.UniqueID.Replace("$", "_").Replace("-", "_");
|
||||
eh_selValore(this, new EventArgs());
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// titolo pagina
|
||||
/// </summary>
|
||||
public string titolo
|
||||
{
|
||||
get
|
||||
{
|
||||
return devicesAuthProxy.getPage(Request.Url).Replace(".aspx", "");
|
||||
}
|
||||
}
|
||||
|
||||
#region utils
|
||||
|
||||
/// <summary>
|
||||
/// effettua traduzione del lemma
|
||||
/// </summary>
|
||||
@@ -97,40 +167,6 @@ namespace MP_ADM
|
||||
return user_std.UtSn.TraduciEn(lemma);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// formatta in minuti/sec partendo da min.cent
|
||||
/// </summary>
|
||||
/// <param name="minCent"></param>
|
||||
/// <returns></returns>
|
||||
public string minSec(object minCent)
|
||||
{
|
||||
string answ = "";
|
||||
try
|
||||
{
|
||||
answ = string.Format("{0:mm}:{0:ss}", minCent2Sec(Convert.ToDecimal(minCent.ToString().Replace(".", ","))));
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// conversione da tempo minuti centesimali a minuti/secondi
|
||||
/// </summary>
|
||||
/// <param name="valore"></param>
|
||||
/// <returns></returns>
|
||||
protected TimeSpan minCent2Sec(decimal valore)
|
||||
{
|
||||
TimeSpan answ = new TimeSpan(0, 0, 1);
|
||||
try
|
||||
{
|
||||
answ = new TimeSpan(0, Convert.ToInt32(valore), Convert.ToInt32((valore - Convert.ToInt32(valore)) * 60));
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
|
||||
#endregion utils
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
@@ -83,7 +83,7 @@
|
||||
<ItemTemplate>
|
||||
<span style="padding-right: 2px;">
|
||||
<asp:ImageButton ID="ImageButton1" runat="server" CausesValidation="False" CommandName="Select"
|
||||
ToolTip="Modifica num pz" ImageUrl="~/images/edit_s.png" Visible='<%# OdlIsCurrent(Eval("DataInizio"),Eval("DataFine")) %>' />
|
||||
ToolTip="Modifica num pz" ImageUrl="~/images/edit_s.png" Visible='<%# OdlIsCurrent(Eval("IdxMacchina"),Eval("DataInizio"),Eval("DataFine")) %>' />
|
||||
</span>
|
||||
</ItemTemplate>
|
||||
<ItemStyle HorizontalAlign="Center"></ItemStyle>
|
||||
|
||||
@@ -9,353 +9,72 @@ namespace MP_ADM.WebUserControls
|
||||
{
|
||||
public partial class mod_gestioneODL : BaseUserControl
|
||||
{
|
||||
/// <summary>
|
||||
/// dimensione pagina
|
||||
/// </summary>
|
||||
public int pageSize
|
||||
{
|
||||
get
|
||||
{
|
||||
int answ = 10;
|
||||
try
|
||||
{
|
||||
answ = Convert.ToInt32(txtPageSize.Text);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
set
|
||||
{
|
||||
txtPageSize.Text = value.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
#region area da NON modificare
|
||||
|
||||
#region area protected
|
||||
#region Protected Fields
|
||||
|
||||
protected string _idxGridView;
|
||||
|
||||
/// <summary>
|
||||
/// reset della selezione
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnReset_Click(object sender, EventArgs e)
|
||||
{
|
||||
resetSelezione();
|
||||
}
|
||||
#endregion Protected Fields
|
||||
|
||||
#region Protected Properties
|
||||
|
||||
/// <summary>
|
||||
/// gestione cambio selezione valore
|
||||
/// CodArt filtrato
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void grView_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
// salvo in session il valore selezionato...
|
||||
memLayer.ML.setSessionVal(string.Format("{0}_sel", _idxGridView), grView.SelectedValue, false);
|
||||
// mostro edit quantità...
|
||||
divEditQta.Visible = true;
|
||||
lbtNewODL.Visible = enableCreateNew;
|
||||
mod_newOdl1.Visible = false;
|
||||
var riga = DataLayerObj.taODL.getByIdx(idxOdlSel, false)[0];
|
||||
numPz = riga.NumPezzi;
|
||||
idxMaccEdit = riga.IdxMacchina;
|
||||
pzPallet = riga.PzPallet;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// traduce gli header delle colonne
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void grView_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
if (grView.Rows.Count > 0)
|
||||
{
|
||||
LinkButton lb;
|
||||
// aggiorno gli headers
|
||||
foreach (TableCell cella in grView.HeaderRow.Cells)
|
||||
{
|
||||
try
|
||||
{
|
||||
lb = (LinkButton)cella.Controls[0];
|
||||
lb.Text = traduci(lb.Text);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
int totRecord = grView.Rows.Count + grView.PageSize * (grView.PageCount - 1);
|
||||
lblNumRec.Text = string.Format("{0} records of ~ {1}", grView.Rows.Count, totRecord);
|
||||
}
|
||||
else
|
||||
{
|
||||
lblNumRec.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// recupera i dati di un nuovo record contenuti nel footer di un gridView;
|
||||
/// questi devono esses opportunamente nominati (es: txt{0}, dl{0}, ...)
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void recuperaFooter(object sender, ObjectDataSourceMethodEventArgs e)
|
||||
{
|
||||
//recupero la riga footer...
|
||||
DataColumnCollection colonne = colonneObj();
|
||||
string nomeCol;
|
||||
string tipoColonna = "";
|
||||
foreach (DataColumn colonna in colonne)
|
||||
{
|
||||
nomeCol = colonna.ColumnName;
|
||||
// cerco un textbox o quello che sia...
|
||||
if (grView.FooterRow.FindControl(string.Format("txt{0}", nomeCol)) != null)
|
||||
{
|
||||
tipoColonna = "textBox";
|
||||
}
|
||||
else if (grView.FooterRow.FindControl(string.Format("dl{0}", nomeCol)) != null)
|
||||
{
|
||||
tipoColonna = "dropDownList";
|
||||
}
|
||||
else if (grView.FooterRow.FindControl(string.Format("chk{0}", nomeCol)) != null)
|
||||
{
|
||||
tipoColonna = "checkBox";
|
||||
}
|
||||
else if (grView.FooterRow.FindControl(string.Format("selAjax_{0}", nomeCol)) != null)
|
||||
{
|
||||
tipoColonna = "selAjax";
|
||||
}
|
||||
// in base al tipo salvo negli inputparameters dell'ODS
|
||||
switch (tipoColonna)
|
||||
{
|
||||
case "textBox":
|
||||
e.InputParameters[nomeCol] = ((TextBox)grView.FooterRow.FindControl(string.Format("txt{0}", nomeCol))).Text;
|
||||
break;
|
||||
|
||||
case "dropDownList":
|
||||
e.InputParameters[nomeCol] = ((DropDownList)grView.FooterRow.FindControl(string.Format("dl{0}", nomeCol))).SelectedValue;
|
||||
break;
|
||||
|
||||
case "checkBox":
|
||||
e.InputParameters[nomeCol] = ((CheckBox)grView.FooterRow.FindControl(string.Format("chk{0}", nomeCol))).Checked;
|
||||
break;
|
||||
//case "selAjax":
|
||||
// e.InputParameters[nomeCol] = ((mod_selettore_ajax)grView.FooterRow.FindControl(string.Format("selAjax_{0}", nomeCol))).valore;
|
||||
// break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
tipoColonna = "";
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// svuoto da cache post update
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void ods_Updated(object sender, ObjectDataSourceStatusEventArgs e)
|
||||
{
|
||||
raiseNewVal();
|
||||
}
|
||||
|
||||
#endregion area protected
|
||||
|
||||
#region are public
|
||||
|
||||
/// <summary>
|
||||
/// resetta la selezione dei valori in caso di modifiche su altri controlli
|
||||
/// </summary>
|
||||
public void resetSelezione()
|
||||
{
|
||||
memLayer.ML.emptySessionVal(string.Format("{0}_sel", _idxGridView));
|
||||
grView.SelectedIndex = -1;
|
||||
grView.DataBind();
|
||||
idxMaccEdit = "";
|
||||
divEditQta.Visible = false;
|
||||
mod_newOdl1.Visible = false;
|
||||
lbtNewODL.Visible = enableCreateNew;
|
||||
lblWarning.Visible = false;
|
||||
raiseReset();
|
||||
}
|
||||
|
||||
#endregion are public
|
||||
|
||||
#endregion area da NON modificare
|
||||
|
||||
#region area da modificare
|
||||
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
base.OnLoad(e);
|
||||
if (!Page.IsPostBack)
|
||||
{
|
||||
mod_newOdl1.Visible = false;
|
||||
grView.PageSize = pageSize;
|
||||
lbtNewODL.Visible = enableCreateNew;
|
||||
}
|
||||
mod_newOdl1.eh_nuovoValore += new EventHandler(mod_newOdl1_eh_nuovoValore);
|
||||
}
|
||||
|
||||
public bool enableCreateNew
|
||||
protected string CodArt
|
||||
{
|
||||
get
|
||||
{
|
||||
return !memLayer.ML.CRB("enableRPO");
|
||||
return lblCodArt.Text;
|
||||
}
|
||||
}
|
||||
|
||||
/// inizializzazione valori di default
|
||||
/// </summary>
|
||||
/// <param name="e"></param>
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
_idxGridView = "IdxODL";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// nuovo valore creato...
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void mod_newOdl1_eh_nuovoValore(object sender, EventArgs e)
|
||||
{
|
||||
// nascondo controllo e mostro button
|
||||
mod_newOdl1.Visible = false;
|
||||
lbtNewODL.Visible = enableCreateNew;
|
||||
// aggiorno!
|
||||
resetSelezione();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// elenco colonne del datagrid
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
protected DataColumnCollection colonneObj()
|
||||
{
|
||||
MapoDb.DS_ProdTempi.ODLDataTable tabella = new MapoDb.DS_ProdTempi.ODLDataTable();
|
||||
DataColumnCollection colonne = tabella.Columns;
|
||||
return colonne;
|
||||
}
|
||||
|
||||
public bool delEnabled(object _idxOdl)
|
||||
{
|
||||
bool answ = false;
|
||||
int idxOdl = 0;
|
||||
// controllo non sia già stata iniziata la produzione sennò non posso cancellare...
|
||||
try
|
||||
set
|
||||
{
|
||||
idxOdl = Convert.ToInt32(_idxOdl);
|
||||
answ = (DataLayerObj.taODL.getByIdx(idxOdl, true).Count > 0);
|
||||
lblCodArt.Text = value;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// mostra creazione nuovo ODL
|
||||
/// CodArt filtrato
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void lbtNewODL_Click(object sender, EventArgs e)
|
||||
protected string DescArt
|
||||
{
|
||||
// mostro controllo creazione ODL
|
||||
mod_newOdl1.Visible = true;
|
||||
divEditQta.Visible = false;
|
||||
lbtNewODL.Visible = false;
|
||||
grView.SelectedIndex = -1;
|
||||
grView.DataBind();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// formatot url x stampa ODL
|
||||
/// </summary>
|
||||
/// <param name="idx"></param>
|
||||
/// <returns></returns>
|
||||
public string formattaUrlOdl(object idx)
|
||||
{
|
||||
string answ = String.Format(memLayer.ML.CRS("exportFormat1"), Convert.ToInt32(reportRichiesto.SchedaODL), idx);
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// cambio dim pagina
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void txtPageSize_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
grView.PageSize = pageSize;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// verifica se ODL sia current = aperto (iniziato, NON concluso)
|
||||
/// </summary>
|
||||
/// <param name="DataInizio"></param>
|
||||
/// <param name="DataFine"></param>
|
||||
/// <returns></returns>
|
||||
public bool OdlIsCurrent(object DataInizio, object DataFine)
|
||||
{
|
||||
bool answ = false;
|
||||
try
|
||||
get
|
||||
{
|
||||
if ((DataInizio.ToString() == "") && (DataFine.ToString() == ""))
|
||||
{
|
||||
answ = true;
|
||||
}
|
||||
return lblDescArt.Text;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
if (!answ)
|
||||
set
|
||||
{
|
||||
try
|
||||
{
|
||||
if ((Convert.ToDateTime(DataInizio) <= DateTime.Now) && (DataFine.ToString() == ""))
|
||||
{
|
||||
answ = true;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
lblDescArt.Text = value;
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
#endregion area da modificare
|
||||
|
||||
protected void btnOk_Click(object sender, EventArgs e)
|
||||
/// <summary>
|
||||
/// IdxMacchina filtrata
|
||||
/// </summary>
|
||||
protected string idxMacc
|
||||
{
|
||||
if (idxOdlSel > 0)
|
||||
get
|
||||
{
|
||||
DataLayerObj.taODL.updateQta(numPz, pzPallet, idxOdlSel);
|
||||
// se abilitata modifica numPzPallet --> chiamo stored update!
|
||||
if (numPzEditable)
|
||||
{
|
||||
// recupero da config il max...
|
||||
int numPzMaxFix = 100;
|
||||
try
|
||||
{
|
||||
numPzMaxFix = memLayer.ML.cdvi("numPzMaxFix");
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
DataLayerObj.taTempiCicloRilevati.TC_fixFromODL(idxOdlSel, numPzMaxFix);
|
||||
}
|
||||
return lblIdxMacc.Text;
|
||||
}
|
||||
set
|
||||
{
|
||||
lblIdxMacc.Text = value;
|
||||
}
|
||||
updateCtrl();
|
||||
}
|
||||
|
||||
private void updateCtrl()
|
||||
/// <summary>
|
||||
/// IdxMacchina in EDIT
|
||||
/// </summary>
|
||||
protected string idxMaccEdit
|
||||
{
|
||||
divEditQta.Visible = false;
|
||||
grView.SelectedIndex = -1;
|
||||
grView.DataBind();
|
||||
idxMaccEdit = "";
|
||||
get
|
||||
{
|
||||
return hfIdxMacc.Value;
|
||||
}
|
||||
set
|
||||
{
|
||||
hfIdxMacc.Value = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -376,6 +95,21 @@ namespace MP_ADM.WebUserControls
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Nome filtrata
|
||||
/// </summary>
|
||||
protected string NomeMacc
|
||||
{
|
||||
get
|
||||
{
|
||||
return lblNomeMacc.Text;
|
||||
}
|
||||
set
|
||||
{
|
||||
lblNomeMacc.Text = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Nuovo num pz
|
||||
/// </summary>
|
||||
@@ -448,9 +182,64 @@ namespace MP_ADM.WebUserControls
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnCancel_Click(object sender, EventArgs e)
|
||||
#endregion Protected Properties
|
||||
|
||||
#region Public Properties
|
||||
|
||||
public bool enableCreateNew
|
||||
{
|
||||
updateCtrl();
|
||||
get
|
||||
{
|
||||
return !memLayer.ML.CRB("enableRPO");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// dimensione pagina
|
||||
/// </summary>
|
||||
public int pageSize
|
||||
{
|
||||
get
|
||||
{
|
||||
int answ = 10;
|
||||
try
|
||||
{
|
||||
answ = Convert.ToInt32(txtPageSize.Text);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
set
|
||||
{
|
||||
txtPageSize.Text = value.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Private Methods
|
||||
|
||||
/// <summary>
|
||||
/// nuovo valore creato...
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void mod_newOdl1_eh_nuovoValore(object sender, EventArgs e)
|
||||
{
|
||||
// nascondo controllo e mostro button
|
||||
mod_newOdl1.Visible = false;
|
||||
lbtNewODL.Visible = enableCreateNew;
|
||||
// aggiorno!
|
||||
resetSelezione();
|
||||
}
|
||||
|
||||
private void updateCtrl()
|
||||
{
|
||||
divEditQta.Visible = false;
|
||||
grView.SelectedIndex = -1;
|
||||
grView.DataBind();
|
||||
idxMaccEdit = "";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -461,79 +250,134 @@ namespace MP_ADM.WebUserControls
|
||||
grView.DataBind();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// IdxMacchina filtrata
|
||||
/// </summary>
|
||||
protected string idxMacc
|
||||
#endregion Private Methods
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
protected void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
get
|
||||
updateCtrl();
|
||||
}
|
||||
|
||||
protected void btnOk_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (idxOdlSel > 0)
|
||||
{
|
||||
return lblIdxMacc.Text;
|
||||
DataLayerObj.taODL.updateQta(numPz, pzPallet, idxOdlSel);
|
||||
// se abilitata modifica numPzPallet --> chiamo stored update!
|
||||
if (numPzEditable)
|
||||
{
|
||||
// recupero da config il max...
|
||||
int numPzMaxFix = 100;
|
||||
try
|
||||
{
|
||||
numPzMaxFix = memLayer.ML.cdvi("numPzMaxFix");
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
DataLayerObj.taTempiCicloRilevati.TC_fixFromODL(idxOdlSel, numPzMaxFix);
|
||||
}
|
||||
}
|
||||
set
|
||||
updateCtrl();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// reset della selezione
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnReset_Click(object sender, EventArgs e)
|
||||
{
|
||||
resetSelezione();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// elenco colonne del datagrid
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
protected DataColumnCollection colonneObj()
|
||||
{
|
||||
MapoDb.DS_ProdTempi.ODLDataTable tabella = new MapoDb.DS_ProdTempi.ODLDataTable();
|
||||
DataColumnCollection colonne = tabella.Columns;
|
||||
return colonne;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// traduce gli header delle colonne
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void grView_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
if (grView.Rows.Count > 0)
|
||||
{
|
||||
lblIdxMacc.Text = value;
|
||||
LinkButton lb;
|
||||
// aggiorno gli headers
|
||||
foreach (TableCell cella in grView.HeaderRow.Cells)
|
||||
{
|
||||
try
|
||||
{
|
||||
lb = (LinkButton)cella.Controls[0];
|
||||
lb.Text = traduci(lb.Text);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
int totRecord = grView.Rows.Count + grView.PageSize * (grView.PageCount - 1);
|
||||
lblNumRec.Text = string.Format("{0} records of ~ {1}", grView.Rows.Count, totRecord);
|
||||
}
|
||||
else
|
||||
{
|
||||
lblNumRec.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// IdxMacchina in EDIT
|
||||
/// gestione cambio selezione valore
|
||||
/// </summary>
|
||||
protected string idxMaccEdit
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void grView_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
get
|
||||
{
|
||||
return hfIdxMacc.Value;
|
||||
}
|
||||
set
|
||||
{
|
||||
hfIdxMacc.Value = value;
|
||||
}
|
||||
// salvo in session il valore selezionato...
|
||||
memLayer.ML.setSessionVal(string.Format("{0}_sel", _idxGridView), grView.SelectedValue, false);
|
||||
// mostro edit quantità...
|
||||
divEditQta.Visible = true;
|
||||
lbtNewODL.Visible = enableCreateNew;
|
||||
mod_newOdl1.Visible = false;
|
||||
var riga = DataLayerObj.taODL.getByIdx(idxOdlSel, false)[0];
|
||||
numPz = riga.NumPezzi;
|
||||
idxMaccEdit = riga.IdxMacchina;
|
||||
pzPallet = riga.PzPallet;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Nome filtrata
|
||||
/// mostra creazione nuovo ODL
|
||||
/// </summary>
|
||||
protected string NomeMacc
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void lbtNewODL_Click(object sender, EventArgs e)
|
||||
{
|
||||
get
|
||||
{
|
||||
return lblNomeMacc.Text;
|
||||
}
|
||||
set
|
||||
{
|
||||
lblNomeMacc.Text = value;
|
||||
}
|
||||
// mostro controllo creazione ODL
|
||||
mod_newOdl1.Visible = true;
|
||||
divEditQta.Visible = false;
|
||||
lbtNewODL.Visible = false;
|
||||
grView.SelectedIndex = -1;
|
||||
grView.DataBind();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// CodArt filtrato
|
||||
/// </summary>
|
||||
protected string CodArt
|
||||
protected void lbtResArt_Click(object sender, EventArgs e)
|
||||
{
|
||||
get
|
||||
{
|
||||
return lblCodArt.Text;
|
||||
}
|
||||
set
|
||||
{
|
||||
lblCodArt.Text = value;
|
||||
}
|
||||
CodArt = "";
|
||||
DescArt = "";
|
||||
updateGrView();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// CodArt filtrato
|
||||
/// </summary>
|
||||
protected string DescArt
|
||||
protected void lbtResMacc_Click(object sender, EventArgs e)
|
||||
{
|
||||
get
|
||||
{
|
||||
return lblDescArt.Text;
|
||||
}
|
||||
set
|
||||
{
|
||||
lblDescArt.Text = value;
|
||||
}
|
||||
idxMacc = "";
|
||||
NomeMacc = "";
|
||||
updateGrView();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -566,18 +410,187 @@ namespace MP_ADM.WebUserControls
|
||||
updateGrView();
|
||||
}
|
||||
|
||||
protected void lbtResArt_Click(object sender, EventArgs e)
|
||||
/// <summary>
|
||||
/// svuoto da cache post update
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void ods_Updated(object sender, ObjectDataSourceStatusEventArgs e)
|
||||
{
|
||||
CodArt = "";
|
||||
DescArt = "";
|
||||
updateGrView();
|
||||
raiseNewVal();
|
||||
}
|
||||
|
||||
protected void lbtResMacc_Click(object sender, EventArgs e)
|
||||
/// inizializzazione valori di default
|
||||
/// </summary>
|
||||
/// <param name="e"></param>
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
idxMacc = "";
|
||||
NomeMacc = "";
|
||||
updateGrView();
|
||||
base.OnInit(e);
|
||||
_idxGridView = "IdxODL";
|
||||
}
|
||||
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
base.OnLoad(e);
|
||||
if (!Page.IsPostBack)
|
||||
{
|
||||
mod_newOdl1.Visible = false;
|
||||
grView.PageSize = pageSize;
|
||||
lbtNewODL.Visible = enableCreateNew;
|
||||
}
|
||||
mod_newOdl1.eh_nuovoValore += new EventHandler(mod_newOdl1_eh_nuovoValore);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// recupera i dati di un nuovo record contenuti nel footer di un gridView;
|
||||
/// questi devono esses opportunamente nominati (es: txt{0}, dl{0}, ...)
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void recuperaFooter(object sender, ObjectDataSourceMethodEventArgs e)
|
||||
{
|
||||
//recupero la riga footer...
|
||||
DataColumnCollection colonne = colonneObj();
|
||||
string nomeCol;
|
||||
string tipoColonna = "";
|
||||
foreach (DataColumn colonna in colonne)
|
||||
{
|
||||
nomeCol = colonna.ColumnName;
|
||||
// cerco un textbox o quello che sia...
|
||||
if (grView.FooterRow.FindControl(string.Format("txt{0}", nomeCol)) != null)
|
||||
{
|
||||
tipoColonna = "textBox";
|
||||
}
|
||||
else if (grView.FooterRow.FindControl(string.Format("dl{0}", nomeCol)) != null)
|
||||
{
|
||||
tipoColonna = "dropDownList";
|
||||
}
|
||||
else if (grView.FooterRow.FindControl(string.Format("chk{0}", nomeCol)) != null)
|
||||
{
|
||||
tipoColonna = "checkBox";
|
||||
}
|
||||
else if (grView.FooterRow.FindControl(string.Format("selAjax_{0}", nomeCol)) != null)
|
||||
{
|
||||
tipoColonna = "selAjax";
|
||||
}
|
||||
// in base al tipo salvo negli inputparameters dell'ODS
|
||||
switch (tipoColonna)
|
||||
{
|
||||
case "textBox":
|
||||
e.InputParameters[nomeCol] = ((TextBox)grView.FooterRow.FindControl(string.Format("txt{0}", nomeCol))).Text;
|
||||
break;
|
||||
|
||||
case "dropDownList":
|
||||
e.InputParameters[nomeCol] = ((DropDownList)grView.FooterRow.FindControl(string.Format("dl{0}", nomeCol))).SelectedValue;
|
||||
break;
|
||||
|
||||
case "checkBox":
|
||||
e.InputParameters[nomeCol] = ((CheckBox)grView.FooterRow.FindControl(string.Format("chk{0}", nomeCol))).Checked;
|
||||
break;
|
||||
//case "selAjax":
|
||||
// e.InputParameters[nomeCol] = ((mod_selettore_ajax)grView.FooterRow.FindControl(string.Format("selAjax_{0}", nomeCol))).valore;
|
||||
// break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
tipoColonna = "";
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// cambio dim pagina
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void txtPageSize_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
grView.PageSize = pageSize;
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Public Methods
|
||||
|
||||
public bool delEnabled(object _idxOdl)
|
||||
{
|
||||
bool answ = false;
|
||||
int idxOdl = 0;
|
||||
// controllo non sia già stata iniziata la produzione sennò non posso cancellare...
|
||||
try
|
||||
{
|
||||
idxOdl = Convert.ToInt32(_idxOdl);
|
||||
answ = (DataLayerObj.taODL.getByIdx(idxOdl, true).Count > 0);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// formatot url x stampa ODL
|
||||
/// </summary>
|
||||
/// <param name="idx"></param>
|
||||
/// <returns></returns>
|
||||
public string formattaUrlOdl(object idx)
|
||||
{
|
||||
string answ = String.Format(memLayer.ML.CRS("exportFormat1"), Convert.ToInt32(reportRichiesto.SchedaODL), idx);
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// verifica se ODL sia current = aperto (iniziato, NON concluso)
|
||||
/// </summary>
|
||||
/// <param name="_IdxMacchina"></param>
|
||||
/// <param name="_DataInizio"></param>
|
||||
/// <param name="_DataFine"></param>
|
||||
/// <returns></returns>
|
||||
public bool OdlIsCurrent(object _IdxMacchina, object _DataInizio, object _DataFine)
|
||||
{
|
||||
bool answ = false;
|
||||
// check preliminare: se è SLAVE non è MAI davvero current = modificabile...
|
||||
if (!isSlave($"{_IdxMacchina}"))
|
||||
{
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty($"{_DataInizio}") && string.IsNullOrEmpty($"{_DataFine}"))
|
||||
{
|
||||
answ = true;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
if (!answ)
|
||||
{
|
||||
try
|
||||
{
|
||||
if ((Convert.ToDateTime(_DataInizio) <= DateTime.Now) && string.IsNullOrEmpty($"{_DataFine}"))
|
||||
{
|
||||
answ = true;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// resetta la selezione dei valori in caso di modifiche su altri controlli
|
||||
/// </summary>
|
||||
public void resetSelezione()
|
||||
{
|
||||
memLayer.ML.emptySessionVal(string.Format("{0}_sel", _idxGridView));
|
||||
grView.SelectedIndex = -1;
|
||||
grView.DataBind();
|
||||
idxMaccEdit = "";
|
||||
divEditQta.Visible = false;
|
||||
mod_newOdl1.Visible = false;
|
||||
lbtNewODL.Visible = enableCreateNew;
|
||||
lblWarning.Visible = false;
|
||||
raiseReset();
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user