cqp 1 月之前
父节点
当前提交
155cfe9383
共有 4 个文件被更改,包括 88 次插入1 次删除
  1. 25 0
      app/Http/Controllers/Api/EmployeeController.php
  2. 13 0
      app/Model/Company.php
  3. 46 1
      app/Service/EmployeeService.php
  4. 4 0
      routes/api.php

+ 25 - 0
app/Http/Controllers/Api/EmployeeController.php

@@ -230,6 +230,31 @@ class EmployeeController extends BaseController
         }else{
             return $this->json_return(201,$data);
         }
+    }
+
+    public function companySet(Request $request)
+    {
+        $service = new EmployeeService();
+        $user = $request->userData;
+        list($status,$data) = $service->companySet($request->all(),$user);
 
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+    }
+
+    public function companyDetail(Request $request)
+    {
+        $service = new EmployeeService();
+        $user = $request->userData;
+        list($status,$data) = $service->companyDetail($request->all(),$user);
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
     }
 }

+ 13 - 0
app/Model/Company.php

@@ -0,0 +1,13 @@
+<?php
+
+namespace App\Model;
+
+class Company extends DataScopeBaseModel
+{
+    protected $guarded = [];
+    protected $table = "company"; //指定表
+    const CREATED_AT = null;
+    const UPDATED_AT = null;
+    protected $dateFormat = 'U';
+    public static $field = ['*'];
+}

+ 46 - 1
app/Service/EmployeeService.php

@@ -3,6 +3,7 @@
 namespace App\Service;
 
 use App\Model\CalendarDetails;
+use App\Model\Company;
 use App\Model\Depart;
 use App\Model\Employee;
 use App\Model\EmployeeDepartPermission;
@@ -12,13 +13,57 @@ use App\Model\EmployeeWorkRange;
 use App\Model\Role;
 use App\Model\RoleMenu;
 use App\Model\RoleMenuButton;
-use App\Model\SysMenu;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Hash;
 use Mockery\Exception;
 
 class EmployeeService extends Service
 {
+    public function companySet($data, $user)
+    {
+        // 1. 基础校验
+        if (empty($data['title'])) return [false, '公司全称不能为空'];
+        if (empty($data['code'])) return [false, '统一社会信用代码不能为空'];
+
+        // 2. 准备查询条件
+        $attributes = [
+            'top_depart_id' => $user['top_depart_id']
+        ];
+
+        // 3. 准备需要更新或插入的数据
+        $values = [
+            'title'                => $data['title'],
+            'code'                 => $data['code'],
+            'address'              => $data['address'] ?? '',
+            'legal_representative' => $data['legal_representative'] ?? '',
+            'mobile'               => $data['mobile'] ?? '',
+            'e_mail'               => $data['e_mail'] ?? '',
+            'industry'             => $data['industry'] ?? '',
+            'start_time'           => $data['start_time'] ?? '',
+            'money'                => $data['money'] ?? '',
+            'number'               => $data['number'] ?? '',
+            'del_time'             => 0, // 建议重置删除标志,防止在更新已软删除的数据时出错
+        ];
+
+        try {
+            Company::updateOrCreate($attributes, $values);
+        } catch (\Exception $e) {
+            return [false, '保存失败:' . $e->getMessage()];
+        }
+
+        return [true, ''];
+    }
+
+    public function companyDetail($data, $user)
+    {
+        $company = Company::where('del_time',0)
+            ->where('top_depart_id', $user['top_depart_id'])
+            ->first();
+        if(empty($company)) return [true, []];
+
+        return [true, $company->toArray()];
+    }
+
     public function employeeEditOther($data,$user){
         list($status,$msg) = $this->employeeOtherRule($data,$user);
         if(!$status) return [$status,$msg];

+ 4 - 0
routes/api.php

@@ -64,6 +64,10 @@ Route::group(['middleware'=> ['checkLogin']],function ($route){
     $route->any('employeeEditImg', 'Api\EmployeeController@employeeEditImg')->middleware('OssFileDeal');
     $route->any('getEmployeeImg', 'Api\EmployeeController@getEmployeeImg');
 
+    //公司设置
+    $route->any('companySet', 'Api\EmployeeController@companySet');
+    $route->any('companyDetail', 'Api\EmployeeController@companyDetail');
+
     //部门
     $route->any('departAdd', 'Api\EmployeeController@departAdd')->name('depart.add');
     $route->any('departEdit', 'Api\EmployeeController@departEdit')->name('depart.edit');