Browse Source

得润宝

cqp 1 day ago
parent
commit
e36c8213f5
4 changed files with 63 additions and 20 deletions
  1. 6 1
      app/Http/Middleware/CheckLogin.php
  2. 3 0
      app/Model/DDEmployee.php
  3. 51 19
      app/Service/U8ServerService.php
  4. 3 0
      routes/api.php

+ 6 - 1
app/Http/Middleware/CheckLogin.php

@@ -2,6 +2,7 @@
 
 namespace App\Http\Middleware;
 
+use App\Model\DDEmployee;
 use App\Model\Depart;
 use App\Model\ProductInventorySet;
 use App\Service\EmployeeService;
@@ -25,7 +26,11 @@ class CheckLogin
         $loginUser = $request->header('Login');
         $loginUser = json_decode($loginUser,true);
         $loginUser['username'] = urldecode($loginUser['username']);
-        if (empty($loginUser) || empty($loginUser['zt']) || empty($loginUser['username'])) return response()->json(['code'=>1,'msg'=>'缺少登录信息','data'=>null]);
+        if (empty($loginUser) || empty($loginUser['zt']) || empty($loginUser['username']) || empty($loginUser['userId'])) return response()->json(['code'=>1,'msg'=>'缺少登录信息','data'=>null]);
+        $user = DDEmployee::where('userid', $loginUser['userId'])->first();
+        if(empty($user)) return response()->json(['code'=>1,'msg'=>'登录信息不存在或错误','data'=>null]);
+        $user = $user->toArray();
+        $loginUser['qx'] = $user['qx'];
         if($loginUser['zt'] == 1){
             $loginUser['zt_database'] = "UFDATA_200_2021";
         }else{

+ 3 - 0
app/Model/DDEmployee.php

@@ -11,4 +11,7 @@ class DDEmployee extends Model
     const CREATED_AT = 'crt_time';
     const UPDATED_AT = 'upd_time';
     protected $dateFormat = 'U';
+
+    const qx_zero = 0;
+    const qx_one = 1;
 }

+ 51 - 19
app/Service/U8ServerService.php

@@ -2,20 +2,7 @@
 
 namespace App\Service;
 
-use App\Jobs\ProcessDataJob;
-use App\Model\Depart;
-use App\Model\Employee;
-use App\Model\EmployeeDepartPermission;
-use App\Model\EmployeeIndex;
-use App\Model\Product;
-use App\Model\Record;
-use App\Model\RevenueCost;
-use App\Model\RevenueCostTotal;
-use App\Model\SalaryEmployee;
-use Illuminate\Database\Schema\Blueprint;
 use Illuminate\Support\Facades\DB;
