123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263 |
- <?php
- Doo::loadModel('sign');
- Doo::loadModel('signatt');
- Doo::loadModel('signaudit');
- Doo::loadModel('signauditatt');
- class Signn
- {
- private $_sign,$_signatt,$_signaudit,$_signauditatt;
- function __construct()
- {
- $this->_sign = new Sign();
- $this->_signatt = new SignAtt();
- $this->_signaudit = new SignAudit();
- $this->_signauditatt = new SignAuditAtt();
- }
- public function getNeedSignNumbyUid($uid){
- return $this->_signaudit->count(array('where' => 'audituid=? and status="checking"', 'param' => array($uid), 'asArray' => TRUE));
- }
- public function getMySignNumbyUid($uid,$sql =' 1'){
- return $this->_sign->count(array('where' => $sql.' and audituid=?', 'param' => array($uid), 'asArray' => TRUE));
- }
- public function getUnSignNum($sql,$uid){
- 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));
- }
- public function getDoingSignNumbyUid($uid, $sql = ' 1'){
- 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));
- }
- public function getDoneSignNumbyUid($uid, $sql = ' 1'){
- 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));
- }
- // public function getSignNum($sql,$uid){
- // 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));
- // }
- public function getSignNum($sql){
- return $this->_sign->count(array('where' => $sql,'asArray' => TRUE));
- }
- public function getNeedSignbyUid($uid){
- return $this->_signaudit->find(array('where' => 'audituid=? and status="checking"', 'param' => array($uid), 'desc' => 'satid', 'asArray' => TRUE));
- }
- public function getOneSignbysid($sid){
- return $this->_sign->getOne(array('where' => 'sid=?', 'param' => array($sid), 'asArray' => TRUE));
- }
- public function getSignAuditList($sid){
- return $this->_signaudit->find(array('where' => 'sid=?', 'param' => array($sid), 'asArray' => TRUE));
- }
- public function getisSignbySidUid($sid,$uid){
- return $this->_signaudit->getOne(array('where' => 'sid=? and audituid=? and status="checking"', 'param' => array($sid,$uid), 'asArray' => TRUE));
- }
- public function getSignAttList($sid){
- return $this->_signatt->find(array('where' => 'sid=?', 'param' => array($sid), 'asArray' => TRUE));
- }
- public function getSignAuditAttList($said){
- return $this->_signauditatt->find(array('where' => 'said=?', 'param' => array($said), 'asArray' => TRUE));
- }
- public function getOneSignAudit($sid,$uid){
- return $this->_signaudit->getOne(array('where' => 'sid=? and audituid=?', 'param' => array($sid,$uid), 'asArray' => TRUE));
- }
- public function updateSignAudit($satid,$status,$time = 0){
- $this->_signaudit->satid = $satid;
- $this->_signaudit->status = $status;
- if($status == 'checked'){
- $this->_signaudit->intime = time();
- }else{
- $this->_signaudit->intime = $time;
- }
- return $this->_signaudit->update();
- }
- public function insertSignAuditAtt($uid,$said,$path,$position){
- $this->_signauditatt->audituid = filter_var($uid, FILTER_VALIDATE_INT);
- $this->_signauditatt->said = filter_var($said, FILTER_VALIDATE_INT);
- $this->_signauditatt->picpath = filter_var($path, FILTER_SANITIZE_STRING);
- $this->_signauditatt->position = filter_var($position, FILTER_SANITIZE_STRING);
- return $this->_signauditatt->insert();
- }
- public function updateSignStatus($sid){
- $this->_sign->sid = $sid;
- $this->_sign->status = 'checked';
- $this->_sign->sintime = time();
- return $this->_sign->update();
- }
- public function updateSignMsg($sid,$uid){
- $this->_sign->sid = $sid;
- $this->_sign->status = 'checking';
- $this->_sign->audituid = $uid;
- $this->_sign->aintime = time();
- return $this->_sign->update();
- }
- public function getDoneSignListbyUid($uid, $sql = ' 1', $limit){
- 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));
- }
- public function getDoingSignListbyUid($uid,$sql = ' 1', $limit){
- 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));
- }
- public function getMySignListbyUid($uid,$sql = ' 1',$limit){
- return $this->_sign->find(array('where' => $sql.' and audituid=?', 'param' => array($uid), 'desc' => 'sid', 'limit' => $limit, 'asArray' => TRUE));
- }
- public function updateSignShareStatus($status,$sid){
- $this->_sign->sid = $sid;
- $this->_sign->ishare = $status;
- return $this->_sign->update();
- }
- public function getUnSignList($sql, $uid, $limit){
- 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));
- }
- public function getSignList($sql, $limit){
- return $this->_sign->find(array('where' => $sql, 'desc' => 'sid', 'limit' => $limit, 'asArray' => TRUE));
- }
- public function insertSign($pid, $tid, $phaseno, $name, $ownuid,$intime,$widhei,$isinter = 0, $internum = 0){
- $this->_sign->project = $pid;
- $this->_sign->tender = $tid;
- $this->_sign->phaseno = $phaseno;
- $this->_sign->name = $name;
- $this->_sign->ownuid = $ownuid;
- $this->_sign->intime = $intime;
- $this->_sign->widhei = $widhei;
- $this->_sign->isinter = $isinter;
- $this->_sign->internum = $internum;
- return $this->_sign->insert();
- }
- public function insertSignAtt($sid, $num, $path){
- $this->_signatt->sid = $sid;
- $this->_signatt->curnum = $num;
- $this->_signatt->filepath = $path;
- return $this->_signatt->insert();
- }
- public function updateSignPageNum($sid, $pagenum){
- $this->_sign->sid = $sid;
- $this->_sign->pagenum = $pagenum;
- return $this->_sign->update();
- }
- public function insertSignAudit($sid,$status,$uid,$name){
- $this->_signaudit->sid = $sid;
- $this->_signaudit->status = $status;
- $this->_signaudit->audituid = $uid;
- $this->_signaudit->aname = $name;
- return $this->_signaudit->insert();
- }
- public function getSignListbyClient($sql){
- return $this->_sign->find(array('where' => $sql, 'asArray' => TRUE));
- }
- public function getSignbyName($tender,$phaseno,$name){
- return $this->_sign->getOne(array('where' => 'tender=? and phaseno=? and name=?', 'param' => array($tender,$phaseno,$name), 'asArray' => TRUE));
- }
- public function getSignGroupByProject($sql = '1'){
- return $this->_sign->find(array('select' => 'project', 'where' => $sql, 'groupby' => 'project', 'asArray' => TRUE));
- }
- public function getSignGroupByTender($pid,$sql = ' 1'){
- return $this->_sign->find(array('select' => 'tender', 'where' => $sql.' and project=?', 'param' => array($pid), 'groupby' => 'tender', 'asArray' => TRUE));
- }
- public function getSignGroupByPhaseno($pmid,$sql = ' 1'){
- return $this->_sign->find(array('select' => 'phaseno', 'where' => $sql.' and tender=?', 'param' => array($pmid), 'groupby' => 'phaseno', 'asArray' => TRUE));
- }
- public function delSignbysid($sid,$status){
- if($status == 'checking' || $status == 'checked'){
- $this->_signaudit->sid = $sid;
- $this->_signaudit->delete();
- $attlist = $this->getSignAttList($sid);
- if(!empty($attlist)){
- foreach ($attlist as $key => $value) {
- $this->_signauditatt->said = $value['said'];
- $this->_signauditatt->delete();
- }
- }
- }
- $this->_sign->sid = $sid;
- $this->_sign->delete();
- $this->_signatt->sid = $sid;
- $this->_signatt->delete();
- }
- public function updateInterMediateStatus($sid,$status){
- $this->_sign->sid= $sid;
- $this->_sign->isinter = $status;
- return $this->_sign->update();
- }
- public function getOneSignAtt($sid,$num){
- return $this->_signatt->getOne(array('where' => 'sid=? and curnum=?', 'param' => array($sid,$num), 'asArray' => TRUE));
- }
- public function updateSignAtt($sid,$curnum,$path){
- $signattmsg = $this->_signatt->getOne(array('where' => 'sid=? and curnum=?', 'param' => array($sid,$curnum), 'asArray' => TRUE));
- if(!empty($signattmsg)){
- $this->_signatt->said = $signattmsg['said'];
- $this->_signatt->filepath = $path;
- return $this->_signatt->update();
- }else{
- return false;
- }
- }
- public function updateSignStatusAndTime($sid,$status,$time = ''){
- $this->_sign->sid = $sid;
- $this->_sign->status = $status;
- $this->_sign->sintime = $time;
- return $this->_sign->update();
- }
- public function updateSignStatusbyPmid($pmid){
- // $this->_sign->tender = $pmid;
- $this->_sign->status = 'del';
- return $this->_sign->update(array('where' => 'tender=?', 'param' => array($pmid)));
- }
- public function delSignbyTenderAndPhaseno($tender,$phaseno = ''){
- $phasenolist = !empty($phaseno) && is_numeric($phaseno) ? ' and phaseno='. $phaseno : '';
- $signlist = $this->_sign->find(array('where' => 'tender=?'.$phasenolist, 'param' => array($tender), 'asArray' => TRUE));
- if(!empty($signlist)){
- include (DOO::conf()->SITE_PATH . 'protected/plugin/io.han.php');
- foreach($signlist as $k => $v){
- $this->delSignbysid($v['sid'],'checking');
- $this->IoHandler = new IoHandler();
- $path = DOO::conf()->SITE_PATH."signs/".$v['sid'];
- $this->IoHandler->RemoveDir($path);
- }
- }
- }
- }
|