controllers/fineness.go | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
models/fineness.go | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
models/fineness_check.go | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
models/fineness_check_item.go | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
service/fineness.go | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
controllers/fineness.go
@@ -43,10 +43,13 @@ util.ResponseFormat(c, code.RequestParamError, err.Error()) return } isNew := params.ID == 0 err := models.WithTransaction(func(db *gorm.DB) error { search := models.NewFinenessRegisterSearch().SetOrm(db) if params.ID != 0 { if !isNew { if err := models.NewFinenessItemSearch().SetOrm(db).SetFinenessRegisterID(params.ID).Delete(); err != nil { return err } @@ -59,7 +62,7 @@ util.ResponseFormat(c, code.RequestParamError, "保存失败") } err = service.FinenessCheck(¶ms) err = service.FinenessCheck(¶ms, isNew) if err != nil { logx.Errorf("service.FinenessCheck err:%v, finenessRegister:%+v", err, params) util.ResponseFormat(c, code.RequestParamError, "生成检验表失败") models/fineness.go
@@ -11,18 +11,19 @@ // FinenessRegister 纤度登记 FinenessRegister struct { gorm.Model Number string `gorm:"type:varchar(255);not null;comment:编号" json:"number"` //编号 FinishDate string `gorm:"type:varchar(255);not null;comment:落丝时间" json:"finishDate"` //落丝时间 Workshop string `gorm:"type:varchar(255);not null;comment:车间" json:"name"` //车间 WorkshopGroup int `gorm:"type:int(11);not null;default:0;comment:车组" json:"workshopGroup"` //车组 Market string `gorm:"type:varchar(255);not null;comment:庄口" json:"market"` //庄口 Spec string `gorm:"type:varchar(255);not null;comment:规格" json:"spec"` //规格 Circle uint8 `gorm:"not null;default:0;comment:回数" json:"circle"` //回数 TotalCircle uint8 `gorm:"not null;default:0;comment:总回数" json:"totalCircle"` //总回数 FinenessList []FinenessItem `gorm:"foreignkey:FinenessRegisterID;references:ID" json:"finenessList"` SumFineness decimal.Decimal `gorm:"type:decimal(12,2);not null;comment:合计纤度" json:"sumFineness"` SumQuantity decimal.Decimal `gorm:"type:decimal(12,2);not null;comment:合计数量" json:"sumQuantity"` Position int `gorm:"not null;default:0;comment:车号" json:"position"` //最后一个车号 Number string `gorm:"type:varchar(255);not null;comment:编号" json:"number"` //编号 FinenessCheckID uint `gorm:"not null;comment:纤度检验表ID" json:"finenessCheckID"` //纤度检验表ID FinishDate string `gorm:"type:varchar(255);not null;comment:落丝时间" json:"finishDate"` //落丝时间 Workshop string `gorm:"type:varchar(255);not null;comment:车间" json:"name"` //车间 WorkshopGroup int `gorm:"type:int(11);not null;default:0;comment:车组" json:"workshopGroup"` //车组 Market string `gorm:"type:varchar(255);not null;comment:庄口" json:"market"` //庄口 Spec string `gorm:"type:varchar(255);not null;comment:规格" json:"spec"` //规格 Circle uint8 `gorm:"not null;default:0;comment:回数" json:"circle"` //回数 TotalCircle uint8 `gorm:"not null;default:0;comment:总回数" json:"totalCircle"` //总回数 FinenessList []FinenessItem `gorm:"foreignkey:FinenessRegisterID;references:ID" json:"finenessList"` SumFineness decimal.Decimal `gorm:"type:decimal(12,2);not null;comment:合计纤度" json:"sumFineness"` SumQuantity decimal.Decimal `gorm:"type:decimal(12,2);not null;comment:合计数量" json:"sumQuantity"` Position int `gorm:"not null;default:0;comment:车号" json:"position"` //最后一个车号 } FinenessRegisterSearch struct { FinenessRegister models/fineness_check.go
@@ -68,6 +68,11 @@ return slf } func (slf *FinenessCheckSearch) SetFinenessRegisterID(id uint) *FinenessCheckSearch { slf.FinenessRegisterID = id return slf } func (slf *FinenessCheckSearch) SetKeyword(keyword string) *FinenessCheckSearch { slf.Keyword = keyword return slf @@ -88,6 +93,10 @@ db = db.Where("number like ?", fmt.Sprintf("%%%s%%", slf.Keyword)) } if slf.FinenessRegisterID != 0 { db = db.Where("fineness_register_id = ?", slf.FinenessRegisterID) } if slf.Preload { db = db.Model(&FinenessCheck{}).Preload("FinenessRegister") } models/fineness_check_item.go
@@ -12,10 +12,10 @@ // FinenessCheckItem 纤度检验明细 FinenessCheckItem struct { gorm.Model FinenessRegisterID uint `gorm:"not null;comment:纤度登记表ID" json:"finenessRegisterID"` //纤度登记表ID //FinenessCheckID uint `gorm:"not null;comment:纤度检验表ID" json:"finenessCheckID"` //纤度检验表ID Position int `json:"position"` //车号 FinenessRoundingItems []*FinenessRoundingItem `json:"finenessRoundingItems" gorm:"-"` //纤度列表 FinenessRegisterID uint `gorm:"not null;comment:纤度登记表ID" json:"finenessRegisterID"` //纤度登记表ID FinenessCheckID uint `gorm:"not null;comment:纤度检验表ID" json:"finenessCheckID"` //纤度检验表ID Position int `json:"position"` //车号 FinenessRoundingItems []*FinenessRoundingItem `json:"finenessRoundingItems" gorm:"-"` //纤度列表 FinenessRounding string `json:"-"` Deviation decimal.Decimal `gorm:"type:decimal(12,2);not null;comment:偏差" json:"deviation"` //偏差 TotalDeviation decimal.Decimal `gorm:"type:decimal(12,2);not null;comment:总差" json:"totalDeviation"` //总差 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 }