package cn.iocoder.yudao.module.mes.api.wms;
|
|
import cn.hutool.core.collection.CollUtil;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.module.mes.service.wm.transaction.MesWmTransactionService;
|
import cn.iocoder.yudao.module.mes.service.wm.transaction.dto.MesWmTransactionSaveReqDTO;
|
import cn.iocoder.yudao.module.wms.api.transaction.WmsTransactionApi;
|
import cn.iocoder.yudao.module.wms.api.transaction.WmsTransactionCreateReqDTO;
|
import jakarta.annotation.Resource;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
import org.springframework.validation.annotation.Validated;
|
|
import java.util.List;
|
|
/**
|
* WMS 库存事务 API 实现类
|
*
|
* 在 MES 模块中实现,内部调用 MesWmTransactionService
|
*/
|
@Service
|
@Validated
|
@Slf4j
|
public class WmsTransactionApiImpl implements WmsTransactionApi {
|
|
@Resource
|
private MesWmTransactionService transactionService;
|
|
@Override
|
public Long createTransaction(WmsTransactionCreateReqDTO reqDTO) {
|
log.info("[createTransaction] 创建库存事务,type={}, bizType={}, itemId={}",
|
reqDTO.getType(), reqDTO.getBizType(), reqDTO.getItemId());
|
MesWmTransactionSaveReqDTO mesTransaction = convertToMesTransaction(reqDTO);
|
return transactionService.createTransaction(mesTransaction);
|
}
|
|
@Override
|
public void createTransactionBatch(List<WmsTransactionCreateReqDTO> reqDTOs) {
|
if (CollUtil.isEmpty(reqDTOs)) {
|
return;
|
}
|
log.info("[createTransactionBatch] 批量创建库存事务,count={}", reqDTOs.size());
|
List<MesWmTransactionSaveReqDTO> mesTransactions = reqDTOs.stream()
|
.map(this::convertToMesTransaction)
|
.toList();
|
transactionService.createTransactionList(mesTransactions);
|
}
|
|
/**
|
* 转换WMS事务DTO为MES事务DTO
|
*/
|
private MesWmTransactionSaveReqDTO convertToMesTransaction(WmsTransactionCreateReqDTO reqDTO) {
|
return BeanUtils.toBean(reqDTO, MesWmTransactionSaveReqDTO.class);
|
}
|
}
|