feat:material

This commit is contained in:
LAPTOP-7SGDREK0\shiweijun
2025-02-17 16:32:34 +08:00
parent 59f0f23abc
commit 6630a56bee
3 changed files with 49 additions and 1 deletions

View File

@@ -4,9 +4,11 @@ declare(strict_types=1);
namespace App\Service\Admin\Material;
use App\Constants\Admin\DepotCode;
use App\Constants\Common\MaterialCode;
use App\Exception\ErrException;
use App\Model\Material;
use App\Model\MaterialApplication;
use App\Model\MaterialStock;
use App\Service\Admin\BaseService;
use Hyperf\Di\Annotation\Inject;
@@ -22,6 +24,9 @@ class MaterialService extends BaseService{
#[Inject]
protected MaterialStock $MaterialStockModel;
#[Inject]
protected MaterialApplication $MaterialApplicationModel;
public function handle()
{
@@ -142,4 +147,34 @@ class MaterialService extends BaseService{
return $this->return->success('success',$list);
}
public function costListByChef():array
{
$limit = (int)$this->request->input('limit', 10);
$chefName = $this->request->input('chef_name');
$cycleId = (int)$this->request->input('cycle_id');
$kitchenId = (int)$this->request->input('query_kitchen_id');
$list = $this->MaterialApplicationModel
->leftJoin('material','material_application.material_id','=','material.id')
->leftJoin('dish','material_application.dish_id','=','dish.id')
->leftJoin('depot_sale','material_application.id','=','depot_sale.application_id')
->leftJoin('admin_user','material_application.operator_id','=','admin_user.id')
->where('material_application.is_del',MaterialCode::IS_NO_DEL)
->where('depot_sale.is_del',DepotCode::IS_NO_DEL)
->when(!empty($chefName), function ($query) use ($chefName) {
$query->where('admin_user.chinese_name', $chefName);
})
->when(!empty($cycleId), function ($query) use ($cycleId) {
$query->where('dish.cycle_id', $cycleId);
})
->when(!empty($kitchenId), function ($query) use ($kitchenId) {
$query->where('material_application.kitchen_id', $kitchenId);
})
->paginate($limit,['admin_user.chinese_name','material.name','material_application.number as application_number','depot_sale.number as sale_number','depot_sale.back_number'])
->toArray();
// return $this->return->success('success',['list' => $list]);
return $this->return->success('success',$list);
}
}