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