|
|
@@ -3,6 +3,7 @@
|
|
|
namespace bizHd\goods\classes;
|
|
|
|
|
|
use biz\shop\classes\MainClass;
|
|
|
+use biz\stock\classes\GoodsStockRecordClass;
|
|
|
use biz\shop\classes\ShopCapitalClass;
|
|
|
use biz\stat\classes\StatCgPlantClass;
|
|
|
use biz\stat\classes\StatOutClass;
|
|
|
@@ -334,6 +335,8 @@ class GoodsClass extends BaseClass
|
|
|
$flowerNum = $data['flowerNum'] ?? 0;
|
|
|
$sn = orderSn::getGoodsSn();
|
|
|
$data['sn'] = $sn;
|
|
|
+ $addStock = $data['stock'] ?? 0;
|
|
|
+ unset($data['stock']);
|
|
|
$info = self::add($data, true);
|
|
|
$id = $info->id;
|
|
|
$name = $info->name;
|
|
|
@@ -343,6 +346,25 @@ class GoodsClass extends BaseClass
|
|
|
$shopId = $data['shopId'] ?? 0;
|
|
|
$flower = $data['flower'] ?? 0;
|
|
|
$status = $data['status'] ?? 0;
|
|
|
+ $staffName = $data['staffName'] ?? '';
|
|
|
+
|
|
|
+ if ($addStock > 0) {
|
|
|
+ $stockRespond = GoodsClass::addStock($id, $mainId, $addStock);
|
|
|
+ $oldStock = $stockRespond['oldStock'] ?? 0;
|
|
|
+ $newStock = $stockRespond['newStock'] ?? 0;
|
|
|
+ $recordData = [];
|
|
|
+ $recordData['sjId'] = $sjId;
|
|
|
+ $recordData['shopId'] = $shopId;
|
|
|
+ $recordData['mainId'] = $mainId;
|
|
|
+ $recordData['orderSn'] = '';
|
|
|
+ $recordData['goodsId'] = $id;
|
|
|
+ $recordData['goodsNum'] = $addStock;
|
|
|
+ $recordData['oldStock'] = $oldStock;
|
|
|
+ $recordData['newStock'] = $newStock;
|
|
|
+ $recordData['relateName'] = $staffName;
|
|
|
+ GoodsStockRecordClass::pdGoods($recordData);
|
|
|
+ }
|
|
|
+
|
|
|
$delStatus = $data['delStatus'] ?? 0;
|
|
|
$setItemNum = $data['setItemNum'] ?? 0;
|
|
|
$categoryData = CategoryClass::getCategory($mainId);
|
|
|
@@ -434,7 +456,7 @@ class GoodsClass extends BaseClass
|
|
|
}
|
|
|
|
|
|
//更新商品 ssh 2019.12.7
|
|
|
- public static function updateGoods($info, $data)
|
|
|
+ public static function updateGoods($info, $data, $staff)
|
|
|
{
|
|
|
$id = $info['id'] ?? 0;
|
|
|
$preSetItemNum = $info['setItemNum'] ?? 0;
|
|
|
@@ -491,25 +513,39 @@ class GoodsClass extends BaseClass
|
|
|
//库存可以修改
|
|
|
if (isset($data['stock']) && is_numeric($data['stock'])) {
|
|
|
$preStock = $info['stock'] ?? 0;
|
|
|
- if ($data['stock'] != $preStock) {
|
|
|
- if ($data['stock'] < 0) {
|
|
|
+ $newStock = $data['stock'];
|
|
|
+ if ($newStock != $preStock) {
|
|
|
+ if ($staff->super != 1) {
|
|
|
+ util::fail('管理员才能修改库存');
|
|
|
+ }
|
|
|
+ if ($newStock < 0) {
|
|
|
util::fail("库存不能小于0");
|
|
|
}
|
|
|
- if (floor($data['stock']) != $data['stock']) {
|
|
|
+ if (floor($newStock) != $newStock) {
|
|
|
util::fail('库存请填写整数');
|
|
|
}
|
|
|
- //增加盘点记录 2021.7.27
|
|
|
-// $ratio = $product->ratio ?? 0;
|
|
|
-// $formNum = ProductClass::formatStock($data['stock'], $ratio);
|
|
|
-// $ghsItemInfo = [['productId' => $product->id, 'bigNum' => $formNum['bigNum'], 'smallNum' => $formNum['smallNum'],]];
|
|
|
-// $pdData = [];
|
|
|
-// $pdData['itemInfo'] = $ghsItemInfo;
|
|
|
-// $pdData['sjId'] = $sjId;
|
|
|
-// $pdData['shopId'] = $shopId;
|
|
|
-// $pdData['adminId'] = $data['adminId'];
|
|
|
-// $pdData['mainId'] = $mainId;
|
|
|
-// $pdData['staffName'] = $data['staffName'] ?? '';
|
|
|
-// CheckOrderClass::opOrder($pdData, false, false);
|
|
|
+ if ($newStock > $preStock) {
|
|
|
+ $diffNum = bcsub($newStock, $preStock);
|
|
|
+ $respond = GoodsClass::addStock($id, $mainId, $diffNum);
|
|
|
+ } else {
|
|
|
+ $diffNum = bcsub($preStock, $newStock);
|
|
|
+ $checkStock = false;
|
|
|
+ $params = [];
|
|
|
+ $respond = GoodsClass::decreaseStock($id, $mainId, $diffNum, $checkStock, $params);
|
|
|
+ }
|
|
|
+ $oldStock = $respond['oldStock'] ?? 0;
|
|
|
+ $newStock = $respond['newStock'] ?? 0;
|
|
|
+ $recordData = [];
|
|
|
+ $recordData['sjId'] = $sjId;
|
|
|
+ $recordData['shopId'] = $shopId;
|
|
|
+ $recordData['mainId'] = $mainId;
|
|
|
+ $recordData['orderSn'] = '';
|
|
|
+ $recordData['goodsId'] = $id;
|
|
|
+ $recordData['goodsNum'] = $diffNum;
|
|
|
+ $recordData['oldStock'] = $oldStock;
|
|
|
+ $recordData['newStock'] = $newStock;
|
|
|
+ $recordData['relateName'] = $staff->name ?? '';
|
|
|
+ GoodsStockRecordClass::pdGoods($recordData);
|
|
|
}
|
|
|
unset($data['stock']);
|
|
|
}
|