cqpCow 1 rok pred
rodič
commit
d9914ac918

+ 8 - 2
.idea/workspace.xml

@@ -3,7 +3,13 @@
   <component name="ChangeListManager">
     <list default="true" id="b5852db3-28ab-419d-82cf-b6c0f6b99397" name="变更" comment="">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/app/Service/CheckService.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Service/CheckService.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/Http/Controllers/Api/ProcessController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Api/ProcessController.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/Model/BasicProcess.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Model/BasicProcess.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/Model/Process.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Model/Process.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/Service/EmployeeService.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Service/EmployeeService.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/Service/MeasureService.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Service/MeasureService.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/Service/ProcessService.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Service/ProcessService.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/routes/api.php" beforeDir="false" afterPath="$PROJECT_DIR$/routes/api.php" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -153,7 +159,7 @@
       <workItem from="1685669123669" duration="2439000" />
       <workItem from="1685952381761" duration="726000" />
       <workItem from="1686021203384" duration="14595000" />
-      <workItem from="1686099374239" duration="3270000" />
+      <workItem from="1686099374239" duration="11390000" />
     </task>
     <servers />
   </component>

+ 0 - 42
app/Http/Controllers/Api/ProcessController.php

@@ -9,11 +9,6 @@ use Illuminate\Http\Request;
 
 class ProcessController extends BaseController
 {
-
-
-
-
-
     public function basicProcessList(Request $request)
     {
 
@@ -30,11 +25,6 @@ class ProcessController extends BaseController
 
     }
 
-
-
-
-
-
     public function basicProcessEdit(Request $request)
     {
 
@@ -51,11 +41,6 @@ class ProcessController extends BaseController
 
     }
 
-
-
-
-
-
     public function basicProcessAdd(Request $request)
     {
 
@@ -72,11 +57,6 @@ class ProcessController extends BaseController
 
     }
 
-
-
-
-
-
     public function basicProcessDel(Request $request)
     {
 
@@ -93,7 +73,6 @@ class ProcessController extends BaseController
 
     }
 
-
     public function processList(Request $request)
     {
 
@@ -110,11 +89,6 @@ class ProcessController extends BaseController
 
     }
 
-
-
-
-
-
     public function processEdit(Request $request)
     {
 
@@ -131,11 +105,6 @@ class ProcessController extends BaseController
 
     }
 
-
-
-
-
-
     public function processAdd(Request $request)
     {
 
@@ -152,11 +121,6 @@ class ProcessController extends BaseController
 
     }
 
-
-
-
-
-
     public function processDel(Request $request)
     {
 
@@ -172,10 +136,4 @@ class ProcessController extends BaseController
         }
 
     }
-
-
-
-
-
-
 }

+ 1 - 2
app/Model/BasicProcess.php

@@ -1,9 +1,8 @@
 <?php
 
-namespace App\Models;
+namespace App\Model;
 
 use Illuminate\Database\Eloquent\Model;
-use PhpParser\Builder;
 
 /**
  * 工艺属性

+ 2 - 3
app/Model/Process.php

@@ -1,12 +1,11 @@
 <?php
 
-namespace App\Models;
+namespace App\Model;
 
 use Illuminate\Database\Eloquent\Model;
-use PhpParser\Builder;
 
 /**
- * 工属性
+ * 工属性
  * Class Unit
  * @package App\Models
  */

+ 67 - 31
app/Service/EmployeeService.php

@@ -12,6 +12,7 @@ use App\Model\EmployeeTeamPermission;
 use App\Model\Role;
 use App\Model\SysMenu;
 use App\Model\Team;
