|
@@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
|
import com.fjhx.victoriatourist.entity.abnormal.po.AbnormalInfo;
|
|
|
-import com.fjhx.victoriatourist.entity.jd.vo.JdBackVo;
|
|
|
import com.fjhx.victoriatourist.entity.stock.dto.StockTransferDto;
|
|
|
import com.fjhx.victoriatourist.entity.stock.dto.StockTransferSelectDto;
|
|
|
import com.fjhx.victoriatourist.entity.stock.po.StockTransfer;
|
|
@@ -21,7 +20,6 @@ import com.fjhx.victoriatourist.service.stock.StockTransferDetailsService;
|
|
|
import com.fjhx.victoriatourist.service.stock.StockTransferService;
|
|
|
import com.fjhx.victoriatourist.utils.Assert;
|
|
|
import com.fjhx.victoriatourist.utils.CodeEnum;
|
|
|
-import com.fjhx.wms.entity.stock.dto.StockDto;
|
|
|
import com.fjhx.wms.entity.stock.emums.JournalType;
|
|
|
import com.fjhx.wms.entity.stock.po.Stock;
|
|
|
import com.fjhx.wms.entity.stock.po.StockJournal;
|
|
@@ -41,7 +39,6 @@ import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
-import java.util.stream.Stream;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -73,10 +70,10 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
|
|
|
@Override
|
|
|
public Page<StockTransferVo> getPage(StockTransferSelectDto dto) {
|
|
|
IWrapper<StockTransfer> wrapper = getWrapper();
|
|
|
- wrapper.eq(StockTransfer::getInWarehouseId,dto.getInWarehouseId());
|
|
|
- wrapper.eq(StockTransfer::getOutWarehouseId,dto.getOutWarehouseId());
|
|
|
- wrapper.eq(StockTransfer::getInStatus,dto.getInStatus());
|
|
|
- wrapper.like(StockTransfer::getCode,dto.getKeyword());
|
|
|
+ wrapper.eq(StockTransfer::getInWarehouseId, dto.getInWarehouseId());
|
|
|
+ wrapper.eq(StockTransfer::getOutWarehouseId, dto.getOutWarehouseId());
|
|
|
+ wrapper.eq(StockTransfer::getInStatus, dto.getInStatus());
|
|
|
+ wrapper.like(StockTransfer::getCode, dto.getKeyword());
|
|
|
wrapper.orderByDesc("st", StockTransfer::getId);
|
|
|
Page<StockTransferVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
List<StockTransferVo> records = page.getRecords();
|
|
@@ -119,19 +116,41 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void add(StockTransferDto stockTransferDto) {
|
|
|
- Assert.notEmpty(stockTransferDto.getOutWarehouseId(),"出库仓库不能为空");
|
|
|
- Assert.notEmpty(stockTransferDto.getInWarehouseId(),"入库仓库不能为空");
|
|
|
- Assert.notEmpty(stockTransferDto.getStockTransferDetailsList(),"调仓明细不能为空");
|
|
|
+ Assert.notEmpty(stockTransferDto.getOutWarehouseId(), "出库仓库不能为空");
|
|
|
+ Assert.notEmpty(stockTransferDto.getInWarehouseId(), "入库仓库不能为空");
|
|
|
+ Assert.notEmpty(stockTransferDto.getStockTransferDetailsList(), "调仓明细不能为空");
|
|
|
|
|
|
stockTransferDto.setCode(CodeEnum.STOCK_TRANSFER.getCode());
|
|
|
stockTransferDto.setType(1);
|
|
|
stockTransferDto.setInStatus(0);
|
|
|
this.save(stockTransferDto);
|
|
|
List<StockTransferDetails> stockTransferDetailsList = stockTransferDto.getStockTransferDetailsList();
|
|
|
+ List<Stock> stockList = new ArrayList<>();
|
|
|
for (StockTransferDetails stockTransferDetails : stockTransferDetailsList) {
|
|
|
+ Stock stock = new Stock();
|
|
|
+ stock.setProductId(stockTransferDetails.getProductId());
|
|
|
+ stock.setQuantity(stockTransferDetails.getInQuantity());
|
|
|
+ stockList.add(stock);
|
|
|
+
|
|
|
stockTransferDetails.setStockTransferId(stockTransferDto.getId());
|
|
|
}
|
|
|
stockTransferDetailsService.saveBatch(stockTransferDetailsList);
|
|
|
+
|
|
|
+ //创建出库记录
|
|
|
+ StockJournal stockJournal1 = new StockJournal();
|
|
|
+ stockJournal1.setOpType(2);
|
|
|
+ stockJournal1.setType(JournalType.ADJUSTING_OUT.getDetailType());
|
|
|
+ stockJournal1.setCode(stockTransferDto.getCode());
|
|
|
+ stockJournal1.setWarehouseId(stockTransferDto.getOutWarehouseId());
|
|
|
+ stockJournal1.setBusinessId(stockTransferDto.getId());
|
|
|
+ //保存出库记录
|
|
|
+ stockJournalService.save(stockJournal1);
|
|
|
+ if (ObjectUtil.isNotEmpty(stockList)) {
|
|
|
+ //出库
|
|
|
+ List<StockJournalDetails> stockJournalDetailsList1 = stockService.ModifyInventory(stockJournal1.getId(), 2, stockList, stockTransferDto.getOutWarehouseId());
|
|
|
+ //保存出库记录明细
|
|
|
+ stockJournalDetailsService.saveBatch(stockJournalDetailsList1);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -155,7 +174,7 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
|
|
|
//明细
|
|
|
List<Stock> stockList = new ArrayList<>();
|
|
|
List<StockTransferDetails> stockTransferDetailsList = stockTransferDto.getStockTransferDetailsList();
|
|
|
- if(ObjectUtil.isNotEmpty(stockTransferDetailsList)) {
|
|
|
+ if (ObjectUtil.isNotEmpty(stockTransferDetailsList)) {
|
|
|
//获取数据库中的数据
|
|
|
List<Long> ids = stockTransferDetailsList.stream().map(StockTransferDetails::getId).collect(Collectors.toList());
|
|
|
List<StockTransferDetails> oldstockTransferDetailsList = stockTransferDetailsService.listByIds(ids);
|
|
@@ -170,18 +189,18 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
|
|
|
|
|
|
//调仓接收数量与发出数量不一致
|
|
|
StockTransferDetails oldstockTransferDetails = oldstockTransferDetailsMap.get(stockTransferDetails.getId());
|
|
|
- if (stockTransferDetails.getInQuantity().compareTo(oldstockTransferDetails.getOutQuantity())!=0) {
|
|
|
- abnormalFlag =1;
|
|
|
+ if (stockTransferDetails.getInQuantity().compareTo(oldstockTransferDetails.getOutQuantity()) != 0) {
|
|
|
+ abnormalFlag = 1;
|
|
|
}
|
|
|
|
|
|
//计算已入库数量
|
|
|
BigDecimal inCount = oldstockTransferDetails.getInQuantity().add(stockTransferDetails.getInQuantity());
|
|
|
- if (inCount.compareTo(oldstockTransferDetails.getOutQuantity())!=0 ) {
|
|
|
+ if (inCount.compareTo(oldstockTransferDetails.getOutQuantity()) != 0) {
|
|
|
stockTransfer.setInStatus(1);//设置为部分接收
|
|
|
}
|
|
|
stockTransferDetails.setInQuantity(inCount);
|
|
|
}
|
|
|
- if(abnormalFlag ==1){
|
|
|
+ if (abnormalFlag == 1) {
|
|
|
AbnormalInfo abnormalInfo = new AbnormalInfo();
|
|
|
abnormalInfo.setId(IdWorker.getId());
|
|
|
abnormalInfo.setStatus(0);
|
|
@@ -202,39 +221,24 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
|
|
|
stockJournal.setType(JournalType.ADJUSTING_IN.getDetailType());
|
|
|
stockJournal.setCode(stockTransfer.getCode());
|
|
|
stockJournal.setWarehouseId(stockTransfer.getInWarehouseId());
|
|
|
-// stockJournal.setToWarehouseId(stockTransfer.getInWarehouseId());
|
|
|
stockJournal.setBusinessId(stockTransfer.getId());
|
|
|
//保存人库记录
|
|
|
stockJournalService.save(stockJournal);
|
|
|
|
|
|
- //创建出库记录
|
|
|
- StockJournal stockJournal1 = new StockJournal();
|
|
|
- stockJournal1.setOpType(2);
|
|
|
- stockJournal1.setType(JournalType.ADJUSTING_OUT.getDetailType());
|
|
|
- stockJournal1.setCode(stockTransfer.getCode());
|
|
|
- stockJournal1.setWarehouseId(stockTransfer.getOutWarehouseId());
|
|
|
-// stockJournal1.setToWarehouseId(stockTransfer.getInWarehouseId());
|
|
|
- stockJournal1.setBusinessId(stockTransfer.getId());
|
|
|
- //保存出库记录
|
|
|
- stockJournalService.save(stockJournal1);
|
|
|
- if(ObjectUtil.isNotEmpty(stockList)) {
|
|
|
- //出库
|
|
|
- List<StockJournalDetails> stockJournalDetailsList1 = stockService.ModifyInventory(stockJournal1.getId(), 2, stockList, stockTransfer.getOutWarehouseId());
|
|
|
+ if (ObjectUtil.isNotEmpty(stockList)) {
|
|
|
//入库
|
|
|
List<StockJournalDetails> stockJournalDetailsList = stockService.ModifyInventory(stockJournal.getId(), 1, stockList, stockTransfer.getInWarehouseId());
|
|
|
- //保存出入库记录明细
|
|
|
+ //保存入库记录明细
|
|
|
stockJournalDetailsService.saveBatch(stockJournalDetailsList);
|
|
|
- stockJournalDetailsService.saveBatch(stockJournalDetailsList1);
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@DSTransactional
|
|
|
public void stockTransfer(StockTransferDto stockTransferDto) {
|
|
|
- Assert.notEmpty(stockTransferDto.getOutWarehouseId(),"出库仓库不能为空");
|
|
|
- Assert.notEmpty(stockTransferDto.getInWarehouseId(),"入库仓库不能为空");
|
|
|
- Assert.notEmpty(stockTransferDto.getStockTransferDetailsList(),"调仓明细不能为空");
|
|
|
+ Assert.notEmpty(stockTransferDto.getOutWarehouseId(), "出库仓库不能为空");
|
|
|
+ Assert.notEmpty(stockTransferDto.getInWarehouseId(), "入库仓库不能为空");
|
|
|
+ Assert.notEmpty(stockTransferDto.getStockTransferDetailsList(), "调仓明细不能为空");
|
|
|
|
|
|
stockTransferDto.setCode(CodeEnum.STOCK_TRANSFER.getCode());
|
|
|
stockTransferDto.setType(1);
|