Version 3.2.7: Korrekturen WAS, SEC

This commit is contained in:
Daniel Schick 2016-10-03 07:55:05 +00:00
parent 1d18ecac60
commit 84758e585e
16 changed files with 106 additions and 42 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -346,6 +346,12 @@ namespace bsmd.ExcelReadService
result = new DateTime(etaDate.Value.Year, etaDate.Value.Month, etaDate.Value.Day, etaTime.Value.Hour, etaTime.Value.Minute, etaTime.Value.Second);
}
}
if(result.HasValue)
{
// wir haben local time gelesen, wird jetzt in UTC konvertiert
result = result.Value.ToUniversalTime();
}
return result;
}

View File

@ -320,6 +320,14 @@ namespace bsmd.ExcelReadService
if (!stat.PortOfRegistry.IsNullOrEmpty() && stat.PortOfRegistry.Length != 5)
stat.PortOfRegistry = LocodeDB.LocodeFromCity(stat.PortOfRegistry, stat.Flag);
}
string transportMode = reader.ReadText("STAT.TransportMode");
if(transportMode != null)
{
if (transportMode.Contains("maritime", StringComparison.OrdinalIgnoreCase)) stat.TransportMode = "1";
if (transportMode.Contains("inland", StringComparison.OrdinalIgnoreCase)) stat.TransportMode = "8";
}
// wird nicht wieder entfernt (core ist auch da!)
}
@ -442,11 +450,20 @@ namespace bsmd.ExcelReadService
was.LastWasteDisposalPort = deliveryLocodes[0];
}
string wastedispServProvName = reader.ReadText("WAS.WasteDisposalServiceProviderName");
if (wastedispServProvName != null)
{
if(was.WasteDisposalServiceProvider.Count == 0)
was.WasteDisposalServiceProvider.Add(new WasteDisposalServiceProvider());
was.WasteDisposalServiceProvider[0].WasteDisposalServiceProviderName = wastedispServProvName;
was.WasteDisposalServiceProvider[0].WasteDisposalDelivery = was.WasteDisposalDelivery;
}
// Waste 1 - 9
for (int i = 1; i <= was.NumberOfExcelRows; i++)
{
// string wastetype = string.Format("WAS.WasteType_{0}", i);
string wasteDescription = string.Format("WAS.WasteDescription_{0}", i);
string wasteDescription = string.Format("WAS.WasteDescription_{0}", i);
string wasteAmount = string.Format("WAS.WasteDisposalAmount_MTQ_{0}", i);
string wasteCapacity = string.Format("WAS.WasteCapacity_MTQ_{0}", i);
string wasteRetained = string.Format("WAS.WasteAmountRetained_MTQ_{0}", i);
@ -464,6 +481,10 @@ namespace bsmd.ExcelReadService
waste.WasteType = (byte)i;
waste.WasteDescription = reader.ReadText(wasteDescription);
if (waste.WasteDescription.IsNullOrEmpty())
{
if ((i == 3) || (i == 8) || (i == 9)) waste.WasteDescription = "-";
}
waste.WasteDisposalAmount_MTQ = reader.ReadNumber(wasteAmount);
waste.WasteCapacity_MTQ = reader.ReadNumber(wasteCapacity);
waste.WasteAmountRetained_MTQ = reader.ReadNumber(wasteRetained);
@ -490,6 +511,10 @@ namespace bsmd.ExcelReadService
MDH mdh = mdhMessage.Elements[0] as MDH;
Util.ScanMessage(mdh, reader);
// lt. Mail von Christin am 28.9.2016
mdh.MDHSimplification = false;
mdh.PortOfCallWhereCompleteMDHNotified = "";
// POC last 30 days
for (int i = 0; i < mdh.NumberOfExcelRows; i++)
{
@ -572,6 +597,26 @@ namespace bsmd.ExcelReadService
sec.ISSCType = 1;
}
string isscIssuerType = reader.ReadText("SEC.ISSCIssuerType");
if(isscIssuerType != null)
{
if (isscIssuerType.Equals("rso", StringComparison.OrdinalIgnoreCase))
sec.ISSCIssuerType = 1;
if (isscIssuerType.Contains("admin", StringComparison.OrdinalIgnoreCase))
sec.ISSCIssuerType = 0;
}
string genDescCargo = reader.ReadText("SEC.GeneralDescriptionOfCargo");
if(genDescCargo != null)
{
if (genDescCargo.Equals("container", StringComparison.OrdinalIgnoreCase)) sec.GeneralDescriptionOfCargo = 0;
if (genDescCargo.Equals("vehicles", StringComparison.OrdinalIgnoreCase)) sec.GeneralDescriptionOfCargo = 1;
if (genDescCargo.Contains("convent", StringComparison.OrdinalIgnoreCase)) sec.GeneralDescriptionOfCargo = 2;
if (genDescCargo.Contains("dry", StringComparison.OrdinalIgnoreCase)) sec.GeneralDescriptionOfCargo = 3;
if (genDescCargo.Contains("liquid", StringComparison.OrdinalIgnoreCase)) sec.GeneralDescriptionOfCargo = 4;
if (genDescCargo.Contains("empty", StringComparison.OrdinalIgnoreCase)) sec.GeneralDescriptionOfCargo = 5;
}
// Last10PortFacilitesCalled
for (int i = 1; i <= 10; i++)
{
@ -626,12 +671,18 @@ namespace bsmd.ExcelReadService
}
s2sActivity.ShipToShipActivityLocationName = reader.ReadText(s2sName);
if (s2sActivity.ShipToShipActivityLocationName.IsNullOrEmpty())
{
sec.ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.Remove(s2sActivity);
continue;
}
s2sActivity.ShipToShipActivityLocationLoCode = reader.ReadTextNoWhitespace(s2sLocode);
s2sActivity.ShipToShipActivityLocationCoordinatesLatitude = (int?)reader.ReadNumber(s2sLatitude);
s2sActivity.ShipToShipActivityLocationCoordinatesLongitude = (int?)reader.ReadNumber(s2sLongitude);
s2sActivity.ShipToShipActivityDateFrom = reader.ReadDate(s2sFromDate);
s2sActivity.ShipToShipActivityDateTo = reader.ReadDate(s2sToDate);
s2sActivity.ShipToShipActivityType = reader.ReadText(s2sActivityString);
s2sActivity.ShipToShipActivityType = reader.ReadText(s2sActivityString);
}
}
@ -1094,7 +1145,9 @@ namespace bsmd.ExcelReadService
result.ReportStatus = MessageCore.ReportStatusEnum.COMPLETE;
result.BSMDStatusInternal = MessageCore.BSMDStatus.PREPARE;
result.PoC = poc;
result.Portname = LocodeDB.PortNameFromLocode(poc);
result.Portname = LocodeDB.PortNameFromLocode(poc);
result.HerbergEmailContactReportingVessel = reader.ReadText("ShipMail");
result.ETA = eta;
if (result.IMO.Length > 7)

