Files
xinhu/webmain/model/finaModel.php
2023-05-11 16:19:42 +08:00

138 lines
3.6 KiB
PHP

<?php
class finaClassModel extends Model
{
public function initModel()
{
$this->settable('fininfom');
}
//统计我未还款
public function totaljie($uid, $id=0)
{
$where = 'and id<>'.$id.'';
$to1 = floatval($this->getmou('sum(money)money',"`uid`='$uid' and `type`=2 and `status`=1"));
$to2 = floatval($this->getmou('sum(money)money',"`uid`='$uid' and `type`=3 and `status`<>5 $where"));
$to = $to1-$to2;
return $to;
}
public function getjkdwhere()
{
return '(select `uid` from `[Q]fininfom` where `type`=2 and `status`=1)';
}
//统计
public function totalfkd($rows, $uids)
{
$carr = $barr = array();
//借款
$hkto = $this->db->getall("select uid,sum(money)money from `[Q]fininfom` where `uid` in($uids) and `type`=2 and `status`=1 group by `uid`");
foreach($hkto as $k=>$rs)$carr[$rs['uid']] = $rs['money'];
//还的
$hkto = $this->db->getall("select uid,sum(money)money from `[Q]fininfom` where `uid` in($uids) and `type`=3 and `status`=1 group by `uid`");
foreach($hkto as $k=>$rs)$barr[$rs['uid']] = $rs['money'];
foreach($rows as $k=>$rs){
$uid = $rs['id'];
$moneyjk = floatval(arrvalue($carr, $uid, 0));
$moneyhk = floatval(arrvalue($barr, $uid, 0));
$moneyhx = $moneyjk - $moneyhk;
if($moneyjk==0)$moneyjk='';
if($moneyhk==0)$moneyhk='';
if($moneyhx==0)$moneyhx='';
$rows[$k]['moneyjk'] = $moneyjk;
$rows[$k]['moneyhk'] = $moneyhk;
$rows[$k]['moneyhx'] = $moneyhx;
}
return $rows;
}
//获取当前账套
public function getzhangtao($lx=0)
{
$dt = $this->rock->date;
$where= m('admin')->getcompanywhere(3);
if($lx==0)$where.=" and `startdt`<='$dt' and `enddt`>='$dt'";
$rows = m('finzhang')->getall("status=1 ".$where."",'*','sort, startdt desc');
$arr = array();
foreach($rows as $k=>$rs){
$sarr = array(
'value' => $rs['id'],
'name' => $rs['name'],
'subname' => $rs['startdt'].'→'.$rs['enddt'],
);
if($lx==2){
unset($sarr['subname']);
$sarr['name'].='('.$rs['startdt'].')';
}
$arr[] = $sarr;
}
return $arr;
}
//获取财务帐号
public function getaccount($zhid='')
{
if(!$zhid)$zhid='0';
$where= 'and `zhangid`='.$zhid.'';
$rows = m('finount')->getall("status=1 ".$where."",'*','sort');
$arr = array();
foreach($rows as $k=>$rs){
$name = $rs['name'];
if(!isempt($rs['banknum']))$name.='(**'.mb_substr($rs['banknum'],-4).')';
$arr[] = array(
'value' => $rs['id'],
'name' => $name,
);
}
return $arr;
}
//更新财务帐号金额
public function updatemoney($accid='')
{
$where= '';
if(!isempt($accid))$where=' and `accountid`='.$accid.'';
$rows = $this->db->getall('SELECT accountid,SUM(money)money FROM `[Q]finjibook` where `status`=1 '.$where.' group by accountid');
$db = m('finount');
$ids= '0';
foreach($rows as $k=>$rs){
$db->update('`money`='.$rs['money'].'', $rs['accountid']);
$ids.=','.$rs['accountid'].'';
}
if(isempt($accid))$db->update('`money`=0', '`id` not in('.$ids.')');
}
//读取科目数据
private $datarows = array();
public function kemudata()
{
$data = m('finkemu')->getall('`status`=1','*','`sort`');
$this->kemudatas($data, 0,'');
return $this->datarows;
}
private function kemudatas($data,$pid,$nae)
{
foreach($data as $k=>$rs){
if($pid==$rs['pid']){
$this->datarows[] = array(
'value' => $rs['id'],
'name' => ''.$rs['num'].' '.$nae.''.$rs['name'].''
);
$this->kemudatas($data, $rs['id'],$nae.$rs['name'].'-');
}
}
}
}