Merge branch 'feature/ApiStats' into develop

This commit is contained in:
Samuele Locatelli
2021-07-01 15:35:25 +02:00
8 changed files with 2058 additions and 143 deletions
+140 -25
View File
@@ -63,7 +63,9 @@ namespace AppData
public static string redOrders = "NKC:SERV:ORDERS";
public static string redOutPath = "NKC:SERV:BREQ";
public static string redProdAnsw = "NKC:PROD:BUNKS";
public static string redProdMachStateData = "NKC:PROD:MACHSTATE";
public static string redProdMachClock = "NKC:PROD:MACH:CLOCK";
public static string redProdMachList = "NKC:PROD:MACH:LIST";
public static string redProdMachStateData = "NKC:PROD:MACH:STATE";
public static string redProdReq = "NKC:SERV:BUNKS";
/// <summary>
@@ -249,6 +251,41 @@ namespace AppData
#region Private Methods
/// <summary>
/// verifica che la macchina dichiarata esiste o la crea...
/// </summary>
/// <param name="machine"></param>
private static void checkPlace(string machine)
{
DS_App.PlacesDataTable tabPlace = new DS_App.PlacesDataTable();
DataLayer DLMan = new DataLayer();
// cerco in Redis...
string rawData = memLayer.ML.getRSV(redProdMachList);
// provo a deserializzare e cercare...
if (!string.IsNullOrEmpty(rawData))
{
tabPlace = JsonConvert.DeserializeObject<DS_App.PlacesDataTable>(rawData);
}
// cerco item
var foundItem = tabPlace.Where(x => x.PlaceCod == machine).ToList();
if (foundItem.Count == 0)
{
// forzo (ri)lettura...
tabPlace = DLMan.taPlac.GetData();
rawData = JsonConvert.SerializeObject(tabPlace);
memLayer.ML.setRSV(redProdMachList, rawData, 600);
}
// cerco di nuovoitem
foundItem = tabPlace.Where(x => x.PlaceCod == machine).ToList();
if (foundItem.Count == 0)
{
// se non ci fosse --> creo
DLMan.taPlac.insertQuery(machine);
// inserisco empty x 1 sec così rileggerà...
memLayer.ML.setRSV(redProdMachList, "", 1);
}
}
/// <summary>
/// Transcodifica dati da format DB a formato PROD
/// </summary>
@@ -421,6 +458,38 @@ namespace AppData
return answ;
}
private static List<MachineStatData> saveStatus(string machine, List<MachineStatRecord> lastRecord)
{
List<MachineStatData> currData = new List<MachineStatData>();
// ora processo lo status attuale x salvare MAPPA ULTIMO status in Redis...
string redVal = memLayer.ML.getRSV(redProdMachStateData);
if (!string.IsNullOrEmpty(redVal))
{
currData = JsonConvert.DeserializeObject<List<MachineStatData>>(redVal);
// certo info x macchina corrente
var machRecord = currData.Where(x => x.Machine == machine).FirstOrDefault();
// recupero ultimo stato
if (machRecord != null)
{
machRecord.Records = lastRecord;
}
// aggiungo
else
{
currData.Add(new MachineStatData() { Machine = machine, Records = lastRecord });
}
}
// serializzo
string rawData = JsonConvert.SerializeObject(currData);
// salvo!
memLayer.ML.setRSV(redProdMachStateData, rawData);
return currData;
}
/// <summary>
/// Salvo in Redis il SUCCESSIVO bunk da lavorare
/// </summary>
@@ -1809,38 +1878,84 @@ namespace AppData
/// <returns></returns>
public static bool prodMachStateDataInsert(MachineStatData updateRecords)
{
List<MachineStatData> currData = new List<MachineStatData>();
// FIXME TODO: salvare TUTTO sul DB !!!
/* ------------------------------------------------------------------
* Info preliminari
* Public Const STATION_LINE As String = "LINE"
* Public Const STATION_PRINTER As String = "PRINTER"
* Public Const STATION_NC_MACHINE As String = "NC_MACHINE"
* Public Const STATION_UNLOADER As String = "UNLOADER"
//* Public Const STATION_NC_MACHINE As String = "NC MACHINE"
*
*
*
* Public Const ST_KEEP_ALIVE_START As String = "00"
* Public Const ST_KEEP_ALIVE As String = "01"
*
*
* Public Const ST_PRINTER_INIT As String = "02"
* Public Const ST_PRINTER_WARM_START As String = "03"
* Public Const ST_PRINTER_READY As String = "04"
* Public Const ST_PRINTER_WAIT_SHEET_LOADED As String = "05"
* Public Const ST_PRINTER_PRINTING As String = "06"
* Public Const ST_PRINTER_WAIT_SHEET_UNLOADED As String = "07"
* Public Const ST_PRINTER_WAIT_PROGRAM As String = "08"
*
* ------------------------------------------------------------------ */
bool answ = false;
DataLayer DLMan = new DataLayer();
// recupero clockDrift
string clockDriftKey = $"{redProdMachClock}:{updateRecords.Machine}";
string rawDrift = memLayer.ML.getRSV(clockDriftKey);
double driftSec = 0;
if (!string.IsNullOrEmpty(rawDrift))
{
double.TryParse(rawDrift, out driftSec);
}
// salvo in mongo x debug
ComLib.man.saveProdStat(updateRecords);
// leggo stato attuale...
string redVal = memLayer.ML.getRSV(redProdMachStateData);
if (!string.IsNullOrEmpty(redVal))
// verifica preliminare della PLACE
checkPlace(updateRecords.Machine);
// salvo sul DB il set di dati...
foreach (var item in updateRecords.Records)
{
currData = JsonConvert.DeserializeObject<List<MachineStatData>>(redVal);
// certo info x macchina corrente
var machRecord = currData.Where(x => x.Machine == updateRecords.Machine).FirstOrDefault();
// recupero ultimo stato
var lastRecord = updateRecords.Records.OrderByDescending(x => x.DtRecord).ToList();
//var lastRecord = newData.Records.OrderByDescending(x => x.DtRecord).Take(1).ToList();
if (machRecord != null)
// i keep alive NON li scrivo ma processo
switch (item.Code)
{
machRecord.Records = lastRecord;
}
// aggiungo
else
{
currData.Add(new MachineStatData() { Machine = updateRecords.Machine, Records = lastRecord });
case "00":
// è PRIMO keepalive --> uso x sync dell'orologio
DateTime adesso = DateTime.Now;
DateTime machClock = item.DtRecord;
driftSec = adesso.Subtract(machClock).TotalSeconds;
// salvo
memLayer.ML.setRSV(clockDriftKey, $"{driftSec}");
break;
case "01":
// x ora lo ignoro ma so che ora la macchina è ALIVE...
break;
default:
DLMan.taStatLog.insert(item.DtRecord.AddMilliseconds(driftSec), updateRecords.Machine, item.Station, item.Code, item.Payload, 0);
break;
}
}
// serializzo
string rawData = JsonConvert.SerializeObject(currData);
// chiamo procedura x fix durate
DLMan.taStatLog.updateDuration(updateRecords.Machine);
// salvo!
bool answ = memLayer.ML.setRSV(redProdMachStateData, rawData);
// recupero ultimo record ricevuto
try
{
var lastRecord = updateRecords.Records.OrderByDescending(x => x.DtRecord).Take(1).ToList();
saveStatus(updateRecords.Machine, lastRecord);
answ = true;
}
catch
{ }
return answ;
}
+1593 -50
View File
File diff suppressed because it is too large Load Diff
+189
View File
@@ -3369,6 +3369,118 @@ SELECT ItemExtCode, BatchID, EvalDate, EstimTime, Status FROM FileValidation WHE
</DbSource>
</Sources>
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="PlacesTableAdapter" GeneratorDataComponentClassName="PlacesTableAdapter" Name="Places" UserDataComponentName="PlacesTableAdapter">
<MainSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.Places" DbObjectType="Table" 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">
<DeleteCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>DELETE FROM [PLACES] WHERE (([PlaceCod] = @Original_PlaceCod))</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_PlaceCod" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="PlaceCod" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters>
</DbCommand>
</DeleteCommand>
<InsertCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>INSERT INTO [PLACES] ([PlaceCod], [PlaceDesc], [PlaceCodAncest]) VALUES (@PlaceCod, @PlaceDesc, @PlaceCodAncest);
SELECT PlaceCod, PlaceDesc, PlaceCodAncest FROM Places WHERE (PlaceCod = @PlaceCod)</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@PlaceCod" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="PlaceCod" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@PlaceDesc" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="PlaceDesc" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@PlaceCodAncest" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="PlaceCodAncest" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</InsertCommand>
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>SELECT * FROM PLACES</CommandText>
<Parameters />
</DbCommand>
</SelectCommand>
<UpdateCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>UPDATE [PLACES] SET [PlaceCod] = @PlaceCod, [PlaceDesc] = @PlaceDesc, [PlaceCodAncest] = @PlaceCodAncest WHERE (([PlaceCod] = @Original_PlaceCod));
SELECT PlaceCod, PlaceDesc, PlaceCodAncest FROM Places WHERE (PlaceCod = @PlaceCod)</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@PlaceCod" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="PlaceCod" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@PlaceDesc" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="PlaceDesc" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@PlaceCodAncest" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="PlaceCodAncest" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_PlaceCod" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="PlaceCod" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters>
</DbCommand>
</UpdateCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="PlaceCod" DataSetColumn="PlaceCod" />
<Mapping SourceColumn="PlaceDesc" DataSetColumn="PlaceDesc" />
<Mapping SourceColumn="PlaceCodAncest" DataSetColumn="PlaceCodAncest" />
</Mappings>
<Sources>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_PLAC_insert" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="insertQuery" GetMethodModifier="Public" GetMethodName="insertQuery" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="insertQuery" UserSourceName="insertQuery">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_PLAC_insert</CommandText>
<Parameters>
<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="nvarchar" DbType="String" Direction="Input" ParameterName="@PlaceCod" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
</Sources>
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="StatusLogTableAdapter" GeneratorDataComponentClassName="StatusLogTableAdapter" Name="StatusLog" UserDataComponentName="StatusLogTableAdapter">
<MainSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.StatusLog" DbObjectType="Table" 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 StatusLog
</CommandText>
<Parameters />
</DbCommand>
</SelectCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="PlaceCod" DataSetColumn="PlaceCod" />
<Mapping SourceColumn="StatusID" DataSetColumn="StatusID" />
<Mapping SourceColumn="DtRecord" DataSetColumn="DtRecord" />
<Mapping SourceColumn="Code" DataSetColumn="Code" />
<Mapping SourceColumn="Station" DataSetColumn="Station" />
<Mapping SourceColumn="Payload" DataSetColumn="Payload" />
<Mapping SourceColumn="Duration" DataSetColumn="Duration" />
</Mappings>
<Sources>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_STALOG_insert" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="insert" Modifier="Public" Name="insert" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy1" UserSourceName="insert">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_STALOG_insert</CommandText>
<Parameters>
<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="datetime" DbType="DateTime" Direction="Input" ParameterName="@DtRecord" Precision="23" ProviderType="DateTime" Scale="3" Size="8" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="nvarchar" DbType="String" Direction="Input" ParameterName="@PlaceCod" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="nvarchar" DbType="String" Direction="Input" ParameterName="@Station" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="nvarchar" DbType="String" Direction="Input" ParameterName="@Code" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="nvarchar" DbType="String" Direction="Input" ParameterName="@Payload" Precision="0" ProviderType="NVarChar" Scale="0" Size="250" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="decimal" DbType="Decimal" Direction="Input" ParameterName="@Duration" Precision="18" ProviderType="Decimal" Scale="3" Size="9" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_STALOG_updateDuration" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateDuration" Modifier="Public" Name="updateDuration" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy" UserSourceName="updateDuration">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_STALOG_updateDuration</CommandText>
<Parameters>
<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="nvarchar" DbType="String" Direction="Input" ParameterName="@PlaceCod" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
</Sources>
</TableAdapter>
</Tables>
<Sources />
</DataSource>
@@ -4802,6 +4914,70 @@ SELECT ItemExtCode, BatchID, EvalDate, EstimTime, Status FROM FileValidation WHE
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Places" msprop:Generator_TableClassName="PlacesDataTable" msprop:Generator_TableVarName="tablePlaces" msprop:Generator_RowChangedName="PlacesRowChanged" msprop:Generator_TablePropName="Places" msprop:Generator_RowDeletingName="PlacesRowDeleting" msprop:Generator_RowChangingName="PlacesRowChanging" msprop:Generator_RowEvHandlerName="PlacesRowChangeEventHandler" msprop:Generator_RowDeletedName="PlacesRowDeleted" msprop:Generator_RowClassName="PlacesRow" msprop:Generator_UserTableName="Places" msprop:Generator_RowEvArgName="PlacesRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="PlaceCod" msprop:Generator_ColumnVarNameInTable="columnPlaceCod" msprop:Generator_ColumnPropNameInRow="PlaceCod" msprop:Generator_ColumnPropNameInTable="PlaceCodColumn" msprop:Generator_UserColumnName="PlaceCod">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PlaceDesc" msprop:Generator_ColumnVarNameInTable="columnPlaceDesc" msprop:Generator_ColumnPropNameInRow="PlaceDesc" msprop:Generator_ColumnPropNameInTable="PlaceDescColumn" msprop:Generator_UserColumnName="PlaceDesc">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="500" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PlaceCodAncest" msprop:Generator_ColumnVarNameInTable="columnPlaceCodAncest" msprop:Generator_ColumnPropNameInRow="PlaceCodAncest" msprop:Generator_ColumnPropNameInTable="PlaceCodAncestColumn" msprop:Generator_UserColumnName="PlaceCodAncest">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusLog" msprop:Generator_TableClassName="StatusLogDataTable" msprop:Generator_TableVarName="tableStatusLog" msprop:Generator_RowChangedName="StatusLogRowChanged" msprop:Generator_TablePropName="StatusLog" msprop:Generator_RowDeletingName="StatusLogRowDeleting" msprop:Generator_RowChangingName="StatusLogRowChanging" msprop:Generator_RowEvHandlerName="StatusLogRowChangeEventHandler" msprop:Generator_RowDeletedName="StatusLogRowDeleted" msprop:Generator_RowClassName="StatusLogRow" msprop:Generator_UserTableName="StatusLog" msprop:Generator_RowEvArgName="StatusLogRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="PlaceCod" msprop:Generator_ColumnVarNameInTable="columnPlaceCod" msprop:Generator_ColumnPropNameInRow="PlaceCod" msprop:Generator_ColumnPropNameInTable="PlaceCodColumn" msprop:Generator_UserColumnName="PlaceCod">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="StatusID" msprop:Generator_ColumnVarNameInTable="columnStatusID" msprop:Generator_ColumnPropNameInRow="StatusID" msprop:Generator_ColumnPropNameInTable="StatusIDColumn" msprop:Generator_UserColumnName="StatusID" type="xs:int" />
<xs:element name="DtRecord" msprop:Generator_ColumnVarNameInTable="columnDtRecord" msprop:Generator_ColumnPropNameInRow="DtRecord" msprop:Generator_ColumnPropNameInTable="DtRecordColumn" msprop:Generator_UserColumnName="DtRecord" type="xs:dateTime" />
<xs:element name="Code" msprop:Generator_ColumnVarNameInTable="columnCode" msprop:Generator_ColumnPropNameInRow="Code" msprop:Generator_ColumnPropNameInTable="CodeColumn" msprop:Generator_UserColumnName="Code">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Station" msprop:Generator_ColumnVarNameInTable="columnStation" msprop:Generator_ColumnPropNameInRow="Station" msprop:Generator_ColumnPropNameInTable="StationColumn" msprop:Generator_UserColumnName="Station">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Payload" msprop:Generator_ColumnVarNameInTable="columnPayload" msprop:Generator_ColumnPropNameInRow="Payload" msprop:Generator_ColumnPropNameInTable="PayloadColumn" msprop:Generator_UserColumnName="Payload">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="250" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Duration" msprop:Generator_ColumnVarNameInTable="columnDuration" msprop:Generator_ColumnPropNameInRow="Duration" msprop:Generator_ColumnPropNameInTable="DurationColumn" msprop:Generator_UserColumnName="Duration" type="xs:decimal" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
@@ -4948,6 +5124,18 @@ SELECT ItemExtCode, BatchID, EvalDate, EstimTime, Status FROM FileValidation WHE
<xs:field xpath="mstns:BatchID" />
<xs:field xpath="mstns:OrdID" />
</xs:unique>
<xs:unique name="Places_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:Places" />
<xs:field xpath="mstns:PlaceCod" />
</xs:unique>
<xs:unique name="StatusLog_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:StatusLog" />
<xs:field xpath="mstns:PlaceCod" />
</xs:unique>
<xs:unique name="Constraint2">
<xs:selector xpath=".//mstns:StatusLog" />
<xs:field xpath="mstns:StatusID" />
</xs:unique>
</xs:element>
<xs:annotation>
<xs:appinfo>
@@ -4962,6 +5150,7 @@ SELECT ItemExtCode, BatchID, EvalDate, EstimTime, Status FROM FileValidation WHE
<msdata:Relationship name="FK_BinList_ItemList" msdata:parent="ItemList" msdata:child="BinList" msdata:parentkey="ItemID" msdata:childkey="ItemID" msprop:Generator_UserChildTable="BinList" msprop:Generator_ChildPropName="GetBinListRows" msprop:Generator_UserRelationName="FK_BinList_ItemList" msprop:Generator_ParentPropName="ItemListRow" msprop:Generator_RelationVarName="relationFK_BinList_ItemList" msprop:Generator_UserParentTable="ItemList" />
<msdata:Relationship name="FK_Order2FinalKit_FinalKit" msdata:parent="FinalKit" msdata:child="Order2FinalKit" msdata:parentkey="FinalKitID" msdata:childkey="FinalKitID" msprop:Generator_UserChildTable="Order2FinalKit" msprop:Generator_ChildPropName="GetOrder2FinalKitRows" msprop:Generator_UserRelationName="FK_Order2FinalKit_FinalKit" msprop:Generator_RelationVarName="relationFK_Order2FinalKit_FinalKit" msprop:Generator_UserParentTable="FinalKit" msprop:Generator_ParentPropName="FinalKitRow" />
<msdata:Relationship name="FK_Order2FinalKit_OrderList" msdata:parent="OrderList" msdata:child="Order2FinalKit" msdata:parentkey="OrdID" msdata:childkey="OrdID" msprop:Generator_UserChildTable="Order2FinalKit" msprop:Generator_ChildPropName="GetOrder2FinalKitRows" msprop:Generator_UserRelationName="FK_Order2FinalKit_OrderList" msprop:Generator_RelationVarName="relationFK_Order2FinalKit_OrderList" msprop:Generator_UserParentTable="OrderList" msprop:Generator_ParentPropName="OrderListRow" />
<msdata:Relationship name="FK_StatusLog_Places" msdata:parent="Places" msdata:child="StatusLog" msdata:parentkey="PlaceCod" msdata:childkey="PlaceCod" msprop:Generator_UserChildTable="StatusLog" msprop:Generator_ChildPropName="GetStatusLogRows" msprop:Generator_UserRelationName="FK_StatusLog_Places" msprop:Generator_RelationVarName="relationFK_StatusLog_Places" msprop:Generator_UserParentTable="Places" msprop:Generator_ParentPropName="PlacesRow" />
</xs:appinfo>
</xs:annotation>
</xs:schema>
+64 -50
View File
@@ -4,49 +4,51 @@
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-24" ViewPortY="-47" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="162" ViewPortY="1204" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:BatchList" ZOrder="5" X="325" Y="437" Height="381" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:StackList" ZOrder="38" X="576" Y="958" Height="381" Width="268" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:SheetList" ZOrder="37" X="246" Y="908" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OrderList" ZOrder="6" X="284" Y="61" Height="343" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:ItemList" ZOrder="36" X="853" Y="87" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Materials" ZOrder="35" X="1189" Y="105" Height="248" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:Bins" ZOrder="3" X="1257" Y="597" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Carts" ZOrder="34" X="592" Y="408" Height="286" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OfflineOrderList" ZOrder="33" X="921" Y="934" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OffOrd2Item" ZOrder="32" X="1023" Y="728" Height="134" Width="219" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:KitList" ZOrder="4" X="634" Y="129" Height="248" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:Nesting" ZOrder="31" X="863" Y="526" Height="153" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:ImportLog" ZOrder="30" X="593" Y="701" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:BinList" ZOrder="29" X="1256" Y="391" Height="134" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:FinalKit" ZOrder="28" X="15" Y="525" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:Order2FinalKit" ZOrder="27" X="5" Y="308" Height="134" Width="234" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:Counters" ZOrder="26" X="-12" Y="716" Height="172" Width="196" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:ErrorsLog" ZOrder="25" X="-14" Y="996" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:ItemValidation" ZOrder="24" X="-10" Y="1301" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:PartValidPareto" ZOrder="23" X="316" Y="1303" Height="153" Width="236" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:UnloadStats" ZOrder="22" X="629" Y="1362" Height="172" Width="215" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:Remnants" ZOrder="21" X="904" Y="1256" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:CartOnKit" ZOrder="20" X="1251" Y="993" Height="324" Width="202" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackList" ZOrder="19" X="1248" Y="1319" Height="362" Width="297" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:OtherItem" ZOrder="18" X="636" Y="1822" Height="210" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:ItemSearchDetail" ZOrder="17" X="1468" Y="105" Height="381" Width="244" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackListDet" ZOrder="16" X="931" Y="1520" Height="343" Width="229" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackLog" ZOrder="15" X="1224" Y="1751" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:PackCheck" ZOrder="14" X="636" Y="1560" Height="229" Width="206" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:OKIB" ZOrder="13" X="33" Y="1493" Height="324" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKIB_Sum" ZOrder="12" X="42" Y="1891" Height="362" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKOI" ZOrder="11" X="334" Y="1485" Height="324" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKOI_sum" ZOrder="10" X="330" Y="1890" Height="362" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Pack2Cart" ZOrder="9" X="911" Y="1873" Height="286" Width="203" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:CartIRK" ZOrder="8" X="640" Y="2064" Height="305" Width="188" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:FileValidation" ZOrder="2" X="499" Y="-21" Height="191" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:SheetsPreview" ZOrder="7" X="65" Y="839" Height="210" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OrderListTree" ZOrder="1" X="3" Y="-43" Height="343" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:BatchList" ZOrder="8" X="325" Y="437" Height="381" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:StackList" ZOrder="41" X="576" Y="958" Height="381" Width="268" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:SheetList" ZOrder="40" X="246" Y="908" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OrderList" ZOrder="9" X="284" Y="61" Height="343" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:ItemList" ZOrder="39" X="853" Y="87" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Materials" ZOrder="38" X="1189" Y="105" Height="248" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:Bins" ZOrder="6" X="1257" Y="597" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Carts" ZOrder="37" X="592" Y="408" Height="286" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OfflineOrderList" ZOrder="36" X="921" Y="934" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OffOrd2Item" ZOrder="35" X="1023" Y="728" Height="134" Width="219" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:KitList" ZOrder="7" X="634" Y="129" Height="248" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:Nesting" ZOrder="34" X="863" Y="526" Height="153" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:ImportLog" ZOrder="33" X="593" Y="701" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:BinList" ZOrder="32" X="1256" Y="391" Height="134" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:FinalKit" ZOrder="31" X="15" Y="525" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:Order2FinalKit" ZOrder="30" X="5" Y="308" Height="134" Width="234" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:Counters" ZOrder="29" X="-12" Y="716" Height="172" Width="196" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:ErrorsLog" ZOrder="28" X="-14" Y="996" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:ItemValidation" ZOrder="27" X="-10" Y="1301" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:PartValidPareto" ZOrder="26" X="316" Y="1303" Height="153" Width="236" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:UnloadStats" ZOrder="25" X="629" Y="1362" Height="172" Width="215" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:Remnants" ZOrder="24" X="904" Y="1256" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:CartOnKit" ZOrder="23" X="1251" Y="993" Height="324" Width="202" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackList" ZOrder="22" X="1248" Y="1319" Height="362" Width="297" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:OtherItem" ZOrder="21" X="636" Y="1822" Height="210" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:ItemSearchDetail" ZOrder="20" X="1468" Y="105" Height="381" Width="244" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackListDet" ZOrder="19" X="931" Y="1520" Height="343" Width="229" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackLog" ZOrder="18" X="1224" Y="1751" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:PackCheck" ZOrder="17" X="636" Y="1560" Height="229" Width="206" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:OKIB" ZOrder="16" X="33" Y="1493" Height="324" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKIB_Sum" ZOrder="15" X="42" Y="1891" Height="362" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKOI" ZOrder="14" X="334" Y="1485" Height="324" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKOI_sum" ZOrder="13" X="330" Y="1890" Height="362" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Pack2Cart" ZOrder="12" X="911" Y="1873" Height="286" Width="203" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:CartIRK" ZOrder="11" X="640" Y="2064" Height="305" Width="188" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:FileValidation" ZOrder="5" X="499" Y="-21" Height="191" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:SheetsPreview" ZOrder="10" X="65" Y="839" Height="210" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OrderListTree" ZOrder="4" X="3" Y="-43" Height="343" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:Places" ZOrder="3" X="854" Y="2180" Height="153" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:StatusLog" ZOrder="1" X="1112" Y="2181" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
</Shapes>
<Connectors>
<Connector ID="DesignRelation:FK_ItemList_Materials1" ZOrder="49" LineWidth="11">
<Connector ID="DesignRelation:FK_ItemList_Materials1" ZOrder="52" LineWidth="11">
<RoutePoints>
<Point>
<X>1189</X>
@@ -58,7 +60,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_OffOrd2Item_OfflineOrderList" ZOrder="48" LineWidth="11">
<Connector ID="DesignRelation:FK_OffOrd2Item_OfflineOrderList" ZOrder="51" LineWidth="11">
<RoutePoints>
<Point>
<X>1028</X>
@@ -70,7 +72,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_ItemList_KitList" ZOrder="47" LineWidth="11">
<Connector ID="DesignRelation:FK_ItemList_KitList" ZOrder="50" LineWidth="11">
<RoutePoints>
<Point>
<X>828</X>
@@ -82,7 +84,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_Nesting_ItemList" ZOrder="46" LineWidth="11">
<Connector ID="DesignRelation:FK_Nesting_ItemList" ZOrder="49" LineWidth="11">
<RoutePoints>
<Point>
<X>1116</X>
@@ -98,7 +100,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_KitList_Carts" ZOrder="44" LineWidth="11">
<Connector ID="DesignRelation:FK_KitList_Carts" ZOrder="47" LineWidth="11">
<RoutePoints>
<Point>
<X>721</X>
@@ -110,7 +112,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_KitList_OrderList" ZOrder="45" LineWidth="11">
<Connector ID="DesignRelation:FK_KitList_OrderList" ZOrder="48" LineWidth="11">
<RoutePoints>
<Point>
<X>482</X>
@@ -122,7 +124,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_OffOrd2Item_ItemList" ZOrder="41" LineWidth="11">
<Connector ID="DesignRelation:FK_OffOrd2Item_ItemList" ZOrder="44" LineWidth="11">
<RoutePoints>
<Point>
<X>1113</X>
@@ -134,7 +136,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_BinList_Bins" ZOrder="43" LineWidth="11">
<Connector ID="DesignRelation:FK_BinList_Bins" ZOrder="46" LineWidth="11">
<RoutePoints>
<Point>
<X>1364</X>
@@ -146,7 +148,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_BinList_ItemList" ZOrder="42" LineWidth="11">
<Connector ID="DesignRelation:FK_BinList_ItemList" ZOrder="45" LineWidth="11">
<RoutePoints>
<Point>
<X>1153</X>
@@ -158,7 +160,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_Order2FinalKit_FinalKit" ZOrder="40" LineWidth="11">
<Connector ID="DesignRelation:FK_Order2FinalKit_FinalKit" ZOrder="43" LineWidth="11">
<RoutePoints>
<Point>
<X>115</X>
@@ -170,7 +172,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_Order2FinalKit_OrderList" ZOrder="39" LineWidth="11">
<Connector ID="DesignRelation:FK_Order2FinalKit_OrderList" ZOrder="42" LineWidth="11">
<RoutePoints>
<Point>
<X>284</X>
@@ -182,5 +184,17 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_StatusLog_Places" ZOrder="2" LineWidth="11">
<RoutePoints>
<Point>
<X>1034</X>
<Y>2236</Y>
</Point>
<Point>
<X>1112</X>
<Y>2236</Y>
</Point>
</RoutePoints>
</Connector>
</Connectors>
</DiagramLayout>
+6
View File
@@ -37,6 +37,7 @@ namespace AppData
public DS_AppTableAdapters.OtherItemTableAdapter taOtItem;
public DS_ReportTableAdapters.PrintJobQueueTableAdapter taPJQ;
public DS_AppTableAdapters.PackListTableAdapter taPL;
public DS_AppTableAdapters.PlacesTableAdapter taPlac;
public DS_AppTableAdapters.PackCheckTableAdapter taPLC;
public DS_AppTableAdapters.PackListDetTableAdapter taPLD;
public DS_AppTableAdapters.PackLogTableAdapter taPLog;
@@ -52,6 +53,7 @@ namespace AppData
public DS_ReportTableAdapters.stp_prt_PartTableAdapter taRepPart;
public DS_AppTableAdapters.SheetListTableAdapter taSHL;
public DS_AppTableAdapters.SheetsPreviewTableAdapter taSP;
public DS_AppTableAdapters.StatusLogTableAdapter taStatLog;
public DS_AppTableAdapters.StackListTableAdapter taSTL;
public DS_AppTableAdapters.UnloadStatsTableAdapter taUS;
@@ -179,11 +181,13 @@ namespace AppData
taOLT = new DS_AppTableAdapters.OrderListTreeTableAdapter();
taOtItem = new DS_AppTableAdapters.OtherItemTableAdapter();
taPL = new DS_AppTableAdapters.PackListTableAdapter();
taPlac = new DS_AppTableAdapters.PlacesTableAdapter();
taPLC = new DS_AppTableAdapters.PackCheckTableAdapter();
taPLD = new DS_AppTableAdapters.PackListDetTableAdapter();
taPLog = new DS_AppTableAdapters.PackLogTableAdapter();
taPVP = new DS_AppTableAdapters.PartValidParetoTableAdapter();
taRem = new DS_AppTableAdapters.RemnantsTableAdapter();
taStatLog = new DS_AppTableAdapters.StatusLogTableAdapter();
taSTL = new DS_AppTableAdapters.StackListTableAdapter();
taSHL = new DS_AppTableAdapters.SheetListTableAdapter();
taSP = new DS_AppTableAdapters.SheetsPreviewTableAdapter();
@@ -229,11 +233,13 @@ namespace AppData
taOLT.Connection.ConnectionString = connString;
taOtItem.Connection.ConnectionString = connString;
taPL.Connection.ConnectionString = connString;
taPlac.Connection.ConnectionString = connString;
taPLC.Connection.ConnectionString = connString;
taPLD.Connection.ConnectionString = connString;
taPLog.Connection.ConnectionString = connString;
taPVP.Connection.ConnectionString = connString;
taRem.Connection.ConnectionString = connString;
taStatLog.Connection.ConnectionString = connString;
taSTL.Connection.ConnectionString = connString;
taSHL.Connection.ConnectionString = connString;
taSP.Connection.ConnectionString = connString;
+24 -6
View File
@@ -2,9 +2,12 @@
<asp:HiddenField runat="server" ID="hfMachine" Value="NE00" />
<asp:HiddenField runat="server" ID="hfMachClass" Value="light" />
<asp:HiddenField runat="server" ID="hfStat01" Value="warning" />
<asp:HiddenField runat="server" ID="hfStat02" Value="success" />
<asp:HiddenField runat="server" ID="hfStat03" Value="danger" />
<asp:HiddenField runat="server" ID="hfStat01" Value="01" />
<asp:HiddenField runat="server" ID="hfStat02" Value="01" />
<asp:HiddenField runat="server" ID="hfStat03" Value="01" />
<asp:HiddenField runat="server" ID="hfCss01" Value="warning" />
<asp:HiddenField runat="server" ID="hfCss02" Value="success" />
<asp:HiddenField runat="server" ID="hfCss03" Value="danger" />
<div class="row" runat="server" id="divSelect">
<asp:DropDownList runat="server" ID="ddlMachine" CssClass="form-control" AutoPostBack="True" OnSelectedIndexChanged="ddlMachine_SelectedIndexChanged">
@@ -23,9 +26,24 @@
</div>
<div class="col-9">
<div class="d-flex text-center">
<div class="p-2 bg-<%: hfStat01.Value %> flex-fill"><i class="fa fa-qrcode" aria-hidden="true"></i>&nbsp;<%: traduci("print") %></div>
<div class="p-2 bg-<%: hfStat02.Value %> flex-fill"><i class="fa fa-cogs" aria-hidden="true"></i>&nbsp;<%: traduci("CNC") %></div>
<div class="p-2 bg-<%: hfStat03.Value %> flex-fill"><i class="fa fa-hand-rock-o" aria-hidden="true"></i>&nbsp;<%: traduci("unload") %></div>
<div class="p-2 bg-<%: hfCss01.Value %> flex-fill">
<b><i class="fa fa-qrcode" aria-hidden="true"></i>&nbsp;<%: traduci("print") %>&nbsp;|&nbsp;<%: hfStat01.Value %></b>
<div class="small">
<%: traduci($"print_state_{hfStat01.Value}") %>
</div>
</div>
<div class="p-2 bg-<%: hfCss02.Value %> flex-fill">
<b><i class="fa fa-cogs" aria-hidden="true"></i>&nbsp;<%: traduci("CNC") %>&nbsp;|&nbsp;<%: hfStat02.Value %></b>
<div class="small">
<%: traduci($"CNC_state_{hfStat02.Value}") %>
</div>
</div>
<div class="p-2 bg-<%: hfCss03.Value %> flex-fill">
<b><i class="fa fa-hand-rock-o" aria-hidden="true"></i>&nbsp;<%: traduci("unload") %>&nbsp;|&nbsp;<%: hfStat03.Value %></b>
<div class="small">
<%: traduci($"unload_state_{hfStat03.Value}") %>
</div>
</div>
</div>
</div>
</div>
+15 -12
View File
@@ -101,28 +101,31 @@ namespace NKC_WF.WebUserControls
// FIXME TODO: fake....
DateTime adesso = DateTime.Now;
int numsec = adesso.Second;
hfStat01.Value = "success";
hfStat02.Value = "warning";
hfStat03.Value = "danger";
hfCss01.Value = "success";
hfCss02.Value = "warning";
hfCss03.Value = "danger";
hfStat01.Value = $"{adesso.Second - 1 % 10:00}";
hfStat02.Value = $"{adesso.Second + 3 % 10:00}";
hfStat03.Value = $"{adesso.Second + 1 % 10:00}";
switch (numsec % 3)
{
case 1:
hfStat01.Value = "warning";
hfStat02.Value = "danger";
hfStat03.Value = "success";
hfCss01.Value = "warning";
hfCss02.Value = "danger";
hfCss03.Value = "success";
break;
case 2:
hfStat01.Value = "danger";
hfStat02.Value = "success";
hfStat03.Value = "warning";
hfCss01.Value = "danger";
hfCss02.Value = "success";
hfCss03.Value = "warning";
break;
case 0:
default:
hfStat01.Value = "success";
hfStat02.Value = "warning";
hfStat03.Value = "danger";
hfCss01.Value = "success";
hfCss02.Value = "warning";
hfCss03.Value = "danger";
break;
}
}
+27
View File
@@ -59,6 +59,33 @@ namespace NKC_WF.WebUserControls
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfStat03;
/// <summary>
/// hfCss01 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfCss01;
/// <summary>
/// hfCss02 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfCss02;
/// <summary>
/// hfCss03 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfCss03;
/// <summary>
/// divSelect control.
/// </summary>