|
|
@@ -236,6 +236,7 @@ class BookItemClass extends BaseClass
|
|
|
util::fail($name . '没有设置采购人');
|
|
|
}
|
|
|
}
|
|
|
+ //总花材新增预订
|
|
|
$stat = self::getByCondition(['mainId' => $mainId, 'bookSn' => $bookSn, 'itemId' => $itemId,], true);
|
|
|
if (empty($stat)) {
|
|
|
$statData = [
|
|
|
@@ -252,10 +253,32 @@ class BookItemClass extends BaseClass
|
|
|
}
|
|
|
$id = $stat->id;
|
|
|
$unique = self::getLockById($id);
|
|
|
+
|
|
|
+ $currentStock = $product->stock;
|
|
|
+ $remainStock = 0;
|
|
|
+ if ($currentStock > 0) {
|
|
|
+ //未上架数量
|
|
|
+ $unOnNum = bcsub($unique->bookNum, $unique->onNum);
|
|
|
+ //待采购数量
|
|
|
+ $unCgNum = bcsub($unOnNum, $unique->roadNum);
|
|
|
+ if ($currentStock > $unCgNum) {
|
|
|
+ $remainStock = bcsub($currentStock, $unCgNum);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //新增待采数量 = 预订数量 - 剩余库存
|
|
|
+ $needCgNumValue = bcsub($num, $remainStock);
|
|
|
+ $addNeedCgNum = $needCgNumValue < 0 ? 0 : $needCgNumValue;
|
|
|
+ $key = 'add_need_cg_num_' . $itemId;
|
|
|
+ $lock = util::lock($key);
|
|
|
+ if (!$lock) {
|
|
|
+ util::fail("系统繁忙,请重试");
|
|
|
+ }
|
|
|
+
|
|
|
$currentNum = bcadd($unique->bookNum, $num);
|
|
|
$unique->bookNum = $currentNum;
|
|
|
+ $unique->needCgNum = bcadd($unique->needCgNum, $addNeedCgNum);
|
|
|
$unique->save();
|
|
|
-
|
|
|
+ //客户花材新增预订
|
|
|
$has = BookItemCustomClass::getByCondition(['mainId' => $mainId, 'bookSn' => $bookSn, 'customId' => $customId, 'itemId' => $itemId], true);
|
|
|
if (empty($has)) {
|
|
|
$currentData = [
|
|
|
@@ -277,8 +300,9 @@ class BookItemClass extends BaseClass
|
|
|
$hasId = $has->id ?? 0;
|
|
|
$has = BookItemCustomClass::getLockById($hasId);
|
|
|
$has->bookNum = bcadd($has->bookNum, $num);
|
|
|
+ $has->needCgNum = bcadd($has->needCgNum, $addNeedCgNum);
|
|
|
$has->save();
|
|
|
- //新增客户预订
|
|
|
+ //客户新增预订
|
|
|
$has = BookCustomClass::getByCondition(['mainId' => $mainId, 'bookSn' => $bookSn, 'customId' => $customId], true);
|
|
|
if (empty($has)) {
|
|
|
$currentData = [
|
|
|
@@ -294,7 +318,9 @@ class BookItemClass extends BaseClass
|
|
|
$hasId = $has->id ?? 0;
|
|
|
$has = BookCustomClass::getLockById($hasId);
|
|
|
$has->bookNum = bcadd($has->bookNum, $num);
|
|
|
+ $has->needCgNum = bcadd($has->needCgNum, $addNeedCgNum);
|
|
|
$has->save();
|
|
|
+ util::unlock($key);
|
|
|
}
|
|
|
}
|
|
|
|