Index: WSimpl/Halux/AAP/DnaCodeService.cls.xml =================================================================== diff -u -r60848 -r61564 --- WSimpl/Halux/AAP/DnaCodeService.cls.xml (.../DnaCodeService.cls.xml) (revision 60848) +++ WSimpl/Halux/AAP/DnaCodeService.cls.xml (.../DnaCodeService.cls.xml) (revision 61564) @@ -53,8 +53,18 @@ 1 + +WSimpl.Halux.AAP.DnaCodeService.AantalGescandeVhossSequentieItemsBepaler +1 + + + +WSimpl.Halux.AAP.DnaCodeService.DnaCodeInVhossKastBepaler +1 + + -DnaCodeRepository:DOM.Halux.AAP.DnaCodeRepository="",PalletCodeValidator:WSimpl.Halux.AAP.DnaCodeService.PalletCodeValidator="",InventarisService:APPS.MAG.Inventaris.impl.InventarisService,DocsV1:BL.PPS.TBX.DocsV1="",ProboxEtiketAfdrukkenHelper:WSimpl.Halux.AAP.DnaCodeService.ProboxEtiketAfdrukkenHelper="",UGLYPickingWrapper:WSimpl.Halux.AAP.DnaCodeService.UGLYPickingWrapper="",KlantinstellingenRepository:DOM.Halux.AAP.KlantinstellingenRepository="",VerkoopAPI:DOM.VKP.VerkoopAPI +DnaCodeRepository:DOM.Halux.AAP.DnaCodeRepository="",PalletCodeValidator:WSimpl.Halux.AAP.DnaCodeService.PalletCodeValidator="",InventarisService:APPS.MAG.Inventaris.impl.InventarisService,DocsV1:BL.PPS.TBX.DocsV1="",ProboxEtiketAfdrukkenHelper:WSimpl.Halux.AAP.DnaCodeService.ProboxEtiketAfdrukkenHelper="",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="" 1 1 %Status @@ -69,6 +79,8 @@ 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()) Quit $$$OK ]]> @@ -98,20 +110,31 @@ -ZoakViaPalletCodeRequest:WS.Halux.AAP.ZoekViaPalletCodeRequest +ZoekViaPalletCodeRequest:WS.Halux.AAP.ZoekViaPalletCodeRequest WS.Halux.AAP.ZoekViaPalletCodeResponse + +ZoekAlleVhossLadesBijDnaCode:WS.Halux.AAP.ZoekAlleVhossLadesBijDnaCodeRequest +WS.Halux.AAP.ZoekAlleVhossLadesBijDnaCodeResponse + + + + +ZoekAlleDnaCodesDieOpVhossMoetenRequest:WS.Halux.AAP.ZoekAlleDnaCodesDieOpVhossMoetenRequest +WS.Halux.AAP.ZoekAlleDnaCodesDieOpVhossMoetenResponse + + + ZoekViaDnaCodeRequest:WS.Halux.AAP.ZoekViaDnaCodeRequest WS.Halux.AAP.ZoekViaDnaCodeResponse @@ -214,6 +318,12 @@ } Else { Set DnaCode = DnaCodeIterator.Next() If ..IsValid(DnaCodeAfmeldenRequest, .Response, DnaCode) { + If ..IsGeldigeVhossCode(DnaCodeAfmeldenRequest.PalletCode) { + If $$$Not(..DnaCodeInVhossKastBepaler.MagDnaCodeInVhossKast(DnaCode, DnaCodeAfmeldenRequest.PalletCode, DnaCodeAfmeldenRequest.BatchId)) { + Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidInputException).%New("De lade moet in een andere Vhosskast")) + } + } + If DnaCodeAfmeldenRequest.Aantal = -1 { Set DnaCode.InitialenScanner = "" Set DnaCode.ScanTijdstip = "" @@ -233,22 +343,29 @@ Do ..DnaCodeRepository.Bewaar(DnaCode) - Set ToeleveringId = DnaCode.Toelevering - Set DnaCodeIterator = ..DnaCodeRepository.ZoekViaToeleveringIdEnRecent(ToeleveringId) - - If DnaCodeIterator.HasNext() { + If ..IsGeldigeVhossCode(DnaCodeAfmeldenRequest.PalletCode) { + Set Response = ..AantalGescandeVhossSequentieItemsBepaler.BepaalAantalGescandeVhossSequentieItems(DnaCode) Set Response.Header.Status = "200" - While DnaCodeIterator.HasNext() { - Set DnaCode = DnaCodeIterator.Next() - Do Response.DnaCodes.Insert(..DnaCodeNaarDto(DnaCode)) - Set AantalInToelevering = AantalInToelevering + 1 - If $$$HasLength(DnaCode.InitialenScanner) { - Set AantalReedsGescand = AantalReedsGescand + 1 + } Else { + Set ToeleveringId = DnaCode.Toelevering + Set DnaCodeIterator = ..DnaCodeRepository.ZoekViaToeleveringIdEnRecent(ToeleveringId) + + If DnaCodeIterator.HasNext() { + Set Response.Header.Status = "200" + While DnaCodeIterator.HasNext() { + Set DnaCode = DnaCodeIterator.Next() + Do Response.DnaCodes.Insert(..DnaCodeNaarDto(DnaCode)) + Set AantalInToelevering = AantalInToelevering + 1 + If $$$HasLength(DnaCode.InitialenScanner) { + Set AantalReedsGescand = AantalReedsGescand + 1 + } } + } Else { + Set Response.Header.Status = ##class(TECH.enu.ExceptionCode).DataNotFound() + Set Response.Header.Omschrijving = "Geen data gevonden voor toelevering '"_ToeleveringId_"'" } - } Else { - Set Response.Header.Status = ##class(TECH.enu.ExceptionCode).DataNotFound() - Set Response.Header.Omschrijving = "Geen data gevonden voor toelevering '"_ToeleveringId_"'" + Set Response.AantalInToelevering = AantalInToelevering + Set Response.AantalReedsGescand = AantalReedsGescand } } @@ -257,11 +374,11 @@ #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()) + Do ##class(vhLib.Logger).%New().Warning("AAP",Exception.ToString()) } - Set Response.AantalInToelevering = AantalInToelevering - Set Response.AantalReedsGescand = AantalReedsGescand + Set Response.AantalInToelevering = +Response.AantalInToelevering + Set Response.AantalReedsGescand = +Response.AantalReedsGescand Quit Response ]]> @@ -396,7 +513,7 @@ } If ..PalletCodeValidator.ValideerPalletCode(OudePalletCode) { - Set DnaCodeIterator = ..DnaCodeRepository.ZoekViaPalletCodeEnRecent(OudePalletCode) + Set DnaCodeIterator = ..DnaCodeRepository.ZoekVoorHernoemPallet(OudePalletCode) If DnaCodeIterator.HasNext() { Set Response.Header.Status = "200" @@ -427,10 +544,25 @@ If $$$HasLength(HernoemPalletRequest.EnkelDezeDnaCode) { Set DnaCodeIterator = ..DnaCodeRepository.ZoekViaDnaCode(HernoemPalletRequest.EnkelDezeDnaCode) } Else { - Set DnaCodeIterator = ..DnaCodeRepository.ZoekViaPalletCodeEnRecent(OudePalletCode) + Set DnaCodeIterator = ..DnaCodeRepository.ZoekVoorHernoemPallet(OudePalletCode) } If DnaCodeIterator.HasNext() { + 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 $$$HasLength(HernoemPalletRequest.EnkelDezeDnaCode) { + Set DnaCodeIterator = ..DnaCodeRepository.ZoekViaDnaCode(HernoemPalletRequest.EnkelDezeDnaCode) + } Else { + Set DnaCodeIterator = ..DnaCodeRepository.ZoekVoorHernoemPallet(OudePalletCode) + } + While DnaCodeIterator.HasNext() { Set DnaCode = DnaCodeIterator.Next() Set DnaCode.PalletCode = NieuwePalletCode @@ -440,14 +572,6 @@ Do ..DnaCodeRepository.Bewaar(DnaCode) } - 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) - } - } - 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_"'" @@ -483,6 +607,14 @@ ]]> + +Pallet:%String +1 +%Boolean + + + DirecteLeveringRequest:WS.Halux.AAP.DirecteLeveringRequest WS.Halux.AAP.DirecteLeveringResponse @@ -562,8 +694,12 @@ #dim DnaCodeViaDatumIterator As TECH.Iterator = ..DnaCodeRepository.ZoekViaDatum(LaatsteDnaCode.ScanTijdstip) Set FrequentieTabel = ##class(TECH.FrequentieTabel).%New() + #dim DnaCodeTemp As DOM.Halux.AAP.DnaCode While DnaCodeViaDatumIterator.HasNext() { - Do FrequentieTabel.Verhoog(DnaCodeViaDatumIterator.Next().Toelevering) + Set DnaCodeTemp = DnaCodeViaDatumIterator.Next() + If ##class(TECH.StringUtils).StartsWith(DnaCodeTemp.DnaCode,"K") { + Do FrequentieTabel.Verhoog(DnaCodeTemp.Toelevering) + } } #dim ToeleveringIdIterator As TECH.Iterator = FrequentieTabel.GeefItemIterator() @@ -580,7 +716,7 @@ Set AantalKaderdeurenGescand = AantalKaderdeurenGescand + 1 } } - Do ..DnaCodesKlaarmakenVoorBuffer(..DnaCodeRepository.ZoekViaToeleveringIdEnRecent(ToeleveringId), ##class(DOM.Halux.AAP.enu.DnaCodeStatus).InBuffer(), LaatsteDnaCode.Toelevering, ,RondAfKaderdeurDagRequest.Header.Initialen) + Do ..DnaCodesKlaarmakenVoorBuffer(..DnaCodeRepository.ZoekViaToeleveringIdEnRecent(ToeleveringId), ##class(DOM.Halux.AAP.enu.DnaCodeStatus).InBuffer(), ToeleveringId, ,RondAfKaderdeurDagRequest.Header.Initialen) If $$$Not(AantalKaderdeuren = AantalKaderdeurenGescand) { Set ToeleveringMetAantallen = ##class(WS.Halux.AAP.RondAfKaderdeurDag.ToeleveringMetAantallen).%New() Set ToeleveringMetAantallen.ToeleveringID = ToeleveringId @@ -684,6 +820,34 @@ ]]> + +ZoekViaBatchRequest:WS.Halux.AAP.ZoekViaBatchRequest +WS.Halux.AAP.ZoekViaBatchResponse + + + BewerkKlantInstellingen:WS.Halux.AAP.BewerkKlantinstellingenRequest WS.Halux.AAP.BewerkKlantinstellingenResponse @@ -697,12 +861,16 @@ If KlantinstellingenIterator.HasNext() { Set Klantinstellingen = KlantinstellingenIterator.Next() Set Klantinstellingen.IsExport = BewerkKlantInstellingen.IsExport + Set Klantinstellingen.WegwerpPallet = BewerkKlantInstellingen.WegwerpPallet + 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.WegwerpPallet = BewerkKlantInstellingen.WegwerpPallet + Set Klantinstellingen.MeerdereToeleveringen = BewerkKlantInstellingen.MeerdereToeleveringen Do ..KlantinstellingenRepository.Bewaar(Klantinstellingen) } } @@ -759,14 +927,19 @@ Set Response.Header.Omschrijving = "DnaCode '"_DnaCode.DnaCode_"' reeds gescand ("_DnaCode.PalletCode_")" Set Geslaagd = $$$False } Else { - If ($$$HasLength(DnaCodeAfmeldenRequest.Toelevering) && $$$Not(DnaCode.Toelevering = DnaCodeAfmeldenRequest.Toelevering) && $$$Not(##class(TECH.StringUtils).StartsWith(DnaCodeAfmeldenRequest.DnaCode,"K"))) { + If ($$$HasLength(DnaCodeAfmeldenRequest.Toelevering) && $$$Not(DnaCode.Toelevering = DnaCodeAfmeldenRequest.Toelevering) && $$$Not(##class(TECH.StringUtils).StartsWith(DnaCodeAfmeldenRequest.DnaCode,"K")) && $$$Not(..IsGeldigeVhossCode(DnaCodeAfmeldenRequest.PalletCode))) { Set Response.Header.Status = ##class(TECH.enu.ExceptionCode).InvalidInput() Set Response.Header.Omschrijving = "Toeleveringen verschillend: '"_DnaCodeAfmeldenRequest.Toelevering_"' en '"_DnaCode.Toelevering_"'" Set Geslaagd = $$$False } Else { If $$$HasLength(DnaCode.PalletCode) && $$$Not(DnaCodeAfmeldenRequest.Aantal=-1) { Set Response.Header.Status = ##class(TECH.enu.ExceptionCode).InvalidInput() - Set Response.Header.Omschrijving = "PalletCode reeds ingevuld voor '"_DnaCodeAfmeldenRequest.DnaCode_"' ("_DnaCode.PalletCode_")" + 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 Geslaagd = $$$False } } @@ -815,6 +988,8 @@ Set KlantinstellingenDto.KlantId = Klantinstellingen.KlantId Set KlantinstellingenDto.IsExport = Klantinstellingen.IsExport Set KlantinstellingenDto.Klantnaam = ..VerkoopAPI.GeefKlant(Klantinstellingen.KlantId).GeefNaam() + Set KlantinstellingenDto.WegwerpPallet = Klantinstellingen.WegwerpPallet + Set KlantinstellingenDto.MeerdereToeleveringen = Klantinstellingen.MeerdereToeleveringen Quit KlantinstellingenDto ]]>