Index: APPS/Halux/PPS/DocumentGenerator/PickingOnderdelen.cls.xml =================================================================== diff -u -r70933 -r70971 --- APPS/Halux/PPS/DocumentGenerator/PickingOnderdelen.cls.xml (.../PickingOnderdelen.cls.xml) (revision 70933) +++ APPS/Halux/PPS/DocumentGenerator/PickingOnderdelen.cls.xml (.../PickingOnderdelen.cls.xml) (revision 70971) @@ -71,6 +71,10 @@ Do ..FileUtils.Delete(BestandNaam) } + If ##class(TECH.File).Exists(##class(TECH.StringUtils).Replace(BestandNaam, ".pic", ".temp")) { + Do ..FileUtils.Delete(##class(TECH.StringUtils).Replace(BestandNaam, ".pic", ".temp")) + } + If (..Batch.GeefCategorie() = ##class(APPS.Halux.common.enu.Categorie).Legrabox()) { Do ..TriggerLBXPickingOnderdelenAansturingActiePerToelevering(Toelevering.GeefID()) } ElseIf (..Batch.GeefCategorie() = ##class(APPS.Halux.common.enu.Categorie).TAORbox()) { @@ -123,65 +127,69 @@ #dim OrderDesc As %String = ..GeefOrderDesc() #dim LookupService As OBJTimpl.PM.OBJTIdentLookupService = ##class(OBJTimpl.PM.OBJTIdentLookupService).%New() #dim ToeleveringID As %String = Toelevering.GeefID() + #dim TijdelijkeBestandNaam As %String = ##class(TECH.StringUtils).Replace(BestandNaam, ".pic", ".temp") + #dim Product As Prod.Product Set AantalVerschillendeProductenZonderLocatie = 0 Kill ^OnderdelenEtiketNodigVoorToelevering(ToeleveringID) If ($Data(^PCDataOnderdelenPickingDocument(ToeleveringID))) { Set ^OnderdelenEtiketNodigVoorToelevering(ToeleveringID) = $$$True try { - Do ..FileWriter.Open(BestandNaam) - #dim HalffabIsBewerkt As %Boolean - For HalffabIsBewerkt=0: 1: 1 { - For { Set LaatsteProductId = $order(^PCDataOnderdelenPickingDocument(ToeleveringID, HalffabIsBewerkt, LaatsteProductId)) Quit:LaatsteProductId="" - Set IdentNr = ..ProductAPI.GeefIdentNummerVoorProductId(LaatsteProductId) - Set Aantal = ^PCDataOnderdelenPickingDocument(ToeleveringID, HalffabIsBewerkt,LaatsteProductId) + Do ..FileWriter.Open(TijdelijkeBestandNaam) + #dim HalffabIsBewerkt As %Boolean + For HalffabIsBewerkt=0: 1: 1 { + For { Set LaatsteProductId = $order(^PCDataOnderdelenPickingDocument(ToeleveringID, HalffabIsBewerkt, LaatsteProductId)) Quit:LaatsteProductId="" + Set IdentNr = ..ProductAPI.GeefIdentNummerVoorProductId(LaatsteProductId) + Set Aantal = ^PCDataOnderdelenPickingDocument(ToeleveringID, HalffabIsBewerkt,LaatsteProductId) + Set BoxBarcode = ToeleveringID + Set HLXLocatie = $$$ProductGet(LaatsteProductId, $$$ControleStatus) ; herbruik van veld voor HLX Locatie + Set OBJTIdentNr = LookupService.GeefOBJTIdentNr(IdentNr) + Set OBJTIdentNr = ##class(TECH.StringUtils).Replace(OBJTIdentNr, ".", "") + Set Product = ##class(Prod.Product).%OpenId(LaatsteProductId) + Set PCDataLocatie = ..GeefPCDataLocatie(Product) + Set KortTekst = Product.KortTekst + Set PackAmount = 0 + Set PickedAmount = 0 + Set SourceEmpty = "" + Set UserField2 = "" + Set UserField3 = "" + Set UserField4 = "" + Set UserField5 = "" + Set UserField6 = "" + + If $$$Not(PCDataLocatie = "") && $$$Not(HalffabIsBewerkt) { + Do ..FileWriter.WriteLine("P" _"|"_ $Extract(ToeleveringID,2,6) _"|"_ BoxBarcode _"|"_ OrderDesc _"|"_ PCDataLocatie _"|"_ Aantal _"|"_ PickedAmount _"|"_ PackAmount _"|"_ SourceEmpty _"|"_ OBJTIdentNr _"|"_ KortTekst _"|"_ HLXLocatie _"|"_ UserField2 _"|"_ UserField3 _"|"_ UserField4 _"|"_UserField5 _"|"_ UserField6) + } Else { + If $$$Not(PCDataLocatie = "") { + Do ..Logger.Info("Onbekende locatie", "Product '" _ IdentNr _"' heeft geen gekende PCData locatie.") + } + Set AantalVerschillendeProductenZonderLocatie = AantalVerschillendeProductenZonderLocatie + 1 + } + } + } + + If (AantalVerschillendeProductenZonderLocatie > 0) { Set BoxBarcode = ToeleveringID - Set HLXLocatie = $$$ProductGet(LaatsteProductId, $$$ControleStatus) ; herbruik van veld voor HLX Locatie - Set OBJTIdentNr = LookupService.GeefOBJTIdentNr(IdentNr) - Set OBJTIdentNr = ##class(TECH.StringUtils).Replace(OBJTIdentNr, ".", "") - Set Product = ##class(Prod.Product).%OpenId(LaatsteProductId) - Set PCDataLocatie = ..GeefPCDataLocatie(Product) - Set KortTekst = Product.KortTekst + Set OBJTIdentNr = "ZONDERLOC" + Set HLXLocatie = "" + Set KortTekst = "Zonder vaste locatie" Set PackAmount = 0 Set PickedAmount = 0 - Set SourceEmpty = "" + Set PCDataLocatie = ..GeefZonderLocatie() + Set Aantal = AantalVerschillendeProductenZonderLocatie Set UserField2 = "" Set UserField3 = "" Set UserField4 = "" Set UserField5 = "" Set UserField6 = "" - If $$$Not(PCDataLocatie = "") && $$$Not(HalffabIsBewerkt) { - Do ..FileWriter.WriteLine("P" _"|"_ $Extract(ToeleveringID,2,6) _"|"_ BoxBarcode _"|"_ OrderDesc _"|"_ PCDataLocatie _"|"_ Aantal _"|"_ PickedAmount _"|"_ PackAmount _"|"_ SourceEmpty _"|"_ OBJTIdentNr _"|"_ KortTekst _"|"_ HLXLocatie _"|"_ UserField2 _"|"_ UserField3 _"|"_ UserField4 _"|"_UserField5 _"|"_ UserField6) - } Else { - If $$$Not(PCDataLocatie = "") { - Do ..Logger.Info("Onbekende locatie", "Product '" _ IdentNr _"' heeft geen gekende PCData locatie.") - } - Set AantalVerschillendeProductenZonderLocatie = AantalVerschillendeProductenZonderLocatie + 1 - } + Do ..FileWriter.WriteLine("P" _"|"_ $Extract(ToeleveringID,2,6) _"|"_ BoxBarcode _"|"_ OrderDesc _"|"_ PCDataLocatie _"|"_ Aantal _"|"_ PickedAmount _"|"_ PackAmount _"|"_ SourceEmpty _"|"_ OBJTIdentNr _"|"_ KortTekst _"|"_ HLXLocatie _"|"_ UserField2 _"|"_ UserField3 _"|"_ UserField4 _"|"_UserField5 _"|"_ UserField6) } - } - - If (AantalVerschillendeProductenZonderLocatie > 0) { - Set BoxBarcode = ToeleveringID - Set OBJTIdentNr = "ZONDERLOC" - Set HLXLocatie = "" - Set KortTekst = "Zonder vaste locatie" - Set PackAmount = 0 - Set PickedAmount = 0 - Set PCDataLocatie = ..GeefZonderLocatie() - Set Aantal = AantalVerschillendeProductenZonderLocatie - Set UserField2 = "" - Set UserField3 = "" - Set UserField4 = "" - Set UserField5 = "" - Set UserField6 = "" - Do ..FileWriter.WriteLine("P" _"|"_ $Extract(ToeleveringID,2,6) _"|"_ BoxBarcode _"|"_ OrderDesc _"|"_ PCDataLocatie _"|"_ Aantal _"|"_ PickedAmount _"|"_ PackAmount _"|"_ SourceEmpty _"|"_ OBJTIdentNr _"|"_ KortTekst _"|"_ HLXLocatie _"|"_ UserField2 _"|"_ UserField3 _"|"_ UserField4 _"|"_UserField5 _"|"_ UserField6) - } - - Do ..FileWriter.Close() + Do ..FileWriter.Close() + Do ##class(TECH.Files).CopyFile(TijdelijkeBestandNaam, BestandNaam) + ;Do ##class(TECH.File).Delete(TijdelijkeBestandNaam) } catch { Do ..FileWriter.Close() #dim Exceptie As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch()