Compare commits
2 Commits
cd00b9562d
...
5be8f2857e
| Author | SHA1 | Date | |
|---|---|---|---|
| 5be8f2857e | |||
| 62eb5aedfb |
@@ -106,4 +106,14 @@ public class WmsTransferOrderItemController extends BaseController {
|
||||
@NotNull(message = "itemType不能为空") String itemType) {
|
||||
return R.ok(iWmsTransferOrderItemService.matchOrCreateMaterial(itemId, itemType));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量新增调拨单明细
|
||||
*/
|
||||
@Log(title = "调拨单明细", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping("/batch")
|
||||
public R<Void> batchAdd(@Validated(AddGroup.class) @RequestBody WmsTransferOrderItemBo bo) {
|
||||
return toAjax(iWmsTransferOrderItemService.batchInsert(bo));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@ package com.klp.domain.bo;
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
|
||||
@@ -32,6 +34,11 @@ public class WmsTransferOrderItemBo extends BaseEntity {
|
||||
*/
|
||||
private Long coilId;
|
||||
|
||||
/**
|
||||
* 钢卷id列表(批量新增用)
|
||||
*/
|
||||
private List<Long> coilIds;
|
||||
|
||||
/**
|
||||
* 调拨前itemId
|
||||
*/
|
||||
|
||||
@@ -52,4 +52,9 @@ public interface IWmsTransferOrderItemService {
|
||||
* itemType: "raw_material"-原料, "product"-成品
|
||||
*/
|
||||
Long matchOrCreateMaterial(Long itemId, String itemType);
|
||||
|
||||
/**
|
||||
* 批量新增调拨单明细
|
||||
*/
|
||||
Boolean batchInsert(WmsTransferOrderItemBo bo);
|
||||
}
|
||||
|
||||
@@ -13,15 +13,18 @@ import com.klp.domain.vo.WmsTransferOrderItemVo;
|
||||
import com.klp.domain.WmsTransferOrderItem;
|
||||
import com.klp.domain.WmsRawMaterial;
|
||||
import com.klp.domain.WmsProduct;
|
||||
import com.klp.domain.WmsMaterialCoil;
|
||||
import com.klp.mapper.WmsTransferOrderItemMapper;
|
||||
import com.klp.mapper.WmsRawMaterialMapper;
|
||||
import com.klp.mapper.WmsProductMapper;
|
||||
import com.klp.mapper.WmsMaterialCoilMapper;
|
||||
import com.klp.service.IWmsTransferOrderItemService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
import java.util.Objects;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
@@ -40,6 +43,7 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer
|
||||
private final WmsTransferOrderItemMapper baseMapper;
|
||||
private final WmsRawMaterialMapper rawMaterialMapper;
|
||||
private final WmsProductMapper productMapper;
|
||||
private final WmsMaterialCoilMapper coilMapper;
|
||||
|
||||
/**
|
||||
* 查询调拨单明细
|
||||
@@ -201,4 +205,39 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer
|
||||
rawMaterialMapper.insert(newRawMaterial);
|
||||
return newRawMaterial.getRawMaterialId();
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量新增调拨单明细
|
||||
*/
|
||||
@Override
|
||||
public Boolean batchInsert(WmsTransferOrderItemBo bo) {
|
||||
Long transferId = bo.getTransferId();
|
||||
List<Long> coilIds = bo.getCoilIds();
|
||||
if (transferId == null || coilIds == null || coilIds.isEmpty()) {
|
||||
throw new IllegalArgumentException("transferId和coilIds不能为空");
|
||||
}
|
||||
|
||||
List<WmsMaterialCoil> coils = coilMapper.selectBatchIds(coilIds);
|
||||
if (coils.isEmpty()) {
|
||||
throw new IllegalArgumentException("钢卷不存在");
|
||||
}
|
||||
|
||||
List<WmsTransferOrderItem> items = new ArrayList<>();
|
||||
for (WmsMaterialCoil coil : coils) {
|
||||
WmsTransferOrderItem item = new WmsTransferOrderItem();
|
||||
item.setTransferId(transferId);
|
||||
item.setCoilId(coil.getCoilId());
|
||||
item.setItemIdBefore(coil.getItemId());
|
||||
// 根据 itemType 设置 materialType: raw_material -> 1, product -> 2
|
||||
if ("raw_material".equals(coil.getItemType())) {
|
||||
item.setMaterialTypeBefore(1L);
|
||||
} else if ("product".equals(coil.getItemType())) {
|
||||
item.setMaterialTypeBefore(2L);
|
||||
}
|
||||
item.setWarehouseIdBefore(coil.getWarehouseId());
|
||||
items.add(item);
|
||||
}
|
||||
|
||||
return baseMapper.insertBatch(items);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user