package service import ( "apsClient/conf" "apsClient/model" "apsClient/model/request" "errors" "time" ) func ReportWorkList(procedureId uint, page, pageSize int) (list []*model.ReportWork, total int64, err error) { return model.NewReportWorkSearch(nil).SetProceduresId(procedureId).SetPage(page, pageSize).SetDeviceId(conf.Conf.CurrentDeviceID).SetOrder("id desc").Find() } func AddReportWork(params request.ReportWork) (err error) { procedure, err := model.NewProceduresSearch(nil).SetId(params.ProcedureId).First() if err != nil { return err } nowTs := time.Now().Unix() var startTs int64 var workerName string for _, worker := range procedure.ProceduresInfo.Workers { if params.WorkerID == worker.WorkerID { workerName = worker.WorkerName if worker.StartTime < nowTs { startTs = worker.StartTime } } } if workerName == "" { return errors.New("没有找到当前值班人员") } if startTs == 0 { return errors.New("没有找到当前值班人员开始时间") } record := &model.ReportWork{ ProceduresID: params.ProcedureId, WorkOrderID: procedure.WorkOrderID, DeviceID: procedure.DeviceID, DeviceName: procedure.ProceduresInfo.DeviceName, ProcedureID: procedure.ProcedureID, Channel: procedure.Channel, StartTime: startTs, EndTime: nowTs, WorkerID: params.WorkerID, WorkerName: workerName, } return model.NewReportWorkSearch(nil).Create(record) }