From b94bef381946e22fd1038f24e6d9de911d194640 Mon Sep 17 00:00:00 2001 From: yinbentan <yinbentan@live.com> Date: 星期三, 31 七月 2024 23:33:48 +0800 Subject: [PATCH] 功能修改,工资计算调整,通过前端配置公式进行计算 --- models/payroll_production_weavers.go | 25 ++++++++++++++++++++++++- 1 files changed, 24 insertions(+), 1 deletions(-) diff --git a/models/payroll_production_weavers.go b/models/payroll_production_weavers.go index 9698f75..b865685 100644 --- a/models/payroll_production_weavers.go +++ b/models/payroll_production_weavers.go @@ -16,6 +16,7 @@ WorkType WorkTypeManage `json:"workType" gorm:"foreignKey:WorkTypeID;references:ID"` WorkerID string `json:"workerId" gorm:"size:200;not null;comment:鍛樺伐ID"` //鍛樺伐ID Worker Worker `json:"worker" gorm:"foreignKey:WorkerID;references:ID"` + WorkshopId uint `json:"workshopId" gorm:"type:int(11);comment:杞﹂棿Id"` WorkshopNumber string `json:"workshopNumber" gorm:"size:255;not null;comment:杞﹂棿缂栧彿"` // 杞﹂棿缂栧彿 GroupNumber int `json:"groupNumber" gorm:"size:11;not null;comment:缁勫埆"` // 缁勫埆 CarNumbers string `json:"carNumbers" gorm:"size:255;not null;comment:杞﹀彴鍙�"` // 杞﹀彴鍙� @@ -40,7 +41,7 @@ ) func (slf PayrollProductionWeavers) TableName() string { - return "silk_payroll_production_employee" + return "silk_payroll_production_weavers" } // NewPayrollProductionWeaversSearch 鍛樺伐姣忓ぉ鐨勪骇閲忕粺璁� @@ -320,3 +321,25 @@ return records, nil } + +type WeaversAmount struct { + WorkerID string `json:"workerID"` + SilkQuantity decimal.Decimal `json:"silkQuantity"` // 涓濋噺 + SilkTotalAmount decimal.Decimal `json:"silkTotalAmount"` // 涓濋噺鎬讳环 + BadSilkQuantity decimal.Decimal `json:"badSilkQuantity"` // 閲庣氦鏁伴噺 + BadSilkTotalAmount decimal.Decimal `json:"badSilkTotalAmount"` // 閲庣氦鎬讳环 + FinishTotalAmount decimal.Decimal `json:"finishTotalAmount"` // 鎴愬搧閲戦 +} + +// FindWeaversAmount 鎸¤溅宸ユ湀宸ヨ祫 +func (slf *PayrollProductionWeaversSearch) FindWeaversAmount(monthly string) ([]*WeaversAmount, error) { + var ( + records = make([]*WeaversAmount, 0) + db = slf.Orm.Table(slf.TableName()) + ) + db.Select("worker_id, sum(silk_quantity) as silk_quantity, sum(silk_total_amount) as silk_total_amount, sum(bad_silk_quantity) as bad_silk_quantity, sum(bad_silk_total_amount) as bad_silk_total_amount, sum(finish_total_amount) as finish_total_amount"). + Where("cycle like ?", monthly+"%"). + Group("worker_id") + + return records, db.Find(&records).Error +} -- Gitblit v1.8.0