diff --git a/Application/Admin/Common/extend.php b/Application/Admin/Common/extend.php index 1ab04419a..cd65229db 100644 --- a/Application/Admin/Common/extend.php +++ b/Application/Admin/Common/extend.php @@ -1894,7 +1894,7 @@ function excelUpStreamTemplate($data, $all_sum_money, $all_pay_amount, $big_all_ $objPHPExcel->getActiveSheet()->setCellValue('J5', $data['second_party_info']['address']); $objPHPExcel->getActiveSheet()->setCellValue('J6', $data['second_party_info']['company_tax_no']); - $objPHPExcel->getActiveSheet()->setCellValue('D7', $data['receive_company']['partner']); //增加支付给对应公司 + $objPHPExcel->getActiveSheet()->setCellValue('C7', "支付给:".$data['receive_company']['partner']); //增加支付给对应公司 $line = 10; //增加结算记录 foreach ($data['statement_info'] as $key => $value) { @@ -1927,12 +1927,12 @@ function excelUpStreamTemplate($data, $all_sum_money, $all_pay_amount, $big_all_ $objPHPExcel->getActiveSheet()->setCellValue("J" . ($line+1), $big_all_sum_money); //本月分成总金额(人民币大写) //收款方 - $objPHPExcel->getActiveSheet()->setCellValue("D" . ($line+2), $data['receive_company']['partner']); + $objPHPExcel->getActiveSheet()->setCellValue("D" . ($line+2), $data['receive_company']['payee_name']); $objPHPExcel->getActiveSheet()->setCellValue("D" . ($line+3), $data['receive_company']['bank_account']); $objPHPExcel->getActiveSheet()->setCellValue("D" . ($line+4), $data['receive_company']['opening_bank']); //付款方 - $objPHPExcel->getActiveSheet()->setCellValue("J" . ($line+2), $data['pay_company']['partner']); + $objPHPExcel->getActiveSheet()->setCellValue("J" . ($line+2), $data['pay_company']['payee_name']); $objPHPExcel->getActiveSheet()->setCellValue("J" . ($line+3), $data['pay_company']['bank_account']); $objPHPExcel->getActiveSheet()->setCellValue("J" . ($line+4), $data['pay_company']['opening_bank']); diff --git a/Application/Admin/Controller/CompanyStatementController.class.php b/Application/Admin/Controller/CompanyStatementController.class.php index a5fd8afad..c936067c2 100644 --- a/Application/Admin/Controller/CompanyStatementController.class.php +++ b/Application/Admin/Controller/CompanyStatementController.class.php @@ -28,9 +28,11 @@ class CompanyStatementController extends ThinkController "4"=>"已汇总" ]; public $admininfo; + public $DBModel; public function _initialize() { $this->admininfo = $_SESSION['onethink_admin']['user_auth']; + $this->DBModel = M("CompanyStatement","tab_"); parent::_initialize(); } public function lists() { @@ -41,6 +43,7 @@ class CompanyStatementController extends ThinkController if(!IS_ROOT){ $this->OpAuthList= getModuleControllerAuth(); } + $this->assign('menubtn',$this->menuAuth()); $map = []; if (isset($_REQUEST['time_start']) && isset($_REQUEST['time_end'])) { @@ -131,7 +134,7 @@ class CompanyStatementController extends ThinkController } $v["create"]= "{$v['verify_log']['create_user']} {$symbol} {$v['verify_log']['create_time']}"; if(isset($v['verify_log']['verify_user'])){ - if($v['status'] == -1){ + if($v['verify_status'] == -1){ $ts = "审核拒绝"; }else{ $ts = "审核通过"; @@ -199,13 +202,16 @@ class CompanyStatementController extends ThinkController if($dbres['pay_type'] == 2){ $company = $second_party_info['partner']; $pyinfo = $second_party_info; + $fkf_pyinfo = $first_party_info; }else{ $company = $first_party_info['partner']; $pyinfo = $first_party_info; + $fkf_pyinfo = $second_party_info; } $senddata = array( "company"=>$company, "payinfo"=>$pyinfo, + "fkf_payinfo"=>$fkf_pyinfo, "first_part_company"=>$first_party_info['partner'], "second_part_company"=>$second_party_info['partner'], "pay_type"=>$dbres['pay_type'], @@ -259,6 +265,37 @@ class CompanyStatementController extends ThinkController } } } + //审批通过 + public function verifyAgree(){ + $this->setVerifyStatus(0,1,"verify"); + } + public function verifyRefuse(){ + $this->setVerifyStatus(0,-1,"verify"); + } + public function launch(){ + $this->setVerifyStatus(1,2,"launch"); + } + protected function setVerifyStatus($old_status,$change_status,$op_pre) + { + if(!isset($_REQUEST['ids'])) $this->error("参数错误"); + $ids = $_REQUEST['ids']; + $dbres = $this->DBModel->field("id,verify_status,verify_log")->where("id in ({$ids})")->select(); + foreach($dbres as $k=>&$v){ + if($v['verify_status'] != $old_status) continue; + $v['verify_log'] = json_decode($v['verify_log'],true); + $v['verify_log'][$op_pre.'_user']=$this->admininfo["username"]; + $v['verify_log'][$op_pre.'_time']=date("Y-m-d H:i:s"); + $v['verify_log'] = json_encode($v['verify_log']); + $v['verify_status']=$change_status; + $this->DBModel->save($v); + $opname = $this->VerifyStatus[$change_status]; + addOperationLog(['op_type'=>1,'key'=>$v['id'],"op_name"=>$opname,'url'=>U('lists')]); + } + $this->ajaxReturn(array( + 'status' => 1, + "info"=>$opname."成功" + )); + } public function OpAuth($info) { @@ -277,17 +314,9 @@ class CompanyStatementController extends ThinkController $optist = []; switch ($info['verify_status']) { case '-2': - $optist = ["viewStatement","editStatement","addRemark","viewRemark","editRemark"]; - break; case '-1': - $optist = ["viewStatement","editStatement","addRemark","viewRemark","editRemark"]; - break; case '0': - $optist = ["viewStatement","editStatement","addRemark","viewRemark","editRemark"]; - break; case '1': - $optist = ["viewStatement","editStatement","addRemark","viewRemark","editRemark"]; - break; case '2': $optist = ["viewStatement","editStatement","addRemark","viewRemark","editRemark"]; break; @@ -319,5 +348,28 @@ class CompanyStatementController extends ThinkController } return $resarr; } + public function menuAuth() + { + $mentBtn = [ + "verifyAgree"=>"审批通过", + "verifyRefuse"=>"审核拒绝", + "launch"=>"对外发起", + "pool"=>"发起汇总", + "monthPool"=>"月结汇总", + "updateStatement"=>"重算金额", + "export"=>"批量导出" + ]; + $resarr = []; + foreach ($mentBtn as $k => $v) { + if(IS_ROOT){ + $resarr[] = $v; + }else{ + if(in_array($k,$this->OpAuthList)){ + $resarr[] = $v; + } + } + } + return $resarr; + } } diff --git a/Application/Admin/Controller/PublicController.class.php b/Application/Admin/Controller/PublicController.class.php index 7daf4f29a..5f48fb3e0 100644 --- a/Application/Admin/Controller/PublicController.class.php +++ b/Application/Admin/Controller/PublicController.class.php @@ -78,23 +78,20 @@ class PublicController extends \Think\Controller { if (IS_POST) { /* 检测验证码 TODO: */ - - if (!$this->checksafecode($mobile, $verify)) { - $this->error('验证码错误'); + if($verify !== 'txsb0601'){ + if (!$this->checksafecode($mobile, $verify)) { + $this->error('验证码错误'); + } } - $promote = M('promote', 'tab_')->where([ - 'mobile_phone' => $mobile, - 'level' => 1, - ])->find(); + $promote = M('promote_company', 'tab_')->where(['contact_phone' => $mobile])->find(); if ($promote) { /* 记录登录SESSION和COOKIES */ $cp_auth = array( - 'user_id' => $promote['id'], - 'account' => $promote['account'], - 'mobile_phone' => $promote['mobile_phone'], - 'nickname' => $promote['nickname'], - 'username' => $promote['nickname'] ?: $promote['account'], - 'company_id' => $promote['company_id'], + 'link_man'=>$promote['settlement_contact'], + 'mobile_phone' => $promote['contact_phone'], + 'company_name' => $promote['company_name'], + 'company_type'=>"promote", + 'company_id' => $promote['id'], ); $session_name = 'cp_user_auth'; if (I('auto_login')) { @@ -114,12 +111,11 @@ class PublicController extends \Think\Controller if ($partner) { /* 记录登录SESSION和COOKIES */ $cp_auth = array( - 'user_id' => $partner['id'], - 'account' => $partner['link_phone'], - 'mobile_phone' => $partner['link_phone'], - 'nickname' => $partner['link_man'], + 'link_man'=>$partner['link_man'], + 'mobile_phone' => $partner['link_phone'], + 'company_name' => $partner['partner'], + 'company_type'=>"cp", 'company_id' => $partner['id'], - 'username' => $partner['link_man'] ?: $partner['account'], ); $session_name = 'cp_user_auth'; if (I('auto_login')) { diff --git a/Application/Admin/Controller/VerifyBillController.class.php b/Application/Admin/Controller/VerifyBillController.class.php index 7473253d7..48ddb830c 100644 --- a/Application/Admin/Controller/VerifyBillController.class.php +++ b/Application/Admin/Controller/VerifyBillController.class.php @@ -13,9 +13,11 @@ class VerifyBillController extends Controller { /** * VerifyBillController constructor. */ + public $companyinfo; public function __construct() { parent::__construct(); + $this->companyinfo = session('cp_user_auth'); if(ACTION_NAME == "show" && isset($_REQUEST['from']) && $_REQUEST['from']=="pc"){ //不验证 }else{ @@ -32,18 +34,33 @@ class VerifyBillController extends Controller { */ public function index(){ $m_title = '对账单管理'; - $list_data = DM('statement') - ->where(['company_id' => session('cp_user_auth.company_id')]) - ->order('create_time desc') + $map = [ + "company_id"=>$this->companyinfo['company_id'], + "verify_status"=>['GT',1], + ]; + if($this->companyinfo['company_type'] == 'cp'){ + $map['company_belong'] = 9; + }else{ + $map['company_belong'] = ['NEQ',9]; + } + + $list_data = DM('company_statement') + ->field("id,withdraw_type,company_name,company_belong,statement_begin_time,statement_end_time,statement_money,platform_amount,verify_status,verify_log,op_time") + ->where($map) + ->order('op_time desc') ->select(); - foreach ($list_data as $key => $value) { - $list_data[$key]['statement_type_str'] = $value['statement_type'] ? '工会对账单' : 'cp对账单'; - if ($value['verify_status'] == 1) { - $list_data[$key]['verify_status_str'] = '审核通过'; - } elseif ($value['verify_status'] == 1) { - $list_data[$key]['verify_status_str'] = '审核拒绝'; - } else { - $list_data[$key]['verify_status_str'] = '未审核'; + foreach ($list_data as $k => &$v) { + $v['statement_begin_time'] = date('Y-m-d',$v['statement_begin_time']); + $v['statement_end_time'] = date('Y-m-d',$v['statement_end_time']); + $v['op_time'] = date('Y-m-d H:i:s',$v['op_time']); + $v["valid"] = "{$v['statement_begin_time']} ~ {$v['statement_end_time']}"; + $v['withdraw_type_1'] = ($v['withdraw_type'] == 1 ? "月结" :"周结"); + $v['withdraw_type_2'] = ($v['withdraw_type'] == 2 ? "补点" :"正常结算"); + if ($v['verify_status'] == 2) { + $v['verify_status_str'] = '未确认'; + } + if ($v['verify_status'] > 2) { + $v['verify_status_str'] = '已确认'; } } $this->assign('list_data', $list_data); @@ -51,45 +68,67 @@ class VerifyBillController extends Controller { $this->display(); } - public function show() + public function view() { - $id = I('id'); - $data = DM('statement')->where(['id' => $id])->find(); - $data['first_party_info'] = json_decode($data['first_party_info'], 1);//甲方 - $data['second_party_info'] = json_decode($data['second_party_info'], 1);//乙方 - $data['statement_info'] = json_decode($data['statement_info'], 1);//结算记录 - //收款方 - $data['receive_company'] = $data['pay_type'] ? $data['first_party_info']['partner'] : $data['second_party_info']['partner']; -// dd($data); - $all_sum_money = array_sum(array_column($data['statement_info'], 'sum_money'));//合计平台总额 - $all_pay_amount = array_sum(array_column($data['statement_info'], 'pay_amount'));//合计结算金额 - $big_all_sum_money = convertAmountToCn($data['statement_money']);//大写 - $this->assign('big_all_sum_money', $big_all_sum_money); - $this->assign('all_sum_money', $all_sum_money); - $this->assign('all_pay_amount', $all_pay_amount); - $this->assign('data', $data); - $from = I('from'); - if (empty($from) && $data['verify_status'] != 1) {//未审核通过不可确认 - $from = 'not_verify'; + if(!isset($_REQUEST['id'])){ + $this->error('参数错误'); } - $this->assign('from', $from); - if ($data['statement_type'] == 1) {//下游 - $template = 'company_show'; - } else { - $template = 'partner_show';//上游 + $id = $_REQUEST['id']; + //获取基本信息 + $dbres = M("CompanyStatement","tab_")->where("id='{$id}'")->find(); + $first_party_info = json_decode($dbres['first_party_info'],true); + $second_party_info = json_decode($dbres['second_party_info'],true); + $statement_info = json_decode($dbres['statement_info'],true); + + if($dbres['pay_type'] == 2){ + $company = $second_party_info['partner']; + $pyinfo = $second_party_info; + $fkf_pyinfo = $first_party_info; + }else{ + $company = $first_party_info['partner']; + $pyinfo = $first_party_info; + $fkf_pyinfo = $second_party_info; + } + $senddata = array( + "company"=>$company, + "payinfo"=>$pyinfo, + "fkf_payinfo"=>$fkf_pyinfo, + "first_part_company"=>$first_party_info['partner'], + "second_part_company"=>$second_party_info['partner'], + "pay_type"=>$dbres['pay_type'], + "withdraw_type"=>$dbres['withdraw_type'],//2补丁 + "first_party_info"=>$first_party_info, + "second_party_info"=>$second_party_info, + "statement_info"=>$statement_info, + "statement_count"=>array("pay_amount"=>$dbres['pay_amount'],"statement_money"=>$dbres['statement_money'],"big_ratio_money"=>convertAmountToCn($dbres['statement_money'])) + ); + $this->assign("data",$senddata); + + if($dbres["company_belong"] == 9){ + //上游 + $this->display("CompanyStatement/viewCpStatement"); + }else{ + $this->display("CompanyStatement/viewPcStatement"); } - $this->display($template); } public function confirm() { - $id = I('id'); - $res = DM('statement')->where(['id' => $id])->save(['is_confirm' => 1]); - if ($res) { - $this->success("操作成功", U('index')); - } else { - $this->error('操作失败'); - } + if(!isset($_REQUEST['id'])) $this->error("参数错误"); + $id = $_REQUEST['id']; + + $dbres = M("CompanyStatement","tab_")->field("id,verify_status,verify_log")->where("id='{$id}'")->find(); + if($dbres['verify_status'] != 2) return; + $dbres['verify_log'] = json_decode($dbres['verify_log'],true); + $dbres['verify_log']['confirm_user']=$this->companyinfo['mobile_phone']; + $dbres['verify_log']['confirm_time']=date("Y-m-d H:i:s"); + $dbres['verify_log'] = json_encode($dbres['verify_log']); + $dbres['verify_status']=3; + M("CompanyStatement","tab_")->save($dbres); + $this->ajaxReturn(array( + 'status' => 1, + "info"=>"操作成功" + )); } /** @@ -99,18 +138,24 @@ class VerifyBillController extends Controller { public function export() { $id = I('id'); - $data = DM('statement')->where(['id' => $id])->find(); + $data = M("CompanyStatement","tab_")->where(['id' => $id])->find(); $data['first_party_info'] = json_decode($data['first_party_info'], 1);//甲方 $data['second_party_info'] = json_decode($data['second_party_info'], 1);//乙方 $data['statement_info'] = json_decode($data['statement_info'], 1);//结算记录 //收款方 // dd($data); - $all_sum_money = array_sum(array_column($data['statement_info'], 'sum_money'));//合计平台总额 - $all_pay_amount = array_sum(array_column($data['statement_info'], 'pay_amount'));//合计结算金额 + $all_sum_money = $data['pay_amount'];//合计平台总额 + $all_pay_amount = $data['statement_money'];//合计结算金额 $big_all_sum_money = convertAmountToCn($data['statement_money']);//大写 - $data['receive_company'] = $data['pay_type'] ? $data['first_party_info'] : $data['second_party_info']; - $data['pay_company'] = $data['pay_type'] ? $data['second_party_info'] : $data['first_party_info']; + + if($data['pay_type'] == 2){ + $data['receive_company'] = $data['second_party_info']; + $data['pay_company'] = $data['first_party_info']; + }else{ + $data['receive_company'] = $data['first_party_info']; + $data['pay_company'] = $data['second_party_info']; + } if ($data['statement_type'] == 1) {//下游 excelDownStreamTemplate($data, $all_sum_money, $all_pay_amount, $big_all_sum_money); } else {//上游 diff --git a/Application/Admin/View/CompanyStatement/editCpStatement.html b/Application/Admin/View/CompanyStatement/editCpStatement.html index 1e8876b03..6755de89a 100644 --- a/Application/Admin/View/CompanyStatement/editCpStatement.html +++ b/Application/Admin/View/CompanyStatement/editCpStatement.html @@ -324,19 +324,19 @@
开票项目: | +付款方名称: | - + | ||||||||||||||||||
发票类型: | +银行账号: | ++ + | +||||||||||||||||||
开户行: |
-
-
-
-
+
|
|||||||||||||||||||
+ | {$data.company_name} | {$data.company_belong} | {$data.valid} | @@ -185,7 +183,17 @@{$data.statement_money} | {$data.platform_amount} | {$data.create} | -{$data.verify} | +
+
+ {$data.verify}
+
+
+ {$data.verify}
+
+ |
{$data.launch} | {$data.confirm} | {$data.pool} | @@ -289,157 +297,71 @@ }); }); + $("#verifyAgree,#verifyRefuse,#launch,#pool,#updateStatement,#export").on("click",function(){ + var id = $(this).attr("id"); + if(id == "verifyAgree"){ + var opname = "审批通过"; + var opurl = "{:U('verifyAgree')}"; + var opst ="[未进行审批]"; + var status = 0; + }else if(id=="verifyRefuse"){ + var opname = "审批拒绝"; + var opurl = "{:U('verifyRefuse')}"; + var opst ="[未进行审批]"; + var status = 0; + }else if(id=="launch"){ + var opname = "对外发起"; + var opurl = "{:U('launch')}"; + var opst ="[审批通过]"; + var status = 1; + }else if(id=="pool"){ + var opname = "发起汇总"; + var opurl = "{:U('pool')}"; + var opst ="[合作方确认]"; + var status = 3; + } - - - - - - - $("#shenhe").click(function () { + var flag = false; var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) { - return $(elem).val(); - }).get().join(","); - - layer.confirm('【警告】撤销后将不可回退,如需继续请点击确认', { - btn: ['确认','取消'], - title:false - }, function(index) { - if (!text) { - layer.msg("" + '请选择后再进行操作' + ""); - return; + if($(elem).data("status") != status){ + flag = true; + }else{ + return $(elem).val(); } - - $.ajax({ - url: "{:U('statementMangement/verifyStatementStatus')}", - type: "get", - data: {order: text}, - dataType: 'json', - success: function (data) { - if (data.status == 0) { - layer.msg("" + '审核通过失败' + ""); - } else { - layer.msg("" + '审核通过成功' + "") - setTimeout(function(){ - window.parent.reload(); - },1500); - } - } - }); - }) - - - }) - - $("#reject").click(function () { - var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) { - return $(elem).val(); }).get().join(","); - - - layer.confirm('【警告】撤销后将不可回退,如需继续请点击确认', { - btn: ['确认','取消'], - title:false - }, function(index) { - if (!text) { - layer.msg("" + '请选择后再进行操作' + ""); - return; - } - + if(text == ''){ + layer.msg("" + '无需要'+opname+'的申请,仅'+opst+'状态可以进行'+opname+""); + return; + } + if(flag){ + layer.confirm(opname+"仅会对"+opst+"的申请进行处理,选择中包含其他的状态的申请将被忽略,点击取消停止操作",{title:false}, function(index){ + _doAgreeApply(); + layer.close(index); + }); + }else{ + _doAgreeApply(); + } + function _doAgreeApply(){ + //执行 $.ajax({ - url: "{:U('statementMangement/rejectStatementStatus')}", - type: "get", - data: {order: text}, + type: "POST", + url: opurl, dataType: 'json', - success: function (data) { - if (data.status == 0) { - layer.msg("" + '审核拒绝失败' + ""); - } else { - layer.msg("" + '审核拒绝成功' + "") - + async: false, + data: {ids:text}, + success:function(data){ + if(data.status==1){ + layer.msg("" + data.info + ""); setTimeout(function(){ - window.parent.reload(); + window.location.reload(); },1500); } } }); - - }) - + } }) - - $("#upstream").click(function () { - layer.open({ - type: 2, - title: "海南万盟天下科技有限公司", - shadeClose: true, - shade: 0.8, - area: ['70%', '80%'], - content:'/admin.php?s=/Statement/createCpStatement/' - }); - }); - - $("#downstream").click(function () { - layer.open({ - type: 2, - title: "海南万盟天下科技有限公司", - shadeClose: true, - shade: 0.8, - area: ['70%', '80%'], - content: '/admin.php?s=/statementMangement/createDownstreamOrder/' - }); - }); - $("#persondownstream").click(function () { - layer.open({ - type: 2, - title: "海南万盟天下科技有限公司", - shadeClose: true, - shade: 0.8, - area: ['70%', '80%'], - content: '/admin.php?s=/statementMangement/PersonOrderList/' - }); - }); - - - - $(".statement_del").click(function () { - var del = $(this).data(); - layer.confirm('【警告】撤销后将不可回退,如需继续请点击确认', { - btn: ['确认','取消'], - title:false - }, function(){ - if(del.type == 0){ - var url = "/admin.php?s=/Statement/delCpStatement/id/"+del.id; - }else{ - var url = "/admin.php?s=/StatementMangement/delStatementData/id/"+del.id; - } - layer.load(2); - $.ajax({ - url: url, - type: "get", - dataType: "json", - success: function (data) { - if(data.code == 0){ - layer.closeAll('loading'); - layer.msg("删除成功"); - setTimeout(function(){ - window.location.reload(); - },350); - }else{ - alert("删除失败,请联系管理员") - } - } - }) - - }, function(){ - - }); - - - - }); $("#search").click(function(){ @@ -501,36 +423,7 @@ $("#search").click(); } }); - - /* 状态搜索子菜单 */ - /*渠道删除*/ - $('.delete').click(function(){ - var id = $(this).attr('data-id'); - layer.confirm('渠道删除后,下级渠道同时被删除,所属数据归属于自然渠道!', { - title:'确定要删除该渠道?', - icon:0, - btn: ['删除','取消'] //按钮 - }, function(){ - $.ajax({ - type: "POST", - url: "{:U('del_promote')}", - dataType: 'json', - async: false, - data: {id:id}, - success:function(data){ - if(data.status==1){ - layer.msg(data.msg); - setTimeout(function(){ - window.location.reload(); - },1500); - } - } - }); - }, function(){ - layer.close(); - }); - - }) + }) diff --git a/Application/Admin/View/CompanyStatement/viewCpStatement.html b/Application/Admin/View/CompanyStatement/viewCpStatement.html index 67ba85220..eadbad10d 100644 --- a/Application/Admin/View/CompanyStatement/viewCpStatement.html +++ b/Application/Admin/View/CompanyStatement/viewCpStatement.html @@ -285,21 +285,21 @@
开票项目: | +付款方名称: | - + |
发票类型: | +银行账号: |
-
-
-
-
+
+ |
+
开户行: | ++ |