no message
parent
56883489ca
commit
f3a9395e7f
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
});
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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()) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue