erp/app/admin/lists/retail/CashierclassStreamLists.php

79 lines
2.6 KiB
PHP

<?php
namespace app\admin\lists\retail;
use app\admin\lists\BaseAdminDataLists;
use app\common\model\auth\Admin;
use app\common\model\merchant\Merchant;
use app\common\model\retail\Cashierclass;
use app\common\lists\ListsSearchInterface;
use app\common\model\user\User;
/**
* 零售订单出库列表
* Class CashierclassLists
* @package app\admin\listsretail
*/
class CashierclassStreamLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件
* @return \string[][]
* @author likeadmin
* @date 2024/04/24 09:57
*/
public function setSearch(): array
{
$search= [
'=' => [],
];
return $search;
}
/**
* @notes 获取零售订单出库列表
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @author likeadmin
* @date 2024/04/24 09:57
*/
public function lists(): array
{
return Cashierclass::where($this->searchWhere)
->field(['id', 'merchant', 'store_id', 'uid', 'number', 'total', 'deduction_price', 'actual', 'money', 'pay_type', 'type', 'auditinguser', 'auditingtime','create_time','is_stream','stream_admin_id','stream_time','user_address'])
->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc'])
->select()->each(function($data){
$merchant = Merchant::field('mer_name')->where('mer_id',$data['merchant'])->findOrEmpty();
$user = User::field('nickname')->where('id',$data['uid'])->findOrEmpty();
$admin = Admin::field('name')->where('id',$data['auditinguser'])->findOrEmpty();
$stream_admin_name = Admin::where('id',$data['stream_admin_id'])->value('name');
$admin = Admin::field('name')->where('id',$data['auditinguser'])->findOrEmpty();
$data['merchant_name'] = !$merchant->isEmpty() ? $merchant['mer_name'] : '';
$data['user_name'] = !$user->isEmpty() ? $user['nickname'] : '';
$data['auditinguser_name'] = !$admin->isEmpty() ? $admin['name'] : '';
$data['stream_admin_name'] = $stream_admin_name??'';
$data['stream_time'] = $stream_admin_name?date('Y-m-d H:i:s',$data['stream_time']):'';
})
->toArray();
}
/**
* @notes 获取零售订单出库数量
* @return int
* @author likeadmin
* @date 2024/04/24 09:57
*/
public function count(): int
{
return Cashierclass::where($this->searchWhere)->count();
}
}