Răsfoiți Sursa

完善功能

gorden 8 luni în urmă
părinte
comite
0d9a265f9a

+ 23 - 4
app/admin/controller/member/WriteOffController.php

@@ -21,12 +21,14 @@ class WriteOffController extends Curd
         $page = $request->get('page', 1);
         $page = $request->get('page', 1);
         $pageSize = $request->get('pageSize', 50);
         $pageSize = $request->get('pageSize', 50);
         $keywords = $request->get('keywords','');
         $keywords = $request->get('keywords','');
+        $userId = $request->get('user_id','');
+        $premises = $request->get('premises','');
         $date = $request->get('date',[]);
         $date = $request->get('date',[]);
 
 
         $appointmentList = Db::table('appointment')
         $appointmentList = Db::table('appointment')
             ->leftJoin('member','member.member_id' ,'=','appointment.join_appointment_member_id')
             ->leftJoin('member','member.member_id' ,'=','appointment.join_appointment_member_id')
             ->leftJoin('member_cert','member_cert.join_cert_member_id' ,'=','appointment.join_appointment_member_id')
             ->leftJoin('member_cert','member_cert.join_cert_member_id' ,'=','appointment.join_appointment_member_id')
-            ->select('appointment.appointment_id as quota_id', 'appointment.join_appointment_member_id as member_id', 'appointment.appointment_done_json as used_json', 'appointment.appointment_done_datetime as used_time','appointment.join_appointment_member_benefit_id as benefit_id',
+            ->select('appointment.appointment_id as quota_id', 'appointment.join_appointment_member_id as member_id','appointment.appointment_classify as classify', 'appointment.appointment_done_json as used_json', 'appointment.appointment_done_datetime as used_time','appointment.join_appointment_member_benefit_id as benefit_id',
                 'member.member_mobile','member_cert.member_cert_name'
                 'member.member_mobile','member_cert.member_cert_name'
             )
             )
             ->when($keywords != '',function($query) use ($keywords){
             ->when($keywords != '',function($query) use ($keywords){
@@ -36,11 +38,17 @@ class WriteOffController extends Curd
                 $date[1] = date('Y-m-d',strtotime($date[1])). ' 23:59:59';
                 $date[1] = date('Y-m-d',strtotime($date[1])). ' 23:59:59';
                 $query->whereBetween('appointment.appointment_done_datetime',$date);
                 $query->whereBetween('appointment.appointment_done_datetime',$date);
             })
             })
+            ->when($userId != '',function($query) use ($userId){
+                $query->whereJsonContains('appointment.appointment_done_json->charge->charge_user_id',$userId);
+            })
+            ->when($premises != '',function($query) use ($premises){
+                $query->whereJsonContains('appointment.appointment_done_json->charge->charge_premises',$premises);
+            })
             ->where('appointment_status', 'DONE');
             ->where('appointment_status', 'DONE');
         $quotaList = Db::table('member_quota')
         $quotaList = Db::table('member_quota')
             ->leftJoin('member','member.member_id' ,'=','member_quota.join_quota_member_id')
             ->leftJoin('member','member.member_id' ,'=','member_quota.join_quota_member_id')
             ->leftJoin('member_cert','member_cert.join_cert_member_id' ,'=','member_quota.join_quota_member_id')
             ->leftJoin('member_cert','member_cert.join_cert_member_id' ,'=','member_quota.join_quota_member_id')
-            ->select('member_quota.member_quota_id as quota_id', 'member_quota.join_quota_member_id as member_id', 'member_quota.member_quota_used_json as used_json', "member_quota.member_quota_extend_json->writeOffTime as used_time","member_quota.join_member_rule_added_component_id as benefit_id",
+            ->select('member_quota.member_quota_id as quota_id', 'member_quota.join_quota_member_id as member_id','member_quota.member_quota_category as classify', 'member_quota.member_quota_used_json as used_json', "member_quota.member_quota_extend_json->writeOffTime as used_time","member_quota.join_member_rule_added_component_id as benefit_id",
                 'member.member_mobile','member_cert.member_cert_name')
                 'member.member_mobile','member_cert.member_cert_name')
                 
                 
             ->when($keywords != '',function($query) use ($keywords){
             ->when($keywords != '',function($query) use ($keywords){
@@ -50,6 +58,12 @@ class WriteOffController extends Curd
                 $date[1] = date('Y-m-d',strtotime($date[1])). ' 23:59:59';
                 $date[1] = date('Y-m-d',strtotime($date[1])). ' 23:59:59';
                 $query->whereBetween('member_quota.member_quota_extend_json->writeOffTime',$date);
                 $query->whereBetween('member_quota.member_quota_extend_json->writeOffTime',$date);
             })
             })
