|
|
@@ -2,16 +2,14 @@
|
|
|
|
|
|
namespace bizGhs\order\classes;
|
|
|
|
|
|
-use biz\shop\classes\ShopCapitalClass;
|
|
|
use biz\shop\classes\ShopClass;
|
|
|
use biz\stat\classes\StatPdAddClass;
|
|
|
use biz\stat\classes\StatPdSubClass;
|
|
|
+use bizGhs\book\classes\BookItemClass;
|
|
|
use bizGhs\product\classes\ProductClass;
|
|
|
use bizGhs\shop\classes\MainClass;
|
|
|
use bizGhs\stock\classes\StockInDayClass;
|
|
|
use bizGhs\stock\classes\StockRecordClass;
|
|
|
-use bizGhs\stock\services\StockRecordService;
|
|
|
-use common\components\dict;
|
|
|
use common\components\orderSn;
|
|
|
use common\components\util;
|
|
|
use Yii;
|
|
|
@@ -32,30 +30,46 @@ class CheckOrderClass extends BaseClass
|
|
|
|
|
|
public static function loanStock($inId, $outId, $num, $shop, $staff)
|
|
|
{
|
|
|
+ $sjId = $shop->sjId ?? 0;
|
|
|
+ $shopId = $shop->id ?? 0;
|
|
|
+ $mainId = $shop->mainId ?? 0;
|
|
|
$in = ProductClass::getById($inId, true);
|
|
|
- if (empty($in)) {
|
|
|
+ if (empty($in) || $in->mainId != $mainId) {
|
|
|
util::fail('没有找到花材...');
|
|
|
}
|
|
|
$inName = $in->name ?? '';
|
|
|
$out = ProductClass::getById($outId, true);
|
|
|
- if (empty($out)) {
|
|
|
+ if (empty($out) || $out->mainId != $mainId) {
|
|
|
util::fail('没有找到花材。');
|
|
|
}
|
|
|
$outName = $out->name ?? '';
|
|
|
- $outStock = $out->stock ?? 0;
|
|
|
- $remainOutStock = bcsub($outStock, $num);
|
|
|
+ $remainStock = $out->stock ?? 0;
|
|
|
+ $bookSn = $shop->bookSn ?? 0;
|
|
|
+ if (!empty($bookSn)) {
|
|
|
+ $booItem = BookItemClass::getByCondition(['bookSn' => $bookSn, 'itemId' => $outId], true);
|
|
|
+ if (!empty($booItem)) {
|
|
|
+ $stock = $out->stock ?? 0;
|
|
|
+ $onNum = $booItem->onNum ?? 0;
|
|
|
+ $remainStock = $stock > $onNum ? bcsub($stock, $onNum) : 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $remainOutStock = bcsub($remainStock, $num);
|
|
|
if ($remainOutStock < 0) {
|
|
|
- util::fail('库存不够借');
|
|
|
+ util::fail("可借数量 " . $remainStock);
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($inId == $outId) {
|
|
|
+ util::fail('同个花材呢');
|
|
|
}
|
|
|
|
|
|
$inStock = $in->stock ?? 0;
|
|
|
$newInStock = bcadd($inStock, $num);
|
|
|
|
|
|
- //增加盘点记录
|
|
|
$adminId = $staff->adminId ?? 0;
|
|
|
- $sjId = $shop->sjId ?? 0;
|
|
|
- $shopId = $shop->id ?? 0;
|
|
|
- $mainId = $shop->mainId ?? 0;
|
|
|
+ $staffName = $staff->name ?? '';
|
|
|
+ $staffId = $staff->id ?? 0;
|
|
|
+
|
|
|
$ghsItemInfo = [['productId' => $outId, 'bigNum' => $remainOutStock, 'smallNum' => 0,]];
|
|
|
$pdData = [];
|
|
|
$pdData['itemInfo'] = $ghsItemInfo;
|
|
|
@@ -65,9 +79,10 @@ class CheckOrderClass extends BaseClass
|
|
|
$pdData['mainId'] = $mainId;
|
|
|
$pdData['staffName'] = $data['staffName'] ?? '';
|
|
|
$pdData['remark'] = "借{$num}个库存给{$inName}";
|
|
|
+ $pdData['staffName'] = $staffName;
|
|
|
+ $pdData['staffId'] = $staffId;
|
|
|
self::opOrder($pdData, false, false);
|
|
|
|
|
|
- $adminId = $staff->adminId ?? 0;
|
|
|
$sjId = $shop->sjId ?? 0;
|
|
|
$shopId = $shop->id ?? 0;
|
|
|
$mainId = $shop->mainId ?? 0;
|
|
|
@@ -78,7 +93,8 @@ class CheckOrderClass extends BaseClass
|
|
|
$pdData['shopId'] = $shopId;
|
|
|
$pdData['adminId'] = $adminId;
|
|
|
$pdData['mainId'] = $mainId;
|
|
|
- $pdData['staffName'] = $data['staffName'] ?? '';
|
|
|
+ $pdData['staffName'] = $staffName;
|
|
|
+ $pdData['staffId'] = $staffId;
|
|
|
$pdData['remark'] = "向{$outName}借{$num}个库存";
|
|
|
self::opOrder($pdData, false, false);
|
|
|
return true;
|
|
|
@@ -163,6 +179,7 @@ class CheckOrderClass extends BaseClass
|
|
|
$record['itemNum'] = abs($v['profitLossNum']);
|
|
|
$record['oldStock'] = $productData['stock'];
|
|
|
$record['newStock'] = $v['itemNum'];
|
|
|
+ $record['targetId'] = $order->id ?? 0;
|
|
|
StockRecordClass::addCheckOrderRecord($record);
|
|
|
|
|
|
$amount = $v['amount'] ?? 0;
|