Przeglądaj źródła

数据精度问题优化

曹鹤洋 1 rok temu
rodzic
commit
3897fe1aeb

+ 12 - 12
application/api/controller/EmployeeDailySalary.php

@@ -120,8 +120,8 @@ class EmployeeDailySalary extends Api
         foreach($arr as $v){
             if(isset($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']])){
                 $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']+=$v['wgjs_js'];
-                $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时工资']=floatval(number_format($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']*9.5,2));
-                $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['日工资合计']=floatval(number_format($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']*9.5,2));
+                $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时工资']=floatval(number_format($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']*9.5,2, '.', ''));
+                $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['日工资合计']=floatval(number_format($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']*9.5,2, '.', ''));
             }else{
                 $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['bh']=$v['wgjs_bh'];
                 $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['员工姓名']=$v['员工姓名'];
@@ -129,8 +129,8 @@ class EmployeeDailySalary extends Api
                 $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计件工资']=0;
                 $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['加班工资']=0;
                 $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']=$v['wgjs_js'];
-                $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时工资']=floatval(number_format($v['wgjs_js']*9.5,2));
-                $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['日工资合计']=floatval(number_format($v['wgjs_js']*9.5,2));
+                $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时工资']=floatval(number_format($v['wgjs_js']*9.5,2, '.', ''));
+                $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['日工资合计']=floatval(number_format($v['wgjs_js']*9.5,2, '.', ''));
             }
         };
         $list1 = [];
@@ -201,8 +201,8 @@ class EmployeeDailySalary extends Api
                 $v['计时时数'] += $list[$k]['计时时数'];
                 unset($list[$k]);
             }
-            $v['计时工资'] = array_key_exists($k,$brr) ? floatval(number_format($v['计时时数']*9.5+$brr[$k],2)) : floatval(number_format($v['计时时数']*9.5,2));
-            $v['日工资合计'] = floatval(number_format($v['计件工资'] + $v['加班工资'] + $v['计时工资'],2));
+            $v['计时工资'] = array_key_exists($k,$brr) ? floatval(number_format($v['计时时数']*9.5+$brr[$k],2, '.', '')) : floatval(number_format($v['计时时数']*9.5,2, '.', ''));
+            $v['日工资合计'] = floatval(number_format($v['计件工资'] + $v['加班工资'] + $v['计时工资'],2, '.', ''));
             
             unset($v['rq_bh']);
         }
@@ -349,8 +349,8 @@ class EmployeeDailySalary extends Api
         foreach($arr as $v){
             if(isset($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']])){
                 $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']+=$v['wgjs_js'];
-                $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时工资']=floatval(number_format($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']*9.5,2));
-                $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['日工资合计']=floatval(number_format($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']*9.5,2));
+                $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时工资']=floatval(number_format($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']*9.5,2, '.', ''));
+                $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['日工资合计']=floatval(number_format($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']*9.5,2, '.', ''));
             }else{
                 $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['bh']=$v['wgjs_bh'];
                 $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['员工姓名']=$v['员工姓名'];
@@ -358,8 +358,8 @@ class EmployeeDailySalary extends Api
                 $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计件工资']=0;
                 $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['加班工资']=0;
                 $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']=$v['wgjs_js'];
-                $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时工资']=floatval(number_format($v['wgjs_js']*9.5,2));
-                $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['日工资合计']=floatval(number_format($v['wgjs_js']*9.5,2));
+                $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时工资']=floatval(number_format($v['wgjs_js']*9.5,2, '.', ''));
+                $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['日工资合计']=floatval(number_format($v['wgjs_js']*9.5,2, '.', ''));
             }
         };
         $list1 = [];
@@ -433,8 +433,8 @@ class EmployeeDailySalary extends Api
                 $v['计时时数'] += $list[$k]['计时时数'];
                 unset($list[$k]);
             }
