|
|
@ -179,12 +179,12 @@ LOOP: |
|
|
|
data := strings.Split(bl_wl.Worklinetab.Mixsortlogic, ";") |
|
|
|
if len(data) >= 2 { |
|
|
|
/* 获取锁 */ |
|
|
|
LOCK: |
|
|
|
MixLOCK: |
|
|
|
err = etcd.G_jobLock.TryLock("lock") |
|
|
|
if err != nil { |
|
|
|
fmt.Println("seq groutine lock fail!") |
|
|
|
time.Sleep(10 * time.Millisecond) |
|
|
|
goto LOCK |
|
|
|
goto MixLOCK |
|
|
|
} |
|
|
|
//项目1
|
|
|
|
info1 := strings.Split(data[0], ":") |
|
|
@ -220,6 +220,7 @@ LOOP: |
|
|
|
etcd.G_jobLock.UnLock() |
|
|
|
return |
|
|
|
} |
|
|
|
etcd.G_jobLock.UnLock() |
|
|
|
//比较swet时间
|
|
|
|
if len(wotablst1) > 0 { |
|
|
|
swet1 = wotablst1[0].Swet |
|
|
@ -314,7 +315,6 @@ LOOP: |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
etcd.G_jobLock.UnLock() |
|
|
|
} else if len(data) == 1{ |
|
|
|
//项目1
|
|
|
|
info1 := strings.Split(data[0], ":") |
|
|
@ -357,10 +357,19 @@ LOOP: |
|
|
|
//非混线逻辑
|
|
|
|
// 获取待下达任务数
|
|
|
|
// 非混线排序,则正常加载已计划未下达生产订单
|
|
|
|
/* 获取锁 */ |
|
|
|
LOCK: |
|
|
|
err = etcd.G_jobLock.TryLock("lock") |
|
|
|
if err != nil { |
|
|
|
fmt.Println("seq groutine lock fail!") |
|
|
|
time.Sleep(10 * time.Millisecond) |
|
|
|
goto LOCK |
|
|
|
} |
|
|
|
if wotablst, err = bl_wl.GetLineTaskWorkorders(bl_wl.WorklineId, toRelQty); err != nil { |
|
|
|
err = errors.New(fmt.Sprintf("Failed to load work order for workline: %s due to: %v", bl_wl.WorklineId, err)) |
|
|
|
return |
|
|
|
} |
|
|
|
etcd.G_jobLock.UnLock() |
|
|
|
for i = 0; i < len(wotablst); i++ { |
|
|
|
wotablst[i].Clipped() |
|
|
|
bl_wo = BL_WorkOrder{} |
|
|
|