Browse Source

根据库位获取仓库

master
han\hanst 5 months ago
parent
commit
4f57d0175e
  1. 21
      src/main/java/com/gaotao/modules/inspection/service/impl/QualifiedStorageServiceImpl.java
  2. 20
      src/main/java/com/gaotao/modules/po/service/impl/PoServiceImpl.java

21
src/main/java/com/gaotao/modules/inspection/service/impl/QualifiedStorageServiceImpl.java

@ -13,6 +13,8 @@ import com.gaotao.modules.inspection.entity.InboundConfirmDto;
import com.gaotao.modules.inspection.service.QualifiedStorageService; import com.gaotao.modules.inspection.service.QualifiedStorageService;
import com.gaotao.modules.warehouse.entity.InventoryStock; import com.gaotao.modules.warehouse.entity.InventoryStock;
import com.gaotao.modules.warehouse.dao.InventoryStockMapper; import com.gaotao.modules.warehouse.dao.InventoryStockMapper;
import com.gaotao.modules.warehouse.entity.Location;
import com.gaotao.modules.warehouse.service.LocationService;
import com.gaotao.modules.po.entity.PoReceipt; import com.gaotao.modules.po.entity.PoReceipt;
import com.gaotao.modules.po.entity.PoReceiptDetail; import com.gaotao.modules.po.entity.PoReceiptDetail;
import com.gaotao.modules.po.service.PoReceiptDetailService; import com.gaotao.modules.po.service.PoReceiptDetailService;
@ -74,6 +76,9 @@ public class QualifiedStorageServiceImpl implements QualifiedStorageService {
@Autowired @Autowired
private InventoryStockMapper inventoryStockMapper; private InventoryStockMapper inventoryStockMapper;
@Autowired
private LocationService locationService;
@Value("${custom.ifs-ifsDBName}") @Value("${custom.ifs-ifsDBName}")
private String ifsDBName; private String ifsDBName;
@ -369,10 +374,22 @@ public class QualifiedStorageServiceImpl implements QualifiedStorageService {
HandlingUnit firstHu) { HandlingUnit firstHu) {
// 直接在此方法中实现库存创建逻辑使用带行锁的库存操作防止并发 // 直接在此方法中实现库存创建逻辑使用带行锁的库存操作防止并发
String site = transDetail.getSite(); String site = transDetail.getSite();
String warehouseId = transHeader.getWarehouseId();
String locationId = transDetail.getLocationId();
// 根据库位获取仓库ID
String warehouseId = null;
Location location = locationService.getByLocationIdAndSite(site, locationId);
if (location != null) {
warehouseId = location.getWarehouseId();
}
// 如果根据库位获取不到仓库则使用transHeader中的仓库ID作为备用
if (StringUtils.isBlank(warehouseId)) {
warehouseId = transHeader.getWarehouseId();
}
String partNo = transDetail.getPartNo(); String partNo = transDetail.getPartNo();
String batchNo = transDetail.getBatchNo(); String batchNo = transDetail.getBatchNo();
String locationId = transDetail.getLocationId();
String wdr = firstHu.getWdr() != null ? firstHu.getWdr() : "*"; String wdr = firstHu.getWdr() != null ? firstHu.getWdr() : "*";
BigDecimal transQty = BigDecimal.valueOf(qty); BigDecimal transQty = BigDecimal.valueOf(qty);

20
src/main/java/com/gaotao/modules/po/service/impl/PoServiceImpl.java

@ -34,6 +34,8 @@ import com.gaotao.modules.trans.service.TransHeaderService;
import com.gaotao.modules.trans.service.TransNoControlService; import com.gaotao.modules.trans.service.TransNoControlService;
import com.gaotao.modules.warehouse.dao.InventoryStockMapper; import com.gaotao.modules.warehouse.dao.InventoryStockMapper;
import com.gaotao.modules.warehouse.entity.InventoryStock; import com.gaotao.modules.warehouse.entity.InventoryStock;
import com.gaotao.modules.warehouse.entity.Location;
import com.gaotao.modules.warehouse.service.LocationService;
import jakarta.transaction.Transactional; import jakarta.transaction.Transactional;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
@ -71,6 +73,8 @@ public class PoServiceImpl extends ServiceImpl<PoMapper, PurchaseOrder> implemen
private AccessSiteMapper accessSiteMapper; private AccessSiteMapper accessSiteMapper;
@Autowired @Autowired
private HandlingUnitIdGeneratorService handlingUnitIdGeneratorService; private HandlingUnitIdGeneratorService handlingUnitIdGeneratorService;
@Autowired
private LocationService locationService;
@Value("${custom.ifs-url}") @Value("${custom.ifs-url}")
private String ifsUrl; private String ifsUrl;
@ -321,10 +325,22 @@ public class PoServiceImpl extends ServiceImpl<PoMapper, PurchaseOrder> implemen
private void genInventoryStock(TransDetailDto inData, TransHeader transHeader, PoReceiptDetail receiptDetail) { private void genInventoryStock(TransDetailDto inData, TransHeader transHeader, PoReceiptDetail receiptDetail) {
// 直接在此方法中实现库存创建逻辑使用带行锁的库存操作防止并发 // 直接在此方法中实现库存创建逻辑使用带行锁的库存操作防止并发
String site = inData.getSite(); String site = inData.getSite();
String warehouseId = transHeader.getWarehouseId();
String locationId = inData.getLocationNo();
// 根据库位获取仓库ID
String warehouseId = null;
Location location = locationService.getByLocationIdAndSite(site, locationId);
if (location != null) {
warehouseId = location.getWarehouseId();
}
// 如果根据库位获取不到仓库则使用transHeader中的仓库ID作为备用
if (StringUtils.isBlank(warehouseId)) {
warehouseId = transHeader.getWarehouseId();
}
String partNo = inData.getPartNo(); String partNo = inData.getPartNo();
String batchNo = inData.getBatchNo(); String batchNo = inData.getBatchNo();
String locationId = inData.getLocationNo();
String wdr = inData.getWdr(); String wdr = inData.getWdr();
BigDecimal transQty = inData.getTransQty(); BigDecimal transQty = inData.getTransQty();
String huFlag = inData.getNeedHandlingUnit(); String huFlag = inData.getNeedHandlingUnit();

Loading…
Cancel
Save