lihaiMiddleOffice/app/psi/logic/WarehouseProductLogic.php

145 lines
4.5 KiB
PHP
Raw Normal View History

2025-03-10 11:31:34 +08:00
<?php
namespace app\psi\logic;
use app\common\model\WarehouseProduct;
use app\common\logic\BaseLogic;
use Exception;
use think\facade\Db;
/**
* PsiWarehouseProduct逻辑
* Class WarehouseProductLogic
* @package app\psi\logic
*/
class WarehouseProductLogic extends BaseLogic
{
/**
* @notes 添加
* @param array $params
* @return bool
* @author admin
* @date 2025/03/10 11:08
*/
public static function add(array $params): bool
{
Db::startTrans();
try {
WarehouseProduct::create([
'warehouse_id' => $params['warehouse_id'],
'supplier_id' => $params['supplier_id'],
'store_id' => $params['store_id'],
'order_type' => $params['order_type'],
'product_id' => $params['product_id'],
'unit' => $params['unit'],
'oid' => $params['oid'],
'code' => $params['code'],
'manufacture' => $params['manufacture'],
'expiration_date' => $params['expiration_date'],
'admin_id' => $params['admin_id'],
'enter_admin_id' => $params['enter_admin_id'],
'staff_id' => $params['staff_id'],
'batch' => $params['batch'],
'nums' => $params['nums'],
'refund_nums' => $params['refund_nums'],
'before_nums' => $params['before_nums'],
'after_nums' => $params['after_nums'],
'mark' => $params['mark'],
'price' => $params['price'],
'total_price' => $params['total_price'],
'purchase' => $params['purchase'],
'cost' => $params['cost'],
'vip_price' => $params['vip_price'],
'is_pay' => $params['is_pay'],
'pay_type' => $params['pay_type'],
'status' => $params['status'],
]);
Db::commit();
return true;
} catch (\Throwable $e) {
Db::rollback();
throw new Exception($e->getMessage());
}
}
/**
* @notes 编辑
* @param array $params
* @return bool
* @author admin
* @date 2025/03/10 11:08
*/
public static function edit(array $params): bool
{
Db::startTrans();
try {
WarehouseProduct::where('id', $params['id'])->update([
'warehouse_id' => $params['warehouse_id'],
'supplier_id' => $params['supplier_id'],
'store_id' => $params['store_id'],
'order_type' => $params['order_type'],
'product_id' => $params['product_id'],
'unit' => $params['unit'],
'oid' => $params['oid'],
'code' => $params['code'],
'manufacture' => $params['manufacture'],
'expiration_date' => $params['expiration_date'],
'admin_id' => $params['admin_id'],
'enter_admin_id' => $params['enter_admin_id'],
'staff_id' => $params['staff_id'],
'batch' => $params['batch'],
'nums' => $params['nums'],
'refund_nums' => $params['refund_nums'],
'before_nums' => $params['before_nums'],
'after_nums' => $params['after_nums'],
'mark' => $params['mark'],
'price' => $params['price'],
'total_price' => $params['total_price'],
'purchase' => $params['purchase'],
'cost' => $params['cost'],
'vip_price' => $params['vip_price'],
'is_pay' => $params['is_pay'],
'pay_type' => $params['pay_type'],
'status' => $params['status'],
]);
Db::commit();
return true;
} catch (\Throwable $e) {
Db::rollback();
throw new Exception($e->getMessage());
}
}
/**
* @notes 删除
* @param array $params
* @return bool
* @author admin
* @date 2025/03/10 11:08
*/
public static function delete(array $params): bool
{
return WarehouseProduct::destroy($params['id']);
}
/**
* @notes 获取详情
* @param $params
* @return array
* @author admin
* @date 2025/03/10 11:08
*/
public static function detail($params): array
{
return WarehouseProduct::findOrEmpty($params['id'])->toArray();
}
}