Index: APPS/HR/ProTime/Facade.cls.xml =================================================================== diff -u -r1073 -r1673 --- APPS/HR/ProTime/Facade.cls.xml (.../Facade.cls.xml) (revision 1073) +++ APPS/HR/ProTime/Facade.cls.xml (.../Facade.cls.xml) (revision 1673) @@ -33,7 +33,15 @@ %Status @@ -73,27 +81,18 @@ ]]> - - - - - - - - Werknemers vanuit ProTime synchroniseren als Klant Als er nieuwe werknemers zijn, deze toevoegen als klant. -Als er gegevens gewijzigd zijn, de bestaande gegevens van de klant aanpassen. +Als er gegevens gewijzigd zijn, de bestaande gegevens van de klant aanpassen. +Do ##class(APPS.HR.ProTime.Facade).%New().SynchroniseerNaarKlant() %Status UIT dienst",! Do Klant.ZetCommercieleStatus(##class(DOM.CRM.enu.CommercieleStatus).NietActief()) Do Klant.ZetActiefStatus(##class(DOM.CRM.enu.ActiefStatus).BuitenGebruik()) @@ -134,30 +134,39 @@ } } /// De medewerker bestaat reeds als klant, dus wijzigingen doorvoeren - If (Klant.GeefNaam() '= dtoKlant.KlantNaam){ + If (Klant.GeefNaam() '= $$$UCase(dtoKlant.KlantNaam)){ + w Klant.GeefNummer(), " : ", Klant.GeefNaam(), $C(9)," => Naam wijziging : ",$C(9),"'"_Klant.GeefNaam() _"' != '"_$$$UCase(dtoKlant.KlantNaam),"'",! Do Klant.ZetNaam(dtoKlant.KlantNaam) Do Persoon.ZetNaam(..CleanUp(ProTimeWerknemer.Naam)) Do Persoon.ZetVoornaam(..CleanUp(ProTimeWerknemer.Voornaam)) } - If (Klant.GeefTelefoon1() '= dtoKlant.Telefoon1){ + If ((Klant.GeefTelefoon1() '= dtoKlant.Telefoon1) && (dtoKlant.Telefoon1 '= "") && (dtoKlant.Telefoon1 '= " ")){ + w Klant.GeefNummer(), " : ", Klant.GeefNaam(), $C(9)," => Telefoon wijziging : ",$C(9),"'"_Klant.GeefTelefoon1() _"' != '"_ dtoKlant.Telefoon1,"'",! Do Klant.ZetTelefoon1(dtoKlant.Telefoon1) Do Persoon.ZetGSM(dtoKlant.Telefoon1) } - Set dtoKlantAdres = dtoKlant.Adres - If ..IsAdresGewijzigd(Klant.GeefAdres(),dtoKlantAdres) { + Set IsAdresGewijzigd = ..IsAdresGewijzigd(Klant.GeefAdres(),dtoKlantAdres) + If (IsAdresGewijzigd = 1) { + w Klant.GeefNummer(), " : ", Klant.GeefNaam(), $C(9)," => Adres wijziging : ",! + w $C(9),"Oud : '",$C(9),Klant.GeefAdres().GeefStraat(),"', '",Klant.GeefAdres().GeefPostcode(), "' '",Klant.GeefAdres().GeefGemeente(),"'",! + w $C(9),"Nieuw : '",$C(9),dtoKlantAdres.Straat, "', '",dtoKlantAdres.Postcode,"' '",dtoKlantAdres.Woonplaats,"'",! Do Klant.ZetAdres(dtoKlantAdres) + }ElseIf (IsAdresGewijzigd = -1){ + w Klant.GeefNummer(), " : ",Klant.GeefNaam(), $C(9), " => Adres in ProTime is leeg !",! } - Do Klant.Save() Do Persoon.Save() + }Else{ /// De klant bestond nog niet, dus nieuwe aanmaken /// protime nummer 1 is een test medewerker op protime, deze er ook uithalen ! If (ProTimeWerknemer.IsInDienst() && (ProTimeWerknemer.Nr '= 1)){ Set Klant = KlantAPI.MaakKlant(dtoKlant,##class(DOM.CRM.enu.TypeTemplateKlant).Medewerker()) + w Klant.GeefNummer(), " : ", Klant.GeefNaam(), $C(9)," => IN dienst.",! + /// Bij de klant ook een persoon aanmaken If ($IsObject(Klant)){ Set VolgNummer = Klant.GeefPersonen().Count() @@ -178,22 +187,50 @@ Do Persoon.ZetGSM(..CleanUp(ProTimeWerknemer.GSMNr)) } Do Persoon.Save() - } + } } } + } + + Write "Wenst u de wijzigingen doorvoeren ?" + Read Doorvoeren + If (Doorvoeren = "Y" || Doorvoeren = "y"){ + TCOMMIT + w !,$C(9),"Wijzigingen doorgevoerd." + }Else{ + TROLLBACK + w !,$C(9),"Wijzigingen NIET doorgevoerd." } Quit $$$OK + +Catch Set $ZTRAP = "" + TROLLBACK + w !,$C(9),"Wijzigingen NIET doorgevoerd omwille van fout." + w $ECODE,! + Quit 0 ]]> KlantAdres:DOM.common.Adres,dtoKlantAdres:DOM.common.Adres 1