|
@@ -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){
|