From 771ba4288e113bfcb55cb8211d5e38220e41f1d5 Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Wed, 22 Mar 2017 19:34:38 +0000 Subject: [PATCH] =?UTF-8?q?3.4.6:=20Eine=20Menge=20kleine=20Korrekturen=20?= =?UTF-8?q?f=C3=BCr=20Excel=20Einlesen=20und=20NSW=20Versand?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Stundensheet.xlsx | Bin 26548 -> 26640 bytes .../bsmd.ExcelReadService/ExcelReadService.cs | 12 ++- nsw/Source/bsmd.ExcelReadService/Util.cs | 84 +++++++++++++----- nsw/Source/bsmd.database/HAZ.cs | 13 +++ .../Properties/AssemblyProductInfo.cs | 2 +- .../Properties/AssemblyProjectInfo.cs | 2 +- nsw/Source/bsmd.database/STAT.cs | 6 +- nsw/Source/bsmd.dbh/Request.cs | 48 +++++----- 8 files changed, 116 insertions(+), 51 deletions(-) diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx index d122305f3bcff6cf0f4c23df0192d755c06068cf..c0fb6d307682b446ee23f08da5e8c446dfa203ec 100644 GIT binary patch delta 15450 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≈2UdVJO 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 bDiE;^E95Om*+v+05fp1f31?;bU!(sA@fnyW delta 15403 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 XOyH@YGE07N5743Imrt;!|J45 60) marpolPosition.FlashpointInformation = 1; // GT60CEL + else marpolPosition.FlashpointInformation = 2; // LE60CEL + } + } + + marpolPosition.Quantity_KGM = reader.ReadNumber(marpol_quantity); marpolPosition.StowagePosition = reader.ReadText(marpol_stowagePosition); reader.Conf.ConfirmText(marpol_stowagePosition, marpolPosition.StowagePosition, marpolPosition.StowagePosition.IsNullOrEmpty() ? ExcelReader.ReadState.FAIL : ExcelReader.ReadState.OK); marpolPosition.PortOfLoading = reader.ReadText(marpol_portOfLoading); @@ -645,6 +657,13 @@ namespace bsmd.ExcelReadService reader.Conf.ConfirmText(marpol_portOfDischarge, marpolPosition.PortOfDischarge, marpolPosition.PortOfDischarge.IsNullOrEmpty() ? ExcelReader.ReadState.FAIL : ExcelReader.ReadState.OK); } #endregion + + if(haza.HasPositions) // Christin 22.3.17: Felder bei Positionen immer fest ausfüllen + { + haza.NoDPGOnBoardOnArrival = false; + haza.DPGManifestOnBoardOnArrival = true; + } + } #endregion @@ -915,7 +934,19 @@ namespace bsmd.ExcelReadService reader.Conf.ConfirmText(marpol_name, name, ExcelReader.ReadState.OK); marpolPosition.Flashpoint_CEL = reader.ReadText(marpol_flash); reader.Conf.ConfirmText(marpol_flash, marpolPosition.Flashpoint_CEL, marpolPosition.Flashpoint_CEL.IsNullOrEmpty() ? ExcelReader.ReadState.FAIL : ExcelReader.ReadState.OK); - marpolPosition.Quantity_KGM = reader.ReadNumber(marpol_quantity); + + if (marpolPosition.Flashpoint_CEL.IsNullOrEmpty()) { marpolPosition.FlashpointInformation = 0; } // NF // Ableitung Flashpoint-Info: Christin, 22.3.2017 + else + { + double flashval = 0; + if (double.TryParse(marpolPosition.Flashpoint_CEL, out flashval)) + { + if (flashval > 60) marpolPosition.FlashpointInformation = 1; // GT60CEL + else marpolPosition.FlashpointInformation = 2; // LE60CEL + } + } + + marpolPosition.Quantity_KGM = reader.ReadNumber(marpol_quantity); marpolPosition.StowagePosition = reader.ReadText(marpol_stowagePosition); reader.Conf.ConfirmText(marpol_stowagePosition, marpolPosition.StowagePosition, marpolPosition.StowagePosition.IsNullOrEmpty() ? ExcelReader.ReadState.FAIL : ExcelReader.ReadState.OK); marpolPosition.PortOfLoading = reader.ReadText(marpol_portOfLoading); @@ -923,9 +954,14 @@ namespace bsmd.ExcelReadService marpolPosition.PortOfDischarge = reader.ReadText(marpol_portOfDischarge); reader.Conf.ConfirmText(marpol_portOfDischarge, marpolPosition.PortOfDischarge, marpolPosition.PortOfDischarge.IsNullOrEmpty() ? ExcelReader.ReadState.FAIL : ExcelReader.ReadState.OK); } - #endregion + #endregion - } + if (hazd.HasPositions) // Christin 22.3.17: Felder bei Positionen immer fest ausfüllen + { + hazd.NoDPGOnBoardOnArrival = false; + hazd.DPGManifestOnBoardOnArrival = true; + } + } #endregion @@ -965,7 +1001,11 @@ namespace bsmd.ExcelReadService } STAT stat = statMessage.Elements[0] as STAT; Util.ScanMessage(stat, reader); - stat.MMSINumber = reader.ReadTextNoWhitespace("STAT.MMSINumber"); + + stat.PortOfRegistry = reader.ReadLoCode("STAT.PortOfRegistry"); + stat.Flag = reader.ReadNationality("STAT.Flag"); + + stat.MMSINumber = reader.ReadTextNoWhitespace("STAT.MMSINumber"); reader.Conf.ConfirmText("STAT.MMSINumber", stat.MMSINumber, (stat.MMSINumber.IsNullOrEmpty() || (stat.MMSINumber.Length != 9)) ? ExcelReader.ReadState.FAIL : ExcelReader.ReadState.OK); stat.ISMCompanyId = reader.ReadTextNoWhitespace("STAT.ISMCompanyId"); @@ -974,20 +1014,7 @@ namespace bsmd.ExcelReadService while (stat.ISMCompanyId.Length < 7) stat.ISMCompanyId = "0" + stat.ISMCompanyId; } - reader.Conf.ConfirmText("STAT.ISMCompanyId", stat.ISMCompanyId, stat.ISMCompanyId.IsNullOrEmpty() ? ExcelReader.ReadState.WARN : ExcelReader.ReadState.OK); - - - if (!stat.Flag.IsNullOrEmpty() && stat.Flag.Length > 2) - stat.Flag = LocodeDB.CountryCodeFromName(stat.Flag); - - if (!stat.Flag.IsNullOrEmpty() && stat.Flag.Length == 2) - { - if (!stat.PortOfRegistry.IsNullOrEmpty() && stat.PortOfRegistry.Length != 5) - stat.PortOfRegistry = LocodeDB.LocodeFromCity(stat.PortOfRegistry, stat.Flag); - } - - if (!stat.Flag.IsNullOrEmpty() && (stat.Flag.Length > 2)) - reader.Conf.ConfirmText("STAT.Flag", stat.Flag, ExcelReader.ReadState.FAIL); + reader.Conf.ConfirmText("STAT.ISMCompanyId", stat.ISMCompanyId, stat.ISMCompanyId.IsNullOrEmpty() ? ExcelReader.ReadState.WARN : ExcelReader.ReadState.OK); string transportMode = reader.ReadText("STAT.TransportMode"); if(transportMode != null) @@ -997,6 +1024,9 @@ namespace bsmd.ExcelReadService } reader.Conf.ConfirmText("STAT.TransportMode", transportMode, stat.TransportMode.IsNullOrEmpty() ? ExcelReader.ReadState.WARN : ExcelReader.ReadState.OK); + if (!stat.ShipType.IsNullOrEmpty() && stat.ShipType.Length > 3) + reader.Conf.ConfirmText("STAT.ShipType", stat.ShipType, ExcelReader.ReadState.WARN); + // Vessel Email as HerbergEmail sichern messageCore.HerbergEmailContactReportingVessel = reader.ReadText("ShipMail"); reader.Conf.ConfirmText("ShipMail", messageCore.HerbergEmailContactReportingVessel, messageCore.HerbergEmailContactReportingVessel.IsNullOrEmpty() ? ExcelReader.ReadState.FAIL : ExcelReader.ReadState.OK); @@ -1276,6 +1306,15 @@ namespace bsmd.ExcelReadService waste.WasteAmountGeneratedTillNextPort_MTQ = 0; } + if(i==15) // falls letzte Zeile leer, entfernen: Christin 22.3.17 + { + if ((waste.WasteDescription.IsNullOrEmpty() || waste.WasteDescription == "-") && + ((waste.WasteDisposalAmount_MTQ ?? 0) == 0) && + ((waste.WasteType ?? 0) == 1300)) + was.Waste.Remove(waste); + } + + } /* try @@ -2500,7 +2539,12 @@ namespace bsmd.ExcelReadService else reader.SetConfirmation(Properties.Settings.Default.ConfirmationDE); } - } + else + { + message = "invalid PoC"; + return null; + } + } imo = reader.ReadText("Visit.IMONumber"); reader.Conf.ConfirmText("Visit.IMONumber", imo, imo.IsNullOrEmpty() ? ExcelReader.ReadState.FAIL : ExcelReader.ReadState.OK); diff --git a/nsw/Source/bsmd.database/HAZ.cs b/nsw/Source/bsmd.database/HAZ.cs index 55f0fb80..6fffc573 100644 --- a/nsw/Source/bsmd.database/HAZ.cs +++ b/nsw/Source/bsmd.database/HAZ.cs @@ -86,6 +86,19 @@ namespace bsmd.database [ShowReport] public string TransmissionType { get; set; } + public bool HasPositions + { + get + { + if (this.IMDGPositions.Count > 0) return true; + if (this.IBCPositions.Count > 0) return true; + if (this.IGCPositions.Count > 0) return true; + if (this.IMSBCPositions.Count > 0) return true; + if (this.MARPOLPositions.Count > 0) return true; + return false; + } + } + #endregion #region DatabaseEntity implementation diff --git a/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs b/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs index d28b01ce..5615a91d 100644 --- a/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs +++ b/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs @@ -2,6 +2,6 @@ [assembly: AssemblyCompany("Informatikbüro Daniel Schick")] [assembly: AssemblyProduct("BSMD NSW interface")] -[assembly: AssemblyInformationalVersion("3.4.4")] +[assembly: AssemblyInformationalVersion("3.4.6")] [assembly: AssemblyCopyright("Copyright © 2014-2017 Informatikbüro Daniel Schick. All rights reserved.")] [assembly: AssemblyTrademark("")] \ No newline at end of file diff --git a/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs b/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs index 737ebda7..9cb094e8 100644 --- a/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs +++ b/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs @@ -1,4 +1,4 @@ using System.Reflection; -[assembly: AssemblyVersion("3.4.4.*")] +[assembly: AssemblyVersion("3.4.6.*")] diff --git a/nsw/Source/bsmd.database/STAT.cs b/nsw/Source/bsmd.database/STAT.cs index 02c8c5dd..04542fba 100644 --- a/nsw/Source/bsmd.database/STAT.cs +++ b/nsw/Source/bsmd.database/STAT.cs @@ -42,8 +42,7 @@ namespace bsmd.database public string MMSINumber { get; set; } [ShowReport] - [Validation(ValidationCode.FLAG_CODE)] - [LookupName("STAT.Flag")] + [Validation(ValidationCode.FLAG_CODE)] [MaxLength(2)] public string Flag { get; set; } @@ -63,8 +62,7 @@ namespace bsmd.database public int? GrossTonnage { get; set; } [ShowReport] - [Validation(ValidationCode.LOCODE)] - [LookupName("STAT.PortOfRegistry")] + [Validation(ValidationCode.LOCODE)] [MaxLength(5)] public string PortOfRegistry { get; set; } diff --git a/nsw/Source/bsmd.dbh/Request.cs b/nsw/Source/bsmd.dbh/Request.cs index 0bef12aa..66d54539 100644 --- a/nsw/Source/bsmd.dbh/Request.cs +++ b/nsw/Source/bsmd.dbh/Request.cs @@ -261,9 +261,7 @@ namespace bsmd.dbh SEC sec = message.Elements[0] as SEC; List secItems = new List(); - List choiceType1s = new List(); - - rootSEC.CurrentShipSecurityLevel = (int)sec.CurrentShipSecurityLevel.Value; + List choiceType1s = new List(); if(!message.MessageCore.IsTransit) { @@ -278,6 +276,8 @@ namespace bsmd.dbh } } + rootSEC.CurrentShipSecurityLevel = (int)sec.CurrentShipSecurityLevel.Value; + if (sec.SECSimplification ?? false) { choiceType1s.Add(ItemsChoiceType1.SECSimplification); @@ -286,7 +286,7 @@ namespace bsmd.dbh secItems.Add(sec.PortOfCallWhereCompleteSECNotified); } else - { + { // ACHTUNG Reihenfolge muss exakt dem .xsd entsprechen! choiceType1s.Add(ItemsChoiceType1.CSOLastName); secItems.Add(sec.CSOLastName); choiceType1s.Add(ItemsChoiceType1.CSOFirstName); @@ -295,10 +295,16 @@ namespace bsmd.dbh secItems.Add(sec.CSOPhone); choiceType1s.Add(ItemsChoiceType1.CSOFax); secItems.Add(sec.CSOFax); + choiceType1s.Add(ItemsChoiceType1.CSOEMail); + secItems.Add(sec.CSOEMail); choiceType1s.Add(ItemsChoiceType1.ValidISSCOnBoard); secItems.Add(sec.ValidISSCOnBoard ?? false ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N); + choiceType1s.Add(ItemsChoiceType1.ReasonsForNoValidISSC); + secItems.Add(sec.ReasonsForNoValidISSC); choiceType1s.Add(ItemsChoiceType1.ISSCType); secItems.Add((ISSCType)(sec.ISSCType ?? 0)); + choiceType1s.Add(ItemsChoiceType1.ISSCIssuerType); + secItems.Add((ISSCIssuerType)(sec.ISSCIssuerType ?? 0)); choiceType1s.Add(ItemsChoiceType1.ISSCIssuerName); secItems.Add(sec.ISSCIssuerName); if (sec.ISSCDateOfExpiration.HasValue) @@ -316,13 +322,6 @@ namespace bsmd.dbh choiceType1s.Add(ItemsChoiceType1.GeneralDescriptionOfCargo); secItems.Add((CargoDescription)sec.GeneralDescriptionOfCargo.Value); } - choiceType1s.Add(ItemsChoiceType1.ReasonsForNoValidISSC); - secItems.Add(sec.ReasonsForNoValidISSC); - choiceType1s.Add(ItemsChoiceType1.ISSCIssuerType); - secItems.Add((ISSCIssuerType) (sec.ISSCIssuerType ?? 0)); - choiceType1s.Add(ItemsChoiceType1.CSOEMail); - secItems.Add(sec.CSOEMail); - for (int i=0; i < sec.LastTenPortFacilitesCalled.Count; i++) { @@ -909,11 +908,13 @@ namespace bsmd.dbh } else { + // ACHTUNG hier ist die Reihenfolge entscheidend! (siehe XSD) + List wasteItems = new List(); List choiceType3s = new List(); - choiceType3s.Add(ItemsChoiceType3.ConfirmationOfCorrectnessAndSufficiency); - wasteItems.Add(was.ConfirmationOfCorrectness ?? false ? "Y" : "N"); + choiceType3s.Add(ItemsChoiceType3.LastWasteDisposalPort); + wasteItems.Add(was.LastWasteDisposalPort); if (was.LastWasteDisposalDate.HasValue) { @@ -921,15 +922,6 @@ namespace bsmd.dbh wasteItems.Add(was.LastWasteDisposalDate.Value); } - choiceType3s.Add(ItemsChoiceType3.LastWasteDisposalPort); - wasteItems.Add(was.LastWasteDisposalPort); - - if (was.WasteDisposalDelivery.HasValue) - { - choiceType3s.Add(ItemsChoiceType3.WasteDisposalDelivery); - wasteItems.Add((DisposalType)was.WasteDisposalDelivery.Value); - } - for (int i = 0; i < was.WasteDisposalServiceProvider.Count; i++) { choiceType3s.Add(ItemsChoiceType3.WasteDisposalServiceProviderName); @@ -937,6 +929,12 @@ namespace bsmd.dbh } + if (was.WasteDisposalDelivery.HasValue) + { + choiceType3s.Add(ItemsChoiceType3.WasteDisposalDelivery); + wasteItems.Add((DisposalType)was.WasteDisposalDelivery.Value); + } + /* {"Wert von 'ItemsElementName' stimmt nicht mit dem Typ von 'bsmd.dbh.DBHWebReference.RootWASWaste' überein. * Sie müssen ihn auf 'bsmd.dbh.DBHWebReference.ItemsChoiceType3.@Waste' festlegen."} @@ -950,6 +948,7 @@ namespace bsmd.dbh if ((waste.WasteType ?? 0) == 0) continue; // not a valid waste type rww.WasteType = new RootWASWasteWasteType(); rww.WasteType.WasteCode = waste.WasteType ?? 0; + if (rww.WasteType.WasteCode == 2313) rww.WasteType.WasteCode = 2600; // Christin, 22.3.17 rww.WasteType.WasteDescription = waste.WasteDescription; rww.WasteDisposedAtLastPort_MTQ = decimal.Round((decimal) (waste.WasteDisposedAtLastPort_MTQ ?? 0), 3); @@ -962,7 +961,10 @@ namespace bsmd.dbh rww.WasteDetails.WasteDisposalPort = waste.WasteDisposalPort; if (rww.WasteDetails.WasteDisposalPort.IsNullOrEmpty()) rww.WasteDetails.WasteDisposalPort = "ZZUKN"; wasteItems.Add(rww); - } + } + + choiceType3s.Add(ItemsChoiceType3.ConfirmationOfCorrectnessAndSufficiency); + wasteItems.Add(was.ConfirmationOfCorrectness ?? false ? "Y" : "N"); rootWAS.ItemsElementName = choiceType3s.ToArray(); rootWAS.Items = wasteItems.ToArray();