Browse Source

水电气分摊优化

unknown 2 months ago
parent
commit
2f812aa0e3
1 changed files with 19 additions and 11 deletions
  1. 19 11
      application/api/controller/CostAccounting.php

+ 19 - 11
application/api/controller/CostAccounting.php

@@ -600,18 +600,26 @@ class CostAccounting extends Api
             $this->error('参数错误');
         }
         $data = [];
-        foreach ($param as $k => $v) {
+        $currentTime = date('Y-m-d H:i:s');
+
+        foreach ($param as $item) {
+            // 验证必要字段是否存在
+            if (empty($item['sys_ny']) || empty($item['sist']) || empty($item['科目名称'])) {
+                $this->error('缺少必要参数');
+            }
+
+            // 确保数值字段正确处理为 decimal 类型
             $data[] = [
-                'Sys_ny' => $v['sys_ny'],
-                '部门名称' => $v['sist'],
-                '费用类型' => '分摊',
-                '科目名称' => $v['科目名称'],
-                '耗电量' => $v['耗电量']??0,
-                '单位电价' => $v['单位电价'],
-                '耗气量' => $v['耗气量']??0,
-                '单位气价' => $v['单位气价'],
-                'Sys_id' => $v['sys_id'],
-                'Sys_rq' => date('Y-m-d H:i:s', time())
+                'Sys_ny'     => $item['sys_ny'],
+                '部门名称'    => $item['sist'],
+                '费用类型'    => '分摊',
+                '科目名称'    => $item['科目名称'],
+                '耗电量'      => isset($item['耗电量']) ? (float)$item['耗电量'] : 0.00,
+                '单位电价'    => isset($item['单位电价']) ? (float)$item['单位电价'] : 0.00,
+                '耗气量'      => isset($item['耗气量']) ? (float)$item['耗气量'] : 0.00,
+                '单位气价'    => isset($item['单位气价']) ? (float)$item['单位气价'] : 0.00,
+                'Sys_id'     => $item['sys_id'] ?? '',
+                'Sys_rq'     => $currentTime
             ];
         }
         $result = db('成本_各月水电气')->where('Sys_ny', $data[0]['Sys_ny'])->where('费用类型','分摊')->delete();