liujiandao
2024-04-30 1fab8f0f684d28ac8b996b345402b45e116eaed9
task/salary_statistics.go
@@ -1,6 +1,7 @@
package task
import (
   "errors"
   "github.com/shopspring/decimal"
   "silkserver/constvar"
   "silkserver/models"
@@ -37,6 +38,9 @@
   attendances, err := models.NewAttendanceManageSearch().SetMonth(month).FindNotTotal()
   if err != nil {
      logx.Error("SalaryStatistics 查询考勤统计 err: " + err.Error())
      return
   }
   if len(attendances) == 0 {
      return
   }
@@ -83,6 +87,9 @@
      logx.Error("SalaryStatistics 查询工种的薪资方案和新增类型 err: " + err.Error())
      return
   }
   if len(workTypeManages) == 0 {
      return
   }
   for _, form := range reportForms {
      details := make([]*models.SalaryDetails, 0)
      issueSalary := decimal.NewFromInt(0)
@@ -127,8 +134,8 @@
   var cars []models.WorkerPosition
   err := models.NewWorkerPositionSearch().Orm.Table("silk_worker_position").Where("worker_id = ? and start_date >= ? and "+
      "end_date <= ?", workerId, start, end).Find(&cars).Error
   if err != nil {
      return data, err
   if err != nil || len(cars) == 0 {
      return data, errors.New("查询机台管理出错")
   }
   endCarMap := make(map[int]int)
   groupMap := make(map[int]int)
@@ -155,8 +162,8 @@
   var yield []models.YieldRegister
   err = models.NewYieldRegisterSearch().Orm.Table("silk_yield_register").Where("workshop_number in (?) and group_number "+
      "in (?) and create_time >= ? and create_time <= ?", workshops, groups, start, end).Find(&yield).Error
   if err != nil {
      return data, err
   if err != nil || len(yield) == 0 {
      return data, errors.New("查询产量登记表出错")
   }
   yieldRegisterIds := make([]uint, 0)
   for _, register := range yield {
@@ -164,8 +171,8 @@
   }
   yieldMap := make(map[string]decimal.Decimal)
   items, err := models.NewYieldRegisterItemSearch().SetYieldRegisterIds(yieldRegisterIds).SetCarNumbers(endCars).FindNotTotal()
   if err != nil {
      return data, err
   if err != nil || len(items) == 0 {
      return data, errors.New("查询产量登记详情表出错")
   }
   for _, register := range yield {
      for _, item := range items {
@@ -179,8 +186,8 @@
   markets := make([]string, 0)
   err = models.NewFinenessRegisterSearch().Orm.Table("silk_fineness_register").Where("workshop_number in (?) and workshop_group "+
      "in (?) and finish_date >= ? and finish_date <= ?", workshops, groups, start, end).Find(&fineness).Error
   if err != nil {
      return data, err
   if err != nil || len(fineness) == 0 {
      return data, errors.New("查询纤度登记表出错")
   }
   finenessIds := make([]uint, 0)
   for _, register := range fineness {
@@ -190,8 +197,8 @@
   var checkItems []models.FinenessCheckItem
   err = models.NewFinenessCheckItemSearch().Orm.Table("silk_fineness_check_item").Where("fineness_register_id in (?) and "+
      "position in (?)", finenessIds, endCars).Find(&checkItems).Error
   if err != nil {
      return data, err
   if err != nil || len(checkItems) == 0 {
      return data, errors.New("查询纤度登记详情表出错")
   }
   checkMap := make(map[string]string)
   marketMap := make(map[string]string)