瀏覽代碼

得润宝

cqp 1 天之前
父節點
當前提交
f8ad7303bf
共有 2 個文件被更改,包括 15 次插入6 次删除
  1. 11 4
      app/Console/Commands/U8Settle.php
  2. 4 2
      app/Http/Controllers/Api/DingTalkController.php

+ 11 - 4
app/Console/Commands/U8Settle.php

@@ -2,6 +2,7 @@
 
 namespace App\Console\Commands;
 
+use App\Model\DDEmployee;
 use App\Model\Record;
 use App\Service\U8DatabaseServerService;
 use Illuminate\Console\Command;
@@ -77,11 +78,15 @@ class U8Settle extends Command
             $time1 = date("Y-m-d 00:00:00");
             // 分批同步数据
             Record::where("del_time", 2)
-                ->select("id","type","database","order_number")
+                ->select("id","type","database","order_number","userid")
                 ->orderBy("id","desc")
                 ->chunkById(10, function ($data) use($connections,$time,$time1){
                     $data = $data->toArray();
 
+                    $name = DDEmployee::whereIn('user_id', array_column($data,'userid'))
+                        ->pluck('name','user_id')
+                        ->toArray();
+
                     $id = [];
                     foreach ($data as $record) {
                         $database = $record['database'];
@@ -90,11 +95,13 @@ class U8Settle extends Command
                         $type = $record['type'];
                         $order_number = $record['order_number'];
 
+                        $system_name = "system";
+                        if(! empty($name[$record['userid']])) $system_name = $name[$record['userid']];
                         if($type == 1){
                             $service->db->table("PO_Pomain")
                                 ->where("cPOID", $order_number)
                                 ->update([
-                                    "cVerifier" => "system",
+                                    "cVerifier" => $system_name,
                                     "iverifystateex"   => 1,
                                     "cState" => 1,
                                     "cAuditTime" => $time . ".000",
@@ -104,7 +111,7 @@ class U8Settle extends Command
                             $service->db->table("PU_AppVouch")
                                 ->where("cCode", $order_number)
                                 ->update([
-                                    "cVerifier" => "system",
+                                    "cVerifier" => $system_name,
                                     "cAuditTime" => $time . ".000",
                                     "cAuditDate" => $time1 . ".000",
                                 ]);
@@ -112,7 +119,7 @@ class U8Settle extends Command
                             $service->db->table("AP_ApplyPayVouch")
                                 ->where("cVouchID", $order_number)
                                 ->update([
-                                    "cCheckMan" => "system",
+                                    "cCheckMan" => $system_name,
                                     "dverifysystime" => $time . ".000",
                                     "dverifydate" => $time1 . ".000",
                                 ]);

+ 4 - 2
app/Http/Controllers/Api/DingTalkController.php

@@ -91,9 +91,10 @@ class DingTalkController extends BaseController
                         $processInstanceId = $event['processInstanceId'] ?? null;
                         $result = $event['result'] ?? null;
                         $type   = $event['type'] ?? null;   // start/finish/terminate/delete
+                        $staffId = $event['staffId'] ?? "";
 
                         // 动作导致流程成功 或 流程终止
-                        $this->settleData($type, $result, $processInstanceId);
+                        $this->settleData($type, $result, $processInstanceId, $staffId);
 //                        Log::info('审批实例变更', compact('processInstanceId','result'));
 
 //                        Log::info("最后一个节点审核通过,审批完成", compact('processInstanceId'));
@@ -123,13 +124,14 @@ class DingTalkController extends BaseController
         }
     }
 
-    private function settleData($type, $result, $processInstanceId){
+    private function settleData($type, $result, $processInstanceId, $staffId){
         try {
             $record = Record::where("del_time",0)
                 ->where('process_instance_id', $processInstanceId)
                 ->first();
             if(empty($record)) return;
 
+            $record->userid = $staffId;
             switch ($type) {
 //                case 'start': // 审批实例开始
 //                    $record->del_time = 9; // 自定义标记,待审批