+use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Hash;
 
 /**
@@ -229,36 +230,28 @@ class EmployeeService extends Service
 
 
     public function teamEdit($data){
-        list($status,$msg) = $this->teamRule($data);
+        list($status,$msg) = $this->teamRule($data,false);
         if(!$status) return [$status,$msg];
-        $first = Team::where('title',$data['title'])->where('id','<>',$data['id'])->where('del_time',0)->first();
-        if(!empty($first))return [false,'名称已存在!'];
 
         $model = new Team();
         $model = $model->where('id',$data['id'])->first();
-
         $model->title = $data['title'];
-        $model->code = $data['code'] ?? '';
+        $model->code = $data['code'];
         $model->save();
-        return [true,'保存成功!'];
 
+        return [true,'保存成功!'];
     }
 
     public function teamAdd($data,$user){
         list($status,$msg) = $this->teamRule($data);
         if(!$status) return [$status,$msg];
-        $first = Team::where('title',$data['title'])->where('del_time',0)->first();
-        if(!empty($first))return [false,'名称已存在!'];
 
         $model = new Team();
-
         $model->title = $data['title'] ;
-        $model->code = $data['code'] ?? '' ;
-
+        $model->code = $data['code'];
         $model->save();
 
         return [true,'保存成功!'];
-
     }
 
     public function teamDel($data){
@@ -279,8 +272,19 @@ class EmployeeService extends Service
         return [200,$list];
     }
 
-    public function teamRule($data){
+    public function teamRule($data,$is_add = true){
         if($this->isEmpty($data,'title')) return [false,'名称不存在!'];
+        if($this->isEmpty($data,'code')) return [false,'编码不存在'];
+
+        $model = Team::where('title',$data['title'])
+            ->where('code',$data['code'])
+            ->where('del_time',0);
+        if(! $is_add){
+            if($this->isEmpty($data,'id')) return [false,'ID不能为空'];
+            $model->where('id','<>',$data['id']);
+        }
+        $bool = $model->exists();
+        if($bool) return [false,'名称和编码已存在!'];
 
         return [true,''];
     }
@@ -313,35 +317,67 @@ class EmployeeService extends Service
     }
 
     public function employeeDepart($data){
-        $type = $data['type'];
+        if($this->isEmpty($data,'insert')) return [false,'数据不能为空!'];
+
+        DB::beginTransaction();
+        try {
+            if($data['type'] == 1){
+                EmployeeDepartPermission::whereIn('depart_id',$data['insert']['depart_id'])->delete();
+            }else{
+                EmployeeDepartPermission::whereIn('employee_id',$data['insert']['employee_id'])->delete();
+            }
 
-        if($type == 1){
-            EmployeeDepartPermission::where('depart_id',$data['id'])->delete();
-        }else{
-            EmployeeDepartPermission::where('employee_id',$data['id'])->delete();
-        }
+            $insert = [];
+            foreach ($data['insert']['depart_id'] as $t){
+                foreach ($data['insert']['employee_id'] as $e){
+                    $insert[] = [
+                        'depart_id' => $t,
+                        'employee_id' => $e
+                    ];
+                }
+            }
+            EmployeeDepartPermission::insert($insert);
 
-        EmployeeDepartPermission::insert($data['insert']);
+            DB::commit();
+        }catch (\Throwable $exception){
+            DB::rollBack();
+            return [false,$exception->getMessage()];
+        }
 
-        return [200,'保存成功!'];
+        return [true,'保存成功!'];
     }
 
     public function employeeTeam($data){
-        $type = $data['type'];
+        if($this->isEmpty($data,'insert')) return [false,'数据不能为空!'];
+
+        DB::beginTransaction();
+        try {
+            if($data['type'] == 1){
+                EmployeeTeamPermission::whereIn('team_id',$data['insert']['team_id'])->delete();
+            }else{
+                EmployeeTeamPermission::whereIn('employee_id',$data['insert']['employee_id'])->delete();
+            }
 
-        if($type == 1){
-            EmployeeTeamPermission::where('team_id',$data['id'])->delete();
-        }else{
-            EmployeeTeamPermission::where('employee_id',$data['id'])->delete();
-        }
+            $insert = [];
+            foreach ($data['insert']['team_id'] as $t){
+                foreach ($data['insert']['employee_id'] as $e){
+                    $insert[] = [
+                        'team_id' => $t,
+                        'employee_id' => $e
+                    ];
+                }
+            }
+            EmployeeTeamPermission::insert($insert);
 
-        EmployeeTeamPermission::insert($data['insert']);
+            DB::commit();
+        }catch (\Throwable $exception){
+            DB::rollBack();
+            return [false,$exception->getMessage()];
+        }
 
-        return [200,'保存成功!'];
+        return [true,'保存成功!'];
     }
 
-
-
     public function loginRule($data){
         if($this->isEmpty($data,'account')) return [false,'账号不能为空!'];
         if($this->isEmpty($data,'password')) return [false,'密码不存在!'];

+ 0 - 1
app/Service/MeasureService.php

@@ -65,7 +65,6 @@ class MeasureService extends Service
 
     public function rule($data){
         if($this->isEmpty($data,'title')) return [false,'中文名称不存在!'];
-//        if($this->isEmpty($data,'icon')) return [201,'d不存在!'];
         if($this->isEmpty($data,'e_title')) return [false,'英文名称不存在!'];
 
         return [true,''];

+ 45 - 49
app/Service/ProcessService.php

@@ -2,54 +2,32 @@
 
 namespace App\Service;
 
-
-use App\Model\SysMenu;
-use App\Models\BasicProcess;
-use App\Models\Process;
+use App\Model\BasicProcess;
+use App\Model\Process;
 
 /**
- * 工相关
+ * 工相关
  * @package App\Models
  */
 class ProcessService extends Service
 {
-
     public function basicProcessEdit($data){
-        list($status,$msg) = $this->basicProcessRule($data);
+        list($status,$msg) = $this->basicProcessRule($data,false);
         if(!$status) return [$status,$msg];
-        if($this->isEmpty($data,'id')) return [false,'ID不存在'];
-        $first = BasicProcess::where('title',$data['title'])->where('del_time',0)->first();
-        if(!empty($first))return [false,'名称已存在!'];
-
-
-        $model = new BasicProcess();
-        $model = $model->where('id',$data['id'])->first();
-        $model->title = $data['title'];
-        $model->parent_id = $data['parent_id'] ;
-        $model->save();
 
+        $update = $msg['data'][0];
+        BasicProcess::where('id',$data['id'])->update($update);
 
         return [true,'保存成功!'];
-
     }
 
     public function basicProcessAdd($data,$user){
-
-
-//        if($this->isEmpty($data,'title')) return [201,'名称不存在!'];
         list($status,$msg) = $this->basicProcessRule($data);
         if(!$status) return [$status,$msg];
-        $first = BasicProcess::where('title',$data['title'])->where('del_time',0)->first();
-        if(!empty($first))return [false,'名称已存在!'];
-
-        $model = new BasicProcess();
 
-        $model->title = $data['title'];
-        $model->parent_id = $data['parent_id'] ;
-        $model->save();
+        BasicProcess::insert($msg['data']);
 
         return [true,'保存成功!'];
-
     }
 
     public function basicProcessDel($data){
@@ -63,19 +41,48 @@ class ProcessService extends Service
     }
 
     public function basicProcessList($data){
-        $list = BasicProcess::where('del_time',0)->select('title','parent_id','crt_time','upd_time')->get()->toArray();
+        $list = BasicProcess::where('del_time',0)->select('title','parent_id','crt_time','upd_time','id')->get()->toArray();
         $return = $this->makeTree(0,$list);
         $return = $this->set_sort_circle($return);
 
-
         return [200,$return];
     }
 
-    public function basicProcessRule($data){
-        if($this->isEmpty($data,'title')) return [false,'名称不存在!'];
-        if($this->isEmpty($data,'parent_id')) return [false,'父级不存在!'];
-
-        return [true,''];
+    public function basicProcessRule($data,$is_add = true){
+        if($this->isEmpty($data,'data')) return [false,'数据不能为空!'];
+        $title = array_column($data['data'],'title');
+        $title = array_map(function($val) {
+            return $val !== null ? $val : 0;
+        }, $title);
+        $title_count = array_count_values($title);
+        foreach ($title as $value){
+            if(empty($value)) return [false,'名称不能为空!'];
+            if($title_count[$value] > 1) return [false,'名称不能重复'];
+        }
+
+        foreach ($data['data'] as $key => $value){
+            $data['data'][$key]['upd_time'] = time();
+            if($is_add){
+                $bool = BasicProcess::where('title',$value['title'])
+                    ->where('del_time',0)
+                    ->exists();
+                $data['data'][$key]['crt_time'] = time();
+            }else{
+                if($this->isEmpty($data,'id')) return [false,'id不能为空!'];
+                $bool = BasicProcess::where('del_time',0)
+                    ->where('parent_id',$data['id'])
+                    ->exists();
+                if($bool) return [false,'物料分类下存在子集!'];
+
+                $bool = BasicProcess::where('title',$value['title'])
+                    ->where('id','<>',$data['id'])
+                    ->where('del_time',0)
+                    ->exists();
+            }
+            if($bool) return [false,'名称不能重复'];
+        }
+
+        return [true,$data];
     }
 
     public function processEdit($data){
@@ -85,22 +92,16 @@ class ProcessService extends Service
         $first = Process::where('title',$data['title'])->where('id','<>',$data['id'])->where('del_time',0)->first();
         if(!empty($first))return [false,'名称已存在!'];
 
-
         $model = new Process();
         $model = $model->where('id',$data['id'])->first();
         $model->title = $data['title'];
         $model->p_id = $data['p_id'] ;
         $model->save();
 
-
         return [true,'保存成功!'];
-
     }
 
     public function processAdd($data,$user){
-
-
-//        if($this->isEmpty($data,'title')) return [201,'名称不存在!'];
         list($status,$msg) = $this->processRule($data);
         if(!$status) return [$status,$msg];
         $first = Process::where('title',$data['title'])->where('del_time',0)->first();
@@ -113,7 +114,6 @@ class ProcessService extends Service
         $model->save();
 
         return [true,'保存成功!'];
-
     }
 
     public function processDel($data){
@@ -127,10 +127,8 @@ class ProcessService extends Service
     }
 
     public function processList($data){
-        $list = Process::where('del_time',0)->select('title','p_id','crt_time','upd_time');
-//        $return = $this->makeTree(0,$list);
-//        $return = $this->set_sort_circle($return);
-        $list = $this->limit($list,'',$list);
+        $list = Process::where('del_time',0)->select('title','p_id','crt_time','upd_time','id');
+        $list = $this->limit($list,'',$data);
 
         return [200,$list];
     }
@@ -141,6 +139,4 @@ class ProcessService extends Service
 
         return [true,''];
     }
-
-
 }

