|
@@ -24,6 +24,7 @@ import com.fjhx.wms.entity.stock.vo.StockWaitDetailsVo;
|
|
|
import com.fjhx.wms.entity.stock.vo.StockWaitVo;
|
|
|
import com.fjhx.wms.entity.warehouse.po.Warehouse;
|
|
|
import com.fjhx.wms.mapper.stock.StockWaitMapper;
|
|
|
+import com.fjhx.wms.service.MyPurchaseService;
|
|
|
import com.fjhx.wms.service.WmsService;
|
|
|
import com.fjhx.wms.service.arrival.ArrivalStockRecordsDetailsService;
|
|
|
import com.fjhx.wms.service.arrival.ArrivalStockRecordsService;
|
|
@@ -38,6 +39,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Collections;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.function.Function;
|
|
@@ -75,6 +77,8 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
|
|
|
private WmsService wmsService;
|
|
|
@Autowired
|
|
|
private StockFrozenService stockFrozenService;
|
|
|
+ @Autowired
|
|
|
+ private MyPurchaseService myPurchaseService;
|
|
|
|
|
|
@Override
|
|
|
public Page<StockWaitVo> getPage(StockWaitSelectDto dto) {
|
|
@@ -118,7 +122,7 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
|
|
|
//赋值操作人
|
|
|
UserUtil.assignmentNickName(records, StockWaitVo::getCreateUser, StockWaitVo::setOperatorName);
|
|
|
//赋值仓库名称和id
|
|
|
- List<Long> wids = new ArrayList<>();
|
|
|
+ List<Long> warehouseIds = new ArrayList<>();
|
|
|
for (StockWaitVo stockWaitVo : records) {
|
|
|
String victoriatouristJson = stockWaitVo.getVictoriatouristJson();
|
|
|
if (ObjectUtil.isEmpty(victoriatouristJson)) {
|
|
@@ -128,12 +132,12 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
|
|
|
if (!json.containsKey("receiptWarehouseId")) {
|
|
|
continue;
|
|
|
}
|
|
|
- wids.add(json.getLong("receiptWarehouseId"));
|
|
|
+ warehouseIds.add(json.getLong("receiptWarehouseId"));
|
|
|
}
|
|
|
- if (ObjectUtil.isEmpty(wids)) {
|
|
|
+ if (ObjectUtil.isEmpty(warehouseIds)) {
|
|
|
return page;
|
|
|
}
|
|
|
- List<Warehouse> warehouses = warehouseService.listByIds(wids);
|
|
|
+ List<Warehouse> warehouses = warehouseService.listByIds(warehouseIds);
|
|
|
Map<Long, String> warehousesMap = warehouses.stream().collect(Collectors.toMap(Warehouse::getId, Warehouse::getName));
|
|
|
for (StockWaitVo stockWaitVo : records) {
|
|
|
String victoriatouristJson = stockWaitVo.getVictoriatouristJson();
|
|
@@ -181,9 +185,9 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
|
|
|
|
|
|
|
|
|
//赋值物品信息和采购信息
|
|
|
- List<Long> pids = stockWaitDetailsVos.stream().map(StockWaitDetails::getProductId).collect(Collectors.toList());
|
|
|
- if (ObjectUtil.isNotEmpty(pids)) {
|
|
|
- List<ProductInfo> productInfos = productInfoService.listByIds(pids);
|
|
|
+ List<Long> productIds = stockWaitDetailsVos.stream().map(StockWaitDetails::getProductId).collect(Collectors.toList());
|
|
|
+ if (ObjectUtil.isNotEmpty(productIds)) {
|
|
|
+ List<ProductInfo> productInfos = productInfoService.listByIds(productIds);
|
|
|
Map<Long, ProductInfo> productInfoMap = productInfos.stream().collect(Collectors.toMap(ProductInfo::getId, Function.identity()));
|
|
|
for (StockWaitDetailsVo stockWaitDetails : stockWaitDetailsVos) {
|
|
|
ProductInfo productInfo = productInfoMap.get(stockWaitDetails.getProductId());
|
|
@@ -202,7 +206,21 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
|
|
|
@DSTransactional
|
|
|
@Override
|
|
|
public void add(StockWaitDetailsDto stockWaitDetailsDto) {
|
|
|
- stockWaitDetailsService.add(stockWaitDetailsDto);
|
|
|
+ //优化
|
|
|
+ StockWaitDetails stockWaitDetails = stockWaitDetailsService.getById(stockWaitDetailsDto.getId());
|
|
|
+ Assert.notEmpty(stockWaitDetails, "查询不到待出库明细信息");
|
|
|
+ StockWaitDto stockWaitDto = BeanUtil.copyProperties(stockWaitDetailsDto, StockWaitDto.class);
|
|
|
+ stockWaitDto.setId(stockWaitDetails.getStockWaitId());
|
|
|
+ stockWaitDto.setStockWaitDetailsList(Collections.singletonList(BeanUtil.copyProperties(stockWaitDetailsDto, StockWaitDetails.class)));
|
|
|
+ this.addByWdly(stockWaitDto);
|
|
|
+
|
|
|
+ //如果是采购退货 修改采购退货状态
|
|
|
+ StockWait stockWait = this.getById(stockWaitDto.getId());
|
|
|
+ Assert.notEmpty(stockWait, "查询不到待出库信息");
|
|
|
+ if (stockWait.getBusinessType() == 4) {
|
|
|
+ Integer status = stockWait.getStatus();
|
|
|
+ myPurchaseService.updateSalesReturnStatus(stockWaitDetails.getBusinessDetailsId(), status);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@DSTransactional
|