Files
BordroRobot/app/lib/srv/srv.go
2024-03-26 10:55:22 +03:00

77 lines
1.6 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package srv
import (
"bordrobot/lib/company"
"bordrobot/lib/run"
"github.com/wailsapp/wails/v3/pkg/application"
"github.com/xuri/excelize/v2"
"log/slog"
)
type Srv struct {
xlsFileName string
}
func (s *Srv) Companies() ([]company.Company, error) {
var res []company.Company
err := run.DB.Select(&res, "SELECT * FROM company order by 1")
return res, err
}
func (s *Srv) CreateCompany(name, memberNumber, username, password string) error {
c := &company.Company{
Name: name,
MemberNumber: memberNumber,
Username: username,
Password: password,
}
return c.Create()
}
func (s *Srv) UploadExcel() string {
dialog := application.OpenFileDialog()
dialog.AddFilter("Excel Dosyaları", "*.xls;*.xlsx")
dialog.SetTitle("Bordro Excel Dosyası Yükleme")
file, err := dialog.PromptForSingleSelection()
if err != nil {
return ""
}
s.xlsFileName = file
return file
}
func (s *Srv) Rpa(month float64, year float64) error {
//wails nümerik değerleri float gönderiyor.. int gönderimi araştırılmalı
slog.Debug("inputs", "year", year, "month", month)
f, err := excelize.OpenFile(s.xlsFileName)
if err != nil {
slog.Error(err.Error())
return err
}
defer func() {
// Close the spreadsheet.
if err := f.Close(); err != nil {
slog.Error(err.Error())
//return err
}
}()
sheets := f.GetSheetList()
cols, err := f.GetCols(sheets[0])
if err != nil {
slog.Error(err.Error())
return err
}
for _, row := range cols {
run.APP.Events.Emit(&application.WailsEvent{
Name: "logProcess",
Data: row[1],
})
}
return nil
}