Commit f0af86ab authored by wxl's avatar wxl

盘点入库

parent 7983f7c6
......@@ -24,6 +24,7 @@ use Stock\Form\StockCheckGoodsForm;
use Stock\Service\StockCheckGoodsManager;
use Stock\Service\StockCheckManager;
use Laminas\View\Model\JsonModel;
use Store\Service\AllWarehouseOrderGoodsManager;
/**
* 库存盘点
......@@ -182,6 +183,7 @@ class StockCheckController extends AbstractActionController
*/
public function confirmAction()
{
$allWarehouseOrderGoodsManager = new AllWarehouseOrderGoodsManager($this->entityManager);
$stockCheckId = (int) $this->params()->fromRoute('id', -1);
$stockCheckInfo = $this->entityManager->getRepository(StockCheck::class)->findOneBy(['stockCheckId' => $stockCheckId]);
if($stockCheckInfo == null) {
......@@ -202,6 +204,8 @@ class StockCheckController extends AbstractActionController
$this->entityManager->beginTransaction();
try {
$this->stockCheckManager->updateStockCheckState(1, $stockCheckInfo);
$allWarehouseOrderGoodsManager->addAllCheckWarehouseOrderGoods($stockCheckInfo->getwarehouseId(), $stockCheckId,$stockCheckInfo->getStockCheckSn());
$this->getEventManager()->trigger('stock-check.update.post', $this, $stockCheckInfo);
$this->entityManager->commit();
......
......@@ -32,6 +32,12 @@ class AllWarehouseOrderGoods extends BaseEntity
*/
private $allWarehouseOrderGoodsId;
/**
* 盘点入库对应表id
* @ORM\Column(name="stock_check_id", type="integer", length=11)
*/
private $stockCheckId;
/**
* 其他入库对应表id
* @ORM\Column(name="other_warehouse_order_id", type="integer", length=11)
......@@ -137,6 +143,22 @@ class AllWarehouseOrderGoods extends BaseEntity
$this->allWarehouseOrderGoodsId = $allWarehouseOrderGoodsId;
}
/**
* @return mixed
*/
public function getStockCheckId()
{
return $this->stockCheckId;
}
/**
* @param mixed $stockCheckId
*/
public function setStockCheckId($stockCheckId)
{
$this->stockCheckId = $stockCheckId;
}
/**
* @return mixed
*/
......
......@@ -16,8 +16,10 @@ namespace Store\Service;
use Doctrine\ORM\EntityManager;
use Purchase\Entity\WarehouseOrder;
use Stock\Entity\StockCheckGoods;
use Store\Entity\AllWarehouseOrderGoods;
use Store\Entity\Goods;
use Store\Entity\WarehouseGoods;
class AllWarehouseOrderGoodsManager
{
......@@ -70,7 +72,7 @@ class AllWarehouseOrderGoodsManager
}
/**
* 添加入库商品
* 添加采购入库商品
* @param $orderGoods
* @param WarehouseOrder $warehouseOrder
* @return bool
......@@ -102,4 +104,40 @@ class AllWarehouseOrderGoodsManager
//$this->entityManager->clear(AllWarehouseOrderGoods::class);
}
}
/**
* 添加盘点入库商品
* @param $orderGoods
* @param WarehouseOrder $warehouseOrder
* @return bool
*/
public function addAllCheckWarehouseOrderGoods($warehouseId, $stockCheckId,$warehouseOrderSn)
{
$stockCheckGoods = $this->entityManager->getRepository(StockCheckGoods::class)->findBy(['stockCheckId' => $stockCheckId]);
foreach ($stockCheckGoods as $key => $value) {
$goodsInfo = $this->entityManager->getRepository(Goods::class)->findOneBy(['goodsId' => $value->getgoodsId()]);
if($goodsInfo) {
$allWarehouseGoods = new AllWarehouseOrderGoods();
$allWarehouseGoods->setAllWarehouseOrderGoodsId(null);
$allWarehouseGoods->setStockCheckId($stockCheckId);
$allWarehouseGoods->setWarehouseId($warehouseId);
$allWarehouseGoods->setWarehouseOrderSn($warehouseOrderSn);
$GoodsBuyNum=$value->getstockCheckAftGoodsNum() - $value->getstockCheckPreGoodsNum();
$allWarehouseGoods->setWarehouseGoodsBuyNum($GoodsBuyNum);
$allWarehouseGoods->setWarehouseGoodsPrice($goodsInfo->getgoodsPrice());
$allWarehouseGoods->setWarehouseGoodsTax(0);
$allWarehouseGoods->setWarehouseGoodsAmount($goodsInfo->getgoodsPrice() * $GoodsBuyNum);
$allWarehouseGoods->setGoodsId($value->getgoodsId());
$allWarehouseGoods->setGoodsName($goodsInfo->getGoodsName());
$allWarehouseGoods->setGoodsNumber($goodsInfo->getGoodsNumber());
$allWarehouseGoods->setGoodsSpec($goodsInfo->getGoodsSpec());
$allWarehouseGoods->setGoodsUnit($goodsInfo->getOneUnit()->getUnitName());
$allWarehouseGoods->setAddTime(time());
$allWarehouseGoods->setOutNum($GoodsBuyNum);
$this->entityManager->persist($allWarehouseGoods);
$this->entityManager->flush();
}
}
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment