Completata versione 245 con installer e gestione/visualizzazione magazzini logici!!!

git-svn-id: https://keyhammer.ath.cx/svn/GMW/trunk@248 365432ac-a1b5-4ffd-bb28-6d3099d32164
This commit is contained in:
samuele
2010-09-15 16:55:34 +00:00
parent 0ba9c6645a
commit 00043ad5f3
22 changed files with 242 additions and 20 deletions
@@ -11,10 +11,10 @@
<tr>
<td valign="top">
<uc1:mod_listParticolari ID="mod_listParticolari1" runat="server" />
<uc2:mod_execParticolari ID="mod_execParticolari1" runat="server" />
</td>
<td valign="top">
<uc3:mod_detailParticolari ID="mod_detailParticolari1" runat="server" />
<uc2:mod_execParticolari ID="mod_execParticolari1" runat="server" />
</td>
</tr>
</table>
@@ -40,15 +40,6 @@ namespace GMW.WebUserControls {
/// </remarks>
protected global::GMW.WebUserControls.mod_listParticolari mod_listParticolari1;
/// <summary>
/// mod_detailParticolari1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::GMW.WebUserControls.mod_detailParticolari mod_detailParticolari1;
/// <summary>
/// mod_execParticolari1 control.
/// </summary>
@@ -57,5 +48,14 @@ namespace GMW.WebUserControls {
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::GMW.WebUserControls.mod_execParticolari mod_execParticolari1;
/// <summary>
/// mod_detailParticolari1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::GMW.WebUserControls.mod_detailParticolari mod_detailParticolari1;
}
}
@@ -3,7 +3,7 @@
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<asp:GridView ID="grView" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"
OnSelectedIndexChanged="grView_SelectedIndexChanged" OnDataBound="grView_DataBound"
DataKeyNames="DescStato,Esponente,CodMag,IdxBlocco" DataSourceID="ods" OnPageIndexChanged="grView_PageIndexChanged"
DataKeyNames="DescStato,Esponente,CodMag,IdxBlocco,CodMagLog" DataSourceID="ods" OnPageIndexChanged="grView_PageIndexChanged"
OnSorted="grView_Sorted">
<RowStyle CssClass="ctrRowStyle" />
<AlternatingRowStyle CssClass="ctrAltRowStyle" />
@@ -34,6 +34,11 @@
<asp:Label ID="lblCodBlocco" runat="server" Text='<%# Eval("CodBlocco") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="CodMagLog" SortExpression="CodMagLog">
<ItemTemplate>
<asp:Label ID="lblCodMagLog" runat="server" Text='<%# Eval("CodMagLog") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Esponente" SortExpression="Esponente">
<ItemTemplate>
<asp:Label ID="lblEsponente" runat="server" Text='<%# Eval("Esponente") %>' />
@@ -173,9 +173,11 @@ namespace GMW.WebUserControls
string Esponente = grView.SelectedDataKey["Esponente"].ToString();
string CodMag = grView.SelectedDataKey["CodMag"].ToString();
int IdxBlocco = Convert.ToInt32(grView.SelectedDataKey["IdxBlocco"]);
string CodMagLog = grView.SelectedDataKey["CodMagLog"].ToString();
// salvo in session
SteamWare.memLayer.ML.setSessionVal("CodMag_sel", CodMag, false);
SteamWare.memLayer.ML.setSessionVal("IdxBlocco_sel", IdxBlocco, false);
memLayer.ML.setSessionVal("CodMagLogico_sel", CodMagLog, false);
// sollevo evento nuovo valore...
if (eh_selValore != null)
{
@@ -43,7 +43,7 @@
</asp:ObjectDataSource>
</td>
<td>
<uc1:mod_filtro ID="mod_filtroMagLog" runat="server" />
<uc1:mod_filtro ID="mod_filtroMagLog" runat="server" isChecked="false" />
<asp:ObjectDataSource ID="odsFiltroMagLog" runat="server" OldValuesParameterFormatString="Original_{0}"
SelectMethod="getByConditio" TypeName="GMW_data.DS_UtilityTableAdapters.v_selMagLogicoTableAdapter">
<SelectParameters>
@@ -74,6 +74,7 @@ namespace GMW.WebUserControls
}
else
{
mod_filtroMagLog.valore = "";
mod_filtroMagLog.isChecked = false;
}
pnlDetail.Visible = false;
@@ -175,9 +176,6 @@ namespace GMW.WebUserControls
}
// svuoto selezioni secondarie...
memLayer.ML.emptySessionVal("Particolare_sel");
//// chiamo procedura che aggiorna ods principale
//mod_dettCelleBlocco1.doUpdate();
//updateControlli();
// aggiorno la visualizzazione del magazzino!
Response.Redirect("~/DettaglioBlocco.aspx");
+2 -3
View File
@@ -346,12 +346,11 @@ public partial class mod_filtro : ApplicationUserControl
set
{
chkFilt.Checked = value;
dlFilt.Visible = value;
updateChkLbl();
}
}
/// <summary>
/// oggetto ODS con cui popolare il selettore, VINCOLO abbia campi value(key) / label
/// </summary>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+41 -2
View File
@@ -4938,6 +4938,8 @@ namespace GMW_data {
private global::System.Data.DataColumn columnEsponente;
private global::System.Data.DataColumn columnCodMagLog;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public V_DettMagPartDataTable() {
this.TableName = "V_DettMagPart";
@@ -5052,6 +5054,13 @@ namespace GMW_data {
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public global::System.Data.DataColumn CodMagLogColumn {
get {
return this.columnCodMagLog;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.ComponentModel.Browsable(false)]
public int Count {
@@ -5081,7 +5090,7 @@ namespace GMW_data {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public V_DettMagPartRow AddV_DettMagPartRow(string CodCS, string CodMag, string DescMag, int IdxBlocco, string CodBlocco, string Particolare, int NumUDC, System.DateTime Oldest, System.DateTime Newest, decimal QtaTotPz, string DescStato, string Esponente) {
public V_DettMagPartRow AddV_DettMagPartRow(string CodCS, string CodMag, string DescMag, int IdxBlocco, string CodBlocco, string Particolare, int NumUDC, System.DateTime Oldest, System.DateTime Newest, decimal QtaTotPz, string DescStato, string Esponente, int CodMagLog) {
V_DettMagPartRow rowV_DettMagPartRow = ((V_DettMagPartRow)(this.NewRow()));
object[] columnValuesArray = new object[] {
CodCS,
@@ -5095,7 +5104,8 @@ namespace GMW_data {
Newest,
QtaTotPz,
DescStato,
Esponente};
Esponente,
CodMagLog};
rowV_DettMagPartRow.ItemArray = columnValuesArray;
this.Rows.Add(rowV_DettMagPartRow);
return rowV_DettMagPartRow;
@@ -5138,6 +5148,7 @@ namespace GMW_data {
this.columnQtaTotPz = base.Columns["QtaTotPz"];
this.columnDescStato = base.Columns["DescStato"];
this.columnEsponente = base.Columns["Esponente"];
this.columnCodMagLog = base.Columns["CodMagLog"];
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -5166,6 +5177,8 @@ namespace GMW_data {
base.Columns.Add(this.columnDescStato);
this.columnEsponente = new global::System.Data.DataColumn("Esponente", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnEsponente);
this.columnCodMagLog = new global::System.Data.DataColumn("CodMagLog", typeof(int), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnCodMagLog);
this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
this.columnEsponente,
this.columnCodMag,
@@ -5188,6 +5201,7 @@ namespace GMW_data {
this.columnDescStato.MaxLength = 50;
this.columnEsponente.AllowDBNull = false;
this.columnEsponente.MaxLength = 6;
this.columnCodMagLog.DefaultValue = ((int)(0));
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -10610,6 +10624,21 @@ namespace GMW_data {
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public int CodMagLog {
get {
try {
return ((int)(this[this.tableV_DettMagPart.CodMagLogColumn]));
}
catch (global::System.InvalidCastException e) {
throw new global::System.Data.StrongTypingException("The value for column \'CodMagLog\' in table \'V_DettMagPart\' is DBNull.", e);
}
}
set {
this[this.tableV_DettMagPart.CodMagLogColumn] = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public bool IsDescMagNull() {
return this.IsNull(this.tableV_DettMagPart.DescMagColumn);
@@ -10669,6 +10698,16 @@ namespace GMW_data {
public void SetQtaTotPzNull() {
this[this.tableV_DettMagPart.QtaTotPzColumn] = global::System.Convert.DBNull;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public bool IsCodMagLogNull() {
return this.IsNull(this.tableV_DettMagPart.CodMagLogColumn);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public void SetCodMagLogNull() {
this[this.tableV_DettMagPart.CodMagLogColumn] = global::System.Convert.DBNull;
}
}
/// <summary>
+1
View File
@@ -2720,6 +2720,7 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CodMagLog" msprop:Generator_UserColumnName="CodMagLog" msprop:Generator_ColumnPropNameInRow="CodMagLog" msprop:Generator_ColumnVarNameInTable="columnCodMagLog" msprop:Generator_ColumnPropNameInTable="CodMagLogColumn" type="xs:int" default="0" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
+178
View File
@@ -419,6 +419,184 @@ commit
go
set xact_abort on
go
begin transaction
go
set ANSI_NULLS on
go
/***************************************
* STORED stp_paretoDettPartByFullSpecMagLog
*
* restituisce elenco particolari in logica pareto (quantità) per un dato blocco di magazzino e il particolare ed il magazzino logico!!!
*
* Steamware, S.E.L.
* mod: 2010.09.15
*
****************************************/
create PROCEDURE stp_paretoDettPartByFullSpecMagLog
(
@CodCS VARCHAR(2),
@CodMag VARCHAR(50),
@IdxBlocco INT,
@Particolare VARCHAR(20),
@CodMagLog INT
)
AS
SELECT TOP (100) PERCENT AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, ElencoCartellini.Particolare,
ElencoCartellini.Esponente, COUNT(PosizioneUdcCorrente.UDC) AS NumUDC, ISNULL(MIN(PosizioneUdcCorrente.DataRif),
GETDATE()) AS Oldest, ISNULL(MAX(PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest, SUM(ElencoCartellini.Qta) AS QtaTotPz,
AnagStatiProdotto.DescStato
FROM AnagMag INNER JOIN
Blocchi ON AnagMag.CodMag = Blocchi.CodMag AND AnagMag.CodCS = Blocchi.CodCS INNER JOIN
Celle INNER JOIN
ElencoCartellini INNER JOIN
PosizioneUdcCorrente ON ElencoCartellini.UDC = PosizioneUdcCorrente.UDC ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella ON
Blocchi.IdxBlocco = Celle.IdxBlocco INNER JOIN
AnagStatiProdotto ON ElencoCartellini.CodStato = AnagStatiProdotto.CodStato
WHERE (Celle.Attiva = 1) AND (AnagMag.CodCS = @CodCS) AND (AnagMag.CodMag = @CodMag) AND (Blocchi.IdxBlocco = @IdxBlocco) AND
(ElencoCartellini.Particolare = @Particolare) AND ElencoCartellini.IdxPosizione = @CodMagLog
GROUP BY AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.NumX, Blocchi.NumY, Blocchi.NumZ,
ElencoCartellini.Particolare, ElencoCartellini.Esponente, AnagStatiProdotto.DescStato
ORDER BY QtaTotPz DESC
RETURN
go
/***************************************
* STORED stp_paretoPartByMagBloccoCodMagLog
*
* restituisce elenco particolari in logica pareto (quantità) per un dato blocco di magazzino ed un dato magazzino logico, aggregati (no stato)
*
* Steamware, S.E.L.
* mod: 2010.09.15
*
****************************************/
create PROCEDURE stp_paretoPartByMagBloccoCodMagLog
(
@CodCS VARCHAR(2),
@CodMag VARCHAR(50),
@IdxBlocco INT,
@CodMagLog INT
)
AS
SELECT TOP (100) PERCENT
dbo.AnagMag.CodCS, dbo.AnagMag.CodMag, dbo.AnagMag.DescMag, dbo.Blocchi.IdxBlocco, dbo.Blocchi.CodBlocco,
dbo.ElencoCartellini.Particolare, '' as Esponente, COUNT(dbo.PosizioneUdcCorrente.UDC) AS NumUDC, ISNULL(MIN(dbo.PosizioneUdcCorrente.DataRif),
GETDATE()) AS Oldest, ISNULL(MAX(dbo.PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest, SUM(dbo.ElencoCartellini.Qta) AS QtaTotPz,
'' AS DescStato
FROM dbo.AnagMag INNER JOIN
dbo.Blocchi ON dbo.AnagMag.CodMag = dbo.Blocchi.CodMag AND dbo.AnagMag.CodCS = dbo.Blocchi.CodCS INNER JOIN
dbo.Celle INNER JOIN
dbo.ElencoCartellini INNER JOIN
dbo.PosizioneUdcCorrente ON dbo.ElencoCartellini.UDC = dbo.PosizioneUdcCorrente.UDC
ON dbo.Celle.IdxCella = dbo.PosizioneUdcCorrente.IdxCella
ON dbo.Blocchi.IdxBlocco = dbo.Celle.IdxBlocco INNER JOIN
dbo.AnagStatiProdotto ON dbo.ElencoCartellini.CodStato = dbo.AnagStatiProdotto.CodStato
WHERE (dbo.Celle.Attiva = 1) AND (AnagMag.CodCS = @CodCS) AND AnagMag.CodMag = @CodMag AND Blocchi.IdxBlocco = @IdxBlocco
AND ElencoCartellini.IdxPosizione = @CodMagLog
GROUP BY dbo.AnagMag.CodCS, dbo.AnagMag.CodMag, dbo.AnagMag.DescMag, dbo.Blocchi.IdxBlocco, dbo.Blocchi.CodBlocco,
dbo.Blocchi.NumX, dbo.Blocchi.NumY, dbo.Blocchi.NumZ, dbo.ElencoCartellini.Particolare
ORDER BY QtaTotPz DESC
RETURN
go
/***************************************
* STORED stp_UdcDetailGetByIdxBloccoCodMagLog
*
* ottiene l'elenco degli UDC con dettaglio posizioni OCCUPATE associati ad un dato blocco di magazzino ed ad un dato STATO LOGICO
*
* Steamware, S.E.L.
* mod: 2010.09.15
*
****************************************/
create PROCEDURE stp_UdcDetailGetByIdxBloccoCodMagLog
(
@IdxBlocco INT,
@CodMagLog INT
)
AS
SELECT ElencoCartellini.UDC, ElencoCartellini.RagSociale, ElencoCartellini.Particolare, ElencoCartellini.DescParticolare,
ElencoCartellini.DisegnoGrezzo, ElencoCartellini.Esponente, ElencoCartellini.DescImpianto, ElencoCartellini.DataFus,
ElencoCartellini.TurnoFus, ElencoCartellini.CodImballo, ElencoCartellini.Qta, AnagStatiProdotto.DescStato,
ElencoCartellini.ModDate, ISNULL(Blocchi.CodMag, N'') AS CodMag, ISNULL(Blocchi.CodBlocco, N'') AS CodBlocco,
ISNULL(Celle.CodCella, N'') AS CodCella, ISNULL(dbo.Celle.IdxCella, 0) AS IdxCella,
ISNULL(Celle.X, 0) AS X, ISNULL(Celle.Y, 0) AS Y, ISNULL(Celle.Z, 0) AS Z
FROM Celle INNER JOIN
PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND
Celle.IdxCella = PosizioneUdcCorrente.IdxCella INNER JOIN
Blocchi ON Celle.IdxBlocco = Blocchi.IdxBlocco INNER JOIN
AnagMag ON Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND
Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS INNER JOIN
ElencoCartellini ON PosizioneUdcCorrente.UDC = ElencoCartellini.UDC LEFT OUTER JOIN
AnagStatiProdotto ON ElencoCartellini.CodStato = AnagStatiProdotto.CodStato AND ElencoCartellini.CodStato = AnagStatiProdotto.CodStato
WHERE (Celle.IdxBlocco = @IdxBlocco) AND ElencoCartellini.IdxPosizione = @CodMagLog
RETURN
go
commit
go
set xact_abort on
go
begin transaction
go
set ANSI_NULLS on
go
/***************************************
* STORED stp_paretoDettMagByParticolare
*
* restituisce elenco giacenze a magazzino in logica pareto (quantità) per un dato particolare
*
* Steamware, S.E.L.
* mod: 2010.06.04
*
****************************************/
alter PROCEDURE stp_paretoDettMagByParticolare
(
@CodCS VARCHAR(2),
@Particolare VARCHAR(20)
)
AS
SELECT TOP (100) PERCENT AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, ElencoCartellini.Particolare,
ElencoCartellini.Esponente, COUNT(PosizioneUdcCorrente.UDC) AS NumUDC, ISNULL(MIN(PosizioneUdcCorrente.DataRif),
GETDATE()) AS Oldest, ISNULL(MAX(PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest, SUM(ElencoCartellini.Qta) AS QtaTotPz,
AnagStatiProdotto.DescStato, ElencoCartellini.IdxPosizione AS CodMagLog
FROM AnagMag INNER JOIN
Blocchi ON AnagMag.CodMag = Blocchi.CodMag AND AnagMag.CodCS = Blocchi.CodCS INNER JOIN
Celle INNER JOIN
ElencoCartellini INNER JOIN
PosizioneUdcCorrente ON ElencoCartellini.UDC = PosizioneUdcCorrente.UDC ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella ON
Blocchi.IdxBlocco = Celle.IdxBlocco INNER JOIN
AnagStatiProdotto ON ElencoCartellini.CodStato = AnagStatiProdotto.CodStato
WHERE (Celle.Attiva = 1) AND (AnagMag.CodCS = @CodCS) AND (ElencoCartellini.Particolare = @Particolare)
GROUP BY AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.NumX, Blocchi.NumY, Blocchi.NumZ,
ElencoCartellini.Particolare, ElencoCartellini.Esponente, ElencoCartellini.IdxPosizione, AnagStatiProdotto.DescStato
ORDER BY QtaTotPz DESC
RETURN
go
commit
go
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.