package createVersion
|
|
|
|
import (
|
|
"leit.com/LAPP_CHEERSSON_BACKEND/global"
|
|
model "leit.com/LAPP_CHEERSSON_BACKEND/models/base"
|
|
svr "leit.com/LAPP_CHEERSSON_BACKEND/services/base"
|
|
apSvr "leit.com/LAPP_CHEERSSON_BACKEND/services/ap"
|
|
"leit.com/LAPP_CHEERSSON_BACKEND/web/middleware/glog"
|
|
"time"
|
|
"context"
|
|
)
|
|
|
|
//仓库
|
|
var custChan = make(chan model.Customer) //定义一个调度任务通道
|
|
|
|
/****查询要打印的任务**********/
|
|
func CreateVersionTask() {
|
|
for {
|
|
//创建继承Baxkground的子节点Context
|
|
ctx, cancel := context.WithCancel(context.Background())
|
|
defer cancel()
|
|
go doTaskVersion(ctx)
|
|
|
|
data := make([]model.Customer, 0)
|
|
//第一步,查询客户信息的数据
|
|
var serviceOfCust = svr.NewCustomerService()
|
|
user := new(global.User)
|
|
user.PlantNr = model.PlantNr
|
|
user.UserId = "auto"
|
|
data, err := serviceOfCust.Select(user, nil)
|
|
if err != nil {
|
|
continue
|
|
}
|
|
//第二步,把所有的服务调度放到channel
|
|
for _, v := range data {
|
|
custChan <- v
|
|
}
|
|
time.Sleep(1 * time.Hour)
|
|
}
|
|
}
|
|
|
|
/********打印逻辑************/
|
|
func doTaskVersion(ctx context.Context) {
|
|
//第三步,启动协程,从channel里读取数据
|
|
for {
|
|
select {
|
|
case <-ctx.Done():
|
|
return
|
|
case task, ok := <-custChan:
|
|
|
|
if !ok {
|
|
return //停机退出
|
|
}
|
|
var serviceOfCustVerHead = apSvr.NewCustDemandVerHeadService()
|
|
user := new(global.User)
|
|
user.PlantNr = model.PlantNr
|
|
user.UserId = "auto"
|
|
err := serviceOfCustVerHead.SelectOneByCustTask(user, task)
|
|
if err != nil {
|
|
glog.InfoExtln("创建错误记录", "err:", err)
|
|
continue
|
|
}
|
|
}
|
|
}
|
|
}
|