changeaudit.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. Doo::loadCore('db/DooModel');
  3. /**
  4. * 变更用户申报清单关联表
  5. */
  6. class ChangeAudit extends DooModel {
  7. public $id;
  8. public $pid;
  9. public $stid;
  10. public $pmid;
  11. public $cid;
  12. public $times;
  13. public $usite;
  14. public $usort;
  15. public $uid;
  16. public $company;
  17. public $jobs;
  18. public $name;
  19. public $status;
  20. public $sdesc;
  21. public $sintime;
  22. public $list_json;
  23. public $_table = 'jl_change_audit';
  24. public $_primarykey = 'id';
  25. public $_fields = array('id', 'pid', 'stid', 'pmid', 'cid', 'times', 'usite', 'usort', 'uid', 'company', 'jobs', 'name', 'status', 'sdesc', 'sintime', 'list_json');
  26. public function __construct() {
  27. parent::setupModel(__CLASS__);
  28. }
  29. public function insertChangeAudit($auditArray,$status,$sort,$time = '')
  30. {
  31. $this->pid = $auditArray['pid'];
  32. $this->stid = $auditArray['stid'];
  33. $this->pmid = $auditArray['pmid'];
  34. $this->cid = $auditArray['cid'];
  35. $this->times = !empty($time) ? $time : $auditArray['times'];
  36. $this->usite = $auditArray['usite'];
  37. $this->usort = $sort;
  38. $this->uid = $auditArray['uid'];
  39. $this->company = $auditArray['company'];
  40. $this->jobs = $auditArray['jobs'];
  41. $this->name = $auditArray['name'];
  42. $this->status = $status;
  43. $this->insert();
  44. }
  45. public function getOneChangeAudit($uid,$cid,$times)
  46. {
  47. return $this->getOne(array('where' => 'cid=? and uid=? and times=? and usite!=0', 'desc' => 'usort', 'param' => array($cid,$uid,$times), 'asArray' => TRUE));
  48. }
  49. public function updateChangeAudit($uid,$cid,$times,$status,$desc,$time, $list = '')
  50. {
  51. $oneaudit = $this->getOneChangeAudit($uid,$cid,$times);
  52. $this->id = $oneaudit['id'];
  53. $this->status = $status;
  54. $this->sdesc = $desc;
  55. $this->sintime = $time;
  56. $this->list_json = $list;
  57. $this->update();
  58. }
  59. public function getChangeAuditsbycidtime($cid,$times)
  60. {
  61. return $this->find(array('where' => 'cid=? and times=? and usite!=0', 'groupby' => 'usite', 'asc' => 'usort', 'param' => array($cid,$times), 'asArray' => TRUE));
  62. }
  63. public function getChangeAuditbylastlist($cid,$times)
  64. {
  65. $sql = 'SELECT * FROM (SELECT MAX(usort) as ust FROM `jl_change_audit` WHERE cid='.$cid.' and times='.$times.' and usite!=0 GROUP BY usite ) as b JOIN `jl_change_audit` as a ON a.usort = b.ust WHERE cid='.$cid.' and times='.$times.' and usite!=0 ORDER BY usite';
  66. $query = Doo::db ()->query ( $sql );
  67. $result = $query->fetchAll ();
  68. return $result;
  69. }
  70. public function getChangeAuditsbycid($cid)
  71. {
  72. return $this->find(array('where' => 'cid=?', 'asc' => 'id', 'param' => array($cid), 'asArray' => TRUE));
  73. }
  74. public function getChangeAuditsbycidtimeWithout($cid,$times,$lastuid,$uid){
  75. return $this->find(array('where' => 'cid=? and times=? and usite!=0 and uid not in(?,?) and status="uncheck"', 'asc' => 'usort', 'param' => array($cid,$times,$lastuid,$uid), 'asArray' => TRUE));
  76. }
  77. public function getChangeAuditbycidsitetime($cid,$times,$sort)
  78. {
  79. return $this->getOne(array('where' => 'cid=? and times=? and usite=?', 'desc' => 'usort', 'param' => array($cid,$times,$sort), 'asArray' => TRUE));
  80. }
  81. //默认取最后一个审批人,site取0则取最后一个创建人
  82. public function getChangeAuditLastUser($cid,$site = 1)
  83. {
  84. $sql = $site == 0 ? ' and usite=0' : '';
  85. return $this->getOne(array('where' => 'cid=?'.$sql, 'desc' => 'usort', 'param' => array($cid), 'asArray' => TRUE));
  86. }
  87. public function deleteChangeAuditthisTime($cid,$times)
  88. {
  89. return $this->delete(array('where' => 'cid=? and times=? and usite!=0', 'param' => array($cid,$times)));
  90. }
  91. }
  92. ?>