From 4f9f21d3c72d724f3cf41939e4d48a46de0848d8 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期二, 09 四月 2024 15:09:08 +0800 Subject: [PATCH] 纤度登记表增加登记表id,修改登记时先删除检验记录再生成新的检验记录 --- service/fineness.go | 21 +++++++++++++++++++-- 1 files changed, 19 insertions(+), 2 deletions(-) diff --git a/service/fineness.go b/service/fineness.go index 863c71f..6128727 100644 --- a/service/fineness.go +++ b/service/fineness.go @@ -10,7 +10,7 @@ "sort" ) -func FinenessCheck(finenessRegister *models.FinenessRegister) (err error) { +func FinenessCheck(finenessRegister *models.FinenessRegister, isNew bool) (err error) { standardMap, err := GetSilkRankStandard() if err != nil { return err @@ -88,11 +88,28 @@ finenessCheck.FinenessGrade = CalcFinenessGrade(finenessCheck.Deviation, finenessCheck.TotalDeviation, finenessCheck.Cleanliness, finenessCheck.Purity, finenessCheck.TwiceChange, standardMap) err = models.WithTransaction(func(db *gorm.DB) error { + if !isNew { + err = models.NewFinenessCheckSearch().SetOrm(db).SetFinenessRegisterID(finenessRegister.ID).Delete() + if err != nil { + return err + } + err = models.NewFinenessCheckItemSearch().SetOrm(db).SetFinenessRegisterID(finenessRegister.ID).Delete() + if err != nil { + return err + } + } err := models.NewFinenessCheckSearch().SetOrm(db).Create(&finenessCheck) if err != nil { return err } - return models.NewFinenessCheckItemSearch().SetOrm(db).CreateBatch(finenessCheckItems) + for _, v := range finenessCheckItems { + v.FinenessCheckID = finenessCheck.ID + } + err = models.NewFinenessCheckItemSearch().SetOrm(db).CreateBatch(finenessCheckItems) + if err != nil { + return err + } + return models.NewFinenessRegisterSearch().SetOrm(db).SetID(finenessRegister.ID).UpdateByMap(map[string]interface{}{"fineness_check_id": finenessCheck.ID}) }) return err } -- Gitblit v1.8.0