gogs 1 year ago
parent
commit
f8122b3e3f
2 changed files with 70 additions and 55 deletions
  1. 45 44
      app/Http/Controllers/Api/OaController.php
  2. 25 11
      app/Service/OaService.php

+ 45 - 44
app/Http/Controllers/Api/OaController.php

@@ -10,16 +10,12 @@ use Illuminate\Http\Request;
 class OaController extends BaseController
 {
 
-
-
-
-
     public function oaList(Request $request)
     {
 
-
-        $service = new OaService();
         $userData = $request->userData->toArray();
+        $service = new OaService($userData);
+
         list($status,$data) = $service->oaList($request->all());
 
         if($status){
@@ -34,8 +30,8 @@ class OaController extends BaseController
     {
 
 
-        $service = new OaService();
-        $user = $request->get('auth');
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->oaDetail($request->all());
 
         if($status){
@@ -47,8 +43,8 @@ class OaController extends BaseController
     }
 
     public function oaUserDetail(Request $request){
-        $service = new OaService();
-        $user = $request->get('auth');
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->oaUserDetail($request->all());
 
         if($status){
@@ -59,8 +55,8 @@ class OaController extends BaseController
     }
 
     public function oaParam(Request $request){
-        $service = new OaService();
-        $user = $request->get('auth');
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->oaParam($request->all());
 
         if($status){
@@ -71,8 +67,8 @@ class OaController extends BaseController
     }
 
     public function oaFormula(Request $request){
-        $service = new OaService();
-        $user = $request->get('auth');
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->oaFormula($request->all());
 
         if($status){
@@ -86,8 +82,8 @@ class OaController extends BaseController
     {
 
 
-        $service = new OaService();
-        $user = $request->get('auth');
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->oaAdd($request->all());
 
         if($status){
@@ -102,8 +98,8 @@ class OaController extends BaseController
     {
 
 
-        $service = new OaService();
         $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->oaEdit($request->all(),$userData);
 
         if($status){
@@ -118,8 +114,8 @@ class OaController extends BaseController
     {
 
 
-        $service = new OaService();
-        $user = $request->get('auth');
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->oaDel($request->all());
 
         if($status){
@@ -135,8 +131,8 @@ class OaController extends BaseController
     {
 
 
-        $service = new OaService();
-        $user = $request->get('auth');
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->createOaOrder($request->all());
 
         if($status){
@@ -154,8 +150,8 @@ class OaController extends BaseController
     {
 
 
-        $service = new OaService();
-        $user = $request->userData->toArray();
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->oaOrderDetail($request->all(),$user);
 
         if($status){
@@ -168,8 +164,8 @@ class OaController extends BaseController
     public function oaCheck(Request $request)
     {
 
-        $service = new OaService();
-        $user = $request->userData->toArray();
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->oaCheck($request->all(),$user,$request);
 
         if($status){
@@ -184,8 +180,8 @@ class OaController extends BaseController
     {
 
 
-        $service = new OaService();
-        $user = $request->get('auth');
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->oaSubType($request->all());
 
         if($status){
@@ -198,8 +194,8 @@ class OaController extends BaseController
 
     public function oaGetData(Request $request){
 
-        $service = new OaService();
-        $user = $request->get('auth');
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->oaGetData($request);
 
         if($status){
@@ -213,8 +209,8 @@ class OaController extends BaseController
 
     public function oaOrderState(Request $request){
 
-        $service = new OaService();
-        $user = $request->userData;
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->oaOrderState($request->all(),$user);
 
         if($status){
@@ -229,8 +225,8 @@ class OaController extends BaseController
 
     public function oaOrderList(Request $request){
 
-        $service = new OaService();
-        $user = $request->get('auth');
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->oaOrderList($request);
 
         if($status){
@@ -243,8 +239,8 @@ class OaController extends BaseController
 
     public function checkAllOver(Request $request){
 
-        $service = new OaService();
-        $user = $request->get('auth');
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->checkAllOver($request);
 
         if($status){
@@ -258,8 +254,8 @@ class OaController extends BaseController
 
     public function oaCheckMove(Request $request){
 
-        $service = new OaService();
-        $user = $request->userData;
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->oaCheckMove($request,$user);
 
         if($status){
@@ -272,7 +268,8 @@ class OaController extends BaseController
 
     public function oaSubUserDetail(Request $request){
 
-        $service = new OaService();
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->oaSubUserDetail($request->all());
 
         if($status){
@@ -284,7 +281,8 @@ class OaController extends BaseController
 
     public function oaSubRemark(Request $request){
 
-        $service = new OaService();
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->oaSubRemark($request->all());
 
         if($status){
@@ -296,8 +294,8 @@ class OaController extends BaseController
 
     public function reportList(Request $request){
 
-        $service = new OaService();
         $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->reportList($request->all(),$userData);
 
         if($status){
@@ -308,8 +306,8 @@ class OaController extends BaseController
     }
     public function reportCount(Request $request){
 
-        $service = new OaService();
         $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->reportCount($request->all(),$userData);
 
         if($status){
@@ -320,7 +318,8 @@ class OaController extends BaseController
     }
     public function reportCheck(Request $request){
 
-        $service = new OaService();
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->reportCheck($request->all());
 
         if($status){
@@ -331,7 +330,8 @@ class OaController extends BaseController
     }
     public function reportTime(Request $request){
 
-        $service = new OaService();
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->reportTime($request->all());
 
         if($status){
@@ -344,7 +344,8 @@ class OaController extends BaseController
 
     public function oaGetTeamDetail(Request $request){
 
-        $service = new OaService();
+        $userData = $request->userData->toArray();
+        $service = new OaService($userData);
         list($status,$data) = $service->oaGetTeamDetail($request->all());
 
         if($status){

+ 25 - 11
app/Service/OaService.php

@@ -36,13 +36,20 @@ use Illuminate\Support\Facades\Route;
 class OaService extends Service
 {
 
+    public $user;
+    public function __construct($user = '')
+    {
+        parent::__construct();
+        $this->user = $user;
+    }
     public function oaList($data)
     {
 
         $list = Oa::from('oa as o')
             ->leftjoin('sys_menu as s', 's.id', 'o.menu_id')
             ->select('o.id', 'o.menu_id', 'o.crt_time', 's.title')
-            ->where('o.del_time', 0);
+            ->where('o.del_time', 0)
+            ->where('o.channel', $this->user[0]['depart_id']);
 
         $list = $this->limit($list, '', $data);
 
@@ -56,7 +63,7 @@ class OaService extends Service
     {
 
         $id = $data['id'];
-        $oa = Oa::where('id', $id)->first();
+        $oa = Oa::where('id', $id)->where('channel',$this->user[0]['depart_id'])->first();
         $list = OaSub::where('oa_id', $id)->where('del_time', 0)->get()->toArray();
         $oa_sub_ids = [];
         foreach ($list as $v) {
@@ -189,6 +196,7 @@ class OaService extends Service
             $oa->menu_id = $data['menu_id'];
             $oa->type = $data['type'];
             $oa->title = $data['title'] ?? '';
+            $oa->channel = $this->user[0]['depart_id'];
             $oa->save();
             $id = $oa->id;
             $insert = [];
@@ -223,7 +231,7 @@ class OaService extends Service
     {
 
 
-        $first = Oa::where('del_time', 0)->where('menu_id', $data['menu_id']);
+        $first = Oa::where('del_time', 0)->where('channel',$this->user[0]['depart_id'])->where('menu_id', $data['menu_id']);
         if (isset($data['id'])) $first = $first->where('id', '<>', $data['id']);
         if (isset($data['type'])) $first = $first->where('type', $data['type']);
         $first = $first->first();
@@ -239,6 +247,7 @@ class OaService extends Service
             $oa->crt_employee_id = $user['id'];
             $oa->type = $data['type'] ?? 0;
             $oa->title = $data['title'] ?? '';
+            $oa->channel = $this->user[0]['depart_id'];
             $oa->save();
             $id = $oa->id;
             $insert = [];
@@ -398,6 +407,7 @@ class OaService extends Service
             ->leftJoin('oa_sub as os', 'os.oa_id', 'o.id')
             ->select('os.sort', 'os.type', 'os.sub_id')
             ->where('o.del_time', 0)
+            ->where('o.channel', $this->user[0]['depart_id'])
             ->where('o.menu_id', $menu_id);
         if (!empty($type)) $list = $list->where('os.sort', 1);
         $list = $list->orderBy('os.sort')
@@ -419,6 +429,7 @@ class OaService extends Service
             $order->menu_id = $menu_id;
             $order->order_no = $order_no;
             $order->opt_case = $type;
+            $order->channel = $this->user[0]['depart_id'];
             $order->save();
             $id = $order->id;
 
@@ -462,7 +473,7 @@ class OaService extends Service
         if (!isset($all['order_number'])) $request->merge($param);
 //        $request->merge($param);
         $detail = $this->oaGetData($menu_id, $request);
-        $oa_id = Oa::where('menu_id', $menu_id)->where('del_time', 0)->value('id');
+        $oa_id = Oa::where('menu_id', $menu_id)->where('channel',$this->user[0]['depart_id'])->where('del_time', 0)->value('id');
         $parent_ids = [$parent_id, 0];
 //        var_dump($parent_ids);
         if ($sort > 2) {
@@ -618,6 +629,7 @@ class OaService extends Service
             $report->order_no = $oaOrder->order_no;
             $report->opt_case = $oaOrder->opt_case;
             $report->user_id = $user_id;
+            $report->channel = $this->user[0]['depart_id'];
             $report->save();
             foreach ($oa_sub_report_employee as $v) {
                 $list[] = [
@@ -672,7 +684,7 @@ class OaService extends Service
     {
         $order_no = $data['order_no'];
         $menu_id = $data['menu_id'];
-        $oa = OaOrder::where('order_no', $order_no)->where('menu_id', $menu_id)->first();
+        $oa = OaOrder::where('order_no', $order_no)->where('channel',$this->user[0]['depart_id'])->where('menu_id', $menu_id)->first();
         if (empty($oa)) return [false, '审核不存在'];
         $list = OaOrderSub::where('oa_order_id', $oa->id)->orderBy('sort', 'asc')->select('*')->get()->toArray();
         return [true, $list];
@@ -684,7 +696,7 @@ class OaService extends Service
         $user_id = $user->id;
         $order_no = $data['order_no'];
         $menu_id = $data['menu_id'];
-        $detail = OaOrder::where('order_no', $order_no)->orderBy('id', 'desc')->where('menu_id', $menu_id)->first();
+        $detail = OaOrder::where('order_no', $order_no)->where('channel',$this->user[0]['depart_id'])->orderBy('id', 'desc')->where('menu_id', $menu_id)->first();
         if (empty($detail)) return [false, '审核不存在'];
         if ($detail->state == 2) return [true, ['state' => 0]];
         $oa_detail = OaOrderSubEmployee::where('employee_id', $user_id)->where('oa_order_id', $detail->id)->pluck('oa_order_sub_id')->toArray();
@@ -788,7 +800,7 @@ class OaService extends Service
     public function oaSubRemark($data)
     {
         $order_no = $data['order_no'];
-        $first = OaOrder::where('del_time', 0)->where('order_no', $order_no)->orderBy('id', 'desc')->first();
+        $first = OaOrder::where('del_time', 0)->where('channel',$this->user[0]['depart_id'])->where('order_no', $order_no)->orderBy('id', 'desc')->first();
         if (empty($first)) return [true, []];
         $oa_order_id = $first->id;
         $remark = OaOrderSub::where('oa_order_id', $oa_order_id)->orderBy('sort', 'desc')->value('remark');
@@ -805,7 +817,9 @@ class OaService extends Service
             ->leftJoin('oa_report_order as o','o.id','e.oa_report_order_id')
             ->leftJoin('oa_order as oo','oo.order_no','o.order_no')
             ->leftJoin('employee as ee','ee.id','o.user_id')
-            ->where('e.employee_id',$id)->groupBy('oo.id')->orderBy('oo.id','desc')
+            ->where('e.employee_id',$id)
+            ->where('o.channel',$this->user[0]['depart_id'])
+            ->groupBy('oo.id')->orderBy('oo.id','desc')
             ->select('oo.*','o.id as sid','o.check','o.user_id','ee.emp_name');
         $list = $this->limit($list,'',$data);
 
@@ -816,9 +830,9 @@ class OaService extends Service
 
     public function reportCheck($data){
         $id = $data['sid'];
-        $report = OaReportOrder::wherein('id',$id)->first();
-        $report->check = 1;
-        $report->save();
+        OaReportOrder::wherein('id',$id)->where('channel',$this->user[0]['depart_id'])->update([
+            'check' => 1
+        ]);
         return [true,''];
     }
     public function reportCount($data,$user){