-            $v['计时工资'] = array_key_exists($k,$brr) ? floatval(number_format($v['计时时数']*9.5+$brr[$k],2)) : floatval(number_format($v['计时时数']*9.5,2));
-            $v['日工资合计'] = floatval(number_format($v['计件工资'] + $v['加班工资'] + $v['计时工资'],2));
+            $v['计时工资'] = array_key_exists($k,$brr) ? floatval(number_format($v['计时时数']*9.5+$brr[$k],2, '.', '')) : floatval(number_format($v['计时时数']*9.5,2, '.', ''));
+            $v['日工资合计'] = floatval(number_format($v['计件工资'] + $v['加班工资'] + $v['计时工资'],2, '.', ''));
             
             unset($v['rq_bh']);
         }

+ 5 - 5
application/api/controller/OvertimeVerification.php

@@ -190,8 +190,8 @@ class OvertimeVerification extends Api
             $v['法定天数'] = round($v['法定天数']);
             $v['当月定额'] = round($v['当月定额']);
             $v['月度合计产量'] = round($v['月度合计产量']);
-            $v['月计时时数'] = floatval(number_format($v['月计时时数'],2));
-            $v['计时补差'] = floatval(number_format($brr[$k],2));
+            $v['月计时时数'] = floatval(number_format($v['月计时时数'],2, '.', ''));
+            $v['计时补差'] = floatval(number_format($brr[$k],2, '.', ''));
             unset($v['rq_bh']);
         }
         $res = array_values($res);
@@ -397,8 +397,8 @@ class OvertimeVerification extends Api
             $v['法定天数'] = round($v['法定天数']);
             $v['当月定额'] = round($v['当月定额']);
             $v['月度合计产量'] = round($v['月度合计产量']);
-            $v['月计时时数'] = floatval(number_format($v['月计时时数'],2));
-            $v['计时补差'] = floatval(number_format($brr[$k],2));
+            $v['月计时时数'] = floatval(number_format($v['月计时时数'],2, '.', ''));
+            $v['计时补差'] = floatval(number_format($brr[$k],2, '.', ''));
             unset($v['rq_bh']);
         }
         $res = array_values($res);
@@ -436,7 +436,7 @@ class OvertimeVerification extends Api
             $v['法定天数'] = round($v['法定天数']);
             $v['当月定额'] = round($v['当月定额']);
             $v['月度合计产量'] = round($v['月度合计产量']);
-            $v['月计时时数'] = floatval(number_format($v['月计时时数'],2));
+            $v['月计时时数'] = floatval(number_format($v['月计时时数'],2, '.', ''));
             $v['计时补差'] = floatval(bcmul($v['月计时时数'], 9.5, 2));
             unset($v['rq_bh']);
         }

+ 25 - 25
application/api/controller/RelatedSalaryAccounting.php

@@ -203,22 +203,22 @@ class RelatedSalaryAccounting extends Api
             $data[$v['关联员工']][$v['日期']]['个人计件工资'] += (float) $v['个人计件工资'];
             $data[$v['关联员工']][$v['日期']]['个人加班工资'] += (float) $v['个人加班工资'];
             
