123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package crontab
- import (
- "kpt-pasture/model"
- "gitee.com/xuyiping_admin/pkg/logger/zaplog"
- "go.uber.org/zap"
- )
- // UpdateMilkLoad2 (UPDATE milkweight m SET m.nattach=1 WHERE m.wid BETWEEN xdminwid AND xdmaxwid AND m.milkdate=xcurdate AND m.nattach=0 AND m.station=xvarName;)
- func (e *Entry) UpdateMilkLoad2(pastureId int64, milkClassConfig *MilkClassConfig, hall *model.MilkHall) {
- milkOriginalList := make([]*model.MilkOriginal, 0)
- if err := e.DB.Model(new(model.MilkOriginal)).
- Where("pasture_id = ?", pastureId).
- Where("nattach = ?", 0).
- Where("milk_hall_number = ?", hall.Name).
- Where("id BETWEEN ? AND ?", milkClassConfig.OldUpdateMaxId+1, milkClassConfig.CurrentMaxId).
- Find(&milkOriginalList).Error; err != nil {
- return
- }
- for _, v := range milkOriginalList {
- if err := e.DB.Model(new(model.MilkOriginal)).
- Where("id = ?", v.Id).
- Update("nattach", 1).Error; err != nil {
- zaplog.Error("UpdateMilkLoad2", zap.Any("err", err))
- return
- }
- }
- }
- // UpdateMilkLoad3 更新重复套杯牛只圈数
- //
- // SELECT aa.wid, aa.`load` FROM (
- // SELECT m0.milkdate, m0.shifts, m0.detacher_address, m0.wid, IF(m0.nattach=1 OR @address!=m0.detacher_address, @nload:= m0.`load`, @nload) `load`,
- // @attachtimes:=attachtimes, @detachtimes:=detachtimes, @shifts:=m0.shifts, @address:=m0.detacher_address, m0.nattach
- // FROM (
- // SELECT m00.milkdate, m00.shifts, m00.detacher_address, m00.wid, m00.nattach, m00.`load`, m00.attachtimes, m00.detachtimes
- // FROM milkweight m00 WHERE m00.wid BETWEEN xdminwid AND xdmaxwid AND m00.milkdate=xcurdate AND m00.station=xvarName
- // ORDER BY m00.shifts, m00.detacher_address, m00.wid LIMIT 99999
- // ) m0, (SELECT @shifts:=6, @address:=0, @nload:=1) mm ORDER BY m0.shifts, m0.detacher_address, m0.wid LIMIT 9999
- // ) aa WHERE aa.nattach=2 ORDER BY aa.wid;
- //
- // UPDATE milkweight m5 JOIN tmp_milkload1 m6 ON m5.Wid=m6.wid SET m5.`load`=m6.`load`;
- func (e *Entry) UpdateMilkLoad3(pastureId int64, milkClassConfig *MilkClassConfig, hall *model.MilkHall) {
- milkOriginalList := make([]*model.MilkOriginal, 0)
- if err := e.DB.Model(new(model.MilkOriginal)).
- Where("pasture_id = ?", pastureId).
- Where("milk_hall_number = ?", hall.Name).
- Where("id BETWEEN ? AND ?", milkClassConfig.OldUpdateMaxId+1, milkClassConfig.CurrentMaxId).
- Order("shifts,detached_address,id").
- Find(&milkOriginalList).Error; err != nil {
- return
- }
- }
|