no message

main
HUOJIN\92525 2024-07-03 21:19:24 +08:00
parent 56883489ca
commit f3a9395e7f
4 changed files with 25 additions and 19 deletions

View File

@ -65,7 +65,7 @@ public class Task extends BaseEntity implements Serializable {
@ApiModelProperty(value = "任务类型")
private String taskType;
@OneToOne(cascade = CascadeType.PERSIST)
@OneToOne
@JoinColumn(name = "asn_detail_id")
@ApiModelProperty(value = "收货明细序号")
private AsnDetail asnDetail;

View File

@ -89,7 +89,7 @@ public class MlsController {
@AnonymousAccess
@Log("叫料指令")
@ApiOperation("叫料指令")
public synchronized ResponseEntity<Object> getIssueInfo(@RequestBody IssueInfo issueInfo) {
public ResponseEntity<Object> getIssueInfo(@RequestBody IssueInfo issueInfo) {
/*try {
} catch (Exception e) {
return new ResponseEntity<>(ApiResult.success(BAD_REQUEST.value(), e.getMessage(), ""), HttpStatus.BAD_REQUEST);

View File

@ -13,6 +13,7 @@ import com.youchain.basicdata.service.PointService;
import com.youchain.businessdata.domain.*;
import com.youchain.businessdata.inputJson.*;
import com.youchain.businessdata.service.*;
import com.youchain.config.thread.ThreadPoolExecutorUtil;
import com.youchain.modules.system.domain.Dept;
import com.youchain.modules.system.service.DeptService;
import com.youchain.utils.*;
@ -24,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
import java.util.stream.Collectors;
@Service
@ -472,41 +474,44 @@ public class MlsServiceImpl implements MlsService {
taskToCreate.add(task);
}
ExecutorService executor = ThreadPoolExecutorUtil.getPoll("getIssueInfo-job");
// 批量更新库存信息
CompletableFuture<Void> inventoryFuture = CompletableFuture.runAsync(() -> {
//批量更新库存信息
if (!inventoryToUpdate.isEmpty()) {
batchCreateOrUpdate.batchUpdate(inventoryToUpdate);
}
});
}, executor);
CompletableFuture<Void> pickDetailFuture = inventoryFuture.thenAccept(result2 -> {
CompletableFuture<Void> pickDetailFuture = inventoryFuture.thenRunAsync(() -> {
//批量生成叫料明细
if (!pickDetailToCreate.isEmpty()) {
batchCreateOrUpdate.batchCreate(pickDetailToCreate);
}
});
}, executor);
CompletableFuture<Void> agvTaskFuture = pickDetailFuture.thenAccept(result3 -> {
CompletableFuture<Void> agvTaskFuture = pickDetailFuture.thenRunAsync(() -> {
// 批量生成agv任务
if (!agvTaskToCreate.isEmpty()) {
batchCreateOrUpdate.batchCreate(agvTaskToCreate);
}
});
}, executor);
CompletableFuture<Void> taskFuture = agvTaskFuture.thenAccept(result4 -> {
CompletableFuture<Void> taskFuture = agvTaskFuture.thenRunAsync(() -> {
// 批量生成任务
if (!taskToCreate.isEmpty()) {
batchCreateOrUpdate.batchCreate(taskToCreate);
}
});
CompletableFuture.allOf(inventoryFuture, pickDetailFuture, agvTaskFuture, taskFuture).join();
}, executor);
taskFuture.join();
executor.shutdown();
});

View File

@ -2,6 +2,7 @@ package com.youchain.utils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.List;
@ -18,7 +19,7 @@ public class BatchCreateOrUpdate {
* @param entities
* @param <T>
*/
@Transactional
@Transactional(rollbackFor = Exception.class)
public <T> void batchCreate(List<T> entities) {
int batchSize = 100;
if (entities == null || entities.isEmpty()) {
@ -50,7 +51,7 @@ public class BatchCreateOrUpdate {
* @param entities
* @param <T>
*/
@Transactional
@Transactional(rollbackFor = Exception.class)
public <T> void batchUpdate(List<T> entities) {
int batchSize = 100;
if (entities == null || entities.isEmpty()) {