| | |
| | | package task |
| | | |
| | | import ( |
| | | "errors" |
| | | "github.com/shopspring/decimal" |
| | | "silkserver/constvar" |
| | | "silkserver/models" |
| | |
| | | attendances, err := models.NewAttendanceManageSearch().SetMonth(month).FindNotTotal() |
| | | if err != nil { |
| | | logx.Error("SalaryStatistics 查询考勤统计 err: " + err.Error()) |
| | | return |
| | | } |
| | | if len(attendances) == 0 { |
| | | return |
| | | } |
| | | |
| | |
| | | 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) |
| | |
| | | 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) |
| | |
| | | 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 { |
| | |
| | | } |
| | | 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 { |
| | |
| | | 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 { |
| | |
| | | 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) |