post(); $data['org_id'] = cur_org_id(); $result = validate('EnergyGasRecord')->check($data,[],''); if(true !== $result){ $this->error = validate('EnergyGasRecord')->getError(); return false; } $id = $data['id']; unset($data['id']); $data['read_yyyy'] = date('Y',strtotime($data['read_time'])); $data['read_yyyymm'] = date('Ym',strtotime($data['read_time'])); $data['read_yyyymmdd'] = date('Ymd',strtotime($data['read_time'])); if($id > 0){ $data['update_time'] = date('Y-m-d H:i:s'); $ret = $this->allowField(true)->save($data,['id'=>$id]); }else{ $change = Db::name('energy_change_log') ->where('org_id',$data['org_id']) ->where('sn',$data['sn']) ->order('id desc') ->value('degree'); if ($change){ $data['degree'] = $change + $data['degree']; } // 查询昨天录入 $re = $this->where('sn',$data['sn']) ->order('read_time','desc') ->where('del',0) ->limit(1) ->find(); if ($re){ if (intval($data['degree']) < intval($re['degree'])){ $this->error ='本次抄表度数小于上次录入数据,请检查后重新录入'; return false; } } $data['create_time'] = date('Y-m-d H:i:s'); $warning =model('EnergyElectricityRecord')->warning('energy_gas_record',$data); $data['user_id'] = $userId; $ret = $this->allowField(true)->save($data); } if(!$ret){ $this->error = '操作失败'; return false; } return true; } }