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

View File

@@ -1,11 +1,15 @@
package srv
import (
"bordrobot/lib/bot"
"bordrobot/lib/company"
"bordrobot/lib/model"
"bordrobot/lib/run"
"fmt"
"log/slog"
"github.com/wailsapp/wails/v3/pkg/application"
"github.com/xuri/excelize/v2"
"log/slog"
)
type Srv struct {
@@ -41,8 +45,40 @@ func (s *Srv) UploadExcel() string {
return file
}
type userInfo struct {
userName string
password string
accountNo string
}
func getUser(userId string) *userInfo {
// user, ok := userDB[userId]
//
// if !ok {
// return nil
// }
info := userInfo{accountNo: "3197485", userName: "NOTİTEK01", password: "Notitek2025."}
//info := userInfo{accountNo: "3197485", userName: "NOTİTEK01", password: "sdaasd."}
return &info
}
func (s *Srv) Rpa(companyName string, month float64, year float64) error {
user, err := company.GetCompany(companyName)
if err != nil {
}
//todo: readb company details by name
b := bot.NewLucaBot()
b.Login(user)
//b.BordroYaz(data,b.page,,)
//err := b.Login()
//err := b.Login(şirket, accoun no, parola vsç..)
//şirket login bilgilerini sqlite'tan oku
//ardında BOT init et (global değişken de olmayabilir) init fonksyionu bot'u dönebilir
//bot'ta login ol
//bot'ta olması gereken veri yazma sayfasına browse et
//todo: save xls to application folder as /name/year/month.xlsx
//wails nümerik değerleri float gönderiyor.. int gönderimi araştırılmalı
@@ -62,21 +98,45 @@ func (s *Srv) Rpa(companyName string, month float64, year float64) error {
}()
sheets := f.GetSheetList()
cols, err := f.GetCols(sheets[0])
rows, err := f.GetRows(sheets[0])
fmt.Println(rows)
if err != nil {
slog.Error(err.Error())
return err
}
for _, row := range cols {
//todo: process excel and do data input
//todo: inform user about process and errors
run.APP.Events.Emit(&application.WailsEvent{
Name: "logProcess",
Data: row[1],
})
if rows[0][0] == "" {
rows = rows[1:]
}
data := make([]*model.Bordro, 0) // []*Bordro türünde bir dilim oluştur
for i := 1; i < len(rows); i++ {
bordroSatiri, err := model.NewFromExcelLine(rows[i])
data = append(data, bordroSatiri)
//
fmt.Println(bordroSatiri, err)
}
b.BordroYaz(data)
//for _, row := range rows {
// //todo: process excel and do data input
// fmt.Println(row)
// // satır satır execli oku,
//
// //yukarıda init edilen bot'ta' yazma kodunu çalıştır..
//
// bordroSatiri, err := model.NewFromExcelLine(row)
// fmt.Println(bordroSatiri, err)
// b.BordroYaz(bordroSatiri)
//
// //todo: inform user about process and errors
// emitLog(row[1])
//}
return nil
}
func emitLog(logMessage string) {
run.APP.Events.Emit(&application.WailsEvent{
Name: "logProcess",
Data: logMessage,
})
}