View File

@ -84,7 +84,7 @@ namespace bsmd.database
[ShowReport]
[ReportDisplayName("Visa number")]
[Validation(ValidationCode.NOT_NULL)]
// [Validation(ValidationCode.NOT_NULL)]
[MaxLength(100)]
public string CrewMemberVisaNumber { get; set; }

View File

@ -41,13 +41,11 @@ namespace bsmd.database
public List<InfectedArea> InfectedAreas { get { return this.infectedAreas; } }
[ShowReport]
[Validation1(ValidationCode.NOT_NULL)]
// [LookupName("MDH.ValidSanitaryControlExemptionOrCertificateOnBoard")]
[Validation1(ValidationCode.NOT_NULL)]
public bool? MDHSimplification { get; set; }
[ShowReport]
[Validation1(ValidationCode.LOCODE_GER)]
[LookupName("MDH.PlaceOfIssue")]
[Validation1(ValidationCode.LOCODE_GER)]
[MaxLength(5)]
public string PortOfCallWhereCompleteMDHNotified { get; set; }

View File

@ -462,6 +462,8 @@ namespace bsmd.database
case NotificationClass.LADG: return 36;
case NotificationClass.CREW: return 40;
case NotificationClass.PAS: return 30;
case NotificationClass.TOWA: return 1;
case NotificationClass.TOWD: return 1;
default:
return 0;

