step 3 : edit data group result
This commit is contained in:
@@ -692,7 +692,20 @@ func (ug *ServicesGroupResult) GetGroupResultByIDV1(id string) (models.GroupResu
|
||||
logger, _ := zap.NewProduction()
|
||||
|
||||
var data models.GroupResult
|
||||
err := dbx.Handlex.Get(&data, `SELECT * FROM group_result
|
||||
err := dbx.Handlex.Get(&data, `SELECT
|
||||
Group_ResultID,
|
||||
Group_ResultName,
|
||||
CASE
|
||||
WHEN Group_ResultFlagPerTest = 'Y' THEN 'on'
|
||||
ELSE Group_ResultFlagPerTest
|
||||
END AS Group_ResultFlagPerTest,
|
||||
CASE
|
||||
WHEN Group_ResultFlagNonLab = 'Y' THEN 'on'
|
||||
ELSE Group_ResultFlagNonLab
|
||||
END AS Group_ResultFlagNonLab,
|
||||
Group_ResultResumeMcu,
|
||||
Group_ResultIsActive
|
||||
FROM group_result
|
||||
WHERE Group_ResultID = ?`, id)
|
||||
|
||||
if err != nil {
|
||||
@@ -774,3 +787,63 @@ func (ug *ServicesGroupResult) AddGroupResult(groupresultname string, groupresul
|
||||
}
|
||||
return data, nil
|
||||
}
|
||||
|
||||
// EDIT DATA
|
||||
func (ug *ServicesGroupResult) EditGroupResult(id string, groupresultname string, groupresultflagpertest string, groupresultflagnonlab string, groupresultresumemcu string) (models.GroupResult, error) {
|
||||
logger, _ := zap.NewProduction()
|
||||
var data models.GroupResult
|
||||
var datacek []models.GroupResult
|
||||
|
||||
prm := "%" + strings.TrimSpace(groupresultname) + "%"
|
||||
qryCek := `SELECT Group_ResultName FROM group_result WHERE Group_ResultName LIKE ? AND Group_ResultIsActive = 'Y' AND Group_ResultID <> ?`
|
||||
err := dbx.Handlex.Select(&datacek, qryCek, prm, id)
|
||||
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Error("Error cek data by code",
|
||||
zap.String("groupresultname", groupresultname),
|
||||
zap.Any("datacek", datacek),
|
||||
)
|
||||
return data, fmt.Errorf("QUERY_FAILED")
|
||||
}
|
||||
if len(datacek) > 0 {
|
||||
defer logger.Sync()
|
||||
logger.Error("Code already taken by another data",
|
||||
zap.String("groupresultname", groupresultname),
|
||||
)
|
||||
return data, fmt.Errorf("group result name sudah dipakai")
|
||||
}
|
||||
|
||||
qry := `UPDATE group_result
|
||||
SET Group_ResultName = ?,
|
||||
Group_ResultFlagPerTest = ?,
|
||||
Group_ResultFlagNonLab = ?,
|
||||
Group_ResultResumeMcu = ?
|
||||
WHERE Group_ResultID = ?`
|
||||
// time.Sleep(5 * time.Second)
|
||||
rst := dbx.Handlex.MustExec(qry, groupresultname, groupresultflagpertest, groupresultflagnonlab, groupresultresumemcu, id)
|
||||
_, err = rst.RowsAffected()
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Error("Error Update group result",
|
||||
zap.Any("groupresultname", groupresultname),
|
||||
zap.Any("groupresultflagpertest", groupresultflagpertest),
|
||||
zap.Any("groupresultflagnonlab", groupresultflagnonlab),
|
||||
zap.Any("groupresultresumemcu", groupresultresumemcu),
|
||||
)
|
||||
return data, fmt.Errorf("QUERY_FAILED")
|
||||
}
|
||||
|
||||
data, err = ug.GetGroupResultByIDV1(id)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Error("Error get group result by id",
|
||||
zap.Any("groupresultname", groupresultname),
|
||||
zap.Any("groupresultflagpertest", groupresultflagpertest),
|
||||
zap.Any("groupresultflagnonlab", groupresultflagnonlab),
|
||||
zap.Any("groupresultresumemcu", groupresultresumemcu),
|
||||
)
|
||||
return data, fmt.Errorf("QUERY_FAILED")
|
||||
}
|
||||
return data, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user