|
@@ -3,16 +3,24 @@ package org.dromara.InventoryManagement.service.impl;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
+import org.dromara.InventoryManagement.domain.PutInStorageType;
|
|
|
import org.dromara.InventoryManagement.domain.Storage;
|
|
|
+import org.dromara.InventoryManagement.domain.StorageProduct;
|
|
|
+import org.dromara.InventoryManagement.domain.bo.PutInStorageBo;
|
|
|
import org.dromara.InventoryManagement.domain.bo.StorageBo;
|
|
|
+import org.dromara.InventoryManagement.domain.bo.StorageListBo;
|
|
|
import org.dromara.InventoryManagement.domain.vo.StorageVo;
|
|
|
import org.dromara.InventoryManagement.mapper.PutInStorageMapper;
|
|
|
+import org.dromara.InventoryManagement.mapper.PutInStorageProductMapper;
|
|
|
+import org.dromara.InventoryManagement.mapstruct.NewStorageMapstruct;
|
|
|
import org.dromara.InventoryManagement.service.PutInStorageService;
|
|
|
+import org.dromara.commodityManagement.domain.DiBu;
|
|
|
import org.dromara.common.core.utils.MapstructUtils;
|
|
|
import org.dromara.common.core.utils.OrderNumberGenerator;
|
|
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
@@ -22,6 +30,9 @@ import java.util.List;
|
|
|
public class PutInStorageServiceImpl implements PutInStorageService {
|
|
|
|
|
|
private final PutInStorageMapper putInStorageMapper;
|
|
|
+ private final PutInStorageProductMapper putInStorageProductMapper;
|
|
|
+ private final NewStorageMapstruct newStorageMapstruct;
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 查询入库订单分页列表
|
|
@@ -40,9 +51,26 @@ public class PutInStorageServiceImpl implements PutInStorageService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public int insertInventory(StorageBo storageBo) {
|
|
|
- OrderNumberGenerator generator = OrderNumberGenerator.getInstance();
|
|
|
- storageBo.setCode(generator.generateOrderNumber("YKS"));
|
|
|
- return putInStorageMapper.insertInventory(storageBo);
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public int insertStorage(PutInStorageBo putInStorageBo) {
|
|
|
+ try {
|
|
|
+ // 生成订单编号
|
|
|
+ OrderNumberGenerator generator = OrderNumberGenerator.getInstance();
|
|
|
+ // 入库订单表注入
|
|
|
+ Storage storage = newStorageMapstruct.toStorage(putInStorageBo, generator.generateOrderNumber("YKS"));
|
|
|
+ // 入库
|
|
|
+ putInStorageMapper.insert(storage);
|
|
|
+ System.out.println(storage);
|
|
|
+ // 详情表注入
|
|
|
+ for (StorageListBo storageListBo : putInStorageBo.getStorageList()){
|
|
|
+ // 关联表注入
|
|
|
+ StorageProduct storageProduct = newStorageMapstruct.toStorageProduct(putInStorageBo,storageListBo,storage.getId());
|
|
|
+ putInStorageProductMapper.insert(storageProduct);
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new RuntimeException("插入入库订单失败", e);
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
}
|