|
@@ -6,6 +6,7 @@ namespace App\Service;
|
|
|
|
|
|
use App\Model\OperationLog;
|
|
use App\Model\OperationLog;
|
|
use App\Model\OperationLogDetail;
|
|
use App\Model\OperationLogDetail;
|
|
|
|
+use App\Model\SysMenu;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
|
|
class OperationLogService extends Service
|
|
class OperationLogService extends Service
|
|
@@ -44,6 +45,61 @@ class OperationLogService extends Service
|
|
// public function
|
|
// public function
|
|
|
|
|
|
|
|
|
|
|
|
+ public function setOperationList($data,$user,$type=1,$menu_id=18){
|
|
|
|
+ $menu_id = $data['menu_id'];
|
|
|
|
+ $param = isset($data['order_number']) ? ['order_number'=>$data['order_number']]:['id'=>$data['id']];
|
|
|
|
+ $request = request();
|
|
|
|
+ foreach ($param as $k=>$v){
|
|
|
|
+ $request->$k = $v;
|
|
|
|
+ }
|
|
|
|
+ $all = $request->all();
|
|
|
|
+ if(!isset($all['order_number'])) $request->merge($param);
|
|
|
|
+ $detail = $this->oaGetData($menu_id,$request);
|
|
|
|
+
|
|
|
|
+ $bind_data = [
|
|
|
|
+ 'user_id' => $user['id'],
|
|
|
|
+ 'menu_id' => $menu_id,
|
|
|
|
+ 'type' => $type,
|
|
|
|
+ ];
|
|
|
|
+ $bind_data_detail = [];
|
|
|
|
+ //以下是对比逻辑
|
|
|
|
+ foreach ($data as $v){
|
|
|
|
+ foreach ($detail as $vv){
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public function oaGetData($menu_id,$request)
|
|
|
|
+ {
|
|
|
|
+ $api = SysMenu::where('id',$menu_id)->value('api');
|
|
|
|
+ $path = $this->getMenu();
|
|
|
|
+ $control = '\\'.$path[$api]["controller"];
|
|
|
|
+ $act = $path[$api]["act"];
|
|
|
|
+ $new = new $control();
|
|
|
|
+ $detail = $new->$act($request);
|
|
|
|
+// if(!isset($detail['data']['data'][0])) $detail['data']['data'][0] = $detail['data'];
|
|
|
|
+ return $detail['data']['data'][0];
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public function getMenu(){
|
|
|
|
+ $app = App();
|
|
|
|
+ $routes = $app->routes->getRoutes();
|
|
|
|
+ $path = [];
|
|
|
|
+ foreach ($routes as $k => $value) {
|
|
|
|
+ if(!isset($value->action['controller'])) continue;
|
|
|
|
+ $act = explode('@',$value->action['controller']);
|
|
|
|
+ if(!isset($act[1])) continue;
|
|
|
|
+ $path[$value->uri]['act'] = $act[1];
|
|
|
|
+ $path[$value->uri]['controller'] = $act[0];
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return $path;
|
|
|
|
+ }
|
|
|
|
+
|
|
public function insertOperationLog($insert){
|
|
public function insertOperationLog($insert){
|
|
try {
|
|
try {
|
|
DB::beginTransaction();
|
|
DB::beginTransaction();
|