View File

@ -2,6 +2,6 @@
[assembly: AssemblyCompany("Informatikbüro Daniel Schick")]
[assembly: AssemblyProduct("BSMD NSW interface")]
[assembly: AssemblyInformationalVersion("3.2.5")]
[assembly: AssemblyInformationalVersion("3.2.7")]
[assembly: AssemblyCopyright("Copyright © 2014-2016 Informatikbüro Daniel Schick. All rights reserved.")]
[assembly: AssemblyTrademark("")]

View File

@ -1,4 +1,4 @@
using System.Reflection;
[assembly: AssemblyVersion("3.2.5.*")]
[assembly: AssemblyVersion("3.2.7.*")]

View File

@ -82,7 +82,7 @@ namespace bsmd.database
public string ISSCTypeDisplay { get { return Util.GetISSCTypeDisplay(this.ISSCType); } }
[Validation2(ValidationCode.NOT_NULL)]
[LookupName("SEC.ISSCIssuerType")]
// [LookupName("SEC.ISSCIssuerType")] // wird manuell gescannt und konvertiert
public byte? ISSCIssuerType { get; set; }
[ShowReport]
@ -115,8 +115,7 @@ namespace bsmd.database
public string PortFacilityOfArrival { get; set; }
[ShowReport]
[Validation2(ValidationCode.NOT_NULL)]
[LookupName("SEC.GeneralDescriptionOfCargo")]
[Validation2(ValidationCode.NOT_NULL)]
public byte? GeneralDescriptionOfCargo { get; set; }
public List<LastTenPortFacilitiesCalled> LastTenPortFacilitesCalled { get { return this.ltpfc; } }

View File

