|
|
@@ -57,6 +57,7 @@ class BookItemClass extends BaseClass
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /****1****/
|
|
|
$office = BookItemCustomClass::getByCondition(['mainId' => $mainId, 'bookSn' => $bookSn, 'customId' => $customId, 'itemId' => $itemId], true);
|
|
|
if (empty($office)) {
|
|
|
$currentData = [
|
|
|
@@ -82,37 +83,8 @@ class BookItemClass extends BaseClass
|
|
|
util::fail($customName . '预订的' . $name . '不够减');
|
|
|
}
|
|
|
$office->bookNum = $thisNum;
|
|
|
-
|
|
|
- if ($office->needCgNum >= $num) {
|
|
|
- //待采数量足够扣
|
|
|
- $office->needCgNum = bcsub($office->needCgNum, $num);
|
|
|
- } else {
|
|
|
- //待采数量不够扣
|
|
|
- $remainSubNum = bcsub($num, $office->needCgNum);
|
|
|
- $office->needCgNum = 0;
|
|
|
- if ($office->onNum >= $remainSubNum) {
|
|
|
- //上架数量足够扣
|
|
|
- $office->onNum = bcsub($office->onNum, $remainSubNum);
|
|
|
- } else {
|
|
|
- //上架数量也不够扣
|
|
|
- $lastRemainNum = bcsub($remainSubNum, $office->onNum);
|
|
|
- $office->onNum = 0;
|
|
|
- if ($lastRemainNum > 0) {
|
|
|
- //需要扣除路上数量,把路上有货位号的数量变成无货位号
|
|
|
- $roadNum = $office->roadNum ?? 0;
|
|
|
- if ($lastRemainNum >= $roadNum) {
|
|
|
- //路上数量也不够扣的,所以是库存,不再需要扣
|
|
|
- $maySubRoadNum = $roadNum;
|
|
|
- } else {
|
|
|
- $maySubRoadNum = $lastRemainNum;
|
|
|
- }
|
|
|
- //todo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
- $office->roadNum = bcsub($office->roadNum, $maySubRoadNum);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- $office->save();
|
|
|
-
|
|
|
+ /****1****/
|
|
|
+ /****2****/
|
|
|
$bookItemReturn = self::getByCondition(['mainId' => $mainId, 'bookSn' => $bookSn, 'itemId' => $itemId,], true);
|
|
|
if (empty($bookItemReturn)) {
|
|
|
$statData = [
|
|
|
@@ -135,9 +107,8 @@ class BookItemClass extends BaseClass
|
|
|
util::fail($customName . '预订的' . $name . '不够减哦');
|
|
|
}
|
|
|
$bookItemReturn->bookNum = $currentNum;
|
|
|
- $bookItemReturn->save();
|
|
|
-
|
|
|
-
|
|
|
+ /****2****/
|
|
|
+ /****3****/
|
|
|
$bookCustomReturn = BookCustomClass::getByCondition(['mainId' => $mainId, 'bookSn' => $bookSn, 'customId' => $customId], true);
|
|
|
if (empty($bookCustomReturn)) {
|
|
|
$currentData = [
|
|
|
@@ -156,12 +127,87 @@ class BookItemClass extends BaseClass
|
|
|
util::fail($customName . '预订的' . $name . '不够减哈');
|
|
|
}
|
|
|
$bookCustomReturn->bookNum = $nowNum;
|
|
|
+ /****3****/
|
|
|
+
|
|
|
+ if ($office->needCgNum >= $num) {
|
|
|
+ //待采数量足够扣
|
|
|
+ /****1****/
|
|
|
+ $office->needCgNum = bcsub($office->needCgNum, $num);
|
|
|
+ /****1****/
|
|
|
+ /****2****/
|
|
|
+ $bookItemReturn->needCgNum = bcsub($bookItemReturn->needCgNum, $num);
|
|
|
+ /****2****/
|
|
|
+ /****3****/
|
|
|
+ $bookCustomReturn->needCgNum = bcsub($bookCustomReturn->needCgNum, $num);
|
|
|
+ /****3****/
|
|
|
+ } else {
|
|
|
+ //待采数量不够扣
|
|
|
+ /****1****/
|
|
|
+ $needSubNum = $office->needCgNum;
|
|
|
+ $remainSubNum = bcsub($num, $needSubNum);
|
|
|
+ $office->needCgNum = bcsub($office->needCgNum, $needSubNum);
|
|
|
+ /****1****/
|
|
|
+ /****2****/
|
|
|
+ $bookItemReturn->needCgNum = bcsub($bookItemReturn->needCgNum, $needSubNum);
|
|
|
+ /****2****/
|
|
|
+ /****3****/
|
|
|
+ $bookCustomReturn->needCgNum = bcsub($bookCustomReturn->needCgNum, $needSubNum);
|
|
|
+ /****3****/
|
|
|
+ if ($office->onNum >= $remainSubNum) {
|
|
|
+ //上架数量足够扣
|
|
|
+ /****1****/
|
|
|
+ $office->onNum = bcsub($office->onNum, $remainSubNum);
|
|
|
+ /****1****/
|
|
|
+ /****2****/
|
|
|
+ $bookItemReturn->onNum = bcsub($bookItemReturn->onNum, $remainSubNum);
|
|
|
+ /****2****/
|
|
|
+ /****3****/
|
|
|
+ $bookCustomReturn->onNum = bcsub($bookCustomReturn->onNum, $remainSubNum);
|
|
|
+ /****3****/
|
|
|
+ } else {
|
|
|
+ //上架数量也不够扣
|
|
|
+ /****1****/
|
|
|
+ $lastNeedSubNum = $office->onNum;
|
|
|
+ $lastRemainNum = bcsub($remainSubNum, $lastNeedSubNum);
|
|
|
+ $office->onNum = bcsub($office->onNum, $lastNeedSubNum);
|
|
|
+ /****1****/
|
|
|
+ /****2****/
|
|
|
+ $bookItemReturn->onNum = bcsub($bookItemReturn->onNum, $lastNeedSubNum);
|
|
|
+ /****2****/
|
|
|
+ /****3****/
|
|
|
+ $bookCustomReturn->onNum = bcsub($bookCustomReturn->onNum, $lastNeedSubNum);
|
|
|
+ /****3****/
|
|
|
+ if ($lastRemainNum > 0) {
|
|
|
+ //需要扣除路上数量,把路上有货位号的数量变成无货位号
|
|
|
+ $roadNum = $office->roadNum ?? 0;
|
|
|
+ if ($lastRemainNum >= $roadNum) {
|
|
|
+ //路上数量也不够扣的,所剩是库存,不再需要扣
|
|
|
+ $maySubRoadNum = $roadNum;
|
|
|
+ } else {
|
|
|
+ $maySubRoadNum = $lastRemainNum;
|
|
|
+ }
|
|
|
+
|
|
|
+ //todo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 需要扣除路上数量,把路上有货位号的数量变成无货位号
|
|
|
+
|
|
|
+ /****1****/
|
|
|
+ $office->roadNum = bcsub($office->roadNum, $maySubRoadNum);
|
|
|
+ /****1****/
|
|
|
+ /****2****/
|
|
|
+ $bookItemReturn->roadNum = bcsub($bookItemReturn->roadNum, $maySubRoadNum);
|
|
|
+ /****2****/
|
|
|
+ /****3****/
|
|
|
+ $bookCustomReturn->roadNum = bcsub($bookCustomReturn->roadNum, $maySubRoadNum);
|
|
|
+ /****3****/
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $office->save();
|
|
|
+ $bookItemReturn->save();
|
|
|
$bookCustomReturn->save();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//todo 预订数量增加没有增加待采购数量,如果有库存要提醒库存要上架
|
|
|
-
|
|
|
//数据结构 [['productId' => $productId,'num' => $num]]
|
|
|
public static function addBatchItem($batchData, $order)
|
|
|
{
|