'设计',
'2'=>'造价管理',
'3'=>'业主',
'4'=>'交通局',
'5'=>'公路局',
'6'=>'审计',
'7'=>'财政',
'8'=>'审核',
'9'=>'施工',
'10'=>'咨询',
'11'=>'招标代理',
'12'=>'监理',
'13'=>'学校',
'14'=>'个人',
'15'=>'合作伙伴',
);
public $tooltip=array('1'=>array('L','点击筛选标签'),
'2'=>array('M','点击筛选标签'),
'3'=>array('N','点击筛选标签'),
'4'=>array('O','点击筛选标签'),
'5'=>array('P','点击筛选标签'),
'6'=>array('Q','点击筛选标签'),
'7'=>array('R','点击筛选标签'),
);
public $webPath="http://cld.smartcost.com.cn/upload/emailAnnex/";
function __construct() {
//include './protected/config/common.conf.php';
//include $config['BASE_PATH'].'diagnostic/debug.php';
if(isset($_COOKIE["staff"])){
if(!empty($_COOKIE["staff"])){
Doo::loadModel ( 'staff' );
$staff = new staff ();
$this->staff=$staff->getUserByIdList($_COOKIE["staff"]);
return "/";
}
}
Doo::loadCore ( 'uri/DooUriRouter' );
$router = new DooUriRouter ();
$routeRs = $router->execute ( Doo::app ()->route, Doo::conf ()->SUBFOLDER );
if($routeRs['1']!="login"){
header ( 'Content-Type:text/html;charset=utf-8' );
@header ( "Location: /login" );
}
}
function isMobile()
{
// 如果有HTTP_X_WAP_PROFILE则一定是移动设备
if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))
{
return true;
}
// 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
if (isset ($_SERVER['HTTP_VIA']))
{
// 找不到为flase,否则为true
return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;
}
// 脑残法,判断手机发送的客户端标志,兼容性有待提高
if (isset ($_SERVER['HTTP_USER_AGENT']))
{
$clientkeywords = array ('nokia',
'sony',
'ericsson',
'mot',
'samsung',
'htc',
'sgh',
'lg',
'sharp',
'sie-',
'philips',
'panasonic',
'alcatel',
'lenovo',
'iphone',
'ipod',
'blackberry',
'meizu',
'android',
'netfront',
'symbian',
'ucweb',
'windowsce',
'palm',
'operamini',
'operamobi',
'openwave',
'nexusone',
'cldc',
'midp',
'wap',
'mobile'
);
// 从HTTP_USER_AGENT中查找手机浏览器的关键字
if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT'])))
{
return true;
}
}
// 协议法,因为有可能不准确,放到最后判断
if (isset ($_SERVER['HTTP_ACCEPT']))
{
// 如果只支持wml并且不支持html那一定是移动设备
// 如果支持wml和html但是wml在html之前则是移动设备
if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html'))))
{
return true;
}
}
return false;
}
function login(){
$passwork = $this->get_args('passwork') ? $this->get_args('passwork') : 0;
$uid = $this->get_args('user') ? $this->get_args('user') : 0;
Doo::loadModel ( 'staff' );
$staff = new staff ();
Doo::loadClass ( 'XDeode' );
$XDeode = new XDeode ( 5 );
if(!empty($passwork)){
$userinfo=$staff->checkUser($uid,$passwork);
if(!empty($userinfo)){
setcookie("staff", $XDeode->encode ( $userinfo[0]['sid'] ), time()+36000,"/");
return "/";
}
}
$data ['staff'] = "";//$staff->getUser ();
$data['login']="";
if(!empty($passwork))
$data['login']="inputErrow";
$this->render ( "/login", $data );
}
function out(){
setcookie("staff", "", time()-3600,"/");
return "/";
}
function index2()
{
//include Doo::conf()->BASE_PATH.'diagnostic/debug.php';
$cid = $this->get_args('cid') ? $this->get_args('cid') : 0;
$sid = $this->get_args('sid') ? $this->get_args('sid') : 0;
$page = $this->get_args('page') ? $this->get_args('page') : 1;
Doo::loadModel('action_log');
$action_log = new action_log();
Doo::loadModel('staff');
$staff = new staff ();
Doo::loadModel('client_staff');
$client_staff = new client_staff();
Doo::loadModel('longle');
$longle = new longle();
Doo::loadModel('L_category');
$lcategory = new L_category ();
$limit = 50;
$p = $page;
if ($page != 1)
$page = $page * $limit - 1;
else
$page--;
$condition = "";
// if (!empty($cid) && $cid != 12) {
// $condition = " and cid=" . $cid . " and sid=" . $sid;
// }
$staffCondition = "";
$categorylist2 = array();
if ($this->staff[0]['cid'] != 12) {
$staffCondition = " and cid=" . $this->staff[0]['cid'];
array_push($categorylist2, array('cid' => $this->staff[0]['cid'], 'title' => $this->staff[0]['category']));
if (!empty($sid))
$condition = " and cid=" . $this->staff[0]['cid'] . " and sid=" . $sid;
else
$condition = " and cid=" . $this->staff[0]['cid'];
} else {
$sql = 'SELECT `CLD_L_category`.cid,`CLD_L_category`.title,count(`CLD_staff`.sid) as count FROM `CLD_L_category` left join `CLD_staff` on `CLD_L_category`.cid=`CLD_staff`.cid group by `CLD_staff`.cid HAVING count(`CLD_staff`.sid)>0 order by count(`CLD_staff`.sid) desc';
$query = Doo::db()->query($sql);
$result = $query->fetchAll();
$categorylist2 = $result;
}
if (!empty($cid)){
$staffCondition = " and cid=" . $cid;
if (!empty($sid))
$condition = " and cid=" . $cid . " and sid=" . $sid;
else
$condition = " and cid=" . $cid;
}
/*
$itemCategoryList=$action_log->find(array('select'=>'updatetime,COUNT(*)',
'where'=>" Year(updatetime)=2014",'groupby'=>'Month(updatetime)','asArray'=>true));
print_r($itemCategoryList);die;
*/
$staffList=$staff->find(array('where'=>' username!="admin" '.$staffCondition,'asArray'=>true));
$actionLogList=$action_log->find(array('where'=>' 1 '.$condition,'limit'=>$page.','.$limit,'desc'=>'aid','asArray'=>true));
//echo $condition;
//抽取日期 ,'groupby'=>'updatetime'
$dateLog=$action_log->find(array('select'=>'updatetime','where'=>' 1 '.$condition,'limit'=>$limit,'desc'=>'aid','asArray'=>true));
$dl=array();
foreach ($dateLog as $value){
array_push($dl, $value['updatetime']);
}
$dateLog=array_unique($dl);
$log=array();
foreach ($dateLog as $key=>$value){
$log[$value]=array();
foreach ($actionLogList as $k=>$v){
if($value==$v['updatetime']){
array_push($log[$value], $v);
unset($actionLogList[$k]);
}
}
}
$max=array();
foreach($staffList as $key=>$value){
$staffList[$key]['count']=$client_staff->count(array('where'=>'sid='.$value['sid'],'asArray'=>true));
array_push($max, $staffList[$key]['count'].':'.$value['username']);
}
rsort($max,SORT_NUMERIC);$sum=0;
foreach ($max as $key=>$value){
$max[$key]=explode(":", $value);
$sum+=$max[$key][0];
}
$max2=$max;
array_shift($max2);array_shift($max2);array_shift($max2);
$lcategoryList=$lcategory->find(array('asArray'=>true));$useL=array();$Rsum=$Ssum=0;
foreach ($lcategoryList as $key=>$value){
$longleR=$longle->count(array('where'=>'cid='.$value['cid'],'asArray'=>true));
$longleS=$longle->count(array('where'=>'cid='.$value['cid'].' and status!=1 and status!=2','asArray'=>true));
$Rsum+=$longleR;$Ssum+=$longleS;
if(!empty($longleS))
array_push($useL, round(($longleS/$longleR)*100).'% :'.$value['title'] );
else
array_push($useL, '0% :'.$value['title'] );
}
rsort($useL,SORT_NUMERIC);//$sum=0;
foreach ($useL as $key=>$value){
$useL[$key]=explode(":", $value);
//$sum+=$max[$key][0];
}
$useL2=$useL;
array_shift($useL2);array_shift($useL2);array_shift($useL2);
$data['Ssum']=round(($Ssum/$Rsum)*100).'%';
$data['Rsum']=$Rsum;
$data['useL2']=$useL2;
$data['useL']=$useL;
$data['sum']=$sum;
$data['max']=$max;
$data['max2']=$max2;
$data['log']=$log;
$data['page']=$p;
$data['staffList']=$staffList;
$data['categorylist2']=$categorylist2;
$data['cid']=$cid;
$data['sid']=$sid;
$data['memu']="index";
$data['staff']=$this->staff;
$this->render ( "index2", $data );
}
function indexPage(){
$sid=$this->get_args('sid')?$this->get_args('sid'):0;
$cid=$this->get_args('cid')?$this->get_args('cid'):0;
$page=$this->get_args('page')?$this->get_args('page'):1;
Doo::loadModel('action_log');
$action_log=new action_log();
$limit=50;$p=$page;
// if ($page!=1)
// $page=$page*$limit-1;
// else
// $page--;
$page = (-- $p) * $limit;
/*
$condition="";
if (!empty($cid)&&$cid!=12){
$condition=" and cid=".$cid;
}
$staffCondition="";
if($this->staff[0]['cid']!=12){
$staffCondition=" and cid=".$this->staff[0]['cid'];
$condition=" and cid=".$this->staff[0]['cid'];
}
*/
$condition="";
if (!empty($cid)&&$cid!=12){
$condition=" and cid=".$cid." and sid=".$sid;
}
$staffCondition="";
if($this->staff[0]['cid']!=12){
$staffCondition=" and cid=".$this->staff[0]['cid'];
if(!empty($sid))
$condition=" and cid=".$this->staff[0]['cid']." and sid=".$sid;
else
$condition=" and cid=".$this->staff[0]['cid'];
}
$actionLogList=$action_log->find(array('where'=>' 1 '.$condition,'limit'=>$page.','.$limit,'desc'=>'aid','asArray'=>true));
//抽取日期 ,'groupby'=>'updatetime'
$dateLog=$action_log->find(array('select'=>'updatetime','where'=>' 1 '.$condition,'limit'=>$page.','.$limit,'desc'=>'aid','asArray'=>true));
$dl=array();
foreach ($dateLog as $value){
array_push($dl, $value['updatetime']);
}
$dateLog=array_unique($dl);
$log=array();
foreach ($dateLog as $key=>$value){
$log[$value]=array();
foreach ($actionLogList as $k=>$v){
if($value==$v['updatetime']){
array_push($log[$value], $v);
unset($actionLogList[$k]);
}
}
}
$html='';
foreach ($log as $key=>$value){
$html.='
'.$key.'
';
foreach ($value as $k=>$v){
$html.='- '.$v['time'].''.$v['action'].'
';
}
$html.='
';
}
echo $html;
}
function logStatistics(){
$sid=$this->get_args('sid')?$this->get_args('sid'):0;
$cid=$this->get_args('cid')?$this->get_args('cid'):0;
Doo::loadModel('action_log');
$action_log=new action_log();
Doo::loadModel ( 'staff' );
$staff = new staff ();
Doo::loadModel('client_staff');
$client_staff=new client_staff();
Doo::loadModel('longle');
$longle=new longle();
Doo::loadModel('L_category');
$lcategory = new L_category ();
$staffCondition="";
$categorylist2=array();
if($this->staff[0]['cid']!=12){
$staffCondition=" and cid=".$this->staff[0]['cid'];
array_push($categorylist2,array('cid'=>$this->staff[0]['cid'],'title'=>$this->staff[0]['category']));
}else{
$sql = 'SELECT `CLD_L_category`.cid,`CLD_L_category`.title,count(`CLD_staff`.sid) as count FROM `CLD_L_category` left join `CLD_staff` on `CLD_L_category`.cid=`CLD_staff`.cid group by `CLD_staff`.cid HAVING count(`CLD_staff`.sid)>0 order by count(`CLD_staff`.sid) desc';
$query = Doo::db ()->query ( $sql );
$result = $query->fetchAll ();
$categorylist2 = $result;
}
if(!empty($cid))
$staffCondition=" and cid=".$cid;
//Doo::db()->beginTransaction();
$staffList=$staff->find(array('where'=>' username !="admin"'.$staffCondition,'asArray'=>true));
$max=array();$kkk=array();
foreach($staffList as $key=>$value){
$staffList[$key]['count']=$client_staff->count(array('where'=>'sid='.$value['sid'],'asArray'=>true));
array_push($max, $staffList[$key]['count'].':'.$value['username']);
if ($this->staff[0]['cid']==12)
array_push($kkk, $staffList[$key]['count']);
if ($this->staff[0]['cid']==$value['cid']&&$this->staff[0]['cid']!=12){
array_push($kkk, $staffList[$key]['count']);
}
}
$sum=0;
foreach ($kkk as $key=>$value){
$sum+=$value;
}
rsort($max,SORT_NUMERIC);
foreach ($max as $key=>$value){
$max[$key]=explode(":", $value);
//$sum+=$max[$key][0];
}
$max2=$max;
array_shift($max2);array_shift($max2);array_shift($max2);
$lcategoryList=$lcategory->find(array('asArray'=>true));$useL=array();$Rsum=$Ssum=0;
foreach ($lcategoryList as $key=>$value){
$longleR=$longle->count(array('where'=>'cid='.$value['cid'],'asArray'=>true));
$longleS=$longle->count(array('where'=>'cid='.$value['cid'].' and status!=1 and status!=2','asArray'=>true));
$Rsum+=$longleR;$Ssum+=$longleS;
if(!empty($longleS))
array_push($useL, round(($longleS/$longleR)*100).'% :'.$value['title'] );
else
array_push($useL, '0% :'.$value['title'] );
}
//Doo::db()->commit();
rsort($useL,SORT_NUMERIC);//$sum=0;
foreach ($useL as $key=>$value){
$useL[$key]=explode(":", $value);
//$sum+=$max[$key][0];
}
$useL2=$useL;
array_shift($useL2);array_shift($useL2);array_shift($useL2);
//statistics
$categoryCondition=" and cid=".$this->staff[0]['cid'];
$sidCondition="";
if (!empty($cid))
$categoryCondition=" and cid=".$cid;
if(!empty($sid))
$sidCondition=" and sid=".$sid;
if($this->staff[0]['cid']==12&&empty($cid)){
$categoryCondition="";
}
// Year(updatetime)=".date('Y')." and Month(updatetime)=".date('m')." date_format(updatetime,"%m-%d")
$actionLogClient=$action_log->find(array('select'=>'date_format(updatetime,"%m-%d") as updatetime,COUNT(*) as count',
'where'=>" date_sub(curdate(), INTERVAL 30 DAY) <= date(updatetime) and status=1".$categoryCondition.$sidCondition,'groupby'=>'date_format(updatetime,"%m-%d")','asArray'=>true));
$actionLogLongle=$action_log->find(array('select'=>'date_format(updatetime,"%m-%d") as updatetime,COUNT(*) as count',
'where'=>" date_sub(curdate(), INTERVAL 30 DAY) <= date(updatetime) and status=3".$categoryCondition.$sidCondition,'groupby'=>'date_format(updatetime,"%m-%d")','asArray'=>true));
//$actionLogClient=array();
//$actionLogLongle=array();
$statisticsDay=array();
$statisticsClient=$statisticsLongle=array();
for ($d=0;$d<=29;$d++){
$MD=date("m-d",strtotime("-".$d." day"));$falgClient=$falgLongle=true;
array_push($statisticsDay, $MD);
foreach ($actionLogClient as $value){
if($value['updatetime']==$MD){
array_push($statisticsClient, $value['count']);$falgClient=false;break;
}
}
if ($falgClient)
array_push($statisticsClient,0);
foreach ($actionLogLongle as $value){
if($value['updatetime']==$MD){
array_push($statisticsLongle, $value['count']);$falgLongle=false;break;
}
}
if ($falgLongle)
array_push($statisticsLongle,0);
}
//print_r($actionLogLongle);
$statisticsClient=array_reverse($statisticsClient);
$statisticsLongle=array_reverse($statisticsLongle);
$statisticsDay=array_reverse($statisticsDay);
/// Year(updatetime)=".date('Y')." and Month(updatetime)=".date('m')." and
$categoryList=$lcategory->find(array('asArray'=>true));
$CategoryClient=$action_log->find(array('select'=>'cid,COUNT(*) as count,city',
'where'=>" date_sub(curdate(), INTERVAL 30 DAY) <= date(updatetime) and status=1".$categoryCondition.$sidCondition,'groupby'=>'cid','asArray'=>true));
//or status=2
$CategoryCompany=$action_log->find(array('select'=>'cid, COUNT(*) as count,company,districtid',
'where'=>" date_sub(curdate(), INTERVAL 30 DAY) <= date(updatetime) and (status=1 )".$categoryCondition.$sidCondition,'groupby'=>'cid,districtid,company','asArray'=>true));
$natureList=$action_log->find(array('select'=>'cid, COUNT(*) as count,nature',
'where'=>" date_sub(curdate(), INTERVAL 30 DAY) <= date(updatetime) and status=1 and nature !=''".$categoryCondition.$sidCondition,'groupby'=>'nature','asArray'=>true));
$statisticsCategory=array();$statisticsCompany=array();
foreach ($categoryList as $value){
$falgClient=$falgLongle=true;
foreach ($CategoryClient as $v){
if($value['cid']==$v['cid']&&$v['cid']!=12){
array_push($statisticsCategory, array('value'=>$v['count'],'name'=>str_replace("办","省",$value['title'])));$falgClient=false;break;
}
}
if ($falgClient){
array_push($statisticsCategory, array('value'=>0,'name'=>str_replace("办","省",$value['title'])));
}
//company statistics
$i=0;
foreach ($CategoryCompany as $v){
if($value['cid']==$v['cid']&&$v['cid']!=12){
$i++;
}
}
array_push($statisticsCompany, array('value'=>$i,'name'=>str_replace("办","省",$value['title'])));
}
//print_r($CategoryClient);
$statisticsNature=array();
foreach ($this->nature as $value){
$flagNature=true;
foreach ($natureList as $v){
if ($value==$v['nature']){
array_push($statisticsNature, array('value'=>$v['count'],'name'=>$value));$flagNature=false;break;
}
}
if ($flagNature)
array_push($statisticsNature, array('value'=>0,'name'=>$value));
}
//print_r($max2);//die;
$data['statisticsNature']=json_encode($statisticsNature);
$data['statisticsCompany']=json_encode($statisticsCompany);
$data['statisticsCategory']=json_encode($statisticsCategory);
$data['statisticsDay']=json_encode($statisticsDay);
$data['statisticsClient']=json_encode($statisticsClient);
$data['statisticsLongle']=json_encode($statisticsLongle);
$data['categorylist2']=$categorylist2;
$data['Ssum']=round(($Ssum/$Rsum)*100).'%';
$data['Rsum']=$Rsum;
$data['useL2']=$useL2;
$data['useL']=$useL;
$data['sum']=$sum;
$data['max']=$max;
$data['max2']=$max2;
$data['staffList']=$staffList;
$data['cid']=$cid;
$data['sid']=$sid;
$data['memu']="index";
$data['staff']=$this->staff;
$this->render ( "/indexStat", $data );
}
function longleStatistics(){
$sid=$this->get_args('sid')?$this->get_args('sid'):0;
$cid=$this->get_args('cid')?$this->get_args('cid'):0;
$status=$this->get_args('status')?$this->get_args('status'):4;
$districtH=$this->get_args('district')?$this->get_args('district'):0;
Doo::loadModel('action_log');
$action_log=new action_log();
Doo::loadModel ( 'staff' );
$staff = new staff ();
Doo::loadModel('client_staff');
$client_staff=new client_staff();
Doo::loadModel('longle');
$longle=new longle();
Doo::loadModel('L_category');
$lcategory = new L_category ();
Doo::loadModel('district');
$district = new district ();
$staffCondition="";
$categorylist2=array();
if($this->staff[0]['cid']!=12){
$staffCondition=" and cid=".$this->staff[0]['cid'];
array_push($categorylist2,array('cid'=>$this->staff[0]['cid'],'title'=>$this->staff[0]['category']));
}else{
$sql = 'SELECT `CLD_L_category`.cid,`CLD_L_category`.title,count(`CLD_staff`.sid) as count FROM `CLD_L_category` left join `CLD_staff` on `CLD_L_category`.cid=`CLD_staff`.cid group by `CLD_staff`.cid HAVING count(`CLD_staff`.sid)>0 order by count(`CLD_staff`.sid) desc';
$query = Doo::db ()->query ( $sql );
$result = $query->fetchAll ();
$categorylist2 = $result;
}
if(!empty($cid))
$staffCondition=" and cid=".$cid;
$staffList=$staff->find(array('where'=>' username!="admin"'.$staffCondition,'asArray'=>true));
$max=array();
foreach($staffList as $key=>$value){
$staffList[$key]['count']=$client_staff->count(array('where'=>'sid='.$value['sid'],'asArray'=>true));
array_push($max, $staffList[$key]['count'].':'.$value['username']);
}
rsort($max,SORT_NUMERIC);$sum=0;
foreach ($max as $key=>$value){
$max[$key]=explode(":", $value);
$sum+=$max[$key][0];
}
$max2=$max;
array_shift($max2);array_shift($max2);array_shift($max2);
$lcategoryList=$lcategory->find(array('asArray'=>true));$useL=array();$Rsum=$Ssum=0;
foreach ($lcategoryList as $key=>$value){
$longleR=$longle->count(array('where'=>'cid='.$value['cid'],'asArray'=>true));
$longleS=$longle->count(array('where'=>'cid='.$value['cid'].' and status!=1 and status!=2','asArray'=>true));
$Rsum+=$longleR;$Ssum+=$longleS;
if(!empty($longleS))
array_push($useL, round(($longleS/$longleR)*100).'% :'.$value['title'] );
else
array_push($useL, '0% :'.$value['title'] );
}
rsort($useL,SORT_NUMERIC);//$sum=0;
foreach ($useL as $key=>$value){
$useL[$key]=explode(":", $value);
//$sum+=$max[$key][0];
}
$useL2=$useL;
array_shift($useL2);array_shift($useL2);array_shift($useL2);
//statistics
$categoryCondition=" and cid=".$this->staff[0]['cid'];
$sidCondition="";
if (!empty($cid))
$categoryCondition=" and cid=".$cid;
if(!empty($sid))
$sidCondition=" and sid=".$sid;
if($this->staff[0]['cid']==12&&empty($cid)){
$categoryCondition="";
}
// Year(updatetime)=".date('Y')." and Month(updatetime)=".date('m')." date_format(updatetime,"%m-%d") Day(updatetime)
$actionLogClient=$action_log->find(array('select'=>'date_format(updatetime,"%m-%d") as updatetime,COUNT(*) as count',
'where'=>" date_sub(curdate(), INTERVAL 30 DAY) <= date(updatetime) and status=4".$categoryCondition.$sidCondition,'groupby'=>'Day(updatetime)','asArray'=>true));
$actionLogLongle=$action_log->find(array('select'=>'date_format(updatetime,"%m-%d") as updatetime,COUNT(*) as count',
'where'=>" date_sub(curdate(), INTERVAL 30 DAY) <= date(updatetime) and status=5".$categoryCondition.$sidCondition,'groupby'=>'Day(updatetime)','asArray'=>true));
$actionLogGet=$action_log->find(array('select'=>'date_format(updatetime,"%m-%d") as updatetime,COUNT(*) as count',
'where'=>" date_sub(curdate(), INTERVAL 30 DAY) <= date(updatetime) and status=6".$categoryCondition.$sidCondition,'groupby'=>'Day(updatetime)','asArray'=>true));
$statisticsDay=array();
$statisticsClient=$statisticsLongle=$statisticsGet=array();
/**
for ($d=1;$d<=date("t");$d++){
$MD=date('m')."-".$d;
*/
for ($d=0;$d<=29;$d++){
$MD=date("m-d",strtotime("-".$d." day"));$falgClient=$falgLongle=$falgGet=true;
array_push($statisticsDay, $MD);
foreach ($actionLogClient as $value){
if($value['updatetime']==$MD){
array_push($statisticsClient, $value['count']);$falgClient=false;break;
}
}
if ($falgClient)
array_push($statisticsClient,0);
foreach ($actionLogLongle as $value){
if($value['updatetime']==$MD){
array_push($statisticsLongle, $value['count']);$falgLongle=false;break;
}
}
if ($falgLongle)
array_push($statisticsLongle,0);
foreach ($actionLogGet as $value){
if($value['updatetime']==$MD){
array_push($statisticsGet, $value['count']);$falgGet=false;break;
}
}
if ($falgGet)
array_push($statisticsGet,0);
}
$statisticsClient=array_reverse($statisticsClient);
$statisticsLongle=array_reverse($statisticsLongle);
$statisticsGet=array_reverse($statisticsGet);
$statisticsDay=array_reverse($statisticsDay);
///
$districtCondition="";
$topDistrict=$district->get_lvByid(0,0);
if (!empty($sid)){
$s=$staff->getOne(array('where'=>' sid='.$sid,'asArray'=>true));
$l=$lcategory->find(array('where'=>' cid in('.$s['cid'].')','asArray'=>true));
if(!empty($s['othercid']))
$l=$lcategory->find(array('where'=>' cid in('.$s['cid'].','.$s['othercid'].')','asArray'=>true));
if (!empty($districtH)){
$districtCondition=" and districtid like '".$districtH.",%'";
$sidCondition="";
$topDistrict=$district->find(array('where'=>' upid='.$districtH,'asArray'=>true));
}else{
$districtCondition=" and districtid like '".$l[0]['districtid'].",%'";
$sidCondition="";
$topDistrict=$district->find(array('where'=>' upid='.$l[0]['districtid'],'asArray'=>true));
}
$str=array();
foreach ($l as $value){
array_push($str, $value['districtid']);
}
$str=implode(",", $str);
$data['districtHtml']=$district->find(array('where'=>' id in ('.$str.')','asArray'=>true));
$data['districtH']=$l[0]['districtid'];
if (!empty($districtH))
$data['districtH']=$districtH;
}
// Year(updatetime)=".date('Y')." and Month(updatetime)=".date('m')." and
if (!empty($sid))
$districtClient=$action_log->find(array('select'=>'city,province,COUNT(*) as count',
'where'=>" date_sub(curdate(), INTERVAL 30 DAY) <= date(updatetime) and status=".$status.$categoryCondition.$sidCondition.$districtCondition,'groupby'=>'province','asArray'=>true));
else
$districtClient=$action_log->find(array('select'=>'city,province,COUNT(*) as count',
'where'=>" date_sub(curdate(), INTERVAL 30 DAY) <= date(updatetime) and status=".$status.$categoryCondition.$sidCondition.$districtCondition,'groupby'=>'city','asArray'=>true));
$statisticsLend=array();$statisticsCompany=array();
if(!empty($sid)){
foreach ($topDistrict as $value){
$falgLend=$falgLongle=true;
foreach ($districtClient as $v){
if($value['name']==$v['province']){
array_push($statisticsLend, array('value'=>$v['count'],'name'=>$value['name']));$falgLend=false;break;
}
}
if ($falgLend)
array_push($statisticsLend, array('value'=>0,'name'=>$value['name']));
}
}else{
foreach ($topDistrict as $value){
$falgLend=$falgLongle=true;
foreach ($districtClient as $v){
if($value['name']==$v['city']){
array_push($statisticsLend, array('value'=>$v['count'],'name'=>$value['name']));$falgLend=false;break;
}
}
if ($falgLend)
array_push($statisticsLend, array('value'=>0,'name'=>$value['name']));
}
}
//print_r($statisticsLend);die;
$natureList=$action_log->find(array('select'=>'cid, COUNT(*) as count,nature',
'where'=>" date_sub(curdate(), INTERVAL 30 DAY) <= date(updatetime) and status=".$status." and nature !=''".$categoryCondition.$sidCondition.$districtCondition,'groupby'=>'nature','asArray'=>true));
$statisticsNature=array();
foreach ($this->nature as $value){
$flagNature=true;
foreach ($natureList as $v){
if ($value==$v['nature']){
array_push($statisticsNature, array('value'=>$v['count'],'name'=>$value));$flagNature=false;break;
}
}
if ($flagNature)
array_push($statisticsNature, array('value'=>0,'name'=>$value));
}
$data['statisticsNature']=json_encode($statisticsNature);
//print_r($statisticsLend);die;
$data['statisticsLend']=json_encode($statisticsLend);
$data['status']=$status;
$data['statisticsDay']=json_encode($statisticsDay);
$data['statisticsClient']=json_encode($statisticsClient);
$data['statisticsLongle']=json_encode($statisticsLongle);
$data['statisticsGet']=json_encode($statisticsGet);
$data['categorylist2']=$categorylist2;
$data['Ssum']=round(($Ssum/$Rsum)*100).'%';
$data['Rsum']=$Rsum;
$data['useL2']=$useL2;
$data['useL']=$useL;
$data['sum']=$sum;
$data['max']=$max;
$data['max2']=$max2;
$data['staffList']=$staffList;
$data['cid']=$cid;
$data['sid']=$sid;
$data['memu']="index";
$data['staff']=$this->staff;
$this->render ( "/indexLongle", $data );
}
function index() {die('dd');
$data['memu']="index";
$data['staff']=$this->staff;
Doo::loadModel('action_log');
$action_log=new action_log();
$data['today']=explode("-", date("Y-m-d"));
$str="";
if($this->staff[0]['isadmin']!=1){
$str=" and (action like '%".$this->staff[0]['category']."%'";
$khql=explode(",", $this->staff[0]['othercategory']);
if(!empty($khql[0])){
foreach ($khql as $key=>$value){
$str.=" or action like '%".$value."%'";
}
$str.=")";
}else
$str.=")";
}
$data['actionListNow']=$action_log->find(array('where'=>' updatetime=\''.date("Y-m-d")."'".$str ,'desc'=>'aid','asArray' => TRUE));
$d2 = mktime(0,0,0,date("m"),date("d")-1,date("Y"));
$strdate=date("Y-m-d", $d2);
$data['day2']=explode("-", $strdate);
$data['actionListNow2']=$action_log->find(array('where'=>' updatetime=\''.$strdate."'".$str,'desc'=>'aid','asArray' => TRUE));
$d3 = mktime(0,0,0,date("m"),date("d")-2,date("Y"));
$strdate=date("Y-m-d", $d3);
$data['day3']=explode("-", $strdate);
$data['actionListNow3']=$action_log->find(array('where'=>' updatetime=\''.$strdate."'".$str,'desc'=>'aid','asArray' => TRUE));
$d4 = mktime(0,0,0,date("m"),date("d")-3,date("Y"));
$strdate=date("Y-m-d", $d4);
$data['day4']=explode("-", $strdate);
$data['actionListNow4']=$action_log->find(array('where'=>' updatetime=\''.$strdate."'".$str,'asArray' => TRUE));
$d5 = mktime(0,0,0,date("m"),date("d")-4,date("Y"));
$strdate=date("Y-m-d", $d5);
$data['day5']=explode("-", $strdate);
$data['actionListNow5']=$action_log->find(array('where'=>' updatetime=\''.$strdate."'".$str,'asArray' => TRUE));
$d6 = mktime(0,0,0,date("m"),date("d")-5,date("Y"));
$strdate=date("Y-m-d", $d6);
$data['day6']=explode("-", $strdate);
$data['actionListNow6']=$action_log->find(array('where'=>' updatetime=\''.$strdate."'".$str,'asArray' => TRUE));
$d7 = mktime(0,0,0,date("m"),date("d")-6,date("Y"));
$strdate=date("Y-m-d", $d7);
$data['day7']=explode("-", $strdate);
$data['actionListNow7']=$action_log->find(array('where'=>' updatetime=\''.$strdate."'".$str,'asArray' => TRUE));
Doo::loadModel('staff');
Doo::loadModel('client_staff');
$client_staff=new client_staff();
$staff=new staff();
$st=$staff->find(array('where'=>'1','asArray'=>true));
foreach($st as $key=>$value){
$st[$key]['count']=$client_staff->count(array('where'=>'sid='.$value['sid'],'asArray'=>true));
}
$data['staffCount']=$st;
$this->render ( "/index", $data );
}
function receive(){
$data['memu']="keyonline";
$data['staff']=$this->staff;
Doo::loadModel ( 'longle' );
$longle = new longle ();
$data['arrayReceive']=$longle->getLongleReceive($this->staff[0]['cid'],1,$this->staff[0]['othercid']);
$this->render ( "/look_receive", $data );
}
function doLongleReceive(){
$arrLid=isset($_POST['lid'])?$_POST['lid']:array();
Doo::loadModel ( 'longle_log' );
Doo::loadModel ( 'longle' );
foreach ($arrLid as $key=>$value){
$ky=explode("-", $value);
$longle = new longle ();
$longle_log = new longle_log ();
$longle->lid=$ky[0];
$longle->status=2;
$longle->statusT='接收';
$longle->responsible=$this->staff[0]['username'];
//记录锁状态
$longle->statuslog="1,2";
$longle->update();
$longle_log->lid=$ky[0];
$longle_log->status=2;
$longle_log->statusT='接收';
$longle_log->responsible=$this->staff[0]['username'];
$longle_log->operator=$this->staff[0]['username'];
$longle_log->category=$ky[1];
$longle_log->dateline=date("Y-m-d");
$longle_log->insert();
}
return "/receive";
}
function addClient(){
$clientname=isset($_POST['clientname'])?$_POST['clientname']:"";
$gender=isset($_POST['gender'])?$_POST['gender']:"";
$nicename=isset($_POST['nicename'])?$_POST['nicename']:"";
$telephone=isset($_POST['telephone'])?$_POST['telephone']:"";
$phone=isset($_POST['phone'])?$_POST['phone']:"";
$email=isset($_POST['email'])?$_POST['email']:"";
$qq=isset($_POST['qq'])?$_POST['qq']:"";
$tid=isset($_POST['tid'])?$_POST['tid']:"";
$companyname=isset($_POST['companyname'])?$_POST['companyname']:"";
$local1=isset($_POST['lv21'])?$_POST['lv21']:0;
$local2=isset($_POST['lv22'])?$_POST['lv22']:0;
$local3=isset($_POST['lv23'])?$_POST['lv23']:0;
$nature=isset($_POST['nature'])?$_POST['nature']:"";
$fax=isset($_POST['fax'])?$_POST['fax']:"";
$webservice=isset($_POST['webservice'])?$_POST['webservice']:"";
$department=isset($_POST['department'])?$_POST['department']:"";
$position=isset($_POST['position'])?$_POST['position']:"";
$office=isset($_POST['office'])?$_POST['office']:"";
$address=isset($_POST['address'])?$_POST['address']:"";
$ride=isset($_POST['ride'])?$_POST['ride']:"";
$landmarks=isset($_POST['landmarks'])?$_POST['landmarks']:"";
$priority=isset($_POST['priority'])?$_POST['priority']:5;
$stay=isset($_POST['stay'])?$_POST['stay']:"";
$mark=isset($_POST['mark'])?$_POST['mark']:"";
$clientname=trim($clientname);
$companyname=trim($companyname);
if(empty($companyname))
return "/contacts";
if(empty($this->staff[0]['sid']))
return "/contacts";
if(!empty($clientname)){
//相同的公司和客户
Doo::loadModel ( 'company' );
$company = new company ();
Doo::loadModel ( 'client' );
$client = new client ();
$cinfo=$client->getClientByNameT($clientname);
if(!empty($cinfo)){
$ninfo=$company->getCompanyByCompanyname($companyname);
if(!empty($ninfo)){
foreach ($cinfo as $key=>$value){//问题
if($value['companyid']==$ninfo[0]['cid'])
return "/contacts";
}
}
}
Doo::loadModel ( 'district' );
$district = new district ();
$companyInfo=$company->getOne(array('where'=>"companyname = '".$companyname."'","asArray"=>true));
//更新公司信息
$lv1=$district->getbyid($local1);
$lv2=$district->getbyid($local2);
$lv3=$district->getbyid($local3);
if(empty($lv1))
$lv1[0]['name']="";
if(empty($lv2))
$lv2[0]['name']="";
if(empty($lv3))
$lv3[0]['name']="";
if(!empty($local1)&&!empty($local2))
$company->local=$lv1[0]['name'].",".$lv2[0]['name'].",".$lv3[0]['name'];
if(!empty($nature))
$company->nature=implode(',', $nature);
if(!empty($fax))
$company->fax=$fax;
if(!empty($webservice))
$company->webservice=$webservice;
if(!empty($address))
$company->address=$address;
if(!empty($ride))
$company->ride=$ride;
if(!empty($landmarks))
$company->landmarks=$landmarks;
if(!empty($office))
$company->office=$office;
if(!empty($local1)&&!empty($local2))
$company->district=$local1.",".$local2.",".$local3;
if(!empty($stay))
$company->stay=$stay;
if(empty($companyInfo)){
$company->companyname=$companyname;
$company->staffid=$this->staff[0]['sid'];
$cid=$company->insert();
}else{//不编辑公司,地区判断,作为新公司
// $cid=$companyInfo['cid'];
//
// $companyname=$companyInfo['companyname'];
//
// $company->cid=$cid;
//
// $company->update();
$diqu=$local1.",".$local2.",".$local3;
$cid=$companyInfo['cid'];
$company2 = new company ();
$companyList=$company2->find(array('where'=>" companyname like '".$companyname."'","asArray"=>true));
$falg=false;
//print_r($companyList);
foreach ($companyList as $key=>$value){
if($value['district']!=$diqu){
$falg=true;
}elseif($value['district']==$diqu){
$falg=false;
$cid=$value['cid'];
break;
}
}
//var_dump($falg) ;die;
if($falg){
$company->companyname=$companyname;
$company->staffid=$this->staff[0]['sid'];
$cid=$company->insert();
}
}
Doo::loadModel ( 'client_staff' );
$client_staff = new client_staff ();
$client->clientname=$clientname;
$client->gender=$gender;
$client->priority=$priority;
if(!empty($nicename))
$client->nicename=$nicename;
if(!empty($telephone))
$client->telephone=$telephone;
if(!empty($phone))
$client->phone=$phone;
if(!empty($email))
$client->email=$email;
if(!empty($qq)&&is_numeric($qq))
$client->qq=$qq;
$client->companyid=$cid;
$client->companyname=$companyname;
$client->district=$local1.",".$local2.",".$local3;
//echo $client->district;
// die;
if(!empty($tid))
$client->tag=implode(',', $tid);
if(!empty($fax))
$client->fax=$fax;
if(!empty($webservice))
$client->webservice=$webservice;
if(!empty($department))
$client->department=$department;
if(!empty($position))
$client->position=$position;
if(!empty($office))
$client->office=$office;
if(!empty($address))
$client->address=$address;
if(!empty($ride))
$client->ride=$ride;
if(!empty($landmarks))
$client->landmarks=$landmarks;
if(!empty($stay))
$client->stay=$stay;
if(!empty($mark))
$client->mark=$mark;
$id=$client->insert();
$client_staff->cid=$id;
$client_staff->sid=$this->staff[0]['sid'];
$client_staff->insert();
//加入地区记录
Doo::loadModel("district_staff");
$district_staff=new district_staff();
$district_staff->did=$lv1[0]['id'];
$district_staff->sid=$this->staff[0]['sid'];
$district_staff->insert();
//日常行为
Doo::loadModel("action_log");
$action_log=new action_log();
$action_log->action=$this->staff[0]['category'].''.$this->staff[0]['username'].'添加了'.$clientname.'('.$companyname.')';
$action_log->sid=$this->staff[0]['sid'];
$action_log->cid=$this->staff[0]['cid'];
$action_log->updatetime=date("Y-m-d");
$action_log->time=date("H:i");
$action_log->status=1;
$action_log->districtid=$local1.",".$local2.",".$local3;
$action_log->city=$lv1[0]['name'];
$action_log->province=$lv2[0]['name'];
if (isset($nature[0]))
$action_log->nature=$nature[0];
$action_log->company=$companyname;
$action_log->class=$action_log->iconContacts;
$action_log->insert();
}
return "/contacts";
}
function mycompany(){
$search=$this->get_args('search')?$this->get_args('search'):"";
$districtLv=$this->get_args('districtLv')?$this->get_args('districtLv'):0;
$nature=$this->get_args('nature')?$this->get_args('nature'):"";
$lv1=$this->get_args('lv1')?$this->get_args('lv1'):0;
$lv2=$this->get_args('lv2')?$this->get_args('lv2'):0;
$lv3=$this->get_args('lv3')?$this->get_args('lv3'):0;
$tagList=$this->get_args('tag')?$this->get_args('tag'):array();
if ($lv1==0){
$lv1=isset($this->params ['lv1'])&&is_numeric ( $this->params ['lv1'] ) ? $this->params ['lv1'] : 0;
if ($lv1!=0)
$districtLv=1;
}
if ($lv2==0){
$lv2=isset($this->params ['lv2'])&&is_numeric ( $this->params ['lv2'] ) ? $this->params ['lv2'] : 0;
if ($lv2!=0)
$districtLv=2;
}
if ($lv3==0){
$lv3=isset($this->params ['lv3'])&&is_numeric ( $this->params ['lv3'] ) ? $this->params ['lv3'] : 0;
if ($lv2!=0)
$districtLv=3;
}
if(empty($search))
$search=urldecode(isset($this->params ['search'])?$this->params ['search']:"");
$page = isset($this->params ['page'])&&is_numeric ( $this->params ['page'] ) ? $this->params ['page'] : 1;
$data['memu']="contacts";
$data['staff']=$this->staff;
Doo::loadModel ( 'district' );
Doo::loadModel('company');
Doo::loadModel('client');
Doo::loadModel('tag');
Doo::loadModel('L_category');
$lcategory = new L_category ();
$tag = new tag ();
$client = new client();
$company = new company();
$district = new district ();
Doo::loadModel('tagCompany');
$tagCompany = new tagCompany ();
Doo::loadModel('tagCompanyNexus');
$tagCompanyNexus = new tagCompanyNexus ();
$data['district2']=$district->get_lv(1);
$category=$lcategory->getCategoryById($this->staff[0]['cid'],$this->staff[0]['othercid']);
$cateStr="";
$list=array();
foreach ($category as $key=>$value){
array_push($list, " district like '".$value['districtid'].",%' ");
}
if($this->staff[0]['isadmin']!=1)
$cateStr=implode(" or ", $list);
else
$cateStr=" 1";
$size=300;
if(!empty($nature))
$cateStr=" 1";
$data['htmllv2']=array();
$data['htmllv3']=array();
$condition="";
if($districtLv==1){
$condition="";
if(!empty($lv1)){
$condition=" district like '".$lv1.",%'";
$data['htmllv2']=$district->get_lvByid(2, $lv1);
}
}
if($districtLv==2){
if(!empty($lv2))
$condition=" district like '".$lv1.",".$lv2.",%'";
else
$condition=" district like '".$lv1.",%'";
$data['htmllv2']=$district->get_lvByid(2, $lv1);
$data['htmllv3']=$district->get_lvByid(2, $lv2);
}
if($districtLv==3){
if(!empty($lv3))
$condition=" district like '".$lv1.",".$lv2.",".$lv3."'";
else
$condition=" district like '".$lv1.",".$lv2.",%'";
$data['htmllv2']=$district->get_lvByid(2, $lv1);
$data['htmllv3']=$district->get_lvByid(2, $lv2);
}
$districtCount=$condition;
if(!empty($condition))
$cateStr=$condition;
if(!empty($nature))
$cateStr.=" and nature like '%".$nature."%'";
//echo "".$cateStr."
";
$tagSQL=false;
if(!empty($tagList)){
$tagSQL=true;
foreach ($tagList as $value){
$cateStr.=" and a.tag like '%".$value."%' ";
}
}
if($this->staff[0]['isadmin']!=1){
$pageinfo=$this->get_Tpage("CLD_company", $cateStr, $page, $size,"",$tagSQL);
}else{
if ($tagSQL)
$pageinfo=$this->get_Tpage("CLD_company", $cateStr, $page, $size,"",$tagSQL);
else{
$total_page=$company->count(array());
$total = intval ( $total_page / $size );
$pageinfo ['total_page'] = ($total_page % $size) == 0 ? $total : $total + 1;
}
}
$k="";
for ($i=1;$i<=$pageinfo['total_page'];$i++){
if($page==$i)
$k.="";
else
$k.="";
}
$data['pageinfo']=$k;
$data['company']=$company->getCompanyByDistrict($this->staff[0]['sid'],$cateStr,$this->staff[0]['isadmin'],$page,$size,$tagSQL);
if($this->staff[0]['isadmin']!=1){
$data['district']=$district->get_lvByStaffid(1,$this->staff[0]['sid']);
}else{
$data['district']=$data['district2'];
}
//获得标签
$ClientTagList=$tagCompanyNexus->getTagClientBySid( $this->staff[0]['sid']);
foreach ($ClientTagList as $key=>$value){
$ClientTagList[$key]['taginfo']= $tagCompany->getTagByTidL($value['tag']);
}
foreach ($data['company'] as $key=>$value){
if(!empty($value['cid'])){
$data['company'][$key]['taginfo']= array();
$data['company'][$key]['tag']="";
foreach ($ClientTagList as $k=>$v){
if($value['cid']==$v['company']){
$data['company'][$key]['taginfo']= $v['taginfo'];
$data['company'][$key]['tag']=$v['tag'];
}
}
}
}
$comcid=$countL=array();
foreach ($data['company'] as $key=>$value){
array_push($comcid, $value['cid']);
}
$comcid=implode(",", $comcid);
if(!empty($comcid))
$countL=$client->getCountByCompany($comcid);
foreach ($data['company'] as $key=>$value){
$data['company'][$key]['count']=0;
foreach ($countL as $k=>$v){
if($value['cid']==$v['companyid']){
$data['company'][$key]['count']=$v['count'];
break;
}
}
}
$CC1="";$CC2="";$CC3="";$natureHtml='';
if (!empty($districtCount)){
$clientCount=$company->find(array('select'=>'district','where' => "district like '".$lv1.",%'",'asArray' => TRUE));
$CC1=count($clientCount);
if (!empty($clientCount)&&!empty($lv2)){
$CC2=0;
foreach ($clientCount as $key=>$value){
if (strpos($value['district'],$lv2)){
$CC2++;
}
}
}
if (!empty($clientCount)&&!empty($lv3)){
$CC3=0;
foreach ($clientCount as $key=>$value){
if (strpos($value['district'],$lv3)){
$CC3++;
}
}
}
$clientCount=$company->find(array('select'=>'district,nature','where' => $districtCount,'asArray' => TRUE));
$natureCount=array();
foreach ($this->nature as $value){
$natureCount[$value]=0;
foreach ($clientCount as $v){
$ak=explode(",", $v['nature']);
foreach ($ak as $a){
if ($value==$a){
$natureCount[$value]++;
}
}
}
}
}
$natureHtml='';
foreach ($this->nature as $value){
$natureHtml.=''.$value.'('.$natureCount[$value].')';
else
$natureHtml.='onclick="showNature(\''.$value.'\',this)">'.$value.'';
}
$taglist=$tagCompany->find(array('where' => 'sid='.$this->staff[0]['sid'],'asArray' => TRUE));
if (empty($taglist)){
for ($i=1;$i<=7;$i++){
$tag = new tagCompany ();
$tag->name="个人标签";
$tag->sid=$this->staff[0]['sid'];
$tag->colorid=$i;
$tag->insert();
}
}
$data['product']=array();
$data['tagList']=$tagList;
$data['tag']=$tagCompany->getAllBySid($this->staff[0]['sid']);
$data['natureHtml']=$natureHtml;
$data['CC1']=$CC1;
$data['CC2']=$CC2;
$data['CC3']=$CC3;
$data['lv1']=$lv1;
$data['lv2']=$lv2;
$data['lv3']=$lv3;
$data['districtLv']=$districtLv;
$data['Hnature']=$nature;
$data['nature']=$this->nature;
$this->render ( "/contacts_company", $data );
}
function contacts(){
$data['memu']="contacts";
$data['staff']=$this->staff;
$search=$this->get_args('search')?trim($this->get_args('search')):"";
if (empty($search))
$search=urldecode(isset($this->params ['search'])?$this->params ['search']:"");
$lv1=$this->get_args('lv1')?$this->get_args('lv1'):0;
$lv2=$this->get_args('lv2')?$this->get_args('lv2'):0;
$lv3=$this->get_args('lv3')?$this->get_args('lv3'):0;
$lv4=$this->get_args('lv4')?$this->get_args('lv4'):"";
$tagList=$this->get_args('tag')?$this->get_args('tag'):array();
$tooltip=$this->get_args('tooltip')?$this->get_args('tooltip'):"";
$districtLv=$this->get_args('districtLv')?$this->get_args('districtLv'):0;
if ($lv1==0){
$lv1=isset($this->params ['lv1'])&&is_numeric ( $this->params ['lv1'] ) ? $this->params ['lv1'] : 0;
if ($lv1!=0)
$districtLv=1;
}
if ($lv2==0){
$lv2=isset($this->params ['lv2'])&&is_numeric ( $this->params ['lv2'] ) ? $this->params ['lv2'] : 0;
if ($lv2!=0)
$districtLv=2;
}
if ($lv3==0){
$lv3=isset($this->params ['lv3'])&&is_numeric ( $this->params ['lv3'] ) ? $this->params ['lv3'] : 0;
if ($lv2!=0)
$districtLv=3;
}
$sortV=$this->get_args('sortV')?$this->get_args('sortV'):"h";
$page = isset($this->params ['page'])&&is_numeric ( $this->params ['page'] ) ? $this->params ['page'] : 1;
Doo::loadModel ( 'client_staff' );
Doo::loadModel ( 'client' );
Doo::loadModel('tag');
Doo::loadModel ( 'district' );
Doo::loadModel('tag_client');
Doo::loadModel('L_category');
Doo::loadModel('longle');
Doo::loadModel('C_tooltip');
$c_tooltip=new C_tooltip();
$longle=new longle();
$client=new client();
$category=new L_category();
$tagClient=new tag_client();
$district = new district ();
$tag = new tag ();
$client_staff = new client_staff ();
$data['tag']=$tag->getAllBySid($this->staff[0]['sid']);
$data['district2']=$district->get_lv(1);
$page_size=200;
$linfo=$category->getCategoryById($this->staff[0]['cid'],$this->staff['0']['othercid']);
$staffid=$condition=$a="";
if($this->staff[0]['isadmin']!=1){
//加入办事处地区
$data['district']=$district->get_lvByStaffid(1,$this->staff[0]['sid']);
if(!empty($search))
$sch=" and ( address like '%".$search."%' or clientname like '%".$search."%' or companyname like '%".$search."%' or qq like '%".$search."%' or telephone like '%".$search."%' or phone like '%".$search."%')";
else {
//or b.district like '".$linfo[0]['districtid']."%'
$a=" and b.district like '".$linfo[0]['districtid']."%'";
if(!empty($tooltip))
$sch="";
$search=urldecode(isset($this->params ['search'])?$this->params ['search']:"");
if(!empty($search))
$sch=" and ( address like '%".$search."%' or clientname like '%".$search."%' or companyname like '%".$search."%' or qq like '%".$search."%' or telephone like '%".$search."%' or phone like '%".$search."%')";
else{
$staffid=$data['staff'][0]['sid'];
$sqstr="";
foreach ($linfo as $key=>$value){
if($key!=0){
$sqstr.=" or b.district like '".$value['districtid'].",%'";
}
}
$a="and b.district like '".$linfo[0]['districtid'].",%'".$sqstr;
}
}
}else{
$data['district']=$data['district2'];
if(!empty($search))
$sch=" and ( address like '%".$search."%' or clientname like '%".$search."%' or companyname like '%".$search."%' or qq like '%".$search."%' or telephone like '%".$search."%' or phone like '%".$search."%')";
else {
$sch=" ";
$search=urldecode(isset($this->params ['search'])?$this->params ['search']:"");
if(!empty($search))
$sch=" and ( address like '%".$search."%' or clientname like '%".$search."%' or companyname like '%".$search."%' or qq like '%".$search."%' or telephone like '%".$search."%' or phone like '%".$search."%')";
}
}
$data['htmllv2']=$data['htmllv3']=array();
if($districtLv==1){
$a="";
$condition="";
if(!empty($lv1)){
$condition.=" and district like '".$lv1.",%'";
$data['htmllv2']=$district->get_lvByid(2, $lv1);
}
}
if($districtLv==2){
$a="";
if(!empty($lv2))
$condition.=" and district like '".$lv1.",".$lv2.",%'";
else
$condition.=" and district like '".$lv1.",%'";
$data['htmllv2']=$district->get_lvByid(2, $lv1);
$data['htmllv3']=$district->get_lvByid(2, $lv2);
}
if($districtLv==3){
$a="";
if(!empty($lv3))
$condition.=" and district like '".$lv1.",".$lv2.",".$lv3."'";
else
$condition.=" and district like '".$lv1.",".$lv2.",%'";
$data['htmllv2']=$district->get_lvByid(2, $lv1);
$data['htmllv3']=$district->get_lvByid(2, $lv2);
}
$condition.=$a;
$districtCount=$condition;
if(!empty($lv4)){
$condition.=" and nature like '%".$lv4."%'";
}
$tagSQL=false;
if(!empty($tagList)){
$tagSQL=true;
foreach ($tagList as $value){
$condition.=" and c.tag like '%".$value."%' ";
}
$search="";
}
if(!empty($search))
$condition.=$sch;
// if(!empty($tooltip))
// $condition.=" and tooltip like '%".$tooltip."%'";
$pageinfo=$this->get_page("CLD_client_staff", $condition, $page, $page_size, "","","",$staffid,$search,$tooltip,$this->staff[0]['cid'],$tagSQL);
if($sortV=="h"){//order by a.cid desc
$limit = " order by cid desc limit " . $pageinfo ['lower'] . " , " . $page_size . " ";
}
if($sortV=="g"){//order by updatetime desc
$limit = " limit " . $pageinfo ['lower'] . " , " . $page_size . " ";
}
if($sortV=="f"){//order by updatetime desc
$limit = " limit " . $pageinfo ['lower'] . " , " . $page_size . " ";
}
if($sortV=="i"){//order by servicetime desc
$limit = " limit " . $pageinfo ['lower'] . " , " . $page_size . " ";
}
//检索是全局
$data['clientInfo']=$client_staff->getClientByStaff($condition,$limit,$staffid,$this->staff[0]['sid'],$search,$tooltip,$this->staff[0]['cid'],$tagSQL);
//获取其他办事处的客户
// if(!empty($districtstr)){
// $buclient=$client->getClientByDistrict($districtstr);
//
// foreach ($buclient as $key=>$vlaue){
//
// $falg=true;
//
// foreach ($data['clientInfo'] as $y=>$v){
// if($vlaue['clientname']==$v['clientname']&&$vlaue['companyname']==$v['companyname'])
// $falg=false;
// }
// if($falg)
// array_push($data['clientInfo'], $vlaue);
// }
//
// }
$k="";
for ($i=1;$i<=$pageinfo['total_page'];$i++){
if($page==$i)
$k.="";
else
$k.="";
}
$data['pageinfo']=$k;
Doo::loadModel('product');
$product=new product();
$data['nature']=$this->nature;
$data['product']=$product->getProudct();
//获得标签
$ClientTagList=$tagClient->getTagClientBySid( $this->staff[0]['sid']);
$toollist=$c_tooltip->find(array('where'=>'cateid='.$this->staff[0]['cid'],'asArray'=>true));
//$ToolTipList=$
foreach ($ClientTagList as $key=>$value){
$ClientTagList[$key]['taginfo']= $tag->getTagByTidL($value['tag']);
}
//print_r($ClientTagList);die;
foreach ($data['clientInfo'] as $key=>$value){
if(!empty($value['cid'])){
//$tinfo=$tagClient->getTagClientBySCid($value['cid'], $this->staff[0]['sid']);
$data['clientInfo'][$key]['taginfo']= array();
$data['clientInfo'][$key]['tag']="";
foreach ($ClientTagList as $k=>$v){
//$tag->getTagByTidL($value['tag']);$value['tag'];
if($value['cid']==$v['client']){
$data['clientInfo'][$key]['taginfo']= $v['taginfo'];
$data['clientInfo'][$key]['tag']=$v['tag'];
}
}
//array_pop 可以优化数组
}
$data['clientInfo'][$key]['tooltipList']=array();
foreach ($toollist as $k=>$v){
if($v['cid']==$value['cid']){
$data['clientInfo'][$key]['tooltipList']=explode(",", $v['name']);
break;
}//array_pop 可以优化数组
}
// $tl=array();
// if(!empty($value['tooltip']))
// $tl=explode(',', $value['tooltip']);
// $data['clientInfo'][$key]['tooltipList']=$tl;
$data['clientInfo'][$key]['locount']=0;//$longle->count(array('where'=>'clientid='.$value['cid']));
}
$CC1="";$CC2="";$CC3="";
if (!empty($districtCount)){
$clientCount=$client->find(array('select'=>'district','where' => "district like '".$lv1.",%'",'asArray' => TRUE));
$CC1=count($clientCount);
if (!empty($clientCount)&&!empty($lv2)){
$CC2=0;
foreach ($clientCount as $key=>$value){
if (strpos($value['district'],$lv2)){
$CC2++;
}
}
}
if (!empty($clientCount)&&!empty($lv3)){
$CC3=0;
foreach ($clientCount as $key=>$value){
if (strpos($value['district'],$lv3)){
$CC3++;
}
}
}
}
Doo::loadModel('remind');
$remind=new remind();
// and date_add(time, INTERVAL day DAY) <= CURDATE()
$remindList=$remind->find(array('where' => "staffID = '".$this->staff[0]['sid']."' and status=0 ",'asc'=>'date_add(time, INTERVAL day DAY)','asArray' => TRUE));
$rc=0;
foreach ($remindList as $key=>$value){
$a=strtotime($value['time']." +".$value['day']." days");
$b=strtotime(date('y-m-d'));
if ($a<=$b){
$rc++;
$remindList[$key]['isRemind']=1;
}else
$remindList[$key]['isRemind']=0;
$remindList[$key]['Ctime']=date('m-d',strtotime($value['time']));
$remindList[$key]['Etime']=date('m-d',strtotime($value['time']." +".$value['day']." days"));
}
$data['remindCount']=$rc;
$data['remindList']=$remindList;
$data['CC1']=$CC1;
$data['CC2']=$CC2;
$data['CC3']=$CC3;
$data['lv1']=$lv1;
$data['lv2']=$lv2;
$data['lv3']=$lv3;
$data['lv4']=$lv4;
$data['districtLv']=$districtLv;
$data['tagList']=$tagList;
$data['tooltip']=$this->tooltip;
$data['ttip']=$tooltip;
$data['search']=$search;
$data['totalData']=$pageinfo['total_data'];
//$data['messagehtml']=$html;
$this->render ( "/contacts_client", $data );
}
function remindCL(){
$rid=isset($this->params['rid'])?$this->params['rid']:0;
Doo::loadModel('remind');
$remind=new remind();
$remind->status=1;
$remind->update(array('where' => "staffID = '".$this->staff[0]['sid']."' and rid=".$rid,'asArray' => TRUE));
return "/contacts";
}
function communication(){
$data['memu']="contacts";
$data['staff']=$this->staff;
$cid=$this->get_args('cid')?$this->get_args('cid'):0;
Doo::loadModel ( 'L_category' );
$L_category=new L_category();
Doo::loadModel ( 'staff' );
$staff=new staff();
Doo::loadModel ( 'staffDynamic' );
$staffDynamic=new staffDynamic();
if (!empty($cid))
$data['staffList']=$staff->getStaffByCid($cid);
else
$data['staffList']=$staff->getStaff();
foreach ($data['staffList'] as $key=>$value){
if (!empty($value['birthday'])){
$dataD=date("d",strtotime($value['birthday']));
if (date('m')==date("m",strtotime($value['birthday']))){
$now=date('d');
$post=$dataD-7;//date("d",mktime(0,0,0,date("m"),date("d")+7,date("Y")));
if ($now>=$post&&$now<=$dataD){
$data['staffList'][$key]['birthday']="birthday";
$data['staffList'][$key]['birthDAY']=date("m-d",strtotime($value['birthday']));
}
}
}
$happy=date("m-d",strtotime($value['birthday']));
if ($happy==date('m-d')){
$SBL=$staffDynamic->getStaffBirthday($happy,$value['sid']);
if (empty($SBL)){
$staffDynamic->content='
今天过生日!';
$staffDynamic->cid=$value['cid'];
$staffDynamic->category=$value['category'];
$staffDynamic->time=time();
$staffDynamic->sid=$value['sid'];
$staffDynamic->staff=$value['username'];
$staffDynamic->insert();
}
}
}
$sDynaimic=$staffDynamic->getStaffDynamic();
foreach ($sDynaimic as $key=>$value){
$time=date("Y-m-d",$value['time']);
$timeArray=explode('-', $time);
$sDynaimic[$key]['year']=$timeArray[0];
$sDynaimic[$key]['month']=$timeArray[1];
$sDynaimic[$key]['day']=$timeArray[2];
}
$data['sDynaimic']=$sDynaimic;
$data['category']=$L_category->getCategory();
$data['cid']=$cid;
$this->render ( "/staff_contacts", $data );
}
function app(){
$data['memu']="app";
$data['staff']=$this->staff;
$this->render ( "/app", $data );
}
function synClient(){
if($this->staff[0]['isadmin']!=1){
Doo::loadModel ( 'L_category' );
Doo::loadModel ( 'client_staff' );
$client_staff=new client_staff();
$cate=new L_category();
$district=$cate->getOne(array('where'=>'cid='.$this->staff[0]['cid'],'asArray'=>true));
$syn=$client_staff->synClient($this->staff[0]['sid'] ,$district['districtid']);
$bei=$client_staff->find(array('where'=>"sid = ".$this->staff[0]['sid'],'asArray'=>true));
foreach ($syn as $value){
$falg=true;
foreach ($bei as $v){
if(($v['cid']==$value['cid'])&&($v['sid']==$this->staff[0]['sid'])){
$falg=false;
break;
}
}
if($falg){
$client_staff=new client_staff();
$client_staff->sid=$this->staff[0]['sid'];
$client_staff->cid=$value['cid'];
$client_staff->insert();
}
}
}
return "/contacts";
}
function DoAddTagCompany(){
$cid = $this->get_args ( 'id' );
$tid = $this->get_args ( 'tagALD' );
Doo::loadModel('tagCompanyNexus');
$strtid=implode(",", $tid);
foreach ($cid as $key=>$value){
$tagClient=new tagCompanyNexus();
$tagClientInfo=$tagClient->getTagClientBySCid($value,$this->staff[0]['sid']);
$ar=explode(",", $strtid.','.$tagClientInfo['tag']);
$re=array_filter(array_unique($ar));
$tagClient->tag=implode(",", $re);
if(!empty($tagClientInfo)){
$tagClient->tcid=$tagClientInfo['tcid'];
$tagClient->update();
}else{
$tagClient->sid=$this->staff[0]['sid'];
$tagClient->company=$value;
$tagClient->insert();
}
}
header("Location: /mycompany");
}
function DoAddTag(){
$cid = $this->get_args ( 'id' );
$tooltipAct=$this->get_args('tooltipAct')?$this->get_args('tooltipAct'):"";
Doo::loadModel ( 'client' );
if (!empty($tooltipAct)){
$tid = $this->get_args ( 'tooltiplist' );
$k=implode(",", $tid);
Doo::loadModel('C_tooltip');
$s=" and cateid=".$this->staff[0]['cid'];
if(!empty($this->staff[0]['othercid'])){
$othercid=explode(",", $this->staff[0]['othercid']);
foreach ($othercid as $value){
$s.=" or cateid=".$value;
}
}
foreach ($cid as $key=>$value){
$C_tooltip = new C_tooltip ();
$tooltip=$C_tooltip->getOne(array('where'=>'cid='.$value." ".$s,'asArray'=>true));
if(empty($tooltip)){
$C_tooltip->cid=$value;
$C_tooltip->name=$k;
$C_tooltip->cateid=$this->staff[0]['cid'];
$C_tooltip->insert();
}else{
$C_tooltip->tip=$tooltip['tip'];
$C_tooltip->name=$k;
$C_tooltip->update();
}
}
}else{
$tid = $this->get_args ( 'tagALD' );
Doo::loadModel('tag_client');
$strtid=implode(",", $tid);
foreach ($cid as $key=>$value){
$tagClient=new tag_client();
$tagClientInfo=$tagClient->getTagClientBySCid($value,$this->staff[0]['sid']);
$ar=explode(",", $strtid.','.$tagClientInfo['tag']);
$re=array_filter(array_unique($ar));
$tagClient->tag=implode(",", $re);
if(!empty($tagClientInfo)){
$tagClient->tcid=$tagClientInfo['tcid'];
$tagClient->update();
}else{
$tagClient->sid=$this->staff[0]['sid'];
$tagClient->client=$value;
$tagClient->insert();
}
}
}
header("Location: /contacts");
}
function ajaxDeleteTag(){
$cid = $this->get_args ( 'cid' );
$tid = $this->get_args ( 'tid' );
Doo::loadModel ( 'tag_client' );
$tagClient = new tag_client ();
$tagInfo=$tagClient->getTagClientBySCid($cid, $this->staff[0]['sid']);
$tag=str_replace($tid,"",$tagInfo['tag']);
$ar=explode(',', $tag);
$tag=implode(',', array_filter($ar));
$tagClient->tcid=$tagInfo['tcid'];
$tagClient->tag=$tag;
$tagClient->update();
}
function ajaxDeleteTagCompany(){
$cid = $this->get_args ( 'cid' );
$tid = $this->get_args ( 'tid' );
Doo::loadModel ( 'tagCompanyNexus' );
$tagClient = new tagCompanyNexus ();
$tagInfo=$tagClient->getTagClientBySCid($cid, $this->staff[0]['sid']);
$tag=str_replace($tid,"",$tagInfo['tag']);
$ar=explode(',', $tag);
$tag=implode(',', array_filter($ar));
$tagClient->tcid=$tagInfo['tcid'];
$tagClient->tag=$tag;
$tagClient->update();
}
function deleteToolTip(){
$cid = $this->get_args ( 'cid' );
$cateid = $this->get_args ( 'cateid' );
$name = $this->get_args ( 'name' );
Doo::loadModel("C_tooltip");
$tooltip=new C_tooltip();
if(!empty($cid)&&!empty($cateid)&&!empty($name)){
$tool=$tooltip->getOne(array('where'=>'cid='.$cid.' and cateid='.$cateid,'asArray'=>true));
if(!empty($tool)){
$name=str_replace($name,"",$tool['name']);
$name=explode(',', $name);
$name=implode(',', array_filter($name));
$tooltip->name=$name;
$tooltip->tip=$tool['tip'];
$tooltip->update();
}
}
}
function DoEdiTagCompany(){
$tag_1=$this->get_args('tag_1')?$this->get_args('tag_1'):"";
$tag_2=$this->get_args('tag_2')?$this->get_args('tag_2'):"";
$tag_3=$this->get_args('tag_3')?$this->get_args('tag_3'):"";
$tag_4=$this->get_args('tag_4')?$this->get_args('tag_4'):"";
$tag_5=$this->get_args('tag_5')?$this->get_args('tag_5'):"";
$tag_6=$this->get_args('tag_6')?$this->get_args('tag_6'):"";
$tag_7=$this->get_args('tag_7')?$this->get_args('tag_7'):"";
$tid_1=$this->get_args('tid_1')?$this->get_args('tid_1'):0;
$tid_2=$this->get_args('tid_2')?$this->get_args('tid_2'):0;
$tid_3=$this->get_args('tid_3')?$this->get_args('tid_3'):0;
$tid_4=$this->get_args('tid_4')?$this->get_args('tid_4'):0;
$tid_5=$this->get_args('tid_5')?$this->get_args('tid_5'):0;
$tid_6=$this->get_args('tid_6')?$this->get_args('tid_6'):0;
$tid_7=$this->get_args('tid_7')?$this->get_args('tid_7'):0;
Doo::loadModel('tagCompany');
if(!empty($tag_1)&&!empty($tid_1)){
$tag = new tagCompany ();
$tag->tid=$tid_1;
$tag->name=$tag_1;
$tag->update();
}
if(!empty($tag_2)&&!empty($tid_2)){
$tag = new tagCompany ();
$tag->tid=$tid_2;
$tag->name=$tag_2;
$tag->update();
}
if(!empty($tag_3)&&!empty($tid_3)){
$tag = new tagCompany ();
$tag->tid=$tid_3;
$tag->name=$tag_3;
$tag->update();
}
if(!empty($tag_4)&&!empty($tid_4)){
$tag = new tagCompany ();
$tag->tid=$tid_4;
$tag->name=$tag_4;
$tag->update();
}
if(!empty($tag_5)&&!empty($tid_5)){
$tag = new tagCompany ();
$tag->tid=$tid_5;
$tag->name=$tag_5;
$tag->update();
}
if(!empty($tag_6)&&!empty($tid_6)){
$tag = new tagCompany ();
$tag->tid=$tid_6;
$tag->name=$tag_6;
$tag->update();
}
if(!empty($tag_7)&&!empty($tid_7)){
$tag = new tagCompany ();
$tag->tid=$tid_7;
$tag->name=$tag_7;
$tag->update();
}
return "/mycompany";
}
function DoEdiTag(){
$tag_1=$this->get_args('tag_1')?$this->get_args('tag_1'):"";
$tag_2=$this->get_args('tag_2')?$this->get_args('tag_2'):"";
$tag_3=$this->get_args('tag_3')?$this->get_args('tag_3'):"";
$tag_4=$this->get_args('tag_4')?$this->get_args('tag_4'):"";
$tag_5=$this->get_args('tag_5')?$this->get_args('tag_5'):"";
$tag_6=$this->get_args('tag_6')?$this->get_args('tag_6'):"";
$tag_7=$this->get_args('tag_7')?$this->get_args('tag_7'):"";
$tid_1=$this->get_args('tid_1')?$this->get_args('tid_1'):0;
$tid_2=$this->get_args('tid_2')?$this->get_args('tid_2'):0;
$tid_3=$this->get_args('tid_3')?$this->get_args('tid_3'):0;
$tid_4=$this->get_args('tid_4')?$this->get_args('tid_4'):0;
$tid_5=$this->get_args('tid_5')?$this->get_args('tid_5'):0;
$tid_6=$this->get_args('tid_6')?$this->get_args('tid_6'):0;
$tid_7=$this->get_args('tid_7')?$this->get_args('tid_7'):0;
Doo::loadModel('tag');
if(!empty($tag_1)&&!empty($tid_1)){
$tag = new tag ();
$tag->tid=$tid_1;
$tag->name=$tag_1;
$tag->update();
}
if(!empty($tag_2)&&!empty($tid_2)){
$tag = new tag ();
$tag->tid=$tid_2;
$tag->name=$tag_2;
$tag->update();
}
if(!empty($tag_3)&&!empty($tid_3)){
$tag = new tag ();
$tag->tid=$tid_3;
$tag->name=$tag_3;
$tag->update();
}
if(!empty($tag_4)&&!empty($tid_4)){
$tag = new tag ();
$tag->tid=$tid_4;
$tag->name=$tag_4;
$tag->update();
}
if(!empty($tag_5)&&!empty($tid_5)){
$tag = new tag ();
$tag->tid=$tid_5;
$tag->name=$tag_5;
$tag->update();
}
if(!empty($tag_6)&&!empty($tid_6)){
$tag = new tag ();
$tag->tid=$tid_6;
$tag->name=$tag_6;
$tag->update();
}
if(!empty($tag_7)&&!empty($tid_7)){
$tag = new tag ();
$tag->tid=$tid_7;
$tag->name=$tag_7;
$tag->update();
}
return "/contacts";
}
function ajaxGetLv2(){
$lv1=isset($_POST['lv1'])?$_POST['lv1']:0;
$s=isset($_POST['s'])?$_POST['s']:0;
if($lv1==0){
echo json_encode(array("success"=>false,"info"=>""));die;
}
if(!empty($lv1)){
Doo::loadModel ( 'district' );
$district = new district ();
$district=$district->get_lvByid($s,$lv1);
echo json_encode(array("success"=>true,"info"=>$district));
}
}
function keyonline(){
$data['memu']="keyonline";
$data['staff']=$this->staff;
$year=$this->get_args('year')?$this->get_args('year'):"";
if (empty($year))
$year=isset($this->params['year'])?$this->params['year']:date('Y');
$cid=$this->get_args('cid')?$this->get_args('cid'):"";
if (empty($cid))
$cid=isset($this->params['cid'])?$this->params['cid']:$this->staff[0]['cid'];
$staff=$this->get_args('staff')?$this->get_args('staff'):"";
if (empty($staff))
$staff=isset($this->params['staff'])?$this->params['staff']:"";
$status=$this->get_args('status')?$this->get_args('status'):"";
if (empty($status))
$status=isset($this->params['status'])?$this->params['status']:0;
$search=$this->get_args('search')?$this->get_args('search'):"";
$productW=$this->get_args('product')?$this->get_args('product'):"";
Doo::loadModel ( 'longle' );
$longle = new longle ();
$data['longleArray']=$longle->getLongleByStatus($year,$cid,$staff,$status,$search,$productW);
//获取接收锁信息
//$longle->getLongleByRe($this->staff[0]['cid'],1);
$othstr="";
if(!empty($this->staff[0]['othercid']))
$othstr=" cid in (".$this->staff[0]['cid'].",".$this->staff[0]['othercid'].")";
else
$othstr=" cid in (".$this->staff[0]['cid'].")";
$data['reLongle']=$longle->count(array('where'=>$othstr.' and status=1'));
$data['cid']=$cid;
$data['year']=$year;
$data['staff']=$staff;
$data['status']=$status;
$data['productName']=$productW;
Doo::loadModel ( 'L_category' );
Doo::loadModel('staff');
Doo::loadModel('product');
$product=new product();
$staff=new staff();
$L_category = new L_category ();
$data['product']=$product->getProudct();
$data['staffu']=$staff->getUserById($this->staff[0]['sid']);
$data['category']=$L_category->getCategory();
$data['staffList']=$staff->getStaffByCid($cid);
if($cid==1)
$data['cid']=$data['category'][0]['cid'];
$dateHtml="";$now=date("Y");
for ($YEARD=2050;$YEARD>=2004;$YEARD--){
if ($YEARD<=$now){
$dateHtml.='';
}
}
$data['dateHtml']=$dateHtml;
$this->render ( "/lock_look", $data );
}
function keyStatistics(){
Doo::loadModel('staff');
$staff=new staff();
Doo::loadModel ( 'longle' );
$longle = new longle ();
$staffCondition="";
if($this->staff[0]['cid']!=12)
$staffCondition=" and cid=".$this->staff[0]['cid'];
$staffList=$staff->find(array ('where' => "isadmin= 0 ".$staffCondition,'asArray' => TRUE));
Doo::db()->beginTransaction();
foreach ($staffList as $key=>$value){// not in(1,2)
$sum=$longle->count(array ('where' => "status!= 1 and responsible ='".$value['username']."'",'asArray' => TRUE));
$a=$longle->count(array ('where' => "status!= 2 and status!= 1 and responsible ='".$value['username']."'",'asArray' => TRUE));
$b=$sum-$a;
$staffList[$key]['sum']=$sum;
$staffList[$key]['a']=$a;
$staffList[$key]['b']=$b;
}
Doo::db()->commit();
$data['staff']=$this->staff;
$data['staffList']=$staffList;
$data['memu']="keyStatistics";
$this->render ( "lock_count", $data );
}
function addDoLockLog(){
Doo::loadModel ( 'longle_log' );
Doo::loadModel ( 'longle' );
Doo::loadModel("action_log");
Doo::loadModel ( 'client' );
$clientobj = new client ();
$longle = new longle ();
$longle_log = new longle_log ();
Doo::loadModel ( 'district' );
$district = new district ();
$status=isset($_POST['longleStatus'])?$_POST['longleStatus']:0;
$lid=isset($_POST['klid'])?$_POST['klid']:0;
if(empty($lid))
return "/keyonline/";
$linfo=$longle->getLongleByLid($lid);
if($status==0)
return "/keyonline/".$lid;
elseif($status==3){
$client=isset($_POST['browseClient'])?$_POST['browseClient']:"";
$client=explode('-', $client);
$product=isset($_POST['browseProduct'])?$_POST['browseProduct']:"";
$clientname=$clientobj->getClientByName2($client[0],$client[1]);
if(empty($clientname))
return "/keyonline/".$lid;
if($client[0]!=""){
$longle->client=$client[0];
$longle->clientid=$clientname[0]['cid'];
}
// if($product!="")
// $longle->product=$product;
$longle->statusT="借出";
$longle_log->client=$client[0];
$longle_log->clientid=$clientname[0]['cid'];
$longle_log->product=$linfo[0]['product'];
$longle_log->statusT="借出";
//日常行为
$action_log=new action_log();
$action_log->action=$this->staff[0]['category'].''.$this->staff[0]['username'].'借出'.$linfo[0]['key_num'].'给'.$client[0].'('.$clientname[0]['companyname'].')';
$action_log->sid=$this->staff[0]['sid'];
$action_log->cid=$this->staff[0]['cid'];
$action_log->updatetime=date("Y-m-d");
$action_log->time=date("H:i");
$action_log->status=4;
$action_log->districtid=$clientname[0]['district'];
$local=$district->getbyidlist($clientname[0]['district']);
$action_log->city=$local[0]['name'];
$action_log->province=$local[1]['name'];
$action_log->company=$clientname[0]['companyname'];
Doo::loadModel('company');
$company=new company();
$companyInfo=$company->getOne(array('where'=>' companyname="'.$clientname[0]['companyname'].'"','asArray'=>true));
$nature=explode(',', $companyInfo['nature']);
$action_log->nature=$nature[0];
$action_log->class=$action_log->iconBorrow;
$action_log->insert();
}elseif($status==4){
$product=isset($_POST['sellProduct'])?$_POST['sellProduct']:"";
$client=isset($_POST['sellClient'])?$_POST['sellClient']:"";
$client=explode('-', $client);
$clientname=$clientobj->getClientByName2($client[0],$client[1]);
if(empty($clientname))
return "/keyonline/".$lid;
if($client[0]!=""){
$longle->client=$client[0];
$longle->clientid=$clientname[0]['cid'];
}
// if($product!="")
// $longle->product=$product;
$longle->statusT="销售";
$longle_log->client=$client[0];
$longle_log->clientid=$clientname[0]['cid'];
$longle_log->product=$linfo[0]['product'];
$longle_log->statusT="销售";
//日常行为
$action_log=new action_log();
$action_log->action=$this->staff[0]['category'].''.$this->staff[0]['username'].'销售'.$linfo[0]['key_num'].'给'.$client[0].'('.$clientname[0]['companyname'].')';
$action_log->sid=$this->staff[0]['sid'];
$action_log->cid=$this->staff[0]['cid'];
$action_log->updatetime=date("Y-m-d");
$action_log->time=date("H:i");
$action_log->status=5;
$action_log->districtid=$clientname[0]['district'];
$local=$district->getbyidlist($clientname[0]['district']);
$action_log->city=$local[0]['name'];
$action_log->province=$local[1]['name'];
$action_log->company=$clientname[0]['companyname'];
Doo::loadModel('company');
$company=new company();
$companyInfo=$company->getOne(array('where'=>' companyname="'.$clientname[0]['companyname'].'"','asArray'=>true));
$nature=explode(',', $companyInfo['nature']);
$action_log->nature=$nature[0];
$action_log->class=$action_log->iconSell;
$action_log->insert();
}elseif($status==5){
$product=isset($_POST['newProduct'])?$_POST['newProduct']:"";
if($product!="")
$longle->product=$linfo[0]['product']."+".$product;
$longle->statusT="升级";
$longle_log->product=$linfo[0]['product']."+".$product;
$longle_log->statusT="升级";
$longle_log->client=$linfo[0]['client'];
$longle_log->clientid=$linfo[0]['clientid'];
$clientname=$clientobj->getOne( array ('where' => "cid= '".$linfo[0]['clientid']."'",'asArray' => TRUE));
//日常行为
$action_log=new action_log();
$action_log->action=$this->staff[0]['category'].''.$this->staff[0]['username'].'为'.$linfo[0]['client'].'('.$clientname['companyname'].')升级为'.$linfo[0]['key_num'].'';
$action_log->sid=$this->staff[0]['sid'];
$action_log->cid=$this->staff[0]['cid'];
$action_log->updatetime=date("Y-m-d");
$action_log->time=date("H:i");
$action_log->class=$action_log->iconUpdate;
$action_log->sid=$this->staff[0]['sid'];
$action_log->cid=$this->staff[0]['cid'];
$action_log->status=7;
$action_log->insert();
}elseif($status==6){
$key_num=isset($_POST['key_num'])?$_POST['key_num']:"";
$key_num2=explode("-", $key_num);
$key_num=$key_num2[0]."-".$key_num2[1];
//if($key_num!="")
// $longle->key_num=$key_num;
//新锁拷贝记录
$newLongle=new longle();
//$newLongle->product=$linfo[0]['product'];
$newLongle->statusT="更换";
$newLongle->status=6;
$newLongle->client=$linfo[0]['client'];
$newLongle->clientid=$linfo[0]['clientid'];
$newlid=$newLongle->update(array('where'=>' key_num= \''.$key_num."'"));
$longleinfo=$longle->getOne(array('where'=>' key_num =\''.$key_num."'",'asArray'=>true));
$longleLog=$longle_log->getOne(array('where'=>' lid ='.$linfo[0]['lid'],'desc'=>'logid','asArray'=>true));
//新记录日志
$newlongle_log=new longle_log();
$newlongle_log->statusT="更换";
$newlongle_log->status=6;
$newlongle_log->client=$linfo[0]['client'];
$newlongle_log->new_key_num=$linfo[0]['key_num'];
$newlongle_log->product=$linfo[0]['product'];
$newlongle_log->category=$this->staff[0]['category'];
$newlongle_log->dateline=date("Y-m-d");
$newlongle_log->operator=$this->staff[0]['username'];
$newlongle_log->lid=$longleinfo['lid'];
$newlongle_log->insert();
$newlongle_log=new longle_log();
$newlongle_log->statusT=$longleLog['statusT'];
$newlongle_log->status=$longleLog['status'];
$newlongle_log->client=$longleLog['client'];
$newlongle_log->new_key_num=$longleLog['new_key_num'];
$newlongle_log->product=$longleLog['product'];
$newlongle_log->category=$longleLog['category'];
$newlongle_log->dateline=$longleLog['dateline'];
$newlongle_log->operator=$longleLog['operator'];
$newlongle_log->lid=$longleinfo['lid'];
$newlongle_log->insert();
$newLongle=new longle();
$newLongle->statusT=$longleLog['statusT'];
$newLongle->status=$longleLog['status'];
$newlid=$newLongle->update(array('where'=>' key_num= \''.$key_num."'"));
//新锁状态拷贝
$longle->statusT="更换";
$longle_log->new_key_num=$key_num;
$longle_log->statusT="更换";
$longle_log->client=$linfo[0]['client'];
$clientname=$clientobj->getOne( array ('where' => "cid= '".$linfo[0]['clientid']."'",'asArray' => TRUE));
//日常行为
$action_log=new action_log();
$action_log->action=$this->staff[0]['category'].''.$this->staff[0]['username'].'为'.$linfo[0]['client'].'('.$clientname['companyname'].')更换为'.$key_num.'('.$linfo[0]['key_num'].')';
$action_log->sid=$this->staff[0]['sid'];
$action_log->cid=$this->staff[0]['cid'];
$action_log->updatetime=date("Y-m-d");
$action_log->time=date("H:i");
$action_log->class=$action_log->iconReplace;
$action_log->sid=$this->staff[0]['sid'];
$action_log->cid=$this->staff[0]['cid'];
$action_log->status=8;
$action_log->insert();
}elseif($status==7){
$longle->statusT="收回";
$longle_log->statusT="收回";
$longle_log->responsible=$linfo[0]['responsible'];
//日常行为
$action_log=new action_log();
$action_log->action=$this->staff[0]['category'].''.$this->staff[0]['username'].'收回'.$linfo[0]['client'].'的'.$linfo[0]['key_num'].'通过'.$this->staff[0]['responsible'].'';
$action_log->sid=$this->staff[0]['sid'];
$action_log->cid=$this->staff[0]['cid'];
$action_log->updatetime=date("Y-m-d");
$action_log->time=date("H:i");
$action_log->class=$action_log->iconRecycle;
$action_log->sid=$this->staff[0]['sid'];
$action_log->cid=$this->staff[0]['cid'];
$action_log->status=9;
$action_log->insert();
}elseif($status==8){
$mark=isset($_POST['mark'])?$_POST['mark']:"";
if (empty($mark)){
echo json_encode(array('msg'=>2));die;
}
$longle_log->mark=$mark;
//日常行为
$action_log=new action_log();
$action_log->action=$this->staff[0]['category'].''.$this->staff[0]['username'].'为'.$linfo[0]['key_num'].'添加新备注。';
$action_log->sid=$this->staff[0]['sid'];
$action_log->cid=$this->staff[0]['cid'];
$action_log->updatetime=date("Y-m-d");
$action_log->time=date("H:i");
$action_log->sid=$this->staff[0]['sid'];
$action_log->cid=$this->staff[0]['cid'];
$action_log->status=10;
$action_log->class=$action_log->iconLock;
$action_log->insert();
}elseif($status==9){
$longle->statusT="赠送";
$longle_log->statusT="赠送";
$client=isset($_POST['giftClient'])?$_POST['giftClient']:"";
$client=explode('-', $client);
$clientname=$clientobj->getClientByName2($client[0],$client[1]);
if(empty($clientname))
return "/keyonline/".$lid;
if($client[0]!=""){
$longle->client=$client[0];
$longle->clientid=$clientname[0]['cid'];
}
$longle_log->client=$client[0];
$longle_log->clientid=$clientname[0]['cid'];
//日常行为
$action_log=new action_log();
$action_log->action=$this->staff[0]['category'].''.$this->staff[0]['username'].'赠送'.$linfo[0]['key_num'].'给'.$client[0].'('.$clientname[0]['companyname'].')';
$action_log->updatetime=date("Y-m-d");
$action_log->time=date("H:i");
$action_log->class=$action_log->iconRecycle;
$action_log->sid=$this->staff[0]['sid'];
$action_log->cid=$this->staff[0]['cid'];
$action_log->status=6;
$action_log->districtid=$clientname[0]['district'];
$local=$district->getbyidlist($clientname[0]['district']);
$action_log->city=$local[0]['name'];
$action_log->province=$local[1]['name'];
$action_log->company=$clientname[0]['companyname'];
Doo::loadModel('company');
$company=new company();
$companyInfo=$company->getOne(array('where'=>' companyname="'.$clientname[0]['companyname'].'"','asArray'=>true));
$nature=explode(',', $companyInfo['nature']);
$action_log->nature=$nature[0];
$action_log->insert();
}
//记录使用过的状态
$statuslog=$status.",".$linfo[0]['statuslog'];
$ar=explode(',', $statuslog);
$statuslog=implode(',', array_unique(array_filter($ar)));
$longle->statuslog=$statuslog;
if($linfo[0]['status']<=2){
if($status>=4&&$status<=2){
return "/keyonline/".$lid;
}
}
if($lid!=0){
$longle->lid=$lid;
if($status!=8)
$longle->status=$status;
//if($status!=8)
$longle->responsible=$this->staff[0]['username'];
$longle->update();
}
$longle_log->lid=$lid;
$longle_log->status=$status;
$longle_log->operator=$this->staff[0]['username'];
//责任人
$longle_log->category=$this->staff[0]['category'];
$longle_log->dateline=date("Y-m-d");
$longle_log->insert();
echo json_encode(array('msg'=>1));die;
//return "/keyonline/".$lid;
}
function ajaxGetLongleByName(){
Doo::loadModel ( 'longle_log' );
Doo::loadModel ( 'longle' );
$longle = new longle ();
$longle_log = new longle_log ();
$name=isset($_POST['name'])?$_POST['name']:"";
if(empty($name)){
echo json_encode(array("success"=>false));die;
}
$ky=$longle->getLongleBykeynum($name);
$t=$longle_log->getLongleByLid($ky[0]['lid']);
if(isset($t[0]))
$tk=$t[0];
else
$tk=array();
$longleLog=$tk;
$longleLog['klid']=$t[0]['lid'];
$longleLog['longle']=$ky[0];
$longleLog['longleLogHtml']=$this->_getLongleLogHtml($t);
echo json_encode($longleLog);
}
function ajaxGetLongleN(){
Doo::loadModel ( 'longle_log' );
Doo::loadModel ( 'longle' );
$longle = new longle ();
$longle_log = new longle_log ();
$keynum=isset($_POST['keynum'])?$_POST['keynum']:"";
if(empty($keynum)){
echo json_encode(array("success"=>false));die;
}
$ky=$longle->getLongleBykeynum($keynum);
if(!empty($ky)){
$t=$longle_log->getLongleByLid($ky[0]['lid']);
if(isset($t[0]))
$tk=$t[0];
else
$tk=array();
$longleLog=$tk;
$longleLog['klid']=$ky[0]['lid'];
$longleLog['longle']=$ky[0];
$longleLog['longleLogHtml']=$this->_getLongleLogHtml($t);
echo json_encode($longleLog);
}
}
function ajaxGetLongle(){
Doo::loadModel ( 'longle_log' );
Doo::loadModel ( 'longle' );
$longle = new longle ();
$longle_log = new longle_log ();
$lid=isset($_POST['lid'])?$_POST['lid']:0;
if($lid==0){
echo json_encode(array("success"=>false));die;
}
$t=$longle_log->getLongleByLid($lid);
if(isset($t[0]))
$tk=$t[0];
else
$tk=array();
$longleLog=$tk;
$longleLog['klid']=$lid;
$ky=$longle->getLongleByLid($lid);
$longleLog['longle']=$ky[0];
$longleLog['longleLogHtml']=$this->_getLongleLogHtml($t);
echo json_encode($longleLog);
}
function ajaxGetStaffInfo(){
$username=isset($_POST['username'])?$_POST['username']:"";
if($username==""){
echo json_encode(array("success"=>false));die;
}
Doo::loadModel ( 'staff' );
$staff = new staff ();
$staffInfo=$staff->getOne(array('where'=>' username like "'.$username.'"', 'asArray' => TRUE ));
if(empty($staffInfo)){
echo json_encode(array("success"=>false,'html'=>''));die;
}
$staffHtml=array('html'=>'');
echo json_encode($staffHtml);
}
function ajaxGetCompanyByAdd(){
$cid=isset($_POST['cid'])?$_POST['cid']:"";
if(!empty($cid)){
Doo::loadModel ( 'company' );
$company = new company();
Doo::loadModel ( 'client' );
Doo::loadModel('district');
$district=new district();
$client = new client();
$districtInfo=$district->get_lv(1);
$companyInfo=$client->getClientByCompanyId($cid);
$companyInfo=$companyInfo[0];
$cInfo=$company->getOne(array('where'=>"cid = ".$cid,'asArray' => TRUE));
$companyInfo['ride']=$cInfo['ride'];
$companyInfo['landmarks']=$cInfo['landmarks'];
$companyInfo['stay']=$cInfo['stay'];
$artld=explode(',', $cInfo['local']);
$districtid=explode(',', $cInfo['district']);
$html="";
$html.=' ';
$html.='
';
$html.='
';
$companyInfo['dishtml']=$html;
$companyInfo['natureAr']=$this->nature;
$companyInfo['natureArlenght']=12;
echo json_encode(array("success"=>true,'data'=>$companyInfo));die;
}else
echo json_encode(array("success"=>false,'data'=>''));die;
}
function doEditCompanyD(){
$cid=isset($_POST['cid'])?$_POST['cid']:0;
$companyname=isset($_POST['companyname'])?$_POST['companyname']:"";
$lv21=isset($_POST['lv21'])?$_POST['lv21']:0;
$lv22=isset($_POST['lv22'])?$_POST['lv22']:0;
$lv23=isset($_POST['lv23'])?$_POST['lv23']:0;
$nature=isset($_POST['nature'])?$_POST['nature']:"";
$fax=isset($_POST['fax'])?$_POST['fax']:"";
$webservice=isset($_POST['webservice'])?$_POST['webservice']:"";
$address=isset($_POST['address'])?$_POST['address']:"";
$ride=isset($_POST['ride'])?$_POST['ride']:"";
$stay=isset($_POST['stay'])?$_POST['stay']:"";
$landmarks=isset($_POST['landmarks'])?$_POST['landmarks']:"";
if(empty($cid)||empty($companyname)){
echo json_encode(array("success"=>false));die;
}
Doo::loadModel("company");
Doo::loadModel("client");
$client=new client();
$company=new company();
$company->cid=$cid;
if(!empty($lv21)&&!empty($lv22)&&!empty($lv23)){
Doo::loadModel ( 'district' );
$district = new district ();
//更新公司信息
$lv1=$district->getbyid($lv21);
$lv2=$district->getbyid($lv22);
$lv3=$district->getbyid($lv23);
$company->district=$lv21.",".$lv22.",".$lv23;
$company->local=$lv1[0]['name'].",".$lv2[0]['name'].",".$lv3[0]['name'];
}
if(!empty($nature)){
$nature=implode(",", $nature);
$company->nature=$nature;
}
if(!empty($companyname)){
$company->companyname=$companyname;
$client->companyname=$companyname;
}
if(!empty($fax))
$company->fax=$fax;
if(!empty($webservice))
$company->webservice=$webservice;
if(!empty($address))
$company->address=$address;
if(!empty($ride))
$company->ride=$ride;
if(!empty($stay))
$company->stay=$stay;
if(!empty($landmarks))
$company->landmarks=$landmarks;
$company->update();
$client->update(array('where'=>' companyid ='.$cid));
echo json_encode(array("success"=>true));die;
}
function ajaxEditCompany(){
$companyname=isset($_POST['companyId'])?$_POST['companyId']:0;
if(!empty($companyname)){
Doo::loadModel ( 'company' );
$company = new company();
$companyInfo=$company->getOne(array('where'=>"cid = '".$companyname."'",'asArray' => TRUE));
if(!empty($companyInfo)){
Doo::loadModel('district');
$district=new district();
$districtinfo=$district->get_lv(1);
$dinfo=$district->getbyidlist($companyInfo['district']);
$html='
';
echo json_encode(array("success"=>true,'html'=>$html));die;
}
}else
echo json_encode(array("success"=>false,'html'=>''));die;
}
function ajaxGetCompany(){
$companyname=isset($_POST['companyId'])?$_POST['companyId']:0;
if(!empty($companyname)){
Doo::loadModel ( 'company' );
$company = new company();
$companyInfo=$company->getOne(array('where'=>"cid = '".$companyname."'",'asArray' => TRUE));
if(!empty($companyInfo)){
Doo::loadModel ( 'client' );
Doo::loadModel ( 'staff' );
Doo::loadModel ( 'client_staff' );
Doo::loadModel ( 'longle' );
$longle = new longle();
$client_staff = new client_staff();
$staff = new staff();
$client = new client();
$clientlist=$client->getClientByCompanyId($companyInfo['cid']);
$department=$client->getDepartment($companyInfo['cid']);
Doo::loadModel("tagCompanyNexus");
Doo::loadModel("tagCompany");
$tag=new tagCompany();
$tag_client=new tagCompanyNexus();
$tagId=$tag_client->getTagClientBySCid($companyInfo['cid'], $this->staff[0]['sid']);
$taginfo=$tag->getTagByTidL($tagId['tag']);
$taghtml="";
foreach ($taginfo as $key=>$value){
$taghtml.=''.$value['name'].'';
}
$html='';
$html.='';
foreach ($clientlist as $key=>$value){
$scinfo=$client_staff->getClientByCid($value['cid']);
$staffinfo=$staff->getUserById($scinfo['sid']);
$html.='
';
}
$html.="
";
echo json_encode(array("success"=>true,'html'=>$html));die;
}
}else
echo json_encode(array("success"=>false,'html'=>''));die;
}
function checkclicomname(){//地区区分
$companyname=isset($_POST['companyname'])?$_POST['companyname']:"";
$clientname=isset($_POST['clientname'])?$_POST['clientname']:"";
$district1=isset($_POST['district1'])?$_POST['district1']:0;
$district2=isset($_POST['district2'])?$_POST['district2']:0;
$district3=isset($_POST['district3'])?$_POST['district3']:0;
Doo::loadModel ( 'client' );
$client = new client ();
$local=$district1.",".$district2.",".$district3;
$companyname=trim($companyname);
$clientname=trim($clientname);
$clientinfo=$client->getClientToName($clientname,$companyname,$local);
if(!empty($clientinfo)){
echo json_encode(array('success'=>false));
}else{
echo json_encode(array('success'=>true));
}
}
function ajaxGetClientInfoN(){
$clientname=isset($_POST['client'])?$_POST['client']:"";
if($clientname==""){
echo json_encode(array("success"=>false));die;
}
Doo::loadModel ( 'client' );
Doo::loadModel ( 'client_staff' );
Doo::loadModel ( 'longle' );
Doo::loadModel ( 'company' );
Doo::loadModel ( 'service_log' );
$service_log = new service_log();
$company = new company();
$longle = new longle();
$client = new client ();
$client_staff = new client_staff ();
$clientInfo=$client->getOne(array("where"=>' cid like "'.$clientname.'"', 'asArray' => TRUE));
if(empty($clientInfo)){
echo json_encode(array("success"=>false,'html'=>''));die;
}
//获取锁
$longleInfo=$longle->getLongleByClient($clientname);
$k="";
foreach ($longleInfo as $key=>$value){
if($value['status']==6||$value['status']==7)
$k.=''.$value['key_num'].'/'.$value['product'].'/'.$value['statusT'].' ';
else
$k.=''.$value['key_num'].'/'.$value['product'].'/'.$value['statusT'].' ';
}
//获取办事人
$staffInfo=$client_staff->getClientByCid($clientInfo['cid']);
//获取公司信息
$companyInfo=$company->getCompanyByCid($clientInfo['companyid']);
$serviceLog=$service_log->getServiceByClientid($clientInfo['cid']);
$u="";
$order = array("\r\n", "\n", "\r");
$replace = '';
foreach ($serviceLog as $key=>$value){
$datetime=explode("-", $value['date']);
$u.='
'.$datetime['1'].'-'.$datetime['2'].'
'.$datetime['0'].'
';
if($value['status']==1)
$u.='- 上门服务
';
elseif ($value['status']==2)
$u.='- 电话拜访
';
elseif ($value['status']==3)
$u.='- 其他
';
$u.='
- '.$value['category'].''.$value['staffname'].'
-
'.str_replace($order, $replace, $value['mark']).'
';
}
Doo::loadModel("tag_client");
Doo::loadModel("tag");
$tag=new tag();
$tag_client=new tag_client();
$tagId=$tag_client->getTagClientBySCid($clientInfo['cid'], $this->staff[0]['sid']);
$taginfo=$tag->getTagByTidL($tagId['tag']);
// $taghtml="";
//
// foreach ($taginfo as $key=>$value){
// $taghtml.=''.$value['name'].'';
// }
$mhtml="";$dhtml="";
for ($month=1;$month<=12;$month++){
if(date("m")==$month)
$mhtml.='';
else
$mhtml.='';
}
for ($day=1;$day<=31;$day++){
if(date("d")==$day)
$dhtml.='';
else
$dhtml.='';
}
// $b="";
// if(!empty($staffInfo))
// $b=''.$staffInfo['category'].'-'.$staffInfo['username'].'
'.$clientInfo['clientname'].' ';
//
$m="";
if(!empty($companyInfo)){
$m='
单位全称 | '.$companyInfo[0]['companyname'].' |
地区 | '.$companyInfo[0]['local'].' | 部门/职位 | '.$clientInfo['department'].'/'.$clientInfo['position'].' |
传真 | '.$companyInfo[0]['fax'].' | 办公室 | '.$companyInfo[0]['office'].' |
单位地址 | '.$companyInfo[0]['address'].' |
乘车路线 | '.$companyInfo[0]['ride'].' |
地标建筑 | '.$companyInfo[0]['landmarks'].' |
参考住宿 | '.$clientInfo['stay'].' |
单位主页 | '.$clientInfo['webservice'].' |
';
}
$clientHtml=array('html'=>'
性别 | '.$clientInfo['gender'].' | 昵称 | '.$clientInfo['nicename'].' |
手机 | '.$clientInfo['telephone'].' | QQ | '.$clientInfo['qq'].' |
电话 | '.$clientInfo['phone'].' | 邮箱 | '.$clientInfo['email'].' |
软件锁 | '.$k.' |
|
'.$m.'
'.$u.'
');
echo json_encode($clientHtml);
}
function ajaxGetClientInfo(){
$clientname=isset($_POST['client'])?$_POST['client']:"";
if($clientname==""){
echo json_encode(array("success"=>false));die;
}
Doo::loadModel ( 'client' );
Doo::loadModel ( 'client_staff' );
Doo::loadModel ( 'longle' );
Doo::loadModel ( 'company' );
Doo::loadModel ( 'service_log' );
Doo::loadModel("district");
$district=new district();
$service_log = new service_log();
$company = new company();
$longle = new longle();
$client = new client ();
$client_staff = new client_staff ();
$nameStr=explode(",", $clientname);
//$clientname=$nameStr[1];
if(!empty($nameStr[0])){
$clientInfo=$client->getOne(array("where"=>' cid = "'.$nameStr[0].'"', 'asArray' => TRUE));
}elseif (!empty($nameStr[1]))
$clientInfo=$client->getOne(array("where"=>' clientname = "'.$nameStr[1].'"', 'asArray' => TRUE));
else
$clientInfo=array();
if(empty($clientInfo)){
echo json_encode(array("success"=>false,'html'=>''));die;
}
//获取锁
$longleInfo=$longle->getLongleByClientid($clientInfo['cid']);
$k="";
foreach ($longleInfo as $key=>$value){
if($value['status']==6||$value['status']==7)
$k.=''.$value['key_num'].'/'.$value['product'].'/'.$value['statusT'].' ';
else
$k.=''.$value['key_num'].'/'.$value['product'].'/'.$value['statusT'].' ';
}
//获取办事人
$staffInfo=$client_staff->getClientByCid($clientInfo['cid']);
$b="";
if(!empty($staffInfo))
$b=''.$staffInfo['category'].'-'.$staffInfo['username'].'
'.$clientInfo['clientname'].''.$clientInfo['priority'].'';
//获取公司信息
$companyInfo=$company->getCompanyByCid($clientInfo['companyid']);
$serviceLog=$service_log->getServiceByClientid($clientInfo['cid']);
$local=$district->getbyidlist($clientInfo['district']);
if(!isset($local[1]))
$local[1]['name']="";
if(!isset($local[2]))
$local[2]['name']="";
$m="";
if(!empty($companyInfo)){
$m='';
}
$u="";
$order = array("\r\n", "\n", "\r");
$replace = '';
foreach ($serviceLog as $key=>$value){
$datetime=explode("-", $value['date']);
$u.='
'.$datetime['1'].'-'.$datetime['2'].'
'.$datetime['0'].'
';
if($value['status']==1)
$u.='- 上门服务<';
elseif ($value['status']==2)
$u.='
- 电话拜访<';
elseif ($value['status']==3)
$u.='
- 其他<';
$u.=$value['category'].''.$value['staffname'].'
-
'.str_replace($order, $replace, $value['mark']).'
';
}
Doo::loadModel("tag_client");
Doo::loadModel("tag");
$tag=new tag();
$tag_client=new tag_client();
$tagId=$tag_client->getTagClientBySCid($clientInfo['cid'], $this->staff[0]['sid']);
$taginfo=$tag->getTagByTidL($tagId['tag']);
$taghtml="";
foreach ($taginfo as $key=>$value){
$taghtml.=''.$value['name'].'';
}
$mhtml="";$dhtml="";$yhtml="";
for ($year=2020;$year>=2004;$year--){
if(date("Y")==$year)
$yhtml.='';
else
$yhtml.='';
}
for ($month=1;$month<=12;$month++){
if(date("m")==$month)
$mhtml.='';
else
$mhtml.='';
}
for ($day=1;$day<=31;$day++){
if(date("d")==$day)
$dhtml.='';
else
$dhtml.='';
}
$clientHtml=array('html'=>'
');
echo json_encode($clientHtml);
}
function ajaxGetCompanyInfo(){
}
function checkClient(){
$searchDbInforItem=isset($_POST['name'])?$_POST['name']:"";
$searchDbInforItem=explode('-', $searchDbInforItem);
if(!empty($searchDbInforItem)){
Doo::loadModel ( 'client' );
$client = new client();
$clientInfo=$client->getClientByName2($searchDbInforItem[0],$searchDbInforItem[1]);
if(!empty($clientInfo))
echo json_encode(array("success"=>true));
else
echo json_encode(array("success"=>false));
}else{
echo json_encode(array("success"=>false));
}
}
function searchClient(){
$searchDbInforItem=isset($_GET['searchDbInforItem'])?$_GET['searchDbInforItem']:"";
if(!empty($searchDbInforItem)){
Doo::loadModel ( 'client' );
$client = new client();
$clientInfo=$client->getClientByName($searchDbInforItem);
echo json_encode($clientInfo);
}else{
echo json_encode(array(0=>array('clientname'=>'')));
}
}
function searchCompany(){
$searchDbInforItem=isset($_GET['searchDbInforItem'])?$_GET['searchDbInforItem']:"";
if(!empty($searchDbInforItem)){
Doo::loadModel ( 'company' );
$company = new company();
$clientInfo=$company->searchCompany($searchDbInforItem);
echo json_encode($clientInfo);
}else{
echo json_encode(array(0=>array('companyname'=>'','local'=>'')));
}
}
function checkCompany(){
$searchDbInforItem=isset($_POST['name'])?$_POST['name']:"";
$searchDbInforItem=explode('-', $searchDbInforItem);
$this->nature['naturelenght']=15;
Doo::loadModel ( 'district' );
$district = new district ();
$d=$district->get_lv(1);
$html='';
foreach ($d as $key=>$value){
$html.='';
}
$this->nature['district']=$html;
if(!empty($searchDbInforItem)){
Doo::loadModel ( 'company' );
$company = new company();
if(!isset($searchDbInforItem[1])){
echo json_encode(array("success"=>false,'nature'=>$this->nature));die;
}
$clientInfo=$company->getCompanyByName($searchDbInforItem[0],$searchDbInforItem[1]);
if(!empty($clientInfo))
echo json_encode(array("success"=>true,'data'=>$clientInfo));
else
echo json_encode(array("success"=>false,'nature'=>$this->nature));
}else{
echo json_encode(array("success"=>false,'nature'=>$this->nature));
}
}
function checkLongle(){
$searchDbInforItem=isset($_POST['name'])?$_POST['name']:"";
$searchDbInforItem=explode(' ', $searchDbInforItem);
if(!empty($searchDbInforItem)){
Doo::loadModel ( 'longle' );
$longle = new longle();
$clientInfo=$longle->getLongleBykeynum($searchDbInforItem[0]);
if(!empty($clientInfo))
echo json_encode(array("success"=>true));
else
echo json_encode(array("success"=>false));
}else{
echo json_encode(array("success"=>false));
}
}
function searchLongle(){
$searchDbInforItem=isset($_GET['searchDbInforItem'])?$_GET['searchDbInforItem']:"";
if(!empty($searchDbInforItem)){
Doo::loadModel ( 'longle' );
$longle = new longle();
$longleInfo=$longle->getLongleBykeynum2($searchDbInforItem);
echo json_encode($longleInfo);
}else{
echo json_encode(array(0=>array('clientname'=>'')));
}
}
function updateChangeCompany(){
$cid=isset($_POST['cid'])?$_POST['cid']:0;
$clientID=isset($_POST['clientID'])?$_POST['clientID']:0;
$companyname=isset($_POST['companyname'])?$_POST['companyname']:"";
Doo::loadModel ( 'company' );
Doo::loadModel ( 'client' );
$client = new client();
$company = new company();
$companyname=explode("-", $companyname);
if(isset($companyname[1]))
$k=$company->getCompanyByName($companyname[0], $companyname[1]);
else
$k=array();
if(!empty($cid)&&!empty($k)&&!empty($clientID)){
$client->cid=$clientID;
$client->companyid=$cid;
$client->companyname=$companyname[0];
$client->update();
}else{
$local1=isset($_POST['lv21'])?$_POST['lv21']:0;
$local2=isset($_POST['lv22'])?$_POST['lv22']:0;
$local3=isset($_POST['lv23'])?$_POST['lv23']:0;
Doo::loadModel ( 'district' );
$district = new district ();
//更新公司信息
$lv1=$district->getbyid($local1);
$lv2=$district->getbyid($local2);
$lv3=$district->getbyid($local3);
if(empty($local1)||empty($local2))
return "/";
if(!empty($local1)&&!empty($local2))
$company->local=$lv1[0]['name'].",".$lv2[0]['name'].",".$lv3[0]['name'];
if(!empty($local1)&&!empty($local2))
$company->district=$local1.",".$local2.",".$local3;
$nature=isset($_POST['nature'])?$_POST['nature']:"";
$fax=isset($_POST['fax'])?$_POST['fax']:"";
$webservice=isset($_POST['webservice'])?$_POST['webservice']:"";
$address=isset($_POST['address'])?$_POST['address']:"";
$landmarks=isset($_POST['landmarks'])?$_POST['landmarks']:"";
$stay=isset($_POST['stay'])?$_POST['stay']:"";
$ride=isset($_POST['ride'])?$_POST['ride']:"";
$nature=implode(",", $nature);
$company->companyname=$companyname[0];
$company->ride=$ride;
$company->fax=$fax;
$company->webservice=$webservice;
$company->address=$address;
$company->landmarks=$landmarks;
$company->stay=$stay;
$company->nature=$nature;
$cid=$company->insert();
$client->cid=$clientID;
$client->companyid=$cid;
$client->companyname=$companyname[0];
$client->update();
}
return "/";
}
function AddClientInfo(){//不编辑公司
$cid=isset($_POST['cid'])?$_POST['cid']:0;
$clientname=isset($_POST['clientname'])?$_POST['clientname']:"";
$gender=isset($_POST['gender'])?$_POST['gender']:"";
$nicename=isset($_POST['nicename'])?$_POST['nicename']:"";
$telephone=isset($_POST['telephone'])?$_POST['telephone']:"";
$phone=isset($_POST['phone'])?$_POST['phone']:"";
$email=isset($_POST['email'])?$_POST['email']:"";
$unit=isset($_POST['unit'])?$_POST['unit']:"";
$fax=isset($_POST['fax'])?$_POST['fax']:"";
$webservice=isset($_POST['webservice'])?$_POST['webservice']:"";
$department=isset($_POST['department'])?$_POST['department']:"";
$position=isset($_POST['position'])?$_POST['position']:"";
$office=isset($_POST['office'])?$_POST['office']:"";
$address=isset($_POST['address'])?$_POST['address']:"";
$ride=isset($_POST['ride'])?$_POST['ride']:"";
$landmarks=isset($_POST['landmarks'])?$_POST['landmarks']:"";
$qq=isset($_POST['qq'])?$_POST['qq']:"";
$priority=isset($_POST['priority'])?$_POST['priority']:5;
$stay=isset($_POST['stay'])?$_POST['stay']:"";
$mark=isset($_POST['mark'])?$_POST['mark']:"";
$lv21=isset($_POST['lv21'])?$_POST['lv21']:0;
$lv22=isset($_POST['lv22'])?$_POST['lv22']:0;
$lv23=isset($_POST['lv23'])?$_POST['lv23']:0;
if(!empty($cid)&&!empty($clientname)){
Doo::loadModel ( 'client' );
Doo::loadModel('district');
$district=new district();
$client = new client();
$client->cid=$cid;
$client->clientname=$clientname;
$client->gender=$gender;
$client->nicename=$nicename;
$client->telephone=$telephone;
$client->phone=$phone;
$client->email=$email;
// if(!empty($unit)){
// $client->unit=$unit;
// $client->companyname=$unit;
// }
if(!empty($lv21)&&!empty($lv22)&&!empty($lv23)){
$client->district=$lv21.",".$lv22.",".$lv23;
}
if(!empty($client->district)){
$districtList=$district->find(array('where'=>'id in('.$client->district.')','asArray'=>true));
$jsonString=array();
foreach ($districtList as $value){
array_push($jsonString, $value['name']);
}
$jsonString=implode(",", $jsonString);
if (!empty($jsonString))
$client->local=$jsonString;
}
$client->fax=$fax;
$client->webservice=$webservice;
$client->department=$department;
$client->position=$position;
$client->office=$office;
$client->address=$address;
$client->ride=$ride;
$client->landmarks=$landmarks;
$client->qq=$qq;
$client->stay=$stay;
$client->priority=$priority;
$client->mark=$mark;
$client->updatetime=time();
$client->update();
// Doo::loadModel ( 'company' );
// $company = new company();
// $companyid=$client->getOne(array('where'=>' cid='.$cid,'asArray'=>true));
// $company->office=$office;
// $company->fax=$fax;
// $company->address=$address;
// $company->ride=$ride;
// $company->landmarks=$landmarks;
// $company->cid=$companyid['companyid'];
// if(!empty($unit)){
// $company->companyname=$unit;
// }
// $company->update();
$clientInfo=$client->getOne(array('where'=>' cid='.$cid,'asArray'=>true));
//日常行为
Doo::loadModel("action_log");
$action_log=new action_log();
$action_log->action=$this->staff[0]['category'].''.$this->staff[0]['username'].'编辑了'.$clientname.'('.$clientInfo['companyname'].')';
$action_log->sid=$this->staff[0]['sid'];
$action_log->cid=$this->staff[0]['cid'];
$action_log->updatetime=date("Y-m-d");
$action_log->time=date("H:i");
$action_log->class=$action_log->iconContacts;
$action_log->status=2;
$action_log->districtid=$clientInfo['district'];
$local=$district->getbyidlist($clientInfo['district']);
$action_log->city=$local[0]['name'];
$action_log->province=$local[1]['name'];
$action_log->company=$clientInfo['companyname'];
Doo::loadModel('company');
$company=new company();
$companyInfo=$company->getOne(array('where'=>' companyname="'.$clientInfo['companyname'].'"','asArray'=>true));
$nature=explode(',', $companyInfo['nature']);
$action_log->nature=$nature[0];
$action_log->insert();
echo json_encode(array("success"=>true));die;
}else
echo json_encode(array("success"=>false));die;
}
function ajaxClientInfo(){
$cid=isset($_POST['cid'])?$_POST['cid']:0;
if(!empty($cid)){
Doo::loadModel ( 'client' );
Doo::loadModel('company');
Doo::loadModel('district');
$district = new district();
$company = new company();
$client = new client();
$info=$client->getOne(array('where'=>' cid='.$cid,'asArray'=>true));
$cinfo=$company->getOne(array('where'=>' cid='.$info['companyid'],'asArray'=>true));
$districtLv1=$district->get_lv(1);
$info['districtList']=$district->getbyidlist($info['district']);
$optionHtml='';
foreach ($districtLv1 as $key=>$value){
if($value['name']==$info['districtList'][0]['name'])
$optionHtml.='';
else
$optionHtml.='';
}
$info['districtLv1']=$optionHtml;
$info['companyInfo']=$cinfo;
echo json_encode(array("success"=>true,'html'=>$info));die;
}else
echo json_encode(array("success"=>false,'html'=>''));die;
}
function ajaxAddServiceLog(){
$status=isset($_POST['status'])?$_POST['status']:"";
$clientid=isset($_POST['cid'])?$_POST['cid']:"";
$mark=isset($_POST['mark'])?$_POST['mark']:"";
$m=isset($_POST['m'])?$_POST['m']:"";
$d=isset($_POST['d'])?$_POST['d']:"";
$y=isset($_POST['y'])?$_POST['y']:date("Y");
$Remind=isset($_POST['Remind'])?$_POST['Remind']:0;
$time=isset($_POST['time'])?$_POST['time']:0;
$remark=isset($_POST['remark'])?$_POST['remark']:"";
if(!empty($status)&&!empty($clientid)){
Doo::loadModel ( 'service_log' );
Doo::loadModel ( 'client_staff' );
Doo::loadModel ( 'client' );
Doo::loadModel('district');
$district=new district();
$client = new client();
$clientStaff=new client_staff();
$service_log = new service_log();
$service_log->status=$status;
$service_log->clientid=$clientid;
$service_log->mark=htmlspecialchars($mark);
$service_log->date=$y."-".$m."-".$d;
$service_log->category=$this->staff[0]['category'];
$service_log->staffname=$this->staff[0]['username'];
$service_log->staffid=$this->staff[0]['sid'];
$service_log->insert();
//日常行为
Doo::loadModel("action_log");
Doo::loadModel("client");
$client=new client();
//记录服务时间
$client->cid=$clientid;
$client->servicetime=time();
$client->update();
$action_log=new action_log();
$clientInfo=$client->getOne(array('where'=>' cid='.$clientid,'asArray' => TRUE));
$action_log->action=$this->staff[0]['category'].''.$this->staff[0]['username'].'为'.$clientInfo['clientname'].'('.$clientInfo['companyname'].')添加新客户记录。';
$action_log->sid=$this->staff[0]['sid'];
$action_log->cid=$this->staff[0]['cid'];
$action_log->updatetime=date("Y-m-d");
$action_log->time=date("H:i");
$action_log->status=3;
$action_log->districtid=$clientInfo['district'];
$local=$district->getbyidlist($clientInfo['district']);
$action_log->city=$local[0]['name'];
$action_log->province=$local[1]['name'];
$action_log->company=$clientInfo['companyname'];
Doo::loadModel('company');
$company=new company();
$companyInfo=$company->getOne(array('where'=>' companyname="'.$clientInfo['companyname'].'"','asArray'=>true));
$nature=explode(',', $companyInfo['nature']);
$action_log->nature=$nature[0];
$action_log->class=$action_log->iconContacts;
$action_log->insert();
if (!empty($Remind)){
Doo::loadModel('remind');
$remindObj=new remind();
$datetime1 = new DateTime(date('Y-m-d'));
$datetime2 = new DateTime($time);
$interval = $datetime1->diff($datetime2);
$remindObj->day=$interval->format('%a');
$remindObj->remark=$remark;
$remindObj->time=date("Y-m-d");
$remindObj->clientName=$clientInfo['clientname'];
$remindObj->clientID=$clientid;
$remindObj->companyName=$clientInfo['companyname'];
$remindObj->companyID=$companyInfo['cid'];
$remindObj->staffID=$this->staff[0]['sid'];
if ($status==1)
$remindObj->class="iconService";
if ($status==2)
$remindObj->class="iconPhone";
if ($status==3)
$remindObj->class="iconOther";
$remindObj->insert();
}
echo json_encode(array("success"=>true,'html'=>''));die;
}else
echo json_encode(array("success"=>false,'html'=>''));die;
}
function _getLongleLogHtml($longleLog=array()){
$html="";
foreach ($longleLog as $key=>$value){
$dateline=explode("-", $value['dateline']);
$html.='
'.$dateline[1].'-'.$dateline[2].'
'.$dateline[0].'
';
//备注
if($value['status']==8){
$html.='
';
//生成
}elseif($value['status']==1){
$html.='
';
//接收
}elseif($value['status']==2){
$html.='
';
//借出
}elseif($value['status']==3){
$html.='
';
//销售
}elseif($value['status']==4){
$html.='
';
//升级
}elseif($value['status']==5){
$html.='
';
//更换
}elseif($value['status']==6){
$html.='
';
//回收
}elseif($value['status']==7){
Doo::loadModel ( 'staff' );
$staff = new staff ();
$staffinfo=$staff->getOne(array('where'=>' username like "'.$value['responsible'].'"','asArray'=>true));
if (empty($staffinfo))
$staffinfo['category']="";
$html.='
';
}elseif($value['status']==9){
$html.='
';
}
$html.='
';
}
return $html;
}
function adminLock(){
$emsg=isset($this->params['emsg'])?$this->params['emsg']:"";
$data['emsg']="";
if($emsg!="")
$data['emsg']="请填写完整的数据";
$data['memu']="keyonline";
$data['staff']=$this->staff;
if($this->staff[0]['isadmin']!=1)
return "/adminmyinfo";
Doo::loadModel ( 'L_category' );
$L_category = new L_category ();
$data['category']=$L_category->getCategory();
$data['time']=time();
$this->render ( "/admin/admin_addlock", $data );
}
function adminAddLock(){
$cid=isset($_POST['cid'])?$_POST['cid']:0;
$path=isset($_POST['path'])?$_POST['path']:"";
if($cid!=0&&$path!=""){
Doo::loadModel ( 'longle' );
Doo::loadModel ( 'L_category' );
$L_category = new L_category ();
Doo::loadModel ( 'longle_log' );
$exlArray=$this->_format_excel_to_array(DOO::conf()->SITE_PATH."upload/".iconv("UTF-8", "GB2312", $path));
//print_r($exlArray);die;
//echo json_encode($exlArray);die;
$category=$L_category->getCategoryById($cid);
foreach ($exlArray as $key=>$value){
//锁记录
$longle = new longle ();
$longle->key_num=str_replace("'","",$value['key_num']);
$longle->product=str_replace("'","",$value['product']);
$longle->make_day=$value['make_day'];
$longle->alloted_time=$value['alloted_time'];
$longle->status=1;
$longle->statusT="生成";
$longle->cid=$cid;
$longle->category=$category[0]['title'];
$longle->SerialNumber=$value['SerialNumber'];
$longle->version=$value['version'];
$lid=$longle->insert();
//锁日志记录
$longle_log=new longle_log();
$longle_log->lid=$lid;
$longle_log->status=1;
$longle_log->statusT="生成";
$longle_log->operator=$this->staff[0]['username'];
$longle_log->product=$longle->product;
$longle_log->category=$this->staff[0]['category'];
$longle_log->dateline=date("Y-m-d");
$id=$longle_log->insert();
}
//记录日常行为
Doo::loadModel("action_log");
$action_log=new action_log();
$action_log->action='总部'.$this->staff[0]['username'].'生成'.str_replace("'","",$exlArray[0]['key_num']).'等'.count($exlArray).'个锁';
$action_log->sid=$this->staff[0]['sid'];
$action_log->cid=$this->staff[0]['cid'];
$action_log->class=$action_log->iconGenerate;
$action_log->updatetime=date("Y-m-d");
$action_log->time=date("H:i");
$action_log->status=11;
$action_log->insert();
return "/keyonline";
}else
return "/adminlock/error";
}
function avatarCM(){
$vid=isset($this->params['vid'])?$this->params['vid']:0;
if(!empty($vid)){
Doo::loadModel("verify");
$verify=new verify();
Doo::loadModel('staff');
$staff=new staff();
$list=$verify->getOne(array('where'=>'vid='.$vid,'asArray'=>true));
if (empty($list))
return "/adminverify";
$avatar=json_decode($list['staff']);
foreach ($avatar as $key=>$value){
$uinfo=$staff->getOne(array('where'=>'sid='.$value[0],'asArray'=>true));
$avatar[$key]['2']=$uinfo['avatar'];
}
$verify->staff=json_encode($avatar);
$verify->update(array('where'=>'vid='.$vid));
}
return "/adminverify";
}
function adminmyinfo(){
$data['memu']="adminmyinfo";
$data['staff']=$this->staff;
$birArray=explode('-', $this->staff[0]['birthday']);
$data['year']=$birArray[0];
$year=date('Y');$yearHtml="";
for (;$year>=1900;$year--){
$yearHtml.='';
}
$data['yearHtml']=$yearHtml;
$data['month']=01;
$data['day']=01;
if(isset($birArray[1])){
$data['month']=$birArray[1];
$data['day']=$birArray[2];
}
$data['msg']=urldecode($this->params['msg']);
$this->render ( "/admin/admin_myinfo", $data );
}
function updateMyinfo(){
$telephone=$this->get_args('telephone')?$_POST['telephone']:0;
$phone=$this->get_args('phone')?$_POST['phone']:0;
$email=isset($_POST['email'])?$_POST['email']:"";
$qq=is_numeric($this->get_args('qq'))?$_POST['qq']:0;
$year=$this->get_args('year')?$_POST['year']:date("Y");
$month=$this->get_args('month')?$_POST['month']:"";
$day=$this->get_args('day')?$_POST['day']:"";
$position=$this->get_args('position')?$_POST['position']:"";
$gender=$this->get_args('gender')?$_POST['gender']:"男";
$oldpassword=$this->get_args('oldpassword')?$_POST['oldpassword']:"";
$newpassword=$this->get_args('newpassword')?$_POST['newpassword']:"";
$rnewpassword=$this->get_args('rnewpassword')?$_POST['rnewpassword']:"";
Doo::loadModel ( 'staff' );
$staff = new staff ();
Doo::loadModel ( 'staffDynamic' );
$staffDynamic=new staffDynamic();
$staff->sid=$this->staff[0]['sid'];
$content="";$ext="更新了他的";
if($telephone!=0&&$this->staff[0]['telephone']!=$telephone){
$staff->telephone=$telephone;
$content.="手机 ";
}
if($phone!=0&&$this->staff[0]['phone']!=$phone){
$staff->phone=$phone;
$content.="电话 ";
}
if($qq!=0&&$this->staff[0]['qq']!=$qq){
$staff->qq=$qq;
$content.="QQ ";
}
if($year!=2014){
$staff->birthday=$year."-".$month."-".$day;
$content.="生日 ";
}
if($email!=""&&filter_var($email, FILTER_VALIDATE_EMAIL)&&$this->staff[0]['email']!=$email){
$staff->email=$email;
$content.="邮箱 ";
}
if (!empty($position)){
$staff->position=$position;
$content.="职位 ";
}
$staff->gender=$gender;
$msg="更新成功";
if($this->staff[0]['passwork']==md5($oldpassword)){
if($newpassword==$rnewpassword&&(!empty($newpassword)))
$staff->passwork=md5($newpassword);
else
$msg="密码不一致";
}else{
if($oldpassword!="")
$msg="密码错误";
}
if (!empty($content)){
$staffDynamic->content=$ext.$content;
$staffDynamic->cid=$this->staff[0]['cid'];
$staffDynamic->category=$this->staff[0]['category'];
$staffDynamic->time=time();
$staffDynamic->sid=$this->staff[0]['sid'];
$staffDynamic->staff=$this->staff[0]['username'];
$staffDynamic->insert();
}
$staff->update(array('where'=>' sid='.$this->staff[0]['sid']));
return "/adminmyinfo/".$msg;
}
function admincontacts(){
$data['memu']="admincontacts";
$data['staff']=$this->staff;
Doo::loadModel ( 'L_category' );
Doo::loadModel ( 'staff' );
$staff = new staff ();
$L_category = new L_category ();
$this->render ( "/admin/admin_addContacts", $data );
}
function eMailTask(){
Doo::loadModel('tag');
$tag=new tag();
Doo::loadModel('district');
$district= new district();
$tagList=$tag->getAllBySid($this->staff[0]['sid']);
$districtList=$district->get_lv(1);
$data['tagList']=$tagList;
$data['districtList']=$districtList;
$data['memu']="eMailTask";
$data['staff']=$this->staff;
$data['mailMemu']='eMailTask';
$data['nature']=$this->nature;
$this->render ( "/mail_create", $data );
}
function eMialCenter(){
$year=$this->get_args('year')?$this->get_args('year'):date("Y");
$month=$this->get_args('month')?$this->get_args('month'):0;
Doo::loadModel('eMailList');
$eMailList=new eMailList();
Doo::loadModel('tag');
$tag=new tag();
Doo::loadModel ( 'staff' );
$staff = new staff ();
$dateCondition="status!=2 and Year(date) =".$year;
if(!empty($month))
$dateCondition="Year(date) =".$year." and Month(date) = ".$month;
$mailList=$eMailList->find(array('where'=>$dateCondition,'asc'=>'status','desc'=>'elid','asArray'=>true));
foreach ($mailList as $key=>$value){
$mailList[$key]['clientName2']=$mailList[$key]['clientName3']=array();
$mailList[$key]['clientName']=json_decode(gzuncompress(base64_decode($value['clientName'])),true);
if(!empty($value['clientName2']))
$mailList[$key]['clientName2']=json_decode(gzuncompress(base64_decode($value['clientName2'])),true);
if(!empty($value['clientName3']))
$mailList[$key]['clientName3']=json_decode(gzuncompress(base64_decode($value['clientName3'])),true);
$mailList[$key]['illegalEmail']=json_decode($value['illegalEmail'],true);
$mailList[$key]['sendEmail']=json_decode($value['sendEmail'],true);
$mailList[$key]['clientCount']=count($mailList[$key]['clientName'])+count($mailList[$key]['clientName2'])+count($mailList[$key]['clientName3']);
$mailList[$key]['tag']=array();
$kks=$staff->getOne(array('where'=>'username like "'.$value['staffName'].'"','asArray'=>true));
$mailList[$key]['category']=$kks['category'];
if (!empty($value['tag']))
$mailList[$key]['tag']=$tag->find(array('where'=>'tid in ( '.$value['tag'].') ','asArray'=>true));
}
$dateHtml="";$now=date("Y");
for ($YEARD=2014;$YEARD<=2050;$YEARD++){
if ($YEARD<=$now){
$dateHtml.='';
}
}
$monthHtml='';
for ($i=1;$i<=12;$i++){
$monthHtml.='';
}
$data['monthHtml']=$monthHtml;
$data['dateHtml']=$dateHtml;
$data['mailList']=$mailList;
$data['memu']="eMailTask";
$data['staff']=$this->staff;
$data['mailMemu']='eMialCenter';
$data['nature']=$this->nature;
$this->render ( "/mailCenter", $data );
}
function authMail(){
$elid=isset($this->params['elid'])?$this->params['elid']:0;
if (!empty($elid)){
Doo::loadModel('eMailList');
$eMailList=new eMailList();
$eMailList->examine=2;
$eMailList->mark=$this->staff[0]['username']."已同意";
$eMailList->update(array('where'=>'elid='.$elid,'asArray'=>true));
}
return '/eMialCenter';
}
function editMailView(){
$elid=isset($this->params['elid'])?$this->params['elid']:0;
Doo::loadModel('tag');
$tag=new tag();
Doo::loadModel('district');
$district= new district();
Doo::loadModel('eMailList');
$eMList=new eMailList();
$mail=$eMList->getOne(array('where'=>'elid ='.$elid.'','asArray'=>true));
if(empty($mail))
return "/eMailList";
$mail['tagList']=explode(",", $mail['tag']);
$tagList=$tag->getAllBySid($this->staff[0]['sid']);
$districtList=$district->get_lv(1);
$tagHtml='';
foreach ($tagList as $key=>$value){
$tagHtml.='';
}
$districtHtml='';
foreach ($districtList as $key=>$value){
$districtHtml.='';
}
$natureHtml='';
$natList=explode(",", $mail['nature']);
foreach ($this->nature as $key=>$value){
$natureHtml.='';
}
$data['natureHtml']=$natureHtml;
$data['districtHtml']=$districtHtml;
$data['tagHtml']=$tagHtml;
$data['mail']=$mail;
$data['tagList']=$tagList;
$data['districtList']=$districtList;
$data['memu']="eMailTask";
$data['staff']=$this->staff;
$data['mailMemu']='eMailList';
$data['nature']=$this->nature;
$this->render ( "/mailEdit", $data );
}
function editEmail(){
$title=$this->get_args('title')?$this->get_args('title'):"";
$skin=$this->get_args('skin')?$this->get_args('skin'):"";
$content=isset($_POST['content'])?$_POST['content']:"";
$tagId=$this->get_args('tagId')?$this->get_args('tagId'):array();
$nature=$this->get_args('nature')?$this->get_args('nature'):array();
$natureNULL=$this->get_args('natureNULL')?$this->get_args('natureNULL'):"";
$did=$this->get_args('did')?$this->get_args('did'):"";
$stype=$this->get_args('stype')?$this->get_args('stype'):"";
$elid=$this->get_args('elid')?$this->get_args('elid'):"";
if (!empty($title)&&!empty($elid)&&(!empty($tagId)||!empty($did))){
Doo::loadModel('eMailList');
$eMailList=new eMailList();
$etid=$eMailList->getOne(array('select'=>'etid,annexName,annex','where'=>'elid='.$elid,'asArray'=>true));
Doo::loadModel('eMailTemplate');
$eMailTemplate=new eMailTemplate();
Doo::loadModel('eMailJournal');
$eMailJournal=new eMailJournal();
if ($natureNULL!='NULL'){
if (empty($tagId)&&!empty($did)&&empty($nature))
die('请选择性质');
}
//annex
$annexPath="";$annexEXT=$this->_GetFileEXT($_FILES["annex"]["name"]);$annexName="";
if ( isset($_FILES['annex']['name']) ){
if ((($annexEXT == "doc")|| ($annexEXT == "xls")|| ($annexEXT == "pdf")|| ($annexEXT == "ppt")|| ($annexEXT == "txt")|| ($annexEXT == "smr")
|| ($annexEXT == "spu")|| ($annexEXT == "zip")|| ($annexEXT == "rar")|| ($annexEXT == "jpg")|| ($annexEXT == "png")
)&& ($_FILES["annex"]["size"] < 10485760)){
$path=DOO::conf()->SITE_PATH."upload/emailAnnex/";
if (!file_exists( $path. $_FILES["annex"]["name"])){
$fileName=time().".".$annexEXT;
$annexName=$_FILES['annex']['name'];
$annexPath=$path.$fileName ;
move_uploaded_file($_FILES["annex"]["tmp_name"],$annexPath);
$annexPath=$this->webPath.$fileName;
}
}
}
if (!empty($annexPath)){
$annexHtml='';
}elseif (!empty($etid['annexName'])&&empty($annexPath))
$annexHtml=$etid['annex'];
$smartcostMail='smartcost_mail_1';
$info="";
//html template
if($skin==1){
$html='
'.$title.'
|
CLIENTNAME,您好
|
我是纵横公路造价软件 '.$this->staff[0]['username'].':
'.$content.'
|
'.$annexHtml.'
|
纵横公路造价软件'.$this->staff[0]['category'].'办事处
电话: | '.$this->staff[0]['phone'].' |
联系人: | '.$this->staff[0]['username'].' |
手机: | '.$this->staff[0]['telephone'].' |
QQ: | '.$this->staff[0]['qq'].' |
邮箱: | '.$this->staff[0]['email'].' |
| |
珠海纵横创新软件有限公司 smartcost.com.cn |
|
';
$info='电话: | '.$this->staff[0]['phone'].' |
联系人: | '.$this->staff[0]['username'].' |
手机: | '.$this->staff[0]['telephone'].' |
QQ: | '.$this->staff[0]['qq'].' |
邮箱: | '.$this->staff[0]['email'].' |
---|
';
}elseif ($skin==2){
$smartcostMail='smartcost_mail_2';
$html='
'.$title.' |
 |
 |
CLIENTNAME,您好
我是纵横公路造价软件 '.$this->staff[0]['username'].':
'.$content.' |
'.$annexHtml.'
|
纵横公路造价软件'.$this->staff[0]['category'].'办事处 '.$this->staff[0]['username'].' |
电话: | '.$this->staff[0]['phone'].' |
手机: | '.$this->staff[0]['telephone'].' |
QQ: | '.$this->staff[0]['qq'].' |
邮箱: | '.$this->staff[0]['email'].' |
|
|
|
珠海纵横创新软件有限公司 smartcost.com.cn |
|
';
$info='
电话: | '.$this->staff[0]['phone'].' |
手机: | '.$this->staff[0]['telephone'].' |
QQ: | '.$this->staff[0]['qq'].' |
邮箱: | '.$this->staff[0]['email'].' |
';
}else{
$smartcostMail='smartcost_mail_3';
$html='
|
CLIENTNAME,您好
我是纵横公路造价软件 '.$this->staff[0]['username'].':
'.$content.' |
'.$annexHtml.'
|
纵横公路造价软件'.$this->staff[0]['category'].'办事处 '.$this->staff[0]['username'].' smartcost.com.cn |
电话: | '.$this->staff[0]['phone'].' |
手机: | '.$this->staff[0]['telephone'].' |
QQ: | '.$this->staff[0]['qq'].' |
邮箱: | '.$this->staff[0]['email'].' |
|
|
|
|
|
';
$info='电话: | '.$this->staff[0]['phone'].' |
手机: | '.$this->staff[0]['telephone'].' |
---|
QQ: | '.$this->staff[0]['qq'].' |
邮箱: | '.$this->staff[0]['email'].' |
';
}
Doo::loadModel('tag_client');
$tagClient=new tag_client();
Doo::loadModel('client');
$client=new client();
Doo::loadModel('company');
$company=new company();
$eMailTemplate->title=$title;
$eMailTemplate->skin=$skin;
$eMailTemplate->content=$content;
if (!empty($tagId))
$eMailTemplate->tag=implode(",", $tagId);
$eMailTemplate->staffId=$this->staff[0]['sid'];
$eMailTemplate->staffName=$this->staff[0]['username'];
$eMailTemplate->status=0;
$eMailTemplate->html=$html;
if (!empty($annexPath)){
$eMailTemplate->annex=$annexPath;
$eMailTemplate->annexName=$annexName;
}
$etid=$eMailTemplate->update(array('where'=>'etid='.$etid['etid']));
//create email list
$tagCondition="";$tagArray=array();
foreach ($tagId as $value){
array_push($tagArray, " tag like '%".$value."%' ");
}
if(!empty($tagArray))
$tagCondition=' and ('.implode(" or ", $tagArray).')';
$clientList=$tagClient->find(array('select'=>'client','where'=>'sid='.$this->staff[0]['sid'].$tagCondition,'asArray'=>true));
$clientArray=array();
foreach ($clientList as $value){
array_push($clientArray, $value['client']);
}
$clientEmailList=array();
if (!empty($clientArray))
$clientEmailList=$client->find(array('select'=>'email,cid,nicename as clientname,companyname','where'=>'cid in ('.implode(",", $clientArray).')','asArray'=>true));
//
if ($stype==2){
//获取性质相关数据
$cidList='';
if ($natureNULL==''){
$nD=array();
foreach ($nature as $key=>$value){
array_push($nD, ' nature like "'.$value.'"');
//$nD=' nature like "'.$value.'"';
}
$nD=implode(' or ', $nD);
$companycid=$company->find(array('select'=>'cid','where'=>$nD,'asArray'=>true));
$cidList=array();
foreach ($companycid as $key=>$value){
array_push($cidList, $value['cid']);
}
$cidList=implode(',', $cidList);
if (!empty($cidList))
$cidList=' and companyid in ('.$cidList.')';
else
$cidList='';
}
//'select'=>'email,cid,nicename as clientname,companyname,district'
$clientEmailList=$client->find(array('select'=>'email,cid,nicename as clientname,companyname,district','where'=>'district like "'.$did.',%" '.$cidList,'asArray'=>true));
}
//;datediff(curdate(), 'date')>=10
$eMailJournal->delete(array('where'=>"datediff(curdate(), date)>=7"));
$eMailJournal->delete(array('where'=>'DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(date)'));
$checkMail=$eMailJournal->find(array('where'=>'DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(date)',' groupby'=>'email','asArray'=>true));
$emailNameList=$emailArray=$illegalEmail=$sendEmail=array();
Doo::db()->beginTransaction();
foreach ($clientEmailList as $value){
if(filter_var($value['email'], FILTER_VALIDATE_EMAIL)){
if(!empty($checkMail)){
$falg=true;
foreach ($checkMail as $v){
if($v['email']==$value['email']){
$Bdate=strtotime($v['date'])+7*24*3600;
if($Bdate<=time()){
array_push($emailArray, $value['email']);
array_push($emailNameList, $value);
$eMailJournal->date=date("Y-m-d");
$eMailJournal->update(array('where'=>'ejid='.$v['ejid']));
}else{
array_push($sendEmail, $value);
}
$falg=false;
break;
}
}
if ($falg){
array_push($emailArray, $value['email']);
array_push($emailNameList, $value);
$eMailJournal->clientId=$value['cid'];
$eMailJournal->status=1;
$eMailJournal->email=$value['email'];
$eMailJournal->date=date("Y-m-d");
$eMailJournal->insert();
}
}else{
array_push($emailArray, $value['email']);
array_push($emailNameList, $value);
$eMailJournal->clientId=$value['cid'];
$eMailJournal->status=1;
$eMailJournal->email=$value['email'];
$eMailJournal->date=date("Y-m-d");
$eMailJournal->insert();
}
}else{
array_push($illegalEmail, $value);
}
}
Doo::db()->commit();
//echo json_encode($illegalEmail);
//json_encode(array_slice($illegalEmail,0,100))
// $kk=gzcompress();
// $ll=gzuncompress($kk);
//."".strlen($kk)."".strlen($ll);die;
$size=floor(count($emailArray)/3);
if (!empty($emailArray)){
if(count($emailArray)<3){
$list=array(0=>$emailArray,1=>array(),2=>array());
}else
$list=array_chunk($emailArray,$size);
}else
$list=array(0=>array(),1=>array(),2=>array());
$emailJson=array();
foreach ($list as $value){
$em=array();
foreach ($value as $v){
array_push($em, $v);
}
array_push($emailJson, $em);
}
$size=floor(count($emailNameList)/3);
if (!empty($emailNameList)){
if(count($emailNameList)<3){
$list=array(0=>$emailNameList,1=>array(),2=>array());
}else
$list=array_chunk($emailNameList,$size);
}else
$list=array(0=>array(),1=>array(),2=>array());
$emailNameJson=array();
foreach ($list as $value){
$em=array();
foreach ($value as $v){
array_push($em, $v);
}
array_push($emailNameJson, $em);
}
//
$eMailList->date=date("Y-m-d");
$eMailList->clientEmail=base64_encode(gzcompress(json_encode($emailJson[0])));
$eMailList->clientEmail2=base64_encode(gzcompress(json_encode($emailJson[1])));
$eMailList->clientEmail3=base64_encode(gzcompress(json_encode($emailJson[2])));
$eMailList->clientName=base64_encode(gzcompress(json_encode($emailNameJson[0])));
$eMailList->clientName2=base64_encode(gzcompress(json_encode($emailNameJson[1])));
$eMailList->clientName3=base64_encode(gzcompress(json_encode($emailNameJson[2])));
$eMailList->illegalEmail=json_encode(array_slice($illegalEmail,0,100));//json_encode($illegalEmail);
$eMailList->sendEmail=json_encode($sendEmail);
$eMailList->templateName=$smartcostMail;
$eMailList->eTitle=$title;
$eMailList->html=$html;
$eMailList->content=$content;
$eMailList->info=$info;
if (!empty($annexName)){
$eMailList->annex=$annexHtml;
$eMailList->annexName=$annexName;
}
if ($stype==1){
$eMailList->tag=implode(",", $tagId);
$eMailList->districtId="";
$eMailList->nature="";
}
if ($stype==2){
$eMailList->districtId=$did;
$eMailList->nature=implode(",", $nature);
$eMailList->tag="";
}
$eMailList->update(array('where'=>'elid='.$elid));
return "/eMailList";
}
return "/eMailTask";
}
function createEmail(){
//include Doo::conf()->BASE_PATH.'diagnostic/debug.php';
$title=$this->get_args('title')?$this->get_args('title'):"";
$skin=$this->get_args('skin')?$this->get_args('skin'):"";
$content=isset($_POST['content'])?$_POST['content']:"";
$tagId=$this->get_args('tagId')?$this->get_args('tagId'):array();
$nature=$this->get_args('nature')?$this->get_args('nature'):array();
$natureNULL=$this->get_args('natureNULL')?$this->get_args('natureNULL'):"";
$did=$this->get_args('did')?$this->get_args('did'):"";
$stype=$this->get_args('stype')?$this->get_args('stype'):"";
if (!empty($title)&&(!empty($tagId)||!empty($did))){
Doo::loadModel('eMailTemplate');
$eMailTemplate=new eMailTemplate();
Doo::loadModel('eMailJournal');
$eMailJournal=new eMailJournal();
if ($natureNULL!='NULL'){
if (empty($tagId)&&!empty($did)&&empty($nature)){
header ( 'Content-Type:text/html;charset=utf-8' );
die('请选择性质');
}
}
//annex
$annexPath="";$annexEXT=$this->_GetFileEXT($_FILES["annex"]["name"]);$annexName="";
if ( isset($_FILES['annex']['name']) ){
if ((($annexEXT == "doc")|| ($annexEXT == "xls")|| ($annexEXT == "pdf")|| ($annexEXT == "ppt")|| ($annexEXT == "txt")|| ($annexEXT == "smr")
|| ($annexEXT == "spu")|| ($annexEXT == "zip")|| ($annexEXT == "rar")|| ($annexEXT == "jpg")|| ($annexEXT == "png")
)&& ($_FILES["annex"]["size"] < 10485760)){
$path=DOO::conf()->SITE_PATH."upload/emailAnnex/";
if (!file_exists( $path. $_FILES["annex"]["name"])){
$fileName=time().".".$annexEXT;
$annexName=$_FILES['annex']['name'];
$annexPath=$path.$fileName ;
move_uploaded_file($_FILES["annex"]["tmp_name"],$annexPath);
$annexPath=$this->webPath.$fileName;
}
}
}
$annexHtml='';
$smartcostMail='smartcost_mail_1';
$info="";
//html template
if($skin==1){
$html='
'.$title.'
|
CLIENTNAME,您好
|
我是纵横公路造价软件 '.$this->staff[0]['username'].':
'.$content.'
|
'.$annexHtml.'
|
纵横公路造价软件'.$this->staff[0]['category'].'办事处
电话: | '.$this->staff[0]['phone'].' |
联系人: | '.$this->staff[0]['username'].' |
手机: | '.$this->staff[0]['telephone'].' |
QQ: | '.$this->staff[0]['qq'].' |
邮箱: | '.$this->staff[0]['email'].' |
| |
珠海纵横创新软件有限公司 smartcost.com.cn |
|
';
$info='电话: | '.$this->staff[0]['phone'].' |
联系人: | '.$this->staff[0]['username'].' |
手机: | '.$this->staff[0]['telephone'].' |
QQ: | '.$this->staff[0]['qq'].' |
邮箱: | '.$this->staff[0]['email'].' |
---|
';
}elseif ($skin==2){
$smartcostMail='smartcost_mail_2';
$html='
'.$title.' |
 |
 |
CLIENTNAME,您好
我是纵横公路造价软件 '.$this->staff[0]['username'].':
'.$content.' |
'.$annexHtml.'
|
纵横公路造价软件'.$this->staff[0]['category'].'办事处 '.$this->staff[0]['username'].' |
电话: | '.$this->staff[0]['phone'].' |
手机: | '.$this->staff[0]['telephone'].' |
QQ: | '.$this->staff[0]['qq'].' |
邮箱: | '.$this->staff[0]['email'].' |
|
|
|
珠海纵横创新软件有限公司 smartcost.com.cn |
|
';
$info='
电话: | '.$this->staff[0]['phone'].' |
手机: | '.$this->staff[0]['telephone'].' |
QQ: | '.$this->staff[0]['qq'].' |
邮箱: | '.$this->staff[0]['email'].' |
';
}else{
$smartcostMail='smartcost_mail_3';
$html='
|
CLIENTNAME,您好
我是纵横公路造价软件 '.$this->staff[0]['username'].':
'.$content.' |
'.$annexHtml.'
|
纵横公路造价软件'.$this->staff[0]['category'].'办事处 '.$this->staff[0]['username'].' smartcost.com.cn |
电话: | '.$this->staff[0]['phone'].' |
手机: | '.$this->staff[0]['telephone'].' |
QQ: | '.$this->staff[0]['qq'].' |
邮箱: | '.$this->staff[0]['email'].' |
|
|
|
|
|
';
$info='电话: | '.$this->staff[0]['phone'].' |
手机: | '.$this->staff[0]['telephone'].' |
---|
QQ: | '.$this->staff[0]['qq'].' |
邮箱: | '.$this->staff[0]['email'].' |
';
}
$eMailTemplate->title=$title;
$eMailTemplate->skin=$skin;
$eMailTemplate->content=$content;
if (!empty($tagId))
$eMailTemplate->tag=implode(",", $tagId);
$eMailTemplate->staffId=$this->staff[0]['sid'];
$eMailTemplate->staffName=$this->staff[0]['username'];
$eMailTemplate->status=0;
$eMailTemplate->html=$html;
$eMailTemplate->annex=$annexPath;
$eMailTemplate->annexName=$annexName;
$etid=$eMailTemplate->insert();
//create email list
Doo::loadModel('tag_client');
$tagClient=new tag_client();
Doo::loadModel('client');
$client=new client();
Doo::loadModel('eMailList');
$eMailList=new eMailList();
Doo::loadModel('company');
$company=new company();
$tagCondition="";$tagArray=array();
foreach ($tagId as $value){
array_push($tagArray, " tag like '%".$value."%' ");
}
if(!empty($tagArray))
$tagCondition=' and ('.implode(" or ", $tagArray).')';
$clientList=$tagClient->find(array('select'=>'client','where'=>'sid='.$this->staff[0]['sid'].$tagCondition,'asArray'=>true));
$clientArray=array();
foreach ($clientList as $value){
array_push($clientArray, $value['client']);
}
$clientEmailList=array();
if (!empty($clientArray))
$clientEmailList=$client->find(array('select'=>'email,cid,nicename as clientname,companyname','where'=>'cid in ('.implode(",", $clientArray).')','asArray'=>true));
//
if ($stype==2){
//获取性质相关数据
$cidList='';
if ($natureNULL==''){
$nD=array();
foreach ($nature as $key=>$value){
array_push($nD, ' nature like "'.$value.'"');
//$nD=' nature like "'.$value.'"';
}
$nD=implode(' or ', $nD);
$companycid=$company->find(array('select'=>'cid','where'=>$nD,'asArray'=>true));
$cidList=array();
foreach ($companycid as $key=>$value){
array_push($cidList, $value['cid']);
}
$cidList=implode(',', $cidList);
if (!empty($cidList))
$cidList=' and companyid in ('.$cidList.')';
else
$cidList='';
}
//'select'=>'email,cid,nicename as clientname,companyname,district'
$clientEmailList=$client->find(array('select'=>'email,cid,nicename as clientname,companyname,district','where'=>'district like "'.$did.',%" '.$cidList,'asArray'=>true));
}
//;datediff(curdate(), 'date')>=10
$eMailJournal->delete(array('where'=>"datediff(curdate(), date)>=7"));
$checkMail=$eMailJournal->find(array('where'=>'DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(date)',' groupby'=>'email','asArray'=>true));
$emailNameList=$emailArray=$illegalEmail=$sendEmail=array();
Doo::db()->beginTransaction();
foreach ($clientEmailList as $value){
if(filter_var($value['email'], FILTER_VALIDATE_EMAIL)){
if(!empty($checkMail)){
$falg=true;
foreach ($checkMail as $v){
if($v['email']==$value['email']){
$Bdate=strtotime($v['date'])+7*24*3600;
if($Bdate<=time()){
array_push($emailArray, $value['email']);
array_push($emailNameList, $value);
$eMailJournal->date=date("Y-m-d");
$eMailJournal->update(array('where'=>'ejid='.$v['ejid']));
}else{
array_push($sendEmail, $value);
}
$falg=false;
break;
}
}
if ($falg){
array_push($emailArray, $value['email']);
array_push($emailNameList, $value);
$eMailJournal->clientId=$value['cid'];
$eMailJournal->status=1;
$eMailJournal->email=$value['email'];
$eMailJournal->date=date("Y-m-d");
//$eMailJournal->insert();
}
}else{
array_push($emailArray, $value['email']);
array_push($emailNameList, $value);
$eMailJournal->clientId=$value['cid'];
$eMailJournal->status=1;
$eMailJournal->email=$value['email'];
$eMailJournal->date=date("Y-m-d");
//$eMailJournal->insert();
}
}else{
array_push($illegalEmail, $value);
}
}
Doo::db()->commit();
//echo json_encode($illegalEmail);
//json_encode(array_slice($illegalEmail,0,100))
// $kk=gzcompress();
// $ll=gzuncompress($kk);
//."".strlen($kk)."".strlen($ll);die;
$size=floor(count($emailArray)/3);
if (!empty($emailArray)){
if(count($emailArray)<3){
$list=array(0=>$emailArray,1=>array(),2=>array());
}else
$list=array_chunk($emailArray,$size);
}else
$list=array(0=>array(),1=>array(),2=>array());
$emailJson=array();
foreach ($list as $value){
$em=array();
foreach ($value as $v){
array_push($em, $v);
}
array_push($emailJson, $em);
}
$size=floor(count($emailNameList)/3);
if (!empty($emailNameList)){
if(count($emailNameList)<3){
$list=array(0=>$emailNameList,1=>array(),2=>array());
}else
$list=array_chunk($emailNameList,$size);
}else
$list=array(0=>array(),1=>array(),2=>array());
$emailNameJson=array();
foreach ($list as $value){
$em=array();
foreach ($value as $v){
array_push($em, $v);
}
array_push($emailNameJson, $em);
}
//
$eMailList->date=date("Y-m-d");
$eMailList->clientEmail=base64_encode(gzcompress(json_encode($emailJson[0])));
$eMailList->clientEmail2=base64_encode(gzcompress(json_encode($emailJson[1])));
$eMailList->clientEmail3=base64_encode(gzcompress(json_encode($emailJson[2])));
$eMailList->clientName=base64_encode(gzcompress(json_encode($emailNameJson[0])));
$eMailList->clientName2=base64_encode(gzcompress(json_encode($emailNameJson[1])));
$eMailList->clientName3=base64_encode(gzcompress(json_encode($emailNameJson[2])));
$eMailList->illegalEmail=json_encode(array_slice($illegalEmail,0,100));//json_encode($illegalEmail);
$eMailList->sendEmail=json_encode($sendEmail);
$eMailList->etid=$etid;
$eMailList->templateName=$smartcostMail;
$eMailList->eTitle=$title;
$eMailList->html=$html;
$eMailList->content=$content;
$eMailList->info=$info;
if (!empty($annexName))
$eMailList->annex=$annexHtml;
$eMailList->annexName=$annexName;
$eMailList->staffId=$this->staff[0]['sid'];
$eMailList->staffName=$this->staff[0]['username'];
if ($stype==1)
$eMailList->tag=implode(",", $tagId);
if ($stype==2){
$eMailList->districtId=$did;
$eMailList->nature=implode(",", $nature);
}
$eMailList->insert();
return "/eMailList";
}
return "/eMailTask";
}
function eMailList(){
Doo::loadModel('eMailList');
$eMailList=new eMailList();
Doo::loadModel('tag');
$tag=new tag();
$mailList=$eMailList->find(array('where'=>'staffId='.$this->staff[0]['sid'],'desc'=>'elid','asArray'=>true));
foreach ($mailList as $key=>$value){
$mailList[$key]['clientName2']=$mailList[$key]['clientName3']=array();
$mailList[$key]['clientName']=json_decode(gzuncompress(base64_decode($value['clientName'])),true);
if(!empty($value['clientName2']))
$mailList[$key]['clientName2']=json_decode(gzuncompress(base64_decode($value['clientName2'])),true);
if(!empty($value['clientName3']))
$mailList[$key]['clientName3']=json_decode(gzuncompress(base64_decode($value['clientName3'])),true);
$mailList[$key]['illegalEmail']=json_decode($value['illegalEmail'],true);
$mailList[$key]['sendEmail']=json_decode($value['sendEmail'],true);
$mailList[$key]['clientCount']=count($mailList[$key]['clientName'])+count($mailList[$key]['clientName2'])+count($mailList[$key]['clientName3']);
$mailList[$key]['tag']=array();
if (!empty($value['tag']))
$mailList[$key]['tag']=$tag->find(array('where'=>'tid in ( '.$value['tag'].') ','asArray'=>true));
}
$data['mailList']=$mailList;
$data['memu']="eMailTask";
$data['staff']=$this->staff;
$data['mailMemu']='eMailList';
$this->render ( "/mail_list", $data );
}
function showEmailContent(){
$elid=isset($this->params['elid'])?$this->params['elid']:0;
Doo::loadModel('eMailList');
$eMList=new eMailList();
$isSend=$eMList->getOne(array('where'=>'elid ='.$elid.'','asArray'=>true));
echo htmlspecialchars($isSend['content']);
}
function postEmail(){
//include Doo::conf()->BASE_PATH.'diagnostic/debug.php';
$elid=isset($this->params['elid'])?$this->params['elid']:0;
$send=isset($this->params['send'])?$this->params['send']:0;
Doo::loadModel('eMailList');
$eMList=new eMailList();
if (!empty($elid)){
$isSend=$eMList->getOne(array('select'=>'send'.$send,'where'=>'elid ='.$elid.' and status=0 and send'.$send.'=1','asArray'=>true));
if (!empty($isSend))
die('这批邮件已经发送');
if ($send==1)
$send='';
$eMailList=$eMList->getOne(array('select'=>'eTitle,staffName,clientName'.$send.' as clientName,clientEmail'.$send.' as clientEmail,annex,info,content,templateName','where'=>'elid ='.$elid.' and status=0','asArray'=>true));
$toFormatMail=array();$sub=array();
$toMail=json_decode(gzuncompress(base64_decode($eMailList['clientEmail'])),true);
//$toMailCount=count($toMail);
$subMail=json_decode(gzuncompress(base64_decode($eMailList['clientName'])),true);
$chunkMail=array_chunk($toMail,80);
$chunkSubMail=array_chunk($subMail,80);
$vii=0;
foreach ($chunkMail as $key=>$value){
$l=$s=$c=$i=$cate=$con=$annex=array();
$toFormatMail['to']=$value;
$cn=$chunkSubMail[$key];
foreach ($cn as $v ){
array_push($l, $eMailList['eTitle']);
array_push($s, $eMailList['staffName']);
array_push($c, $v['clientname']);
array_push($annex, $eMailList['annex']);
array_push($i, $eMailList['info']);
//array_push($con, $eMailList['content']);
array_push($cate, $this->staff[0]['category']);
}
$sub['%eTitle%']=$l;
$sub['%staffName%']=$s;
$sub['%clientName%']=$c;
$sub['%category%']=$cate;
$sub['%info%']=$i;
//$sub['%content%']=$con;
$sub['%annex%']=$annex;
$toFormatMail['sub']=$sub;
$url = 'http://sendcloud.sohu.com/webapi/mail.send_template.xml';
$param = array('api_user' => 'cldmail',
'api_key' => 'cDO1GjtY1seH',
'template_invoke_name'=>$eMailList['templateName'],
'from' =>$this->staff[0]['email'],
'fromname' => '纵横'.$eMailList['staffName'],
'subject' => $eMailList['eTitle'],
'substitution_vars' => json_encode($toFormatMail));
$post_data = http_build_query($param);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, false); //设定是否输出页面内容
curl_setopt($ch, CURLOPT_NOBODY, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$result =curl_exec($ch);
curl_close($ch);
/*
if($result=='success'){
$eM=new eMailList();
$eM->status='2';
$eM->update(array('where'=>'elid=?','param'=>array($elid)));
}
*/
}
if ($send=="")
$send=1;
$sql = "update `CLD_eMailList` set send".$send."='1' where elid = '" . $elid."'";
Doo::db ()->query ( $sql );
$isSend=$eMList->getOne(array('where'=>'elid ='.$elid.' and status=0 and send1=1 and send2=1 and send3=1','asArray'=>true));
if (!empty($isSend)){
$sql = "update `CLD_eMailList` set status='2' where elid = '" . $elid."'";
Doo::db ()->query ( $sql );
}
//die;
return '/eMailList';
}
}
function a(){
$substitution_vars=$this->get_args('substitution_vars');
file_put_contents(DOO::conf()->SITE_PATH .'upload/'."_".time()."_".rand(100,999).".log",$substitution_vars);
}
function deleteEmail(){
$elid=isset($this->params['elid'])?$this->params['elid']:0;
if (!empty($elid)){
$sql = "DELETE FROM `CLD_eMailList` where elid = '" . $elid."'";
Doo::db ()->query ( $sql );
return '/eMailList';
}
}
/**
* 发送post请求
* @param string $url 请求地址
* @param array $post_data post键值对数据
* @return string
*/
function sendPost($url, $post_data) {
$postdata = http_build_query($post_data);
//X-Amzn-Authorization: AWS3 AWSAccessKeyId=AKIAIDSE5VYNX5ERJHXQ,Signature=lBP67vCvGlDMBQ=dofZxg8E8SUEXAMPLE,Algorithm=HmacSHA256,SignedHeaders=qG1BdSh9QyYPlWLnjqvjDXjyPdFjl7fUSkfs0Hk2
$options = array(
'http' => array(
'method' => 'POST',
'header' => '
Content-Type: application/x-www-form-urlencoded
',
'content' => $postdata,
'timeout' => 15 * 60 // 超时时间(单位:s)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return $result;
}
function avatar(){
$result = array();
$result['success'] = false;
$successNum = 0;
//定义一个变量用以储存当前头像的序号
$avatarNumber = 1;
$i = 0;
$msg = '';
//上传目录
$dir = DOO::conf()->SITE_PATH."global/avatar";
//遍历所有文件域
while (list($key, $val) = each($_FILES)){
if ( $_FILES[$key]['error'] > 0)
$msg .= $_FILES[$key]['error'];
else{
$fileName = 'avatar_'.$this->staff[0]['sid'];
//原始图片(file 域的名称:__source,如果客户端定义可以上传的话,可在此处理)。
if ($key == '__source'){//当前头像基于原图的初始化参数,用于修改头像时保证界面的视图跟保存头像时一致。帮助提升用户体验度。修改头像时设置默认加载的原图的url为此图片的url+该参数即可。
$initParams = $_POST["__initParams"];
$virtualPath = $dir."/".$fileName."_".$avatarNumber.".jpg";
$result['sourceUrl'] = '/' . $virtualPath.$initParams;
move_uploaded_file($_FILES[$key]["tmp_name"], $virtualPath);
$successNum++;
}else if (strpos($key, '__avatar') === 0){//头像图片(file 域的名称:__avatar1,2,3...)。
$virtualPath = $dir."/".$fileName."_".$avatarNumber.".jpg";
$result['avatarUrls'][$i] = '/' . $virtualPath;
move_uploaded_file($_FILES[$key]["tmp_name"], $virtualPath);
$avatarNumber++;
$successNum++;
$i++;
}
}
}
$result['msg'] = $msg;
if ($successNum > 0)
$result['success'] = true;
//返回图片的保存结果(返回内容为json字符串)
Doo::loadModel('staff');
$staff=new staff();
$staff->sid=$this->staff[0]['sid'];
$staff->avatar="/global/avatar/".$fileName;
$staff->update();
echo json_encode($result);
}
function lockUpload(){
//move_uploaded_file($_FILES['Filedata']['tmp_name'], "/upload/".$_FILES['Filedata']['name']);
if ( isset($_FILES['Filedata']['name']) ){
$file = $_FILES['Filedata']['tmp_name'];
$error = false;
if (!is_uploaded_file($file) ){
$error = '400 Bad Request';
}
if ($error) {
header('HTTP/1.0 ' . $error);
die('Error ' . $error);
}else{
include (DOO::conf()->SITE_PATH . 'protected/plugin/io.han.php');
$this->IoHandler = new IoHandler();
$pics = explode ( '.', $_FILES['Filedata']['name'] );
//$filedir=$_POST['time'];
//调用定义物理路径
$t=DOO::conf()->SITE_PATH."upload/";
$this->IoHandler->MakeDir($t);
$filename=$this->_GetFileEXT($_FILES['Filedata']['name']);
if($filename!='xlsx')
return "";
//$upload_dir = $t."/".time().rand(10,100).".".$filename;
$upload_file = iconv("UTF-8", "GB2312", $_FILES["Filedata"]["name"]);
$upload_dir = $t."/".$upload_file;
$k=move_uploaded_file($file, $upload_dir);
if($k){
//"series/".$filedir."/".
$m=round($_FILES['Filedata']['size']/1024/1024, 2);
echo $pics[0].".".$filename."#".$m."#".$_FILES['Filedata']['size'];
}
}
}
}
function getAuthentication(){
}
function loadCVS(){
Doo::loadModel('longle');
$longle=new longle();
$list=$longle->find(array('select'=>'key_num','asArray' => TRUE));
$file = fopen(DOO::conf()->SITE_PATH."upload/key2.csv",'r');
while ($data = fgetcsv($file)) {
$goods_list[$data[0]] = $data[1] ;
}
fclose($file);
$sqlArray=array();
$sql='UPDATE CLD_longle SET SerialNumber = CASE key_num ';
foreach($list as $key=>$value){
if(array_key_exists($value['key_num'],$goods_list)){
//echo $value['key_num'].'-'.$goods_list[$value['key_num']].'
';
//$longle->SerialNumber=$goods_list[$value['key_num']];
//$longle->update(array('where'=>'key_num="'.$value['key_num'].'"'));
$sql.=' WHEN "'.$value['key_num'].'" THEN "'.$goods_list[$value['key_num']].'" ';
array_push($sqlArray, '"'.$value['key_num'].'"');
unset($goods_list[$value['key_num']]);
}
}
$sql.='END WHERE key_num IN ('.implode(',', $sqlArray).')';
echo $sql.'
--------------------------------
';
foreach ($goods_list as $key=>$value){
echo $key.','.$value.'
';
}
}
private function getRandChar($length){
$str = null;
$strPol = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";
$max = strlen($strPol)-1;
for($i=0;$i<$length;$i++){
$str.=$strPol[rand(0,$max)];//rand($min,$max)生成介于min和max两个数之间的一个随机整数
}
return $str;
}
// private function getReceiptCount(){
// $status=2;
// $year=date('Y');
// Doo::loadModel('receipt');
// $receipt=new receipt();
// $dateCondition=" and Year(date) =".$year;
// $approvalCondition=' and nowStaff like "%'.$this->staff[0]['sid'].'%" ';
// $receiptList=$receipt->find(array('where'=>' status='.$status.$dateCondition.$approvalCondition,'desc'=>'rid','asArray'=>true));
// return count($receiptList);
// }
// private function getExeCount(){
// Doo::loadModel('receipt');
// $receipt=new receipt();
// $receiptList=$receipt->find(array('where'=>'(executeCopy like \'%["'.$this->staff[0]['sid'].'%\' and executeStaff NOT LIKE \'%'.$this->staff[0]['sid'].'%\' ) and (status=1 or status=6)','desc'=>'rid','asArray'=>true));
// return count($receiptList);
// }
/**
* 格式化excel文件为数组
* @param unknown_type $file_url
* @param unknown_type $mcid
*/
function _format_excel_to_array($file_url = "") {
if (! file_exists ( $file_url ))
return array ();
Doo::loadClass ( 'PHPExcel' );
$PHPExcel = new PHPExcel ();
$PHPReader = new PHPExcel_Reader_Excel2007 ();
if (! $PHPReader->canRead ( $file_url )) {
$PHPReader = new PHPExcel_Reader_Excel5 ();
if (! $PHPReader->canRead ( $file_url )) {
echo 'no Excel';
return;
}
}
$PHPExcel = $PHPReader->load ( $file_url );
/**读取excel文件中的第一个工作表*/
$currentSheet = $PHPExcel->getSheet ( 0 );
/**取得最大的列号*/
$allColumn = $currentSheet->getHighestColumn ();
/**取得一共有多少行*/
$allRow = $currentSheet->getHighestRow ();
$excel_array = array ();
for($currentRow = 2; $currentRow <= $allRow; $currentRow ++) {
$excel_column = array ();
//后期改进
if($allColumn=='AM')
$allColumn='Z';
/**从第A列开始输出*/
for($currentColumn = 'A'; $currentColumn <= $allColumn; $currentColumn ++) {
$val = $currentSheet->getCellByColumnAndRow ( ord ( $currentColumn ) - 65, $currentRow )->getValue ();
/**ord()将字符转为十进制数 iconv ( 'utf-8', 'gb2312',*/
$val = "'" . addslashes ( $val ) . "'";
if ($currentColumn == 'A')
$excel_column ['key_num'] = $val;
elseif ($currentColumn == 'C')
$excel_column ['product'] = $val;
elseif ($currentColumn == 'D'){
$val=str_replace("'","",$val);
$excel_column ['make_day'] = $this->excelTime($val);
}elseif($currentColumn == 'E'){
$val=str_replace("'","",$val);
$excel_column ['alloted_time'] = $this->excelTime($val);
}elseif($currentColumn == 'F'){
$val=str_replace("'","",$val);
$excel_column ['version'] = $val;
}elseif ($currentColumn == 'B'){
$val=str_replace("'","",$val);
$excel_column ['SerialNumber'] = $val;
}
}
array_push ( $excel_array, $excel_column );
}
return $excel_array;
}
function excelTime($date, $time = false)
{
if (function_exists ( 'GregorianToJD' ))
{
if (is_numeric ( $date ))
{
$jd = GregorianToJD ( 1, 1, 1970 );
$gregorian = JDToGregorian ( $jd + intval ( $date ) - 25569 );
$date = explode ( '/', $gregorian );
$date_str = str_pad ( $date [2], 4, '0', STR_PAD_LEFT ) . "-" .
str_pad ( $date [0], 2, '0', STR_PAD_LEFT ) . "-" .
str_pad ( $date [1], 2, '0', STR_PAD_LEFT ) . ($time ? " 00:00:00" : '');
return $date_str;
}
} else
{
$date = $date > 25568 ? $date + 1 : 25569;
/* There was a bug if Converting date before 1-1-1970 (tstamp 0) */
$ofs = (70 * 365 + 17 + 2) * 86400;
$date = date ( "Y-m-d", ($date * 86400) - $ofs ) . ($time ? " 00:00:00" : '');
}
return $date;
}
function _GetFileEXT($filename) {
$pics = explode ( '.', $filename );
$num = count ( $pics );
return $pics [$num - 1];
}
/**
* 获取get或者POST值
* @param string $name 属性名称
* @return fixed 值
*/
function get_args($name) {
if (isset ( $_GET [$name] )) {
if (is_array ( $_GET [$name] ))
return $_GET [$name];
else {
return addslashes ( $_GET [$name] );
}
} elseif (isset ( $_POST [$name] )) {
if (is_array ( $_POST [$name] ))
return $_POST [$name];
else {
return addslashes ( $_POST [$name] );
}
} else {
return false;
}
}
function get_previous($on_page = 1) {
return $on_page != 0 ? $on_page - 1 : $on_page;
}
/**
* 获得分页数据
* @param unknown_type $table
* @param unknown_type $condition
* @param unknown_type $on_page
* @param unknown_type $page_size
*/
function get_Tpage($table = "", $condition = "", $on_page = 1, $page_size = 20, $action = "",$tagSQL) {
$page_c = "";
$page ['previous'] = $this->get_previous ( $on_page );
$page ['on_page'] = $on_page;
$total_count = $this->get_table_Tcount ( $table, $condition,$tagSQL );
$total = intval ( $total_count / $page_size );
$page ['total_page'] = ($total_count % $page_size) == 0 ? $total : $total + 1;
$page ['total_data'] = $total_count;
$page ['next'] = $on_page == $page ['total_page'] ? $page ['total_page'] : $on_page + 1;
$i = 1;
$page_max = 1;
if ($on_page > 10) {
$page_max = intval ( $on_page / 10 ) + 1;
$i = intval ( $on_page / 10 ) * 10 - 1;
}
$page ['page'] = $page_c;
$page ['lower'] = (-- $on_page) * $page_size;
return $page;
}
/**
* 获得分页数据
* @param unknown_type $table
* @param unknown_type $condition
* @param unknown_type $on_page
* @param unknown_type $page_size
*/
function get_page($table = "", $condition = "", $on_page = 1, $page_size = 20, $action = "", $get = "", $other = "page",$staffid="",$search,$tooltip,$cateid,$tagSQL) {
$page_c = "";
$page ['previous'] = $this->get_previous ( $on_page );
$page ['on_page'] = $on_page;
$total_count = $this->get_table_count ( $table, $condition ,$staffid,$search,$tooltip,$cateid,$tagSQL);
$total = intval ( $total_count / $page_size );
$page ['total_page'] = ($total_count % $page_size) == 0 ? $total : $total + 1;
$page ['total_data'] = $total_count;
$page ['next'] = $on_page == $page ['total_page'] ? $page ['total_page'] : $on_page + 1;
$i = 1;
$page_max = 1;
if ($on_page > 10) {
$page_max = intval ( $on_page / 10 ) + 1;
$i = intval ( $on_page / 10 ) * 10 - 1;
}
for(; $i <= $page ['total_page']; $i ++) {
if ($i == $on_page) {
if ($other == "page")
$page_c .= '' . $i . '';
else
$page_c .= ' ' . $i . ' ';
} else if ($other == "page")
$page_c .= '' . $i . '';
else
$page_c .= ' ' . $i . ' ';
if ($i == (10 * $page_max))
break;
}
$page ['page'] = $page_c;
$page ['lower'] = (-- $on_page) * $page_size;
return $page;
}
/**
* 获取总页数
* @param unknown_type $table
* @param unknown_type $condition
*/
public function get_table_Tcount($table = "", $condition = "",$tagSQL) {
if ($tagSQL)
$sql = "select count(*) as count from CLD_tagCompanyNexus as a left join CLD_company as b on (a.company=b.cid ) where ".$condition ;
else
$sql = "select count(*) as count from CLD_company where " . $condition ;
$query = Doo::db ()->query ( $sql );
$result = $query->fetch ();
return $result ['count'];
}
/**
* 获取总页数
* @param unknown_type $table
* @param unknown_type $condition
*/
public function get_table_count($table = "", $condition = "",$staffid="",$search,$tooltip,$cateid,$tagSQL) {
//$sql = "select count(*) as count from " . $table . " where 1 " . $condition;
//echo $staffid;die;
//
if (!empty($staffid)){
//$staffid="and a.sid= '".$staffid."'"; " . $table . " as a left join on (a.cid=b.cid ".$staffid.")
$sql = "select count(*) as count from CLD_client as b left join CLD_tag_client as c on (b.cid=c.client) where 1 " . $condition ;
}else{
if(strlen($condition)==1||empty($condition))
$sql = "select count(*) as count from CLD_client as a ".$condition;
else
$sql = "select count(*) as count from CLD_client as a left join CLD_tag_client as c on (a.cid=c.client) where 1 ".$condition;
}
if(!empty($search))
$sql = "select count(*) as count from CLD_client as a where 1 ".$condition ;
if(!empty($tooltip)){
$condition=str_replace("a.","c.",$condition);
if ($tagSQL)
$sql = "select count(*) as count from CLD_C_tooltip as a left join CLD_tag_client as c on (a.cid=c.client) left join CLD_client as b on (c.client=b.cid ) where a.name like '%".$tooltip."%' and a.cateid = ".$cateid." ".$condition ;
else
$sql = "select count(*) as count from CLD_C_tooltip as a left join CLD_client as b on (a.cid=b.cid ) where a.name like '%".$tooltip."%' and a.cateid = ".$cateid." ".$condition ;
}
//echo $sql;
$query = Doo::db ()->query ( $sql );
$result = $query->fetch ();
return $result ['count'];
}
}
?>