merge
This commit is contained in:
348
app/lib/model/bordro.go
Normal file
348
app/lib/model/bordro.go
Normal file
@@ -0,0 +1,348 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"reflect"
|
||||
//"github.com/go-rod/rod"
|
||||
)
|
||||
|
||||
type BordroProperty struct {
|
||||
Index int
|
||||
Value string
|
||||
Id string
|
||||
//DomType string
|
||||
}
|
||||
|
||||
type Bordro struct {
|
||||
Sube BordroProperty // 0
|
||||
Bolum BordroProperty //
|
||||
TCKimlikNo BordroProperty //
|
||||
AdiSoyadi BordroProperty //
|
||||
NormalGun BordroProperty //4
|
||||
HaftaTatili BordroProperty //
|
||||
X75 BordroProperty //
|
||||
EksikGunNeden BordroProperty //
|
||||
ArgeDestekVeTasarim BordroProperty //
|
||||
FazlaMesai BordroProperty // 9
|
||||
GeceMesaisi BordroProperty //10
|
||||
BayramMesaisi BordroProperty //
|
||||
Yol BordroProperty //12
|
||||
YemekGun BordroProperty //13
|
||||
YemekTutar BordroProperty //
|
||||
Aile BordroProperty //15
|
||||
Cocuk BordroProperty //
|
||||
Evlenme BordroProperty //17
|
||||
Dogum BordroProperty //18
|
||||
Olum BordroProperty //19
|
||||
Askerlik BordroProperty //20
|
||||
Ozelsigorta BordroProperty //21
|
||||
BireyselEmeklilik BordroProperty //22
|
||||
HayatSigortasi BordroProperty //23
|
||||
PrimNet BordroProperty //24
|
||||
PrimBrut BordroProperty //
|
||||
IkramiyeNet BordroProperty //25
|
||||
IkramiyeBrut BordroProperty //
|
||||
KıdemTazminatı BordroProperty //28
|
||||
IhbarTazminati BordroProperty //29
|
||||
Bayram BordroProperty //30
|
||||
Yakacak BordroProperty //31
|
||||
HuzurHakki BordroProperty //32
|
||||
HediyeKart BordroProperty
|
||||
YakitKart BordroProperty
|
||||
YillikIzin BordroProperty
|
||||
MaasFarki BordroProperty
|
||||
AyirilisPaketi BordroProperty
|
||||
RamazanKumanyasi BordroProperty
|
||||
TelefonDesteği BordroProperty //39
|
||||
EkOdemeNet BordroProperty
|
||||
EkOdemeBrut BordroProperty
|
||||
IsAramaIzni BordroProperty
|
||||
Prim2 BordroProperty //43
|
||||
Prim3 BordroProperty
|
||||
Prim4 BordroProperty
|
||||
CalismaIzniHarci BordroProperty
|
||||
OzeldurumOdenesi BordroProperty
|
||||
EmekliSandigiCalisanPrimi BordroProperty
|
||||
LisanTazminati BordroProperty
|
||||
OdulOdenesi BordroProperty
|
||||
IsSonuTazminati BordroProperty
|
||||
VergiIstisnasiEkOdeme BordroProperty
|
||||
KresYardimi BordroProperty //53
|
||||
EsnekYanHak BordroProperty
|
||||
AracKullanim BordroProperty
|
||||
EgitimDesteği BordroProperty
|
||||
DelegeUcreti BordroProperty
|
||||
HarcTutarlari BordroProperty
|
||||
SendikaIscilikFarkUcretleri BordroProperty
|
||||
IsinmaDesteği BordroProperty
|
||||
SoforlukMesaisi BordroProperty
|
||||
Avans BordroProperty
|
||||
Icra BordroProperty
|
||||
Sendika BordroProperty
|
||||
HediyeKart2 BordroProperty
|
||||
YemekAyni BordroProperty
|
||||
RamazanKumanyasiAyni BordroProperty
|
||||
BagimliOSSKesintisi BordroProperty
|
||||
CalismaIzniHarciAyni BordroProperty
|
||||
TrafikCezasiKesintisi BordroProperty
|
||||
BesKesintisi BordroProperty
|
||||
YakitKart2 BordroProperty
|
||||
GrupBesPersonelPayiKesintisi BordroProperty
|
||||
IstisnadanKaynaklananKesinti BordroProperty
|
||||
EmekliSandigiCalisanPrimKesintisi BordroProperty
|
||||
PesinYillikIzinKesintisi BordroProperty
|
||||
TelefonLimitAsimKesintisi BordroProperty
|
||||
ZimmetTamirKesintisi BordroProperty
|
||||
YakitAsimKesintisi BordroProperty
|
||||
DigerAvanslar BordroProperty
|
||||
DigerKesintiler BordroProperty
|
||||
ZorunluBesKesintisi BordroProperty
|
||||
ZimmetliBilgisayarTamirUcreti BordroProperty
|
||||
HarcTutarlari2 BordroProperty
|
||||
PrimAvansi BordroProperty
|
||||
MasrafKesintisi BordroProperty
|
||||
BireyselEmekPrimi BordroProperty //88
|
||||
OzelsigortaPrimi BordroProperty //89
|
||||
DigerIstisnalar BordroProperty //90
|
||||
}
|
||||
|
||||
func getPageId(id string) string {
|
||||
switch id {
|
||||
case "NormalGun":
|
||||
return "#normalGun0" //Normal Gün
|
||||
case "HaftaTatili":
|
||||
return "#normalGun1" //, "checkbox" Hafta Tatili
|
||||
case "X75":
|
||||
return "" //x7.5
|
||||
case "EksikGunNeden":
|
||||
return "" //Eksik Gün Neden
|
||||
case "ArgeDestekVeTasarim":
|
||||
return "" //ARGE-Destek ve Tasarım Faaliyeti
|
||||
case "FazlaMesai":
|
||||
return "#ekKazancCarpan0" //Fazla Mesai
|
||||
case "GeceMesaisi":
|
||||
return "#ekKazancCarpan1" //Gece Mesaisi
|
||||
case "BayramMesaisi":
|
||||
return "" //Bayram Mesaisi
|
||||
case "Yol":
|
||||
return "#ekKazancCarpan3" //Yol
|
||||
case "YemekGun":
|
||||
return "#ekKazancCarpan4" //Yemek (Gün)
|
||||
case "YemekTutar":
|
||||
return "" //Yemek (Tutar)
|
||||
case "Aile":
|
||||
return "#ekKazancDeger5" //Aile
|
||||
case "Cocuk":
|
||||
return "" //Çocuk
|
||||
case "Evlenme":
|
||||
return "#ekKazancDeger7" //Evlenme
|
||||
case "Dogum":
|
||||
return "#ekKazancDeger8" //Doğum
|
||||
case "Olum":
|
||||
return "#ekKazancDeger9" //Ölüm
|
||||
case "Askerlik":
|
||||
return "#ekKazancDeger10" //Askerlik
|
||||
case "Ozelsigorta":
|
||||
return "#ekKazancDeger11" //Özel Sigorta
|
||||
case "BireyselEmeklilik":
|
||||
return "#ekKazancDeger12" //Bireysel Emeklilik
|
||||
case "HayatSigortasi":
|
||||
return "#ekKazancDeger13" //Hayat Sigortası
|
||||
case "PrimNet":
|
||||
return "#ekKazancDeger14" //Prim (Net)
|
||||
case "PrimBrut":
|
||||
return "#ekKazancDeger15" //Prim (Brüt)
|
||||
case "IkramiyeNet":
|
||||
return "" //İkramiye (Net)
|
||||
case "IkramiyeBrut":
|
||||
return "" //İkramiye (Brüt)
|
||||
case "KıdemTazminatı":
|
||||
return "#ekKazancDeger16" //Kıdem Tazminatı
|
||||
case "IhbarTazminati":
|
||||
return "#ekKazancDeger17" //İhbar Tazminatı
|
||||
case "Bayram":
|
||||
return "#ekKazancDeger18" //Bayram
|
||||
case "Yakacak":
|
||||
return "#ekKazancDeger19" //Yakacak
|
||||
case "HuzurHakki":
|
||||
return "#ekKazancDeger23" //Huzur Hakkı
|
||||
case "HediyeKart":
|
||||
return "" //Hediye Kart*
|
||||
case "YakitKart":
|
||||
return "" //Yakıt Kart*
|
||||
case "YillikIzin":
|
||||
return "" //Yıllık İzin
|
||||
case "MaasFarki":
|
||||
return "" //Maaş Farkı
|
||||
case "AyirilisPaketi":
|
||||
return "" //Ayrılış Paketi
|
||||
case "RamazanKumanyasi":
|
||||
return "" //Ramazan Kumanyası*
|
||||
case "TelefonDesteği":
|
||||
return "#ekKazancDeger21" //Telefon Desteği
|
||||
case "EkOdemeNet":
|
||||
return "" //Ek Ödeme (Net)
|
||||
case "EkOdemeBrut":
|
||||
return "" //Ek Ödeme (Brüt)
|
||||
case "IsAramaIzni":
|
||||
return "" //İş Arama İzni
|
||||
case "Prim2":
|
||||
return "#ekKazancDeger20" //Prim2
|
||||
case "Prim3":
|
||||
return "" //Prim3
|
||||
case "Prim4":
|
||||
return "" //Prim4
|
||||
case "CalismaIzniHarci":
|
||||
return "" //Çalışma İzni Harç. Vb.*
|
||||
case "OzeldurumOdenesi":
|
||||
return "" //Özel Durum Ödemesi
|
||||
case "EmekliSandigiCalisanPrimi":
|
||||
return "" //Emekli Sandığı Çalışan Primi
|
||||
case "LisanTazminati":
|
||||
return "" //Lisan Tazminatı
|
||||
case "OdulOdenesi":
|
||||
return "" //Ödül Ödemesi
|
||||
case "IsSonuTazminati":
|
||||
return "" //İş Sonu Tazminatı
|
||||
case "VergiIstisnasiEkOdeme":
|
||||
return "" //Vergi İstisnası Ek Ödeme
|
||||
case "KresYardimi":
|
||||
return "#ekKazancDeger22" //Kreş Yardımı
|
||||
case "EsnekYanHak":
|
||||
return "" //Esnek Yan Hak
|
||||
case "AracKullanim":
|
||||
return "" //Araç Kullanım
|
||||
case "EgitimDesteği":
|
||||
return "" //Eğitim Desteği
|
||||
case "DelegeUcreti":
|
||||
return "" //Delege Ücreti
|
||||
case "HarcTutarlari":
|
||||
return "" //Harç Tutarları*
|
||||
case "SendikaIscilikFarkUcretleri":
|
||||
return "" //Sendika İşçilik Fark Ücretleri
|
||||
case "IsinmaDesteği":
|
||||
return "" //Isınma Desteği
|
||||
case "SoforlukMesaisi":
|
||||
return "" //Şoförlük Mesaisi
|
||||
case "Avans":
|
||||
return "" //Avans
|
||||
case "Icra":
|
||||
return "" //icra
|
||||
case "Sendika":
|
||||
return "" //Sendika
|
||||
case "HediyeKart2":
|
||||
return "" //Hediye Kart
|
||||
case "YemekAyni":
|
||||
return "" //Yemek (Ayni)
|
||||
case "RamazanKumanyasiAyni":
|
||||
return "" //Ramazan Kumanyası (Ayni)
|
||||
case "BagimliOSSKesintisi":
|
||||
return "" //Bağımlı (Eş-Çocuk) ÖSS Kesintisi
|
||||
case "CalismaIzniHarciAyni":
|
||||
return "" //Çalışma İzni Harç. Vb.(Ayni)
|
||||
case "TrafikCezasiKesintisi":
|
||||
return "" //Trafik Cezası Kesintisi
|
||||
case "BesKesintisi":
|
||||
return ""
|
||||
case "YakitKart2":
|
||||
return ""
|
||||
case "GrupBesPersonelPayiKesintisi":
|
||||
return ""
|
||||
case "IstisnadanKaynaklananKesinti":
|
||||
return ""
|
||||
case "EmekliSandigiCalisanPrimKesintisi":
|
||||
return ""
|
||||
case "PesinYillikIzinKesintisi":
|
||||
return ""
|
||||
case "TelefonLimitAsimKesintisi":
|
||||
return ""
|
||||
case "ZimmetTamirKesintisi":
|
||||
return ""
|
||||
case "YakitAsimKesintisi":
|
||||
return ""
|
||||
case "DigerAvanslar":
|
||||
return ""
|
||||
case "DigerKesintiler":
|
||||
return ""
|
||||
case "ZorunluBesKesintisi":
|
||||
return ""
|
||||
case "ZimmetliBilgisayarTamirUcreti":
|
||||
return ""
|
||||
case "HarcTutarlari2":
|
||||
return ""
|
||||
case "PrimAvansi":
|
||||
return ""
|
||||
case "MasrafKesintisi":
|
||||
return ""
|
||||
case "BireyselEmekPrimi":
|
||||
return "#bireyselEmeklilikIstisna"
|
||||
case "OzelsigortaPrimi":
|
||||
return "#ozelSigortaIstisna"
|
||||
case "DigerIstisnalar":
|
||||
return "#digerIstisna"
|
||||
default:
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
// func (b *Bordro) FillBordroForm(rodForm *rod.Page) error {
|
||||
// objValue := reflect.ValueOf(b).Elem()
|
||||
// objType := objValue.Type()
|
||||
// for i := 0; i < objValue.NumField(); i++ {
|
||||
// field := objValue.Field(i)
|
||||
// fieldName := objType.Field(i).Name
|
||||
// valueField := field.FieldByName("Value")
|
||||
// idField := field.FieldByName("Id")
|
||||
// idValue := idField.Interface().(string)
|
||||
// if idValue != "" {
|
||||
// elem, err := rodForm.Element(idField.Interface().(string))
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
// value := valueField.Interface().(string)
|
||||
// // switch expression {
|
||||
// // case "input":
|
||||
// // //elem.Input(value)
|
||||
|
||||
// // }
|
||||
// elem.Input(value)
|
||||
// }
|
||||
|
||||
// fmt.Print(fieldName)
|
||||
// }
|
||||
// return nil
|
||||
// }
|
||||
|
||||
// BordroProperty structının tipi de olabilir drop checkbox vs ayrı bir fonksiyon çalışabilir getPageId den dönebilirsin
|
||||
func NewFromExcelLine(rows []string) (*Bordro, error) {
|
||||
bordro := Bordro{} // Yeni bir Bordro örneği oluştur
|
||||
//her indexi eşitleyebilirsin bordro objesine veya tek
|
||||
// Iterate over the fields of MyStruct
|
||||
objValue := reflect.ValueOf(&bordro).Elem()
|
||||
objType := objValue.Type()
|
||||
for i := 0; i < objValue.NumField(); i++ {
|
||||
field := objValue.Field(i)
|
||||
fieldName := objType.Field(i).Name
|
||||
indexField := field.FieldByName("Index")
|
||||
valueField := field.FieldByName("Value")
|
||||
idField := field.FieldByName("Id")
|
||||
|
||||
if len(rows) > i {
|
||||
indexField.SetInt(int64(i))
|
||||
valueField.SetString(rows[i])
|
||||
idField.SetString(getPageId(fieldName))
|
||||
} else {
|
||||
indexField.SetInt(int64(i))
|
||||
valueField.SetString("")
|
||||
idField.SetString(getPageId(fieldName))
|
||||
}
|
||||
|
||||
fmt.Print(field)
|
||||
fmt.Print(fieldName)
|
||||
}
|
||||
fmt.Print(objType)
|
||||
//bordro.Sube = ExcelCellValue{ExcelIndex: 0}
|
||||
|
||||
return &bordro, nil
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user