+            ->when($userId != '',function($query) use ($userId){
+                $query->whereJsonContains('member_quota.member_quota_used_json->charge->charge_user_id',$userId);
+            })
+            ->when($premises != '',function($query) use ($premises){
+                $query->whereJsonContains('member_quota.member_quota_used_json->charge->charge_premises',$premises);
+            })
             ->where('member_quota_status', 'USED')
             ->where('member_quota_status', 'USED')
 //            ->toSql();
 //            ->toSql();
             ->union($appointmentList);
             ->union($appointmentList);
@@ -78,8 +92,12 @@ class WriteOffController extends Curd
                     $benefitName = RuleAddedComponent::where('rule_added_component_id',$item->benefit_i)->value('rule_added_component_name');
                     $benefitName = RuleAddedComponent::where('rule_added_component_id',$item->benefit_i)->value('rule_added_component_name');
                 }
                 }
             }
             }
-
-
+            $classify = "SERVICE";
+            if(substr($item->quota_id,0,2) == "MQ"){
+                $classify = "QUOTA";
+            }elseif(!empty($item->classify) && $item->classify == 'PACKAGE'){
+                $classify = "PACKAGE";
+            }
             $rows[] = [
             $rows[] = [
                 'quota_id' => $item->quota_id,
                 'quota_id' => $item->quota_id,
                 'username' => $username,
                 'username' => $username,
@@ -88,6 +106,7 @@ class WriteOffController extends Curd
                 'used_time'=>$item->used_time,
                 'used_time'=>$item->used_time,
                 'member_name' => $item->member_cert_name ?  $item->member_cert_name.'-' : '',
                 'member_name' => $item->member_cert_name ?  $item->member_cert_name.'-' : '',
                 'member_mobile' => $item->member_mobile ?  $item->member_mobile : '',
                 'member_mobile' => $item->member_mobile ?  $item->member_mobile : '',
+                'classify'=>$classify,
                 'nbr'=>1
                 'nbr'=>1
             ];
             ];
 
 

+ 2 - 1
app/admin/controller/order/WholeController.php

@@ -425,6 +425,7 @@ class WholeController extends Curd
                 return json_fail('产品数据异常');
                 return json_fail('产品数据异常');
             }
             }
             $goods = $goods->toArray();
             $goods = $goods->toArray();
+            $params['goods_classify'] = $goods['goods_classify'];
 
 
             $writeOffDate = [];
             $writeOffDate = [];
             // 服务已完成,生成核销数据
             // 服务已完成,生成核销数据
@@ -644,7 +645,7 @@ class WholeController extends Curd
                 'join_appointment_goods_sku_id' => $params['join_sheet_goods_sku_id'],
                 'join_appointment_goods_sku_id' => $params['join_sheet_goods_sku_id'],
                 'join_appointment_order_id' => $params['orderId'],
                 'join_appointment_order_id' => $params['orderId'],
                 'join_appointment_member_benefit_id' => $params['benefitId'],
                 'join_appointment_member_benefit_id' => $params['benefitId'],
-                'appointment_classify' => 'SERVICE',
+                'appointment_classify' =>  $params['goods_classify'],
                 'appointment_status' => $params['order_status_system'] == 'DONE' ? 'DONE' : 'INIT',
                 'appointment_status' => $params['order_status_system'] == 'DONE' ? 'DONE' : 'INIT',
                 'appointment_category' => 'NORMAL',
                 'appointment_category' => 'NORMAL',
                 'appointment_addtimes' => time(),
                 'appointment_addtimes' => time(),

+ 1 - 1
route/admin.php

@@ -576,7 +576,7 @@ Route::group('/admin', function () {
             \app\middleware\AdminAuthCheck::class
             \app\middleware\AdminAuthCheck::class
         ]);
         ]);
         Route::group('/writeOff',function(){
         Route::group('/writeOff',function(){
-            Route::get('/list',[WriteOffController::class,'list']);
+            Route::get('/list',[\app\admin\controller\member\WriteOffController::class,'list']);
         })->middleware([
         })->middleware([
             \app\middleware\AdminAuthCheck::class
             \app\middleware\AdminAuthCheck::class
         ]);
         ]);