1234567891011121314151617181920212223242526272829303132333435363738 |
- package crontab
- import (
- "kpt-pasture/model"
- "time"
- pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
- "gitee.com/xuyiping_admin/pkg/logger/zaplog"
- "go.uber.org/zap"
- )
- func (e *Entry) TwentyOnePregnantRate() error {
- pastureList := e.FindPastureList()
- for _, pasture := range pastureList {
- e.TwentyOnePregnantHandle(pasture.Id)
- }
- return nil
- }
- func (e *Entry) TwentyOnePregnantHandle(pastureId int64) {
- nowTime := time.Now().Local().Format(model.LayoutDate2)
- cowList := make([]*model.Cow, 0)
- if err := e.DB.Model(new(model.Cow)).
- Where("pasture_id = ?", pastureId).
- Where("sex = ?", pasturePb.Genders_Female).
- Find(&cowList).Error; err != nil {
- zaplog.Error("TwentyOnePregnantHandle", zap.Any("err", err), zap.Any("pastureId", pastureId))
- return
- }
- everyDayCalvingList := model.NewEveryDayCalvingList(pastureId, nowTime, cowList)
- if len(everyDayCalvingList) > 0 {
- if err := e.DB.Model(new(model.CowCalving)).
- Create(&everyDayCalvingList).Error; err != nil {
- zaplog.Error("TwentyOnePregnantHandle", zap.Any("err", err), zap.Any("pastureId", pastureId))
- return
- }
- }
- }
|