-            $data[$v['关联员工']][$v['日期']]['定额补差'] += array_key_exists($v['bh'].'-'.$v['日期'],$brr) ? floatval(number_format($brr[$v['bh'].'-'.$v['日期']],2)) : 0;
+            $data[$v['关联员工']][$v['日期']]['定额补差'] += array_key_exists($v['bh'].'-'.$v['日期'],$brr) ? floatval(number_format($brr[$v['bh'].'-'.$v['日期']],2, '.', '')) : 0;
             if(array_key_exists($v['bh'].'-'.$v['日期'],$list)){
-                $data[$v['关联员工']][$v['日期']]['计时工资'] += floatval(number_format(($v['异常停机工时'] + $list[$v['bh'].'-'.$v['日期']]['异常停机工时'])*9.5,2));
+                $data[$v['关联员工']][$v['日期']]['计时工资'] += floatval(number_format(($v['异常停机工时'] + $list[$v['bh'].'-'.$v['日期']]['异常停机工时'])*9.5,2, '.', ''));
                 unset($list[$v['bh'].'-'.$v['日期']]);
             }else{
-                $data[$v['关联员工']][$v['日期']]['计时工资'] += floatval(number_format($v['异常停机工时']*9.5,2));
+                $data[$v['关联员工']][$v['日期']]['计时工资'] += floatval(number_format($v['异常停机工时']*9.5,2, '.', ''));
             }
         }
         foreach($list as $v){
             if(array_key_exists($v['关联员工'],$data) && array_key_exists($v['日期'],$data[$v['关联员工']])){
-                $data[$v['关联员工']][$v['日期']]['计时工资'] += floatval(number_format($v['异常停机工时']*9.5,2));
+                $data[$v['关联员工']][$v['日期']]['计时工资'] += floatval(number_format($v['异常停机工时']*9.5,2, '.', ''));
             }else{
                 $data[$v['关联员工']][$v['日期']]['个人计件工资'] = 0;
                 $data[$v['关联员工']][$v['日期']]['个人加班工资'] = 0;
                 $data[$v['关联员工']][$v['日期']]['定额补差'] = 0;
-                $data[$v['关联员工']][$v['日期']]['计时工资'] = floatval(number_format($v['异常停机工时']*9.5,2));
+                $data[$v['关联员工']][$v['日期']]['计时工资'] = floatval(number_format($v['异常停机工时']*9.5,2, '.', ''));
             }
             
         }
@@ -233,16 +233,16 @@ class RelatedSalaryAccounting extends Api
             ->select();
         foreach($res as $k=>&$v){
             if(isset($data[$v['员工编号']][$v['日期']])){
-                $v['关联计件工资'] = floatval(number_format($data[$v['员工编号']][$v['日期']]['个人计件工资']/$v['关联人数']*$v['关联系数'],2));
-                $v['关联加班工资'] = floatval(number_format($data[$v['员工编号']][$v['日期']]['个人加班工资']/$v['关联人数']*$v['关联系数'],2));
-                $v['关联定额补差'] = floatval(number_format($data[$v['员工编号']][$v['日期']]['定额补差']/$v['关联人数']*$v['关联系数'],2));
-                $v['关联计时工资'] = floatval(number_format($data[$v['员工编号']][$v['日期']]['计时工资']/$v['关联人数']*$v['关联系数'],2));
+                $v['关联计件工资'] = floatval(number_format($data[$v['员工编号']][$v['日期']]['个人计件工资']/$v['关联人数']*$v['关联系数'],2, '.', ''));
+                $v['关联加班工资'] = floatval(number_format($data[$v['员工编号']][$v['日期']]['个人加班工资']/$v['关联人数']*$v['关联系数'],2, '.', ''));
+                $v['关联定额补差'] = floatval(number_format($data[$v['员工编号']][$v['日期']]['定额补差']/$v['关联人数']*$v['关联系数'],2, '.', ''));
+                $v['关联计时工资'] = floatval(number_format($data[$v['员工编号']][$v['日期']]['计时工资']/$v['关联人数']*$v['关联系数'],2, '.', ''));
                 $v['关联工资合计'] = floatval(number_format(
                     ($data[$v['员工编号']][$v['日期']]['个人计件工资'] + 
                     $data[$v['员工编号']][$v['日期']]['个人加班工资'] +
                     $data[$v['员工编号']][$v['日期']]['定额补差'] + 
                     $data[$v['员工编号']][$v['日期']]['计时工资']
-                    )/$v['关联人数']*$v['关联系数'],2));
+                    )/$v['关联人数']*$v['关联系数'],2, '.', ''));
             }else{
                 unset($res[$k]);
             }
