Aggiunta metodi x avvio PODL passati

This commit is contained in:
Samuele Locatelli
2023-03-24 18:20:46 +01:00
parent 4cf98efc21
commit f88ccf4bfa
6 changed files with 289 additions and 131 deletions
+16 -14
View File
@@ -121,13 +121,13 @@ namespace MP_IO.Controllers
public bool closeODL(string id, int idxOdl)
{
bool answ = false;
// init obj DataLayer
DataLayer DataLayerObj = new DataLayer();
try
{
// chiamata diretta sul DB...
DataLayerObj.taODL.forceClose(idxOdl, id);
DateTime dtEvento = DateTime.Now;
DataLayerObj.taODL.forceClose(idxOdl, id, dtEvento);
answ = true;
}
catch
@@ -136,7 +136,7 @@ namespace MP_IO.Controllers
}
/// <summary>
/// Chiude PODL --&gt; ODL x macchina:
/// Chiude PODL --> ODL x macchina:
///
/// GET: IOB/closePODL/SIMUL_03?idxPOdl=123
/// </summary>
@@ -146,7 +146,6 @@ namespace MP_IO.Controllers
public bool closePODL(string id, int idxPOdl)
{
bool answ = false;
// init obj DataLayer
DataLayer DataLayerObj = new DataLayer();
try
@@ -158,8 +157,8 @@ namespace MP_IO.Controllers
{
int idxOdl = tabPodl[0].IdxODL;
// chiamata diretta sul DB...
DataLayerObj.taODL.forceClose(idxOdl, id);
answ = true;
DateTime dtEvento = DateTime.Now;
DataLayerObj.taODL.forceClose(idxOdl, id, dtEvento);
}
}
catch
@@ -567,22 +566,25 @@ namespace MP_IO.Controllers
/// <summary>
/// Avvia PODL indicato
/// - se esistesse un ODL da altro PODL --&gt; chiude
/// - se fosse già in essere ODL collegato --&gt; lascia aperto
/// - se fosse chiuso ODL collegato --&gt; duplica PODL e poi avvia nuovo ODL.
/// - se esistesse un ODL da altro PODL --> chiude
/// - se fosse già in essere ODL collegato --> lascia aperto
/// - se fosse chiuso ODL collegato --> duplica PODL e poi avvia nuovo ODL.
///
/// GET: IOB/forceStartPOdl/SIMUL_03?idxPODL=123
/// GET: IOB/forceStartPOdl/SIMUL_03?idxPODL=123&dtEve=20230323151100000&dtCurr=20230323221100000
/// </summary>
/// <param name="id"></param>
/// <param name="idxPODL">idx del PDL da avviare</param>
/// <param name="dtEve">data-ora di avvio (opzionale)</param>
/// <param name="dtCurr">data-ora attuale (opzionale)</param>
/// <returns>Esito chiamata (OK/vuoto)</returns>
public string forceStartPOdl(string id, int idxPODL)
public string forceStartPOdl(string id, int idxPODL, string dtEve = "", string dtCurr = "")
{
// attenzione! poiché nell'URL il carattere "#" viene filtrato ci aspettiamo il
// carattere "|" che poi trasformiamo ora in "#"
id = id.Replace("|", "#");
DataLayer DataLayerObj = new DataLayer();
return DataLayerObj.ForceStartPOdl(id, idxPODL, true);
string answ = DataLayerObj.ForceStartPOdl(id, idxPODL, true, dtEve, dtCurr);
return answ;
}
/// <summary>
@@ -979,7 +981,7 @@ namespace MP_IO.Controllers
///
/// GET: IOB/getLastDossArt/cod_articolo
/// </summary>
/// <param name="id">codice articolo, se vuoto --&gt; non fa nulla</param>
/// <param name="id">codice articolo, se vuoto --> non fa nulla</param>
/// <returns>Json contenente lista oggetti DOSSIER serializzati</returns>
public string getLastDossArt(string id)
{
@@ -1014,7 +1016,7 @@ namespace MP_IO.Controllers
///
/// GET: IOB/getLastDossArt/cod_articolo
/// </summary>
/// <param name="id">codice articolo, se vuoto --&gt; non fa nulla</param>
/// <param name="id">codice articolo, se vuoto --> non fa nulla</param>
/// <returns>Json contenente lista oggetti DOSSIER serializzati</returns>
public string getLastDossByMacc(string id)
{
+2 -1
View File
@@ -1181,7 +1181,8 @@ namespace MoonProTablet.WebUserControls
if (enableRPO)
{
// creo nuovo ODL da promessa ed associo
DataLayerObj.taODL.inizioSetupPromessa(idxODLSel, DataLayerObj.MatrOpr, idxMacchinaFix, TCRichAttr, PzPallet, txtNote.Text);
DateTime adesso = DateTime.Now;
DataLayerObj.taODL.inizioSetupPromessa(idxODLSel, DataLayerObj.MatrOpr, idxMacchinaFix, TCRichAttr, PzPallet, txtNote.Text, adesso);
// salvo ODL attrezzato
idxODL_curr = DataLayerObj.taODL.getByMacchina(idxMacchinaFix)[0].IdxODL;
}
+50 -30
View File
@@ -357,6 +357,7 @@ FROM v_ODL_exp ORDER BY IdxODL DESC</CommandText>
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@idxODL" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="nvarchar" DbType="String" Direction="Input" ParameterName="@IdxMacchina" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="datetime" DbType="DateTime" Direction="Input" ParameterName="@dtEvento" Precision="23" ProviderType="DateTime" Scale="3" Size="8" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
@@ -494,6 +495,7 @@ FROM v_ODL_exp ORDER BY IdxODL DESC</CommandText>
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="decimal" DbType="Decimal" Direction="Input" ParameterName="@TCRichAttr" Precision="18" ProviderType="Decimal" Scale="8" Size="9" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PzPallet" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="nvarchar" DbType="String" Direction="Input" ParameterName="@Note" Precision="0" ProviderType="NVarChar" Scale="0" Size="2500" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="datetime" DbType="DateTime" Direction="Input" ParameterName="@dtEvento" Precision="23" ProviderType="DateTime" Scale="3" Size="8" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
@@ -2294,8 +2296,8 @@ FROM dbo.v_RegistroScarti</CommandText>
<DbSource ConnectionRef="MoonProConnectionString (Settings)" DbObjectName="MoonPro.dbo.v_PODL_exp" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="false" UserGetMethodName="GetData" UserSourceName="Fill">
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT *
FROM v_PODL_exp
<CommandText>SELECT *
FROM v_PODL_exp
ORDER BY idxPromessa DESC</CommandText>
<Parameters />
</DbCommand>
@@ -2320,6 +2322,9 @@ ORDER BY idxPromessa DESC</CommandText>
<Mapping SourceColumn="Priorita" DataSetColumn="Priorita" />
<Mapping SourceColumn="PzPallet" DataSetColumn="PzPallet" />
<Mapping SourceColumn="Note" DataSetColumn="Note" />
<Mapping SourceColumn="CodCli" DataSetColumn="CodCli" />
<Mapping SourceColumn="InsertDate" DataSetColumn="InsertDate" />
<Mapping SourceColumn="Recipe" DataSetColumn="Recipe" />
</Mappings>
<Sources>
<DbSource ConnectionRef="MoonProConnectionString (Settings)" DbObjectName="MoonPro.dbo.stp_PODL_deleteQuery" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="deleteQuery" Modifier="Public" Name="deleteQuery" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy" UserSourceName="deleteQuery">
@@ -3052,82 +3057,82 @@ SELECT IdxMacchina, IdxMacchinaSlave FROM Macchine2Slave WHERE (IdxMacchina = @I
<xs:element name="MappaStatoExpl" msprop:Generator_RowEvHandlerName="MappaStatoExplRowChangeEventHandler" msprop:Generator_RowDeletedName="MappaStatoExplRowDeleted" msprop:Generator_RowDeletingName="MappaStatoExplRowDeleting" msprop:Generator_RowEvArgName="MappaStatoExplRowChangeEvent" msprop:Generator_TablePropName="MappaStatoExpl" msprop:Generator_RowChangedName="MappaStatoExplRowChanged" msprop:Generator_UserTableName="MappaStatoExpl" msprop:Generator_RowChangingName="MappaStatoExplRowChanging" msprop:Generator_RowClassName="MappaStatoExplRow" msprop:Generator_TableClassName="MappaStatoExplDataTable" msprop:Generator_TableVarName="tableMappaStatoExpl">
<xs:complexType>
<xs:sequence>
<xs:element name="RowNum" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInRow="RowNum" msprop:Generator_ColumnPropNameInTable="RowNumColumn" msprop:Generator_ColumnVarNameInTable="columnRowNum" msprop:Generator_UserColumnName="RowNum" type="xs:int" />
<xs:element name="lastUpdate" msprop:Generator_ColumnPropNameInRow="lastUpdate" msprop:Generator_ColumnPropNameInTable="lastUpdateColumn" msprop:Generator_ColumnVarNameInTable="columnlastUpdate" msprop:Generator_UserColumnName="lastUpdate" type="xs:dateTime" minOccurs="0" />
<xs:element name="IdxMacchina" msprop:Generator_ColumnPropNameInRow="IdxMacchina" msprop:Generator_ColumnPropNameInTable="IdxMacchinaColumn" msprop:Generator_ColumnVarNameInTable="columnIdxMacchina" msprop:Generator_UserColumnName="IdxMacchina" minOccurs="0">
<xs:element name="RowNum" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_UserColumnName="RowNum" msprop:Generator_ColumnPropNameInTable="RowNumColumn" msprop:Generator_ColumnPropNameInRow="RowNum" msprop:Generator_ColumnVarNameInTable="columnRowNum" type="xs:int" />
<xs:element name="lastUpdate" msprop:Generator_UserColumnName="lastUpdate" msprop:Generator_ColumnPropNameInTable="lastUpdateColumn" msprop:Generator_ColumnPropNameInRow="lastUpdate" msprop:Generator_ColumnVarNameInTable="columnlastUpdate" type="xs:dateTime" minOccurs="0" />
<xs:element name="IdxMacchina" msprop:Generator_UserColumnName="IdxMacchina" msprop:Generator_ColumnPropNameInTable="IdxMacchinaColumn" msprop:Generator_ColumnPropNameInRow="IdxMacchina" msprop:Generator_ColumnVarNameInTable="columnIdxMacchina" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CodMacchina" msprop:Generator_ColumnPropNameInRow="CodMacchina" msprop:Generator_ColumnPropNameInTable="CodMacchinaColumn" msprop:Generator_ColumnVarNameInTable="columnCodMacchina" msprop:Generator_UserColumnName="CodMacchina" minOccurs="0">
<xs:element name="CodMacchina" msprop:Generator_UserColumnName="CodMacchina" msprop:Generator_ColumnPropNameInTable="CodMacchinaColumn" msprop:Generator_ColumnPropNameInRow="CodMacchina" msprop:Generator_ColumnVarNameInTable="columnCodMacchina" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Nome" msprop:Generator_ColumnPropNameInRow="Nome" msprop:Generator_ColumnPropNameInTable="NomeColumn" msprop:Generator_ColumnVarNameInTable="columnNome" msprop:Generator_UserColumnName="Nome" minOccurs="0">
<xs:element name="Nome" msprop:Generator_UserColumnName="Nome" msprop:Generator_ColumnPropNameInTable="NomeColumn" msprop:Generator_ColumnPropNameInRow="Nome" msprop:Generator_ColumnVarNameInTable="columnNome" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="url" msprop:Generator_ColumnPropNameInRow="url" msprop:Generator_ColumnPropNameInTable="urlColumn" msprop:Generator_ColumnVarNameInTable="columnurl" msprop:Generator_UserColumnName="url" minOccurs="0">
<xs:element name="url" msprop:Generator_UserColumnName="url" msprop:Generator_ColumnPropNameInTable="urlColumn" msprop:Generator_ColumnPropNameInRow="url" msprop:Generator_ColumnVarNameInTable="columnurl" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="250" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="idxODL" msprop:Generator_ColumnPropNameInRow="idxODL" msprop:Generator_ColumnPropNameInTable="idxODLColumn" msprop:Generator_ColumnVarNameInTable="columnidxODL" msprop:Generator_UserColumnName="idxODL" type="xs:int" default="0" minOccurs="0" />
<xs:element name="idxPODL" msprop:Generator_ColumnPropNameInRow="idxPODL" msprop:Generator_ColumnPropNameInTable="idxPODLColumn" msprop:Generator_ColumnVarNameInTable="columnidxPODL" msprop:Generator_UserColumnName="idxPODL" type="xs:int" default="0" minOccurs="0" />
<xs:element name="CodArticolo" msprop:Generator_ColumnPropNameInRow="CodArticolo" msprop:Generator_ColumnPropNameInTable="CodArticoloColumn" msprop:Generator_ColumnVarNameInTable="columnCodArticolo" msprop:Generator_UserColumnName="CodArticolo" minOccurs="0">
<xs:element name="idxODL" msprop:Generator_UserColumnName="idxODL" msprop:Generator_ColumnPropNameInTable="idxODLColumn" msprop:Generator_ColumnPropNameInRow="idxODL" msprop:Generator_ColumnVarNameInTable="columnidxODL" type="xs:int" default="0" minOccurs="0" />
<xs:element name="idxPODL" msprop:Generator_UserColumnName="idxPODL" msprop:Generator_ColumnPropNameInTable="idxPODLColumn" msprop:Generator_ColumnPropNameInRow="idxPODL" msprop:Generator_ColumnVarNameInTable="columnidxPODL" type="xs:int" default="0" minOccurs="0" />
<xs:element name="CodArticolo" msprop:Generator_UserColumnName="CodArticolo" msprop:Generator_ColumnPropNameInTable="CodArticoloColumn" msprop:Generator_ColumnPropNameInRow="CodArticolo" msprop:Generator_ColumnVarNameInTable="columnCodArticolo" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Disegno" msprop:Generator_ColumnPropNameInRow="Disegno" msprop:Generator_ColumnPropNameInTable="DisegnoColumn" msprop:Generator_ColumnVarNameInTable="columnDisegno" msprop:Generator_UserColumnName="Disegno" minOccurs="0">
<xs:element name="Disegno" msprop:Generator_UserColumnName="Disegno" msprop:Generator_ColumnPropNameInTable="DisegnoColumn" msprop:Generator_ColumnPropNameInRow="Disegno" msprop:Generator_ColumnVarNameInTable="columnDisegno" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NumPezzi" msprop:Generator_ColumnPropNameInRow="NumPezzi" msprop:Generator_ColumnPropNameInTable="NumPezziColumn" msprop:Generator_ColumnVarNameInTable="columnNumPezzi" msprop:Generator_UserColumnName="NumPezzi" type="xs:int" minOccurs="0" />
<xs:element name="TCAssegnato" msprop:Generator_ColumnPropNameInRow="TCAssegnato" msprop:Generator_ColumnPropNameInTable="TCAssegnatoColumn" msprop:Generator_ColumnVarNameInTable="columnTCAssegnato" msprop:Generator_UserColumnName="TCAssegnato" type="xs:decimal" minOccurs="0" />
<xs:element name="DataInizioODL" msprop:Generator_ColumnPropNameInRow="DataInizioODL" msprop:Generator_ColumnPropNameInTable="DataInizioODLColumn" msprop:Generator_ColumnVarNameInTable="columnDataInizioODL" msprop:Generator_UserColumnName="DataInizioODL" type="xs:dateTime" minOccurs="0" />
<xs:element name="Semaforo" msprop:Generator_ColumnPropNameInRow="Semaforo" msprop:Generator_ColumnPropNameInTable="SemaforoColumn" msprop:Generator_ColumnVarNameInTable="columnSemaforo" msprop:Generator_UserColumnName="Semaforo" minOccurs="0">
<xs:element name="NumPezzi" msprop:Generator_UserColumnName="NumPezzi" msprop:Generator_ColumnPropNameInTable="NumPezziColumn" msprop:Generator_ColumnPropNameInRow="NumPezzi" msprop:Generator_ColumnVarNameInTable="columnNumPezzi" type="xs:int" minOccurs="0" />
<xs:element name="TCAssegnato" msprop:Generator_UserColumnName="TCAssegnato" msprop:Generator_ColumnPropNameInTable="TCAssegnatoColumn" msprop:Generator_ColumnPropNameInRow="TCAssegnato" msprop:Generator_ColumnVarNameInTable="columnTCAssegnato" type="xs:decimal" minOccurs="0" />
<xs:element name="DataInizioODL" msprop:Generator_UserColumnName="DataInizioODL" msprop:Generator_ColumnPropNameInTable="DataInizioODLColumn" msprop:Generator_ColumnPropNameInRow="DataInizioODL" msprop:Generator_ColumnVarNameInTable="columnDataInizioODL" type="xs:dateTime" minOccurs="0" />
<xs:element name="Semaforo" msprop:Generator_UserColumnName="Semaforo" msprop:Generator_ColumnPropNameInTable="SemaforoColumn" msprop:Generator_ColumnPropNameInRow="Semaforo" msprop:Generator_ColumnVarNameInTable="columnSemaforo" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="idxStato" msprop:Generator_ColumnPropNameInRow="idxStato" msprop:Generator_ColumnPropNameInTable="idxStatoColumn" msprop:Generator_ColumnVarNameInTable="columnidxStato" msprop:Generator_UserColumnName="idxStato" type="xs:int" minOccurs="0" />
<xs:element name="DescrizioneStato" msprop:Generator_ColumnPropNameInRow="DescrizioneStato" msprop:Generator_ColumnPropNameInTable="DescrizioneStatoColumn" msprop:Generator_ColumnVarNameInTable="columnDescrizioneStato" msprop:Generator_UserColumnName="DescrizioneStato" minOccurs="0">
<xs:element name="idxStato" msprop:Generator_UserColumnName="idxStato" msprop:Generator_ColumnPropNameInTable="idxStatoColumn" msprop:Generator_ColumnPropNameInRow="idxStato" msprop:Generator_ColumnVarNameInTable="columnidxStato" type="xs:int" minOccurs="0" />
<xs:element name="DescrizioneStato" msprop:Generator_UserColumnName="DescrizioneStato" msprop:Generator_ColumnPropNameInTable="DescrizioneStatoColumn" msprop:Generator_ColumnPropNameInRow="DescrizioneStato" msprop:Generator_ColumnVarNameInTable="columnDescrizioneStato" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="durata" msprop:Generator_ColumnPropNameInRow="durata" msprop:Generator_ColumnPropNameInTable="durataColumn" msprop:Generator_ColumnVarNameInTable="columndurata" msprop:Generator_UserColumnName="durata" type="xs:double" minOccurs="0" />
<xs:element name="PezziProd" msprop:Generator_ColumnPropNameInRow="PezziProd" msprop:Generator_ColumnPropNameInTable="PezziProdColumn" msprop:Generator_ColumnVarNameInTable="columnPezziProd" msprop:Generator_UserColumnName="PezziProd" type="xs:int" minOccurs="0" />
<xs:element name="PezziConf" msprop:Generator_ColumnPropNameInRow="PezziConf" msprop:Generator_ColumnPropNameInTable="PezziConfColumn" msprop:Generator_ColumnVarNameInTable="columnPezziConf" msprop:Generator_UserColumnName="PezziConf" type="xs:int" minOccurs="0" />
<xs:element name="TempoOn" msprop:Generator_ColumnPropNameInRow="TempoOn" msprop:Generator_ColumnPropNameInTable="TempoOnColumn" msprop:Generator_ColumnVarNameInTable="columnTempoOn" msprop:Generator_UserColumnName="TempoOn" type="xs:decimal" minOccurs="0" />
<xs:element name="TempoAuto" msprop:Generator_ColumnPropNameInRow="TempoAuto" msprop:Generator_ColumnPropNameInTable="TempoAutoColumn" msprop:Generator_ColumnVarNameInTable="columnTempoAuto" msprop:Generator_UserColumnName="TempoAuto" type="xs:decimal" minOccurs="0" />
<xs:element name="TempoRun" msprop:Generator_ColumnPropNameInRow="TempoRun" msprop:Generator_ColumnPropNameInTable="TempoRunColumn" msprop:Generator_ColumnVarNameInTable="columnTempoRun" msprop:Generator_UserColumnName="TempoRun" type="xs:decimal" minOccurs="0" />
<xs:element name="TCMedio" msprop:Generator_ColumnPropNameInRow="TCMedio" msprop:Generator_ColumnPropNameInTable="TCMedioColumn" msprop:Generator_ColumnVarNameInTable="columnTCMedio" msprop:Generator_UserColumnName="TCMedio" type="xs:decimal" minOccurs="0" />
<xs:element name="TCLav" msprop:Generator_ColumnPropNameInRow="TCLav" msprop:Generator_ColumnPropNameInTable="TCLavColumn" msprop:Generator_ColumnVarNameInTable="columnTCLav" msprop:Generator_UserColumnName="TCLav" type="xs:decimal" minOccurs="0" />
<xs:element name="TCEff" msprop:Generator_ColumnPropNameInRow="TCEff" msprop:Generator_ColumnPropNameInTable="TCEffColumn" msprop:Generator_ColumnVarNameInTable="columnTCEff" msprop:Generator_UserColumnName="TCEff" type="xs:decimal" minOccurs="0" />
<xs:element name="TCMedioRT" msprop:Generator_ColumnPropNameInRow="TCMedioRT" msprop:Generator_ColumnPropNameInTable="TCMedioRTColumn" msprop:Generator_ColumnVarNameInTable="columnTCMedioRT" msprop:Generator_UserColumnName="TCMedioRT" type="xs:decimal" minOccurs="0" />
<xs:element name="TCLavRT" msprop:Generator_ColumnPropNameInRow="TCLavRT" msprop:Generator_ColumnPropNameInTable="TCLavRTColumn" msprop:Generator_ColumnVarNameInTable="columnTCLavRT" msprop:Generator_UserColumnName="TCLavRT" type="xs:decimal" minOccurs="0" />
<xs:element name="TCEffRT" msprop:Generator_ColumnPropNameInRow="TCEffRT" msprop:Generator_ColumnPropNameInTable="TCEffRTColumn" msprop:Generator_ColumnVarNameInTable="columnTCEffRT" msprop:Generator_UserColumnName="TCEffRT" type="xs:decimal" minOccurs="0" />
<xs:element name="durata" msprop:Generator_UserColumnName="durata" msprop:Generator_ColumnPropNameInTable="durataColumn" msprop:Generator_ColumnPropNameInRow="durata" msprop:Generator_ColumnVarNameInTable="columndurata" type="xs:double" minOccurs="0" />
<xs:element name="PezziProd" msprop:Generator_UserColumnName="PezziProd" msprop:Generator_ColumnPropNameInTable="PezziProdColumn" msprop:Generator_ColumnPropNameInRow="PezziProd" msprop:Generator_ColumnVarNameInTable="columnPezziProd" type="xs:int" minOccurs="0" />
<xs:element name="PezziConf" msprop:Generator_UserColumnName="PezziConf" msprop:Generator_ColumnPropNameInTable="PezziConfColumn" msprop:Generator_ColumnPropNameInRow="PezziConf" msprop:Generator_ColumnVarNameInTable="columnPezziConf" type="xs:int" minOccurs="0" />
<xs:element name="TempoOn" msprop:Generator_UserColumnName="TempoOn" msprop:Generator_ColumnPropNameInTable="TempoOnColumn" msprop:Generator_ColumnPropNameInRow="TempoOn" msprop:Generator_ColumnVarNameInTable="columnTempoOn" type="xs:decimal" minOccurs="0" />
<xs:element name="TempoAuto" msprop:Generator_UserColumnName="TempoAuto" msprop:Generator_ColumnPropNameInTable="TempoAutoColumn" msprop:Generator_ColumnPropNameInRow="TempoAuto" msprop:Generator_ColumnVarNameInTable="columnTempoAuto" type="xs:decimal" minOccurs="0" />
<xs:element name="TempoRun" msprop:Generator_UserColumnName="TempoRun" msprop:Generator_ColumnPropNameInTable="TempoRunColumn" msprop:Generator_ColumnPropNameInRow="TempoRun" msprop:Generator_ColumnVarNameInTable="columnTempoRun" type="xs:decimal" minOccurs="0" />
<xs:element name="TCMedio" msprop:Generator_UserColumnName="TCMedio" msprop:Generator_ColumnPropNameInTable="TCMedioColumn" msprop:Generator_ColumnPropNameInRow="TCMedio" msprop:Generator_ColumnVarNameInTable="columnTCMedio" type="xs:decimal" minOccurs="0" />
<xs:element name="TCLav" msprop:Generator_UserColumnName="TCLav" msprop:Generator_ColumnPropNameInTable="TCLavColumn" msprop:Generator_ColumnPropNameInRow="TCLav" msprop:Generator_ColumnVarNameInTable="columnTCLav" type="xs:decimal" minOccurs="0" />
<xs:element name="TCEff" msprop:Generator_UserColumnName="TCEff" msprop:Generator_ColumnPropNameInTable="TCEffColumn" msprop:Generator_ColumnPropNameInRow="TCEff" msprop:Generator_ColumnVarNameInTable="columnTCEff" type="xs:decimal" minOccurs="0" />
<xs:element name="TCMedioRT" msprop:Generator_UserColumnName="TCMedioRT" msprop:Generator_ColumnPropNameInTable="TCMedioRTColumn" msprop:Generator_ColumnPropNameInRow="TCMedioRT" msprop:Generator_ColumnVarNameInTable="columnTCMedioRT" type="xs:decimal" minOccurs="0" />
<xs:element name="TCLavRT" msprop:Generator_UserColumnName="TCLavRT" msprop:Generator_ColumnPropNameInTable="TCLavRTColumn" msprop:Generator_ColumnPropNameInRow="TCLavRT" msprop:Generator_ColumnVarNameInTable="columnTCLavRT" type="xs:decimal" minOccurs="0" />
<xs:element name="TCEffRT" msprop:Generator_UserColumnName="TCEffRT" msprop:Generator_ColumnPropNameInTable="TCEffRTColumn" msprop:Generator_ColumnPropNameInRow="TCEffRT" msprop:Generator_ColumnVarNameInTable="columnTCEffRT" type="xs:decimal" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -3385,6 +3390,21 @@ SELECT IdxMacchina, IdxMacchinaSlave FROM Macchine2Slave WHERE (IdxMacchina = @I
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CodCli" msprop:Generator_ColumnPropNameInRow="CodCli" msprop:Generator_ColumnPropNameInTable="CodCliColumn" msprop:Generator_ColumnVarNameInTable="columnCodCli" msprop:Generator_UserColumnName="CodCli">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="InsertDate" msprop:Generator_ColumnPropNameInRow="InsertDate" msprop:Generator_ColumnPropNameInTable="InsertDateColumn" msprop:Generator_ColumnVarNameInTable="columnInsertDate" msprop:Generator_UserColumnName="InsertDate" type="xs:dateTime" />
<xs:element name="Recipe" msprop:Generator_ColumnPropNameInRow="Recipe" msprop:Generator_ColumnPropNameInTable="RecipeColumn" msprop:Generator_ColumnVarNameInTable="columnRecipe" msprop:Generator_UserColumnName="Recipe">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="500" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
+5 -5
View File
@@ -4,23 +4,23 @@
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="938" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="29" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:TempiCicloRilevati" ZOrder="15" X="20" Y="81" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:ODL" ZOrder="2" X="588" Y="452" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:AnagArticoli" ZOrder="1" X="20" Y="388" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:ODL" ZOrder="1" X="588" Y="452" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:AnagArticoli" ZOrder="2" X="20" Y="388" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:DatiMacchine" ZOrder="21" X="949" Y="353" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:PostazioniMapo" ZOrder="24" X="950" Y="39" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:stp_PzProd_getByMacchina" ZOrder="8" X="23" Y="754" Height="229" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:DatiConfermati" ZOrder="23" X="585" Y="50" Height="343" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:CalendFesteFerie" ZOrder="13" X="346" Y="364" Height="115" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:stp_TempoByIdxMaccPeriodClass" ZOrder="5" X="31" Y="999" Height="97" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="46" SplitterPosition="46" />
<Shape ID="DesignTable:stp_TempoByIdxMaccPeriodClass" ZOrder="5" X="31" Y="991" Height="97" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="46" SplitterPosition="46" />
<Shape ID="DesignTable:DatiProduzione" ZOrder="20" X="554" Y="922" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:stp_repDonati_getDatiProdMacchina" ZOrder="11" X="949" Y="688" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:stp_repDonati_getLastStatoDurataMacchina" ZOrder="22" X="957" Y="1072" Height="115" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:stp_repDonati_getDatiProdMacchinaPeriodo" ZOrder="12" X="26" Y="1152" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:TurniMacchina" ZOrder="16" X="363" Y="94" Height="191" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:MappaStatoExpl" ZOrder="10" X="950" Y="1208" Height="493" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="368" />
<Shape ID="DesignTable:MappaStatoExpl" ZOrder="10" X="950" Y="1208" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:ResProdDett_splitODL" ZOrder="7" X="940" Y="2192" Height="191" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:ResProdDett_splitGG" ZOrder="17" X="27" Y="2218" Height="210" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:ResProdTot" ZOrder="18" X="544" Y="2122" Height="229" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
+105 -5
View File
@@ -8874,6 +8874,12 @@ namespace MapoDb {
private global::System.Data.DataColumn columnNote;
private global::System.Data.DataColumn columnCodCli;
private global::System.Data.DataColumn columnInsertDate;
private global::System.Data.DataColumn columnRecipe;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public PromesseODLDataTable() {
@@ -9043,6 +9049,30 @@ namespace MapoDb {
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public global::System.Data.DataColumn CodCliColumn {
get {
return this.columnCodCli;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public global::System.Data.DataColumn InsertDateColumn {
get {
return this.columnInsertDate;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public global::System.Data.DataColumn RecipeColumn {
get {
return this.columnRecipe;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
[global::System.ComponentModel.Browsable(false)]
@@ -9096,7 +9126,10 @@ namespace MapoDb {
System.DateTime DueDate,
int Priorita,
int PzPallet,
string Note) {
string Note,
string CodCli,
System.DateTime InsertDate,
string Recipe) {
PromesseODLRow rowPromesseODLRow = ((PromesseODLRow)(this.NewRow()));
object[] columnValuesArray = new object[] {
null,
@@ -9115,7 +9148,10 @@ namespace MapoDb {
DueDate,
Priorita,
PzPallet,
Note};
Note,
CodCli,
InsertDate,
Recipe};
rowPromesseODLRow.ItemArray = columnValuesArray;
this.Rows.Add(rowPromesseODLRow);
return rowPromesseODLRow;
@@ -9162,6 +9198,9 @@ namespace MapoDb {
this.columnPriorita = base.Columns["Priorita"];
this.columnPzPallet = base.Columns["PzPallet"];
this.columnNote = base.Columns["Note"];
this.columnCodCli = base.Columns["CodCli"];
this.columnInsertDate = base.Columns["InsertDate"];
this.columnRecipe = base.Columns["Recipe"];
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -9201,6 +9240,12 @@ namespace MapoDb {
base.Columns.Add(this.columnPzPallet);
this.columnNote = new global::System.Data.DataColumn("Note", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnNote);
this.columnCodCli = new global::System.Data.DataColumn("CodCli", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnCodCli);
this.columnInsertDate = new global::System.Data.DataColumn("InsertDate", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnInsertDate);
this.columnRecipe = new global::System.Data.DataColumn("Recipe", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnRecipe);
this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
this.columnidxPromessa}, true));
this.columnidxPromessa.AutoIncrement = true;
@@ -9233,6 +9278,11 @@ namespace MapoDb {
this.columnPzPallet.AllowDBNull = false;
this.columnNote.AllowDBNull = false;
this.columnNote.MaxLength = 2500;
this.columnCodCli.AllowDBNull = false;
this.columnCodCli.MaxLength = 50;
this.columnInsertDate.AllowDBNull = false;
this.columnRecipe.AllowDBNull = false;
this.columnRecipe.MaxLength = 500;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -15282,6 +15332,39 @@ namespace MapoDb {
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public string CodCli {
get {
return ((string)(this[this.tablePromesseODL.CodCliColumn]));
}
set {
this[this.tablePromesseODL.CodCliColumn] = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public System.DateTime InsertDate {
get {
return ((global::System.DateTime)(this[this.tablePromesseODL.InsertDateColumn]));
}
set {
this[this.tablePromesseODL.InsertDateColumn] = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public string Recipe {
get {
return ((string)(this[this.tablePromesseODL.RecipeColumn]));
}
set {
this[this.tablePromesseODL.RecipeColumn] = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public bool IsDescArticoloNull() {
@@ -17660,6 +17743,7 @@ SELECT IdxMacchina, CodArticolo, DataOraRif, TCMedio, PzProd FROM TempiCicloRile
this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@idxODL", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IdxMacchina", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@dtEvento", global::System.Data.SqlDbType.DateTime, 8, global::System.Data.ParameterDirection.Input, 23, 3, null, global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
this._commandCollection[10] = new global::System.Data.SqlClient.SqlCommand();
this._commandCollection[10].Connection = this.Connection;
this._commandCollection[10].CommandText = "dbo.stp_ODL_getByCodArt";
@@ -17742,6 +17826,7 @@ SELECT IdxMacchina, CodArticolo, DataOraRif, TCMedio, PzProd FROM TempiCicloRile
this._commandCollection[20].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@TCRichAttr", global::System.Data.SqlDbType.Decimal, 9, global::System.Data.ParameterDirection.Input, 18, 8, null, global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
this._commandCollection[20].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@PzPallet", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
this._commandCollection[20].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Note", global::System.Data.SqlDbType.NVarChar, 2500, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
this._commandCollection[20].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@dtEvento", global::System.Data.SqlDbType.DateTime, 8, global::System.Data.ParameterDirection.Input, 23, 3, null, global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
this._commandCollection[21] = new global::System.Data.SqlClient.SqlCommand();
this._commandCollection[21].Connection = this.Connection;
this._commandCollection[21].CommandText = "dbo.stp_ODL_inizioSetupPromessaPostuma";
@@ -18413,7 +18498,7 @@ SELECT IdxMacchina, CodArticolo, DataOraRif, TCMedio, PzProd FROM TempiCicloRile
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
[global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
public virtual int forceClose(global::System.Nullable<int> idxODL, string IdxMacchina) {
public virtual int forceClose(global::System.Nullable<int> idxODL, string IdxMacchina, global::System.Nullable<global::System.DateTime> dtEvento) {
global::System.Data.SqlClient.SqlCommand command = this.CommandCollection[9];
if ((idxODL.HasValue == true)) {
command.Parameters[1].Value = ((int)(idxODL.Value));
@@ -18427,6 +18512,12 @@ SELECT IdxMacchina, CodArticolo, DataOraRif, TCMedio, PzProd FROM TempiCicloRile
else {
command.Parameters[2].Value = ((string)(IdxMacchina));
}
if ((dtEvento.HasValue == true)) {
command.Parameters[3].Value = ((System.DateTime)(dtEvento.Value));
}
else {
command.Parameters[3].Value = global::System.DBNull.Value;
}
global::System.Data.ConnectionState previousConnectionState = command.Connection.State;
if (((command.Connection.State & global::System.Data.ConnectionState.Open)
!= global::System.Data.ConnectionState.Open)) {
@@ -18505,7 +18596,7 @@ SELECT IdxMacchina, CodArticolo, DataOraRif, TCMedio, PzProd FROM TempiCicloRile
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
[global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
public virtual int inizioSetupPromessa(global::System.Nullable<int> idxPromessa, global::System.Nullable<int> MatrOpr, string IdxMacchina, global::System.Nullable<decimal> TCRichAttr, global::System.Nullable<int> PzPallet, string Note) {
public virtual int inizioSetupPromessa(global::System.Nullable<int> idxPromessa, global::System.Nullable<int> MatrOpr, string IdxMacchina, global::System.Nullable<decimal> TCRichAttr, global::System.Nullable<int> PzPallet, string Note, global::System.Nullable<global::System.DateTime> dtEvento) {
global::System.Data.SqlClient.SqlCommand command = this.CommandCollection[20];
if ((idxPromessa.HasValue == true)) {
command.Parameters[1].Value = ((int)(idxPromessa.Value));
@@ -18543,6 +18634,12 @@ SELECT IdxMacchina, CodArticolo, DataOraRif, TCMedio, PzProd FROM TempiCicloRile
else {
command.Parameters[6].Value = ((string)(Note));
}
if ((dtEvento.HasValue == true)) {
command.Parameters[7].Value = ((System.DateTime)(dtEvento.Value));
}
else {
command.Parameters[7].Value = global::System.DBNull.Value;
}
global::System.Data.ConnectionState previousConnectionState = command.Connection.State;
if (((command.Connection.State & global::System.Data.ConnectionState.Open)
!= global::System.Data.ConnectionState.Open)) {
@@ -28327,6 +28424,9 @@ SELECT IdxMacchina, T1, T2, T3 FROM TurniMacchina WHERE (IdxMacchina = @IdxMacch
tableMapping.ColumnMappings.Add("Priorita", "Priorita");
tableMapping.ColumnMappings.Add("PzPallet", "PzPallet");
tableMapping.ColumnMappings.Add("Note", "Note");
tableMapping.ColumnMappings.Add("CodCli", "CodCli");
tableMapping.ColumnMappings.Add("InsertDate", "InsertDate");
tableMapping.ColumnMappings.Add("Recipe", "Recipe");
this._adapter.TableMappings.Add(tableMapping);
}
@@ -28343,7 +28443,7 @@ SELECT IdxMacchina, T1, T2, T3 FROM TurniMacchina WHERE (IdxMacchina = @IdxMacch
this._commandCollection = new global::System.Data.SqlClient.SqlCommand[11];
this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
this._commandCollection[0].Connection = this.Connection;
this._commandCollection[0].CommandText = "SELECT *\r\nFROM v_PODL_exp\r\nORDER BY idxPromessa DESC";
this._commandCollection[0].CommandText = "SELECT *\r\nFROM v_PODL_exp\r\nORDER BY idxPromessa DESC";
this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
this._commandCollection[1] = new global::System.Data.SqlClient.SqlCommand();
this._commandCollection[1].Connection = this.Connection;
+111 -76
View File
@@ -1170,7 +1170,7 @@ namespace MapoDb
/// <summary>
/// Effettua conferma prod macchina dell'intero periodo da confermare (ultima conferma
/// --&gt; adesso)
/// --&gt; dtEvent)
/// </summary>
/// <param name="idxMacchina">idx macchina da confermare</param>
/// <param name="modoConfProd">0=periodo, 1 = giorno, 2 = turno</param>
@@ -1197,7 +1197,7 @@ namespace MapoDb
/// <summary>
/// Effettua conferma prod macchina dell'intero periodo da confermare (ultima conferma
/// --&gt; adesso)
/// --&gt; dtEvent)
/// </summary>
/// <param name="idxMacchina">idx macchina da confermare</param>
/// <param name="modoConfProd">0=periodo, 1 = giorno, 2 = turno</param>
@@ -1660,26 +1660,45 @@ namespace MapoDb
return resultList;
}
/// <summary> Effettua force Start PODL [CurrProdStatus = 1] se fosse già in essere ODL
/// <summary>
/// Effettua force Start PODL [CurrProdStatus = 1] se fosse già in essere ODL
/// collegato --> lascia aperto [CurrProdStatus = 2] se esistesse un ODL da altro PODL x
/// diverso articolo/fase --> chiude vecchio x poi far partire nuovo [CurrProdStatus = 3] se
/// fosse chiuso ODL collegato --> duplica PODL e poi avvia nuovo ODL [CurrProdStatus = 4]
/// se fosse già in essere ODL non collegato --> lascia aperto e collego </summary> <param
/// name="idxMacchina">macchina</param> <param name="idxPODL">IDX PODL da processare</param>
/// <param name="doConfirm">effettuare conferma qty</param> STEP x cui arrotondare la
/// quantità prox ODL (corrente come riferimento) </param> <returns></returns>
public string ForceStartPOdl(string idxMacchina, int idxPODL, bool doConfirm)
/// se fosse già in essere ODL non collegato --> lascia aperto e collego
/// </summary>
/// <param name="idxMacchina">macchina</param>
/// <param name="idxPODL">IDX PODL da processare</param>
/// <param name="doConfirm">effettuare conferma qty</param>
/// <param name="dtEve">data-ora di avvio (opzionale)</param>
/// <param name="dtCurr">data-ora attuale (opzionale)</param>
/// <returns></returns>
public string ForceStartPOdl(string idxMacchina, int idxPODL, bool doConfirm, string dtEve = "", string dtCurr = "")
{
string answ = "KO";
int CurrProdStatus = 0;
string sIdxODL = "";
string redKey = vetoForceStartPOdlMaccHash(idxMacchina);
// verifico NON CI SIA un veto altre chiamate (es split...) - 30 sec di default...
string rawData = memLayer.ML.getRSV(redKey);
if (string.IsNullOrEmpty(rawData))
// Verifica se evento realtime oppure ho data specificata x processing @dtEve
DateTime dtEvent = DateTime.Now;
bool rtimeProc = string.IsNullOrEmpty(dtEve);
if (!rtimeProc)
{
dtEvent = getSrvDtEvent(dtEve, dtCurr);
}
// verifico NON CI SIA un veto altre chiamate (es split...) - 30 sec di default...
string redKey = vetoForceStartPOdlMaccHash(idxMacchina);
string rawData = memLayer.ML.getRSV(redKey);
if (!string.IsNullOrEmpty(rawData))
{
logger.lg.scriviLog($"VETO ATTIVO | Richiesto ForceStartPOdl per impianto {idxMacchina} | impossibile procedere");
}
else
{
// determino veto: se realtime 30sec, altrimenti 1 soltanto
int vetoTtl = rtimeProc ? 30 : 1;
// registro VETO x altre chiamate (es split...) 30sec
memLayer.ML.setRSV(redKey, $"Inizio FORCE START PODL: {idxPODL} | {DateTime.Now}", 30);
memLayer.ML.setRSV(redKey, $"Inizio FORCE START PODL: {idxPODL} | realtime: {rtimeProc} | dtEve: {dtEvent}", vetoTtl);
// calcolo la qta da gestire
int qtyConf = 0;
if (doConfirm)
@@ -1779,15 +1798,15 @@ namespace MapoDb
break;
case 2:
// eventuale chiusura vecchio ODL
// eventuale chiusura vecchio ODL, 5 sec prima...
if (currODLData.Count > 0)
{
doCloseCurrODL(idxMacchina, doConfirm, qtyConf, currODLData, DateTime.Now);
doCloseCurrODL(idxMacchina, doConfirm, qtyConf, currODLData, dtEvent.AddSeconds(-2));
}
// avvio PODL: creo nuovo ODL da promessa ed associo
taODL.inizioSetupPromessa(idxPODL, MatrOpr, POdlRow.IdxMacchina, POdlRow.TCAssegnato, POdlRow.PzPallet, POdlRow.Note);
// fix (invio ) dati ODL
Thread.Sleep(1000);
taODL.inizioSetupPromessa(idxPODL, MatrOpr, POdlRow.IdxMacchina, POdlRow.TCAssegnato, POdlRow.PzPallet, POdlRow.Note, dtEvent);
// fix (invio ) dati ODL alla ,acchina tramite IOB
Thread.Sleep(200);
answ = saveOdlData(idxMacchina, currODLData, reqPODLData);
break;
@@ -1796,7 +1815,7 @@ namespace MapoDb
// eventuale chiusura vecchio ODL
if (currODLData.Count > 0)
{
doCloseCurrODL(idxMacchina, doConfirm, qtyConf, currODLData, DateTime.Now);
doCloseCurrODL(idxMacchina, doConfirm, qtyConf, currODLData, dtEvent.AddSeconds(-2));
}
// duplico PODL... inserisco nuovo record...
taPODL.insertQuery(POdlRow.KeyRichiesta, POdlRow.KeyBCode, true, POdlRow.CodArticolo, POdlRow.CodGruppo, POdlRow.IdxMacchina, POdlRow.NumPezzi, POdlRow.TCAssegnato, POdlRow.DueDate, POdlRow.Priorita, POdlRow.PzPallet, POdlRow.Note);
@@ -1806,9 +1825,9 @@ namespace MapoDb
var lastPodl = podlList.Where(x => x.KeyRichiesta == POdlRow.KeyRichiesta && x.IdxMacchina == POdlRow.IdxMacchina).OrderByDescending(x => x.idxPromessa).FirstOrDefault();
int newPODL = lastPodl != null ? lastPodl.idxPromessa : POdlRow.idxPromessa;
// avvio (nuovo) PODL
taODL.inizioSetupPromessa(idxPODL, MatrOpr, POdlRow.IdxMacchina, POdlRow.TCAssegnato, POdlRow.PzPallet, POdlRow.Note);
// fix (invio ) dati ODL
Thread.Sleep(1000);
taODL.inizioSetupPromessa(idxPODL, MatrOpr, POdlRow.IdxMacchina, POdlRow.TCAssegnato, POdlRow.PzPallet, POdlRow.Note, dtEvent);
// fix (invio ) dati ODL alla ,acchina tramite IOB
Thread.Sleep(200);
answ = saveOdlData(idxMacchina, currODLData, reqPODLData);
break;
@@ -1830,10 +1849,7 @@ namespace MapoDb
logger.lg.scriviLog($"Eccezione in ForceStartPOdl{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
}
}
else
{
logger.lg.scriviLog($"VETO ATTIVO | Richiesto ForceStartPOdl per impianto {idxMacchina} | impossibile procedere");
}
return answ;
}
@@ -2373,16 +2389,56 @@ namespace MapoDb
MapoDb connDb = new MapoDb();
// scrivo keep alive!!! (se necessario, altrimenti è in cache...)
connDb.scriviKeepAlive(idxMacchina, DateTime.Now);
// 2017.09.14 trimmo eventualmente lo zero finale dalle date SE supera i millisecondi...
dtEve = dtEve.Length > 17 ? dtEve.Substring(0, 17) : dtEve;
dtCurr = dtCurr.Length > 17 ? dtCurr.Substring(0, 17) : dtCurr;
// registro conteggio impiego chiamate REDIS
if (memLayer.ML.CRB("IOB_RedEnab"))
{
saveCallRec("processFluxLog");
}
string answ = "";
DateTime dataOraEvento = getSrvDtEvent(dtEve, dtCurr);
// inizio processing vero e proprio INPUT...
if (idxMacchina != null && valore != null)
{
if (idxMacchina != "" && valore != "")
{
// 2020.01.31 nuovo OBJ
DataLayer man = new DataLayer();
man.taFL.InsNew(idxMacchina, dataOraEvento, flux, valore, contatore);
// 2022.06.06 salvo su redis il valore ULTIMO del flux x recupero rapido ultimo valore
string key = DataLayer.LiveFLogKeyHash(idxMacchina, flux);
// 10 min cache max...
int ttlFlog = 60 * 10;
memLayer.ML.setRSV(key, valore, ttlFlog);
// registro in risposta che è andato tutto bene...
answ = "OK";
}
else
{
string errore = "processFluxLog | Errore: parametri macchina/valore vuoti";
logger.lg.scriviLog(errore, tipoLog.INFO);
answ = errore;
}
}
else
{
string errore = "processFluxLog | Errore: mancano parametri macchina/valore";
logger.lg.scriviLog(errore, tipoLog.INFO);
answ = errore;
}
return answ;
}
/// <summary>
/// Effettua calcolo data-ora di riferimento per il server a poartire da
/// </summary>
/// <param name="dtEve"></param>
/// <param name="dtCurr"></param>
/// <returns></returns>
private DateTime getSrvDtEvent(string dtEve, string dtCurr)
{
DateTime dataOraEvento = DateTime.Now;
// 2017.09.14 trimmo eventualmente lo zero finale dalle date SE supera i millisecondi...
dtEve = dtEve.Length > 17 ? dtEve.Substring(0, 17) : dtEve;
dtCurr = dtCurr.Length > 17 ? dtCurr.Substring(0, 17) : dtCurr;
DateTime dtEvento, dtCorrente;
// controllo: se ho valori dt x evento e orario DIVERSI per acquisitore IOB calcolo
// dataOraEvento corretto
@@ -2415,39 +2471,14 @@ namespace MapoDb
}
catch (Exception exc)
{
logger.lg.scriviLog(string.Format("processFluxLog | Errore calcolo ms evento/ora corrente da device remoto:{0}dtEve : {1}{0}dtCurr: {2}{0}{3}", Environment.NewLine, dtEve, dtCurr, exc), tipoLog.EXCEPTION);
logger.lg.scriviLog($"getSrvDtEvent | Errore calcolo ms evento/ora corrente da device remoto:{Environment.NewLine}" +
$"dtEve : {dtEve}{Environment.NewLine}" +
$"dtCurr: {dtCurr}{Environment.NewLine}" +
$"{exc}", tipoLog.EXCEPTION);
}
}
// inizio processing vero e proprio INPUT...
if (idxMacchina != null && valore != null)
{
if (idxMacchina != "" && valore != "")
{
// 2020.01.31 nuovo OBJ
DataLayer man = new DataLayer();
man.taFL.InsNew(idxMacchina, dataOraEvento, flux, valore, contatore);
// 2022.06.06 salvo su redis il valore ULTIMO del flux x recupero rapido ultimo valore
string key = DataLayer.LiveFLogKeyHash(idxMacchina, flux);
// 10 min cache max...
int ttlFlog = 60 * 10;
memLayer.ML.setRSV(key, valore, ttlFlog);
// registro in risposta che è andato tutto bene...
answ = "OK";
}
else
{
string errore = "processFluxLog | Errore: parametri macchina/valore vuoti";
logger.lg.scriviLog(errore, tipoLog.INFO);
answ = errore;
}
}
else
{
string errore = "processFluxLog | Errore: mancano parametri macchina/valore";
logger.lg.scriviLog(errore, tipoLog.INFO);
answ = errore;
}
return answ;
return dataOraEvento;
}
/// <summary>
@@ -4387,34 +4418,37 @@ namespace MapoDb
}
}
private bool doCloseCurrODL(string idxMacchina, bool doConfirm, int qtyConf, DS_ProdTempi.ODLDataTable currODLData, DateTime adesso)
private bool doCloseCurrODL(string idxMacchina, bool doConfirm, int qtyConf, DS_ProdTempi.ODLDataTable currODLData, DateTime dtEvento)
{
DateTime adesso = DateTime.Now;
bool fatto = false;
// registro un evento di inizio attrezzaggio (idxTipoEv = 2)
// registro un evento di attrezzaggio (idxTipoEv = 2) PRIMA di chiudere ODL
int idxEvento = 2;
logger.lg.scriviLog($"Invio evento CHIUSURA ODL per macchina {idxMacchina}, evento {idxEvento}, articolo {currODLData[0].CodArticolo}, qty confermata {qtyConf}", tipoLog.INFO);
logger.lg.scriviLog($"Invio evento attrezzaggio x CHIUSURA ODL | idxMacc {idxMacchina} | idxEv {idxEvento} | CodArt {currODLData[0].CodArticolo} | qtyConf {qtyConf}", tipoLog.INFO);
// chiudo ALTRO ODL
inputComandoMapo resCmd = scriviRigaEventoBarcode(idxMacchina, idxEvento, currODLData[0].CodArticolo, "ODL-CLOSE", 0, "", adesso, adesso);
// invio un evento x messa in manuale macchina x attrezzaggio in chiusura
inputComandoMapo resCmd = scriviRigaEventoBarcode(idxMacchina, idxEvento, currODLData[0].CodArticolo, "ODL-CLOSE-ATTR", 0, "", dtEvento, adesso);
if (doConfirm)
{
// attendo 100 msec
Thread.Sleep(100);
adesso = DateTime.Now;
//// attendo 100 msec
//Thread.Sleep(100);
// modifico la dataEvento
dtEvento.AddMilliseconds(200);
// chiamo conferma produzione...
try
{
string chiamata = confRett ? "confermaProdMacchinaFull" : "confermaProdMacchina";
logger.lg.scriviLog($"Chiamata a {chiamata} con parametri {currODLData[0].IdxMacchina} |{MatrOpr} | {DateTime.Now.AddDays(-10)} | {DateTime.Now} | {qtyConf} | 0 | 1 | {DateTime.Now} | false", tipoLog.INFO);
logger.lg.scriviLog($"Chiamata a {chiamata} con parametri | IdxMacchina: {currODLData[0].IdxMacchina} | MatrOpr: {MatrOpr} | dtEvent {dtEvento} | {qtyConf} | modoConf: {memLayer.ML.CRI("modoConfProd")}", tipoLog.INFO);
string idxMacchinaSel = currODLData[0].IdxMacchina;
if (confRett)
{
// confermo al netto dei pezzi lasciati...
fatto = confermaProdMacchinaFull(idxMacchinaSel, memLayer.ML.CRI("modoConfProd"), qtyConf, 0, 0, adesso);
fatto = confermaProdMacchinaFull(idxMacchinaSel, memLayer.ML.CRI("modoConfProd"), qtyConf, 0, 0, dtEvento);
}
else
{
fatto = confermaProdMacchina(idxMacchinaSel, memLayer.ML.CRI("modoConfProd"), qtyConf, 0, adesso);
fatto = confermaProdMacchina(idxMacchinaSel, memLayer.ML.CRI("modoConfProd"), qtyConf, 0, dtEvento);
}
if (!fatto)
{
@@ -4423,13 +4457,14 @@ namespace MapoDb
}
catch (Exception exc)
{
logger.lg.scriviLog($"Eccezione in ConfermaProduzione{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
logger.lg.scriviLog($"Eccezione in doCloseCurrODL{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
}
}
// attendo 100 msec
Thread.Sleep(100);
//// attendo 100 msec
//Thread.Sleep(100);
dtEvento.AddMilliseconds(200);
// chiamo chiusura
MapoDbObj.taODL.forceClose(currODLData[0].IdxODL, idxMacchina);
MapoDbObj.taODL.forceClose(currODLData[0].IdxODL, idxMacchina, dtEvento);
// elimino eventuale ODL precedente...
string rKey = memLayer.ML.redHash($"ODL:{idxMacchina}");
memLayer.ML.setRSV(rKey, "");
@@ -4543,7 +4578,7 @@ namespace MapoDb
// attendo 1000 msec registro fine ODL (idxTipoEv = 1)
int idxEvento = 1;
logger.lg.scriviLog($"Invio evento ODL-forced start per macchina {idxMacchina}, evento {idxEvento}, articolo {currODLData[0].CodArticolo}", tipoLog.INFO);
var resCmd = scriviRigaEventoBarcode(idxMacchina, idxEvento, currODLData[0].CodArticolo, "ODL-FORFCE-START");
var resCmd = scriviRigaEventoBarcode(idxMacchina, idxEvento, currODLData[0].CodArticolo, "ODL-FORCE-START");
// invio eventi setup a macchina....
string setArtVal = $"{currODLData[0].CodArticolo}";
string setPzCommVal = $"{reqPODLData[0].NumPezzi}";