فهرست منبع

add - 导入log

liugc 1 سال پیش
والد
کامیت
7e799b7f46

+ 6 - 0
app/adminapi/controller/master_worker/EngineerBillController.php

@@ -19,6 +19,7 @@ namespace app\adminapi\controller\master_worker;
 use app\adminapi\controller\BaseAdminController;
 use app\adminapi\lists\master_worker\EngineerBillLists;
 use app\adminapi\logic\export\ExportLogic;
+use app\adminapi\logic\master_worker\EngineerSettlementLogic;
 use app\common\service\ExcelExportService;
 use excel\ExcelWriter;
 use phpseclib3\Common\Functions\Strings;
@@ -40,6 +41,11 @@ class EngineerBillController extends BaseAdminController
      */
     public function lists()
     {
+        // 导入数据
+        $res = EngineerSettlementLogic::insertSettlementDetails();
+        if($res === false){
+            return $this->fail('导入失败');
+        }
         return $this->dataLists(new EngineerBillLists());
     }
 

+ 23 - 0
app/adminapi/logic/master_worker/EngineerSettlementLogic.php

@@ -307,6 +307,29 @@ class EngineerSettlementLogic extends BaseLogic
         }
 
     }
+    public static function insertSettlementDetails()
+    {
+        $insert_sql = "INSERT INTO la_master_settlement_details (account_log_id, master_worker_id, amount_change, change_time)
+                        SELECT
+                        a.id,
+                        a.worker_id AS master_worker_id,
+                            CASE
+                            WHEN a.change_amount > 0 AND a.action = 1 THEN a.change_amount
+                                WHEN a.change_amount > 0 AND a.action = 2 THEN -a.change_amount
+                                ELSE 0
+                            END AS amount_change,
+                            a.create_time
+                        FROM
+                            `la_master_worker_account_log` a
+                        LEFT JOIN
+                            `la_master_settlement_details` b ON a.id = b.account_log_id
+                        WHERE
+                            a.change_object = 1
+                            AND b.account_log_id IS NULL";
+
+        return Db::execute($insert_sql);
+    }
+
 
 
 }