提交 bb072b52 authored 作者: chengye's avatar chengye

调整emfkmodel

上级 22fa5a31
...@@ -22,7 +22,7 @@ class flow_emfkClassModel extends flowModel ...@@ -22,7 +22,7 @@ class flow_emfkClassModel extends flowModel
*/ */
protected function flowcheckafter($zt, $sm){ protected function flowcheckafter($zt, $sm){
if($zt == 2){ if($zt == 2){
$this->updatestatus(5); $this->updatestatus(5);
$this->sendMess(0,9); $this->sendMess(0,9);
} }
} }
...@@ -45,7 +45,7 @@ class flow_emfkClassModel extends flowModel ...@@ -45,7 +45,7 @@ class flow_emfkClassModel extends flowModel
m('log')->addlog('电费付款','接口返回信息:' .$res); m('log')->addlog('电费付款','接口返回信息:' .$res);
} }
public static function dept($data) public static function dept($data)
{ {
$sql=" id= '$data'"; $sql=" id= '$data'";
$cbzxid = m('tmp_department')->getone($sql, 'id,cost');//查询账户表成本中心id $cbzxid = m('tmp_department')->getone($sql, 'id,cost');//查询账户表成本中心id
...@@ -53,7 +53,7 @@ class flow_emfkClassModel extends flowModel ...@@ -53,7 +53,7 @@ class flow_emfkClassModel extends flowModel
} }
public static function project($project_code){ public static function project($project_code){
$url = getconfig('base_url'). 'v2/project/list?key='; $url = getconfig('base_url'). 'v2/project/list?key=';
$key = substr(md5(getconfig('openkey').date('Y-m-d')),0,12); $key = substr(md5(getconfig('openkey').date('Y-m-d')),0,12);
...@@ -71,6 +71,7 @@ class flow_emfkClassModel extends flowModel ...@@ -71,6 +71,7 @@ class flow_emfkClassModel extends flowModel
$allcheckid=explode(',',$flow_bill['allcheckid']); $allcheckid=explode(',',$flow_bill['allcheckid']);
$optionid = m('option')->getone("num = 'em_manager' ",'id'); $optionid = m('option')->getone("num = 'em_manager' ",'id');
$optionid=$optionid['id']; $optionid=$optionid['id'];
$option = m('option')->getall("num = '$optionid' and num =1 order by sort desc",'num,name,value,sort'); $option = m('option')->getall("num = '$optionid' and num =1 order by sort desc",'num,name,value,sort');
foreach ($option as $key => $value) { foreach ($option as $key => $value) {
if(in_array($value['value'], $allcheckid)){ if(in_array($value['value'], $allcheckid)){
...@@ -78,6 +79,7 @@ class flow_emfkClassModel extends flowModel ...@@ -78,6 +79,7 @@ class flow_emfkClassModel extends flowModel
break; break;
} }
} }
var_dump($checkid);
if(empty($checkid)){ if(empty($checkid)){
$option = m('option')->getall("pid ='$optionid' and num =2 order by sort desc",'num,name,value,sort,`explain`'); $option = m('option')->getall("pid ='$optionid' and num =2 order by sort desc",'num,name,value,sort,`explain`');
...@@ -88,50 +90,49 @@ class flow_emfkClassModel extends flowModel ...@@ -88,50 +90,49 @@ class flow_emfkClassModel extends flowModel
} }
} }
} }
var_dump($checkid);die; var_dump($checkid);die;
//zt 1代表同意 //zt 1代表同意
if($zt==1){ if($zt==1){
$flowid=$this->getflow(); $flowid=$this->getflow();
if($flowid['nowcheckid']==$checkid){ if($flowid['nowcheckid']==$checkid){
$data = m('c_emfk_details')->getall('mid='.$this->rs['id'], 'id,cbzxid,amount'); $data = m('c_emfk_details')->getall('mid='.$this->rs['id'], 'id,cbzxid,amount');
foreach ($data as $key => $vo) { foreach ($data as $key => $vo) {
$project=self::project($vo['cbzxid']); $project=self::project($vo['cbzxid']);
$cbzx_code= self::dept($project['data'][0]['jz_cur_dept']); $cbzx_code= self::dept($project['data'][0]['jz_cur_dept']);
$sql = " cost_id='$cbzx_code' and status = 1 and is_default=1"; $sql = " cost_id='$cbzx_code' and status = 1 and is_default=1";
$cost = m('c_fund_account')->getone($sql, 'id,type,freeze_amount,account_balance');//查询账户表成本中心id $cost = m('c_fund_account')->getone($sql, 'id,type,freeze_amount,account_balance');//查询账户表成本中心id
if($cost['type']=='1'){ if($cost['type']=='1'){
if(($cost['account_balance']-$cost['freeze_amount'])<$vo['amount']){ if(($cost['account_balance']-$cost['freeze_amount'])<$vo['amount']){
return "账户余额不足";die; return "账户余额不足";die;
}
} }
$id=$cost['id'];
$c_withhold = array(
'fund_account_id' => $id,
'docnum' => $this->rs['docnum'],
'cost_id' => $vo['cbzxid'],
'amount' => $vo['amount'],
'status' => 1,
'create_time' => date("Y-m-d H:i:s"),
'uid' => $this->rs['uid'],
);
m('c_withhold_emfk')->insert($c_withhold);
//修改冻结余额
$freeze = array(
'freeze_amount' => $cost['freeze_amount'] + $vo['amount'],
);
m('c_fund_account')->update($freeze, "`id`='$id'");
} }
$id=$cost['id'];
$c_withhold = array(
'fund_account_id' => $id,
'docnum' => $this->rs['docnum'],
'cost_id' => $vo['cbzxid'],
'amount' => $vo['amount'],
'status' => 1,
'create_time' => date("Y-m-d H:i:s"),
'uid' => $this->rs['uid'],
);
m('c_withhold_emfk')->insert($c_withhold);
//修改冻结余额
$freeze = array(
'freeze_amount' => $cost['freeze_amount'] + $vo['amount'],
);
m('c_fund_account')->update($freeze, "`id`='$id'");
} }
}
}else{ }else{
$docnum=$this->rs['docnum']; $docnum=$this->rs['docnum'];
...@@ -164,73 +165,70 @@ var_dump($checkid);die; ...@@ -164,73 +165,70 @@ var_dump($checkid);die;
} }
//流程全部完成后调用 //流程全部完成后调用
protected function flowcheckfinsh($zt){ protected function flowcheckfinsh($zt){
$this->sendMess(1,3); $this->sendMess(1,3);
$docnum=$this->rs['docnum']; $docnum=$this->rs['docnum'];
$withhold_cost = m('c_withhold_emfk')->getall("docnum='$docnum' and status =1", 'id,cost_id,amount'); $withhold_cost = m('c_withhold_emfk')->getall("docnum='$docnum' and status =1", 'id,cost_id,amount');
foreach ($withhold_cost as $key => $vo) {
// 扣除账户余额 c_fund_account account_balance
$project=self::project($vo['cost_id']);
$cbzxid= self::dept($project['data'][0]['jz_cur_dept']);
$model = 'c_fund_account'; foreach ($withhold_cost as $key => $vo) {
$sql = " cost_id ='$cbzxid' and status = 1 and is_default=1"; // 扣除账户余额 c_fund_account account_balance
$data = m($model)->getone($sql,'id,name,account_balance,freeze_amount'); $project=self::project($vo['cost_id']);
$cbzxid= self::dept($project['data'][0]['jz_cur_dept']);
$zfarr = array( $model = 'c_fund_account';
'account_balance' =>$data['account_balance']-$vo['amount'], $sql = " cost_id ='$cbzxid' and status = 1 and is_default=1";
); $data = m($model)->getone($sql,'id,name,account_balance,freeze_amount');
$id=$data['id'];
m('c_fund_account')->update($zfarr,"`id`='$id'");
$freeze = array( $zfarr = array(
'freeze_amount' => $data['freeze_amount'] - $vo['amount'], 'account_balance' =>$data['account_balance']-$vo['amount'],
); );
$id=$data['id'];
m('c_fund_account')->update($zfarr,"`id`='$id'");
m('c_fund_account')->update($freeze, "`id`='$id'"); $freeze = array(
'freeze_amount' => $data['freeze_amount'] - $vo['amount'],
);
// 成本中心 amount 变更 m('c_fund_account')->update($freeze, "`id`='$id'");
$cbzx = substr($cbzxid,0,strrpos($cbzxid,"("));
$cbzxsql = " code ='$cbzx' and status = 1";
$cbzxdata = m('c_cbzx')->getone($cbzxsql,'id,amount'); // 成本中心 amount 变更
$cbarr = array( $cbzx = substr($cbzxid,0,strrpos($cbzxid,"("));
'amount' =>$cbzxdata['amount']+$vo['amount'], $cbzxsql = " code ='$cbzx' and status = 1";
);
m('c_cbzx')->update($cbarr,"`code`='$cbzx'");
//账户明细 c_account_detail
$account_detail=array(
'account' => $data['name'],
'opt_type' => 2,
'amount' =>$vo['amount'],
'trans_numb' => $this->rs['docnum'],
'account_balance' => $data['account_balance']-$vo['amount'],
'create_time' =>date("Y-m-d H:i:s"),
'uid' =>$this->rs['uid'],
);
m('c_account_detail')->insert($account_detail); $cbzxdata = m('c_cbzx')->getone($cbzxsql,'id,amount');
$cbarr = array(
'amount' =>$cbzxdata['amount']+$vo['amount'],
);
m('c_cbzx')->update($cbarr,"`code`='$cbzx'");
//账户明细 c_account_detail
$account_detail=array(
'account' => $data['name'],
'opt_type' => 2,
'amount' =>$vo['amount'],
'trans_numb' => $this->rs['docnum'],
'account_balance' => $data['account_balance']-$vo['amount'],
'create_time' =>date("Y-m-d H:i:s"),
'uid' =>$this->rs['uid'],
);
// 电费12 m('c_account_detail')->insert($account_detail);
// 电费12
$fund_detail=array(
'trans_numb' =>$this->rs['docnum'],
'account' => $data['name'],
'toaccount' =>$this->rs['applicant'],
'trans_amount' =>$vo['amount'],
'business_type' =>12,
'opt_type' =>2,
'account_balance'=>$data['account_balance']-$vo['amount'],
'create_time' =>date("Y-m-d H:i:s"),
'uid' =>$this->rs['uid'],
);
m('c_fund_detail')->insert($fund_detail);
}
$fund_detail=array(
'trans_numb' =>$this->rs['docnum'],
'account' => $data['name'],
'toaccount' =>$this->rs['applicant'],
'trans_amount' =>$vo['amount'],
'business_type' =>12,
'opt_type' =>2,
'account_balance'=>$data['account_balance']-$vo['amount'],
'create_time' =>date("Y-m-d H:i:s"),
'uid' =>$this->rs['uid'],
);
m('c_fund_detail')->insert($fund_detail);
} }
}
}
} \ No newline at end of file
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论