refresh company list after create company

This commit is contained in:
hysn99
2024-03-30 15:26:57 +03:00
parent 2dfda9d553
commit 4053d951bf
9 changed files with 1569 additions and 48 deletions

350
app/lib/model/bordro.go Normal file
View File

@@ -0,0 +1,350 @@
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 int) string {
switch id {
case 4:
return "#normalGun0"
case 5:
return "#normalGun1" //, "checkbox"
case 6:
return ""
case 7:
return ""
case 8:
return ""
case 9:
return "#ekKazancCarpan0"
case 10:
return "#ekKazancCarpan1"
case 11:
return ""
case 12:
return "#ekKazancCarpan3"
case 13:
return "#ekKazancCarpan4"
case 14:
return ""
case 15:
return "#ekKazancDeger5"
case 16:
return ""
case 17:
return "#ekKazancDeger7"
case 18:
return "#ekKazancDeger8"
case 19:
return "#ekKazancDeger9"
case 20:
return "#ekKazancDeger10"
case 21:
return "#ekKazancDeger11"
case 22:
return "#ekKazancDeger12"
case 23:
return "#ekKazancDeger13"
case 24:
return "#ekKazancDeger14" //primNet
case 25:
return "#ekKazancDeger15"
case 26:
return ""
case 27:
return ""
case 28:
return "#ekKazancDeger16"
case 29:
return "#ekKazancDeger17"
case 30:
return "#ekKazancDeger18"
case 31:
return "#ekKazancDeger19"
case 32:
return "#ekKazancDeger23"
case 33:
return ""
case 34:
return ""
case 35:
return ""
case 36:
return ""
case 37:
return ""
case 38:
return ""
case 39:
return "#ekKazancDeger21"
case 40:
return ""
case 41:
return ""
case 42:
return ""
case 43:
return "#ekKazancDeger20"
case 44:
return ""
case 45:
return ""
case 46:
return ""
case 47:
return ""
case 48:
return ""
case 49:
return ""
case 50:
return ""
case 51:
return ""
case 52:
return ""
case 53:
return "#ekKazancDeger22"
case 54:
return ""
case 55:
return ""
case 56:
return ""
case 57:
return ""
case 58:
return ""
case 59:
return ""
case 60:
return ""
case 61:
return ""
case 62:
return ""
case 63:
return ""
case 64:
return ""
case 65:
return ""
case 66:
return ""
case 67:
return ""
case 68:
return ""
case 69:
return ""
case 70:
return ""
case 71:
return ""
case 72:
return ""
case 73:
return ""
case 74:
return ""
case 75:
return ""
case 76:
return ""
case 77:
return ""
case 78:
return ""
case 79:
return ""
case 80:
return ""
case 81:
return ""
case 82:
return ""
case 83:
return ""
case 84:
return ""
case 85:
return ""
case 86:
return ""
case 87:
return ""
case 88:
return "#bireyselEmeklilikIstisna"
case 89:
return "#ozelSigortaIstisna"
case 90:
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(i))
} else {
indexField.SetInt(int64(i))
valueField.SetString("")
idField.SetString(getPageId(i))
}
fmt.Print(field)
fmt.Print(fieldName)
}
fmt.Print(objType)
//bordro.Sube = ExcelCellValue{ExcelIndex: 0}
return &bordro, nil
}