diff --git a/Application/Admin/Controller/CompanyStatementOfflineController.class.php b/Application/Admin/Controller/CompanyStatementOfflineController.class.php index 04cbf863e..9c553e0e3 100644 --- a/Application/Admin/Controller/CompanyStatementOfflineController.class.php +++ b/Application/Admin/Controller/CompanyStatementOfflineController.class.php @@ -89,6 +89,12 @@ class CompanyStatementOfflineController extends ThinkController $v["payment"] = $v["pay_status_str"]; } + if ($v['pay_check'] == 0) { + $v['pay_check_str'] = "未确认"; + } else { + $v['pay_check_str'] = "已确认"; + } + $v['oplist'] = $this->OpAuth($v); } @@ -107,6 +113,78 @@ class CompanyStatementOfflineController extends ThinkController $this->display(); } + + //打款设置 + public function setPayment(){ + if(!isset($_REQUEST['id'])) $this->error("参数错误"); + $id = $_REQUEST['id']; + $CompanyInfo = M("company_statement_info","tab_") + ->alias('i') + ->field("i.id,i.pool_id,i.company_name,i.company_info,i.statement_money,i.remark,i.pay_status,i.verify_status,p.statement_num,i.statement_money") + ->join("tab_company_statement_pool p ON p.id = i.pool_id") + ->where("i.id in({$id})") + ->select(); + + $all_money = 0; + foreach($CompanyInfo as $k=>&$v){ + if($v['verify_status'] == 2){ + $v['is_payment'] = 2; + }else{ + $v['is_payment'] = 1; + } + + $v['company_info'] = json_decode($v['company_info'],true); + $v['company_info']['ali_user'] ?? ''; + $v['company_info']['ali_account'] ?? ''; + + $all_money += $v['statement_money']; + + } + + $this->assign('all_money',$all_money); + $this->assign("CompanyInfo",$CompanyInfo); + $this->assign("id",$id); + $this->display(); + } + + //修改打款设置 + public function editPayment(){ + if(!isset($_REQUEST['info'])) $this->error("参数错误"); + $info = $_REQUEST['info']; + +// dump($info);die(); + + $CompanyInfo = M("company_statement_info","tab_"); + //循环保存 + foreach($info as $k=>$v){ + $ydata = $CompanyInfo->where("id= '{$k}'")->find(); + $company_info = json_decode($ydata['company_info'],true); + if($ydata['verify_status'] == 2){ + $company_info['payee_name'] = $v['payee_name']; + $company_info['bank_account'] = $v['bank_account']; + $company_info['opening_bank'] = $v['opening_bank']; + }else{ + $company_info['ali_user'] = $v['ali_user']; + $company_info['ali_account'] = $v['ali_account']; + } + $savedata = [ + "company_info"=>json_encode($company_info,JSON_UNESCAPED_UNICODE), + "remark"=>$v['remark'], + "pay_check"=>1, + "id"=>$k + ]; + + $CompanyInfo->save($savedata); + + } + + $this->ajaxReturn(array( + 'status' => 1, + "info"=>"打款信息编辑成功" + )); + + } + public function doPayment() { if(!isset($_REQUEST['ids']) || !isset($_REQUEST['payment_time'])) $this->error("参数错误"); @@ -236,8 +314,9 @@ class CompanyStatementOfflineController extends ThinkController public function menuAuth() { $mentBtn = [ + "setPayment"=>"打款信息确认", "doPayment"=>"打款确认", - "export"=>"批量导出" + "export"=>"批量导出", ]; $resarr = []; foreach ($mentBtn as $k => $v) { diff --git a/Application/Admin/Controller/CompanyStatementPoolController.class.php b/Application/Admin/Controller/CompanyStatementPoolController.class.php index badadd7d2..39ddb2fbf 100644 --- a/Application/Admin/Controller/CompanyStatementPoolController.class.php +++ b/Application/Admin/Controller/CompanyStatementPoolController.class.php @@ -1075,7 +1075,7 @@ class CompanyStatementPoolController extends ThinkController } } //线上打款审核状态撤回 - M("company_statement_info","tab_")->where("pool_id={$id}")->save(['pay_verify_status'=>0,'verify_time'=>'','verify_member_id'=>0]); + M("company_statement_info","tab_")->where("pool_id={$id}")->save(['pay_verify_status'=>0,'verify_time'=>'','verify_member_id'=>0,'pay_check'=>0,'remark'=>'']); //线上打款支付宝状态撤回 M("company_statement_info","tab_")->where("pool_id={$id} and verify_status != 2")->save(['verify_status'=>0]); @@ -1130,6 +1130,9 @@ class CompanyStatementPoolController extends ThinkController if($ajaxreturn){ if ($change_status == 2) { + + $this->autoSetPayment($ids); + $this->splitForPayStatementInfo(); } @@ -1157,6 +1160,62 @@ class CompanyStatementPoolController extends ThinkController )); } + public function autoSetPayment($pool_id) { + + $CompanyInfo = M("company_statement_info","tab_"); + + $pool_id = explode(',',$pool_id); + + foreach ($pool_id as $pkey => $pvalue) { + + $data = $CompanyInfo->where(['pool_id'=>['in',$pvalue]])->select(); + + foreach ($data as $key => $value) { + if($value['verify_status'] != 2) { + $CompanyInfo->where(['id'=>$value['id']])->save(['verify_status'=>1]); + } + } + + } + + //循环保存 +// foreach($info as $k=>$v){ +// $ydata = $CompanyInfo->where("id= '{$k}'")->find(); +// $company_info = json_decode($ydata['company_info'],true); +// if($ydata['verify_status'] == 2){ +// $company_info['payee_name'] = $v['payee_name']; +// $company_info['bank_account'] = $v['bank_account']; +// $company_info['opening_bank'] = $v['opening_bank']; +// }else{ +// $company_info['ali_user'] = $v['ali_user']; +// $company_info['ali_account'] = $v['ali_account']; +// } +// $savedata = [ +// "company_info"=>json_encode($company_info,JSON_UNESCAPED_UNICODE), +// "remark"=>$v['remark'], +// "id"=>$k +// ]; +// if($ydata['verify_status'] != 2){ +// if(empty($v['ali_user']) || empty($v['ali_account'])){ +// $savedata['verify_status'] = -1; +// }else{ +// $savedata['verify_status'] = 1; +// } +// } +// $CompanyInfo->save($savedata); +// } +// $verify_status = $this->DBModel->field("verify_status")->where("id = {$pool_id}")->find()['verify_status']; +// if( $verify_status == 6){ +// $this->setOneVerifyStatus(1,"payment",$_REQUEST['pool_id'],$mgs = "打款信息确认"); +// }else{ +// $this->ajaxReturn(array( +// 'status' => 1, +// "info"=>"打款信息编辑成功" +// )); +// } + + } + //打款设置 public function setPayment(){ if(!isset($_REQUEST['id'])) $this->error("参数错误"); @@ -1645,7 +1704,8 @@ class CompanyStatementPoolController extends ThinkController $optist = ["viewPool","addRemark","viewRemark","editRemark","reCount","cancelPool"]; break; case '6': - $optist = ["viewPool","addRemark","viewRemark","editRemark","reCount","cancelPool","setPayment"]; + $optist = ["viewPool","addRemark","viewRemark","editRemark","reCount","cancelPool"]; +// ,"setPayment"]; break; default: break; diff --git a/Application/Admin/View/CompanyStatementOffline/lists.html b/Application/Admin/View/CompanyStatementOffline/lists.html index 5e167bb4c..b9685a577 100644 --- a/Application/Admin/View/CompanyStatementOffline/lists.html +++ b/Application/Admin/View/CompanyStatementOffline/lists.html @@ -161,7 +161,7 @@ 结算时间 结算金额 结算流水 - + 打款信息确认状态 打款状态 汇总单号汇总单号 @@ -179,12 +179,13 @@ - + {$data.company_name} {$data.company_type_str} {$data.valid} {$data.statement_money} {$data.platform_amount} + {$data.pay_check_str} {$data.payment} {$data.statement_num} @@ -264,6 +265,44 @@ }) $("#company_type").change(); + $("#setPayment").on('click',function(){ + + var tip = 0; + + var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) { + + if($(elem).data("pay_check") == 0){ + return $(elem).val(); + } else { + tip = 1; + } + + }).get(); + + if(tip == 1) { + layer.msg("请选择打款信息未确认的单子"); + return; + } + + text = text.join(","); + + if (!text) { + layer.msg("没有符合打款确认的打款单,请重新选择"); + return; + } + + var url = "{:U('setPayment')}"+"&id="+text + layer.open({ + type: 2, + title: "海南万盟天下科技有限公司", + shadeClose: true, + shade: 0.8, + area: ['100%', '100%'], + content: url + }); + + }); + $(".viewStatement").click(function () { var id = $(this).data("id"); var url = "{:U('viewStatement')}"+"&id="+id @@ -279,12 +318,24 @@ $("#doPayment").on("click",function(){ var id = $(this).attr("id"); + var pay_check_tip = 0; + var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) { - if($(elem).data("paystatus") == 0){ + if($(elem).data("paystatus") == 0&&$(elem).data("pay_check") == 1){ return $(elem).val(); } + + if ($(elem).data("pay_check") != 1) { + pay_check_tip = 1; + } + }).get(); + if (pay_check_tip == 1) { + layer.msg("请选择打款信息已经确认的单子"); + return; + } + if(text.length < 1){ layer.msg("无需要进行确认打款确认操作的数据"); return; diff --git a/Application/Admin/View/CompanyStatementOffline/setPayment.html b/Application/Admin/View/CompanyStatementOffline/setPayment.html new file mode 100644 index 000000000..4463f07d7 --- /dev/null +++ b/Application/Admin/View/CompanyStatementOffline/setPayment.html @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
序号合作公司是否支付宝打款户名帐号开户行关联结算汇总单订单号结算金额(元)备注
{$key-0+1}{$vo.company_name}{$vo.statement_num}{$vo.statement_money}
{$key-0+1}{$vo.company_name}{$vo.company_info.ali_user}{$vo.company_info.ali_account}{$vo.company_info.payee_name}{$vo.company_info.bank_account}{$vo.company_info.opening_bank}{$vo.statement_num}{$vo.statement_money}{$vo.remark}
合计:结算总金额:{$all_money}
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/Application/Payment/Controller/PaymentController.class.php b/Application/Payment/Controller/PaymentController.class.php index 7d41b83df..645207431 100644 --- a/Application/Payment/Controller/PaymentController.class.php +++ b/Application/Payment/Controller/PaymentController.class.php @@ -118,6 +118,12 @@ class PaymentController extends BaseController $v['verify_status_str'] .= ("/". $v['pay_type']); } } + $companypay_info = json_decode($v['company_info'],true); + if (empty($companypay_info['ali_user']) || empty($companypay_info['ali_account'])) { + $v['verify_status'] = -1; + $v['verify_status_str']="信息配置不全"; + $v['can_pay'] = 0; + } if($v['pay_verify_status'] == 0){ $v['verify'] = "--"; @@ -129,6 +135,12 @@ class PaymentController extends BaseController $v['verify'] = (($v['pay_verify_status'] == 1)?'审核通过':'审核拒绝')."({$member['name']})
".date('Y-m-d H:i:s', $v['verify_time']);; } + if ($v['pay_check'] == 0) { + $v['pay_check_str'] = "未确认"; + } else { + $v['pay_check_str'] = "已确认"; + } + $v['company_type'] = $this->CompanyType[$v['company_type']]; $v['statement_begin_time'] = date('Y-m-d',$v['statement_begin_time']); $v['statement_end_time'] = date('Y-m-d',$v['statement_end_time']); @@ -619,6 +631,76 @@ class PaymentController extends BaseController $this->display("viewCpPool"); } + //打款设置 + public function setPayment(){ + if(!isset($_REQUEST['id'])) $this->error("参数错误"); + $id = $_REQUEST['id']; + $CompanyInfo = M("company_statement_info","tab_") + ->alias('i') + ->field("i.id,i.pool_id,i.company_name,i.company_info,i.statement_money,i.remark,i.pay_status,i.verify_status,p.statement_num,i.statement_money") + ->join("tab_company_statement_pool p ON p.id = i.pool_id") + ->where("i.id in({$id})") + ->select(); + + $all_money = 0; + foreach($CompanyInfo as $k=>&$v){ + if($v['verify_status'] == 2){ + $v['is_payment'] = 2; + }else{ + $v['is_payment'] = 1; + } + + $v['company_info'] = json_decode($v['company_info'],true); + $v['company_info']['ali_user'] ?? ''; + $v['company_info']['ali_account'] ?? ''; + + $all_money += $v['statement_money']; + + } + + $this->assign('all_money',$all_money); + $this->assign("CompanyInfo",$CompanyInfo); + $this->assign("id",$id); + $this->display(); + } + + //修改打款设置 + public function editPayment(){ + if(!isset($_REQUEST['info'])) $this->error("参数错误"); + $info = $_REQUEST['info']; + + $CompanyInfo = M("company_statement_info","tab_"); + //循环保存 + foreach($info as $k=>$v){ + $ydata = $CompanyInfo->where("id= '{$k}'")->find(); + $company_info = json_decode($ydata['company_info'],true); + if($ydata['verify_status'] == 2){ + $company_info['payee_name'] = $v['payee_name']; + $company_info['bank_account'] = $v['bank_account']; + $company_info['opening_bank'] = $v['opening_bank']; + }else{ + $company_info['ali_user'] = $v['ali_user']; + $company_info['ali_account'] = $v['ali_account']; + } + $savedata = [ + "company_info"=>json_encode($company_info,JSON_UNESCAPED_UNICODE), + "remark"=>$v['remark'], + "pay_check"=>1, + "id"=>$k + ]; + + M("pay_statement_info","tab_")->where(['statement_info_id'=>$k])->save(["company_info"=>json_encode($company_info,JSON_UNESCAPED_UNICODE)]); + $CompanyInfo->save($savedata); + + } + + $this->ajaxReturn(array( + 'status' => 1, + "info"=>"打款信息编辑成功" + )); + + } + public function transfer_set() { $this->getAccountMoney(); @@ -900,10 +982,16 @@ class PaymentController extends BaseController $fund = new \Fund(C("ALI_PAYMENT")); $dbres = M("pay_statement_info", "tab_")->where("id='{$id}'")->find(); + $company_statement = M("company_statement_info", "tab_")->field("pay_check")->where(['id'=>$dbres['statement_info_id']])->find(); + + if ($company_statement['pay_check']!=1) { + $this->ajaxReturn(["success"=>"打款信息未确认,打款失败","data"=>["status"=>0]]); + } + $company_info = json_decode($dbres['company_info'], true); if ($dbres['pay_status'] != 1 && $dbres['verify_status'] == 1) { //执行打款 - $title = "信息服务费"; + $title = $remark; $amount = $dbres['final_statement_money']; $payres = $fund->transfer($company_info['ali_account'], $company_info['ali_user'], $dbres['statement_num'], $amount, $title); diff --git a/Application/Payment/View/Payment/lists.html b/Application/Payment/View/Payment/lists.html index 219422b9a..33151a836 100644 --- a/Application/Payment/View/Payment/lists.html +++ b/Application/Payment/View/Payment/lists.html @@ -217,6 +217,7 @@ 审核通过 审核拒绝 审核撤回 + 打款信息确认 @@ -233,6 +234,7 @@ 结算时间 关联汇总单号 结算金额 + 打款信息确认状态 审批状态 打款状态 @@ -252,30 +254,32 @@ - + {$data.company_name} - {$data.company_type} - {$data.valid} - - {$data.statement_pool_num} - - {$data.statement_money} - {$data.verify|default='--'} - - - {$data.verify_status_str} - - {$data.verify_status_str} + {$data.company_type} + {$data.valid} + {$data.statement_pool_num} + + {$data.statement_money} + {$data.pay_check_str} + {$data.verify|default='--'} + + + {$data.verify_status_str} + {$data.verify_status_str} + + + {$data.pay_time} + {$data.remark} + + 查看 + + 打款详情 - - {$data.pay_time} - {$data.remark} - - 查看 - - 打款详情 - - + + + + @@ -289,6 +293,7 @@ {$s_data.statement_pool_num} {$s_data.statement_money} + {$data.pay_check_str} {$data.verify|default='--'} @@ -509,6 +514,7 @@ var verifytip = 0; var paytip = 0; var canpay = 0; + var paychecktip = 0; var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) { @@ -530,10 +536,20 @@ return; } + if($(elem).data("pay_check") == 0) { + paychecktip = 1; + return; + } + return $(elem).data('verify_id'); }).get(); + if (paychecktip == 1) { + layer.msg("" + '请选择打款信息已确认的打款单' + ""); + return; + } + if (verifytip == 1) { layer.msg("" + '请选择未审核的打款单' + ""); return; @@ -714,19 +730,67 @@ doPayment(); }); + $(".setPayment").on("click",function(){ + // var id = $(this).data("id"); + var tip = 0; + + var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) { + + if($(elem).data("pay_check") == 0 || $(elem).data("verify_status") == -1){ + return $(elem).data("verify_id"); + } else { + tip = 1; + } + + }).get(); + + if(tip == 1) { + layer.msg("请选择打款信息未确认的单子"); + return; + } + + text = text.join(","); + + if (!text) { + layer.msg("没有符合打款确认的打款单,请重新选择"); + return; + } + + var url = "{:U('setPayment')}"+"&id="+text + layer.open({ + type: 2, + title: "海南万盟天下科技有限公司", + shadeClose: true, + shade: 0.8, + area: ['100%', '100%'], + content: url + }); + }); + $("#doPayment").on("click",function(){ var verifytip = 0; + var pay_checktip = 0; var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) { var verifystatus = $(elem).data('verifystatus'); - if($(elem).data("pay") == 1 && verifystatus == 1){ + var pay_check = $(elem).data('pay_check'); + if($(elem).data("pay") == 1 && verifystatus == 1 && pay_check == 1){ return $(elem).val(); } if (verifystatus != 1) { verifytip = 1; } + + if (pay_check != 1) { + pay_checktip = 1; + } }).get(); + if (pay_checktip == 1) { + layer.msg("打款确认后方能打款"); + return; + } + if (verifytip == 1) { layer.msg("审核通过方能打款"); return; diff --git a/Application/Payment/View/Payment/setPayment.html b/Application/Payment/View/Payment/setPayment.html new file mode 100644 index 000000000..416d6125d --- /dev/null +++ b/Application/Payment/View/Payment/setPayment.html @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
序号合作公司是否支付宝打款户名帐号关联结算汇总单订单号结算金额(元)备注
{$key-0+1}{$vo.company_name}{$vo.statement_num}{$vo.statement_money}
{$key-0+1}{$vo.company_name}{$vo.company_info.ali_user}{$vo.company_info.ali_account}{$vo.company_info.payee_name}{$vo.company_info.bank_account}{$vo.company_info.opening_bank}{$vo.statement_num}{$vo.statement_money}{$vo.remark}
合计:结算总金额:{$all_money}
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/Data/update.sql b/Data/update.sql index 1442ce2d8..be3ad4e59 100644 --- a/Data/update.sql +++ b/Data/update.sql @@ -2768,4 +2768,8 @@ CREATE TABLE `tab_coefficient` ( `update_time` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间', `create_time` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic; \ No newline at end of file +) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic; + +ALTER TABLE `tab_company_statement_info` +MODIFY COLUMN `pay_verify_status` tinyint(2) NULL DEFAULT 0 COMMENT '审核状态 0 未审核 1 审核通过 2 审核拒绝' AFTER `withdraw_type`, +ADD COLUMN `pay_check` tinyint(2) NULL DEFAULT 0 COMMENT '支付信息确认' AFTER `verify_member_id`; \ No newline at end of file