added special Excel import case for BRV/BRE, NSW by BSMD in INFO class

This commit is contained in:
Daniel Schick 2024-03-21 08:19:41 +01:00
parent 0d0cbe1949
commit cb1ff8a533
3 changed files with 45 additions and 7 deletions

View File

@ -36,8 +36,8 @@
<MinimumRequiredVersion>5.4.0.0</MinimumRequiredVersion>
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>publish.html</WebPage>
<ApplicationRevision>7</ApplicationRevision>
<ApplicationVersion>7.2.2.7</ApplicationVersion>
<ApplicationRevision>8</ApplicationRevision>
<ApplicationVersion>7.2.2.8</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<CreateDesktopShortcut>true</CreateDesktopShortcut>
<PublishWizardCompleted>true</PublishWizardCompleted>

View File

@ -83,7 +83,7 @@ namespace ENI2.Excel
if ((message.MessageNotificationClass == Message.NotificationClass.HAZD) && notificationClasses.Contains(Message.NotificationClass.HAZD))
{ if (ScanHAZD(message, reader)) ExcelReader.SaveMessage(message); continue; }
if ((message.MessageNotificationClass == Message.NotificationClass.INFO) && notificationClasses.Contains(Message.NotificationClass.INFO))
{ if (ScanINFO(message, reader)) ExcelReader.SaveMessage(message); continue; }
{ if (ScanINFO(message, messageCore, reader)) ExcelReader.SaveMessage(message); continue; }
if ((message.MessageNotificationClass == Message.NotificationClass.LADG) && notificationClasses.Contains(Message.NotificationClass.LADG))
{ if (ScanLADG(message, reader)) ExcelReader.SaveMessage(message); continue; }
if ((message.MessageNotificationClass == Message.NotificationClass.MDH) && notificationClasses.Contains(Message.NotificationClass.MDH))
@ -1117,7 +1117,7 @@ namespace ENI2.Excel
#region INFO
private static bool ScanINFO(Message infoMessage, ExcelReader reader)
private static bool ScanINFO(Message infoMessage, MessageCore core, ExcelReader reader)
{
if (infoMessage.Elements.Count == 0)
{
@ -1144,6 +1144,25 @@ namespace ENI2.Excel
else
info.PortArea = "";
// März 2024: Spezialfall für Abrechnungsabteilung Bremenports: Feld wird markiert (falls genügend Platz)
// falls das Schiff nach DEBRE oder DEBHV geht:
if (core.PoC.Equals("DEBRE") || core.PoC.Equals("DEBRV"))
{
if (info.SpecialRequirementsOfShipAtBerth == null)
{
info.SpecialRequirementsOfShipAtBerth = "NSW by BSMD";
}
else if (info.SpecialRequirementsOfShipAtBerth.Length <= 241) // we have enough space
{
if (info.SpecialRequirementsOfShipAtBerth.Length > 0) // if there is text already add a separator
{
info.SpecialRequirementsOfShipAtBerth += " | ";
}
info.SpecialRequirementsOfShipAtBerth += "NSW by BSMD";
}
}
return true;
}

View File

@ -93,7 +93,7 @@ namespace ENI2.Excel
if ((message.MessageNotificationClass == Message.NotificationClass.HAZD) && notificationClasses.Contains(Message.NotificationClass.HAZD))
{ if (ScanHAZD(message, reader)) ExcelReader.SaveMessage(message); continue; }
if ((message.MessageNotificationClass == Message.NotificationClass.INFO) && notificationClasses.Contains(Message.NotificationClass.INFO))
{ if (ScanINFO(message, reader)) ExcelReader.SaveMessage(message); continue; }
{ if (ScanINFO(message, messageCore, reader)) ExcelReader.SaveMessage(message); continue; }
if ((message.MessageNotificationClass == Message.NotificationClass.LADG) && notificationClasses.Contains(Message.NotificationClass.LADG))
{ if (ScanLADG(message, reader)) ExcelReader.SaveMessage(message); continue; }
if ((message.MessageNotificationClass == Message.NotificationClass.MDH) && notificationClasses.Contains(Message.NotificationClass.MDH))
@ -943,7 +943,7 @@ namespace ENI2.Excel
#region INFO
private static bool ScanINFO(Message infoMessage, ExcelReader reader)
private static bool ScanINFO(Message infoMessage, MessageCore core, ExcelReader reader)
{
if (infoMessage.Elements.Count == 0)
{
@ -970,6 +970,25 @@ namespace ENI2.Excel
bool? fumigatedBulkCargo = reader.ReadBoolean("INFO.FumigatedBulkCargo");
info.FumigatedBulkCargo = (byte)((fumigatedBulkCargo ?? false) ? 1 : 0);
// März 2024: Spezialfall für Abrechnungsabteilung Bremenports: Feld wird markiert (falls genügend Platz)
// falls das Schiff nach DEBRE oder DEBHV geht:
if(core.PoC.Equals("DEBRE") || core.PoC.Equals("DEBRV"))
{
if(info.SpecialRequirementsOfShipAtBerth == null)
{
info.SpecialRequirementsOfShipAtBerth = "NSW by BSMD";
}
else if(info.SpecialRequirementsOfShipAtBerth.Length <= 241) // we have enough space
{
if(info.SpecialRequirementsOfShipAtBerth.Length > 0) // if there is text already add a separator
{
info.SpecialRequirementsOfShipAtBerth += " | ";
}
info.SpecialRequirementsOfShipAtBerth += "NSW by BSMD";
}
}
return true;
}