changeaudit.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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->jobs = $auditArray['jobs'];
  42. $this->name = $auditArray['name'];
  43. $this->status = $status;
  44. $this->insert();
  45. }
  46. public function getOneChangeAudit($uid,$cid,$times)
  47. {
  48. return $this->getOne(array('where' => 'cid=? and uid=? and times=? and usite!=0', 'desc' => 'usort', 'param' => array($cid,$uid,$times), 'asArray' => TRUE));
  49. }
  50. public function updateChangeAudit($uid,$cid,$times,$status,$desc,$time, $list = '')
  51. {
  52. $oneaudit = $this->getOneChangeAudit($uid,$cid,$times);
  53. $this->id = $oneaudit['id'];
  54. $this->status = $status;
  55. $this->sdesc = $desc;
  56. $this->sintime = $time;
  57. $this->list_json = $list;
  58. $this->update();
  59. }
  60. public function getChangeAuditsbycidtime($cid,$times)
  61. {
  62. return $this->find(array('where' => 'cid=? and times=? and usite!=0', 'groupby' => 'usite', 'asc' => 'usort', 'param' => array($cid,$times), 'asArray' => TRUE));
  63. }
  64. public function getChangeAuditbylastlist($cid,$times)
  65. {
  66. $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';
  67. $query = Doo::db ()->query ( $sql );
  68. $result = $query->fetchAll ();
  69. return $result;
  70. }
  71. public function getChangeAuditsbycid($cid)
  72. {
  73. return $this->find(array('where' => 'cid=?', 'asc' => 'id', 'param' => array($cid), 'asArray' => TRUE));
  74. }
  75. public function getChangeAuditsbycidtimeWithout($cid,$times,$lastuid,$uid){
  76. 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));
  77. }
  78. public function getChangeAuditbycidsitetime($cid,$times,$sort)
  79. {
  80. return $this->getOne(array('where' => 'cid=? and times=? and usite=?', 'desc' => 'usort', 'param' => array($cid,$times,$sort), 'asArray' => TRUE));
  81. }
  82. //默认取最后一个审批人,site取0则取最后一个创建人
  83. public function getChangeAuditLastUser($cid,$site = 1)
  84. {
  85. $sql = $site == 0 ? ' and usite=0' : '';
  86. return $this->getOne(array('where' => 'cid=?'.$sql, 'desc' => 'usort', 'param' => array($cid), 'asArray' => TRUE));
  87. }
  88. public function deleteChangeAuditthisTime($cid,$times)
  89. {
  90. return $this->delete(array('where' => 'cid=? and times=? and usite!=0', 'param' => array($cid,$times)));
  91. }
  92. }
  93. ?>