Index: WSimpl/Halux/AAP/DnaCodeService.cls.xml =================================================================== diff -u -r61696 -r75015 --- WSimpl/Halux/AAP/DnaCodeService.cls.xml (.../DnaCodeService.cls.xml) (revision 61696) +++ WSimpl/Halux/AAP/DnaCodeService.cls.xml (.../DnaCodeService.cls.xml) (revision 75015) @@ -33,13 +33,8 @@ 1 - -WSimpl.Halux.AAP.DnaCodeService.UGLYPickingWrapper -1 - - -vhTest.Mock.DOM.Halux.AAP.KlantinstellingenRepository +DOM.Halux.AAP.KlantinstellingenRepository 1 @@ -58,8 +53,52 @@ 1 + +BL.MB.UGLYPicking.VerzendDirectControleur +1 + + + +APPS.Halux.common.impl.SequentieService +1 + + + +WSimpl.Halux.AAP.DnaCodeService.RondAfVhossKastHelper +1 + + + +WSimpl.Halux.AAP.DnaCodeService.BufferHelper +1 + + + +DOM.AKP.ToeleveringService +1 + + + +APPS.Halux.Afmelden.impl.DocumentLadeGerecepteerdNaarObjective +1 + + + +APPS.Halux.AAP.DnaCodeService.DnaCodeServiceHelper +1 + + + +APPS.Halux.PPS.MES.MESService +1 + + + +DOM.PM.impl.ProductTypeAPIimpl + + -DnaCodeRepository:DOM.Halux.AAP.DnaCodeRepository="",PalletCodeValidator:WSimpl.Halux.AAP.DnaCodeService.PalletCodeValidator="",InventarisService:APPS.MAG.Inventaris.impl.InventarisService,DocsV1:BL.PPS.TBX.DocsV1="",UGLYPickingWrapper:WSimpl.Halux.AAP.DnaCodeService.UGLYPickingWrapper="",KlantinstellingenRepository:DOM.Halux.AAP.KlantinstellingenRepository="",VerkoopAPI:DOM.VKP.VerkoopAPI="",AantalGescandeVhossSequentieItemsBepaler:WSimpl.Halux.AAP.DnaCodeService.AantalGescandeVhossSequentieItemsBepaler="",DnaCodeInVhossKastBepaler:WSimpl.Halux.AAP.DnaCodeService.DnaCodeInVhossKastBepaler="" +DnaCodeRepository:DOM.Halux.AAP.DnaCodeRepository="",PalletCodeValidator:WSimpl.Halux.AAP.DnaCodeService.PalletCodeValidator="",InventarisService:APPS.MAG.Inventaris.impl.InventarisService,DocsV1:BL.PPS.TBX.DocsV1="",KlantinstellingenRepository:DOM.Halux.AAP.KlantinstellingenRepository="",VerkoopAPI:DOM.VKP.VerkoopAPI="",AantalGescandeVhossSequentieItemsBepaler:WSimpl.Halux.AAP.DnaCodeService.AantalGescandeVhossSequentieItemsBepaler="",DnaCodeInVhossKastBepaler:WSimpl.Halux.AAP.DnaCodeService.DnaCodeInVhossKastBepaler="",SequentieService:APPS.Halux.common.impl.SequentieService="",RondAfVhossKastHelper:WSimpl.Halux.AAP.DnaCodeService.RondAfVhossKastHelper="",ToeleveringService:DOM.AKP.ToeleveringService="",DocumentGenerator:APPS.Halux.Afmelden.impl.DocumentLadeGerecepteerdNaarObjective="",DnaCodeHelper:APPS.Halux.AAP.DnaCodeService.DnaCodeServiceHelper="",ProductTypeAPI:DOM.PM.impl.ProductTypeAPIimpl="",VerzendDirectControleur:BL.MB.UGLYPicking.VerzendDirectControleur="" 1 1 %Status @@ -70,11 +109,19 @@ Set ..DateTimeAPI = ##class(TECH.Context).Instance().GeefDateTimeAPI() Set ..InventarisService = $$$Inject(InventarisService, ##class(APPS.MAG.Inventaris.impl.InventarisService).%New()) Set ..DocsV1 = $$$Inject(DocsV1, ##class(BL.PPS.TBX.DocsV1).%New()) - Set ..UGLYPickingWrapper = $$$Inject(UGLYPickingWrapper, ##class(WSimpl.Halux.AAP.DnaCodeService.UGLYPickingWrapper).%New()) Set ..KlantinstellingenRepository = $$$Inject(KlantinstellingenRepository, ##class(DOM.Halux.AAP.KlantinstellingenRepository).%New()) Set ..VerkoopAPI = $$$Inject(VerkoopAPI, ##class(DOM.VKP.impl.VerkoopAPI).%New()) Set ..AantalGescandeVhossSequentieItemsBepaler = $$$Inject(AantalGescandeVhossSequentieItemsBepaler,##class(WSimpl.Halux.AAP.DnaCodeService.AantalGescandeVhossSequentieItemsBepaler).%New()) Set ..DnaCodeInVhossKastBepaler = $$$Inject(DnaCodeInVhossKastBepaler,##class(WSimpl.Halux.AAP.DnaCodeService.DnaCodeInVhossKastBepaler).%New()) + Set ..VerzendDirectControleur = $$$Inject(VerzendDirectControleur,##class(BL.MB.UGLYPicking.VerzendDirectControleur).%New()) + Set ..SequentieService = $$$Inject(SequentieService,##class(APPS.Halux.common.impl.SequentieService).%New()) + Set ..RondAfVhossKastHelper = $$$Inject(RondAfVhossKastHelper,##class(WSimpl.Halux.AAP.DnaCodeService.RondAfVhossKastHelper).%New()) + Set ..ToeleveringService = $$$Inject(ToeleveringService, ##class(DOM.AKP.impl.ToeleveringService).%New()) + Set ..BufferHelper = ##class(WSimpl.Halux.AAP.DnaCodeService.BufferHelper).%New() + Set ..DocumentGenerator = $$$Inject(DocumentGenerator, ##class(APPS.Halux.Afmelden.impl.DocumentLadeGerecepteerdNaarObjective).%New()) + Set ..DnaCodeHelper = $$$Inject(DnaCodeHelper, ##class(APPS.Halux.AAP.DnaCodeService.DnaCodeServiceHelper).%New()) + Set ..MESService = ##class(APPS.Halux.PPS.MES.MESService).%New() + Set ..ProductTypeAPI = $$$Inject(ProductTypeAPI, ##class(DOM.PM.impl.ProductTypeAPIimpl).%New()) Quit $$$OK ]]> @@ -313,9 +360,13 @@ Set DnaCode = DnaCodeIterator.Next() If ..IsValid(DnaCodeAfmeldenRequest, .Response, DnaCode) { If ..IsGeldigeVhossCode(DnaCodeAfmeldenRequest.PalletCode) { - If $$$Not(..DnaCodeInVhossKastBepaler.MagDnaCodeInVhossKast(DnaCode, DnaCodeAfmeldenRequest.PalletCode, DnaCodeAfmeldenRequest.BatchId)) { + #dim MagDnaCodeInVhossKast As %Integer = ..DnaCodeInVhossKastBepaler.MagDnaCodeInVhossKast(DnaCode, DnaCodeAfmeldenRequest.PalletCode, DnaCodeAfmeldenRequest.BatchId) + If MagDnaCodeInVhossKast = 0 { Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidInputException).%New("De lade moet in een andere Vhosskast")) } + If MagDnaCodeInVhossKast = 2 { + Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidInputException).%New("De lade moet aan de andere kant van de Vhosskast")) + } } If DnaCodeAfmeldenRequest.Aantal = -1 { @@ -333,10 +384,23 @@ Set DnaCode.Locatie = ##class(APPS.MAG.enu.MagazijnTransitLocatie).Halux2Transit() } Set DnaCode.Status = ##class(DOM.Halux.AAP.enu.DnaCodeStatus).Gescand() + + If $$$HasLength(DnaCode.ParentDnaCode) { + Do ..DnaCodesMetGelijkeParentDnaCodeAfmelden(DnaCode, DnaCodeAfmeldenRequest.Header.Initialen, DnaCodeAfmeldenRequest.PalletCode, DnaCodeAfmeldenRequest.Locatie) + } } Do ..DnaCodeRepository.Bewaar(DnaCode) + #dim MesFaseActief As %Integer = 1 + #dim CategorTLM As %Boolean = ((..ProductTypeAPI.IsLegraboxProduct(DnaCode.ProductNummer) || ..ProductTypeAPI.IsMerivoboxProduct(DnaCode.ProductNummer) || ..ProductTypeAPI.IsTandemboxProduct(DnaCode.ProductNummer))) + If ((..MESService.IsActiefVoorMes(DnaCode.Lijn, MesFaseActief) && CategorTLM) && (..MESService.GeefHuidigeMESFase() = 1)) { + #dim IsDnaCodeVoorSpaceStep As %Boolean = ..DnaCodeHelper.IsSpaceStepGeneriekProduct(DnaCode, DnaCode.ProductNummer) + If $$$Not(IsDnaCodeVoorSpaceStep) { + Do ..DocumentGenerator.GenereerDocumentVoorObjective(DnaCode.DnaCode) + } + } + If ..IsGeldigeVhossCode(DnaCodeAfmeldenRequest.PalletCode) { Set Response = ..AantalGescandeVhossSequentieItemsBepaler.BepaalAantalGescandeVhossSequentieItems(DnaCode) Set Response.Header.Status = "200" @@ -361,6 +425,9 @@ Set Response.AantalInToelevering = AantalInToelevering Set Response.AantalReedsGescand = AantalReedsGescand } + + Set ToeleveringId = DnaCode.Toelevering + Set Response.IsSST = ..ToeleveringService.HeeftToeleveringMinstensEenSpaceStep(ToeleveringId) } } @@ -378,6 +445,30 @@ ]]> + +DnaCode:DOM.Halux.AAP.DnaCode,Initialen:%String,PalletCode:%String,Locatie:%String +1 + + + ToeleveringBijwerkenRequest:WS.Halux.AAP.ToeleveringBijwerkenRequest WS.Halux.AAP.ToeleveringBijwerkenResponse @@ -388,15 +479,15 @@ Set Response = ##class(WS.Halux.AAP.ToeleveringBijwerkenResponse).%New() Try { #dim DnaCodeIterator As TECH.Iterator - Set DnaCodeIterator = ..DnaCodeRepository.ZoekViaToeleveringId(ToeleveringBijwerkenRequest.Toelevering) + Set DnaCodeIterator = ..DnaCodeRepository.ZoekViaToeleveringIdEnRecent(ToeleveringBijwerkenRequest.Toelevering) While DnaCodeIterator.HasNext() { Set DnaCode = DnaCodeIterator.Next() Set DnaCode.IsDirecteLevering = ToeleveringBijwerkenRequest.IsDirecteLevering Do ..DnaCodeRepository.Bewaar(DnaCode) } - Set DnaCodeIterator = ..DnaCodeRepository.ZoekViaToeleveringId(ToeleveringBijwerkenRequest.Toelevering) + Set DnaCodeIterator = ..DnaCodeRepository.ZoekViaToeleveringIdEnRecent(ToeleveringBijwerkenRequest.Toelevering) If DnaCodeIterator.HasNext() { - Do ..DnaCodesKlaarmakenVoorBuffer(DnaCodeIterator, ToeleveringBijwerkenRequest.Status, ToeleveringBijwerkenRequest.Toelevering, ,ToeleveringBijwerkenRequest.Header.Initialen) + Do ..BufferHelper.DnaCodesKlaarmakenVoorBuffer(DnaCodeIterator, ToeleveringBijwerkenRequest.Status, ToeleveringBijwerkenRequest.Toelevering, ,ToeleveringBijwerkenRequest.Header.Initialen) Set Response.Header.Status = "200" } Else { Set Response.Header.Status = ##class(TECH.enu.ExceptionCode).DataNotFound() @@ -431,14 +522,13 @@ Set DnaCodeIterator = ..DnaCodeRepository.ZoekViaPalletCodeEnNotStatus(PalletBijwerkenRequest.Pallet,##class(DOM.Halux.AAP.enu.DnaCodeStatus).InBuffer()) If DnaCodeIterator.HasNext() { Set Response.Header.Status = "200" - Do ..DnaCodesKlaarmakenVoorBuffer(DnaCodeIterator, PalletBijwerkenRequest.Status, , PalletBijwerkenRequest.Pallet, PalletBijwerkenRequest.Header.Initialen) + Do ..BufferHelper.DnaCodesKlaarmakenVoorBuffer(DnaCodeIterator, PalletBijwerkenRequest.Status, , PalletBijwerkenRequest.Pallet, PalletBijwerkenRequest.Header.Initialen) } Else { Set Response.Header.Status = ##class(TECH.enu.ExceptionCode).DataNotFound() Set Response.Header.Omschrijving = "Geen data gevonden voor pallet '"_PalletBijwerkenRequest.Pallet_"'" } } Catch { #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() - Set Response.Header.Status = Exception.GeefExceptionCode() Set Response.Header.Omschrijving = Exception.GeefOmschrijving() Do ##class(vhLib.Logger).%New().Warning("AAP",Exception.GeefOmschrijving()) @@ -447,46 +537,51 @@ ]]> - -DnaCodeIterator:TECH.Iterator,Status:DOM.Halux.AAP.enu.DnaCodeStatus,Toelevering:%String="",Pallet:%String="",Initialen:%String -1 + +PalletBijwerkenRequest:WS.Halux.AAP.PalletBijwerkenOBJTRequest +WS.Halux.AAP.PalletBijwerkenOBJTResponse - -DnaCode:DOM.Halux.AAP.DnaCode -%String - - - HernoemPalletRequest:WS.Halux.AAP.HernoemPalletRequest WS.Halux.AAP.HernoemPalletResponse @@ -544,10 +639,22 @@ Set DnaCode = DnaCodeIterator.Next() If $$$Not(..IsKaderdeurLocatie(NieuwePalletCode)) { - If $$$Not($$$HasLength(HernoemPalletRequest.EnkelDezeDnaCode)) { - Do ..InventarisService.HernoemPallet(OudePalletCode, NieuwePalletCode) - } Else { - Do ..InventarisService.VoerBijladenUit(OudePalletCode, NieuwePalletCode, ##class(APPS.MAG.enu.MagazijnTransitLocatie).Halux2Transit(), DnaCode.ProductNummer, 1) + If HernoemPalletRequest.OokEWMSverwerken { + #dim OudePalletCodeEWMSCompatibel As %String = OudePalletCode + #dim NieuwePalletCodeEWMSCompatibel As %String = NieuwePalletCode + If ##class(APPS.VisiDot.impl.Tech).IsFrameID(OudePalletCode) { + Set OudePalletCodeEWMSCompatibel = ##class(APPS.VisiDot.impl.Tech).GeefVHossIdVanFrameId(OudePalletCode) + } + If ##class(APPS.VisiDot.impl.Tech).IsFrameID(NieuwePalletCode) { + Set NieuwePalletCodeEWMSCompatibel = ##class(APPS.VisiDot.impl.Tech).GeefVHossIdVanFrameId(NieuwePalletCode) + } + If $$$Not($$$HasLength(HernoemPalletRequest.EnkelDezeDnaCode)) { + Do ..InventarisService.HernoemPallet(OudePalletCodeEWMSCompatibel, NieuwePalletCodeEWMSCompatibel) + } Else { + //nieuwepalletcode bestaat niet in ewms -> error //16:05 8/12 + Do ..InventarisService.VoerBijladenUit(OudePalletCodeEWMSCompatibel, NieuwePalletCodeEWMSCompatibel, ##class(APPS.MAG.enu.MagazijnTransitLocatie).Halux2Transit(), DnaCode.ProductNummer, 1) + + } } } @@ -566,6 +673,21 @@ Do ..DnaCodeRepository.Bewaar(DnaCode) } + If ##class(APPS.VisiDot.impl.Tech).IsFrameID(OudePalletCode) && ((HernoemPalletRequest.EnkelDezeDnaCode)= "") { + #dim OudePalletCodeAndereKant = ##class(APPS.VisiDot.impl.Tech).GeefFrameIdAndereZijkant(OudePalletCode) + #dim NieuwePalletCodeAndereKant = ##class(APPS.VisiDot.impl.Tech).GeefFrameIdAndereZijkant(NieuwePalletCode) + Set DnaCodeIterator = ..DnaCodeRepository.ZoekVoorHernoemPallet(OudePalletCodeAndereKant) + + While DnaCodeIterator.HasNext() { + Set DnaCode = DnaCodeIterator.Next() + Set DnaCode.PalletCode = NieuwePalletCodeAndereKant + If ..IsKaderdeurLocatie(NieuwePalletCodeAndereKant) { + Set DnaCode.Locatie = NieuwePalletCodeAndereKant + } + Do ..DnaCodeRepository.Bewaar(DnaCode) + } + } + Set Response.Header.Status = "200" Set Response.Header.Omschrijving = "Pallet is succesvol gewijzigd" Set Response.Header.OmschrijvingVoorLogging = "Pallet is succesvol gewijzigd van '"_OudePalletCode_"' naar '"_NieuwePalletCode_"'" @@ -580,6 +702,7 @@ #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() Set Response.Header.Status = Exception.GeefExceptionCode() Set Response.Header.Omschrijving = Exception.GeefOmschrijving() + Do ##class(vhLib.Logger).LogExceptie(Exception) } Quit Response ]]> @@ -615,7 +738,7 @@ + +ToeleveringId:%String +1 +%Boolean + + + GeefVolgendeTbpCodeRequest:WS.Halux.AAP.GeefVolgendeTbpCodeRequest WS.Halux.AAP.GeefVolgendeTbpCodeResponse + +RondAfVhossBatchRequest:WS.Halux.AAP.RondAfVhossBatchRequest +WS.Halux.AAP.RondAfVhossBatchResponse + + + ZoekViaKlantnummerRequest:WS.Halux.AAP.ZoekViaKlantnummerRequest WS.Halux.AAP.ZoekViaKlantnummerResponse @@ -823,16 +1035,24 @@ If KlantinstellingenIterator.HasNext() { Set Klantinstellingen = KlantinstellingenIterator.Next() Set Klantinstellingen.IsExport = BewerkKlantInstellingen.IsExport + Set Klantinstellingen.IsBlumXs = BewerkKlantInstellingen.IsBlumXs Set Klantinstellingen.WegwerpPallet = BewerkKlantInstellingen.WegwerpPallet + Set Klantinstellingen.HalvePallet = BewerkKlantInstellingen.HalvePallet + Set Klantinstellingen.KartonnenPallet = BewerkKlantInstellingen.KartonnenPallet Set Klantinstellingen.MeerdereToeleveringen = BewerkKlantInstellingen.MeerdereToeleveringen + Do ..KlantinstellingenRepository.Bewaar(Klantinstellingen) } Else { If ..VerkoopAPI.BestaatKlant(BewerkKlantInstellingen.KlantId) { Set Klantinstellingen = ..KlantinstellingenRepository.Maak() Set Klantinstellingen.KlantId = BewerkKlantInstellingen.KlantId Set Klantinstellingen.IsExport = BewerkKlantInstellingen.IsExport + Set Klantinstellingen.IsBlumXs = BewerkKlantInstellingen.IsBlumXs Set Klantinstellingen.WegwerpPallet = BewerkKlantInstellingen.WegwerpPallet + Set Klantinstellingen.HalvePallet = BewerkKlantInstellingen.HalvePallet + Set Klantinstellingen.KartonnenPallet = BewerkKlantInstellingen.KartonnenPallet Set Klantinstellingen.MeerdereToeleveringen = BewerkKlantInstellingen.MeerdereToeleveringen + Do ..KlantinstellingenRepository.Bewaar(Klantinstellingen) } } @@ -881,7 +1101,7 @@ #dim Geslaagd As %Boolean = $$$True If ((DnaCode.Status = ##class(DOM.Halux.AAP.enu.DnaCodeStatus).InBuffer()) && (DnaCodeAfmeldenRequest.Aantal = -1)) { Set Response.Header.Status = ##class(TECH.enu.ExceptionCode).InvalidInput() - Set Response.Header.Omschrijving = "Reeds afgesloten. Gebruik 'Hernoem Pallet')" + Set Response.Header.Omschrijving = "Reeds afgesloten. Gebruik 'Hernoem Pallet'" Set Geslaagd = $$$False } Else { If ((DnaCode.Status = ##class(DOM.Halux.AAP.enu.DnaCodeStatus).Gescand()) && $$$Not(DnaCodeAfmeldenRequest.Aantal = -1)) { @@ -899,7 +1119,7 @@ If ##class(TECH.StringUtils).StartsWith(DnaCodeAfmeldenRequest.DnaCode,"K") { Set Response.Header.Omschrijving = "Locatie reeds ingevuld voor '"_DnaCodeAfmeldenRequest.DnaCode_"' ("_DnaCode.PalletCode_")" } Else { - Set Response.Header.Omschrijving = "PalletCode reeds ingevuld voor '"_DnaCodeAfmeldenRequest.DnaCode_"' ("_DnaCode.PalletCode_")" + Set Response.Header.Omschrijving = "Palletcode reeds ingevuld voor '"_DnaCodeAfmeldenRequest.DnaCode_"' ("_DnaCode.PalletCode_")" } Set Geslaagd = $$$False @@ -921,7 +1141,7 @@ Set DnaCodeDto.AxProductieOrderNummer = DnaCode.AxProductieOrderNummer Set DnaCodeDto.ProductNummer = DnaCode.ProductNummer Set DnaCodeDto.DnaCode = DnaCode.DnaCode - Set DnaCodeDto.PalletCode = DnaCode.PalletCode + Set DnaCodeDto.PalletCode = DnaCode.PalletCode Set DnaCodeDto.Toelevering = DnaCode.Toelevering Set DnaCodeDto.KlantNummer = DnaCode.KlantNummer Set DnaCodeDto.Locatie = DnaCode.Locatie @@ -934,7 +1154,8 @@ Set DnaCodeDto.ParentDnaCode = DnaCode.ParentDnaCode Set DnaCodeDto.SequentieNummer = DnaCode.SequentieNummer Set DnaCodeDto.IsWegwerpPallet = DnaCode.IsWegwerpPallet - Set DnaCodeDto.BatchId = DnaCode.BatchId + Set DnaCodeDto.BatchId = DnaCode.BatchId + Set DnaCodeDto.AfdrukTijdstip = DnaCode.AfdrukTijdstip Quit DnaCodeDto ]]> @@ -948,9 +1169,12 @@ Set KlantinstellingenDto = ##class(WSimpl.Halux.AAP.dto.Klantinstellingen).%New() Set KlantinstellingenDto.KlantId = Klantinstellingen.KlantId - Set KlantinstellingenDto.IsExport = Klantinstellingen.IsExport + Set KlantinstellingenDto.IsExport = Klantinstellingen.IsExport + Set KlantinstellingenDto.IsBlumXs = Klantinstellingen.IsBlumXs Set KlantinstellingenDto.Klantnaam = ..VerkoopAPI.GeefKlant(Klantinstellingen.KlantId).GeefNaam() Set KlantinstellingenDto.WegwerpPallet = Klantinstellingen.WegwerpPallet + Set KlantinstellingenDto.HalvePallet = Klantinstellingen.HalvePallet + Set KlantinstellingenDto.KartonnenPallet = Klantinstellingen.KartonnenPallet Set KlantinstellingenDto.MeerdereToeleveringen = Klantinstellingen.MeerdereToeleveringen Quit KlantinstellingenDto