Erweiterung für HeFormReader Zusatzfelder für Dänemark
This commit is contained in:
parent
0bd6dca8b9
commit
c3dd32ed53
Binary file not shown.
@ -26,9 +26,15 @@ User: Administrator
|
|||||||
PW: $chegVAN99!
|
PW: $chegVAN99!
|
||||||
hallo12345
|
hallo12345
|
||||||
|
|
||||||
daniel.schick#
|
bsmd\daniel.schick#
|
||||||
yycYYC321
|
yycYYC321
|
||||||
|
|
||||||
|
SVN:
|
||||||
|
daniel.schick
|
||||||
|
kersten.gevers
|
||||||
|
michael.kuehn
|
||||||
|
URL: https://SMDEV01.bsmd.local/svn/BSMD
|
||||||
|
|
||||||
|
|
||||||
daniel.schick#
|
daniel.schick#
|
||||||
Winter2015
|
Winter2015
|
||||||
|
|||||||
18
nsw/Source/SQL/Update_3.5.1_To_4.0.sql
Normal file
18
nsw/Source/SQL/Update_3.5.1_To_4.0.sql
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
PRINT N'Altering [dbo].[LADG]...';
|
||||||
|
|
||||||
|
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[LADG] ADD [CargoLACode] INT NULL;
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
PRINT N'Altering [dbo].[SEC]...';
|
||||||
|
|
||||||
|
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[SEC] ADD [AreMatterToReport] bit NULL;
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- bis hierhin schon aktualisiert
|
||||||
@ -39,9 +39,9 @@
|
|||||||
//
|
//
|
||||||
// nswSendServiceInstaller
|
// nswSendServiceInstaller
|
||||||
//
|
//
|
||||||
this.nswSendServiceInstaller.Description = "Sending NSW requests to HIS";
|
this.nswSendServiceInstaller.Description = "Sending Testing-NSW requests to HIS";
|
||||||
this.nswSendServiceInstaller.DisplayName = "NSW Send Service";
|
this.nswSendServiceInstaller.DisplayName = "NSW Test Send Service";
|
||||||
this.nswSendServiceInstaller.ServiceName = "NSWSendService";
|
this.nswSendServiceInstaller.ServiceName = "NSWTestSendService";
|
||||||
//
|
//
|
||||||
// ProjectInstaller
|
// ProjectInstaller
|
||||||
//
|
//
|
||||||
|
|||||||
@ -118,7 +118,7 @@
|
|||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<metadata name="nswSendServiceProcessInstaller.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="nswSendServiceProcessInstaller.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>17, 17</value>
|
<value>17, 56</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<metadata name="nswSendServiceInstaller.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="nswSendServiceInstaller.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>196, 17</value>
|
<value>196, 17</value>
|
||||||
|
|||||||
4
nsw/Source/SendNSWMessageService/packages.config
Normal file
4
nsw/Source/SendNSWMessageService/packages.config
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="log4net" version="2.0.7" targetFramework="net45" />
|
||||||
|
</packages>
|
||||||
@ -1,7 +1,10 @@
|
|||||||
using log4net;
|
// Copyright (c) 2017 Informatikbüro Daniel Schick
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
using log4net;
|
||||||
using Microsoft.Office.Interop.Excel;
|
using Microsoft.Office.Interop.Excel;
|
||||||
using System;
|
using System;
|
||||||
using System.Reflection;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
|||||||
@ -1,4 +1,7 @@
|
|||||||
using bsmd.database;
|
// Copyright (c) 2017 Informatikbüro Daniel Schick
|
||||||
|
//
|
||||||
|
|
||||||
|
using bsmd.database;
|
||||||
using bsmd.email;
|
using bsmd.email;
|
||||||
using log4net;
|
using log4net;
|
||||||
using System;
|
using System;
|
||||||
|
|||||||
@ -1,4 +1,8 @@
|
|||||||
using System.Diagnostics;
|
// Copyright (c) 2017 Informatikbüro Daniel Schick
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
using System.Diagnostics;
|
||||||
using System.ServiceProcess;
|
using System.ServiceProcess;
|
||||||
|
|
||||||
namespace bsmd.ExcelReadService
|
namespace bsmd.ExcelReadService
|
||||||
|
|||||||
@ -1,4 +1,8 @@
|
|||||||
using System;
|
// Copyright (c) 2017 Informatikbüro Daniel Schick
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
|||||||
@ -101,6 +101,7 @@
|
|||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
<None Include="App.config" />
|
<None Include="App.config" />
|
||||||
|
<None Include="bsmd.ExcelReadService.licenseheader" />
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
<None Include="Properties\Settings.settings">
|
<None Include="Properties\Settings.settings">
|
||||||
<Generator>SettingsSingleFileGenerator</Generator>
|
<Generator>SettingsSingleFileGenerator</Generator>
|
||||||
|
|||||||
@ -0,0 +1,16 @@
|
|||||||
|
extensions: designer.cs generated.cs
|
||||||
|
extensions: .cs .cpp .h
|
||||||
|
// Copyright (c) 2017 Informatikbüro Daniel Schick
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
extensions: .aspx .ascx
|
||||||
|
<%--
|
||||||
|
Copyright (c) 2017 Informatikbüro Daniel Schick
|
||||||
|
--%>
|
||||||
|
extensions: .vb
|
||||||
|
'Sample license text.
|
||||||
|
extensions: .xml .config .xsd
|
||||||
|
<!--
|
||||||
|
Sample license text.
|
||||||
|
-->
|
||||||
4
nsw/Source/bsmd.dakosy/packages.config
Normal file
4
nsw/Source/bsmd.dakosy/packages.config
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="log4net" version="2.0.7" targetFramework="net45" />
|
||||||
|
</packages>
|
||||||
@ -17,6 +17,34 @@ namespace bsmd.database
|
|||||||
public class LADG : DatabaseEntity, ISublistElement
|
public class LADG : DatabaseEntity, ISublistElement
|
||||||
{
|
{
|
||||||
|
|
||||||
|
#region LACodes static definition
|
||||||
|
|
||||||
|
private static Lazy<Dictionary<int, string>> laCodes =
|
||||||
|
new Lazy<Dictionary<int, string>>(() => new Dictionary<int, string>
|
||||||
|
{
|
||||||
|
{ 10, "unverpacktes Flüssiggut" },
|
||||||
|
{ 20, "unverpacktes Schüttgut" },
|
||||||
|
{ 30, "unverpacktes oder konventionell verpacktes Stückgut (Stückgut nicht in Containern >= 20 Fuß und nicht auf Ro-Ro-Einheiten)" },
|
||||||
|
{ 31, "Kfz als Handelsgüter" },
|
||||||
|
{ 32, "lebende Tiere als Handelsgüter" },
|
||||||
|
{ 41, "20-Fuß-Container" },
|
||||||
|
{ 42, "40-Fuß-Container" },
|
||||||
|
{ 43, "Container zwischen 20 und 40 Fuß" },
|
||||||
|
{ 44, "Container größer als 40 Fuß" },
|
||||||
|
{ 51, "Straßengüterfahrzeuge einschl. deren Anhänger" },
|
||||||
|
{ 52, "Pkw einschl. deren Anhänger, Krafträder" },
|
||||||
|
{ 53, "Omnibusse" },
|
||||||
|
{ 61, "Anhänger / Sattelauflieger für Straßengüterfahrzeuge" },
|
||||||
|
{ 62, "Sonstige Anhänger von Straßenfahrzeugen (ohne Zugmaschine) und nicht selbstfahrende Straßenfahrzeuge" },
|
||||||
|
{ 63, "Rolltrailer (Anhänger für die Güterbeförderung auf See)" },
|
||||||
|
{ 64, "Trägerschiffsleichter" },
|
||||||
|
{ 65, "Wechselbrücken / -behälter" },
|
||||||
|
{ 66, "Eisenbahngüterwagen" },
|
||||||
|
{ 67, "Reisezugwagen und Triebwagen" }
|
||||||
|
});
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
public LADG()
|
public LADG()
|
||||||
{
|
{
|
||||||
this.tablename = "[dbo].[LADG]";
|
this.tablename = "[dbo].[LADG]";
|
||||||
@ -33,6 +61,9 @@ namespace bsmd.database
|
|||||||
[MaxLength(5)]
|
[MaxLength(5)]
|
||||||
public string CargoCodeNST { get; set; }
|
public string CargoCodeNST { get; set; }
|
||||||
|
|
||||||
|
[ShowReport]
|
||||||
|
public int? CargoLACode { get; set; }
|
||||||
|
|
||||||
[ShowReport]
|
[ShowReport]
|
||||||
public int? CargoNumberOfItems { get; set; }
|
public int? CargoNumberOfItems { get; set; }
|
||||||
|
|
||||||
@ -50,6 +81,14 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public string Identifier { get; set; }
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
|
public static Lazy<Dictionary<int, string>> LACodes
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return laCodes;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region DatabaseEntity implementation
|
#region DatabaseEntity implementation
|
||||||
@ -75,25 +114,26 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithNullableValue("@P6", this.PortOfLoading);
|
scmd.Parameters.AddWithNullableValue("@P6", this.PortOfLoading);
|
||||||
scmd.Parameters.AddWithNullableValue("@P7", this.PortOfDischarge);
|
scmd.Parameters.AddWithNullableValue("@P7", this.PortOfDischarge);
|
||||||
scmd.Parameters.AddWithNullableValue("@P8", this.Identifier);
|
scmd.Parameters.AddWithNullableValue("@P8", this.Identifier);
|
||||||
|
scmd.Parameters.AddWithNullableValue("@P9", this.CargoLACode);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, CargoHandlingType, CargoCodeNST, " +
|
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, CargoHandlingType, CargoCodeNST, " +
|
||||||
"CargoNumberOfItems, CargoGrossQuantity_TNE, PortOfLoading, PortOfDischarge, Identifier) VALUES " +
|
"CargoNumberOfItems, CargoGrossQuantity_TNE, PortOfLoading, PortOfDischarge, Identifier, CargoLACode) VALUES " +
|
||||||
"( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8 )", this.Tablename);
|
"( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9 )", this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
scmd.Parameters.AddWithValue(@"ID", this.Id);
|
scmd.Parameters.AddWithValue(@"ID", this.Id);
|
||||||
scmd.CommandText = string.Format("UPDATE {0} SET CargoHandlingType = @P2, CargoCodeNST = @P3, CargoNumberOfItems = @P4, " +
|
scmd.CommandText = string.Format("UPDATE {0} SET CargoHandlingType = @P2, CargoCodeNST = @P3, CargoNumberOfItems = @P4, " +
|
||||||
"CargoGrossQuantity_TNE = @P5, PortOfLoading = @P6, PortOfDischarge = @P7 WHERE Id = @ID", this.Tablename);
|
"CargoGrossQuantity_TNE = @P5, PortOfLoading = @P6, PortOfDischarge = @P7, CargoLACode = @P9 WHERE Id = @ID", this.Tablename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
||||||
{
|
{
|
||||||
string query = string.Format("SELECT Id, CargoHandlingType, CargoCodeNST, CargoNumberOfItems, CargoGrossQuantity_TNE, " +
|
string query = string.Format("SELECT Id, CargoHandlingType, CargoCodeNST, CargoNumberOfItems, CargoGrossQuantity_TNE, " +
|
||||||
"PortOfLoading, PortOfDischarge, Identifier FROM {0}",
|
"PortOfLoading, PortOfDischarge, Identifier, CargoLACode FROM {0}",
|
||||||
this.Tablename);
|
this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
@ -127,6 +167,7 @@ namespace bsmd.database
|
|||||||
if (!reader.IsDBNull(5)) ladg.PortOfLoading = reader.GetString(5);
|
if (!reader.IsDBNull(5)) ladg.PortOfLoading = reader.GetString(5);
|
||||||
if (!reader.IsDBNull(6)) ladg.PortOfDischarge = reader.GetString(6);
|
if (!reader.IsDBNull(6)) ladg.PortOfDischarge = reader.GetString(6);
|
||||||
if (!reader.IsDBNull(7)) ladg.Identifier = reader.GetString(7);
|
if (!reader.IsDBNull(7)) ladg.Identifier = reader.GetString(7);
|
||||||
|
if (!reader.IsDBNull(8)) ladg.CargoLACode = reader.GetInt32(8);
|
||||||
result.Add(ladg);
|
result.Add(ladg);
|
||||||
}
|
}
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
|||||||
@ -253,7 +253,7 @@ namespace bsmd.database
|
|||||||
/// eingetragen)
|
/// eingetragen)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>Code nach NSW Spec, null on failure</returns>
|
/// <returns>Code nach NSW Spec, null on failure</returns>
|
||||||
public int? getCallPurposeCodeFromDescription(string description)
|
public static int? getCallPurposeCodeFromDescription(string description)
|
||||||
{
|
{
|
||||||
if (description.IsNullOrEmpty()) return null;
|
if (description.IsNullOrEmpty()) return null;
|
||||||
|
|
||||||
|
|||||||
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
[assembly: AssemblyCompany("Informatikbüro Daniel Schick")]
|
[assembly: AssemblyCompany("Informatikbüro Daniel Schick")]
|
||||||
[assembly: AssemblyProduct("BSMD NSW interface")]
|
[assembly: AssemblyProduct("BSMD NSW interface")]
|
||||||
[assembly: AssemblyInformationalVersion("3.3.14")]
|
[assembly: AssemblyInformationalVersion("3.4.0")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2014-2017 Informatikbüro Daniel Schick. All rights reserved.")]
|
[assembly: AssemblyCopyright("Copyright © 2014-2017 Informatikbüro Daniel Schick. All rights reserved.")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
@ -1,4 +1,4 @@
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
[assembly: AssemblyVersion("3.3.14.*")]
|
[assembly: AssemblyVersion("3.4.0.*")]
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.CompilerServices;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||||
@ -26,6 +25,6 @@ using System.Runtime.CompilerServices;
|
|||||||
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
||||||
// documentation for more information on this.
|
// documentation for more information on this.
|
||||||
//
|
//
|
||||||
// [assembly: AssemblyDelaySign(false)]
|
[assembly: AssemblyDelaySign(false)]
|
||||||
// [assembly: AssemblyKeyFile("..\bsmdKey.snk")]
|
[assembly: AssemblyKeyFile("..\\bsmdKey.snk")]
|
||||||
// [assembly: AssemblyKeyName("")]
|
[assembly: AssemblyKeyName("")]
|
||||||
@ -117,6 +117,9 @@ namespace bsmd.database
|
|||||||
[Validation2(ValidationCode.NOT_NULL)]
|
[Validation2(ValidationCode.NOT_NULL)]
|
||||||
public byte? GeneralDescriptionOfCargo { get; set; }
|
public byte? GeneralDescriptionOfCargo { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public bool? AreMatterToReport { get; set; }
|
||||||
|
|
||||||
[LookupName("SEC.MatterToReport")]
|
[LookupName("SEC.MatterToReport")]
|
||||||
[MaxLength(1024)]
|
[MaxLength(1024)]
|
||||||
public string MatterToReport { get; set; }
|
public string MatterToReport { get; set; }
|
||||||
@ -162,6 +165,7 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithNullableValue("@P20", this.KielCanalPassagePlanned);
|
scmd.Parameters.AddWithNullableValue("@P20", this.KielCanalPassagePlanned);
|
||||||
scmd.Parameters.AddWithNullableValue("@P21", this.KielCanalPassagePlannedIncomming);
|
scmd.Parameters.AddWithNullableValue("@P21", this.KielCanalPassagePlannedIncomming);
|
||||||
scmd.Parameters.AddWithNullableValue("@P22", this.KielCanalPassagePlannedOutgoing);
|
scmd.Parameters.AddWithNullableValue("@P22", this.KielCanalPassagePlannedOutgoing);
|
||||||
|
scmd.Parameters.AddWithNullableValue("@P23", this.AreMatterToReport);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
@ -171,9 +175,9 @@ namespace bsmd.database
|
|||||||
"CSOLastName, CSOFirstName, CSOPhone, CSOEMail, ValidISSCOnBoard, ReasonsForNoValidISSC, " +
|
"CSOLastName, CSOFirstName, CSOPhone, CSOEMail, ValidISSCOnBoard, ReasonsForNoValidISSC, " +
|
||||||
"ISSCType, ISSCIssuerType, ISSCIssuerName,ISSCDateOfExpiration, ApprovedSecurityPlanOnBoard, " +
|
"ISSCType, ISSCIssuerType, ISSCIssuerName,ISSCDateOfExpiration, ApprovedSecurityPlanOnBoard, " +
|
||||||
"CurrentShipSecurityLevel, PortFacilityOfArrival, GeneralDescriptionOfCargo, CSOFax, MatterToReport, " +
|
"CurrentShipSecurityLevel, PortFacilityOfArrival, GeneralDescriptionOfCargo, CSOFax, MatterToReport, " +
|
||||||
"KielCanalPassagePlanned, KielCanalPassagePlannedIncomming, KielCanalPassagePlannedOutgoing) " +
|
"KielCanalPassagePlanned, KielCanalPassagePlannedIncomming, KielCanalPassagePlannedOutgoing, AreMatterToReport) " +
|
||||||
"VALUES ( @ID, @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16, " +
|
"VALUES ( @ID, @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16, " +
|
||||||
"@P17, @P18, @P19, @P20, @P21, @P22 )", this.Tablename);
|
"@P17, @P18, @P19, @P20, @P21, @P22, @P23 )", this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -184,7 +188,8 @@ namespace bsmd.database
|
|||||||
"ISSCType = @P10, ISSCIssuerType = @P11, ISSCIssuerName = @P12, ISSCDateOfExpiration = @P13, " +
|
"ISSCType = @P10, ISSCIssuerType = @P11, ISSCIssuerName = @P12, ISSCDateOfExpiration = @P13, " +
|
||||||
"ApprovedSecurityPlanOnBoard = @P14, CurrentShipSecurityLevel = @P15, PortFacilityOfArrival = @P16, " +
|
"ApprovedSecurityPlanOnBoard = @P14, CurrentShipSecurityLevel = @P15, PortFacilityOfArrival = @P16, " +
|
||||||
"GeneralDescriptionOfCargo = @P17, CSOFax = @P18, MatterToReport = @P19, KielCanalPassagePlanned = @P20, " +
|
"GeneralDescriptionOfCargo = @P17, CSOFax = @P18, MatterToReport = @P19, KielCanalPassagePlanned = @P20, " +
|
||||||
"KielCanalPassagePlannedIncomming = @P21, KielCanalPassagePlannedOutgoing = @P22 WHERE Id = @ID", this.Tablename);
|
"KielCanalPassagePlannedIncomming = @P21, KielCanalPassagePlannedOutgoing = @P22, AreMatterToReport = @P23 " +
|
||||||
|
"WHERE Id = @ID", this.Tablename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -194,7 +199,8 @@ namespace bsmd.database
|
|||||||
"CSOFirstName, CSOPhone, CSOEMail, ValidISSCOnBoard, ReasonsForNoValidISSC, " +
|
"CSOFirstName, CSOPhone, CSOEMail, ValidISSCOnBoard, ReasonsForNoValidISSC, " +
|
||||||
"ISSCType, ISSCIssuerType, ISSCIssuerName, ISSCDateOfExpiration, ApprovedSecurityPlanOnBoard, " +
|
"ISSCType, ISSCIssuerType, ISSCIssuerName, ISSCDateOfExpiration, ApprovedSecurityPlanOnBoard, " +
|
||||||
"CurrentShipSecurityLevel, PortFacilityOfArrival, GeneralDescriptionOfCargo, CSOFax, MatterToReport, " +
|
"CurrentShipSecurityLevel, PortFacilityOfArrival, GeneralDescriptionOfCargo, CSOFax, MatterToReport, " +
|
||||||
"KielCanalPassagePlanned, KielCanalPassagePlannedIncomming, KielCanalPassagePlannedOutgoing FROM {0}", this.Tablename);
|
"KielCanalPassagePlanned, KielCanalPassagePlannedIncomming, KielCanalPassagePlannedOutgoing, AreMatterToReport " +
|
||||||
|
"FROM {0}", this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
@ -241,6 +247,7 @@ namespace bsmd.database
|
|||||||
if (!reader.IsDBNull(19)) sec.KielCanalPassagePlanned = reader.GetBoolean(19);
|
if (!reader.IsDBNull(19)) sec.KielCanalPassagePlanned = reader.GetBoolean(19);
|
||||||
if (!reader.IsDBNull(20)) sec.KielCanalPassagePlannedIncomming = reader.GetDateTime(20);
|
if (!reader.IsDBNull(20)) sec.KielCanalPassagePlannedIncomming = reader.GetDateTime(20);
|
||||||
if (!reader.IsDBNull(21)) sec.KielCanalPassagePlannedOutgoing = reader.GetDateTime(21);
|
if (!reader.IsDBNull(21)) sec.KielCanalPassagePlannedOutgoing = reader.GetDateTime(21);
|
||||||
|
if (!reader.IsDBNull(22)) sec.AreMatterToReport = reader.GetBoolean(22);
|
||||||
|
|
||||||
result.Add(sec);
|
result.Add(sec);
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -25,7 +25,7 @@ namespace bsmd.dbh
|
|||||||
{
|
{
|
||||||
if (message == null) return false;
|
if (message == null) return false;
|
||||||
|
|
||||||
DBHWebReference.RootType rootType = DBHWebReference.RootType.DATA;
|
RootType rootType = RootType.DATA;
|
||||||
|
|
||||||
if (message.ReportingParty == null)
|
if (message.ReportingParty == null)
|
||||||
{
|
{
|
||||||
@ -49,7 +49,7 @@ namespace bsmd.dbh
|
|||||||
if (useTest)
|
if (useTest)
|
||||||
client.Url = "https://edi-gate.dbh.de/test/bsmd-soap";
|
client.Url = "https://edi-gate.dbh.de/test/bsmd-soap";
|
||||||
|
|
||||||
bsmd.dbh.DBHWebReference.ReportingParty rp = new bsmd.dbh.DBHWebReference.ReportingParty();
|
DBHWebReference.ReportingParty rp = new DBHWebReference.ReportingParty();
|
||||||
rp.RPCity = message.ReportingParty.City;
|
rp.RPCity = message.ReportingParty.City;
|
||||||
rp.RPCountry = message.ReportingParty.Country;
|
rp.RPCountry = message.ReportingParty.Country;
|
||||||
rp.RPEMail = message.ReportingParty.EMail;
|
rp.RPEMail = message.ReportingParty.EMail;
|
||||||
@ -62,14 +62,14 @@ namespace bsmd.dbh
|
|||||||
rp.RPStreetAndNumber = message.ReportingParty.StreetAndNumber;
|
rp.RPStreetAndNumber = message.ReportingParty.StreetAndNumber;
|
||||||
rp.RPTypeSpecified = message.ReportingParty.ReportingPartyType.HasValue;
|
rp.RPTypeSpecified = message.ReportingParty.ReportingPartyType.HasValue;
|
||||||
if (rp.RPTypeSpecified)
|
if (rp.RPTypeSpecified)
|
||||||
rp.RPType = (DBHWebReference.ReportingPartyRPType) message.ReportingParty.ReportingPartyType.Value;
|
rp.RPType = (ReportingPartyRPType) message.ReportingParty.ReportingPartyType.Value;
|
||||||
|
|
||||||
DateTime timestamp = DateTime.Now;
|
DateTime timestamp = DateTime.Now;
|
||||||
string version = "3.0";
|
string version = "3.0";
|
||||||
object item = null;
|
object item = null;
|
||||||
string senderReference = message.Id.Value.ToString("N");
|
string senderReference = message.Id.Value.ToString("N");
|
||||||
|
|
||||||
DBHWebReference.ItemChoiceType2 itemChoiceType2 = DBHWebReference.ItemChoiceType2.Visit;
|
ItemChoiceType2 itemChoiceType2 = ItemChoiceType2.Visit;
|
||||||
|
|
||||||
switch (message.MessageNotificationClass)
|
switch (message.MessageNotificationClass)
|
||||||
{
|
{
|
||||||
@ -265,6 +265,19 @@ namespace bsmd.dbh
|
|||||||
|
|
||||||
rootSEC.CurrentShipSecurityLevel = (int)sec.CurrentShipSecurityLevel.Value;
|
rootSEC.CurrentShipSecurityLevel = (int)sec.CurrentShipSecurityLevel.Value;
|
||||||
|
|
||||||
|
if(!message.MessageCore.IsTransit)
|
||||||
|
{
|
||||||
|
if(sec.KielCanalPassagePlanned ?? false)
|
||||||
|
{
|
||||||
|
rootSEC.KielCanalPassage = new RootSECKielCanalPassage();
|
||||||
|
rootSEC.KielCanalPassage.KielCanalPassagePlanned = "Y";
|
||||||
|
if (sec.KielCanalPassagePlannedIncomming.HasValue)
|
||||||
|
rootSEC.KielCanalPassage.KielCanalPassagePlannedIncoming = sec.KielCanalPassagePlannedIncomming.Value.ToDBHDateString();
|
||||||
|
if (sec.KielCanalPassagePlannedOutgoing.HasValue)
|
||||||
|
rootSEC.KielCanalPassage.KielCanalPassagePlannedOutgoing = sec.KielCanalPassagePlannedOutgoing.Value.ToDBHDateString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (sec.SECSimplification ?? false)
|
if (sec.SECSimplification ?? false)
|
||||||
{
|
{
|
||||||
choiceType1s.Add(ItemsChoiceType1.SECSimplification);
|
choiceType1s.Add(ItemsChoiceType1.SECSimplification);
|
||||||
@ -346,7 +359,11 @@ namespace bsmd.dbh
|
|||||||
s2s.ShipToShipActivityDateFrom = sec.ShipToShipActivitiesDuringLastTenPortFacilitiesCalled[i].ShipToShipActivityDateFrom.Value;
|
s2s.ShipToShipActivityDateFrom = sec.ShipToShipActivitiesDuringLastTenPortFacilitiesCalled[i].ShipToShipActivityDateFrom.Value;
|
||||||
if (sec.ShipToShipActivitiesDuringLastTenPortFacilitiesCalled[i].ShipToShipActivityDateTo.HasValue)
|
if (sec.ShipToShipActivitiesDuringLastTenPortFacilitiesCalled[i].ShipToShipActivityDateTo.HasValue)
|
||||||
s2s.ShipToShipActivityDateTo = sec.ShipToShipActivitiesDuringLastTenPortFacilitiesCalled[i].ShipToShipActivityDateTo.Value;
|
s2s.ShipToShipActivityDateTo = sec.ShipToShipActivitiesDuringLastTenPortFacilitiesCalled[i].ShipToShipActivityDateTo.Value;
|
||||||
s2s.ShipToShipActivityType = sec.ShipToShipActivitiesDuringLastTenPortFacilitiesCalled[i].ShipToShipActivityType;
|
|
||||||
|
int activityType;
|
||||||
|
if (!Int32.TryParse(sec.ShipToShipActivitiesDuringLastTenPortFacilitiesCalled[i].ShipToShipActivityType, out activityType))
|
||||||
|
activityType = NOA_NOD.getCallPurposeCodeFromDescription(sec.ShipToShipActivitiesDuringLastTenPortFacilitiesCalled[i].ShipToShipActivityType) ?? 0;
|
||||||
|
s2s.ShipToShipActivityType = activityType;
|
||||||
s2s.ShipToShipActivitySecurityMattersToReport = sec.ShipToShipActivitiesDuringLastTenPortFacilitiesCalled[i].ShipToShipActivitySecurityMattersToReport;
|
s2s.ShipToShipActivitySecurityMattersToReport = sec.ShipToShipActivitiesDuringLastTenPortFacilitiesCalled[i].ShipToShipActivitySecurityMattersToReport;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -601,12 +618,39 @@ namespace bsmd.dbh
|
|||||||
if (ladg.CargoHandlingType > 1) continue;
|
if (ladg.CargoHandlingType > 1) continue;
|
||||||
cargo.CargoHandlingType = (HandlingType)(ladg.CargoHandlingType);
|
cargo.CargoHandlingType = (HandlingType)(ladg.CargoHandlingType);
|
||||||
}
|
}
|
||||||
cargo.CargoCodeNST = ladg.CargoCodeNST;
|
|
||||||
|
if (!ladg.CargoCodeNST.IsNullOrEmpty())
|
||||||
|
{
|
||||||
|
if (cargo.CargoCodeNST.Length > 2)
|
||||||
|
{
|
||||||
|
cargo.CargoCodeNST = ladg.CargoCodeNST.Substring(0, 2);
|
||||||
|
cargo.CargoCodeNST_3 = ladg.CargoCodeNST[3].ToString();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cargo.CargoCodeNST = ladg.CargoCodeNST;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ladg.CargoLACode.HasValue)
|
||||||
|
cargo.CargoLACode = ladg.CargoLACode.Value;
|
||||||
|
|
||||||
if (ladg.CargoGrossQuantity_TNE.HasValue)
|
if (ladg.CargoGrossQuantity_TNE.HasValue)
|
||||||
cargo.CargoGrossQuantity_TNE = Decimal.Round((decimal) ladg.CargoGrossQuantity_TNE.Value, 3);
|
cargo.CargoGrossQuantity_TNE = Decimal.Round((decimal) ladg.CargoGrossQuantity_TNE.Value, 3);
|
||||||
cargo.CargoNumberOfItemsSpecified = ladg.CargoNumberOfItems.HasValue;
|
cargo.CargoNumberOfItemsSpecified = ladg.CargoNumberOfItems.HasValue;
|
||||||
if (ladg.CargoNumberOfItems.HasValue)
|
if (ladg.CargoNumberOfItems.HasValue)
|
||||||
cargo.CargoNumberOfItems = ladg.CargoNumberOfItems.Value;
|
cargo.CargoNumberOfItems = ladg.CargoNumberOfItems.Value;
|
||||||
|
|
||||||
|
if (ladg.PortOfLoading.IsNullOrEmpty())
|
||||||
|
cargo.CargoPortOfLoading = "ZZUKN";
|
||||||
|
else
|
||||||
|
cargo.CargoPortOfLoading = ladg.PortOfLoading;
|
||||||
|
|
||||||
|
if (ladg.PortOfDischarge.IsNullOrEmpty())
|
||||||
|
cargo.CargoPortOfDischarge = "ZZUKN";
|
||||||
|
else
|
||||||
|
cargo.CargoPortOfDischarge = ladg.PortOfDischarge;
|
||||||
|
|
||||||
cargoList.Add(cargo);
|
cargoList.Add(cargo);
|
||||||
}
|
}
|
||||||
rootLADG.Cargo = cargoList.ToArray();
|
rootLADG.Cargo = cargoList.ToArray();
|
||||||
@ -678,9 +722,9 @@ namespace bsmd.dbh
|
|||||||
if (pre72h.ConditionCargoBallastTanks.HasValue)
|
if (pre72h.ConditionCargoBallastTanks.HasValue)
|
||||||
rootPre.TankerDetails.ConditionCargoBallastTanks = (TankCondition)pre72h.ConditionCargoBallastTanks.Value;
|
rootPre.TankerDetails.ConditionCargoBallastTanks = (TankCondition)pre72h.ConditionCargoBallastTanks.Value;
|
||||||
rootPre.TankerDetails.NatureOfCargo = pre72h.NatureOfCargo;
|
rootPre.TankerDetails.NatureOfCargo = pre72h.NatureOfCargo;
|
||||||
rootPre.TankerDetails.VolumeOfCargo_Cargo_TNESpecified = pre72h.VolumeOfCargo.HasValue;
|
rootPre.TankerDetails.VolumeOfCargo_TNESpecified = pre72h.VolumeOfCargo.HasValue;
|
||||||
if (pre72h.VolumeOfCargo.HasValue)
|
if (pre72h.VolumeOfCargo.HasValue)
|
||||||
rootPre.TankerDetails.VolumeOfCargo_Cargo_TNE = Decimal.Round((decimal)(pre72h.VolumeOfCargo.Value), 3);
|
rootPre.TankerDetails.VolumeOfCargo_TNE = Decimal.Round((decimal)(pre72h.VolumeOfCargo.Value), 3);
|
||||||
|
|
||||||
}
|
}
|
||||||
rootPre.PlannedOperations = pre72h.PlannedOperations;
|
rootPre.PlannedOperations = pre72h.PlannedOperations;
|
||||||
@ -863,7 +907,7 @@ namespace bsmd.dbh
|
|||||||
List<object> wasteItems = new List<object>();
|
List<object> wasteItems = new List<object>();
|
||||||
List<ItemsChoiceType3> choiceType3s = new List<ItemsChoiceType3>();
|
List<ItemsChoiceType3> choiceType3s = new List<ItemsChoiceType3>();
|
||||||
|
|
||||||
choiceType3s.Add(ItemsChoiceType3.ConfirmationOfCorrectness);
|
choiceType3s.Add(ItemsChoiceType3.ConfirmationOfCorrectnessAndSufficiency);
|
||||||
wasteItems.Add(was.ConfirmationOfCorrectness ?? false ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N);
|
wasteItems.Add(was.ConfirmationOfCorrectness ?? false ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N);
|
||||||
|
|
||||||
if (was.LastWasteDisposalDate.HasValue)
|
if (was.LastWasteDisposalDate.HasValue)
|
||||||
@ -900,19 +944,19 @@ namespace bsmd.dbh
|
|||||||
wasteItems.Add(rww);
|
wasteItems.Add(rww);
|
||||||
|
|
||||||
Waste waste = was.Waste[j];
|
Waste waste = was.Waste[j];
|
||||||
|
rww.WasteType = new RootWASWasteWasteType();
|
||||||
rww.WasteDescription = waste.WasteDescription;
|
rww.WasteType.WasteCode = waste.WasteType ?? 0;
|
||||||
if (waste.WasteType.HasValue)
|
rww.WasteType.WasteDescription = waste.WasteDescription;
|
||||||
rww.WasteType = (WasteType)(waste.WasteType.Value - 1); // in unserer DB 1-basiert(!) im dbh Struct nicht
|
|
||||||
|
rww.WasteDisposedAtLastPort_MTQ = decimal.Round((decimal) (waste.WasteDisposedAtLastPort_MTQ ?? 0), 3);
|
||||||
rww.WasteDisposalAmount_MTQ = decimal.Round((decimal)(waste.WasteDisposalAmount_MTQ ?? 0), 3);
|
rww.WasteDisposalAmount_MTQ = decimal.Round((decimal)(waste.WasteDisposalAmount_MTQ ?? 0), 3);
|
||||||
|
|
||||||
rww.WasteDetails = new RootWASWasteWasteDetails();
|
rww.WasteDetails = new RootWASWasteWasteDetails();
|
||||||
rww.WasteDetails.WasteCapacity_MTQ = decimal.Round((decimal)(waste.WasteCapacity_MTQ ?? 0), 3);
|
rww.WasteDetails.WasteCapacity_MTQ = decimal.Round((decimal)(waste.WasteCapacity_MTQ ?? 0), 3);
|
||||||
rww.WasteDetails.WasteAmountRetained_MTQ = decimal.Round((decimal)(waste.WasteAmountRetained_MTQ ?? 0), 3);
|
rww.WasteDetails.WasteAmountRetained_MTQ = decimal.Round((decimal)(waste.WasteAmountRetained_MTQ ?? 0), 3);
|
||||||
rww.WasteDetails.WasteAmountGeneratedTillNextPort_MTQ = decimal.Round((decimal)(waste.WasteAmountGeneratedTillNextPort_MTQ ?? 0), 3);
|
rww.WasteDetails.WasteAmountGeneratedTillNextPort_MTQ = decimal.Round((decimal)(waste.WasteAmountGeneratedTillNextPort_MTQ ?? 0), 3);
|
||||||
rww.WasteDetails.WasteDisposalPort = waste.WasteDisposalPort;
|
rww.WasteDetails.WasteDisposalPort = waste.WasteDisposalPort;
|
||||||
if (rww.WasteDetails.WasteDisposalPort.IsNullOrEmpty()) rww.WasteDetails.WasteDisposalPort = "ZZUKN";
|
if (rww.WasteDetails.WasteDisposalPort.IsNullOrEmpty()) rww.WasteDetails.WasteDisposalPort = "ZZUKN";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rootWAS.ItemsElementName = choiceType3s.ToArray();
|
rootWAS.ItemsElementName = choiceType3s.ToArray();
|
||||||
@ -1019,7 +1063,7 @@ namespace bsmd.dbh
|
|||||||
|
|
||||||
rootHAZA.ItemsElementName[1] = ItemsChoiceType5.DPGOnArrival;
|
rootHAZA.ItemsElementName[1] = ItemsChoiceType5.DPGOnArrival;
|
||||||
|
|
||||||
RootHAZADPGOnArrival dpgOnArrival = new RootHAZADPGOnArrival();
|
DBHWebReference.RootHAZADPGOnArrival dpgOnArrival = new DBHWebReference.RootHAZADPGOnArrival();
|
||||||
|
|
||||||
#region IMDG
|
#region IMDG
|
||||||
if (haz.IMDGPositions.Count > 0)
|
if (haz.IMDGPositions.Count > 0)
|
||||||
@ -1032,7 +1076,7 @@ namespace bsmd.dbh
|
|||||||
|
|
||||||
rootIMDG.UNNumber = imdgPos.UNNumber;
|
rootIMDG.UNNumber = imdgPos.UNNumber;
|
||||||
if (imdgPos.PackingGroup.HasValue)
|
if (imdgPos.PackingGroup.HasValue)
|
||||||
rootIMDG.PackingGroup = (PackingGroupType)imdgPos.PackingGroup.Value;
|
rootIMDG.PackingGroup = (DBHWebReference.PackingGroupType) imdgPos.PackingGroup.Value;
|
||||||
rootIMDG.ProperShippingName = imdgPos.ProperShippingName;
|
rootIMDG.ProperShippingName = imdgPos.ProperShippingName;
|
||||||
rootIMDG.IMOClass = imdgPos.IMOClass;
|
rootIMDG.IMOClass = imdgPos.IMOClass;
|
||||||
// rootIMDG.CompatibilityGroup = imdgPos.CompatibilityGroup;
|
// rootIMDG.CompatibilityGroup = imdgPos.CompatibilityGroup;
|
||||||
@ -1067,14 +1111,14 @@ namespace bsmd.dbh
|
|||||||
rootIMDG.SubsidiaryRisks[sCount] = imdgPos.SubsidiaryRiskList[sCount].SubsidiaryRisk;
|
rootIMDG.SubsidiaryRisks[sCount] = imdgPos.SubsidiaryRiskList[sCount].SubsidiaryRisk;
|
||||||
}
|
}
|
||||||
if (imdgPos.MarinePollutant.HasValue)
|
if (imdgPos.MarinePollutant.HasValue)
|
||||||
rootIMDG.MarinePollutant = imdgPos.MarinePollutant.Value ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N;
|
rootIMDG.MarinePollutant = imdgPos.MarinePollutant.Value ? DBHWebReference.RootSECValidISSCOnBoard.Y : DBHWebReference.RootSECValidISSCOnBoard.N;
|
||||||
if (imdgPos.NumberOfPackages.HasValue)
|
if (imdgPos.NumberOfPackages.HasValue)
|
||||||
rootIMDG.NumberOfPackages = imdgPos.NumberOfPackages.Value;
|
rootIMDG.NumberOfPackages = imdgPos.NumberOfPackages.Value;
|
||||||
rootIMDG.PackageType = imdgPos.PackageType;
|
rootIMDG.PackageType = imdgPos.PackageType;
|
||||||
if (imdgPos.LimitedQuantities.HasValue)
|
if (imdgPos.LimitedQuantities.HasValue)
|
||||||
rootIMDG.LimitedQuantities = imdgPos.LimitedQuantities.Value ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N;
|
rootIMDG.LimitedQuantities = imdgPos.LimitedQuantities.Value ? DBHWebReference.RootSECValidISSCOnBoard.Y : DBHWebReference.RootSECValidISSCOnBoard.N;
|
||||||
if (imdgPos.ExceptedQuantities.HasValue)
|
if (imdgPos.ExceptedQuantities.HasValue)
|
||||||
rootIMDG.ExceptedQuantities = imdgPos.ExceptedQuantities.Value ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N;
|
rootIMDG.ExceptedQuantities = imdgPos.ExceptedQuantities.Value ? DBHWebReference.RootSECValidISSCOnBoard.Y : DBHWebReference.RootSECValidISSCOnBoard.N;
|
||||||
rootIMDG.NetQuantity_KGMSpecified = imdgPos.NetQuantity_KGM.HasValue;
|
rootIMDG.NetQuantity_KGMSpecified = imdgPos.NetQuantity_KGM.HasValue;
|
||||||
if (imdgPos.NetQuantity_KGM.HasValue)
|
if (imdgPos.NetQuantity_KGM.HasValue)
|
||||||
rootIMDG.NetQuantity_KGM = decimal.Round((decimal)imdgPos.NetQuantity_KGM.Value, 3);
|
rootIMDG.NetQuantity_KGM = decimal.Round((decimal)imdgPos.NetQuantity_KGM.Value, 3);
|
||||||
@ -1086,7 +1130,7 @@ namespace bsmd.dbh
|
|||||||
rootIMDG.Volume_MTQ = decimal.Round((decimal)imdgPos.Volume_MTQ.Value, 3);
|
rootIMDG.Volume_MTQ = decimal.Round((decimal)imdgPos.Volume_MTQ.Value, 3);
|
||||||
rootIMDG.GeneralCargoIBCSpecified = imdgPos.GeneralCargoIBC.HasValue;
|
rootIMDG.GeneralCargoIBCSpecified = imdgPos.GeneralCargoIBC.HasValue;
|
||||||
if (imdgPos.GeneralCargoIBC.HasValue)
|
if (imdgPos.GeneralCargoIBC.HasValue)
|
||||||
rootIMDG.GeneralCargoIBC = imdgPos.GeneralCargoIBC.Value ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N;
|
rootIMDG.GeneralCargoIBC = imdgPos.GeneralCargoIBC.Value ? DBHWebReference.RootSECValidISSCOnBoard.Y : DBHWebReference.RootSECValidISSCOnBoard.N;
|
||||||
rootIMDG.ContainerNumber = imdgPos.ContainerNumber;
|
rootIMDG.ContainerNumber = imdgPos.ContainerNumber;
|
||||||
rootIMDG.VehicleLicenseNumber = imdgPos.VehicleLicenseNumber;
|
rootIMDG.VehicleLicenseNumber = imdgPos.VehicleLicenseNumber;
|
||||||
// rootIMDG.StowagePosition = imdgPos.StowagePosition;
|
// rootIMDG.StowagePosition = imdgPos.StowagePosition;
|
||||||
@ -1110,12 +1154,12 @@ namespace bsmd.dbh
|
|||||||
|
|
||||||
rootIBC.ProductName = ibcPos.ProductName;
|
rootIBC.ProductName = ibcPos.ProductName;
|
||||||
if (ibcPos.PollutionCategory.HasValue)
|
if (ibcPos.PollutionCategory.HasValue)
|
||||||
rootIBC.PollutionCategory = (PollutionCategoryType)ibcPos.PollutionCategory.Value;
|
rootIBC.PollutionCategory = (DBHWebReference.PollutionCategoryType)ibcPos.PollutionCategory.Value;
|
||||||
rootIBC.HazardsSpecified = ibcPos.Hazards.HasValue;
|
rootIBC.HazardsSpecified = ibcPos.Hazards.HasValue;
|
||||||
if (ibcPos.Hazards.HasValue)
|
if (ibcPos.Hazards.HasValue)
|
||||||
rootIBC.Hazards = (HazardType)ibcPos.Hazards.Value;
|
rootIBC.Hazards = (DBHWebReference.HazardType) ibcPos.Hazards.Value;
|
||||||
if (ibcPos.FlashpointInformation.HasValue)
|
if (ibcPos.FlashpointInformation.HasValue)
|
||||||
rootIBC.FlashpointInformation = (FlashpointInfoType)ibcPos.FlashpointInformation.Value;
|
rootIBC.FlashpointInformation = (DBHWebReference.FlashpointInfoType) ibcPos.FlashpointInformation.Value;
|
||||||
rootIBC.Flashpoint_CEL = ibcPos.Flashpoint_CEL;
|
rootIBC.Flashpoint_CEL = ibcPos.Flashpoint_CEL;
|
||||||
if (ibcPos.Quantity_KGM.HasValue)
|
if (ibcPos.Quantity_KGM.HasValue)
|
||||||
rootIBC.Quantity_KGM = decimal.Round((decimal)ibcPos.Quantity_KGM.Value, 3);
|
rootIBC.Quantity_KGM = decimal.Round((decimal)ibcPos.Quantity_KGM.Value, 3);
|
||||||
@ -1124,7 +1168,7 @@ namespace bsmd.dbh
|
|||||||
rootIBC.PortOfDischarge = ibcPos.PortOfDischarge;
|
rootIBC.PortOfDischarge = ibcPos.PortOfDischarge;
|
||||||
rootIBC.SpecRef15_19Specified = ibcPos.SpecRef15_19.HasValue;
|
rootIBC.SpecRef15_19Specified = ibcPos.SpecRef15_19.HasValue;
|
||||||
if (ibcPos.SpecRef15_19.HasValue)
|
if (ibcPos.SpecRef15_19.HasValue)
|
||||||
rootIBC.SpecRef15_19 = ibcPos.SpecRef15_19.Value ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N;
|
rootIBC.SpecRef15_19 = ibcPos.SpecRef15_19.Value ? DBHWebReference.RootSECValidISSCOnBoard.Y : DBHWebReference.RootSECValidISSCOnBoard.N;
|
||||||
rootIBC.Remarks = ibcPos.Remarks;
|
rootIBC.Remarks = ibcPos.Remarks;
|
||||||
|
|
||||||
dpgOnArrival.DPGItemIBC[i] = rootIBC;
|
dpgOnArrival.DPGItemIBC[i] = rootIBC;
|
||||||
@ -1167,7 +1211,7 @@ namespace bsmd.dbh
|
|||||||
|
|
||||||
rootIMSBC.BulkCargoShippingName = imsbcPos.BulkCargoShippingName;
|
rootIMSBC.BulkCargoShippingName = imsbcPos.BulkCargoShippingName;
|
||||||
if (imsbcPos.MHB.HasValue)
|
if (imsbcPos.MHB.HasValue)
|
||||||
rootIMSBC.MHB = imsbcPos.MHB.Value ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N;
|
rootIMSBC.MHB = imsbcPos.MHB.Value ? DBHWebReference.RootSECValidISSCOnBoard.Y : DBHWebReference.RootSECValidISSCOnBoard.N;
|
||||||
rootIMSBC.UNNumber = imsbcPos.UNNumber;
|
rootIMSBC.UNNumber = imsbcPos.UNNumber;
|
||||||
rootIMSBC.IMOClass = imsbcPos.IMOClass;
|
rootIMSBC.IMOClass = imsbcPos.IMOClass;
|
||||||
if (imsbcPos.Quantity_KGM.HasValue)
|
if (imsbcPos.Quantity_KGM.HasValue)
|
||||||
@ -1185,15 +1229,15 @@ namespace bsmd.dbh
|
|||||||
#region MARPOL_ANNEX_I
|
#region MARPOL_ANNEX_I
|
||||||
if (haz.MARPOLPositions.Count > 0)
|
if (haz.MARPOLPositions.Count > 0)
|
||||||
{
|
{
|
||||||
dpgOnArrival.DPGItemMARPOLAnnexI = new MARPOLPosition[haz.MARPOLPositions.Count];
|
dpgOnArrival.DPGItemMARPOLAnnexI = new DBHWebReference.MARPOLPosition[haz.MARPOLPositions.Count];
|
||||||
for (int i = 0; i < haz.MARPOLPositions.Count; i++)
|
for (int i = 0; i < haz.MARPOLPositions.Count; i++)
|
||||||
{
|
{
|
||||||
MARPOLPosition rootMarpol = new MARPOLPosition();
|
DBHWebReference.MARPOLPosition rootMarpol = new DBHWebReference.MARPOLPosition();
|
||||||
MARPOL_Annex_I_Position marpolPos = haz.MARPOLPositions[i];
|
MARPOL_Annex_I_Position marpolPos = haz.MARPOLPositions[i];
|
||||||
|
|
||||||
rootMarpol.Name = marpolPos.Name;
|
rootMarpol.Name = marpolPos.Name;
|
||||||
if (marpolPos.FlashpointInformation.HasValue)
|
if (marpolPos.FlashpointInformation.HasValue)
|
||||||
rootMarpol.FlashpointInformation = (FlashpointInfoType)marpolPos.FlashpointInformation.Value;
|
rootMarpol.FlashpointInformation = (DBHWebReference.FlashpointInfoType) marpolPos.FlashpointInformation.Value;
|
||||||
rootMarpol.Flashpoint_CEL = marpolPos.Flashpoint_CEL;
|
rootMarpol.Flashpoint_CEL = marpolPos.Flashpoint_CEL;
|
||||||
if (marpolPos.Quantity_KGM.HasValue)
|
if (marpolPos.Quantity_KGM.HasValue)
|
||||||
rootMarpol.Quantity_KGM = decimal.Round((decimal)marpolPos.Quantity_KGM.Value, 3);
|
rootMarpol.Quantity_KGM = decimal.Round((decimal)marpolPos.Quantity_KGM.Value, 3);
|
||||||
@ -1495,7 +1539,10 @@ namespace bsmd.dbh
|
|||||||
|
|
||||||
_log.InfoFormat("Send Url: {0}", client.Url);
|
_log.InfoFormat("Send Url: {0}", client.Url);
|
||||||
|
|
||||||
|
RootVersion rootVersion = RootVersion.Item40;
|
||||||
|
|
||||||
string result = client.Root(
|
string result = client.Root(
|
||||||
|
rootVersion,
|
||||||
version,
|
version,
|
||||||
timestamp,
|
timestamp,
|
||||||
Properties.Settings.Default.Sender, // BSMD sender Kennung (festverdrahtet)
|
Properties.Settings.Default.Sender, // BSMD sender Kennung (festverdrahtet)
|
||||||
|
|||||||
@ -6,17 +6,24 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element minOccurs="0" name="Version">
|
<xs:element minOccurs="1" maxOccurs="1" name="Version">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Version number of schema</xs:documentation>
|
<xs:documentation>Version number of schema</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:simpleType>
|
<xs:simpleType>
|
||||||
<xs:restriction base="xs:string">
|
<xs:restriction base="xs:string">
|
||||||
<xs:minLength value="1" />
|
<xs:enumeration value="4.0" />
|
||||||
<xs:maxLength value="5" />
|
|
||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="SourceDocumentVersion">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Version information of the source (e.g. file or document) from which the data of this message originates</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string" />
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="Timestamp" type="xs:dateTime">
|
<xs:element name="Timestamp" type="xs:dateTime">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Timestamp, when the message is sent</xs:documentation>
|
<xs:documentation>Timestamp, when the message is sent</xs:documentation>
|
||||||
@ -177,7 +184,7 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="ReportingParty" type="ReportingParty" />
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty" />
|
||||||
<xs:element name="AgentCompanyName" type="String99">
|
<xs:element name="AgentCompanyName" type="String99">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Name of ship agency</xs:documentation>
|
<xs:documentation>Name of ship agency</xs:documentation>
|
||||||
@ -185,8 +192,7 @@
|
|||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element minOccurs="0" name="AgentStreetAndNumber" type="String99">
|
<xs:element minOccurs="0" name="AgentStreetAndNumber" type="String99">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Street, Number
|
<xs:documentation>Street, Number</xs:documentation>
|
||||||
</xs:documentation>
|
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element minOccurs="0" name="AgentPostalCode" type="String24">
|
<xs:element minOccurs="0" name="AgentPostalCode" type="String24">
|
||||||
@ -340,7 +346,8 @@
|
|||||||
<xs:element name="ATAPortOfCall" type="NswDateTime">
|
<xs:element name="ATAPortOfCall" type="NswDateTime">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Actual Time of Arrival (ATA) at first port facility in port of call (YYYY-MM-DDThh:mm:ssTZD).
|
<xs:documentation>Actual Time of Arrival (ATA) at first port facility in port of call (YYYY-MM-DDThh:mm:ssTZD).
|
||||||
The provided value must not be more than 15 minutes in the future, otherwise Violation 141 will occur.</xs:documentation>
|
The provided value must not be more than 15 minutes in the future, otherwise Violation 141 will occur.
|
||||||
|
If ATA is notified before any voyage information was provided via NOA_NOD, Violation 861 will occur.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
@ -360,7 +367,9 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
<xs:element name="ATDPortOfCall" type="NswDateTime">
|
<xs:element name="ATDPortOfCall" type="NswDateTime">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Actual Time of Departure (ATD) from last port facility in port of call (YYYY-MM-DDThh:mm:ssTZD).
|
<xs:documentation>Actual Time of Departure (ATD) from last port facility in port of call (YYYY-MM-DDThh:mm:ssTZD).
|
||||||
The provided value must not be more than 15 minutes in the future, otherwise Violation 141 will occur.</xs:documentation>
|
The provided value must not be more than 15 minutes in the future, otherwise Violation 141 will occur.
|
||||||
|
If ATD is notified before any voyage information was provided via NOA_NOD, Violation 881 will occur.
|
||||||
|
If ATD is notified before ATA was provided, Violation 882 will occur.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
@ -377,6 +386,36 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
<xs:documentation>Reporter data</xs:documentation>
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="KielCanalPassage">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Information about a planned Kiel Canal Passage.
|
||||||
|
This attribute is only applicable for a port call (VISIT). If it is provided for a TRANSIT, Violation 705 occurs.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="KielCanalPassagePlanned" type="FixedStringY">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Identification for a planned Kiel-Canal passage (fixed value Y)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="KielCanalPassagePlannedIncoming" type="NswDateTime">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Estimated Time of Arrival at Kiel-Canal Lock (ETA-NOK) - Date incoming journey to PortOfCall. Mandatory if KielCanalPassagePlanned=Y and KielCanalPassagePlannedOutgoing is empty.
|
||||||
|
If neither KielCanalPassagePlannedIncoming nor KielCanalPassagePlannedOutgoing is provided, Violation 706 occurs.
|
||||||
|
|
||||||
|
</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="KielCanalPassagePlannedOutgoing" type="NswDateTime">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Estimated Time of Arrival at Kiel-Canal Lock (ETA-NOK) - Date outgoing journey from PortOfCall. Mandatory if KielCanalPassagePlanned=Y and KielCanalPassagePlannedIncoming is empty.
|
||||||
|
If neither KielCanalPassagePlannedIncoming nor KielCanalPassagePlannedOutgoing is provided, Violation 706 occurs.
|
||||||
|
</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="CurrentShipSecurityLevel" type="ShipSecurityLevel">
|
<xs:element name="CurrentShipSecurityLevel" type="ShipSecurityLevel">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Current ship security level (1-3)</xs:documentation>
|
<xs:documentation>Current ship security level (1-3)</xs:documentation>
|
||||||
@ -525,7 +564,7 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="ShipToShipActivities">
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="ShipToShipActivities">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Ship-to-ship acitivities</xs:documentation>
|
<xs:documentation>List of ship-to-ship acitivities</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
@ -574,7 +613,18 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
<xs:documentation>Date to (YYYY-MM-DD in GMT)</xs:documentation>
|
<xs:documentation>Date to (YYYY-MM-DD in GMT)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="ShipToShipActivityType" type="String255" />
|
<xs:element name="ShipToShipActivityType">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Ship-to-ship-activity, coded.
|
||||||
|
Use one of the codes specifying the purpose of the conveyance call declared in UN/EDIFACT DataElement 8025 (http://www.unece.org/trade/untdid/d01a/tred/tred8025.htm).</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:int">
|
||||||
|
<xs:minInclusive value="1" />
|
||||||
|
<xs:maxInclusive value="23" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
<xs:element minOccurs="0" name="ShipToShipActivitySecurityMattersToReport" type="String255" />
|
<xs:element minOccurs="0" name="ShipToShipActivitySecurityMattersToReport" type="String255" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
@ -976,9 +1026,20 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
<xs:documentation>Cargo handling type (load or discharge)</xs:documentation>
|
<xs:documentation>Cargo handling type (load or discharge)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="CargoLACode">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Cargo type code according to the key list of cargo types and units</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:int">
|
||||||
|
<xs:minInclusive value="10" />
|
||||||
|
<xs:maxInclusive value="99" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="CargoCodeNST">
|
<xs:element name="CargoCodeNST">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Cargo code according to Cargo catalogue Attachment 1 - NST2007</xs:documentation>
|
<xs:documentation>Division code of cargo according to NST-2007</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:simpleType>
|
<xs:simpleType>
|
||||||
<xs:restriction base="xs:string">
|
<xs:restriction base="xs:string">
|
||||||
@ -986,6 +1047,16 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="CargoCodeNST_3">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Group code of cargo according to NST-2007 (3rd digit after the "." (dot) of the group code only!)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:pattern value="[0-9AB]{1}" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
<xs:element minOccurs="0" name="CargoNumberOfItems">
|
<xs:element minOccurs="0" name="CargoNumberOfItems">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Cargo quantity. Required if CargoCodeNST equals 11, 12, 16 or 19 (see Cargo catalogue Attachment 1 - NST2007). Throws Violation 721 if field is omitted of empty.</xs:documentation>
|
<xs:documentation>Cargo quantity. Required if CargoCodeNST equals 11, 12, 16 or 19 (see Cargo catalogue Attachment 1 - NST2007). Throws Violation 721 if field is omitted of empty.</xs:documentation>
|
||||||
@ -1001,6 +1072,16 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
<xs:documentation>Gross quantity in tons (TNE)</xs:documentation>
|
<xs:documentation>Gross quantity in tons (TNE)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="CargoPortOfLoading" type="UnLoCode">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>LoCode of port where the cargo was loaded on board (UNECE LOCODE) or ZZUKN if unknown</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="CargoPortOfDischarge" type="UnLoCode">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>LoCode of port where the cargo will be discharged (UNECE LOCODE) or ZZUKN if unknown</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
@ -1147,7 +1228,7 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
<xs:documentation>Nature of cargo</xs:documentation>
|
<xs:documentation>Nature of cargo</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element minOccurs="0" name="VolumeOfCargo_Cargo_TNE" type="DecimalPositive3">
|
<xs:element minOccurs="0" name="VolumeOfCargo_TNE" type="DecimalPositive3">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Volume of cargo in tons (TNE)</xs:documentation>
|
<xs:documentation>Volume of cargo in tons (TNE)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
@ -1449,25 +1530,46 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
<xs:documentation>Waste disposal order type (all, some, none)</xs:documentation>
|
<xs:documentation>Waste disposal order type (all, some, none)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element minOccurs="9" maxOccurs="9" name="Waste">
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="Waste">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>For each type of waste (see field WasteType) exactly one element is mandatory. This format simplification is only used to simplify transfer between information systems (see also Directive RL2000/59 Art. 6 of Annex II). Results in Violation 783 if one or more waste types are omitted.</xs:documentation>
|
<xs:documentation>All waste types provided in Directive 2015/2087 Annex II must be provided (except for Sewage) at least once. Results in Violation 783 if one or more mandatory waste types are omitted.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="WasteType" type="WasteType">
|
<xs:element name="WasteType">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Waste/Cargo residues type to be disposed: waste oils (sludge), waste oils (bilge water), other waste oils, food waste, plastic garbage, sewage, cargo-associated waste, and cargo residues.</xs:documentation>
|
<xs:documentation>Type of waste to be disposed</xs:documentation>
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element minOccurs="0" name="WasteDescription" type="String99">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Description for type 3, 8, and 9. Required for those type. Will otherwise result in Violation 781.</xs:documentation>
|
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="WasteCode">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Waste code according to Waste Type Codes list. Results in Violation 784 if an invalid waste code is provided.
|
||||||
|
</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:int">
|
||||||
|
<xs:minInclusive value="1000" />
|
||||||
|
<xs:maxInclusive value="9999" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="WasteDescription" type="String99">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Textual description, required for those waste types marked in the Waste Type Codes list. Will otherwise result in Violation 781.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="WasteDisposalAmount_MTQ" type="DecimalZeroPositive3">
|
<xs:element name="WasteDisposalAmount_MTQ" type="DecimalZeroPositive3">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Amount of this type to be disposed in cubic meters (MTQ)</xs:documentation>
|
<xs:documentation>Amount of waste of this waste type to be disposed in cubic meters (MTQ)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="WasteDisposedAtLastPort_MTQ" type="DecimalZeroPositive3">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Amount of waste of this type that has been discharged at the last port of disposal in cubic meters (MTQ)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element minOccurs="0" name="WasteDetails">
|
<xs:element minOccurs="0" name="WasteDetails">
|
||||||
@ -1478,12 +1580,12 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="WasteCapacity_MTQ" type="DecimalZeroPositive3">
|
<xs:element name="WasteCapacity_MTQ" type="DecimalZeroPositive3">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Maximum dedicated storage capacity of this type on board in cubic meters (MTQ)</xs:documentation>
|
<xs:documentation>Maximum dedicated storage capacity of waste of this type on board in cubic meters (MTQ)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="WasteAmountRetained_MTQ" type="DecimalZeroPositive3">
|
<xs:element name="WasteAmountRetained_MTQ" type="DecimalZeroPositive3">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Amount of this type retained on board in cubic meters (MTQ)</xs:documentation>
|
<xs:documentation>Amount of waste of this type retained on board in cubic meters (MTQ)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="WasteDisposalPort" type="UnLoCode">
|
<xs:element name="WasteDisposalPort" type="UnLoCode">
|
||||||
@ -1493,7 +1595,7 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="WasteAmountGeneratedTillNextPort_MTQ" type="DecimalZeroPositive3">
|
<xs:element name="WasteAmountGeneratedTillNextPort_MTQ" type="DecimalZeroPositive3">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Estimated waste/cargo residues amount of each type generated between port of call and next port in cubic meters (MTQ)</xs:documentation>
|
<xs:documentation>Estimated waste/cargo residues amount of waste of this type generated between port of call and next port in cubic meters (MTQ)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
@ -1502,9 +1604,9 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="ConfirmationOfCorrectness" type="YesOrNo">
|
<xs:element name="ConfirmationOfCorrectnessAndSufficiency" type="FixedStringY">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Accurate and correct details given? (y/n)</xs:documentation>
|
<xs:documentation>Confirmation that the above details are accurate and correct, and there is sufficient dedicated onboard capacity to store all waste generated between notification and the next port at which waste will be delivered (fixed value Y).</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -63,7 +63,6 @@
|
|||||||
<Compile Include="..\bsmd.database\Properties\AssemblyProjectKeyInfo.cs">
|
<Compile Include="..\bsmd.database\Properties\AssemblyProjectKeyInfo.cs">
|
||||||
<Link>Properties\AssemblyProjectKeyInfo.cs</Link>
|
<Link>Properties\AssemblyProjectKeyInfo.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="NSWRequest.cs" />
|
|
||||||
<Compile Include="NSWResponse.designer.cs" />
|
<Compile Include="NSWResponse.designer.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<Compile Include="Properties\Settings.Designer.cs">
|
<Compile Include="Properties\Settings.Designer.cs">
|
||||||
|
|||||||
@ -46,7 +46,8 @@ namespace bsmd.herberg.FormService
|
|||||||
public enum CargoHandlingType : byte
|
public enum CargoHandlingType : byte
|
||||||
{
|
{
|
||||||
LOAD,
|
LOAD,
|
||||||
DISCHARGE
|
DISCHARGE,
|
||||||
|
TRANSIT
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum ShippingArea : byte
|
public enum ShippingArea : byte
|
||||||
|
|||||||
@ -365,7 +365,7 @@ namespace bsmd.herberg.FormService
|
|||||||
noa_nod.LastPort = vDict["CountryCodeOfLastPort"] + vDict["LastPortCode"];
|
noa_nod.LastPort = vDict["CountryCodeOfLastPort"] + vDict["LastPortCode"];
|
||||||
if (vDict.ContainsKey("CountryCodeOfNextPort") && vDict.ContainsKey("NextPortCode"))
|
if (vDict.ContainsKey("CountryCodeOfNextPort") && vDict.ContainsKey("NextPortCode"))
|
||||||
noa_nod.NextPort = vDict["CountryCodeOfNextPort"] + vDict["NextPortCode"];
|
noa_nod.NextPort = vDict["CountryCodeOfNextPort"] + vDict["NextPortCode"];
|
||||||
|
if (vDict.ContainsKey("IsAnchored")) noa_nod.IsAnchored = vDict["IsAnchored"].Equals("Y");
|
||||||
foreach (int key in nDict.Keys)
|
foreach (int key in nDict.Keys)
|
||||||
{
|
{
|
||||||
Dictionary<string, string> subvDict = nDict[key];
|
Dictionary<string, string> subvDict = nDict[key];
|
||||||
@ -443,7 +443,10 @@ namespace bsmd.herberg.FormService
|
|||||||
if (vDict.ContainsKey("ISMCompanyCountry")) stat.ISMCompanyCountry = vDict["ISMCompanyCountry"];
|
if (vDict.ContainsKey("ISMCompanyCountry")) stat.ISMCompanyCountry = vDict["ISMCompanyCountry"];
|
||||||
if (stat.Flag.IsNullOrEmpty() && vDict.ContainsKey("CountryCodeOfRegistry"))
|
if (stat.Flag.IsNullOrEmpty() && vDict.ContainsKey("CountryCodeOfRegistry"))
|
||||||
stat.Flag = vDict["CountryCodeOfRegistry"];
|
stat.Flag = vDict["CountryCodeOfRegistry"];
|
||||||
if (vDict.ContainsKey("TransportMode")) stat.TransportMode = vDict["TransportMode"];
|
if (vDict.ContainsKey("TransportMode")) stat.TransportMode = vDict["TransportMode"];
|
||||||
|
if (vDict.ContainsKey("NetTonnage")) stat.NetTonnage = Extensions.TryParseDouble(vDict["NetTonnage"]);
|
||||||
|
if (vDict.ContainsKey("RegistryDate")) stat.RegistryDate = Extensions.TryParseDateTime(vDict["RegistryDate"]);
|
||||||
|
if (vDict.ContainsKey("CertificateOfRegistryNumber")) stat.CertificateOfRegistryNumber = vDict["CertificateOfRegistryNumber"];
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@ -940,6 +943,7 @@ namespace bsmd.herberg.FormService
|
|||||||
if (vDict.ContainsKey("BowThrusterPower")) info.BowThrusterPower = vDict["BowThrusterPower"];
|
if (vDict.ContainsKey("BowThrusterPower")) info.BowThrusterPower = vDict["BowThrusterPower"];
|
||||||
if (vDict.ContainsKey("SternThrusterPower")) info.SternThrusterPower = vDict["SternThrusterPower"];
|
if (vDict.ContainsKey("SternThrusterPower")) info.SternThrusterPower = vDict["SternThrusterPower"];
|
||||||
if (vDict.ContainsKey("DeadWeightSummer_TNE")) info.DeplacementSummerDraught_TNE = Extensions.TryParseDouble(vDict["DeadWeightSummer_TNE"]);
|
if (vDict.ContainsKey("DeadWeightSummer_TNE")) info.DeplacementSummerDraught_TNE = Extensions.TryParseDouble(vDict["DeadWeightSummer_TNE"]);
|
||||||
|
if (vDict.ContainsKey("PortFacility")) info.PortFacility = vDict["PortFacility"];
|
||||||
|
|
||||||
}
|
}
|
||||||
catch(Exception ex)
|
catch(Exception ex)
|
||||||
@ -977,6 +981,8 @@ namespace bsmd.herberg.FormService
|
|||||||
if (vDict.ContainsKey("PlannedWorks")) pre72h.PlannedWorks = vDict["PlannedWorks"];
|
if (vDict.ContainsKey("PlannedWorks")) pre72h.PlannedWorks = vDict["PlannedWorks"];
|
||||||
if (vDict.ContainsKey("DateOfLastExpandedInspection")) pre72h.DateOfLastExpandedInspection = Extensions.TryParseDateTime(vDict["DateOfLastExpandedInspection"]);
|
if (vDict.ContainsKey("DateOfLastExpandedInspection")) pre72h.DateOfLastExpandedInspection = Extensions.TryParseDateTime(vDict["DateOfLastExpandedInspection"]);
|
||||||
if (vDict.ContainsKey("PlannedPeriodOfStay_HUR")) pre72h.PlannedPeriodOfStay_HUR = Extensions.TryParseDouble(vDict["PlannedPeriodOfStay_HUR"]);
|
if (vDict.ContainsKey("PlannedPeriodOfStay_HUR")) pre72h.PlannedPeriodOfStay_HUR = Extensions.TryParseDouble(vDict["PlannedPeriodOfStay_HUR"]);
|
||||||
|
if (vDict.ContainsKey("IsDueToInspection")) pre72h.IsDueToInspection = vDict["IsDueToInspection"].Equals("Y");
|
||||||
|
if (vDict.ContainsKey("PossibleAnchorage")) pre72h.PossibleAnchorage = vDict["PossibleAnchorage"].Equals("Y");
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@ -1008,6 +1014,8 @@ namespace bsmd.herberg.FormService
|
|||||||
if (lDict.ContainsKey("CargoNumberOfItems")) ladg.CargoNumberOfItems = Int32.Parse(lDict["CargoNumberOfItems"]);
|
if (lDict.ContainsKey("CargoNumberOfItems")) ladg.CargoNumberOfItems = Int32.Parse(lDict["CargoNumberOfItems"]);
|
||||||
if (lDict.ContainsKey("CargoCodeNST")) ladg.CargoCodeNST = lDict["CargoCodeNST"];
|
if (lDict.ContainsKey("CargoCodeNST")) ladg.CargoCodeNST = lDict["CargoCodeNST"];
|
||||||
if (lDict.ContainsKey("CargoHandlingType")) ladg.CargoHandlingType = (byte) Enum.Parse(typeof(Enums.CargoHandlingType), lDict["CargoHandlingType"].ToUpper());
|
if (lDict.ContainsKey("CargoHandlingType")) ladg.CargoHandlingType = (byte) Enum.Parse(typeof(Enums.CargoHandlingType), lDict["CargoHandlingType"].ToUpper());
|
||||||
|
if (lDict.ContainsKey("CargoPortOfLoading")) ladg.PortOfLoading = lDict["CargoPortOfLoading"];
|
||||||
|
if (lDict.ContainsKey("CargoPortOfDischarge")) ladg.PortOfDischarge = lDict["CargoPortOfDischarge"];
|
||||||
|
|
||||||
saveMessages.Add(ladg);
|
saveMessages.Add(ladg);
|
||||||
}
|
}
|
||||||
@ -1026,6 +1034,35 @@ namespace bsmd.herberg.FormService
|
|||||||
break;
|
break;
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region STO
|
||||||
|
case "STO":
|
||||||
|
{
|
||||||
|
Dictionary<string, string> keysInMessage = new Dictionary<string, string>();
|
||||||
|
foreach (int key in nDict.Keys)
|
||||||
|
{
|
||||||
|
Dictionary<string, string> lDict = nDict[key];
|
||||||
|
keysInMessage.Add(key.ToString(), key.ToString());
|
||||||
|
STO sto = theMessage.GetSublistElementWithIdentifier(key.ToString()) as STO;
|
||||||
|
if (sto == null)
|
||||||
|
{
|
||||||
|
sto = new STO();
|
||||||
|
sto.MessageHeader = theMessage;
|
||||||
|
sto.Identifier = key.ToString();
|
||||||
|
theMessage.MessageNotificationClass = Message.NotificationClass.STO;
|
||||||
|
theMessage.Elements.Add(sto);
|
||||||
|
}
|
||||||
|
if (lDict.ContainsKey("Name")) sto.Name = lDict["Name"];
|
||||||
|
if (lDict.ContainsKey("Quantity")) sto.Quantity = Int32.Parse(lDict["Quantity"]);
|
||||||
|
if (lDict.ContainsKey("QuantityUnit")) sto.QuantityUnit = lDict["QuantityUnit"];
|
||||||
|
if (lDict.ContainsKey("LocationOnBoard")) sto.LocationOnBoard = lDict["LocationOnBoard"];
|
||||||
|
if (lDict.ContainsKey("OfficialUse")) sto.OfficialUse = lDict["OfficialUse"];
|
||||||
|
|
||||||
|
saveMessages.Add(sto);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region PAS
|
#region PAS
|
||||||
case "PAS":
|
case "PAS":
|
||||||
{
|
{
|
||||||
@ -1283,7 +1320,9 @@ namespace bsmd.herberg.FormService
|
|||||||
if (vDict.ContainsKey("CurrentShipSecurityLevel ")) sec.CurrentShipSecurityLevel = Byte.Parse(vDict["CurrentShipSecurityLevel "]);
|
if (vDict.ContainsKey("CurrentShipSecurityLevel ")) sec.CurrentShipSecurityLevel = Byte.Parse(vDict["CurrentShipSecurityLevel "]);
|
||||||
if (vDict.ContainsKey("PortFacilityOfArrival")) sec.PortFacilityOfArrival = vDict["PortFacilityOfArrival"];
|
if (vDict.ContainsKey("PortFacilityOfArrival")) sec.PortFacilityOfArrival = vDict["PortFacilityOfArrival"];
|
||||||
if (vDict.ContainsKey("GeneralDescriptionOfCargo")) sec.GeneralDescriptionOfCargo = (byte)Enum.Parse(typeof(Enums.GeneralDescriptionOfCargo), vDict["GeneralDescriptionOfCargo"], true);
|
if (vDict.ContainsKey("GeneralDescriptionOfCargo")) sec.GeneralDescriptionOfCargo = (byte)Enum.Parse(typeof(Enums.GeneralDescriptionOfCargo), vDict["GeneralDescriptionOfCargo"], true);
|
||||||
|
if (vDict.ContainsKey("AreMatterToReport")) sec.AreMatterToReport = vDict["AreMatterToReport"].Equals("Y");
|
||||||
|
if (vDict.ContainsKey("MatterToReport")) sec.MatterToReport = vDict["MatterToReport"];
|
||||||
|
|
||||||
// process sublists
|
// process sublists
|
||||||
|
|
||||||
foreach (int key in nDict.Keys)
|
foreach (int key in nDict.Keys)
|
||||||
@ -1577,6 +1616,8 @@ namespace bsmd.herberg.FormService
|
|||||||
{
|
{
|
||||||
_log.DebugFormat("TransmissionType: {0}", vDict["TransmissionType"]);
|
_log.DebugFormat("TransmissionType: {0}", vDict["TransmissionType"]);
|
||||||
}
|
}
|
||||||
|
if (vDict.ContainsKey("DPGContactPhone")) haz.DPGContactPhone = vDict["DPGContactPhone"];
|
||||||
|
if (vDict.ContainsKey("DPGContactFamilyName")) haz.DPGContactFamilyName = vDict["DPGContactFamilyName"];
|
||||||
|
|
||||||
Dictionary<int, Dictionary<string, string>> subDict = null;
|
Dictionary<int, Dictionary<string, string>> subDict = null;
|
||||||
|
|
||||||
|
|||||||
4
nsw/Source/bsmd.hisnord/packages.config
Normal file
4
nsw/Source/bsmd.hisnord/packages.config
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="log4net" version="2.0.7" targetFramework="net45" />
|
||||||
|
</packages>
|
||||||
@ -7,17 +7,24 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element minOccurs="0" name="Version">
|
<xs:element minOccurs="1" maxOccurs="1" name="Version">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Version number of schema</xs:documentation>
|
<xs:documentation>Version number of schema</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:simpleType>
|
<xs:simpleType>
|
||||||
<xs:restriction base="xs:string">
|
<xs:restriction base="xs:string">
|
||||||
<xs:minLength value="1" />
|
<xs:enumeration value="4.0" />
|
||||||
<xs:maxLength value="5" />
|
|
||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="SourceDocumentVersion">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Version information of the source (e.g. file or document) from which the data of this message originates</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string" />
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="Timestamp" type="xs:dateTime">
|
<xs:element name="Timestamp" type="xs:dateTime">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Timestamp, when the message is sent</xs:documentation>
|
<xs:documentation>Timestamp, when the message is sent</xs:documentation>
|
||||||
@ -178,7 +185,7 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="ReportingParty" type="ReportingParty" />
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty" />
|
||||||
<xs:element name="AgentCompanyName" type="String99">
|
<xs:element name="AgentCompanyName" type="String99">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Name of ship agency</xs:documentation>
|
<xs:documentation>Name of ship agency</xs:documentation>
|
||||||
@ -186,8 +193,7 @@
|
|||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element minOccurs="0" name="AgentStreetAndNumber" type="String99">
|
<xs:element minOccurs="0" name="AgentStreetAndNumber" type="String99">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Street, Number
|
<xs:documentation>Street, Number</xs:documentation>
|
||||||
</xs:documentation>
|
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element minOccurs="0" name="AgentPostalCode" type="String24">
|
<xs:element minOccurs="0" name="AgentPostalCode" type="String24">
|
||||||
@ -341,7 +347,8 @@
|
|||||||
<xs:element name="ATAPortOfCall" type="NswDateTime">
|
<xs:element name="ATAPortOfCall" type="NswDateTime">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Actual Time of Arrival (ATA) at first port facility in port of call (YYYY-MM-DDThh:mm:ssTZD).
|
<xs:documentation>Actual Time of Arrival (ATA) at first port facility in port of call (YYYY-MM-DDThh:mm:ssTZD).
|
||||||
The provided value must not be more than 15 minutes in the future, otherwise Violation 141 will occur.</xs:documentation>
|
The provided value must not be more than 15 minutes in the future, otherwise Violation 141 will occur.
|
||||||
|
If ATA is notified before any voyage information was provided via NOA_NOD, Violation 861 will occur.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
@ -361,7 +368,9 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
<xs:element name="ATDPortOfCall" type="NswDateTime">
|
<xs:element name="ATDPortOfCall" type="NswDateTime">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Actual Time of Departure (ATD) from last port facility in port of call (YYYY-MM-DDThh:mm:ssTZD).
|
<xs:documentation>Actual Time of Departure (ATD) from last port facility in port of call (YYYY-MM-DDThh:mm:ssTZD).
|
||||||
The provided value must not be more than 15 minutes in the future, otherwise Violation 141 will occur.</xs:documentation>
|
The provided value must not be more than 15 minutes in the future, otherwise Violation 141 will occur.
|
||||||
|
If ATD is notified before any voyage information was provided via NOA_NOD, Violation 881 will occur.
|
||||||
|
If ATD is notified before ATA was provided, Violation 882 will occur.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
@ -378,6 +387,36 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
<xs:documentation>Reporter data</xs:documentation>
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="KielCanalPassage">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Information about a planned Kiel Canal Passage.
|
||||||
|
This attribute is only applicable for a port call (VISIT). If it is provided for a TRANSIT, Violation 705 occurs.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="KielCanalPassagePlanned" type="FixedStringY">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Identification for a planned Kiel-Canal passage (fixed value Y)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="KielCanalPassagePlannedIncoming" type="NswDateTime">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Estimated Time of Arrival at Kiel-Canal Lock (ETA-NOK) - Date incoming journey to PortOfCall. Mandatory if KielCanalPassagePlanned=Y and KielCanalPassagePlannedOutgoing is empty.
|
||||||
|
If neither KielCanalPassagePlannedIncoming nor KielCanalPassagePlannedOutgoing is provided, Violation 706 occurs.
|
||||||
|
|
||||||
|
</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="KielCanalPassagePlannedOutgoing" type="NswDateTime">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Estimated Time of Arrival at Kiel-Canal Lock (ETA-NOK) - Date outgoing journey from PortOfCall. Mandatory if KielCanalPassagePlanned=Y and KielCanalPassagePlannedIncoming is empty.
|
||||||
|
If neither KielCanalPassagePlannedIncoming nor KielCanalPassagePlannedOutgoing is provided, Violation 706 occurs.
|
||||||
|
</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="CurrentShipSecurityLevel" type="ShipSecurityLevel">
|
<xs:element name="CurrentShipSecurityLevel" type="ShipSecurityLevel">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Current ship security level (1-3)</xs:documentation>
|
<xs:documentation>Current ship security level (1-3)</xs:documentation>
|
||||||
@ -526,7 +565,7 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="ShipToShipActivities">
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="ShipToShipActivities">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Ship-to-ship acitivities</xs:documentation>
|
<xs:documentation>List of ship-to-ship acitivities</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
@ -575,7 +614,18 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
<xs:documentation>Date to (YYYY-MM-DD in GMT)</xs:documentation>
|
<xs:documentation>Date to (YYYY-MM-DD in GMT)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="ShipToShipActivityType" type="String255" />
|
<xs:element name="ShipToShipActivityType">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Ship-to-ship-activity, coded.
|
||||||
|
Use one of the codes specifying the purpose of the conveyance call declared in UN/EDIFACT DataElement 8025 (http://www.unece.org/trade/untdid/d01a/tred/tred8025.htm).</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:int">
|
||||||
|
<xs:minInclusive value="1" />
|
||||||
|
<xs:maxInclusive value="23" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
<xs:element minOccurs="0" name="ShipToShipActivitySecurityMattersToReport" type="String255" />
|
<xs:element minOccurs="0" name="ShipToShipActivitySecurityMattersToReport" type="String255" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
@ -977,9 +1027,20 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
<xs:documentation>Cargo handling type (load or discharge)</xs:documentation>
|
<xs:documentation>Cargo handling type (load or discharge)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="CargoLACode">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Cargo type code according to the key list of cargo types and units</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:int">
|
||||||
|
<xs:minInclusive value="10" />
|
||||||
|
<xs:maxInclusive value="99" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="CargoCodeNST">
|
<xs:element name="CargoCodeNST">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Cargo code according to Cargo catalogue Attachment 1 - NST2007</xs:documentation>
|
<xs:documentation>Division code of cargo according to NST-2007</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:simpleType>
|
<xs:simpleType>
|
||||||
<xs:restriction base="xs:string">
|
<xs:restriction base="xs:string">
|
||||||
@ -987,6 +1048,16 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="CargoCodeNST_3">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Group code of cargo according to NST-2007 (3rd digit after the "." (dot) of the group code only!)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:pattern value="[0-9AB]{1}" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
<xs:element minOccurs="0" name="CargoNumberOfItems">
|
<xs:element minOccurs="0" name="CargoNumberOfItems">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Cargo quantity. Required if CargoCodeNST equals 11, 12, 16 or 19 (see Cargo catalogue Attachment 1 - NST2007). Throws Violation 721 if field is omitted of empty.</xs:documentation>
|
<xs:documentation>Cargo quantity. Required if CargoCodeNST equals 11, 12, 16 or 19 (see Cargo catalogue Attachment 1 - NST2007). Throws Violation 721 if field is omitted of empty.</xs:documentation>
|
||||||
@ -1002,6 +1073,16 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
<xs:documentation>Gross quantity in tons (TNE)</xs:documentation>
|
<xs:documentation>Gross quantity in tons (TNE)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="CargoPortOfLoading" type="UnLoCode">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>LoCode of port where the cargo was loaded on board (UNECE LOCODE) or ZZUKN if unknown</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="CargoPortOfDischarge" type="UnLoCode">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>LoCode of port where the cargo will be discharged (UNECE LOCODE) or ZZUKN if unknown</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
@ -1148,7 +1229,7 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
<xs:documentation>Nature of cargo</xs:documentation>
|
<xs:documentation>Nature of cargo</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element minOccurs="0" name="VolumeOfCargo_Cargo_TNE" type="DecimalPositive3">
|
<xs:element minOccurs="0" name="VolumeOfCargo_TNE" type="DecimalPositive3">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Volume of cargo in tons (TNE)</xs:documentation>
|
<xs:documentation>Volume of cargo in tons (TNE)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
@ -1450,25 +1531,46 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
<xs:documentation>Waste disposal order type (all, some, none)</xs:documentation>
|
<xs:documentation>Waste disposal order type (all, some, none)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element minOccurs="9" maxOccurs="9" name="Waste">
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="Waste">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>For each type of waste (see field WasteType) exactly one element is mandatory. This format simplification is only used to simplify transfer between information systems (see also Directive RL2000/59 Art. 6 of Annex II). Results in Violation 783 if one or more waste types are omitted.</xs:documentation>
|
<xs:documentation>All waste types provided in Directive 2015/2087 Annex II must be provided (except for Sewage) at least once. Results in Violation 783 if one or more mandatory waste types are omitted.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="WasteType" type="WasteType">
|
<xs:element name="WasteType">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Waste/Cargo residues type to be disposed: waste oils (sludge), waste oils (bilge water), other waste oils, food waste, plastic garbage, sewage, cargo-associated waste, and cargo residues.</xs:documentation>
|
<xs:documentation>Type of waste to be disposed</xs:documentation>
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element minOccurs="0" name="WasteDescription" type="String99">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Description for type 3, 8, and 9. Required for those type. Will otherwise result in Violation 781.</xs:documentation>
|
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="WasteCode">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Waste code according to Waste Type Codes list. Results in Violation 784 if an invalid waste code is provided.
|
||||||
|
</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:int">
|
||||||
|
<xs:minInclusive value="1000" />
|
||||||
|
<xs:maxInclusive value="9999" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="WasteDescription" type="String99">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Textual description, required for those waste types marked in the Waste Type Codes list. Will otherwise result in Violation 781.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="WasteDisposalAmount_MTQ" type="DecimalZeroPositive3">
|
<xs:element name="WasteDisposalAmount_MTQ" type="DecimalZeroPositive3">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Amount of this type to be disposed in cubic meters (MTQ)</xs:documentation>
|
<xs:documentation>Amount of waste of this waste type to be disposed in cubic meters (MTQ)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="WasteDisposedAtLastPort_MTQ" type="DecimalZeroPositive3">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Amount of waste of this type that has been discharged at the last port of disposal in cubic meters (MTQ)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element minOccurs="0" name="WasteDetails">
|
<xs:element minOccurs="0" name="WasteDetails">
|
||||||
@ -1479,12 +1581,12 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="WasteCapacity_MTQ" type="DecimalZeroPositive3">
|
<xs:element name="WasteCapacity_MTQ" type="DecimalZeroPositive3">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Maximum dedicated storage capacity of this type on board in cubic meters (MTQ)</xs:documentation>
|
<xs:documentation>Maximum dedicated storage capacity of waste of this type on board in cubic meters (MTQ)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="WasteAmountRetained_MTQ" type="DecimalZeroPositive3">
|
<xs:element name="WasteAmountRetained_MTQ" type="DecimalZeroPositive3">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Amount of this type retained on board in cubic meters (MTQ)</xs:documentation>
|
<xs:documentation>Amount of waste of this type retained on board in cubic meters (MTQ)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="WasteDisposalPort" type="UnLoCode">
|
<xs:element name="WasteDisposalPort" type="UnLoCode">
|
||||||
@ -1494,7 +1596,7 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="WasteAmountGeneratedTillNextPort_MTQ" type="DecimalZeroPositive3">
|
<xs:element name="WasteAmountGeneratedTillNextPort_MTQ" type="DecimalZeroPositive3">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Estimated waste/cargo residues amount of each type generated between port of call and next port in cubic meters (MTQ)</xs:documentation>
|
<xs:documentation>Estimated waste/cargo residues amount of waste of this type generated between port of call and next port in cubic meters (MTQ)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
@ -1503,9 +1605,9 @@ The provided value must not be more than 15 minutes in the future, otherwise Vio
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="ConfirmationOfCorrectness" type="YesOrNo">
|
<xs:element name="ConfirmationOfCorrectnessAndSufficiency" type="FixedStringY">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Accurate and correct details given? (y/n)</xs:documentation>
|
<xs:documentation>Confirmation that the above details are accurate and correct, and there is sufficient dedicated onboard capacity to store all waste generated between notification and the next port at which waste will be delivered (fixed value Y).</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
|
|||||||
@ -15,7 +15,11 @@
|
|||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="MessageId" type="xs:string" />
|
<xs:element name="MessageId" type="xs:string">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Unique message identifier.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element minOccurs="0" name="VisitId">
|
<xs:element minOccurs="0" name="VisitId">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Required when TransitId is missing and field "Type" is not "VISIT or "TRANSIT"</xs:documentation>
|
<xs:documentation>Required when TransitId is missing and field "Type" is not "VISIT or "TRANSIT"</xs:documentation>
|
||||||
@ -38,11 +42,41 @@
|
|||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="SisNumbers">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>A list of SIS numbers. An empty list means that all sent numbers will be deleted. Sending a new list overwrites existing ones completely.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="SisNumber">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>One SIS number</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:pattern value="[A-Z0-9]{4}" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="Timestamp" type="xs:dateTime">
|
<xs:element name="Timestamp" type="xs:dateTime">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Timestamp, when the message is sent</xs:documentation>
|
<xs:documentation>Timestamp, when the message is sent</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="SenderReference">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>A customer reference that can be freely filled and will be send back in the following response. No checks are made on this field. When a new Visit- or TransitId is obtained, it should be used as a reference to match the response to its corresponding request.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:maxLength value="35" />
|
||||||
|
<xs:minLength value="0" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="Type">
|
<xs:element name="Type">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>The message type (should be the same as in the request message):
|
<xs:documentation>The message type (should be the same as in the request message):
|
||||||
@ -68,39 +102,10 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
<xs:element name="ReportingClass">
|
<xs:element name="ReportingClass" type="ReportingClassCode">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>The code of a reporting class.</xs:documentation>
|
<xs:documentation>The code of a reporting class.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:simpleType>
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:enumeration value="NOA_NOD" />
|
|
||||||
<xs:enumeration value="ATA" />
|
|
||||||
<xs:enumeration value="ATD" />
|
|
||||||
<xs:enumeration value="SEC" />
|
|
||||||
<xs:enumeration value="POBA" />
|
|
||||||
<xs:enumeration value="POBD" />
|
|
||||||
<xs:enumeration value="NAME" />
|
|
||||||
<xs:enumeration value="TIEFA" />
|
|
||||||
<xs:enumeration value="TIEFD" />
|
|
||||||
<xs:enumeration value="BKRA" />
|
|
||||||
<xs:enumeration value="BKRD" />
|
|
||||||
<xs:enumeration value="STAT" />
|
|
||||||
<xs:enumeration value="LADG" />
|
|
||||||
<xs:enumeration value="INFO" />
|
|
||||||
<xs:enumeration value="SERV" />
|
|
||||||
<xs:enumeration value="PRE72H" />
|
|
||||||
<xs:enumeration value="MDH" />
|
|
||||||
<xs:enumeration value="WAS" />
|
|
||||||
<xs:enumeration value="CREW" />
|
|
||||||
<xs:enumeration value="PAS" />
|
|
||||||
<xs:enumeration value="BPOL" />
|
|
||||||
<xs:enumeration value="TOWA" />
|
|
||||||
<xs:enumeration value="TOWD" />
|
|
||||||
<xs:enumeration value="HAZA" />
|
|
||||||
<xs:enumeration value="HAZD" />
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
@ -111,39 +116,10 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
<xs:element name="ReportingClass">
|
<xs:element name="ReportingClass" type="ReportingClassCode">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>The code of a reporting class.</xs:documentation>
|
<xs:documentation>The code of a reporting class.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:simpleType>
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:enumeration value="NOA_NOD" />
|
|
||||||
<xs:enumeration value="ATA" />
|
|
||||||
<xs:enumeration value="ATD" />
|
|
||||||
<xs:enumeration value="SEC" />
|
|
||||||
<xs:enumeration value="POBA" />
|
|
||||||
<xs:enumeration value="POBD" />
|
|
||||||
<xs:enumeration value="NAME" />
|
|
||||||
<xs:enumeration value="TIEFA" />
|
|
||||||
<xs:enumeration value="TIEFD" />
|
|
||||||
<xs:enumeration value="BKRA" />
|
|
||||||
<xs:enumeration value="BKRD" />
|
|
||||||
<xs:enumeration value="STAT" />
|
|
||||||
<xs:enumeration value="LADG" />
|
|
||||||
<xs:enumeration value="INFO" />
|
|
||||||
<xs:enumeration value="SERV" />
|
|
||||||
<xs:enumeration value="PRE72H" />
|
|
||||||
<xs:enumeration value="MDH" />
|
|
||||||
<xs:enumeration value="WAS" />
|
|
||||||
<xs:enumeration value="CREW" />
|
|
||||||
<xs:enumeration value="PAS" />
|
|
||||||
<xs:enumeration value="BPOL" />
|
|
||||||
<xs:enumeration value="TOWA" />
|
|
||||||
<xs:enumeration value="TOWD" />
|
|
||||||
<xs:enumeration value="HAZA" />
|
|
||||||
<xs:enumeration value="HAZD" />
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
@ -154,39 +130,10 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
<xs:element name="ReportingClass">
|
<xs:element name="ReportingClass" type="ReportingClassCode">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>The code of a reporting class.</xs:documentation>
|
<xs:documentation>The code of a reporting class.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:simpleType>
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:enumeration value="NOA_NOD" />
|
|
||||||
<xs:enumeration value="ATA" />
|
|
||||||
<xs:enumeration value="ATD" />
|
|
||||||
<xs:enumeration value="SEC" />
|
|
||||||
<xs:enumeration value="POBA" />
|
|
||||||
<xs:enumeration value="POBD" />
|
|
||||||
<xs:enumeration value="NAME" />
|
|
||||||
<xs:enumeration value="TIEFA" />
|
|
||||||
<xs:enumeration value="TIEFD" />
|
|
||||||
<xs:enumeration value="BKRA" />
|
|
||||||
<xs:enumeration value="BKRD" />
|
|
||||||
<xs:enumeration value="STAT" />
|
|
||||||
<xs:enumeration value="LADG" />
|
|
||||||
<xs:enumeration value="INFO" />
|
|
||||||
<xs:enumeration value="SERV" />
|
|
||||||
<xs:enumeration value="PRE72H" />
|
|
||||||
<xs:enumeration value="MDH" />
|
|
||||||
<xs:enumeration value="WAS" />
|
|
||||||
<xs:enumeration value="CREW" />
|
|
||||||
<xs:enumeration value="PAS" />
|
|
||||||
<xs:enumeration value="BPOL" />
|
|
||||||
<xs:enumeration value="TOWA" />
|
|
||||||
<xs:enumeration value="TOWD" />
|
|
||||||
<xs:enumeration value="HAZA" />
|
|
||||||
<xs:enumeration value="HAZD" />
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
@ -197,39 +144,10 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
<xs:element name="ReportingClass">
|
<xs:element name="ReportingClass" type="ReportingClassCode">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>The code of a reporting class.</xs:documentation>
|
<xs:documentation>The code of a reporting class.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:simpleType>
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:enumeration value="NOA_NOD" />
|
|
||||||
<xs:enumeration value="ATA" />
|
|
||||||
<xs:enumeration value="ATD" />
|
|
||||||
<xs:enumeration value="SEC" />
|
|
||||||
<xs:enumeration value="POBA" />
|
|
||||||
<xs:enumeration value="POBD" />
|
|
||||||
<xs:enumeration value="NAME" />
|
|
||||||
<xs:enumeration value="TIEFA" />
|
|
||||||
<xs:enumeration value="TIEFD" />
|
|
||||||
<xs:enumeration value="BKRA" />
|
|
||||||
<xs:enumeration value="BKRD" />
|
|
||||||
<xs:enumeration value="STAT" />
|
|
||||||
<xs:enumeration value="LADG" />
|
|
||||||
<xs:enumeration value="INFO" />
|
|
||||||
<xs:enumeration value="SERV" />
|
|
||||||
<xs:enumeration value="PRE72H" />
|
|
||||||
<xs:enumeration value="MDH" />
|
|
||||||
<xs:enumeration value="WAS" />
|
|
||||||
<xs:enumeration value="CREW" />
|
|
||||||
<xs:enumeration value="PAS" />
|
|
||||||
<xs:enumeration value="BPOL" />
|
|
||||||
<xs:enumeration value="TOWA" />
|
|
||||||
<xs:enumeration value="TOWD" />
|
|
||||||
<xs:enumeration value="HAZA" />
|
|
||||||
<xs:enumeration value="HAZD" />
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
@ -250,8 +168,8 @@
|
|||||||
<xs:simpleType>
|
<xs:simpleType>
|
||||||
<xs:restriction base="xs:string">
|
<xs:restriction base="xs:string">
|
||||||
<xs:minLength value="3" />
|
<xs:minLength value="3" />
|
||||||
<xs:maxLength value="6" />
|
<xs:maxLength value="4" />
|
||||||
<xs:pattern value="([A-Z]{0,3}[1-9][0-9]{2})" />
|
<xs:pattern value="([1-9][0-9]{2,3})" />
|
||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
@ -293,4 +211,34 @@
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
<xs:simpleType name="ReportingClassCode">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:enumeration value="NOA_NOD" />
|
||||||
|
<xs:enumeration value="ATA" />
|
||||||
|
<xs:enumeration value="ATD" />
|
||||||
|
<xs:enumeration value="SEC" />
|
||||||
|
<xs:enumeration value="AGNT" />
|
||||||
|
<xs:enumeration value="POBA" />
|
||||||
|
<xs:enumeration value="POBD" />
|
||||||
|
<xs:enumeration value="NAME" />
|
||||||
|
<xs:enumeration value="TIEFA" />
|
||||||
|
<xs:enumeration value="TIEFD" />
|
||||||
|
<xs:enumeration value="BKRA" />
|
||||||
|
<xs:enumeration value="BKRD" />
|
||||||
|
<xs:enumeration value="STAT" />
|
||||||
|
<xs:enumeration value="LADG" />
|
||||||
|
<xs:enumeration value="INFO" />
|
||||||
|
<xs:enumeration value="SERV" />
|
||||||
|
<xs:enumeration value="PRE72H" />
|
||||||
|
<xs:enumeration value="MDH" />
|
||||||
|
<xs:enumeration value="WAS" />
|
||||||
|
<xs:enumeration value="CREW" />
|
||||||
|
<xs:enumeration value="PAS" />
|
||||||
|
<xs:enumeration value="BPOL" />
|
||||||
|
<xs:enumeration value="TOWA" />
|
||||||
|
<xs:enumeration value="TOWD" />
|
||||||
|
<xs:enumeration value="HAZA" />
|
||||||
|
<xs:enumeration value="HAZD" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
</xs:schema>
|
</xs:schema>
|
||||||
Loading…
Reference in New Issue
Block a user