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)
|
}
|