|  | @@ -124,7 +124,7 @@ class SignController extends DooController
 | 
	
		
			
				|  |  |                                  $needlist[$k]['tlist'][$tk]['plist'][$pk]['phaseno'] = $pv['phaseno'];
 | 
	
		
			
				|  |  |                                  $needlist[$k]['tlist'][$tk]['plist'][$pk]['signlist'] = array();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                                $signlist = $this->sign->getSignList($searchsql.' and status="checking" and tender='.$tv['tender'].' and phaseno='.$pv['phaseno'], '0,1000');
 | 
	
		
			
				|  |  | +                                $signlist = $this->sign->getSignList($searchsql.' and (status="checking" or status="back") and tender='.$tv['tender'].' and phaseno='.$pv['phaseno'], '0,1000');
 | 
	
		
			
				|  |  |                                  if(!empty($signlist)) {
 | 
	
		
			
				|  |  |                                      foreach ($signlist as $sk => $sv) {
 | 
	
		
			
				|  |  |                                          $needlist[$k]['tlist'][$tk]['plist'][$pk]['signlist'][$sk]['sid'] = $sv['sid'];
 | 
	
	
		
			
				|  | @@ -151,6 +151,73 @@ class SignController extends DooController
 | 
	
		
			
				|  |  |              exit('不是当前签署人无法访问本页');
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        if(isset($_POST['status'])){
 | 
	
		
			
				|  |  | +            //终止签署
 | 
	
		
			
				|  |  | +            if($_POST['status'] == 'stop'){
 | 
	
		
			
				|  |  | +                $result = $this->sign->updateSignStatusAndTime($this->params['sid'],'stop',time());
 | 
	
		
			
				|  |  | +                $signAudit = $this->sign->getOneSignAudit($this->params['sid'],$this->auth->getUid());
 | 
	
		
			
				|  |  | +                $result2 = $this->sign->updateSignAudit($signAudit['satid'],'stop',time());
 | 
	
		
			
				|  |  | +                if($result && $result2){
 | 
	
		
			
				|  |  | +                    // SMS Start
 | 
	
		
			
				|  |  | +                    $signArray = $this->sign->getOneSignbysid($this->params['sid']);
 | 
	
		
			
				|  |  | +                    $pmname = $this->actmeasure->getRowByPmid($signArray['tender']);
 | 
	
		
			
				|  |  | +                    $userProArray = $this->profile->getProWithUid($signArray['audituid']);
 | 
	
		
			
				|  |  | +                    if (isset($userProArray) && !empty($userProArray['mobile'])) {
 | 
	
		
			
				|  |  | +                        $sendarr1 = '“' .$pmname['pmname'].'”的“'. $signArray["name"] .'”';
 | 
	
		
			
				|  |  | +                        $sendarr2 = str_replace('【','',$sendarr1);
 | 
	
		
			
				|  |  | +                        $sendmsg = str_replace('】','',$sendarr2);
 | 
	
		
			
				|  |  | +                        $retval = $this->__auditNotice($userProArray['mobile'], Doo::conf()->SMS_TIPS_PRE . $sendmsg .Doo::conf()->SMS_TIPS["AUDIT_NOTICE_AUDITOR6"]);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    // SMS End
 | 
	
		
			
				|  |  | +                    echo json_encode(array('code' => 200, 'url' => '/sign/list'));
 | 
	
		
			
				|  |  | +                    exit;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                echo json_encode(array('code' => 400, 'msg' => '终止签署失败'));
 | 
	
		
			
				|  |  | +                exit;
 | 
	
		
			
				|  |  | +            }elseif($_POST['status'] == 'back'){
 | 
	
		
			
				|  |  | +                $signauditlist = $this->sign->getSignAuditList($this->params['sid']);
 | 
	
		
			
				|  |  | +                $change = -1;
 | 
	
		
			
				|  |  | +                foreach($signauditlist as $k => $v){
 | 
	
		
			
				|  |  | +                    if($v['status'] == 'checking' && $k != 0) {
 | 
	
		
			
				|  |  | +                        $change = $k-1;
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                if($change != -1){
 | 
	
		
			
				|  |  | +                    $result = $this->sign->updateSignStatusAndTime($this->params['sid'],'back',time());
 | 
	
		
			
				|  |  | +                    $signAudit = $this->sign->getOneSignAudit($this->params['sid'],$this->auth->getUid());
 | 
	
		
			
				|  |  | +                    $result3 = $this->sign->updateSignAudit($signAudit['satid'],'uncheck',0);
 | 
	
		
			
				|  |  | +                    $result2 = $this->sign->updateSignAudit($signauditlist[$change]['satid'],'checking',0);
 | 
	
		
			
				|  |  | +                    if($result && $result2 && $result3){
 | 
	
		
			
				|  |  | +                        //删除上一个签名者的所有签名
 | 
	
		
			
				|  |  | +                        $signattlist = $this->sign->getSignAttList($this->params['sid']);
 | 
	
		
			
				|  |  | +                        foreach($signattlist as $key => $value){
 | 
	
		
			
				|  |  | +                            $sign2 = new SignAuditAtt();
 | 
	
		
			
				|  |  | +                            $sign2->audituid = $signauditlist[$change]['audituid'];
 | 
	
		
			
				|  |  | +                            $sign2->said = $value['said'];
 | 
	
		
			
				|  |  | +                            $sign2->delete();
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                        // SMS Start
 | 
	
		
			
				|  |  | +                        $signArray = $this->sign->getOneSignbysid($this->params['sid']);
 | 
	
		
			
				|  |  | +                        $pmname = $this->actmeasure->getRowByPmid($signArray['tender']);
 | 
	
		
			
				|  |  | +                        $userProArray = $this->profile->getProWithUid($signauditlist[$change]['audituid']);
 | 
	
		
			
				|  |  | +                        if (isset($userProArray) && !empty($userProArray['mobile'])) {
 | 
	
		
			
				|  |  | +                            $sendarr1 = '“' .$pmname['pmname'].'”的“'. $signArray["name"] .'”';
 | 
	
		
			
				|  |  | +                            $sendarr2 = str_replace('【','',$sendarr1);
 | 
	
		
			
				|  |  | +                            $sendmsg = str_replace('】','',$sendarr2);
 | 
	
		
			
				|  |  | +                            $retval = $this->__auditNotice($userProArray['mobile'], Doo::conf()->SMS_TIPS_PRE . $sendmsg .Doo::conf()->SMS_TIPS["AUDIT_NOTICE_AUDITOR7"]);
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        // SMS End
 | 
	
		
			
				|  |  | +                        echo json_encode(array('code' => 200, 'url' => '/sign/onlist'));
 | 
	
		
			
				|  |  | +                        exit;
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                echo json_encode(array('code' => 400, 'msg' => '退回签署失败'));
 | 
	
		
			
				|  |  | +                exit;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          //获取报表信息
 | 
	
		
			
				|  |  |          $signmsg = $this->sign->getOneSignbysid($this->params['sid']);
 | 
	
		
			
				|  |  |          //获取项目名,标段名,标段期数
 | 
	
	
		
			
				|  | @@ -164,12 +231,16 @@ class SignController extends DooController
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //获取签署人列表
 | 
	
		
			
				|  |  | +        $firstsign = 0;
 | 
	
		
			
				|  |  |          $signauditlist = $this->sign->getSignAuditList($this->params['sid']);
 | 
	
		
			
				|  |  |          if(!empty($signauditlist)){
 | 
	
		
			
				|  |  |              foreach($signauditlist as $k => $v){
 | 
	
		
			
				|  |  |                  //获取签署人头像
 | 
	
		
			
				|  |  |                  $signauditlist[$k]['index'] = $k+1;
 | 
	
		
			
				|  |  |                  $signauditlist[$k]['avatar'] = $this->auth->getAvatar($v['audituid']);
 | 
	
		
			
				|  |  | +                if($this->auth->getUid() == $v['audituid'] && $k == 0){
 | 
	
		
			
				|  |  | +                    $firstsign = 1;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -202,7 +273,7 @@ class SignController extends DooController
 | 
	
		
			
				|  |  |          $this->data['maxwidth'] = $maxwidth;
 | 
	
		
			
				|  |  |          $this->data['maxheight'] = $maxheight;
 | 
	
		
			
				|  |  |          $this->data['style'] = $style;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        $this->data['firstsign'] = $firstsign;
 | 
	
		
			
				|  |  |          $this->render('sign-view-signer_sign',$this->data, TRUE);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -237,12 +308,12 @@ class SignController extends DooController
 | 
	
		
			
				|  |  |                      // SMS Start
 | 
	
		
			
				|  |  |                      $signArray = $this->sign->getOneSignbysid($_POST['sid']);
 | 
	
		
			
				|  |  |                      $pmname = $this->actmeasure->getRowByPmid($signArray['tender']);
 | 
	
		
			
				|  |  | -                    $userProArray = $this->profile->getProWithUid($v);
 | 
	
		
			
				|  |  | +                    $userProArray = $this->profile->getProWithUid($v['audituid']);
 | 
	
		
			
				|  |  |                      if (isset($userProArray) && !empty($userProArray['mobile'])) {
 | 
	
		
			
				|  |  |                          $sendarr1 = '“' .$pmname['pmname'].'”的“'. $signArray["name"] .'”';
 | 
	
		
			
				|  |  |                          $sendarr2 = str_replace('【','',$sendarr1);
 | 
	
		
			
				|  |  |                          $sendmsg = str_replace('】','',$sendarr2);
 | 
	
		
			
				|  |  | -                        $retval = $this->__auditNotice($userProArray['mobile'], Doo::conf()->SMS_TIPS_PRE . '您好,有一份' .$pmname['pmname'].'的'. $signArray["name"] . Doo::conf()->SMS_TIPS["AUDIT_NOTICE_AUDITOR5"]);
 | 
	
		
			
				|  |  | +                        $retval = $this->__auditNotice($userProArray['mobile'], Doo::conf()->SMS_TIPS_PRE . $sendmsg .Doo::conf()->SMS_TIPS["AUDIT_NOTICE_AUDITOR5"]);
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      // SMS End
 | 
	
		
			
				|  |  |                      break;
 | 
	
	
		
			
				|  | @@ -253,6 +324,7 @@ class SignController extends DooController
 | 
	
		
			
				|  |  |                  echo json_encode(array('code' => 200, 'url' => '/sign/view/'.$_POST['sid'].'?status=done'));
 | 
	
		
			
				|  |  |                  exit;
 | 
	
		
			
				|  |  |              }else{
 | 
	
		
			
				|  |  | +                $this->sign->updateSignStatusAndTime($_POST['sid'],'checking',0);
 | 
	
		
			
				|  |  |                  echo json_encode(array('code' => 200, 'url' => '/sign/view/'.$_POST['sid'].'?status=doing'));
 | 
	
		
			
				|  |  |                  exit;
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -370,7 +442,7 @@ class SignController extends DooController
 | 
	
		
			
				|  |  |          $this->data['phaseno'] = '';
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //获取项目信息
 | 
	
		
			
				|  |  | -        $searchsql = 'status="checking" and sid in(select `jl_sign_audit`.sid from `jl_sign_audit` where `jl_sign_audit`.audituid='.$this->auth->getUid().')';
 | 
	
		
			
				|  |  | +        $searchsql = '(status="checking" or status="back") and sid in(select `jl_sign_audit`.sid from `jl_sign_audit` where `jl_sign_audit`.audituid='.$this->auth->getUid().')';
 | 
	
		
			
				|  |  |          $itemlist = $this->sign->getSignGroupByProject($searchsql);
 | 
	
		
			
				|  |  |          if(!empty($itemlist)){
 | 
	
		
			
				|  |  |              foreach($itemlist as $ik => $iv){
 |