信呼OA版本v2.3.8

This commit is contained in:
雨中磐石
2022-08-14 16:47:40 +08:00
parent 4640677d27
commit e3fcd913e3
1405 changed files with 133635 additions and 73 deletions

121
webmain/model/cityModel.php Normal file
View File

@@ -0,0 +1,121 @@
<?php
//城市
class cityClassModel extends Model
{
//获取城市路径
public function getpath($id)
{
$this->pathss = array();
$this->getpaths($id);
return $this->pathss;
}
private function getpaths($id)
{
$rs = $this->getone($id);
if($rs && $rs['pid']!=$id){
$this->getpaths($rs['pid']);
$this->pathss[] = $rs;
}
}
/**
* 导入数据
*/
public function daorudata()
{
$barr = c('xinhuapi')->getdata('base','city');
if(!$barr['success'])return returnerror($barr['msg']);
$data = $barr['data'];
$shul = 0;
foreach($data as $k=>$rs){
$id = $rs['id'];
if($this->rows($id)==0){
$shul++;
$this->insert($rs);
}
}
return returnsuccess('成功导入'.$shul.'条数据');
}
/**
* 籍贯/城市数据
*/
public function citydata()
{
$rows = $this->db->getall('SELECT a.name,b.name as name1 FROM `[Q]city` a left join `[Q]city` b on a.`pid`=b.`id` where a.`type` in(2)');
$barr = array();
foreach($rows as $k=>$rs){
$name = $rs['name'];
if($name!=$rs['name1'])$name=$rs['name1'].$name;
$barr[] = array(
'name' => $name,
'cityname' => $rs['name'],
'shengname' => $rs['name1'],
);
}
return $barr;
}
/**
* 省份数据
*/
public function shengdata()
{
$rows = $this->db->getall('SELECT `name` FROM `[Q]city` where `pid`=1 order by `sort`');
$barr = array();
foreach($rows as $k=>$rs){
$name = $rs['name'];
$barr[] = array(
'name' => $name
);
}
return $barr;
}
/**
* 全部城市数据3级
*/
public function alldata()
{
$chche = c('cache');
$cdata = $chche->get('cityalldata');
if(!$cdata){
$this->drowsa = $this->getall('1=1','*','`sort`');
$this->datass = array();
$this->alldatas($this->drowsa, '1', 0,'');
$chche->set('cityalldata', $this->datass);
return $this->datass;
}else{
return $cdata;
}
}
private function alldatas($rows, $pid, $xu, $sub, $sheng='', $city='')
{
$keya = array('shengname','cityname','xianname');
$zxij = 0;
foreach($rows as $k=>$rs){
if($rs['pid']==$pid){
$zxij++;
$sar = array(
'name' => $sub.$rs['name'],
'value' => $rs['name'],
'padding'=> 30*$xu,
'shengname' => $sheng,
'cityname' => $city,
'xianname' => '',
);
$keysas = $keya[$xu];
$sar[$keysas] = $rs['name'];
$this->datass[] = $sar;
unset($this->drowsa[$k]);
if($xu==0)$sheng = $rs['name'];
if($xu==1)$city = $rs['name'];
$xiji = $this->alldatas($this->drowsa, $rs['id'], $xu+1, $sub.$rs['name'], $sheng, $city);
}
}
return $zxij;
}
}