sign.php 9.9 KB

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