@ -25,84 +25,84 @@ namespace bsmd.database
#region Properties
[ShowReport]
[Validation(ValidationCode.NOT_NULL)]
[LookupName("TOWA.TowageOnArrivalName")]
[LookupName("TOWA.TowageOnArrivalName_1")]
[MaxLength(100)]
public string TowageOnArrivalName { get; set; }
[ShowReport]
[Validation(ValidationCode.FLAG_CODE)]
[LookupName("TOWA.TowageOnArrivalFlag")]
[LookupName("TOWA.TowageOnArrivalFlag_1")]
[MaxLength(2)]
public string TowageOnArrivalFlag { get; set; }
[ShowReport]
[LookupName("TOWA.TowageOnArrivalOperatorCompanyName")]
[LookupName("TOWA.TowageOnArrivalOperatorCompanyName_1")]
[MaxLength(100)]
public string TowageOnArrivalOperatorCompanyName { get; set; }
[ShowReport]
[LookupName("TOWA.TowageOnArrivalOperatorStreetAndNumber")]
[LookupName("TOWA.TowageOnArrivalOperatorStreetAndNumber_1")]
[MaxLength(100)]
public string TowageOnArrivalOperatorStreetNameAndNumber { get; set; }
[ShowReport]
[LookupName("TOWA.TowageOnArrivalOperatorPostalCode")]
[LookupName("TOWA.TowageOnArrivalOperatorPostalCode_1")]
[MaxLength(24)]
public string TowageOnArrivalOperatorPostalCode { get; set; }
[ShowReport]
[LookupName("TOWA.TowageOnArrivalOperatorPostalCode")]
[LookupName("TOWA.TowageOnArrivalOperatorPostalCode_1")]
[MaxLength(100)]
public string TowageOnArrivalOperatorCity { get; set; }
[ShowReport]
[LookupName("TOWA.TowageOnArrivalOperatorCountry")]
[LookupName("TOWA.TowageOnArrivalOperatorCountry_1")]
[MaxLength(100)]
public string TowageOnArrivalOperatorCountry { get; set; }
[ShowReport]
[LookupName("TOWA.TowageOnArrivalOperatorPhone")]
[LookupName("TOWA.TowageOnArrivalOperatorPhone_1")]
[MaxLength(100)]
public string TowageOnArrivalOperatorPhone { get; set; }
[ShowReport]
[LookupName("TOWA.TowageOnArrivalOperatorFax")]
[LookupName("TOWA.TowageOnArrivalOperatorFax_1")]
[MaxLength(100)]
public string TowageOnArrivalOperatorFax { get; set; }
[ShowReport]
[LookupName("TOWA.TowageOnArrivalOperatorEMail")]
[LookupName("TOWA.TowageOnArrivalOperatorEMail_1")]
[MaxLength(100)]
public string TowageOnArrivalOperatorEmail { get; set; }
[ShowReport]
[Validation(ValidationCode.INT_GT_ZERO)]
[LookupName("TOWA.TowageOnArrivalGrossTonnage")]
[LookupName("TOWA.TowageOnArrivalGrossTonnage_1")]
public int? TowageOnArrivalGrossTonnage { get; set; }
[ShowReport]
[Validation(ValidationCode.DOUBLE_GT_ZERO)]
[LookupName("TOWA.TowageOnArrivalLengthOverall_MTR")]
[LookupName("TOWA.TowageOnArrivalLengthOverall_MTR_1")]
public double? TowageOnArrivalLengthOverall_MTR { get; set; }
[ShowReport]
[Validation(ValidationCode.DOUBLE_GT_ZERO)]
[LookupName("TOWA.TowageOnArrivalBeam_MTR")]
[LookupName("TOWA.TowageOnArrivalBeam_MTR_1")]
public double? TowageOnArrivalBeam_MTR { get; set; }
[ShowReport]
[Validation(ValidationCode.NOT_NULL)]
[LookupName("TOWA.TowageOnArrivalPurposeOfCall")]
[LookupName("TOWA.TowageOnArrivalPurposeOfCall_1")]
[MaxLength(100)]
public string TowageOnArrivalPurposeOfCall { get; set; }
[ShowReport]
[Validation(ValidationCode.DOUBLE_GT_ZERO)]
[LookupName("TOWA.TowageOnArrivalDraught_DMT")]
[LookupName("TOWA.TowageOnArrivalDraught_DMT_1")]
public double? TowageOnArrivalDraught_DMT { get; set; }
[ShowReport]
[LookupName("TOWA.TowageOnArrivalRemarks")]
[LookupName("TOWA.TowageOnArrivalRemarks_1")]
[MaxLength(255)]
public string TowageOnArrivalRemarks { get; set; }

View File

