|
@@ -157,17 +157,28 @@ public class WarehouseEntryManagerImpl extends BaseServiceImpl<WarehouseEntryMap
|
|
|
// 更新入库单
|
|
|
WarehouseEntryDO warehouseEntryDO = BeanUtil.copyProperties(warehouseEntryDTO, WarehouseEntryDO.class);
|
|
|
updateById(warehouseEntryDO);
|
|
|
- warehouseEntryProductManager.deleteByWarehouseEntryIds(Collections.singletonList(warehouseEntryDTO.getId()));
|
|
|
ArrayList<WarehouseEntryProductDO> productList = new ArrayList<>();
|
|
|
- for (WarehouseEntryProductDTO dto : warehouseEntryDTO.getProductList()) {
|
|
|
- WarehouseEntryProductDO productDO = BeanUtil.copyProperties(dto, WarehouseEntryProductDO.class);
|
|
|
- productDO.setProductId(dto.getProductId());
|
|
|
- productDO.setEntryNum(productDO.getEntryNum() + productDO.getNum());
|
|
|
- productDO.setNotEntryNum(productDO.getOrderNum() - productDO.getEntryNum());
|
|
|
- productDO.setWarehouseEntryId(warehouseEntryDO.getId());
|
|
|
- productList.add(productDO);
|
|
|
+ //如果不是调拨入库,售后入库,调拨入库直接更爱入库单状态
|
|
|
+ if (!WarehouseEntyrTypeEnum.HAIL_ENTRY.equals(warehouseEntryDTO.getType()) &&
|
|
|
+ !WarehouseEntyrTypeEnum.SALE_AFTER.equals(warehouseEntryDTO.getType()) &&
|
|
|
+ !WarehouseEntyrTypeEnum.TRANSFER_ENTRY.equals(warehouseEntryDTO.getType())) {
|
|
|
+ warehouseEntryProductManager.deleteByWarehouseEntryIds(Collections.singletonList(warehouseEntryDTO.getId()));
|
|
|
+ for (WarehouseEntryProductDTO dto : warehouseEntryDTO.getProductList()) {
|
|
|
+ WarehouseEntryProductDO productDO = BeanUtil.copyProperties(dto, WarehouseEntryProductDO.class);
|
|
|
+ productDO.setProductId(dto.getProductId());
|
|
|
+ productDO.setWarehouseEntryId(warehouseEntryDO.getId());
|
|
|
+ productList.add(productDO);
|
|
|
+ }
|
|
|
+ warehouseEntryProductManager.saveBatch(productList);
|
|
|
+ }else {
|
|
|
+ for (WarehouseEntryProductDTO dto : warehouseEntryDTO.getProductList()) {
|
|
|
+ WarehouseEntryProductDO productDO = BeanUtil.copyProperties(dto, WarehouseEntryProductDO.class);
|
|
|
+ productDO.setEntryNum(productDO.getEntryNum() + productDO.getNum());
|
|
|
+ productDO.setNotEntryNum(productDO.getOrderNum() - productDO.getEntryNum());
|
|
|
+ productList.add(productDO);
|
|
|
+ }
|
|
|
+ warehouseEntryProductManager.updateBatchById(productList);
|
|
|
}
|
|
|
- warehouseEntryProductManager.saveBatch(productList);
|
|
|
//保存子表和序列号的关系
|
|
|
warehouseEntryDTO.setId(warehouseEntryDO.getId());
|
|
|
saveSnCode(warehouseEntryDTO.getId(), productList);
|
|
@@ -183,9 +194,9 @@ public class WarehouseEntryManagerImpl extends BaseServiceImpl<WarehouseEntryMap
|
|
|
for (WarehouseEntryProductDO aDo : productList) {
|
|
|
ProductDO manager = productManager.getById(aDo.getProductId());
|
|
|
if (manager.getHaveSn()) {
|
|
|
- if (CollUtil.isEmpty(aDo.getSnCodeList())) {
|
|
|
- throw new ServiceException(manager.getId() + ":有序列号的商品入库需要录入序列号");
|
|
|
- }
|
|
|
+// if (CollUtil.isEmpty(aDo.getSnCodeList())) {
|
|
|
+// throw new ServiceException(manager.getId() + ":有序列号的商品入库需要录入序列号");
|
|
|
+// }
|
|
|
if (aDo.getNum() != aDo.getSnCodeList().size()) {
|
|
|
throw new ServiceException(manager.getId() + ":入库的数量须和序列号的个数相等");
|
|
|
}
|