unknown 1 неделя назад
Родитель
Сommit
164c679686
1 измененных файлов с 25 добавлено и 17 удалено
  1. 25 17
      application/api/controller/GluingSalary.php

+ 25 - 17
application/api/controller/GluingSalary.php

@@ -168,7 +168,8 @@ class GluingSalary extends Api
                 'bh as 员工编号',
                 'bh as 员工编号',
                 'DATE_FORMAT(sczl_rq, "%Y.%m.%d") as 日期',
                 'DATE_FORMAT(sczl_rq, "%Y.%m.%d") as 日期',
                 'name as 姓名',
                 'name as 姓名',
-                'sum(salary) as 计件工资'
+                'sum(salary) as 计件工资',
+                'sum(time_salary) as 计时工资',
             ])
             ])
             ->select();
             ->select();
     }
     }
@@ -196,7 +197,8 @@ class GluingSalary extends Api
                 'a.bh as 员工编号',
                 'a.bh as 员工编号',
                 'DATE_FORMAT(a.sczl_rq, "%Y.%m.%d") as 日期',
                 'DATE_FORMAT(a.sczl_rq, "%Y.%m.%d") as 日期',
                 'a.name as 姓名',
                 'a.name as 姓名',
-                'sum(a.salary) as 计件工资'
+                'sum(a.salary) as 计件工资',
+                'sum(a.time_salary) as 计时工资',
             ])
             ])
             ->select();
             ->select();
     }
     }
@@ -210,7 +212,6 @@ class GluingSalary extends Api
 
 
         foreach ($results as $item) {
         foreach ($results as $item) {
             $empNo = $item['员工编号'];
             $empNo = $item['员工编号'];
-            $salary = (float)$item['计件工资'];
 
 
             if (!isset($processedData[$empNo])) {
             if (!isset($processedData[$empNo])) {
                 $processedData[$empNo] = $this->initEmployeeData($item);
                 $processedData[$empNo] = $this->initEmployeeData($item);
@@ -218,8 +219,7 @@ class GluingSalary extends Api
 
 
             $processedData[$empNo] = $this->updateEmployeeData(
             $processedData[$empNo] = $this->updateEmployeeData(
                 $processedData[$empNo],
                 $processedData[$empNo],
-                $item,
-                $salary
+                $item
             );
             );
         }
         }
 
 
@@ -238,6 +238,8 @@ class GluingSalary extends Api
             '员工编号' => $item['员工编号'],
             '员工编号' => $item['员工编号'],
             '姓名' => $item['姓名'],
             '姓名' => $item['姓名'],
             '月工资总和' => 0.00,
             '月工资总和' => 0.00,
+            '月计件工资' => 0.00,
+            '月计时工资' => 0.00,
             '每日明细' => []
             '每日明细' => []
         ];
         ];
     }
     }
@@ -245,15 +247,21 @@ class GluingSalary extends Api
     /**
     /**
      * 更新员工数据
      * 更新员工数据
      */
      */
-    private function updateEmployeeData(array $empData, array $item, float $salary): array
+    private function updateEmployeeData(array $empData, array $item): array
     {
     {
-        // 累加工资总和
-        $empData['月工资总和'] += $salary;
+        $pieceSalary = (float)($item['计件工资'] ?? 0);
+        $timeSalary = (float)($item['计时工资'] ?? 0);
+        $dailyTotal = $pieceSalary + $timeSalary;
+
+        $empData['月工资总和'] += $dailyTotal;
+        $empData['月计件工资'] += $pieceSalary;
+        $empData['月计时工资'] += $timeSalary;
 
 
-        // 添加每日明细
         $empData['每日明细'][] = [
         $empData['每日明细'][] = [
             '日期' => $item['日期'],
             '日期' => $item['日期'],
-            '计件工资' => $item['计件工资']
+            '计件工资' => number_format($pieceSalary, 2, '.', ''),
+            '计时工资' => number_format($timeSalary, 2, '.', ''),
+            '日工资总和' => number_format($dailyTotal, 2, '.', ''),
         ];
         ];
 
 
         return $empData;
         return $empData;
@@ -265,11 +273,11 @@ class GluingSalary extends Api
     private function formatFinalData(array $processedData): array
     private function formatFinalData(array $processedData): array
     {
     {
         foreach ($processedData as &$empData) {
         foreach ($processedData as &$empData) {
-            // 1. 对每日明细排序
             $empData['每日明细'] = $this->sortDailyDetails($empData['每日明细']);
             $empData['每日明细'] = $this->sortDailyDetails($empData['每日明细']);
 
 
-            // 2. 强制格式化月工资总和为两位小数
             $empData['月工资总和'] = number_format($empData['月工资总和'], 2, '.', '');
             $empData['月工资总和'] = number_format($empData['月工资总和'], 2, '.', '');
+            $empData['月计件工资'] = number_format($empData['月计件工资'], 2, '.', '');
+            $empData['月计时工资'] = number_format($empData['月计时工资'], 2, '.', '');
         }
         }
         unset($empData);
         unset($empData);
 
 
@@ -310,17 +318,17 @@ class GluingSalary extends Api
         }
         }
         $list = \db('糊盒工资汇总')
         $list = \db('糊盒工资汇总')
             ->field('sczl_gdbh,sczl_gxmc,DATE_FORMAT(sczl_rq, "%Y.%m.%d") as 日期,sczl_jtbh,cpdh,cpmc,保养工时,装版工时,
             ->field('sczl_gdbh,sczl_gxmc,DATE_FORMAT(sczl_rq, "%Y.%m.%d") as 日期,sczl_jtbh,cpdh,cpmc,保养工时,装版工时,
-            异常工时,设备运行工时,rate as 分配比例,sczl_cl,price')
+            异常工时,设备运行工时,rate as 分配比例,sczl_cl,price as 计件单价,salary as 计件工资,
+            time_salary as 计时工资,time_duration as 计时时长,time_price as 计时单价,remark as 计时备注')
             ->where([
             ->where([
-                'sczl_rq' => ['like',$req['date'].'%'],
+                'sczl_rq' => ['like', $req['date'] . '%'],
                 'bh' => $req['code']
                 'bh' => $req['code']
             ])
             ])
             ->order('sczl_rq')
             ->order('sczl_rq')
             ->select();
             ->select();
-        if(empty($list)){
+        if (empty($list)) {
             $this->error('失败');
             $this->error('失败');
-        }else{
-            $this->success('成功',$list);
         }
         }
+        $this->success('成功', $list);
     }
     }
 }
 }