@ -26,66 +26,66 @@ namespace bsmd.database
[ShowReport]
[Validation(ValidationCode.NOT_NULL)]
[LookupName("TOWD.TowageOnDepartureName")]
[LookupName("TOWD.TowageOnDepartureName_1")]
[MaxLength(100)]
public string TowageOnDepartureName { get; set; }
[ShowReport]
[LookupName("TOWD.TowageOnDepartureFlag")]
[LookupName("TOWD.TowageOnDepartureFlag_1")]
[MaxLength(2)]
public string TowageOnDepartureFlag { get; set; }
[ShowReport]
[LookupName("TOWD.TowageOnDepartureOperatorCompanyName")]
[LookupName("TOWD.TowageOnDepartureOperatorCompanyName_1")]
[MaxLength(100)]
public string TowageOnDepartureOperatorCompanyName { get; set; }
[ShowReport]
[LookupName("TOWD.TowageOnDepartureOperatorStreetAndNumber")]
[LookupName("TOWD.TowageOnDepartureOperatorStreetAndNumber_1")]
[MaxLength(100)]
public string TowageOnDepartureOperatorStreetNameAndNumber { get; set; }
[ShowReport]
[LookupName("TOWD.TowageOnDepartureOperatorPostalCode")]
[LookupName("TOWD.TowageOnDepartureOperatorPostalCode_1")]
[MaxLength(24)]
public string TowageOnDepartureOperatorPostalCode { get; set; }
[ShowReport]
[LookupName("TOWA.TowageOnArrivalOperatorCity")]
[LookupName("TOWA.TowageOnArrivalOperatorCity_1")]
[MaxLength(100)]
public string TowageOnDepartureOperatorCity { get; set; }
[ShowReport]
[LookupName("TOWD.TowageOnDepartureOperatorCountry")]
[LookupName("TOWD.TowageOnDepartureOperatorCountry_1")]
[MaxLength(100)]
public string TowageOnDepartureOperatorCountry { get; set; }
[ShowReport]
[LookupName("TOWD.TowageOnDepartureOperatorPhone")]
[LookupName("TOWD.TowageOnDepartureOperatorPhone_1")]
[MaxLength(100)]
public string TowageOnDepartureOperatorPhone { get; set; }
[ShowReport]
[LookupName("TOWD.TowageOnDepartureOperatorFax")]
[LookupName("TOWD.TowageOnDepartureOperatorFax_1")]
[MaxLength(100)]
public string TowageOnDepartureOperatorFax { get; set; }
[ShowReport]
[LookupName("TOWD.TowageOnDepartureOperatorEMail")]
[LookupName("TOWD.TowageOnDepartureOperatorEMail_1")]
[MaxLength(100)]
public string TowageOnDepartureOperatorEmail { get; set; }
[ShowReport]
[LookupName("TOWD.TowageOnDepartureLengthOverall_MTR")]
[LookupName("TOWD.TowageOnDepartureLengthOverall_MTR_1")]
public double? TowageOnDepartureLengthOverall_MTR { get; set; }
[ShowReport]
[LookupName("TOWD.TowageOnDepartureBeam_MTR")]
[LookupName("TOWD.TowageOnDepartureBeam_MTR_1")]
public double? TowageOnDepartureBeam_MTR { get; set; }
[ShowReport]
[Validation(ValidationCode.DOUBLE_GT_ZERO)]
[LookupName("TOWD.TowageOnDepartureDraught_DMT")]
[LookupName("TOWD.TowageOnDepartureDraught_DMT_1")]
public double? TowageOnDepartureDraught_DMT { get; set; }
[ShowReport]

View File

@ -153,6 +153,11 @@ namespace bsmd.database
{
DBManager.Instance.Save(waste);
}
foreach(WasteDisposalServiceProvider wdsp in this.WasteDisposalServiceProvider)
{
DBManager.Instance.Save(wdsp);
}
}
#endregion

View File

@ -826,6 +826,7 @@ namespace bsmd.herberg.FormService
if (pDict.ContainsKey("CrewMemberNationalityCode")) crew.CrewMemberNationality = pDict["CrewMemberNationalityCode"];
if ((crew.CrewMemberNationality != null) && (crew.CrewMemberNationality.Length > 2))
crew.CrewMemberNationality = crew.CrewMemberNationality.Substring(0, 2);
if (crew.CrewMemberNationality != null) crew.CrewMemberNationality = crew.CrewMemberNationality.ToUpper();
if (pDict.ContainsKey("CrewMemberIdentityDocumentType")) crew.CrewMemberIdentityDocumentType = Enums.ParseIdentityDocumentType(pDict["CrewMemberIdentityDocumentType"]);
if (pDict.ContainsKey("CrewMemberIdentityDocumentId")) crew.CrewMemberIdentityDocumentId = pDict["CrewMemberIdentityDocumentId"];
if (pDict.ContainsKey("CrewMemberVisaNumber")) crew.CrewMemberVisaNumber = pDict["CrewMemberVisaNumber"];