sign.php 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. <?php
  2. Doo::loadModel('sign');
  3. Doo::loadModel('signatt');
  4. Doo::loadModel('signaudit');
  5. Doo::loadModel('signauditatt');
  6. class Signn
  7. {
  8. private $_sign,$_signatt,$_signaudit,$_signauditatt;
  9. function __construct()
  10. {
  11. $this->_sign = new Sign();
  12. $this->_signatt = new SignAtt();
  13. $this->_signaudit = new SignAudit();
  14. $this->_signauditatt = new SignAuditAtt();
  15. }
  16. public function getNeedSignNumbyUid($uid){
  17. return $this->_signaudit->count(array('where' => 'audituid=? and status="checking"', 'param' => array($uid), 'asArray' => TRUE));
  18. }
  19. public function getMySignNumbyUid($uid,$sql =' 1'){
  20. return $this->_sign->count(array('where' => $sql.' and audituid=?', 'param' => array($uid), 'asArray' => TRUE));
  21. }
  22. public function getUnSignNum($sql,$uid){
  23. return $this->_sign->count(array('where' => $sql.' and status="uncheck" AND (`isinter`=0 OR `isinter`=3) AND (`ownuid`='.$uid.' OR tender IN (SELECT pmid FROM jl_measure_audit WHERE auditoruid='.$uid.' GROUP BY auditoruid) OR project IN (SELECT pid FROM jl_project_measure WHERE uid='.$uid.'))', 'asArray' => TRUE));
  24. }
  25. public function getDoingSignNumbyUid($uid, $sql = ' 1'){
  26. return $this->_sign->count(array('where' => $sql.' and status="checking" and sid in(select `jl_sign_audit`.sid from `jl_sign_audit` where `jl_sign_audit`.audituid=?)', 'param' => array($uid), 'asArray' => TRUE));
  27. }
  28. public function getDoneSignNumbyUid($uid, $sql = ' 1'){
  29. return $this->_sign->count(array('where' => $sql.' and status="checked" and sid in(select `jl_sign_audit`.sid from `jl_sign_audit` where `jl_sign_audit`.audituid=?)', 'param' => array($uid), 'asArray' => TRUE));
  30. }
  31. // public function getSignNum($sql,$uid){
  32. // return $this->_sign->count(array('where' => $sql.' and (`ownuid`='.$uid.' OR `audituid`='.$uid.' OR sid IN (SELECT sid FROM jl_sign_audit WHERE jl_sign_audit.audituid='.$uid.'))','asArray' => TRUE));
  33. // }
  34. public function getSignNum($sql){
  35. return $this->_sign->count(array('where' => $sql,'asArray' => TRUE));
  36. }
  37. public function getNeedSignbyUid($uid){
  38. return $this->_signaudit->find(array('where' => 'audituid=? and status="checking"', 'param' => array($uid), 'desc' => 'satid', 'asArray' => TRUE));
  39. }
  40. public function getOneSignbysid($sid){
  41. return $this->_sign->getOne(array('where' => 'sid=?', 'param' => array($sid), 'asArray' => TRUE));
  42. }
  43. public function getSignAuditList($sid){
  44. return $this->_signaudit->find(array('where' => 'sid=?', 'param' => array($sid), 'asArray' => TRUE));
  45. }
  46. public function getisSignbySidUid($sid,$uid){
  47. return $this->_signaudit->getOne(array('where' => 'sid=? and audituid=? and status="checking"', 'param' => array($sid,$uid), 'asArray' => TRUE));
  48. }
  49. public function getSignAttList($sid){
  50. return $this->_signatt->find(array('where' => 'sid=?', 'param' => array($sid), 'asArray' => TRUE));
  51. }
  52. public function getSignAuditAttList($said){
  53. return $this->_signauditatt->find(array('where' => 'said=?', 'param' => array($said), 'asArray' => TRUE));
  54. }
  55. public function getOneSignAudit($sid,$uid){
  56. return $this->_signaudit->getOne(array('where' => 'sid=? and audituid=?', 'param' => array($sid,$uid), 'asArray' => TRUE));
  57. }
  58. public function updateSignAudit($satid,$status){
  59. $this->_signaudit->satid = $satid;
  60. $this->_signaudit->status = $status;
  61. if($status == 'checked'){
  62. $this->_signaudit->intime = time();
  63. }
  64. return $this->_signaudit->update();
  65. }
  66. public function insertSignAuditAtt($uid,$said,$path,$position){
  67. $this->_signauditatt->audituid = filter_var($uid, FILTER_VALIDATE_INT);
  68. $this->_signauditatt->said = filter_var($said, FILTER_VALIDATE_INT);
  69. $this->_signauditatt->picpath = filter_var($path, FILTER_SANITIZE_STRING);
  70. $this->_signauditatt->position = filter_var($position, FILTER_SANITIZE_STRING);
  71. return $this->_signauditatt->insert();
  72. }
  73. public function updateSignStatus($sid){
  74. $this->_sign->sid = $sid;
  75. $this->_sign->status = 'checked';
  76. $this->_sign->sintime = time();
  77. return $this->_sign->update();
  78. }
  79. public function updateSignMsg($sid,$uid){
  80. $this->_sign->sid = $sid;
  81. $this->_sign->status = 'checking';
  82. $this->_sign->audituid = $uid;
  83. $this->_sign->aintime = time();
  84. return $this->_sign->update();
  85. }
  86. public function getDoneSignListbyUid($uid, $sql = ' 1', $limit){
  87. return $this->_sign->find(array('where' => $sql.' and status="checked" and sid in(select `jl_sign_audit`.sid from `jl_sign_audit` where `jl_sign_audit`.audituid=?)', 'param' => array($uid), 'desc' => 'sid', 'limit' => $limit, 'asArray' => TRUE));
  88. }
  89. public function getDoingSignListbyUid($uid,$sql = ' 1', $limit){
  90. return $this->_sign->find(array('where' => $sql.' and status="checking" and sid in(select `jl_sign_audit`.sid from `jl_sign_audit` where `jl_sign_audit`.audituid=?)', 'param' => array($uid), 'desc' => 'sid', 'limit' => $limit, 'asArray' => TRUE));
  91. }
  92. public function getMySignListbyUid($uid,$sql = ' 1',$limit){
  93. return $this->_sign->find(array('where' => $sql.' and audituid=?', 'param' => array($uid), 'desc' => 'sid', 'limit' => $limit, 'asArray' => TRUE));
  94. }
  95. public function updateSignShareStatus($status,$sid){
  96. $this->_sign->sid = $sid;
  97. $this->_sign->ishare = $status;
  98. return $this->_sign->update();
  99. }
  100. public function getUnSignList($sql, $uid, $limit){
  101. return $this->_sign->find(array('where' => $sql.' and status="uncheck" AND (`isinter`=0 OR `isinter`=3) AND (`ownuid`='.$uid.' OR tender IN (SELECT pmid FROM jl_measure_audit WHERE auditoruid='.$uid.' GROUP BY auditoruid) OR project IN (SELECT pid FROM jl_project_measure WHERE uid='.$uid.'))', 'desc' => 'sid', 'limit' => $limit, 'asArray' => TRUE));
  102. }
  103. public function getSignList($sql, $limit){
  104. return $this->_sign->find(array('where' => $sql, 'desc' => 'sid', 'limit' => $limit, 'asArray' => TRUE));
  105. }
  106. public function insertSign($pid, $tid, $phaseno, $name, $ownuid,$intime,$widhei,$isinter = 0, $internum = 0){
  107. $this->_sign->project = $pid;
  108. $this->_sign->tender = $tid;
  109. $this->_sign->phaseno = $phaseno;
  110. $this->_sign->name = $name;
  111. $this->_sign->ownuid = $ownuid;
  112. $this->_sign->intime = $intime;
  113. $this->_sign->widhei = $widhei;
  114. $this->_sign->isinter = $isinter;
  115. $this->_sign->internum = $internum;
  116. return $this->_sign->insert();
  117. }
  118. public function insertSignAtt($sid, $num, $path){
  119. $this->_signatt->sid = $sid;
  120. $this->_signatt->curnum = $num;
  121. $this->_signatt->filepath = $path;
  122. return $this->_signatt->insert();
  123. }
  124. public function updateSignPageNum($sid, $pagenum){
  125. $this->_sign->sid = $sid;
  126. $this->_sign->pagenum = $pagenum;
  127. return $this->_sign->update();
  128. }
  129. public function insertSignAudit($sid,$status,$uid,$name){
  130. $this->_signaudit->sid = $sid;
  131. $this->_signaudit->status = $status;
  132. $this->_signaudit->audituid = $uid;
  133. $this->_signaudit->aname = $name;
  134. return $this->_signaudit->insert();
  135. }
  136. public function getSignListbyClient($sql){
  137. return $this->_sign->find(array('where' => $sql, 'asArray' => TRUE));
  138. }
  139. public function getSignbyName($tender,$phaseno,$name){
  140. return $this->_sign->getOne(array('where' => 'tender=? and phaseno=? and name=?', 'param' => array($tender,$phaseno,$name), 'asArray' => TRUE));
  141. }
  142. public function getSignGroupByProject($sql = '1'){
  143. return $this->_sign->find(array('select' => 'project', 'where' => $sql, 'groupby' => 'project', 'asArray' => TRUE));
  144. }
  145. public function getSignGroupByTender($pid,$sql = ' 1'){
  146. return $this->_sign->find(array('select' => 'tender', 'where' => $sql.' and project=?', 'param' => array($pid), 'groupby' => 'tender', 'asArray' => TRUE));
  147. }
  148. public function getSignGroupByPhaseno($pmid,$sql = ' 1'){
  149. return $this->_sign->find(array('select' => 'phaseno', 'where' => $sql.' and tender=?', 'param' => array($pmid), 'groupby' => 'phaseno', 'asArray' => TRUE));
  150. }
  151. public function delSignbysid($sid,$status){
  152. if($status == 'checking'){
  153. $this->_signaudit->sid = $sid;
  154. $this->_signaudit->delete();
  155. $attlist = $this->getSignAttList($sid);
  156. foreach ($attlist as $key => $value) {
  157. $this->_signauditatt->said = $value['said'];
  158. $this->_signauditatt->delete();
  159. }
  160. }
  161. $this->_sign->sid = $sid;
  162. $this->_sign->delete();
  163. $this->_signatt->sid = $sid;
  164. $this->_signatt->delete();
  165. }
  166. public function updateInterMediateStatus($sid,$status){
  167. $this->_sign->sid= $sid;
  168. $this->_sign->isinter = $status;
  169. return $this->_sign->update();
  170. }
  171. public function getOneSignAtt($sid,$num){
  172. return $this->_signatt->getOne(array('where' => 'sid=? and curnum=?', 'param' => array($sid,$num), 'asArray' => TRUE));
  173. }
  174. public function updateSignAtt($sid,$curnum,$path){
  175. $signattmsg = $this->_signatt->getOne(array('where' => 'sid=? and curnum=?', 'param' => array($sid,$curnum), 'asArray' => TRUE));
  176. if(!empty($signattmsg)){
  177. $this->_signatt->said = $signattmsg['said'];
  178. $this->_signatt->filepath = $path;
  179. return $this->_signatt->update();
  180. }else{
  181. return false;
  182. }
  183. }
  184. }