commit
e5fcae622b
@ -90,7 +90,7 @@ class WarehouseProductStoregeLists extends BaseAdminDataLists implements ListsSe
|
||||
->order($this->sortOrder)
|
||||
->select()->each(function ($item) {
|
||||
$item->warehouse_name = Warehouse::where('id', $item->warehouse_id)->value('name');
|
||||
$find = StoreProduct::where('id', $item->product_id)->find();
|
||||
$find = StoreProduct::where('id', $item->product_id)->withTrashed()->find();
|
||||
if ($find) {
|
||||
$item->store_name = $find->store_name;
|
||||
$item->image = $find->image;
|
||||
@ -101,8 +101,8 @@ class WarehouseProductStoregeLists extends BaseAdminDataLists implements ListsSe
|
||||
$item->purchase = $find->purchase;
|
||||
$item->store_info = $find->store_info;
|
||||
$item->rose = $find->rose;
|
||||
$item['unit_name'] = StoreProductUnit::where('id', $find['unit'])->value('name');
|
||||
$item['cate_name'] = StoreCategory::where('id', $find['cate_id'])->value('name');
|
||||
$item['unit_name'] = StoreProductUnit::where('id', $find['unit'])->withTrashed()->value('name');
|
||||
$item['cate_name'] = StoreCategory::where('id', $find['cate_id'])->withTrashed()->value('name');
|
||||
}else{
|
||||
$item->store_name = '';
|
||||
$item->cate_name = '';
|
||||
|
@ -211,14 +211,21 @@ class WarehouseProductLogic extends BaseLogic
|
||||
$res = WarehouseProduct::where('id', $params['id'])->withTrashed()->find();
|
||||
if($params['nums']>$res['nums']){
|
||||
$nums=bcsub($params['nums'], $res['nums'],2);
|
||||
self::incProductDecStorege($res, $nums,$admin_id);
|
||||
if ($res['financial_pm'] == 0) {
|
||||
self::decWarehouseProduct($res, $nums);
|
||||
} else {
|
||||
self::incWarehouseProduct($res, $nums);
|
||||
}
|
||||
}else{
|
||||
if($params['nums']==0){
|
||||
$nums=$params['nums'];
|
||||
self::decProductIncStorege($res, $nums,$admin_id);
|
||||
self::decWarehouseProduct($res, $res['nums']);
|
||||
}else{
|
||||
$nums=bcsub($res['nums'],$params['nums'],2);
|
||||
self::decProductIncStorege($res, $nums,$admin_id);
|
||||
$nums = bcsub($res['nums'], $params['nums'], 2);
|
||||
if ($res['financial_pm'] == 0) {
|
||||
self::incWarehouseProduct($res, $nums);
|
||||
} else {
|
||||
self::decWarehouseProduct($res, $nums);
|
||||
}
|
||||
}
|
||||
}
|
||||
$datas = [
|
||||
@ -354,7 +361,9 @@ class WarehouseProductLogic extends BaseLogic
|
||||
return $data;
|
||||
}
|
||||
|
||||
//减少
|
||||
/**
|
||||
* @deprecated 已废弃
|
||||
*/
|
||||
private static function decProductIncStorege($warehouseProduct,$nums,$admin_id=0)
|
||||
{
|
||||
$warehouseProductStorage = WarehouseProductStorege::where('warehouse_id', $warehouseProduct['warehouse_id'])
|
||||
@ -381,6 +390,9 @@ class WarehouseProductLogic extends BaseLogic
|
||||
self::updateStoreStorage($warehouseProduct['oid'], $nums, 'dec');
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated 已废弃
|
||||
*/
|
||||
//增加
|
||||
private static function incProductDecStorege($warehouseProduct, $nums,$admin_id=0)
|
||||
{
|
||||
@ -409,11 +421,7 @@ class WarehouseProductLogic extends BaseLogic
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新门店库存和门店入库单
|
||||
* @param $outboundId
|
||||
* @param $nums
|
||||
* @param $type
|
||||
* @return void
|
||||
* @deprecated 已废弃
|
||||
*/
|
||||
private static function updateStoreStorage($outboundId, $nums, $type = 'inc')
|
||||
{
|
||||
@ -435,4 +443,102 @@ class WarehouseProductLogic extends BaseLogic
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 增加商品入库数量
|
||||
* @param $warehouseProduct
|
||||
* @param $nums
|
||||
* @return void
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public static function incWarehouseProduct($warehouseProduct, $nums)
|
||||
{
|
||||
$warehouseProductStorage = WarehouseProductStorege::where('warehouse_id', $warehouseProduct['warehouse_id'])
|
||||
->where('product_id', $warehouseProduct['product_id'])->find();
|
||||
$warehouseProductStorage->nums = bcadd($warehouseProductStorage->nums, $nums, 2);
|
||||
$warehouseProductStorage->save();
|
||||
SqlChannelLog('WarehouseProductStorege', $warehouseProductStorage['id'], $nums, 1, Request()->url());
|
||||
|
||||
$update = [
|
||||
'nums' => bcadd($warehouseProduct['nums'], $nums, 2),
|
||||
'total_price' => bcadd($warehouseProduct['total_price'], bcmul($nums, $warehouseProduct['price'], 2), 2),
|
||||
];
|
||||
WarehouseProduct::where('id',$warehouseProduct['id'])->update($update);
|
||||
SqlChannelLog('WarehouseProduct', $warehouseProduct['id'], $nums, 1, Request()->url());
|
||||
|
||||
$find = WarehouseProduct::where('oid', $warehouseProduct['oid'])->field('sum(nums) as nums,sum(total_price) as total_price')->find();
|
||||
if ($find) {
|
||||
WarehouseOrder::where('id', $warehouseProduct['oid'])->update([
|
||||
'nums' => $find['nums'],
|
||||
'total_price' => $find['total_price']
|
||||
]);
|
||||
}
|
||||
self::updateStoreStorage2($warehouseProduct, $nums);
|
||||
}
|
||||
|
||||
/**
|
||||
* 减少商品入库数量
|
||||
* @param $warehouseProduct
|
||||
* @param $nums
|
||||
* @return void
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public static function decWarehouseProduct($warehouseProduct, $nums)
|
||||
{
|
||||
$warehouseProductStorage = WarehouseProductStorege::where('warehouse_id', $warehouseProduct['warehouse_id'])
|
||||
->where('product_id', $warehouseProduct['product_id'])->find();
|
||||
$warehouseProductStorage->nums = bcsub($warehouseProductStorage->nums, $nums, 2);
|
||||
$warehouseProductStorage->save();
|
||||
SqlChannelLog('WarehouseProductStorege', $warehouseProductStorage['id'], $nums, -1, Request()->url());
|
||||
|
||||
$update = [
|
||||
'nums' => bcsub($warehouseProduct['nums'], $nums, 2),
|
||||
'total_price' => bcsub($warehouseProduct['total_price'], bcmul($nums, $warehouseProduct['price'], 2), 2),
|
||||
];
|
||||
WarehouseProduct::where('id',$warehouseProduct['id'])->update($update);
|
||||
SqlChannelLog('WarehouseProduct', $warehouseProduct['id'], $nums, -1, Request()->url());
|
||||
|
||||
$find = WarehouseProduct::where('oid', $warehouseProduct['oid'])->field('sum(nums) as nums,sum(total_price) as total_price')->find();
|
||||
if ($find) {
|
||||
WarehouseOrder::where('id', $warehouseProduct['oid'])->update([
|
||||
'nums' => $find['nums'],
|
||||
'total_price' => $find['total_price']
|
||||
]);
|
||||
}
|
||||
self::updateStoreStorage2($warehouseProduct, $nums);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改门店商品库存
|
||||
* @param $warehouseProduct
|
||||
* @param $nums
|
||||
* @return void
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public static function updateStoreStorage2($warehouseProduct, $nums)
|
||||
{
|
||||
if ($warehouseProduct['financial_pm'] == 0 && $warehouseProduct['status'] == 1) {
|
||||
// 出库单已确认,增加门店库存
|
||||
$storeBranchProduct = StoreBranchProduct::where('store_id', $warehouseProduct->store_id)
|
||||
->where('product_id', $warehouseProduct->product_id)->find();
|
||||
if (!empty($storeBranchProduct)) {
|
||||
$storeBranchProduct->stock = $storeBranchProduct->stock + $nums;
|
||||
$storeBranchProduct->save();
|
||||
}
|
||||
} elseif ($warehouseProduct['store_id'] == 1 && $warehouseProduct['financial_pm'] == 1 && $warehouseProduct['status'] == 1) {
|
||||
// 入库单已确认,减少门店库存
|
||||
$storeBranchProduct = StoreBranchProduct::where('store_id', $warehouseProduct->store_id)
|
||||
->where('product_id', $warehouseProduct->product_id)->find();
|
||||
if (!empty($storeBranchProduct)) {
|
||||
$storeBranchProduct->stock = $storeBranchProduct->stock - $nums;
|
||||
$storeBranchProduct->save();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user