-use Illuminate\Support\Facades\Log;
-use Illuminate\Support\Facades\Schema;
 
 class U8ServerService extends Service
 {
@@ -47,11 +34,28 @@ class U8ServerService extends Service
     }
 
     public function purchaseRequisition($data, $user){
+        $qx = $user['qx'];
+        $order_date = $data['order_date'];
+        $order_number = $data['order_number'];
+
         $model = $this->databaseService->table('PU_AppVouch as a')
             ->leftJoin('Person as c', 'c.cPersonCode', 'a.cPersonCode')
-            ->where('a.cMaker',$user['username'])
-            ->where('a.iverifystateex',0)
-            ->select('a.cMaker as crt_name', 'c.cPersonName as purchase_name','a.cBusType as business_type','a.cCode as order_number','a.dDate as order_date')
+            ->when(empty($qx), function ($query) use($user){
+                return $query->where('a.cMaker',$user['username']);
+            })
+            ->when(! empty($order_number), function ($query) use($order_number){
+                return $query->where('a.cCode',$order_number);
+            })
+            ->when(! empty($order_date), function ($query) use($order_date){
+                $start = date('Y-m-d H:i:s.000', $order_date['out_order_no_time'][0]);
+                $end = date('Y-m-d H:i:s.000', $order_date['out_order_no_time'][1]);
+                return $query->whereBetween('a.dDate', [$start, $end]);
+            })
+            ->where(function ($query) {
+                $query->where('a.iverifystateex', 0)
+                    ->OrwhereNull('a.iverifystateex');
+            })
+            ->select('a.cMaker as crt_name', DB::raw("COALESCE(c.cPersonName, '') as purchase_name"),'a.cBusType as business_type','a.cCode as order_number',DB::raw("CONVERT(varchar(10), a.dDate, 120) as order_date"))
             ->orderBy('a.ID','desc');
 
         $list = $this->limit($model,'',$data);
@@ -66,7 +70,7 @@ class U8ServerService extends Service
             ->leftJoin('Person as c', 'c.cPersonCode', 'a.cPersonCode')
 //            ->where('a.cMaker',$user['username'])
 //            ->where('a.iverifystateex',0)
-            ->select('a.cMaker as crt_name', 'c.cPersonName as purchase_name','a.cBusType as business_type','a.cCode as order_number','a.dDate as order_date','a.ID as id')
+            ->select('a.cMaker as crt_name', DB::raw("COALESCE(c.cPersonName, '') as purchase_name"),'a.cBusType as business_type','a.cCode as order_number',DB::raw("CONVERT(varchar(10), a.dDate, 120) as order_date"),'a.ID as id')
             ->first();
         if(empty($order)) return [false, '采购请购单不存在'];
         $order = $order->toArray();
@@ -83,9 +87,23 @@ class U8ServerService extends Service
     }
 
     public function purchaseOrder($data, $user){
+        $qx = $user['qx'];
+        $order_date = $data['order_date'];
+        $order_number = $data['order_number'];
+
         $model = $this->databaseService->table('PO_Pomain as a')
             ->leftJoin('Vendor as c', 'c.cVenCode', 'a.cVenCode')
-            ->where('a.cMaker',$user['username'])
+            ->when(empty($qx), function ($query) use($user){
+                return $query->where('a.cMaker',$user['username']);
+            })
+            ->when(! empty($order_number), function ($query) use($order_number){
+                return $query->where('a.cPOID',$order_number);
+            })
+            ->when(! empty($order_date), function ($query) use($order_date){
+                $start = date('Y-m-d H:i:s.000', $order_date['out_order_no_time'][0]);
+                $end = date('Y-m-d H:i:s.000', $order_date['out_order_no_time'][1]);
+                return $query->whereBetween('a.dPODate', [$start, $end]);
+            })
             ->where('a.iverifystateex',0)
             ->select('a.cMaker as crt_name', 'a.cBusType as business_type','a.cPOID as order_number','a.dPODate as order_date','c.cVenName as supplier_title')
             ->orderBy('a.POID','desc');
@@ -119,9 +137,23 @@ class U8ServerService extends Service
     }
 
     public function paymentOrder($data, $user){
+        $qx = $user['qx'];
+        $order_date = $data['order_date'];
+        $order_number = $data['order_number'];
+
         $model = $this->databaseService->table('AP_ApplyPayVouch as a')
             ->leftJoin('Vendor as c', 'c.cVenCode', 'a.cDwCode')
-            ->where('a.cOperator',$user['username'])
+            ->when(empty($qx), function ($query) use($user){
+                return $query->where('a.cOperator',$user['username']);
+            })
+            ->when(! empty($order_number), function ($query) use($order_number){
+                return $query->where('a.cVouchID',$order_number);
+            })
+            ->when(! empty($order_date), function ($query) use($order_date){
+                $start = date('Y-m-d H:i:s.000', $order_date['out_order_no_time'][0]);
+                $end = date('Y-m-d H:i:s.000', $order_date['out_order_no_time'][1]);
+                return $query->whereBetween('a.dVouchDate', [$start, $end]);
+            })
             ->whereNull('a.cCheckMan')
             ->select('a.cOperator as crt_name', 'c.cVenName as supplier_title','a.cVouchID as order_number','a.dVouchDate as order_date')
             ->orderBy('a.PID','desc');

+ 3 - 0
routes/api.php

@@ -87,10 +87,13 @@ Route::group(['middleware'=> ['checkLogin']],function ($route){
     //导出统一方法
     $route->any('exportFile', 'Api\ExportFileController@exportFile');
 
+    //采购请购单
     $route->any('purchaseRequisition', 'Api\U8Controller@purchaseRequisition');
     $route->any('purchaseRequisitionDetail', 'Api\U8Controller@purchaseRequisitionDetail');
+    //采购单
     $route->any('purchaseOrder', 'Api\U8Controller@purchaseOrder');
     $route->any('purchaseOrderDetail', 'Api\U8Controller@purchaseOrderDetail');
+    //付款申请单
     $route->any('paymentOrder', 'Api\U8Controller@paymentOrder');
     $route->any('paymentOrderDetail', 'Api\U8Controller@paymentOrderDetail');