提交 182af322 authored 作者: fengzy's avatar fengzy

财务付款模块关联资金管理模块

上级 5db83e68
...@@ -7,12 +7,77 @@ class mode_finfybxClassAction extends inputAction{ ...@@ -7,12 +7,77 @@ class mode_finfybxClassAction extends inputAction{
protected function savebefore($table, $arr, $id, $addbo){ protected function savebefore($table, $arr, $id, $addbo){
$cbzxid= $arr['cbzxid'];
$model = 'c_fund_account';
$sql = " cost_id ='$cbzxid' and status = 1 and is_default=1";
$data = m($model)->getone($sql,'id,account_balance');
if(!$data){
return "未检测到该成本中心默认扣款账户";
}
// if($data['account_balance'] < $arr['amountOfThisPayment']){
// return "账户余额不足";
// }
} }
protected function saveafter($table, $arr, $id, $addbo){ protected function saveafter($table, $arr, $id, $addbo){
// 扣除账户余额 c_fund_account account_balance
$cbzxid= $arr['cbzxid'];
$model = 'c_fund_account';
$sql = " cost_id ='$cbzxid' and status = 1 and is_default=1";
$data = m($model)->getone($sql,'id,name,account_balance');
$zfarr = array(
'account_balance' =>$data['account_balance']-$arr['amountOfThisPayment'],
);
$id=$data['id'];
m('c_fund_account')->update($zfarr,"`id`='$id'");
// 成本中心 amount 变更
$cbzx = substr($cbzxid,0,strrpos($cbzxid,"("));
$cbzxsql = " code ='$cbzx' and status = 1";
$cbzxdata = m('c_cbzx')->getone($cbzxsql,'id,amount');
$cbarr = array(
'amount' =>$cbzxdata['amount']+$arr['amountOfThisPayment'],
);
m('c_cbzx')->update($cbarr,"`code`='$cbzx'");
//账户明细 c_account_detail
$account_detail=array(
'account' => $data['name'],
'opt_type' => 2,
'amount' =>$arr['amountOfThisPayment'],
'trans_numb' => $arr['docnum'],
'account_balance' => $data['account_balance']-$arr['amountOfThisPayment'],
'create_time' =>date("Y-m-d H:i:s"),
'uid' =>$arr['optid'],
);
m('c_account_detail')->insert($account_detail);
// 业务付款8业务预付款10费用报销11 oa_c_fund_detail
$fund_detail=array(
'trans_numb' =>$arr['docnum'],
'account' => $data['name'],
'toaccount' =>$arr['payee'],
'trans_amount' => $arr['amountOfThisPayment'],
'business_type' =>11,
'opt_type' =>2,
'account_balance'=>$data['account_balance']-$arr['amountOfThisPayment'],
'create_time' =>date("Y-m-d H:i:s"),
);
m('c_fund_detail')->insert($fund_detail);
} }
public function getlastAjax() public function getlastAjax()
......
...@@ -13,7 +13,19 @@ class mode_oafkClassAction extends inputAction{ ...@@ -13,7 +13,19 @@ class mode_oafkClassAction extends inputAction{
* return array('msg'=>'错误提示内容','rows'=> array()) 可返回空字符串,或者数组 rows 是可同时保存到数据库上数组 * return array('msg'=>'错误提示内容','rows'=> array()) 可返回空字符串,或者数组 rows 是可同时保存到数据库上数组
*/ */
protected function savebefore($table, $arr, $id, $addbo){ protected function savebefore($table, $arr, $id, $addbo){
$cbzxid= $arr['cbzxid'];
$model = 'c_fund_account';
$sql = " cost_id ='$cbzxid' and status = 1 and is_default=1";
$data = m($model)->getone($sql,'id,account_balance');
if(!$data){
return "未检测到该成本中心默认扣款账户";
}
// if($data['account_balance'] < $arr['amountOfThisPayment']){
// return "账户余额不足";
// }
} }
/** /**
...@@ -24,6 +36,63 @@ class mode_oafkClassAction extends inputAction{ ...@@ -24,6 +36,63 @@ class mode_oafkClassAction extends inputAction{
* $addbo Boolean 是否添加时 * $addbo Boolean 是否添加时
*/ */
protected function saveafter($table, $arr, $id, $addbo){ protected function saveafter($table, $arr, $id, $addbo){
// 扣除账户余额 c_fund_account account_balance
$cbzxid= $arr['cbzxid'];
$model = 'c_fund_account';
$sql = " cost_id ='$cbzxid' and status = 1 and is_default=1";
$data = m($model)->getone($sql,'id,name,account_balance');
$zfarr = array(
'account_balance' =>$data['account_balance']-$arr['amountOfThisPayment'],
);
$id=$data['id'];
m('c_fund_account')->update($zfarr,"`id`='$id'");
// 成本中心 amount 变更
$cbzx = substr($cbzxid,0,strrpos($cbzxid,"("));
$cbzxsql = " code ='$cbzx' and status = 1";
$cbzxdata = m('c_cbzx')->getone($cbzxsql,'id,amount');
$cbarr = array(
'amount' =>$cbzxdata['amount']+$arr['amountOfThisPayment'],
);
m('c_cbzx')->update($cbarr,"`code`='$cbzx'");
//账户明细 c_account_detail
$account_detail=array(
'account' => $data['name'],
'opt_type' => 2,
'amount' =>$arr['amountOfThisPayment'],
'trans_numb' => $arr['docnum'],
'account_balance' => $data['account_balance']-$arr['amountOfThisPayment'],
'create_time' =>date("Y-m-d H:i:s"),
'uid' =>$arr['optid'],
);
m('c_account_detail')->insert($account_detail);
// 业务付款8业务预付款10费用报销11 oa_c_fund_detail
$fund_detail=array(
'trans_numb' =>$arr['docnum'],
'account' => $data['name'],
'toaccount' =>$arr['payee'],
'trans_amount' => $arr['amountOfThisPayment'],
'business_type' =>8,
'opt_type' =>2,
'account_balance'=>$data['account_balance']-$arr['amountOfThisPayment'],
'create_time' =>date("Y-m-d H:i:s"),
);
m('c_fund_detail')->insert($fund_detail);
} }
......
...@@ -12,19 +12,82 @@ class mode_oayfkClassAction extends inputAction{ ...@@ -12,19 +12,82 @@ class mode_oayfkClassAction extends inputAction{
* $addbo Boolean 是否添加时 * $addbo Boolean 是否添加时
* return array('msg'=>'错误提示内容','rows'=> array()) 可返回空字符串,或者数组 rows 是可同时保存到数据库上数组 * return array('msg'=>'错误提示内容','rows'=> array()) 可返回空字符串,或者数组 rows 是可同时保存到数据库上数组
*/ */
protected function savebefore($table, $arr, $id, $addbo){ protected function savebefore($table, $arr, $id, $addbo){
$cbzxid= $arr['cbzxid'];
$model = 'c_fund_account';
$sql = " cost_id ='$cbzxid' and status = 1 and is_default=1";
$data = m($model)->getone($sql,'id,account_balance');
if(!$data){
return "未检测到该成本中心默认扣款账户";
}
// if($data['account_balance'] < $arr['amountOfThisPayment']){
// return "账户余额不足";
// }
} }
/**
* 重写函数:保存后处理,主要保存其他表数据
* $table String 对应表名
* $arr Array 表单参数
* $id Int 对应表上记录Id
* $addbo Boolean 是否添加时
*/
protected function saveafter($table, $arr, $id, $addbo){ protected function saveafter($table, $arr, $id, $addbo){
// 扣除账户余额 c_fund_account account_balance
$cbzxid= $arr['cbzxid'];
$model = 'c_fund_account';
$sql = " cost_id ='$cbzxid' and status = 1 and is_default=1";
$data = m($model)->getone($sql,'id,name,account_balance');
$zfarr = array(
'account_balance' =>$data['account_balance']-$arr['amountOfThisPayment'],
);
$id=$data['id'];
m('c_fund_account')->update($zfarr,"`id`='$id'");
// 成本中心 amount 变更
$cbzx = substr($cbzxid,0,strrpos($cbzxid,"("));
$cbzxsql = " code ='$cbzx' and status = 1";
$cbzxdata = m('c_cbzx')->getone($cbzxsql,'id,amount');
$cbarr = array(
'amount' =>$cbzxdata['amount']+$arr['amountOfThisPayment'],
);
m('c_cbzx')->update($cbarr,"`code`='$cbzx'");
//账户明细 c_account_detail
$account_detail=array(
'account' => $data['name'],
'opt_type' => 2,
'amount' =>$arr['amountOfThisPayment'],
'trans_numb' => $arr['docnum'],
'account_balance' => $data['account_balance']-$arr['amountOfThisPayment'],
'create_time' =>date("Y-m-d H:i:s"),
'uid' =>$arr['optid'],
);
m('c_account_detail')->insert($account_detail);
// 业务付款8业务预付款10费用报销11 oa_c_fund_detail
$fund_detail=array(
'trans_numb' =>$arr['docnum'],
'account' => $data['name'],
'toaccount' =>$arr['payee'],
'trans_amount' => $arr['amountOfThisPayment'],
'business_type' =>10,
'opt_type' =>2,
'account_balance'=>$data['account_balance']-$arr['amountOfThisPayment'],
'create_time' =>date("Y-m-d H:i:s"),
);
m('c_fund_detail')->insert($fund_detail);
} }
} }
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论