diff --git a/app/admin/controller/inventory_transfer/InventoryTransferController.php b/app/admin/controller/inventory_transfer/InventoryTransferController.php index c334c284b..ee7175207 100644 --- a/app/admin/controller/inventory_transfer/InventoryTransferController.php +++ b/app/admin/controller/inventory_transfer/InventoryTransferController.php @@ -72,6 +72,7 @@ class InventoryTransferController extends BaseAdminController */ public function delete() { + return $this->fail('删除功能暂未开放'); $params = (new InventoryTransferValidate())->post()->goCheck('delete'); InventoryTransferLogic::delete($params); return $this->success('删除成功', [], 1, 1); diff --git a/app/admin/lists/inventory_transfer/InventoryTransferLists.php b/app/admin/lists/inventory_transfer/InventoryTransferLists.php index 5b6f4992a..201538979 100644 --- a/app/admin/lists/inventory_transfer/InventoryTransferLists.php +++ b/app/admin/lists/inventory_transfer/InventoryTransferLists.php @@ -70,20 +70,27 @@ class InventoryTransferLists extends BaseAdminDataLists implements ListsSearchIn } return InventoryTransfer::where($this->searchWhere) - ->field(['id', 'product_id', 'nums', 'one_before_nums', 'one_after_nums','two_before_nums','two_after_nums', 'type', 'one_id', 'two_id', 'create_time']) + ->field(['id', 'product_id', 'nums', 'one_before_nums', 'one_after_nums','two_before_nums','two_after_nums', 'one_type','two_type', 'one_id', 'two_id', 'create_time']) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select()->each(function($item){ $item->store_name= StoreProduct::where('id',$item->product_id)->value('store_name'); - if($item->type==1){ - $item->type_name='商户'; + $type_name=''; + if($item->one_type==1){ $item->one_name=SystemStore::where('id',$item->one_id)->value('name'); + $type_name='门店转'; + }else{ + $item->one_name=Warehouse::where('id',$item->one_id)->value('name'); + $type_name='仓库转'; + } + if($item->two_type==1){ + $type_name.='门店'; $item->two_name=SystemStore::where('id',$item->two_id)->value('name'); }else{ - $item->type_name='仓库'; - $item->one_name=Warehouse::where('id',$item->one_id)->value('name'); + $type_name.='仓库'; $item->two_name=Warehouse::where('id',$item->two_id)->value('name'); } + $item->type_name=$type_name; $item->store_name= StoreProduct::where('id',$item->product_id)->value('store_name'); }) ->toArray(); diff --git a/app/admin/logic/inventory_transfer/InventoryTransferLogic.php b/app/admin/logic/inventory_transfer/InventoryTransferLogic.php index aba3a91b9..445a69b3d 100644 --- a/app/admin/logic/inventory_transfer/InventoryTransferLogic.php +++ b/app/admin/logic/inventory_transfer/InventoryTransferLogic.php @@ -2,7 +2,7 @@ namespace app\admin\logic\inventory_transfer; - +use app\admin\logic\warehouse_product\WarehouseProductLogic; use app\common\model\inventory_transfer\InventoryTransfer; use app\common\logic\BaseLogic; use app\common\model\store_branch_product\StoreBranchProduct; @@ -32,33 +32,43 @@ class InventoryTransferLogic extends BaseLogic $one_after_nums = 0; $two_before_nums = 0; $two_after_nums = 0; - if ($params['type'] == 1) { + if($params['one_type']==1){ $stock = StoreBranchProduct::where('product_id', $params['product_id'])->where('store_id', $params['one_id'])->value('stock'); - $stock_two = StoreBranchProduct::where('product_id', $params['product_id'])->where('store_id', $params['two_id'])->value('stock'); if ($stock < $params['nums']) { self::setError('调拨数量不能大于当前门店库存'); return false; - } else { - $one_before_nums = $stock; - $one_after_nums = bcsub($stock, $params['nums']); - - $two_before_nums = $stock_two; - $two_after_nums = bcadd($stock_two, $params['nums']); } - } elseif ($params['type'] == 2) { + if($params['two_type']==1){ + $stock_two = StoreBranchProduct::where('product_id', $params['product_id'])->where('store_id', $params['two_id'])->value('stock'); + }elseif($params['two_type']==2){ + $stock_two = WarehouseProductStorege::where('product_id', $params['product_id'])->where('warehouse_id', $params['two_id'])->value('nums'); + } + $one_before_nums = $stock; + $one_after_nums = bcsub($stock, $params['nums']); + + $two_before_nums = $stock_two; + $two_after_nums = bcadd($stock_two, $params['nums']); + }elseif($params['one_type']==2){ $stock = WarehouseProductStorege::where('product_id', $params['product_id'])->where('warehouse_id', $params['one_id'])->value('nums'); - $stock_two = WarehouseProductStorege::where('product_id', $params['product_id'])->where('warehouse_id', $params['two_id'])->value('nums'); if ($stock < $params['nums']) { self::setError('调拨数量不能大于当前仓库库存'); return false; - } else { - $one_before_nums = $stock; - $one_after_nums = bcsub($stock, $params['nums']); - - $two_before_nums = $stock_two; - $two_after_nums = bcadd($stock_two, $params['nums']); } + if($params['two_type']==1){ + $stock_two = StoreBranchProduct::where('product_id', $params['product_id'])->where('store_id', $params['two_id'])->value('stock'); + }elseif($params['two_type']==2){ + $stock_two = WarehouseProductStorege::where('product_id', $params['product_id'])->where('warehouse_id', $params['two_id'])->value('nums'); + } + $one_before_nums = $stock; + $one_after_nums = bcsub($stock, $params['nums']); + + $two_before_nums = $stock_two; + $two_after_nums = bcadd($stock_two, $params['nums']); + }else{ + self::setError('调拨类型错误'); + return false; } + Db::startTrans(); try { InventoryTransfer::create([ @@ -68,20 +78,24 @@ class InventoryTransferLogic extends BaseLogic 'one_after_nums' => $one_after_nums, 'two_before_nums' => $two_before_nums, 'two_after_nums' => $two_after_nums, - 'type' => $params['type'], + 'one_type' => $params['one_type'], + 'two_type' => $params['two_type'], 'one_id' => $params['one_id'], 'two_id' => $params['two_id'] ]); - if ($params['type'] == 1) { + if($params['one_type']==1){ StoreBranchProduct::where('product_id', $params['product_id'])->where('store_id', $params['one_id'])->dec('stock', $params['nums'])->update(); - StoreBranchProduct::where('product_id', $params['product_id'])->where('store_id', $params['two_id'])->inc('stock', $params['nums'])->update(); - } elseif ($params['type'] == 2) { + } elseif ($params['one_type'] == 2) { WarehouseProductStorege::where('product_id', $params['product_id'])->where('warehouse_id', $params['one_id'])->dec('nums', $params['nums'])->update(); + } + if($params['two_type']==1){ + StoreBranchProduct::where('product_id', $params['product_id'])->where('store_id', $params['two_id'])->inc('stock', $params['nums'])->update(); + } elseif ($params['two_type'] == 2) { WarehouseProductStorege::where('product_id', $params['product_id'])->where('warehouse_id', $params['two_id'])->inc('nums', $params['nums'])->update(); } Db::commit(); return true; - } catch (\Exception $e) { + } catch (\Throwable $e) { Db::rollback(); self::setError($e->getMessage()); return false; diff --git a/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php b/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php index 79e1c412f..d9b5fc996 100644 --- a/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php +++ b/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php @@ -5,6 +5,7 @@ namespace app\admin\logic\purchase_product_offer; use app\common\model\purchase_product_offer\PurchaseProductOffer; use app\common\logic\BaseLogic; +use app\common\model\delivery_service\DeliveryService; use think\facade\Db; @@ -103,15 +104,17 @@ class PurchaseProductOfferLogic extends BaseLogic */ public static function buyer($params) { + if($params['is_buyer']==1){ + if($params['buyer_id']==''){ + self::setError('采购人不能为空'); + return false; + } + $data['buyer_id']=$params['buyer_id']; + $data['buyer_nums']=$params['buyer_nums']; + } Db::startTrans(); try { - $data=[ - 'is_buyer' => $params['is_buyer'], - ]; - if($params['is_buyer']==1){ - $data['buyer_id']=$params['buyer_id']; - $data['buyer_nums']=$params['buyer_nums']; - } + $data['is_buyer']=$params['is_buyer']; PurchaseProductOffer::where('id', $params['id'])->update($data); Db::commit(); return true; diff --git a/app/admin/validate/inventory_transfer/InventoryTransferValidate.php b/app/admin/validate/inventory_transfer/InventoryTransferValidate.php index 7149f7f18..dd55ec814 100644 --- a/app/admin/validate/inventory_transfer/InventoryTransferValidate.php +++ b/app/admin/validate/inventory_transfer/InventoryTransferValidate.php @@ -50,7 +50,7 @@ class InventoryTransferValidate extends BaseValidate */ public function sceneAdd() { - return $this->only(['product_id','nums','type','one_id','two_id']); + return $this->only(['product_id','nums','one_id','two_id']); }