lihaiMiddleOffice/app/psi/logic/OutboundOrderLogic.php

123 lines
3.3 KiB
PHP

<?php
namespace app\psi\logic;
use app\common\model\OutboundOrder;
use app\common\logic\BaseLogic;
use Exception;
use think\facade\Db;
/**
* PsiOutboundOrder逻辑
* Class OutboundOrderLogic
* @package app\psi\logic
*/
class OutboundOrderLogic 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 {
OutboundOrder::create([
'warehouse_id' => $params['warehouse_id'],
'supplier_id' => $params['supplier_id'],
'store_id' => $params['store_id'],
'type' => $params['type'],
'oid' => $params['oid'],
'order_type' => $params['order_type'],
'code' => $params['code'],
'admin_id' => $params['admin_id'],
'batch' => $params['batch'],
'mark' => $params['mark'],
'nums' => $params['nums'],
'purchase' => $params['purchase'],
'total_price' => $params['total_price'],
'completed_amount' => $params['completed_amount'],
'outstanding_amount' => $params['outstanding_amount'],
'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 {
OutboundOrder::where('id', $params['id'])->update([
'warehouse_id' => $params['warehouse_id'],
'supplier_id' => $params['supplier_id'],
'store_id' => $params['store_id'],
'type' => $params['type'],
'oid' => $params['oid'],
'order_type' => $params['order_type'],
'code' => $params['code'],
'admin_id' => $params['admin_id'],
'batch' => $params['batch'],
'mark' => $params['mark'],
'nums' => $params['nums'],
'purchase' => $params['purchase'],
'total_price' => $params['total_price'],
'completed_amount' => $params['completed_amount'],
'outstanding_amount' => $params['outstanding_amount'],
'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 OutboundOrder::destroy($params['id']);
}
/**
* @notes 获取详情
* @param $params
* @return array
* @author admin
* @date 2025/03/10 11:08
*/
public static function detail($params): array
{
return OutboundOrder::findOrEmpty($params['id'])->toArray();
}
}