+ 11 - 3
routes/api.php

@@ -29,7 +29,6 @@ Route::group(['middleware'=> ['checkLogin']],function ($route){
     $route->any('employeeDel', 'Api\EmployeeController@employeeDel');
     $route->any('employeeList', 'Api\EmployeeController@employeeList');
 
-
     $route->any('departAdd', 'Api\EmployeeController@departAdd');
     $route->any('departEdit', 'Api\EmployeeController@departEdit');
     $route->any('departDel', 'Api\EmployeeController@departDel');
@@ -41,8 +40,6 @@ Route::group(['middleware'=> ['checkLogin']],function ($route){
     $route->any('roleDel', 'Api\EmployeeController@roleDel');
     $route->any('roleList', 'Api\EmployeeController@roleList');
 
-
-
     $route->any('teamAdd', 'Api\EmployeeController@teamAdd');
     $route->any('teamEdit', 'Api\EmployeeController@teamEdit');
     $route->any('teamDel', 'Api\EmployeeController@teamDel');
@@ -68,6 +65,17 @@ Route::group(['middleware'=> ['checkLogin']],function ($route){
     $route->any('materialAdd', 'Api\MaterialController@materialAdd');
     $route->any('materialDel', 'Api\MaterialController@materialDel');
 
+    //工序
+    $route->any('basicProcessList', 'Api\ProcessController@basicProcessList');
+    $route->any('basicProcessEdit', 'Api\ProcessController@basicProcessEdit');
+    $route->any('basicProcessAdd', 'Api\ProcessController@basicProcessAdd');
+    $route->any('basicProcessDel', 'Api\ProcessController@basicProcessDel');
+
+    $route->any('processList', 'Api\ProcessController@processList');
+    $route->any('processDetail', 'Api\ProcessController@processDetail');
+    $route->any('processEdit', 'Api\ProcessController@processEdit');
+    $route->any('processAdd', 'Api\ProcessController@processAdd');
+    $route->any('processDel', 'Api\ProcessController@processDel');
 
     $route->any('productList', 'Api\MaterialController@productList');
     $route->any('productEdit', 'Api\MaterialController@edit');