@@ -381,23 +381,23 @@ class RelatedSalaryAccounting extends Api
             $data[$v['被关联员工']][$v['日期']]['个人加班工资'] = (float) $v['个人加班工资'];
             $data[$v['被关联员工']][$v['日期']]['姓名'] = $v['姓名'];
             
-            $data[$v['被关联员工']][$v['日期']]['定额补差'] = array_key_exists($v['bh'].'-'.$v['日期'],$brr) ? floatval(number_format($brr[$v['bh'].'-'.$v['日期']],2)) : 0;
+            $data[$v['被关联员工']][$v['日期']]['定额补差'] = array_key_exists($v['bh'].'-'.$v['日期'],$brr) ? floatval(number_format($brr[$v['bh'].'-'.$v['日期']],2, '.', '')) : 0;
             if(array_key_exists($v['bh'].'-'.$v['日期'],$list)){
-                $data[$v['被关联员工']][$v['日期']]['计时工资'] = floatval(number_format(($v['异常停机工时'] + $list[$v['bh'].'-'.$v['日期']]['异常停机工时'])*9.5,2));
+                $data[$v['被关联员工']][$v['日期']]['计时工资'] = floatval(number_format(($v['异常停机工时'] + $list[$v['bh'].'-'.$v['日期']]['异常停机工时'])*9.5,2, '.', ''));
                 unset($list[$v['bh'].'-'.$v['日期']]);
             }else{
-                $data[$v['被关联员工']][$v['日期']]['计时工资'] = floatval(number_format($v['异常停机工时']*9.5,2));
+                $data[$v['被关联员工']][$v['日期']]['计时工资'] = floatval(number_format($v['异常停机工时']*9.5,2, '.', ''));
             }
         }
         foreach($list as $v){
             if(array_key_exists($v['bh'],$data) && array_key_exists($v['日期'],$data[$v['bh']])){
-                $data[$v['bh']][$v['日期']]['计时工资'] += floatval(number_format($v['异常停机工时']*9.5,2));
+                $data[$v['bh']][$v['日期']]['计时工资'] += floatval(number_format($v['异常停机工时']*9.5,2, '.', ''));
             }else{
                 $data[$v['bh']][$v['日期']]['姓名'] = $v['姓名'];
                 $data[$v['bh']][$v['日期']]['个人计件工资'] = 0;
                 $data[$v['bh']][$v['日期']]['个人加班工资'] = 0;
                 $data[$v['bh']][$v['日期']]['定额补差'] = 0;
-                $data[$v['bh']][$v['日期']]['计时工资'] = floatval(number_format($v['异常停机工时']*9.5,2));
+                $data[$v['bh']][$v['日期']]['计时工资'] = floatval(number_format($v['异常停机工时']*9.5,2, '.', ''));
             }
         }
         
@@ -606,22 +606,22 @@ class RelatedSalaryAccounting extends Api
             $data[$v['关联员工']][$v['日期']]['个人计件工资'] += (float) $v['个人计件工资'];
             $data[$v['关联员工']][$v['日期']]['个人加班工资'] += (float) $v['个人加班工资'];
             
