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