dialog add

This commit is contained in:
Hanan Askarim
2024-05-21 15:36:22 +07:00
parent 035b4aa430
commit 5aba7d2133
9 changed files with 581 additions and 7 deletions

View File

@@ -7,6 +7,8 @@ import (
"fmt"
"math"
"strings"
"go.uber.org/zap"
)
func NewServicesMasterKelainan(uStore db.AppStore) *ServicesMasterKelainan {
@@ -114,3 +116,70 @@ func (su *ServicesMasterKelainan) GetListMasterKelainan(search string, currentPa
return kelainanList, totalPage, nil
}
func (su *ServicesMasterKelainan) GetKelainanByID(id string) (models.Kelainan, error) {
logger, _ := zap.NewProduction()
var data models.Kelainan
err := dbx.Handlex.Get(&data, `SELECT * FROM mcu_kelainangroup
WHERE Mcu_KelainanGroupIsActive = 'Y' AND Mcu_KelainanGroupID = ?`, id)
if err != nil {
defer logger.Sync()
logger.Error("Error get data by id",
zap.String("ID", id),
)
return data, fmt.Errorf("QUERY_FAILED")
}
return data, nil
}
func (su *ServicesMasterKelainan) AddKelainan(name string) (models.Kelainan, error) {
logger, _ := zap.NewProduction()
var data models.Kelainan
var datacek []models.Kelainan
qryCek := `SELECT Mcu_KelainanGroupName FROM mcu_kelainangroup WHERE Mcu_KelainanGroupName = ?
AND Mcu_KelainanGroupID = 'Y'`
err := dbx.Handlex.Select(&datacek, qryCek, name)
if err != nil {
defer logger.Sync()
logger.Error("Error cek data by name",
zap.String("name", name),
zap.Any("datacek", datacek),
)
return data, fmt.Errorf("QUERY_FAILED")
}
if len(datacek) > 0 {
defer logger.Sync()
logger.Error("Name already taken by another data",
zap.String("name", name),
)
return data, fmt.Errorf("name sudah dipakai")
}
fmt.Println("cek data name", name)
// qry := `INSERT INTO mcu_kelainangroup(
// Mcu_KelainanGroupName) VALUES(?)`
// rst := dbx.Handlex.MustExec(qry, name)
// insertedID, err := rst.LastInsertId()
// if err != nil {
// defer logger.Sync()
// logger.Error("Error Insert kelainan",
// zap.String("name", name),
// )
// return data, fmt.Errorf("QUERY_FAILED")
// }
// s := strconv.Itoa(int(insertedID))
// data, err = su.GetKelainanByID(s)
// if err != nil {
// defer logger.Sync()
// logger.Error("Error get kelainan by id",
// zap.String("name", name),
// )
// return data, fmt.Errorf("QUERY_FAILED")
// }
return data, nil
}