unit finish

This commit is contained in:
vanilia
2025-11-17 11:05:21 +07:00
parent bbf98b7a40
commit ebb3500d34
14 changed files with 528 additions and 315 deletions

No files matched your search

@@ -1,22 +1,23 @@
package unit
import (
esynclog "simrs-vx/internal/domain/sync-entities/log"
plh "simrs-vx/pkg/lib-helper"
pl "simrs-vx/pkg/logger"
pu "simrs-vx/pkg/use-case-helper"
"time"
dg "github.com/karincake/apem/db-gorm-pg"
"gorm.io/gorm"
e "simrs-vx/internal/domain/main-entities/installation"
esimgos "simrs-vx/internal/domain/simgos-entities/installation"
esync "simrs-vx/internal/domain/sync-entities/installation"
e "simrs-vx/internal/domain/main-entities/unit"
esimgos "simrs-vx/internal/domain/simgos-entities/unit"
esynclog "simrs-vx/internal/domain/sync-entities/log"
esync "simrs-vx/internal/domain/sync-entities/unit"
)
var now = time.Now()
func CreateSimgosData(input e.CreateDto, event *pl.Event, dbx ...*gorm.DB) (*esimgos.MInstalasi, error) {
func CreateSimgosData(input e.CreateDto, event *pl.Event, dbx ...*gorm.DB) (*esimgos.MPloy, error) {
pl.SetLogInfo(event, nil, "started", "DBCreate")
data := setDataSimgos(&input)
@@ -36,27 +37,29 @@ func CreateSimgosData(input e.CreateDto, event *pl.Event, dbx ...*gorm.DB) (*esi
return &data, nil
}
func ReadDetailSimgosData(simgosId uint16, event *pl.Event) (*esimgos.MInstalasi, error) {
func ReadDetailSimgosData(simgosId uint16, event *pl.Event) (*esimgos.MPloy, error) {
pl.SetLogInfo(event, simgosId, "started", "DBReadDetail")
data := esimgos.MInstalasi{}
data := esimgos.MPloy{}
var tx = dg.IS["simrs"]
if err := tx.
Where("\"no_instalasi\" = ?", simgosId).
Where("\"kode\" = ?", simgosId).
First(&data).Error; err != nil {
return nil, err
if processedErr := pu.HandleReadError(err, event, source, simgosId, data); processedErr != nil {
return nil, processedErr
}
}
pl.SetLogInfo(event, nil, "complete")
return &data, nil
}
func UpdateSimgosData(input e.UpdateDto, dataSimgos *esync.InstallationLink, event *pl.Event, dbx ...*gorm.DB) error {
func UpdateSimgosData(input e.UpdateDto, dataSimgos *esync.UnitLink, event *pl.Event, dbx ...*gorm.DB) error {
pl.SetLogInfo(event, input, "started", "DBUpdate")
data := setDataSimgos(&input)
data.No_Instalasi = dataSimgos.Simgos_Id
data.Kode = dataSimgos.Simgos_Id
var tx *gorm.DB
if len(dbx) > 0 {
@@ -79,7 +82,7 @@ func UpdateSimgosData(input e.UpdateDto, dataSimgos *esync.InstallationLink, eve
return nil
}
func DeleteSimgosData(data *esimgos.MInstalasi, event *pl.Event, dbx ...*gorm.DB) error {
func HardDeleteSimgosData(data *esimgos.MPloy, event *pl.Event, dbx ...*gorm.DB) error {
pl.SetLogInfo(event, data, "started", "DBDelete")
var tx *gorm.DB
@@ -89,9 +92,8 @@ func DeleteSimgosData(data *esimgos.MInstalasi, event *pl.Event, dbx ...*gorm.DB
tx = dg.IS["simrs"]
}
data.St_Aktif = 0
if err := tx.Save(&data).Error; err != nil {
if err := tx.
Delete(&data).Error; err != nil {
event.Status = "failed"
event.ErrInfo = pl.ErrorInfo{
Code: "data-delete-fail",
@@ -105,7 +107,7 @@ func DeleteSimgosData(data *esimgos.MInstalasi, event *pl.Event, dbx ...*gorm.DB
return nil
}
func CreateLinkData(simxId, simgosId uint, event *pl.Event, dbx ...*gorm.DB) error {
func CreateLinkData(simxId, simgosId uint, event *pl.Event, dbx ...*gorm.DB) (*esync.UnitLink, error) {
pl.SetLogInfo(event, nil, "started", "DBCreate")
data := setDataSimxLink(simxId, simgosId)
@@ -117,30 +119,32 @@ func CreateLinkData(simxId, simgosId uint, event *pl.Event, dbx ...*gorm.DB) err
}
if err := tx.Create(&data).Error; err != nil {
return plh.HandleCreateError(data, event, err)
}
pl.SetLogInfo(event, nil, "complete")
return nil
}
func ReadDetailLinkData(simxId uint16, event *pl.Event) (*esync.InstallationLink, error) {
pl.SetLogInfo(event, simxId, "started", "DBReadDetail")
data := esync.InstallationLink{}
var tx = dg.I
if err := tx.
Where("\"Simx_Id\" = ?", simxId).
First(&data).Error; err != nil {
return nil, err
return nil, plh.HandleCreateError(data, event, err)
}
pl.SetLogInfo(event, nil, "complete")
return &data, nil
}
func DeleteLinkData(data *esync.InstallationLink, event *pl.Event, dbx ...*gorm.DB) error {
func ReadDetailLinkData(simxId uint16, event *pl.Event) (*esync.UnitLink, error) {
pl.SetLogInfo(event, simxId, "started", "DBReadDetail")
data := esync.UnitLink{}
var tx = dg.I
if err := tx.
Where("\"Simx_Id\" = ?", simxId).
First(&data).Error; err != nil {
if processedErr := pu.HandleReadError(err, event, source, simxId, data); processedErr != nil {
return nil, processedErr
}
}
pl.SetLogInfo(event, nil, "complete")
return &data, nil
}
func DeleteLinkData(data *esync.UnitLink, event *pl.Event, dbx ...*gorm.DB) error {
pl.SetLogInfo(event, data, "started", "DBDelete")
var tx *gorm.DB