Version 3.2.7: Korrekturen WAS, SEC
This commit is contained in:
parent
1d18ecac60
commit
84758e585e
Binary file not shown.
BIN
nsw/Dänemark/NSWDänemark.xmind
Normal file
BIN
nsw/Dänemark/NSWDänemark.xmind
Normal file
Binary file not shown.
BIN
nsw/HIS-NORD/DATEN+DIENSTE_2016_09_27.docx
Normal file
BIN
nsw/HIS-NORD/DATEN+DIENSTE_2016_09_27.docx
Normal file
Binary file not shown.
BIN
nsw/HIS-NORD/HIS-Bewertung_2016_09_23.docx
Normal file
BIN
nsw/HIS-NORD/HIS-Bewertung_2016_09_23.docx
Normal file
Binary file not shown.
@ -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;
|
||||
}
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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; }
|
||||
|
||||
|
||||
@ -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; }
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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("")]
|
||||
@ -1,4 +1,4 @@
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyVersion("3.2.5.*")]
|
||||
[assembly: AssemblyVersion("3.2.7.*")]
|
||||
|
||||
|
||||
@ -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; } }
|
||||
|
||||
@ -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; }
|
||||
|
||||
|
||||
@ -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]
|
||||
|
||||
@ -153,6 +153,11 @@ namespace bsmd.database
|
||||
{
|
||||
DBManager.Instance.Save(waste);
|
||||
}
|
||||
|
||||
foreach(WasteDisposalServiceProvider wdsp in this.WasteDisposalServiceProvider)
|
||||
{
|
||||
DBManager.Instance.Save(wdsp);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -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"];
|
||||
|
||||
Loading…
Reference in New Issue
Block a user