'未上报', 'checking' => '审核中', 'checked' => '已完成', 'checkno' => '不通过');
// public function beforeRun($resource, $action) {
// if ($this->auth->getUid()) {
// $uGroups = $this->profile->getProWithUid($this->auth->getUid());
// $falg = Doo::acl()->isAllowed($uGroups['groups'], $resource, $action);
// if (!$falg)
// return Doo::acl()->defaultFailedRoute;
// }else {
// return Doo::acl()->defaultFailedRoute;
// }
// }
public function __construct()
{
$this->__shareact = new Shareact();
$this->__contractact = new Contractact();
$this->__actMeasure = new actMeasure();
$this->__pro = new Project();
$this->__numofperact = new NumofperAct();
$this->sign = new signn();
$this->data['rootUrl'] = Doo::conf()->APP_URL;
// $this->data['user'] = $this->profile->getProWithUid($this->auth->getUid());
}
public function error()
{
$this->render('w-share-erro', $this->data, TRUE);
}
public function project()
{
$shareRowArray = $this->__shareact->getOne($this->params['hashcode']);
if (!isset($shareRowArray['ids']) || !isset($shareRowArray['idtype']) || $shareRowArray['idtype'] != 1) {
return Doo::conf()->APP_URL . 'share/error';
}
$this->data['hashcode'] = $this->params['hashcode'];
if ($shareRowArray['ids'] > 0) {
$proArray = $this->__pro->getRowByPid($shareRowArray['ids']);
}
// 总价
if ($shareRowArray['ids']) {
$this->data['pros']['numMeasure'] = $this->__actMeasure->getMearsureCount($shareRowArray['ids']);
$this->data['pros']['contracttotal'] = $this->__actMeasure->getTotalWithPid($shareRowArray['ids']);
$this->data['pros']['changTotal'] = $this->__numofperact->getChangTotal($shareRowArray['ids']);
$this->data['pros']['currdone'] = $this->__numofperact->getCurrDoneNow($shareRowArray['ids']);
if ($this->data['pros']['contracttotal']) {
$this->data['pros']['pcurrdone'] = round(($this->data['pros']['currdone'] / $this->data['pros']['contracttotal']) * 100) . '%';
} else {
$this->data['pros']['pcurrdone'] = '0%';
}
$this->data['pros']['bcontracttotal'] = number_format($this->data['pros']['contracttotal'], 2, '.', ',');
$this->data['pros']['bchangTotal'] = number_format($this->data['pros']['changTotal'], 2, '.', ',');
} else {
$this->data['pros'] = [];
}
// 标段计量分布
$conArray = $this->__contractact->getRowByPid($shareRowArray['ids']);
$this->data['projectDate'] = '';
$this->data['conArray'][] = array();
$this->data['pid'] = $shareRowArray['ids'];
$this->data['conArray'] = $conArray;
$contracttotal = 0;
$totalstid = 0;
$monthArray = [];
$allmonth = [];
$allmonth1 = [];
foreach ($this->data['conArray'] as $k => $v) {
$this->data['conArray'][$k]['pstopnow'] = $this->data['conArray'][$k]['pscurrdone'] = 0;
$retval = $this->__actMeasure->getAllbyStidSum($v['stid']);
$contracttotal += $retval[0]['contracttotal'];
$totalstid += $this->__actMeasure->getTotal($v['stid'])['total'];
$total = $this->__actMeasure->getTotal($v['stid'])['total'];
if ($total) {
$this->data['conArray'][$k]['total'] = round($total, 2);
} else {
$this->data['conArray'][$k]['total'] = 0;
}
$sntotal = $this->__numofperact->getCountTotalSTID2($v['stid'])['totalplus'];
if ($sntotal) {
$this->data['conArray'][$k]['stopnow'] = round($sntotal, 2);
} else {
$this->data['conArray'][$k]['stopnow'] = 0;
}
$this->data['conArray'][$k]['currdone'] = $this->__numofperact->getCurrDoneSt($v['stid'])['currdone'];
if ($this->data['conArray'][$k]['total'] > 0) {
$this->data['conArray'][$k]['pstopnow'] = round(($this->data['conArray'][$k]['stopnow'] / $this->data['conArray'][$k]['total']) * 100);
$this->data['conArray'][$k]['pscurrdone'] = round(($this->data['conArray'][$k]['currdone'] / $this->data['conArray'][$k]['total']) * 100);
}
// 分组出年月 每个月份的独立相加
$month = $this->__numofperact->getCurrTotalStMonthNoCheckno($v['stid']);
foreach ($month as $key => $value) {
$allmonth[] = $value;
if (!in_array($value['month'], $monthArray))
$monthArray[] = $value['month'];
}
// 分组出年月 每个月份的独立相加
$month1 = $this->__numofperact->getCurrDoneStMonthNoCheckno($v['stid']);
foreach ($month1 as $key => $value) {
$allmonth1[] = $value;
}
}
// 中文表述年月
$total = $total1 = array();
$startyear = $cnymArray = array();
foreach ($monthArray as $kk => $vv) {
// foreach ($allmonth as $keyk => $valuev) {
// if ($valuev['month'] == $vv)
// $total[$kk] += $valuev['currtotal'];
// }
// foreach ($allmonth1 as $k1 => $v1) {
// if ($v1['month'] == $vv)
// $total1[$kk] += $v1['currdone'];
// }
// $ymarray = split('-', $vv);
$ymarray = explode('-', $vv);
if (!in_array($ymarray[0], $startyear))
$startyear[] = $ymarray[0];
// $cnym = '\'' . $ymarray[1] . '月' . '\'';
// if ($kk == 0)
// $cnym = '\'' . $ymarray[0] . '年' . $ymarray[1] . '月' . '\'';
// $cnymArray[] = $cnym;
}
$thismonth = 0;
foreach($startyear as $sk => $sv){
for($i = 1; $i <= 12; $i++){
$j = $i < 10 ? '0'.$i : $i;
$month = $sv.'-'.$j;
$thismonth1 = 0;
foreach ($allmonth1 as $k1 => $v1) {
if ($v1['month'] == $month)
$thismonth1 += $v1['currdone'];
}
$total1[] = $thismonth1 != 0 ? $thismonth1 : 0;
foreach ($allmonth as $keyk => $valuev) {
if ($valuev['month'] == $month)
$thismonth += $valuev['currtotal'];
}
$total[] = ($thismonth != 0 && $thismonth1 != 0) ? $thismonth : 0;
$cnymArray[] = $i == 1 ? '\'' .$sv.'年'.$i.'月'. '\'' : '\'' .$i.'月'. '\'';
}
}
foreach ($total as $value2) {
$total3[] = round(($value2 / $totalstid) * 100);
}
foreach ($total1 as $value11) {
$total4[] = round(($value11 / $totalstid) * 100);
}
$this->data['projectDate'] = implode(',', $cnymArray);
$this->data['t1'] = implode(',', $total3);
$this->data['t2'] = implode(',', $total4);
// 标段计量进度
// 项目按月进度
// 标段列表
$contractArray = $this->__contractact->getRowByPid($shareRowArray['ids']); // 获取合同段
$htmlstr = NULL;
foreach ($contractArray as $k => $v) {// 获取所有合同段
$retval = $this->__actMeasure->getAllbyStid($v['stid']); // 获取标段
$bdhtmlstr = NULL;
$bdhtmlstr = '
计量期数 | 总价 | 截止上期完成/本期完成/未完成 |
';
$biaoduantotalmoney = 0;
$currTotal = 0;
$progress = $otherprogress = '0%';
$currTotal = $this->__numofperact->getCountTotalSTID2($v['stid']);
foreach ($retval as $key => $value) {
$displayPercentSnTotalProgress = '0%';
$displayPercentCurrTotalProgress = '0%';
$displayPercentLessTotalProgress = '0%';
$snTotalProgress = $currTotalProgress = $lessTotalProgress = '0%';
$nTotalProgress = $ncurrTotalProgress = $nlessTotalProgress = number_format(0, 2, '.', ',');
$numCount = $this->__numofperact->getCountTotalnum2($value['pmid']); // 获取标段已有期数
if (isset($numCount['numpname'])) {
$lastStatusArray = $this->__numofperact->getMaxStatusTimes($value['pmid'], $numCount['numpname']);
} else {
$lastStatusArray['currstatus'] = 'uncheck';
$numCount['numpname'] = 0;
}
$totalplus = $this->__numofperact->getCountTotalplus($value['pmid']);
$snTotal = $this->__numofperact->getStopNowTotal($value['pmid']); //根据标段ID获取最新一期(包括不通过)
$currcomTotal = $this->__numofperact->getCurrdoneNew($value['pmid']); //截止目前
$numStatusArray = $this->__numofperact->getLastStatus2($shareRowArray['ids'], $value['pmid']);
if ($numCount > 0) {
$nTotalProgress = number_format($snTotal['sntotal'], 2, '.', ',');
$ncurrTotalProgress = number_format($currcomTotal['currtotal'], 2, '.', ',');
$nlessTotalProgress = number_format($value['contracttotal'] - $snTotal['sntotal'] - $currcomTotal['currtotal'], 2, '.', ',');
if (isset($value['contracttotal']) && ($value['contracttotal'] > 0)) {
$snTotalProgress = round(($snTotal['sntotal'] / $value['contracttotal']) * 100);
$currTotalProgress = round(($currcomTotal['currtotal'] / $value['contracttotal']) * 100);
// $lessTotalProgress = round((($value['contracttotal'] - ($currcomTotal['currtotal'] + $snTotal['sntotal'])) / $value['contracttotal']) * 100);
$lessTotalProgress = 100 - $snTotalProgress - $currTotalProgress;
$displayPercentSnTotalProgress = $snTotalProgress . '%';
$displayPercentCurrTotalProgress = $currTotalProgress . '%';
$displayPercentLessTotalProgress = $lessTotalProgress . '%';
}
}
$biaoduantotalmoney += $value['contracttotal'];
$totalmoney = number_format($value['contracttotal'], 2, '.', ',');
if (isset($numStatusArray['currstatus'])) {
$statusStr = $this->statusArray[$lastStatusArray['currstatus']];
} else {
$statusStr = '';
}
$bdhtmlstr .= '
' . $value['pmname'] . ' |
共 ' . $numCount['numpname'] . ' 期(本期 ' . $statusStr . ') |
¥' . $totalmoney . ' |
' . $displayPercentSnTotalProgress . '
' . $displayPercentCurrTotalProgress . '
' . $displayPercentLessTotalProgress . '
|
';
}
$nprogress = $notherprogress = NULL;
// $currTotal = $this->numofperact->getCurrdoneSTID($v['stid']);
if ($biaoduantotalmoney > 0) {
$nprogress = number_format($currTotal['totalplus'], 2, '.', ',');
$notherprogress = number_format($biaoduantotalmoney - $currTotal['totalplus'], 2, '.', ',');
$progress = round(($currTotal['totalplus'] / $biaoduantotalmoney) * 100) . '%'; // 累计完成计量 所有标段合计
$otherprogress = round((($biaoduantotalmoney - $currTotal['totalplus']) / $biaoduantotalmoney) * 100) . '%';
$biaoduantotalmoney = number_format($biaoduantotalmoney, 2, '.', ',');
}
$htmlstr .= '
' . $v['stname'] . ' |
总价: | ¥' . $biaoduantotalmoney . ' |
完成进度: |
' . $progress . '
' . $otherprogress . '
|
';
}
$this->data['htmlstr'] = $htmlstr;
$this->data['pname'] = $proArray['pname'];
$this->render('w-share-project', $this->data);
}
public function proTender()
{
$shareRowArray = $this->__shareact->getOne($this->params['hashcode']);
if (!isset($shareRowArray['ids']) || !isset($shareRowArray['idtype']) || $shareRowArray['idtype'] != 1) {
return Doo::conf()->APP_URL . 'share/error';
}
// 判断有效性
// 判断hashcode有效性
// 判断标段ID是否属于当前分享父类ID
// 总价
$mArray = $this->__actMeasure->getRowByPmid($this->params['tenderid']);
if(empty($mArray)){
return Doo::conf()->APP_URL . 'share/error';
}
$proArray = $mArray;
//来源url
$this->data['comefromurl'] = Doo::conf()->APP_URL.'share/project/'.$this->params['hashcode'];
$this->data['pmname'] = $mArray['pmname'];
if ($proArray['pid']) {
$this->data['pros']['numMeasure'] = $this->__actMeasure->getMearsureCount($proArray['pid']);
$this->data['pros']['contracttotal'] = $this->__actMeasure->getTotalWithPid($proArray['pid']);
$this->data['pros']['changTotal'] = $this->__numofperact->getChangTotal($proArray['pid']);
$this->data['pros']['currdone'] = $this->__numofperact->getCurrDoneNow($proArray['pid']);
if ($this->data['pros']['contracttotal']) {
$this->data['pros']['pcurrdone'] = round(($this->data['pros']['currdone'] / $this->data['pros']['contracttotal']) * 100) . '%';
} else {
$this->data['pros']['pcurrdone'] = '0%';
}
$this->data['pros']['bcontracttotal'] = number_format($this->data['pros']['contracttotal'], 2, '.', ',');
$this->data['pros']['bchangTotal'] = number_format($this->data['pros']['changTotal'], 2, '.', ',');
} else {
$this->data['pros'] = [];
}
// 图表
$this->data['MeasureArray'] = $this->__numofperact->getGroupByLastOne($this->params['tenderid']);
$this->data['totalnum'] = count($this->data['MeasureArray']);
$measureArray = $this->__actMeasure->getRowByPmid($this->params['tenderid']);
foreach ($this->data['MeasureArray'] as $key => $value) {
$lastStatusArray = $this->__numofperact->getMaxStatusTimes($value['pmid'], $value['numpname']);
$this->data['status'] = $this->statusArray[$lastStatusArray['currstatus']];
if ($measureArray['contracttotal'] > $value['currdone'] && $value['currdone'] > 0) {
$this->data['MeasureArray'][$key]['lessTotal'] = round(($value['currdone'] / $measureArray['contracttotal']) * 100);
} else {
$this->data['MeasureArray'][$key]['lessTotal'] = 0;
}
}
$this->render('w-share-project-section-detail', $this->data, TRUE);
}
public function section()
{
$shareRowArray = $this->__shareact->getOne($this->params['hashcode']);
if (!isset($shareRowArray['ids']) || !isset($shareRowArray['idtype']) || $shareRowArray['idtype'] != 2) {
return Doo::conf()->APP_URL . 'share/error';
}
$this->data['hashcode'] = $this->params['hashcode'];
$conArray = $this->__contractact->getRowByStid($shareRowArray['ids']);
if(empty($conArray)){
return Doo::conf()->APP_URL . 'share/error';
}
$this->data['secname'] = $conArray['stname'];
$biaoduantotalmoney = 0;
$retval = $this->__actMeasure->getAllbyStid($shareRowArray['ids']); // 获取标段
$totalretval = $this->__actMeasure->getTotal($shareRowArray['ids']); //获取标段总价格
$currTotal = $this->__numofperact->getCountTotalSTID2($shareRowArray['ids']);
$this->data['stidArray'] = $retval;
$totalstid = $totalretval['total'];
$contracttotal = 0;
$monthArray = [];
foreach ($this->data['stidArray'] as $k => $v) {
//获取标段类型总价
$biaoduantotalmoney += $v['contracttotal'];
// 分组出年月 每个月份的独立相加
$month = $this->__numofperact->getCurrTotalPmMonth($v['pmid']);
foreach ($month as $key => $value) {
$allmonth[] = $value;
if (!in_array($value['month'], $monthArray))
$monthArray[] = $value['month'];
}
// 分组出年月 每个月份的独立相加
$month1 = $this->__numofperact->getCurrDonePmMonth($v['pmid']);
foreach ($month1 as $key => $value) {
$allmonth1[] = $value;
}
$displayPercentSnTotalProgress = '0%';
$displayPercentCurrTotalProgress = '0%';
$displayPercentLessTotalProgress = '0%';
$snTotalProgress = $currTotalProgress = $lessTotalProgress = '0%';
$nTotalProgress = $ncurrTotalProgress = $nlessTotalProgress = number_format(0, 2, '.', ',');
$numCount = $this->__numofperact->getCountTotalnum2($v['pmid']); // 获取标段已有期数
if (isset($numCount['numpname'])) {
$lastStatusArray = $this->__numofperact->getMaxStatusTimes($v['pmid'], $numCount['numpname']);
} else {
$lastStatusArray['currstatus'] = 'uncheck';
$numCount['numpname'] = 0;
}
$this->data['stidArray'][$k]['qi'] = $numCount['numpname'];
$numStatusArray = $this->__numofperact->getLastStatus2($v['pid'], $v['pmid']);
if (isset($numStatusArray['currstatus'])) {
$statusStr = $this->statusArray[$lastStatusArray['currstatus']];
} else {
$statusStr = '';
}
$this->data['stidArray'][$k]['statusStr'] = $statusStr;
$this->data['stidArray'][$k]['totalmoney'] = number_format($v['contracttotal'], 2, '.', ',');
$totalplus = $this->__numofperact->getCountTotalplus($v['pmid']);
$snTotal = $this->__numofperact->getStopNowTotal($v['pmid']); //根据标段ID获取最新一期(包括不通过)
$currcomTotal = $this->__numofperact->getCurrdoneNew($v['pmid']); //截止目前
$numStatusArray = $this->__numofperact->getLastStatus2($v['pid'], $v['pmid']);
if ($numCount > 0) {
$this->data['stidArray'][$k]['nTotalProgress'] = number_format($snTotal['sntotal'], 2, '.', ',');
$this->data['stidArray'][$k]['ncurrTotalProgress'] = number_format($currcomTotal['currtotal'], 2, '.', ',');
$this->data['stidArray'][$k]['nlessTotalProgress'] = number_format($v['contracttotal'] - $snTotal['sntotal'] - $currcomTotal['currtotal'], 2, '.', ',');
if (isset($v['contracttotal']) && ($v['contracttotal'] > 0)) {
$snTotalProgress = round(($snTotal['sntotal'] / $v['contracttotal']) * 100);
$currTotalProgress = round(($currcomTotal['currtotal'] / $v['contracttotal']) * 100);
// $lessTotalProgress = round((($value['contracttotal'] - ($currcomTotal['currtotal'] + $snTotal['sntotal'])) / $value['contracttotal']) * 100);
$lessTotalProgress = 100 - $snTotalProgress - $currTotalProgress;
$this->data['stidArray'][$k]['displayPercentSnTotalProgress'] = $snTotalProgress . '%';
$this->data['stidArray'][$k]['displayPercentCurrTotalProgress'] = $currTotalProgress . '%';
$this->data['stidArray'][$k]['displayPercentLessTotalProgress'] = $lessTotalProgress . '%';
}
}
}
if ($biaoduantotalmoney > 0) {
$this->data['st']['nprogress'] = number_format($currTotal['totalplus'], 2, '.', ',');
$this->data['st']['notherprogress'] = number_format($biaoduantotalmoney - $currTotal['totalplus'], 2, '.', ',');
$this->data['st']['progress'] = round(($currTotal['totalplus'] / $biaoduantotalmoney) * 100) . '%'; // 累计完成计量 所有标段合计
$this->data['st']['otherprogress'] = round((($biaoduantotalmoney - $currTotal['totalplus']) / $biaoduantotalmoney) * 100) . '%';
$this->data['st']['bcontracttotal'] = number_format($biaoduantotalmoney, 2, '.', ',');
}
// 中文表述年月
$total = $total1 = array();
foreach ($monthArray as $kk => $vv) {
foreach ($allmonth as $keyk => $valuev) {
if ($valuev['month'] == $vv)
$total[$kk] += $valuev['currtotal'];
}
foreach ($allmonth1 as $k1 => $v1) {
if ($v1['month'] == $vv)
$total1[$kk] += $v1['currdone'];
}
$ymarray = explode('-', $vv);
$cnym = '\'' . $ymarray[1] . '月' . '\'';
if ($kk == 0)
$cnym = '\'' . $ymarray[0] . '年' . $ymarray[1] . '月' . '\'';
$cnymArray[] = $cnym;
}
foreach ($total as $value2) {
$total3[] = round(($value2 / $totalstid) * 100);
}
foreach ($total1 as $value11) {
$total4[] = round(($value11 / $totalstid) * 100);
}
$this->data['projectDate'] = implode(',', $cnymArray);
$this->data['t1'] = implode(',', $total3);
$this->data['t2'] = implode(',', $total4);
$this->render('w-share-project-section', $this->data);
}
public function secTender()
{
$shareRowArray = $this->__shareact->getOne($this->params['hashcode']);
if (!isset($shareRowArray['ids']) || !isset($shareRowArray['idtype']) || $shareRowArray['idtype'] != 2) {
return Doo::conf()->APP_URL . 'share/error';
}
// 判断hashcode有效性
// 总价
$mArray = $this->__actMeasure->getRowByPmid($this->params['tenderid']);
if(empty($mArray)){
return Doo::conf()->APP_URL . 'share/error';
}
$proArray = $mArray;
//来源url
$this->data['comefromurl'] = Doo::conf()->APP_URL.'share/section/'.$this->params['hashcode'];
$this->data['pmname'] = $mArray['pmname'];
if ($proArray['pid']) {
$this->data['pros']['numMeasure'] = $this->__actMeasure->getMearsureCount($proArray['pid']);
$this->data['pros']['contracttotal'] = $this->__actMeasure->getTotalWithPid($proArray['pid']);
$this->data['pros']['changTotal'] = $this->__numofperact->getChangTotal($proArray['pid']);
$this->data['pros']['currdone'] = $this->__numofperact->getCurrDoneNow($proArray['pid']);
if ($this->data['pros']['contracttotal']) {
$this->data['pros']['pcurrdone'] = round(($this->data['pros']['currdone'] / $this->data['pros']['contracttotal']) * 100) . '%';
} else {
$this->data['pros']['pcurrdone'] = '0%';
}
$this->data['pros']['bcontracttotal'] = number_format($this->data['pros']['contracttotal'], 2, '.', ',');
$this->data['pros']['bchangTotal'] = number_format($this->data['pros']['changTotal'], 2, '.', ',');
} else {
$this->data['pros'] = [];
}
// 图表
$this->data['MeasureArray'] = $this->__numofperact->getGroupByLastOne($this->params['tenderid']);
$this->data['totalnum'] = count($this->data['MeasureArray']);
$measureArray = $this->__actMeasure->getRowByPmid($this->params['tenderid']);
foreach ($this->data['MeasureArray'] as $key => $value) {
$lastStatusArray = $this->__numofperact->getMaxStatusTimes($value['pmid'], $value['numpname']);
$this->data['status'] = $this->statusArray[$lastStatusArray['currstatus']];
if ($measureArray['contracttotal'] > $value['currdone'] && $value['currdone'] > 0) {
$this->data['MeasureArray'][$key]['lessTotal'] = round(($value['currdone'] / $measureArray['contracttotal']) * 100);
} else {
$this->data['MeasureArray'][$key]['lessTotal'] = 0;
}
}
$this->render('w-share-project-section-detail', $this->data, TRUE);
}
public function tender()
{
$shareRowArray = $this->__shareact->getOne($this->params['hashcode']);
if (!isset($shareRowArray['ids']) || !isset($shareRowArray['idtype']) || $shareRowArray['idtype'] != 3) {
return Doo::conf()->APP_URL . 'share/error';
}
$this->data['hashcode'] = $this->params['hashcode'];
// 总价
if ($shareRowArray['ids'] > 0) {
$mArray = $this->__actMeasure->getRowByPmid($shareRowArray['ids']);
if(empty($mArray)){
return Doo::conf()->APP_URL . 'share/error';
}
$proArray = $mArray;
}
//来源url
$this->data['comefromurl'] = Doo::conf()->APP_URL.'share/tender/'.$this->params['hashcode'];
$this->data['pmname'] = $mArray['pmname'];
if ($proArray['pid']) {
$this->data['pros']['numMeasure'] = $this->__actMeasure->getMearsureCount($proArray['pid']);
$this->data['pros']['contracttotal'] = $this->__actMeasure->getTotalWithPid($proArray['pid']);
$this->data['pros']['changTotal'] = $this->__numofperact->getChangTotal($proArray['pid']);
$this->data['pros']['currdone'] = $this->__numofperact->getCurrDoneNow($proArray['pid']);
if ($this->data['pros']['contracttotal']) {
$this->data['pros']['pcurrdone'] = round(($this->data['pros']['currdone'] / $this->data['pros']['contracttotal']) * 100) . '%';
} else {
$this->data['pros']['pcurrdone'] = '0%';
}
$this->data['pros']['bcontracttotal'] = number_format($this->data['pros']['contracttotal'], 2, '.', ',');
$this->data['pros']['bchangTotal'] = number_format($this->data['pros']['changTotal'], 2, '.', ',');
} else {
$this->data['pros'] = [];
}
// 图表
$this->data['MeasureArray'] = $this->__numofperact->getGroupByLastOne($shareRowArray['ids']);
$this->data['totalnum'] = count($this->data['MeasureArray']);
$measureArray = $this->__actMeasure->getRowByPmid($shareRowArray['ids']);
foreach ($this->data['MeasureArray'] as $key => $value) {
$lastStatusArray = $this->__numofperact->getMaxStatusTimes($value['pmid'], $value['numpname']);
$this->data['status'] = $this->statusArray[$lastStatusArray['currstatus']];
if ($measureArray['contracttotal'] > $value['currdone'] && $value['currdone'] > 0) {
$this->data['MeasureArray'][$key]['lessTotal'] = round(($value['currdone'] / $measureArray['contracttotal']) * 100);
} else {
$this->data['MeasureArray'][$key]['lessTotal'] = 0;
}
}
$this->render('w-share-project-section-detail', $this->data, true);
}
public function getShare()
{
$page = null;
$fildArray = null;
$proArray = $this->__shareact->getHashCode($_POST['pid'],1);
if(!empty($proArray)){
$proname = $this->__pro->getRowByPid($_POST['pid']);
$page = 1;
$fildArray[] = array('id' => $proArray['ids'], 'name' => $proname['pname'], 'ischeckd' => '1', 'hashcode' => $proArray['hashcode']);
}else{
$fildArray = null;
$tmpArray = $this->__contractact->getRowByPid($_POST['pid']);
foreach ($tmpArray as $key => $value) {
$secArray = $this->__shareact->getSectionCount($value['stid']);
if (!empty($secArray)) {
$page = 2;
$fildArray[] = array('id' => $value['stid'], 'name' => $value['stname'], 'ischeckd' => '1', 'hashcode' => $secArray['hashcode']);
} else {
$fildArray[] = array('id' => $value['stid'], 'name' => $value['stname'], 'ischeckd' => '0', 'hashcode' => $secArray['hashcode']);
}
}
if($page != 2 && $page != 1){
$fildArray = null;
$tmp = $this->__actMeasure->getRowsByPid($_POST['pid']);
foreach ($tmp as $key => $value) {
$tenArray = $this->__shareact->getHashCode($value['pmid'],3);
if(!empty($tenArray)){
$page = 3;
$fildArray[] = array('id' => $value['pmid'], 'name' => $value['pmname'],'ischeckd' => '1', 'hashcode' => $tenArray['hashcode']);
}else{
$fildArray[] = array('id' => $value['pmid'], 'name' => $value['pmname'],'ischeckd' => '0', 'hashcode' => $tenArray['hashcode']);
}
}
}
}
if($page == null){
$page = null;
$fildArray = null;
}
die(json_encode(array('page' => $page, 'filearray' => $fildArray)));
}
public function setShare()
{
if($_POST['check'] == "true"){
if ($this->__shareact->getCount($_POST['id'], $_POST['type']) > 0) {
$returnVal = $this->__shareact->updateHashcode($_POST['id'], $_POST['type']);
} else {
$returnVal = $this->__shareact->insertHashcode($_POST['id'], $_POST['type']);
}
}else{
$returnVal = $this->__shareact->deleteHashcode($_POST['id'], $_POST['type']);
$returnVal['hashcode'] = '';
}
die(json_encode(array('sharecode' => $returnVal['hashcode'])));
// if (isset($_POST['stid'])) {
// if ($this->__shareact->getCount($_POST['stid'], 2) > 0) {
// $returnVal = $this->__shareact->updateHashcode($_POST['stid'], 2);
// } else {
// $returnVal = $this->__shareact->insertHashcode($_POST['stid'], 2);
// }
// die(json_encode(array('sharecode' => $returnVal['hashcode'])));
// }
// if(isset($_POST['pmid'])) {
// if ($this->__shareact->getCount($_POST['pmid'], 3) > 0) {
// $returnVal = $this->__shareact->updateHashcode($_POST['pmid'], 3);
// } else {
// $returnVal = $this->__shareact->insertHashcode($_POST['pmid'], 3);
// }
// die(json_encode(array('sharecode' => $returnVal['hashcode'])));
// }
}
public function ajaxGetProject()
{
$proArray = $this->__shareact->getHashCode($_POST['pid'],1);
$proname = $this->__pro->getRowByPid($_POST['pid']);
if(!empty($proArray)){
$fildArray[] = array('id' => $proArray['ids'], 'name' => $proname['pname'], 'ischeckd' => '1', 'hashcode' => $proArray['hashcode']);
}else{
$fildArray[] = array('id' => $_POST['pid'], 'name' => $proname['pname'], 'ischeckd' => '0', 'hashcode' => $proArray['hashcode']);
}
die(json_encode($fildArray));
}
public function ajaxGetSection()
{
$fildArray = null;
$tmpArray = $this->__contractact->getRowByPid($_POST['pid']);
foreach ($tmpArray as $key => $value) {
$secArray = $this->__shareact->getSectionCount($value['stid']);
if (!empty($secArray)) {
$fildArray[] = array('id' => $value['stid'], 'name' => $value['stname'], 'ischeckd' => '1', 'hashcode' => $secArray['hashcode']);
} else {
$fildArray[] = array('id' => $value['stid'], 'name' => $value['stname'], 'ischeckd' => '0', 'hashcode' => $secArray['hashcode']);
}
}
die(json_encode($fildArray));
}
public function ajaxGetTender()
{
$fildArray = array();
$tmp = $this->__actMeasure->getRowsByPid($_POST['pid']);
foreach ($tmp as $key => $value) {
$tenArray = $this->__shareact->getHashCode($value['pmid'],3);
if(!empty($tenArray)){
$fildArray[] = array('id' => $value['pmid'], 'name' => $value['pmname'],'ischeckd' => '1', 'hashcode' => $tenArray['hashcode']);
}else{
$fildArray[] = array('id' => $value['pmid'], 'name' => $value['pmname'],'ischeckd' => '0', 'hashcode' => $tenArray['hashcode']);
}
}
die(json_encode($fildArray));
}
public function signShare()
{
if(isset($_GET['sid']) && is_numeric($_GET['sid'])){
$signmsg = $this->sign->getOneSignbysid($_GET['sid']);
if(!empty($signmsg) && $signmsg['ishare'] == 1){
//获取报表图片
$maxwidth = 794; //默认图片最大宽度 a4
// $maxheight = 1123; //默认图片最大高度 a4
//获取报表图片
$signattlist = $this->sign->getSignAttList($_GET['sid']);
if(!empty($signattlist)){
foreach($signattlist as $sak => $sav){
$signattlist[$sak]['auditatt'] = $this->sign->getSignAuditAttList($sav['said']);
if($sak == 0){
$imgmsg = getimagesize(Doo::conf()->APP_URL.$sav['filepath']);
$maxwidth = $imgmsg[0];
// $maxheight = $imgmsg[1];
// break;
}
}
}
$this->data['maxwidth'] = $maxwidth;
$this->data['attlist'] = $signattlist;
$this->render('sign-share', $this->data, TRUE);
}
exit('没有权限查看该报表');
}
exit('不存在该报表');
}
}
?>