feat:material
This commit is contained in:
@@ -78,5 +78,17 @@ class MaterialController
|
|||||||
return (new MaterialService())->materialStockList();
|
return (new MaterialService())->materialStockList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 厨师成本列表
|
||||||
|
* @param MaterialRequest $request
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
#[RequestMapping(path: "chef_cost_list", methods: "GET")]
|
||||||
|
#[Scene(scene: "chef_cost_list")]
|
||||||
|
public function chefCostList(MaterialRequest $request): array
|
||||||
|
{
|
||||||
|
return (new MaterialService())->costListByChef();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,10 +36,11 @@ class MaterialRequest extends FormRequest
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected array $scenes = [
|
protected array $scenes = [
|
||||||
'material_list' => ['limit','query_name','query_kitchenId'],
|
'material_list' => ['limit','query_name','query_kitchen_id'],
|
||||||
'material_add' => ['category_id', 'name', 'standard', 'unit', 'bar_code', 'city_id', 'kitchen_id'],
|
'material_add' => ['category_id', 'name', 'standard', 'unit', 'bar_code', 'city_id', 'kitchen_id'],
|
||||||
'material_edit' => ['id','category_id', 'name', 'standard', 'unit', 'bar_code','status'],
|
'material_edit' => ['id','category_id', 'name', 'standard', 'unit', 'bar_code','status'],
|
||||||
'material_delete' => ['id'],
|
'material_delete' => ['id'],
|
||||||
'materialStock_list' => ['limit','query_name','query_materialId','query_depotId','query_supplierId','query_kitchenId'],
|
'materialStock_list' => ['limit','query_name','query_materialId','query_depotId','query_supplierId','query_kitchenId'],
|
||||||
|
'chef_cost_list' => ['limit','chef_name','cycle_id','query_kitchen_id'],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,9 +4,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Service\Admin\Material;
|
namespace App\Service\Admin\Material;
|
||||||
|
|
||||||
|
use App\Constants\Admin\DepotCode;
|
||||||
use App\Constants\Common\MaterialCode;
|
use App\Constants\Common\MaterialCode;
|
||||||
use App\Exception\ErrException;
|
use App\Exception\ErrException;
|
||||||
use App\Model\Material;
|
use App\Model\Material;
|
||||||
|
use App\Model\MaterialApplication;
|
||||||
use App\Model\MaterialStock;
|
use App\Model\MaterialStock;
|
||||||
use App\Service\Admin\BaseService;
|
use App\Service\Admin\BaseService;
|
||||||
use Hyperf\Di\Annotation\Inject;
|
use Hyperf\Di\Annotation\Inject;
|
||||||
@@ -22,6 +24,9 @@ class MaterialService extends BaseService{
|
|||||||
#[Inject]
|
#[Inject]
|
||||||
protected MaterialStock $MaterialStockModel;
|
protected MaterialStock $MaterialStockModel;
|
||||||
|
|
||||||
|
#[Inject]
|
||||||
|
protected MaterialApplication $MaterialApplicationModel;
|
||||||
|
|
||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -142,4 +147,34 @@ class MaterialService extends BaseService{
|
|||||||
return $this->return->success('success',$list);
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user