test_data/repository/test.data/report.excel.go
2024-10-29 11:18:12 +08:00

98 lines
3.5 KiB
Go

package test_data
import (
"errors"
"gorm.io/gorm"
"testData/global"
"testData/model"
"testData/request"
)
func CreateFinalReportExcel(req *request.CreateFinalReportExcel) error {
var finalReportExcel *model.FinalReportExcel
if errors.Is(global.PostGreSQL.Where("factory = ?", req.Factory).First(&finalReportExcel).Error, gorm.ErrRecordNotFound) {
global.PostGreSQL.Create(&model.FinalReportExcel{
Step: req.Step,
Product: req.Product,
Lot: req.Lot,
Factory: req.Factory,
TestProgram: req.TestProgram,
PBI: req.PBI,
OrderDate: req.OrderDate,
Seal: req.Seal,
SubBatch: req.SubBatch,
FinalTestQuantity: req.FinalTestQuantity,
FinalPassQuantity: req.FinalPassQuantity,
FinalPassProbability: req.FinalPassProbability,
Bin1: req.Bin1,
Bin2: req.Bin2,
Bin3: req.Bin3,
Bin4: req.Bin4,
Bin5: req.Bin5,
Bin6: req.Bin6,
Bin7: req.Bin7,
Bin8: req.Bin8,
Bin9: req.Bin9,
Bin10: req.Bin10,
OutlookFail: req.OutlookFail,
Other: req.Other,
BentStitch: req.BentStitch,
Scrapped: req.Scrapped,
})
return nil
}
return errors.New(req.Factory + "信息已存在")
}
func ShowListFinalReportExcel(offset, limit int, keyword string) ([]*model.FinalReportExcel, int64, error) {
var finalReportExcel []*model.FinalReportExcel
var total int64
global.PostGreSQL.Find(&finalReportExcel).Count(&total).Offset(offset).Limit(limit).Find(&finalReportExcel)
return finalReportExcel, total, nil
}
func UpdateFinalReportExcel(req *request.UpdateFinalReportExcel) error {
var finalReportExcel *model.FinalReportExcel
if errors.Is(global.PostGreSQL.Find(&finalReportExcel, req.ID).Error, gorm.ErrRecordNotFound) {
return errors.New("未找到需要修改的厂商")
}
global.PostGreSQL.Model(&finalReportExcel).Updates(map[string]interface{}{
"step": req.Step,
"product": req.Product,
"lot": req.Lot,
"sub_batch": req.SubBatch,
"factory": req.Factory,
"test_program": req.TestProgram,
"pbi": req.PBI,
"order_date": req.OrderDate,
"seal": req.Seal,
"final_test_quantity": req.FinalTestQuantity,
"final_pass_quantity": req.FinalPassQuantity,
"final_pass_probability": req.FinalPassProbability,
"bin1": req.Bin1,
"bin2": req.Bin2,
"bin3": req.Bin3,
"bin4": req.Bin4,
"bin5": req.Bin5,
"bin6": req.Bin6,
"bin7": req.Bin7,
"bin8": req.Bin8,
"bin9": req.Bin9,
"bin10": req.Bin10,
"outlook_fail": req.OutlookFail,
"other": req.Other,
"bent_stitch": req.BentStitch,
"scrapped": req.Scrapped,
})
return nil
}
func DeleteFinalReportExcel(req *request.DeleteFinalReportExcel) error {
var finalReportExcel *model.FinalReportExcel
if errors.Is(global.PostGreSQL.Find(&finalReportExcel, req.ID).Error, gorm.ErrRecordNotFound) {
return errors.New("未找到需要删除的厂商")
}
global.PostGreSQL.Delete(&finalReportExcel)
return nil
}