-            $data[$v['关联员工']][$v['日期']]['定额补差'] += array_key_exists($v['bh'].'-'.$v['日期'],$brr) ? floatval(number_format($brr[$v['bh'].'-'.$v['日期']],2)) : 0;
+            $data[$v['关联员工']][$v['日期']]['定额补差'] += array_key_exists($v['bh'].'-'.$v['日期'],$brr) ? floatval(number_format($brr[$v['bh'].'-'.$v['日期']],2, '.', '')) : 0;
             if(array_key_exists($v['bh'].'-'.$v['日期'],$list)){
-                $data[$v['关联员工']][$v['日期']]['计时工资'] += floatval(number_format(($v['异常停机工时'] + $list[$v['bh'].'-'.$v['日期']]['异常停机工时'])*9.5,2));
+                $data[$v['关联员工']][$v['日期']]['计时工资'] += floatval(number_format(($v['异常停机工时'] + $list[$v['bh'].'-'.$v['日期']]['异常停机工时'])*9.5,2, '.', ''));
                 unset($list[$v['bh'].'-'.$v['日期']]);
             }else{
-                $data[$v['关联员工']][$v['日期']]['计时工资'] += floatval(number_format($v['异常停机工时']*9.5,2));
+                $data[$v['关联员工']][$v['日期']]['计时工资'] += floatval(number_format($v['异常停机工时']*9.5,2, '.', ''));
             }
         }
         foreach($list as $v){
             if(array_key_exists($v['关联员工'],$data) && array_key_exists($v['日期'],$data[$v['关联员工']])){
-                $data[$v['关联员工']][$v['日期']]['计时工资'] += floatval(number_format($v['异常停机工时']*9.5,2));
+                $data[$v['关联员工']][$v['日期']]['计时工资'] += floatval(number_format($v['异常停机工时']*9.5,2, '.', ''));
             }else{
                 $data[$v['关联员工']][$v['日期']]['个人计件工资'] = 0;
                 $data[$v['关联员工']][$v['日期']]['个人加班工资'] = 0;
                 $data[$v['关联员工']][$v['日期']]['定额补差'] = 0;
-                $data[$v['关联员工']][$v['日期']]['计时工资'] = floatval(number_format($v['异常停机工时']*9.5,2));
+                $data[$v['关联员工']][$v['日期']]['计时工资'] = floatval(number_format($v['异常停机工时']*9.5,2, '.', ''));
             }
             
         }
@@ -636,16 +636,16 @@ class RelatedSalaryAccounting extends Api
             ->select();
         foreach($res as $k=>&$v){
             if(isset($data[$v['员工编号']][$v['日期']])){
-                $v['关联计件工资'] = floatval(number_format($data[$v['员工编号']][$v['日期']]['个人计件工资']/$v['关联人数']*$v['关联系数'],2));
-                $v['关联加班工资'] = floatval(number_format($data[$v['员工编号']][$v['日期']]['个人加班工资']/$v['关联人数']*$v['关联系数'],2));
-                $v['关联定额补差'] = floatval(number_format($data[$v['员工编号']][$v['日期']]['定额补差']/$v['关联人数']*$v['关联系数'],2));
-                $v['关联计时工资'] = floatval(number_format($data[$v['员工编号']][$v['日期']]['计时工资']/$v['关联人数']*$v['关联系数'],2));
+                $v['关联计件工资'] = floatval(number_format($data[$v['员工编号']][$v['日期']]['个人计件工资']/$v['关联人数']*$v['关联系数'],2, '.', ''));
+                $v['关联加班工资'] = floatval(number_format($data[$v['员工编号']][$v['日期']]['个人加班工资']/$v['关联人数']*$v['关联系数'],2, '.', ''));
+                $v['关联定额补差'] = floatval(number_format($data[$v['员工编号']][$v['日期']]['定额补差']/$v['关联人数']*$v['关联系数'],2, '.', ''));
+                $v['关联计时工资'] = floatval(number_format($data[$v['员工编号']][$v['日期']]['计时工资']/$v['关联人数']*$v['关联系数'],2, '.', ''));
                 $v['关联工资合计'] = floatval(number_format(
                     ($data[$v['员工编号']][$v['日期']]['个人计件工资'] + 
                     $data[$v['员工编号']][$v['日期']]['个人加班工资'] +
                     $data[$v['员工编号']][$v['日期']]['定额补差'] + 
                     $data[$v['员工编号']][$v['日期']]['计时工资']
-                    )/$v['关联人数']*$v['关联系数'],2));
+                    )/$v['关联人数']*$v['关联系数'],2, '.', ''));
             }else{
                 unset($res[$k]);
             }