liugc пре 1 година
родитељ
комит
7805d3385b

+ 5 - 1
app/adminapi/controller/works/ServiceWorkController.php

@@ -202,11 +202,15 @@ class ServiceWorkController extends BaseAdminController
     }
 
 
+    /**
+     * 工单分配给租户
+     * @return \think\response\Json
+     */
     public function distributeTenants()
     {
         $params = request()->post();
         $params['admin_id'] = $this->adminId;
-        $result = ServiceWorkLogic::distributeTenants($params);
+        $result = ServiceWorkLogic::distributeTenants($params,$this->adminInfo);
         if (true === $result) {
             return $this->success('分配成功', [], 1, 1);
         }

+ 7 - 5
app/adminapi/logic/works/ServiceWorkLogic.php

@@ -868,7 +868,7 @@ class ServiceWorkLogic extends BaseLogic
                 MasterWorkerTeam::where('master_worker_id',$work->master_worker_id)->where('tenant_id',$work->tenant_id)->update($updateData);
             }
 
-            
+            $params['master_worker_id'] = $params['master_worker_id']??$work->master_worker_id;
             MasterWorker::setWorktotal('dec',$work->master_worker_id);
             $work->master_worker_id = 0;
             $work->work_status = 0;
@@ -889,9 +889,6 @@ class ServiceWorkLogic extends BaseLogic
             return true;
         }catch(\Exception $e){
             Db::rollback();
-
-            dd($e->getMessage());
-
             self::setError($e->getMessage());
             return false;
         }
@@ -921,7 +918,7 @@ class ServiceWorkLogic extends BaseLogic
         }
     }
 
-    public static function distributeTenants($params)
+    public static function distributeTenants($params,$userInfo)
     {
         Db::startTrans();
         try {
@@ -933,6 +930,11 @@ class ServiceWorkLogic extends BaseLogic
             } else{
                 $ids = [$params['id']];
             }
+
+            // 取消工程师分配
+            foreach ($ids as $id) {
+                self::cancelAllocation(['id'=>$id,'master_worker_id'=>''],$userInfo);
+            }
             ServiceWork::whereIn('id',$ids)->update(['tenant_id'=>$params['tenant_id']]);
             Db::commit();
             return true;