opt:优化装箱数为1的触发补空任务

This commit is contained in:
2024-07-17 16:28:17 +08:00
parent 97fedaf121
commit ed0563058b

View File

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