EnergyGasRecord.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace app\common\model;
  3. use app\common\util\AppAuth;
  4. use think\Db;
  5. class EnergyGasRecord extends Base {
  6. public function updates($userId){
  7. $data = request()->post();
  8. $data['org_id'] = cur_org_id();
  9. $result = validate('EnergyGasRecord')->check($data,[],'');
  10. if(true !== $result){
  11. $this->error = validate('EnergyGasRecord')->getError();
  12. return false;
  13. }
  14. $id = $data['id'];
  15. unset($data['id']);
  16. $data['read_yyyy'] = date('Y',strtotime($data['read_time']));
  17. $data['read_yyyymm'] = date('Ym',strtotime($data['read_time']));
  18. $data['read_yyyymmdd'] = date('Ymd',strtotime($data['read_time']));
  19. if($id > 0){
  20. $data['update_time'] = date('Y-m-d H:i:s');
  21. $ret = $this->allowField(true)->save($data,['id'=>$id]);
  22. }else{
  23. $change = Db::name('energy_change_log')
  24. ->where('org_id',$data['org_id'])
  25. ->where('sn',$data['sn'])
  26. ->order('id desc')
  27. ->value('degree');
  28. if ($change){
  29. $data['degree'] = $change + $data['degree'];
  30. }
  31. // 查询昨天录入
  32. $re = $this->where('sn',$data['sn'])
  33. ->order('read_time','desc')
  34. ->where('del',0)
  35. ->limit(1)
  36. ->find();
  37. if ($re){
  38. if (intval($data['degree']) < intval($re['degree'])){
  39. $this->error ='本次抄表度数小于上次录入数据,请检查后重新录入';
  40. return false;
  41. }
  42. }
  43. $data['create_time'] = date('Y-m-d H:i:s');
  44. $warning =model('EnergyElectricityRecord')->warning('energy_gas_record',$data);
  45. $data['user_id'] = $userId;
  46. $ret = $this->allowField(true)->save($data);
  47. }
  48. if(!$ret){
  49. $this->error = '操作失败';
  50. return false;
  51. }
  52. return true;
  53. }
  54. }