From 35fdad4e60dd7efab032ba581fd1d12c488370dd Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 03 十一月 2023 10:09:54 +0800
Subject: [PATCH] update
---
service/progress.go | 52 ++++++++++++++++++++++++++++++++--------------------
1 files changed, 32 insertions(+), 20 deletions(-)
diff --git a/service/progress.go b/service/progress.go
index 5ebd638..2e7bc07 100644
--- a/service/progress.go
+++ b/service/progress.go
@@ -1,9 +1,10 @@
package service
import (
+ "apsClient/conf"
"apsClient/model"
"errors"
- "gorm.io/gorm"
+ "github.com/jinzhu/gorm"
)
type ProgressService struct {
@@ -13,24 +14,29 @@
return &ProgressService{}
}
-func (slf ProgressService) AddProgress(db *gorm.DB, procedure *model.Procedures, order *model.Order) error {
- progress := &model.ProductionProgress{
- WorkOrderID: procedure.WorkOrderID,
- OrderID: procedure.OrderID,
- ProcedureID: procedure.ProceduresInfo.ProcedureID,
- DeviceID: procedure.DeviceID,
- TotalQuantity: order.Amount.IntPart(),
+func (slf ProgressService) Add(db *gorm.DB, procedure *model.Procedures, order *model.Order) error {
+ _, err := model.NewProductionProgressSearch(db).SetProcedureId(procedure.ProcedureID).SetWorkOrderId(procedure.WorkOrderID).First()
+ if err == gorm.ErrRecordNotFound {
+ progress := &model.ProductionProgress{
+ WorkOrderID: procedure.WorkOrderID,
+ OrderID: procedure.OrderID,
+ ProcedureID: procedure.ProceduresInfo.ProcedureID,
+ DeviceID: procedure.DeviceID,
+ TotalQuantity: order.Amount.IntPart(),
+ Channel: procedure.Channel,
+ }
+ err := model.NewProductionProgressSearch(db).Create(progress)
+ if err != nil {
+ return err
+ }
+ ProgressCacheSet(procedure.Channel, progress)
}
- err := model.NewProductionProgressSearch(db).Create(progress)
- if err != nil {
- return err
- }
- ProgressCacheSet(progress)
+
return nil
}
-func (slf ProgressService) UpdateProgress(finishedQuantity int64) (err error) {
- progressCache, err := slf.GetCurrentProgress()
+func (slf ProgressService) UpdateProgress(channel int32, finishedQuantity int64) (err error) {
+ progressCache, err := slf.GetCurrentProgress(channel)
if err != nil {
return err
}
@@ -39,17 +45,17 @@
}
if finishedQuantity > progressCache.FinishedQuantity { //褰撴湁鍙樺寲鏃舵墠鏇存柊
progressCache.FinishedQuantity = finishedQuantity
- ProgressCacheSet(progressCache)
+ ProgressCacheSet(channel, progressCache)
return model.NewProductionProgressSearch(nil).SetId(progressCache.ID).Save(progressCache)
}
return nil
}
-func (slf ProgressService) GetCurrentProgress() (progressCache *model.ProductionProgress, err error) {
+func (slf ProgressService) GetCurrentProgress(channel int32) (progressCache *model.ProductionProgress, err error) {
var ok bool
- progressCache, ok = ProgressCacheGet()
+ progressCache, ok = ProgressCacheGet(channel)
if !ok {
- progressCache, err = model.NewProductionProgressSearch(nil).SetOrder("id desc").First()
+ progressCache, err = model.NewProductionProgressSearch(nil).SetDeviceId(conf.Conf.CurrentDeviceID).SetChannel(channel).SetOrder("id desc").First()
if err == gorm.ErrRecordNotFound {
return nil, errors.New("progress not found")
}
@@ -61,8 +67,14 @@
progressCache = nil
}
if progressCache != nil {
- ProgressCacheSet(progressCache)
+ ProgressCacheSet(channel, progressCache)
}
}
return
}
+
+// GetProgressList 鑾峰彇寰呭悓姝ヨ繘搴﹀伐搴�
+func (slf ProgressService) GetProgressList() (progressList []*model.ProductionProgress, err error) {
+ progressList, err = model.NewProductionProgressSearch(nil).SetUnFinished().SetOrder("id desc").SetPage(1, 100).FindNotTotal()
+ return
+}
--
Gitblit v1.8.0