gogs 2 месяцев назад
Родитель
Сommit
b57bf59a9a

+ 6 - 0
app/Service/AuxiliaryAccountService.php

@@ -19,6 +19,7 @@ use App\Model\MonthlyPsOrderDetails;
 use App\Model\MonthlyPwOrderDetails;
 use App\Model\RuleSet;
 use App\Model\RuleSetDetails;
+use Carbon\Carbon;
 use Illuminate\Support\Facades\DB;
 
 class AuxiliaryAccountService extends Service
@@ -353,6 +354,11 @@ class AuxiliaryAccountService extends Service
         return $data;
     }
 
+    private function UtcTime($time){
+        return  Carbon::createFromTimestamp($time, 'UTC')
+            ->toIso8601ZuluString();
+    }
+
 
 
 }

+ 14 - 2
app/Service/ExpenseClaimsService.php

@@ -11,6 +11,7 @@ use App\Model\Item;
 use App\Model\ItemDetails;
 use App\Model\RuleSet;
 use App\Model\RuleSetDetails;
+use Carbon\Carbon;
 use Illuminate\Support\Facades\DB;
 
 class ExpenseClaimsService extends Service
@@ -184,7 +185,7 @@ class ExpenseClaimsService extends Service
         $customer = $customer->toArray();
         $customer['crt_name'] = Employee::where('id',$customer['crt_id'])->value('title');
         $customer['crt_time'] = $customer['crt_time'] ? date("Y-m-d H:i:s",$customer['crt_time']): '';
-
+        $customer['month'] = $this->UtcTime($customer['month']);
         $details = $this->getDetail($data['id']);
         $customer["details"] = $details;
 
@@ -194,11 +195,22 @@ class ExpenseClaimsService extends Service
     private function getDetail($id){
         $data = ExpenseClaimsDetails::where('del_time',0)
             ->where('expense_claims_id', $id)
-            ->select('*',  DB::raw("FROM_UNIXTIME(claim_date, '%Y-%m-%d') as claim_date"))
+            ->select('*')
             ->get()->toArray();
+        foreach ($data as &$v) {
+            // 1. 假设数据库里的 claim_date 是 Unix 时间戳(整数)
+            // 2. createFromTimestamp 第二个参数设为 'UTC' 确保时间轴对齐
+            // 3. toIso8601ZuluString() 会自动生成 T 和 Z 以及 .000 毫秒
+            $v['claim_date'] = $this->UtcTime( $v['claim_date']);
+        }
         return $data;
     }
 
+    private function UtcTime($time){
+        return  Carbon::createFromTimestamp($time, 'UTC')
+            ->toIso8601ZuluString();
+    }
+
 
 
 }

+ 5 - 4
app/Service/StatisticService.php

@@ -5,6 +5,7 @@ namespace App\Service;
 use App\Model\AuxiliaryAccount;
 use App\Model\AuxiliaryAccountDetails;
 use App\Model\CalendarDetails;
+use App\Model\DailyDwOrderDetails;
 use App\Model\DailyPwOrderDetails;
 use App\Model\Device;
 use App\Model\Employee;
@@ -265,7 +266,7 @@ class StatisticService extends Service
         list($status, $month_start, $month_end) = $this->commonRule($data);
         if (!$status) return [false, $month_start];
         //确认所有项目、设备、设备工时
-        $month_device = DailyPwOrderDetails::Clear($user, $data);
+        $month_device = DailyDwOrderDetails::Clear($user, $data);
         $month_device_list = $month_device->where("order_time", ">=", $month_start)->where("order_time", "<", $month_end)
             ->where('del_time', 0)
             ->select(
@@ -292,7 +293,7 @@ class StatisticService extends Service
         foreach ($month_device_salary as $val) {
             $month = $monthly_dd_order_key_list[$val['main_id']] ?? '';
             if ($month) {
-                $depreciatio_map[$val['device_id'] . '_' . $month] = $val['salary'];
+                $depreciatio_map[$val['device_id'] . '_' . $month] = $val['depreciation_amount'];
             }
         }
         // 2. 计算每个员工在每个月的全月总工时
@@ -333,7 +334,7 @@ class StatisticService extends Service
                 $allocated_salary = 0;
             }
             $item_month_list[$device_key]['allocated_depreciatio'] += $allocated_salary;
-            $item_month_list[$device_key]['work_minutes'] += $total_min;
+            $item_month_list[$device_key]['work_minutes'] += $item['total_work'];
             $item_month_list[$device_key]['ratio'] = $ratio;
         }
 
@@ -355,7 +356,7 @@ class StatisticService extends Service
         $device_original_value_key_list = $device->wherein('id', $device_ids)->pluck("original_value", "id")->toArray();
 
         $item_month_list = collect($item_month_list)->transform(function ($item) use ($item_title_key_list, $item_code_key_list,$device_key_list,$device_original_value_key_list) {
-            $item['item_title'] = $item_key_list[$item['item_id']] ?? "未知项目({$item['item_id']})";
+            $item['item_title'] = $item_title_key_list[$item['item_id']] ?? "未知项目({$item['item_id']})";
             $item['item_code'] = $item_code_key_list[$item['item_id']] ?? "未知项目({$item['item_id']})";
             $item['device_title'] = $device_key_list[$item['device_id']] ?? "未知人员({$item['device_id']})";
             $item['device_original'] = $device_original_value_key_list[$item['device_id']] ?? "未知人员({$item['device_id']})";