opt:优化装箱数为1的触发补空任务
This commit is contained in:
@@ -33,13 +33,13 @@ import org.nl.wms.sch.manage.TaskStatusEnum;
|
|||||||
import org.nl.wms.util.TaskUtil;
|
import org.nl.wms.util.TaskUtil;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.scheduling.annotation.Async;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.concurrent.ThreadPoolExecutor;
|
import java.util.concurrent.ThreadPoolExecutor;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@@ -150,7 +150,7 @@ public class ZxDjwTask extends AbstractAcsTask {
|
|||||||
//清除最后一个子卷计数
|
//清除最后一个子卷计数
|
||||||
redisUtils.set(NUM_KEY, 0);
|
redisUtils.set(NUM_KEY, 0);
|
||||||
//6.创建装箱区->待检区或管制区补空任务
|
//6.创建装箱区->待检区或管制区补空任务
|
||||||
callingVehicleToDjqOrGzq(packagerelationList);
|
callingVehicleToDjqOrGzq(Integer.parseInt(packagerelationList.get(0).getQuanlity_in_box().toString()));
|
||||||
}
|
}
|
||||||
//7.改变子卷包装状态为已装箱:1
|
//7.改变子卷包装状态为已装箱:1
|
||||||
PdmBiSubpackagerelation pdmBiSubpackagerelation = subpackageRelationService
|
PdmBiSubpackagerelation pdmBiSubpackagerelation = subpackageRelationService
|
||||||
@@ -171,32 +171,30 @@ public class ZxDjwTask extends AbstractAcsTask {
|
|||||||
taskService.update(null, updateWrapper);
|
taskService.update(null, updateWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Async("pool")
|
|
||||||
public void callingVehicleToDjqOrGzq(List<PdmBiSubpackagerelation> packagerelationList) {
|
|
||||||
callingVehicleToDjqOrGzq(Integer.parseInt(packagerelationList.get(0).getQuanlity_in_box().toString()));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 装箱任务完成,异步调用装箱区->待检区补空任务
|
* 装箱任务完成,异步调用装箱区->待检区补空任务
|
||||||
*/
|
*/
|
||||||
private void callingVehicleToDjqOrGzq(Integer callingNum) {
|
public void callingVehicleToDjqOrGzq(Integer callingNum) {
|
||||||
if (callingNum == 1) {
|
CompletableFuture.runAsync(() -> {
|
||||||
autoSendVehicleToDjq.sendVehicleToDjqOrGzq1(IOSEnum.IS_NOTANDYES.code("是"));
|
try {
|
||||||
} else if (callingNum > 1) {
|
if (callingNum == 1) {
|
||||||
for (int i = 0; i < callingNum; i++) {
|
autoSendVehicleToDjq.sendVehicleToDjqOrGzq1(IOSEnum.IS_NOTANDYES.code("是"));
|
||||||
pool.execute(() -> {
|
} else if (callingNum > 1) {
|
||||||
try {
|
for (int i = 0; i < callingNum; i++) {
|
||||||
//5秒执行一次
|
try {
|
||||||
TimeUnit.SECONDS.sleep(5L);
|
autoSendVehicleToDjq.sendVehicleToDjqOrGzq1(IOSEnum.IS_NOTANDYES.code("是"));
|
||||||
autoSendVehicleToDjq.sendVehicleToDjqOrGzq1(IOSEnum.IS_NOTANDYES.code("是"));
|
//4秒执行一次
|
||||||
} catch (InterruptedException e) {
|
TimeUnit.SECONDS.sleep(4L);
|
||||||
Thread.currentThread().interrupt();
|
} catch (InterruptedException e) {
|
||||||
e.printStackTrace();
|
Thread.currentThread().interrupt();
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("updateBoxGroup接口更新及子卷包装状态已分配规格及木箱规格组异常:" + e);
|
||||||
}
|
}
|
||||||
}
|
}, pool);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user