'设计',
'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() {
if(isset($_COOKIE["adStaff"])){
if(!empty($_COOKIE["adStaff"])){
Doo::loadModel ( 'staff' );
$staff = new staff ();
$this->staff=$staff->getUserByIdList($_COOKIE["adStaff"]);
self::$NEW= $this->getReceiptCount();include './protected/controller/ReceiptController.php';
ReceiptController::$NEW=self::$NEW;
if ($this->staff[0]['isadmin']==1&&$this->staff[0]['username']=='admin'){
return "/adminoffice";
}
}
}
Doo::loadCore ( 'uri/DooUriRouter' );
$router = new DooUriRouter ();
$routeRs = $router->execute ( Doo::app ()->route, Doo::conf ()->SUBFOLDER );
if($routeRs['1']!="adlogin"){
header ( 'Content-Type:text/html;charset=utf-8' );
@header ( "Location: /adlogin" );
}
}
function adlogin(){
$passwork = isset ( $_POST['passwork'] ) ? $_POST['passwork'] : "";
$uid = isset ( $_POST['user'] ) ? $_POST['user'] : "";
Doo::loadModel ( 'staff' );
$staff = new staff ();
if(!empty($passwork)){
$userinfo=$staff->getOne(array('where'=>"username='admin'",'asArray'=>true));
if(!empty($userinfo)){
if ($userinfo['username']==$uid&&$userinfo['passwork']==md5($passwork)){
setcookie("adStaff", $userinfo['sid'], time()+36000,"/");
return "/adminoffice";
}
}
}
$data ['staff'] = "";
$data['login']="";
if(!empty($passwork))
$data['login']="inputErrow";
$this->render ( "/admin/adminLogin", $data );
}
function adout(){
setcookie("adStaff", "", time()-3600,"/");
return "/adlogin";
}
function adminPW(){
$msg= $this->params['msg']?$this->params['msg']:"";
$data['msg']="msg";
$data['memu']="adminpw";
$data['staff']=$this->staff;
$data['msg']=urldecode($this->params['msg']);
$this->render ( "/admin/admin-admininfo", $data );
}
function upAdP(){
$opw=$this->get_args('opw')?$this->get_args('opw'):"";
$npw1=$this->get_args('npw1')?$this->get_args('npw1'):"";
$npw2=$this->get_args('npw2')?$this->get_args('npw2'):"";
if(!empty($opw)){
Doo::loadModel ( 'staff' );
$staff = new staff ();
$userinfo=$staff->getOne(array('where'=>"username='admin'",'asArray'=>true));
if(!empty($userinfo)){
if ($userinfo['sid']==$_COOKIE["adStaff"]&&$userinfo['passwork']==md5($opw)){
if (($npw1==$npw2)&&($npw1!="")){
$staff->passwork=md5($npw1);
$staff->update(array('where'=>"sid='".$_COOKIE["adStaff"]."'"));
return "/adminpw/".urlencode('密码修改成功');
}else
return "/adminpw/".urlencode('新密码不一致');
}else
return "/adminpw/".urlencode('旧密码不正确');
}else
return "/adminpw/".urlencode('未找到用户');
}else
return "/adminpw/".urlencode('请输入旧密码');
}
function adminoffice(){
$data['memu']="adminoffice";
$data['staff']=$this->staff;
Doo::loadModel ( 'L_category' );
Doo::loadModel ( 'staff' );
Doo::loadModel('district');
$district= new district();
$staff = new staff ();
$L_category = new L_category ();
$data['category']=$L_category->getCategory();
$data['district']=$district->get_lv(1);
foreach ($data['category'] as $key=>$value){
$data['category'][$key]['count']=$staff->count(array('where'=>'cid='.$value['cid']));
}
$data['msg']=urldecode($this->params['msg']);
$this->render ( "/admin/admin_group", $data );
}
function addCategory(){
$msg="添加成功";
$title=isset($_POST['title'])?$_POST['title']:"";
$district=isset($_POST['district'])?$_POST['district']:"";
if(!empty($title)&&!empty($district)){
Doo::loadModel ( 'L_category' );
$L_category = new L_category ();
$L_category->title=$title;
$L_category->districtid=$district;
$L_category->insert();
}else{
$msg="请输入正确的信息";
}
return "/adminoffice/".$msg;
}
function adminuser(){
$data['memu']="adminuser";
$data['staff']=$this->staff;
Doo::loadModel ( 'L_category' );
Doo::loadModel ( 'staff' );
$staff = new staff ();
$L_category = new L_category ();
$data['category']=$L_category->getCategory();
$data['stafflist']=$staff->getStaff();
$data['staff']=$this->staff;
$this->render ( "/admin/admin_user", $data );
}
function adduser(){
$username=$this->get_args('username')?$this->get_args('username'):"";
$password=$this->get_args('password')?$this->get_args('password'):"";
$cid=is_numeric($this->get_args('cid'))?$this->get_args('cid'):0;
$hiredate=$this->get_args('hiredate')?$this->get_args('hiredate'):"";
$nature=is_numeric($this->get_args('nature'))?$this->get_args('nature'):1;
if(!empty($username)&&!empty($password)&&!empty($cid)&&!empty($hiredate)&&!empty($nature)){
Doo::loadModel ( 'L_category' );
Doo::loadModel ( 'staff' );
Doo::loadModel ( 'tag' );
Doo::loadModel ( 'holidaystaff' );
$staff = new staff ();
$L_category = new L_category ();
//加入默认总部分类
$cagegory=$L_category->getCategoryById($cid);
//根据这个分类加入管理权限
if($cagegory[0]['defult']==1){
$staff->isadmin=1;
}
$staff->username=$username;
$staff->passwork=md5($password);
$staff->cid=$cagegory[0]['cid'];
$staff->category=$cagegory[0]['title'];
$staff->hiredate=$hiredate;
$staff->nature=$nature;
$id=$staff->insert();
$holidaystaff = new HStaff();
$holidaystaff->uid = $id;
$holidaystaff->yearnum = $nature == 1 ? (time() > strtotime("+ 1 year", strtotime($hiredate)) ? 5 : 0) : 0;
$holidaystaff->insert();
for ($i=1;$i<=7;$i++){
$tag = new tag ();
$tag->name="个人标签";
$tag->sid=$id;
$tag->colorid=$i;
$tag->insert();
}
}
return "/adminuser";
}
function adminEdiUser(){
$sid= is_numeric($this->params['sid'])?$this->params['sid']:0;
$msg= isset($this->params['msg'])?$this->params['msg']:"";
if(!empty($sid)){
$data['msg']=urldecode($msg);
Doo::loadModel ( 'L_category' );
Doo::loadModel ( 'staff' );
$staff = new staff ();
$L_category = new L_category ();
$data['newPw']='';
$data['staffInfo']=$staff->getUserById($sid);
$data['category']=$L_category->getCategory();
$data['staff']=$this->staff;
$data['memu']="adminuser";
$this->render ( "/admin/admin_EdiUser", $data );
}else
return "/adminuser";
}
function adminResetUserPw(){
$sid= is_numeric($this->params['sid'])?$this->params['sid']:0;
$msg= isset($this->params['msg'])?$this->params['msg']:"";
if(!empty($sid)){
$data['msg']=urldecode($msg);
Doo::loadModel ( 'L_category' );
Doo::loadModel ( 'staff' );
$staff = new staff ();
$L_category = new L_category ();
$newPw=$this->getRandChar(6);
$staff->sid=$sid;
$staff->passwork=md5($newPw);
$staff->update();
$data['newPw']=$newPw;
$data['staffInfo']=$staff->getUserById($sid);
$data['category']=$L_category->getCategory();
$data['staff']=$this->staff;
$data['memu']="adminuser";
$this->render ( "/admin/admin_EdiUser", $data );
}else
return "/adminuser";
}
function adminDoEdiUser(){
$sid=is_numeric($this->get_args('sid'))?$this->get_args('sid'):0;
$cid=is_numeric($this->get_args('cid'))?$this->get_args('cid'):0;
$gender=$this->get_args('gender')?$this->get_args('gender'):"";
$qq=is_numeric($this->get_args('qq'))?$this->get_args('qq'):0;
$phone=$this->get_args('phone')?$this->get_args('phone'):"";
$telephone=$this->get_args('telephone')?$this->get_args('telephone'):"";
$email=$this->get_args('email')?$this->get_args('email'):"";
$username=$this->get_args('username')?$this->get_args('username'):"";
$nature=$this->get_args('nature')?$this->get_args('nature'):"";
$hiredate=$this->get_args('hiredate')?$this->get_args('hiredate'):"";
if(!empty($sid)){
$msg="";
Doo::loadModel ( 'L_category' );
Doo::loadModel ( 'staff' );
$staff = new staff ();
$L_category = new L_category ();
$categoryInfo=$L_category->getCategoryById($cid);
$staff->sid=$sid;
if ($cid!=0){
$staff->cid=$categoryInfo[0]['cid'];
$staff->category=$categoryInfo[0]['title'];
}
if($categoryInfo[0]['defult']==1){
$staff->isadmin=1;
}else{
$staff->isadmin=0;
}
if (!empty($username))
$staff->username=$username;
if(!empty($gender))
$staff->gender=$gender;
if(!empty($qq)&&is_numeric($qq))
$staff->qq=$qq;
if(!empty($phone))
$staff->phone=$phone;
if(!empty($telephone))
$staff->telephone=$telephone;
if(!empty($email)&&filter_var($email, FILTER_VALIDATE_EMAIL))
$staff->email=$email;
else
$msg="邮箱不正确";
if(!empty($hiredate))
$staff->hiredate=$hiredate;
$staff->nature=$nature;
$staff->update();
return "/edi/user/".$sid."/".$msg;
}else{
return "/adminuser";
}
}
function adminDoAddCategory(){
$sid=is_numeric($this->get_args('sid'))?$this->get_args('sid'):0;
$cid=is_numeric($this->get_args('cid'))?$this->get_args('cid'):0;
if(!empty($sid)){
Doo::loadModel ( 'L_category' );
Doo::loadModel ( 'staff' );
$staff = new staff ();
$L_category = new L_category ();
$stfInfo=$staff->getOne(array('where'=>'sid ='.$sid,'asArray'=>true));
if($stfInfo['cid']==$cid)
return "/adminuser";
$othcid=explode(',', $stfInfo['othercid']);
if(in_array($cid, $othcid))
return "/adminuser";
array_push($othcid, $cid);
$strCid=implode(',',array_filter($othcid));
$catename=$L_category->getCategoryById($cid);
$othcategory=explode(',', $stfInfo['othercategory']);
array_push($othcategory, $catename[0]['title']);
$strcategory=implode(',',array_filter($othcategory));
$staff->sid=$sid;
$staff->othercid=$strCid;
$staff->othercategory=$strcategory;
$staff->update();
}
return "/adminuser";
}
function adminDeleteUser(){
$sid= is_numeric($this->params['sid'])?$this->params['sid']:0;
if (!empty($sid)){
Doo::loadModel ( 'staff' );
$staff = new staff ();
$staff->sid=$sid;
$staff->delete();
}
return "/adminuser";
}
function adminproduct(){
$data['memu']="adminproduct";
$data['staff']=$this->staff;
Doo::loadModel ( 'product' );
Doo::loadModel ( 'longle' );
$product = new product ();
$longle = new longle ();
$data['product']=$product->getProudct();
foreach ($data['product'] as $key=>$value){
$data['product'][$key]['count']=$longle->count(array('where'=>'product="'.$value['title'].'"'));
}
$this->render ( "/admin/admin_product", $data );
}
function addproduct(){
$title=$this->get_args('title')?$this->get_args('title'):"";
if(!empty($title)){
Doo::loadModel ( 'product' );
$product = new product ();
$product->title=$title;
$product->insert();
}
return "/adminproduct";
}
function adminDeleteProduct(){
$pid= is_numeric($this->params['pid'])?$this->params['pid']:0;
if (!empty($pid)){
Doo::loadModel ( 'product' );
$product = new product ();
$product->pid=$pid;
$product->delete();
}
return "/adminproduct";
}
function adminEdiProduct(){
$pid= is_numeric($this->params['pid'])?$this->params['pid']:0;
$msg= isset($this->params['msg'])?$this->params['msg']:"";
if(!empty($pid)){
$data['msg']=urldecode($msg);
Doo::loadModel ( 'product' );
$product = new product ();
$data['productInfo']=$product->getProductById($pid);
$data['memu']="adminproduct";
$data['staff']=$this->staff;
$this->render ( "/admin/admin_EdiProduct", $data );
}else
return "/adminproduct";
}
function adminDoEdiProduct(){
$pid=is_numeric($this->get_args('pid'))?$this->get_args('pid'):"";
$title=$this->get_args('title')?$this->get_args('title'):"";
$typeid=$this->get_args('typeid')?$this->get_args('typeid'):"";
if(!empty($pid)&&!empty($title)&&!empty($typeid)){
$msg="";
Doo::loadModel ( 'product' );
$product = new product ();
$product->pid=$pid;
$product->title=$title;
$product->typeid=$typeid;
$product->update();
return "/adminproduct";
}else{
return "/adminproduct";
}
}
function adminverify(){
Doo::loadModel('staff');
Doo::loadModel("verify");
$verify=new verify();
$staff=new staff();
Doo::loadModel("role");
$role=new role();
$data['staffList']=$staff->find(array('select'=>'username,sid,avatar','asArray'=>true));
$list=$verify->find(array('asArray'=>true));
$roleList=$role->find(array('asArray'=>true));
foreach ($roleList as $key=>$value){
$staffList=json_decode($value['staff']);
foreach ($staffList as $k=>$v){
$staffList[$k]=substr(strstr($v, '_'), 1);
}
$roleList[$key]['staff']=implode(',', $staffList);
}
foreach ($list as $key=>$value){
$name=json_decode($value['staff']);
$list[$key]['staff']="";
foreach ($name as $k=>$v){
if ($v[1]=='ROLE'){
$roleInfo=$role->getOne(array('where'=>'rid = "'.$v[0].'"','asArray'=>true));
$v[1]=$roleInfo['name'];
}
$list[$key]['staff'].=" ".$v[1];
}
}
$data['roleList']=$roleList;
$data['verify']=$list;
$data['memu']="verify";
$data['staff']=$this->staff;
$this->render ( "/admin/admin_reportGroup", $data );
}
function addVerify(){
$description=$this->get_args('description')?$this->get_args('description'):"";
$staff=$this->get_args('staff')?$this->get_args('staff'):"";
$uidlist=$this->get_args('uidlist')?$this->get_args('uidlist'):"";
$uidlist=explode(",", $uidlist);
Doo::loadModel("role");
$role=new role();
$list=array();
foreach ($uidlist as $key=>$value){
$info=explode(":", $value);
if ($info[1]=='ROLE'){
$roleInfo=$role->getOne(array('where'=>'rid = "'.$info[0].'"','asArray'=>true));
array_push($info, $roleInfo['staff']);
}
array_push($list, $info);
}
if(!empty($description)&&!empty($list)){
Doo::loadModel("verify");
$verify=new verify();
$verify->description=$description;
$verify->staff=json_encode($list);
$verify->insert();
}
return "/adminverify";
}
function adminRole(){
Doo::loadModel('staff');
$staff=new staff();
Doo::loadModel("verify");
$verify=new verify();
Doo::loadModel("role");
$role=new role();
$data['staffList']=$staff->find(array('select'=>'username,sid,avatar','asArray'=>true));
$list=$verify->find(array('asArray'=>true));
$roleList=$role->find(array('asArray'=>true));
foreach ($list as $key=>$value){
$name=json_decode($value['staff']);
$list[$key]['staff']="";
foreach ($name as $k=>$v){
$list[$key]['staff'].=" ".$v[1];
}
}
foreach ($roleList as $key=>$value){
$staff=json_decode($value['staff']);
foreach ($staff as $k=>$v){
//print_r($info);
//$staff[$k]=substr(strstr($v, '_'), 1);
$info=explode('_', $v);
$staff[$k]=$info;
}
$roleList[$key]['list']=$staff;
}
$data['roleList']=$roleList;
$data['verify']=$list;
$data['memu']="verify";
$data['staff']=$this->staff;
$this->render ( "/admin/adminReportGroupRole", $data );
}
function addRole(){
$name=$this->get_args('title')?$this->get_args('title'):"";
$staff=$this->get_args('staff')?$this->get_args('staff'):"";
$list=array();
foreach ($staff as $key=>$value){
$na=explode(":", $value);
array_push($list, $na[0].'_'.$na[1]);
}
if(!empty($name)&&!empty($list)){
Doo::loadModel("role");
$role=new role();
$role->name=$name;
$role->staff=json_encode($list);
$role->insert();
}
return "/adminRole";
}
function delRole(){
$rid= isset($this->params['rid'])?$this->params['rid']:0;
if(!empty($rid)){
Doo::loadModel("role");
$role=new role();
$role->delete(array('where'=>'rid="'.$rid.'"'));
}
return "/adminRole";
}
function updateRole(){
$oldStaff=$this->get_args('oldStaff')?$this->get_args('oldStaff'):"";
$newStaff=$this->get_args('newStaff')?$this->get_args('newStaff'):"";
$rid=$this->get_args('rid')?$this->get_args('rid'):"";
if(!empty($oldStaff)&&!empty($newStaff)&&!empty($rid)){
Doo::loadModel("role");
$role=new role();
$roleInfo=$role->getOne(array('where'=>'rid = "'.$rid.'"','asArray'=>true));
$staffList=json_decode($roleInfo['staff'],true);
foreach ($staffList as $key=>$value){
if ($value==$oldStaff){
$staffList[$key]=$newStaff;
break;
}
}
$role->staff=json_encode($staffList);
$role->update(array('where'=>'rid = "'.$rid.'"'));
}
return "/adminRole";
}
function adminExecute(){
Doo::loadModel('staff');
$staff=new staff();
Doo::loadModel("execute");
$execute=new execute();
$data['staffList']=$staff->find(array('select'=>'username,sid,avatar','asArray'=>true));
$list=$execute->find(array('asArray'=>true));
$execute=array('借款执行人'=>'','借款费用执行人'=>'','报销单执行人'=>'','对公汇款执行人'=>'');
foreach ($list as $key=>$value){
$name=json_decode($value['staff']);
$staffString="";
if (!empty($name)){
foreach ($name as $k=>$v){
$staffString.=" ".$v[1].'k';
}
}
foreach ($execute as $k=>$v){
if ($k==$value['mold']){
$execute[$k]=$name=$staffString;
}
}
}
//print_r($execute);die;
$data['execute']=$execute;
$data['memu']="verify";
$data['staff']=$this->staff;
$this->render ( "/admin/adminCarriedout", $data );
}
function addExecute(){
$mold=$this->get_args('mold')?$this->get_args('mold'):"";
$staff=$this->get_args('staff')?$this->get_args('staff'):"";
if(!empty($mold)&&!empty($staff)){
Doo::loadModel("execute");
$execute=new execute();
$executeInfo=$execute->getOne(array('where'=>'mold ="'.$mold.'" ','asArray'=>true));
if (empty($executeInfo)){
$list=array();
foreach ($staff as $key=>$value){
$info=explode(":", $value);
array_push($list, $info);
}
$execute->mold=$mold;
$execute->staff=json_encode($list);
$execute->insert();
}else{
$list=json_decode($executeInfo['staff'],true);
foreach ($staff as $k=>$v){
$info=explode(":", $v);
foreach ($list as $key=>$value){
if($value[1]==$info[1]){
unset($staff[$k]);
break;
}
}
}
foreach ($staff as $k=>$v){
$info=explode(":", $v);
array_push($list, $info);
}
$execute->staff=json_encode($list);
$execute->update(array('where'=>'eid = '.$executeInfo['eid']));
}
}
return "/adminExecute";
}
function delExecute(){
$uid=isset($this->params['uid'])&&is_numeric($this->params['uid'])?$this->params['uid']:0;
$eid=isset($this->params['eid'])&&is_numeric($this->params['eid'])?$this->params['eid']:0;
if(!empty($uid)&&!empty($eid)){
Doo::loadModel("execute");
$execute=new execute();
$executeInfo=$execute->getOne(array('where'=>'eid ="'.$eid.'" ','asArray'=>true));
if (empty($executeInfo))
return "/adminExecute";
$ini=array();
$list=json_decode($executeInfo['staff'],true);
foreach ($list as $k=>$v){
if ($v[0]==$uid){
$ini=$list[$k];
unset($list[$k]);break;
}
}
file_put_contents("protected/config/execute/execute.ini", ",".$ini[0], FILE_APPEND);
$execute->staff=json_encode($list);
$execute->update(array('where'=>'eid = '.$executeInfo['eid']));
}
return "/adminExecute";
}
function ajaxRoleStaff(){
$name=$this->get_args('name')?$this->get_args('name'):"";
Doo::loadModel('staff');
$staff=new staff();
$staffList=$staff->find(array('select'=>'username,sid,avatar','where'=>'username != "'.$name.'" and username !="admin"','asArray'=>true));
$html='';
foreach ($staffList as $key=>$value){
$html.='';
}
echo json_encode(array("success"=>true,'html'=>$html));die;
}
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();
Doo::loadModel('verify');
$verify=new verify();
//user verify ID
$vidList=array();
$verifyDetail=$verify->find(array('where'=>'staff like "%\"'.$this->staff[0]['sid'].'\"%"','asArray'=>true));
foreach ($verifyDetail as $key=>$value){
array_push($vidList, $value['vid']);
}
$vid=implode(",", $vidList);
if(empty($verifyDetail))
$vid=0;
$dateCondition=" and Year(date) =".$year;
$approvalCondition=' and verifyStaff not like "%\"'.$this->staff[0]['sid'].'\":{%" ';
$receiptList=$receipt->find(array('where'=>'verify in('.$vid.') and status='.$status.$dateCondition.$approvalCondition,'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] );
//return $_GET [$name] ;
}
} elseif (isset ( $_POST [$name] )) {
if (is_array ( $_POST [$name] ))
return $_POST [$name];
else {
return addslashes ( $_POST [$name] );
//return $_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'];
}
//录入用户假期信息
public function AddStaffHoliday(){
Doo::loadModel('staff');
$staff = new staff();
$stafflist = $staff->find(array('select' => 'sid,hiredate','where' => 'nature=1', 'asArray' => TRUE));
var_dump($stafflist);
exit;
Doo::loadModel('holidaystaff');
}
}
?>