1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- <?php
- /**
- * Author: luzheng.liu
- * Time: 2020/12/5 19:52
- */
- namespace app\api\model;
- use app\common\until\Until;
- class StaffModel extends BaseModel {
- const NORMAL = 1;
- protected $table = 'staff';
- public function getStaffList() {
- $joinType = 'left';
- if (!empty(Until::$adminId)) {
- $joinType = 'INNER';
- }
- $countModel = $this->alias('s')
- ->join('store sto','sto.id = s.store_id')
- ->join('group g','g.id = sto.group_id')
- ->join('staff_title st','st.id = s.staff_title_id','left')
- ->join('group_role gr','g.id = gr.group_id and gr.admin_id = '.Until::$adminId,$joinType);
- $selectModel = $this->alias('s')
- ->field('s.*,sto.store_name,st.staff_title,sto.group_id,g.group_name')
- ->join('store sto','sto.id = s.store_id')
- ->join('group g','g.id = sto.group_id')
- ->join('group_role gr','g.id = gr.group_id and gr.admin_id = '.Until::$adminId,$joinType)
- ->join('staff_title st','st.id = s.staff_title_id','left')
- ->order(['s.id' => 'desc']);
- return $this->joinModelPageList($countModel, $selectModel);
- }
- public function getStaffInfo() {
- $selectModel = $this->alias('s')
- ->field('s.*,sto.store_name,st.staff_title')
- ->join('store sto', 'sto.id = s.store_id')
- ->join('staff_title st', 'st.id = s.staff_title_id')
- ->where($this->getWhere())
- ->find();
- return Until::modelToArray($selectModel);
- }
- public function getTurnList() {
- $joinType = 'INNER';
- $countModel = $this->alias('s')
- ->join('store sto','sto.id = s.store_id')
- ->join('group g','g.id = sto.group_id')
- ->join('staff_title st','st.id = s.staff_title_id','left')
- ->join('group_role gr','g.id = gr.group_id and gr.admin_id = '.Until::$adminId,$joinType);
- $selectModel = $this->alias('s')
- ->field('s.id staffId,s.staff_name,s.server_status,
- sto.store_name,st.staff_title,sto.id storeId,sto.group_id,
- g.group_name,
- ts.today_order_num,ts.yesterday_order_num')
- ->join('store sto','sto.id = s.store_id')
- ->join('group g','g.id = sto.group_id')
- ->join('turn_staff ts','ts.staff_id = s.id','left')
- ->join('group_role gr','g.id = gr.group_id and gr.admin_id = '.Until::$adminId,$joinType)
- ->join('staff_title st','st.id = s.staff_title_id','left')
- ->order(['ts.today_order_num' => 'asc','ts.yesterday_order_num' => 'asc']);
- return $this->joinModelPageList($countModel, $selectModel);
- }
- public function getTurnInfo() {
- $joinType = 'INNER';
- $selectModel = $this->alias('s')
- ->field('s.id staffId,s.staff_name,s.server_status,
- sto.store_name,st.staff_title,sto.id storeId,sto.group_id,
- g.group_name,
- ts.today_order_num,ts.yesterday_order_num')
- ->join('store sto','sto.id = s.store_id')
- ->join('group g','g.id = sto.group_id')
- ->join('turn_staff ts','ts.staff_id = s.id','left')
- ->join('group_role gr','g.id = gr.group_id and gr.admin_id = '.Until::$adminId,$joinType)
- ->join('staff_title st','st.id = s.staff_title_id','left')
- ->order(['ts.today_order_num' => 'asc','ts.yesterday_order_num' => 'asc'])
- ->where($this->getWhere())
- ->find();
- return Until::modelToArray($selectModel);
- }
- }
|