Browse Source

add - 高空作业判断

liugc 10 months ago
parent
commit
4b4f53d27b

+ 6 - 2
app/workerapi/controller/MasterWorkerController.php

@@ -186,12 +186,16 @@ class MasterWorkerController extends BaseApiController
     public function setCredential()
     public function setCredential()
     {
     {
         $params = request()->post();
         $params = request()->post();
-        $result = MasterWorkerRegisterLogic::setCredential($params);
+        $result = MasterWorkerRegisterLogic::setCredential($params,$this->userId);
         if (false === $result) {
         if (false === $result) {
             return $this->fail(MasterWorkerRegisterLogic::getError());
             return $this->fail(MasterWorkerRegisterLogic::getError());
         }
         }
         return $this->success('操作成功', [], 1, 1);
         return $this->success('操作成功', [], 1, 1);
     }
     }
-
+    public function getAltitudeCredential()
+    {
+        $result = MasterWorkerRegisterLogic::credential($this->userId,'高处作业');
+        return $this->success('', ['isAltitude'=>$result?1:0], 1, 1);
+    }
 
 
 }
 }

+ 34 - 12
app/workerapi/logic/MasterWorkerRegisterLogic.php

@@ -109,26 +109,48 @@ class MasterWorkerRegisterLogic extends BaseLogic
     /**
     /**
      * 获取证件
      * 获取证件
      */
      */
-    public static function credential($worker_register_id): array
+    public static function credential($worker_id,$image_name=''): array
     {
     {
-        return MasterWorkerCredentialImages::where('worker_register_id', $worker_register_id)->select()->toArray();
+        $worker_register_id = MasterWorkerRegister::where('worker_id',$worker_id)->value('id');
+        $where[] = ['worker_register_id','=',$worker_register_id];
+        $image_name && $where[] = ['image_name','=',$image_name];
+        return MasterWorkerCredentialImages::where($where)->select()->toArray();
     }
     }
     /**
     /**
      * 修改证件
      * 修改证件
      */
      */
-    public static function setCredential(array $params)
+    public static function setCredential(array $params,int $worker_id)
     {
     {
         Db::startTrans();
         Db::startTrans();
         try {
         try {
-            MasterWorkerCredentialImages::where('id', $params['id'])->update([
-                'worker_register_id' => $params['worker_register_id'],
-                'image' => $params['image'],
-                'image_name' => $params['image_name'],
-                'start_time' => strtotime($params['start_time']??0),
-                'end_time' => strtotime($params['end_time']??0),
-                'audit_state' => 0,
-                'number' => $params['number']??'',
-            ]);
+            $params['worker_register_id'] = MasterWorkerRegister::where('worker_id',$worker_id)->value('id');
+            $isAltitude = $params['isAltitude']??0;
+            $id = $params['id']??0;
+            $params['worker_register_id'] && $where[] = ['worker_register_id','=',$params['worker_register_id']];
+            $id && $where[] = ['id','=',$params['id']];
+            $isAltitude && $where[] = ['image_name','=','高处作业'];
+            $credentialImages = MasterWorkerCredentialImages::where($where)->findOrEmpty();
+            if($credentialImages->isEmpty()){
+                MasterWorkerCredentialImages::create([
+                    'worker_register_id' => $params['worker_register_id'],
+                    'image' => $params['image'],
+                    'image_name' => $isAltitude?'高处作业':($params['image_name']??''),
+                    'start_time' => strtotime($params['start_time']??0),
+                    'end_time' => strtotime($params['end_time']??0),
+                    'audit_state' => 0,
+                    'number' => $params['number']??'',
+                ]);
+            }else{
+                MasterWorkerCredentialImages::where('id', $credentialImages->id)->update([
+                    'worker_register_id' => $params['worker_register_id'],
+                    'image' => $params['image'],
+                    'image_name' => $isAltitude?'高处作业':($params['image_name']??''),
+                    'start_time' => strtotime($params['start_time']??0),
+                    'end_time' => strtotime($params['end_time']??0),
+                    'audit_state' => 0,
+                    'number' => $params['number']??'',
+                ]);
+            }
             Db::commit();
             Db::commit();
             return true;
             return true;
         } catch (\Exception $e) {
         } catch (\Exception $e) {