|
|
@@ -5,7 +5,9 @@ namespace bizGhs\order\classes;
|
|
|
use biz\shop\classes\ShopClass;
|
|
|
use biz\stat\classes\StatPdAddClass;
|
|
|
use biz\stat\classes\StatPdSubClass;
|
|
|
+use bizGhs\book\classes\BookCustomClass;
|
|
|
use bizGhs\book\classes\BookItemClass;
|
|
|
+use bizGhs\book\classes\BookItemCustomClass;
|
|
|
use bizGhs\product\classes\ProductClass;
|
|
|
use bizGhs\shop\classes\MainClass;
|
|
|
use bizGhs\stock\classes\StockInDayClass;
|
|
|
@@ -28,7 +30,7 @@ class CheckOrderClass extends BaseClass
|
|
|
self::STATUS_COMPLETE => '已盘点',
|
|
|
];
|
|
|
|
|
|
- public static function loanStock($inId, $outId, $num, $shop, $staff)
|
|
|
+ public static function loanStock($inId, $outId, $num, $shop, $staff,$bookItemCustomRes)
|
|
|
{
|
|
|
$sjId = $shop->sjId ?? 0;
|
|
|
$shopId = $shop->id ?? 0;
|
|
|
@@ -43,26 +45,33 @@ class CheckOrderClass extends BaseClass
|
|
|
util::fail('没有找到花材。');
|
|
|
}
|
|
|
$outName = $out->name ?? '';
|
|
|
- $remainStock = $out->stock ?? 0;
|
|
|
+ $stock = $out->stock ?? 0;
|
|
|
$bookSn = $shop->bookSn ?? 0;
|
|
|
+ $couldLoan = 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;
|
|
|
+ //借出的人预订没有影响
|
|
|
+ $bookNum = $booItem->bookNum??0;
|
|
|
+ $roadNum = $bookItem->roadNum??0;
|
|
|
+ $needCgNum = $bookItem->needCgNum??0;
|
|
|
+
|
|
|
+ $unReachNum = bcadd($roadNum,$needCgNum,2);
|
|
|
+ $useStock = bcsub($bookNum,$unReachNum,2);
|
|
|
+ if($stock>$useStock){
|
|
|
+ $couldLoan = bcsub($stock,$useStock,2);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- $remainOutStock = bcsub($remainStock, $num);
|
|
|
- if ($remainOutStock < 0) {
|
|
|
- util::fail("可借数量 " . $remainStock);
|
|
|
+ if($num>$couldLoan){
|
|
|
+ util::fail("只能借{$couldLoan}");
|
|
|
}
|
|
|
-
|
|
|
if ($inId == $outId) {
|
|
|
util::fail('同个花材呢');
|
|
|
}
|
|
|
|
|
|
+ $newOutStock = bcsub($stock, $num,2);
|
|
|
+
|
|
|
$inStock = $in->stock ?? 0;
|
|
|
$newInStock = bcadd($inStock, $num);
|
|
|
|
|
|
@@ -70,7 +79,7 @@ class CheckOrderClass extends BaseClass
|
|
|
$staffName = $staff->name ?? '';
|
|
|
$staffId = $staff->id ?? 0;
|
|
|
|
|
|
- $ghsItemInfo = [['productId' => $outId, 'bigNum' => $remainOutStock, 'smallNum' => 0,]];
|
|
|
+ $ghsItemInfo = [['productId' => $outId, 'bigNum' => $newOutStock, 'smallNum' => 0,]];
|
|
|
$pdData = [];
|
|
|
$pdData['itemInfo'] = $ghsItemInfo;
|
|
|
$pdData['sjId'] = $sjId;
|
|
|
@@ -96,7 +105,30 @@ class CheckOrderClass extends BaseClass
|
|
|
$pdData['staffName'] = $staffName;
|
|
|
$pdData['staffId'] = $staffId;
|
|
|
$pdData['remark'] = "向{$outName}借{$num}个库存";
|
|
|
- self::opOrder($pdData, false, false);
|
|
|
+ $inOrder = self::opOrder($pdData, false, false);
|
|
|
+
|
|
|
+ //借入的人待采会被影响
|
|
|
+ $needCgNum = $bookItemCustomRes->needCgNum??0;
|
|
|
+ if($num>$needCgNum){
|
|
|
+ $delNeedCgNum = $needCgNum;
|
|
|
+ }else{
|
|
|
+ $delNeedCgNum = $num;
|
|
|
+ }
|
|
|
+ $params = ['staffId'=>$staffId,'staffName'=>$staffName];
|
|
|
+ $params['currentChangeType'] = 'loanStock';
|
|
|
+ $params['outName'] = $outName;
|
|
|
+ $bookItemCustomRes = BookItemCustomClass::delNeedCgNum($bookItemCustomRes,$delNeedCgNum, 0, $inOrder, $shop, $in, $params);
|
|
|
+ $bookItemRes = BookItemClass::getByCondition(['bookSn'=>$bookSn,'itemId'=>$inId],true);
|
|
|
+ if(empty($bookItemRes)){
|
|
|
+ util::fail('借库存没有找到bookItem');
|
|
|
+ }
|
|
|
+ $bookItemRes = BookItemClass::delNeedCgNum($bookItemRes, $delNeedCgNum, 0, $inOrder, $shop, $in, $params);
|
|
|
+ $customId = $bookItemCustomRes->customId??0;
|
|
|
+ $bookCustomRes = BookCustomClass::getByCondition(['bookSn'=>$bookSn,'customId'=>$customId],true);
|
|
|
+ if(empty($bookCustomRes)){
|
|
|
+ util::fail('借库存没有找到bookCustom');
|
|
|
+ }
|
|
|
+ $bookCustomRes = BookCustomClass::delNeedCgNum($bookCustomRes, $delNeedCgNum, 0, $inOrder, $shop, $in, $params);
|
|
|
return true;
|
|
|
}
|
|
|
|