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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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