diff --git a/Application/Admin/Controller/CompanyStatementController.class.php b/Application/Admin/Controller/CompanyStatementController.class.php
index e4fe83fea..157866490 100644
--- a/Application/Admin/Controller/CompanyStatementController.class.php
+++ b/Application/Admin/Controller/CompanyStatementController.class.php
@@ -2119,7 +2119,7 @@ class CompanyStatementController extends ThinkController
$handleData[$_REQUEST['company_id']]['company_name'] = $companyData['company_name'];
$handleData[$_REQUEST['company_id']]['begin_time'][] = $value['end_time'] + 1;
- $handleData[$_REQUEST['company_id']]['end_time'][] = strtotime(I('time_end'))-86399;
+ $handleData[$_REQUEST['company_id']]['end_time'][] = strtotime(I('time_end'))+86399;
$handleData[$_REQUEST['company_id']]['relation_game_id'][] = $value['relation_game_id'];
$handleData[$_REQUEST['company_id']]['relation_game_name'][] = $value['relation_game_name'];
$handleData[$_REQUEST['company_id']]['ratio'][] = $handleRadioMould[$value['relation_game_id']]['ratio']?$handleRadioMould[$value['relation_game_id']]['ratio']:0;
diff --git a/Application/Admin/Controller/CompanyStatementSetController.class.php b/Application/Admin/Controller/CompanyStatementSetController.class.php
index ecd82bd39..02e956cf5 100644
--- a/Application/Admin/Controller/CompanyStatementSetController.class.php
+++ b/Application/Admin/Controller/CompanyStatementSetController.class.php
@@ -380,12 +380,15 @@ class CompanyStatementSetController extends Controller {
"company_type"=>1,
"company_id"=>$add_data['company_id'],
"settlement_type"=>2,
+ "is_verify"=>1,
);
$rfres = M("RewardDetail","tab_")
->field("
IFNULL(SUM(CASE WHEN type = 1 THEN amount ELSE 0 END),0) as reward_count,
IFNULL(SUM(CASE WHEN type = 2 THEN amount ELSE 0 END),0) as fine_count
")
+
+ ->join('tab_reward_record as r on d.record_id = r.id', 'LEFT')
->where($rrmap)->find();
if($rfres['reward_count'] > 0){
$reward_count = $rfres['reward_count'];
@@ -892,12 +895,14 @@ class CompanyStatementSetController extends Controller {
"company_type"=>2,
"company_id"=>$add_data['company_id'],
"settlement_type"=>2,
+ "is_verify"=>1,
);
$rfres = M("RewardDetail","tab_")
->field("
IFNULL(SUM(CASE WHEN type = 1 THEN amount ELSE 0 END),0) as reward_count,
IFNULL(SUM(CASE WHEN type = 2 THEN amount ELSE 0 END),0) as fine_count
")
+ ->join('tab_reward_record as r on d.record_id = r.id', 'LEFT')
->where($rrmap)->find();
if($rfres['reward_count'] > 0){
$reward_count = $rfres['reward_count'];
@@ -2098,6 +2103,7 @@ class CompanyStatementSetController extends Controller {
"d.company_type"=>2,
"d.company_id"=>$cpmpamy_id,
"d.settlement_type"=>2,
+ "is_verify"=>1,
// "relation_game_id"=>$relation_game_id,
);
@@ -2146,6 +2152,7 @@ class CompanyStatementSetController extends Controller {
"d.company_type"=>1,
"d.company_id"=>$cpmpamy_id,
"d.settlement_type"=>2,
+ "is_verify"=>1,
// "relation_game_id"=>$relation_game_id,
);
@@ -2177,12 +2184,14 @@ class CompanyStatementSetController extends Controller {
"d.company_type"=>2,
"d.company_id"=>$cpmpamy_id,
"d.settlement_type"=>2,
+ "is_verify"=>1,
);
$rfres = M("RewardDetail","tab_")
->alias("d")
->field("
IFNULL(SUM(CASE WHEN type = 1 THEN amount ELSE 0 END),0) as reward,
IFNULL(SUM(CASE WHEN type = 2 THEN amount ELSE 0 END),0) as fine")
+ ->join('tab_reward_record as r on d.record_id = r.id', 'LEFT')
->where($rrmap)
->group("company_id")
->find();
diff --git a/Application/Admin/Controller/FinancePromoteController.class.php b/Application/Admin/Controller/FinancePromoteController.class.php
index 0c7ab2198..cafcd7fc6 100644
--- a/Application/Admin/Controller/FinancePromoteController.class.php
+++ b/Application/Admin/Controller/FinancePromoteController.class.php
@@ -294,7 +294,7 @@ class FinancePromoteController extends AdminController
}
$map['s.pay_status']=1;
$map['s.is_check']=2;
- $field= "SUM(CASE WHEN pay_way > 0 THEN pay_amount ELSE 0 END) as cash_count,
+ $field= "SUM(CASE WHEN pay_way >= 0 THEN pay_amount ELSE 0 END) as cash_count,
SUM(CASE WHEN pay_way = 0 THEN pay_amount ELSE 0 END) as balance_coin_count,
SUM(CASE WHEN pay_way = -1 THEN pay_amount ELSE 0 END) as bind_coin_count,
IFNULL(if(substring_index(substring_index(promote.`chain`,'/',2),'/',-1)='',s.promote_id,substring_index(substring_index(promote.`chain`,'/',2),'/',-1)),0) p_id,
diff --git a/Application/Admin/Controller/GameController.class.php b/Application/Admin/Controller/GameController.class.php
index 9ac6db3fb..b4a37a725 100644
--- a/Application/Admin/Controller/GameController.class.php
+++ b/Application/Admin/Controller/GameController.class.php
@@ -228,6 +228,11 @@ class GameController extends ThinkController
->field("real_name")
->where(['uid' => I('post.game_belong_id')])
->find()['real_name'];
+
+ if(!$realname) {
+ $realname = '';
+ }
+
$_POST['game_belong_name'] =$realname;
$game = D(self::model_name);//M('$this->$model_name','tab_');
@@ -427,6 +432,11 @@ ADD COLUMN `kefu_qq` varchar(255) NULL DEFAULT '' COMMENT 'kefu_qq_type为2 时
->field("real_name")
->where(['uid' => I('post.game_belong_id')])
->find()['real_name'];
+
+ if(!$realname) {
+ $realname = '';
+ }
+
$_POST['game_belong_name'] =$realname;
diff --git a/Application/Admin/Controller/MarketPercentageController.class.php b/Application/Admin/Controller/MarketPercentageController.class.php
index 0c161cba5..3d5f54ea1 100644
--- a/Application/Admin/Controller/MarketPercentageController.class.php
+++ b/Application/Admin/Controller/MarketPercentageController.class.php
@@ -757,12 +757,18 @@ class MarketPercentageController extends ThinkController
continue;
}
}
+// if ($value['admin_id'] == 27) {
+// dump($this->leavePercentage->isSettlement($value['pay_time'],$value['admin_id']));
+// }
// dump($this->leavePercentage->isSettlement($value['pay_time'],$value['admin_id']));
//离职结算判断
!($this->leavePercentage->isSettlement($value['pay_time'],$value['admin_id']))?($data[$key]['performance_commission']='0.00'):'';
!($this->leavePercentage->isSettlement($value['pay_time'],$value['admin_id']))?($data[$key]['achievement_bonus']='0.00'):'';
+
!($this->leavePercentage->isSettlement($value['pay_time'],$value['admin_id']))?($value['wait_performance_commission']='0.00'):'';
!($this->leavePercentage->isSettlement($value['pay_time'],$value['admin_id']))?($value['wait_achievement_commission']='0.00'):'';
+
+
if ($this->unSettlementList[$value['admin_id']]&&date("Y-m",$this->unSettlementList[$value['admin_id']])<=$value['pay_time']) {
$data[$key]['leave_time'] = date("Y-m-d",$this->unSettlementList[$value['admin_id']]);
}
@@ -834,6 +840,9 @@ class MarketPercentageController extends ThinkController
$data[$key]['extend_commission'] = number_format($data[$key]['extend_commission'], 2, '.', '');
$data[$key]['should_month_bonus_ratio'] = $data[$key]['extend_commission'] - $data[$key]['should_performance_commission'];
+
+ !($this->leavePercentage->isSettlement($value['pay_time'],$value['admin_id']))?($data[$key]['should_performance_commission']='0.00'):'';
+ !($this->leavePercentage->isSettlement($value['pay_time'],$value['admin_id']))?($data[$key]['should_month_bonus_ratio']='0.00'):'';
// dump($this->returnMarketPercentageArray[$value['admin_id'].$value['pay_time']]['performance_commission']);
// dump($this->returnMarketPercentageArray[$value['admin_id'].$value['pay_time']]['achievement_bonus']);
@@ -842,11 +851,19 @@ class MarketPercentageController extends ThinkController
$data[$key]['wait_commission'] = number_format($data[$key]['wait_commission'], 2, '.', '');
-
$data[$key]['wait_achievement_commission'] = $data[$key]['wait_commission'] - $data[$key]['wait_performance_commission'];
+ !($this->leavePercentage->isSettlement($value['pay_time'],$value['admin_id']))?($data[$key]['wait_achievement_commission']='0.00'):'';
+ !($this->leavePercentage->isSettlement($value['pay_time'],$value['admin_id']))?($data[$key]['wait_performance_commission']='0.00'):'';
+
$data[$key]['achievement_bonus'] = $achievement_bonus;
+ !($this->leavePercentage->isTimeoutSettlement($value['pay_time'],$value['admin_id']))?($data[$key]['commission']-=$data[$key]['wait_commission']):'';
+
+ !($this->leavePercentage->isTimeoutSettlement($value['pay_time'],$value['admin_id']))?($data[$key]['wait_performance_commission']='0.00'):'';
+ !($this->leavePercentage->isTimeoutSettlement($value['pay_time'],$value['admin_id']))?($data[$key]['wait_achievement_commission']='0.00'):'';
+ !($this->leavePercentage->isTimeoutSettlement($value['pay_time'],$value['admin_id']))?($data[$key]['wait_commission']='0.00'):'';
+
$sum['performance_revenue'] += $data[$key]['performance_revenue'];
$sum['appraisal_bonuses'] += $data[$key]['appraisal_bonuses'];
$sum['performance_commission'] += $data[$key]['performance_commission'];
@@ -862,7 +879,7 @@ class MarketPercentageController extends ThinkController
// $sum['wait_achievement_commission'] += $data[$key]['wait_achievement_commission'];
}
-// die();
+
$sum['wait_commission'] = '-------';
$sum['pay_time'] = '总计';
@@ -929,34 +946,6 @@ class MarketPercentageController extends ThinkController
$data[$key]['achievement_bonus'] .= ',2)';
}
-
-// if ($value['achievement_profit'] != "0.00") {
-// if ($data[$key]['performance_commission'] == "=ROUND(") {
-// $data[$key]['performance_commission'] .= "K{$line}*(G{$line}/100),2)";
-// } else {
-// $data[$key]['performance_commission'] .= "+K{$line}*(G{$line}/100),2)";
-// }
-//
-// if ($data[$key]['achievement_bonus'] == "=ROUND(") {
-// $data[$key]['achievement_bonus'] .= "K{$line}*(I{$line}/100),2)";
-// } else {
-// $data[$key]['achievement_bonus'] .= "+K{$line}*(I{$line}/100),2)";
-// }
-// } else {
-// $data[$key]['performance_commission'] .= ",2)";
-// $data[$key]['achievement_bonus'] .= ",2)";
-// }
-//
-// if ($data[$key]['performance_commission'] == '=ROUND(,2)') {
-// $data[$key]['performance_commission'] = "0.00";
-// }
-//
-// if ($data[$key]['achievement_bonus'] == '=ROUND(,2)') {
-// $data[$key]['achievement_bonus'] = "0.00";
-// }
-
-// $data[$key]['performance_commission'] = "=ROUND(J{$line}*(F{$line}/100)+J{$line}*(G{$line}/100),2)";
-// $data[$key]['achievement_bonus'] = "=ROUND(J{$line}*(H{$line}/100)+J{$line}*(I{$line}/100),2)";
$data[$key]['commission'] = "=ROUND(L{$line}+M{$line}*N{$line},2)";
}
@@ -1130,6 +1119,7 @@ class MarketPercentageController extends ThinkController
!($this->leavePercentage->isSettlement($value['pay_time'],$value['admin_id']))?($data[$key]['performance_commission']='0.00'):'';
!($this->leavePercentage->isSettlement($value['pay_time'],$value['admin_id']))?($data[$key]['achievement_bonus']='0.00'):'';
+
!($this->leavePercentage->isSettlement($value['pay_time'],$value['admin_id']))?($value['wait_performance_commission']='0.00'):'';
!($this->leavePercentage->isSettlement($value['pay_time'],$value['admin_id']))?($value['wait_achievement_commission']='0.00'):'';
@@ -1146,6 +1136,15 @@ class MarketPercentageController extends ThinkController
$data[$key]['commission'] = number_format($data[$key]['performance_commission'] + $data[$key]['achievement_bonus'], 2, '.', '');;
$data[$key]['extend_commission'] = $data[$key]['commission'] - $data[$key]['wait_commission'];
+
+
+
+ !($this->leavePercentage->isTimeoutSettlement($value['pay_time'],$value['admin_id']))?($data[$key]['commission']-=$data[$key]['wait_commission']):'';
+
+ !($this->leavePercentage->isTimeoutSettlement($value['pay_time'],$value['admin_id']))?($data[$key]['wait_performance_commission']='0.00'):'';
+ !($this->leavePercentage->isTimeoutSettlement($value['pay_time'],$value['admin_id']))?($data[$key]['wait_achievement_commission']='0.00'):'';
+ !($this->leavePercentage->isTimeoutSettlement($value['pay_time'],$value['admin_id']))?($data[$key]['wait_commission']='0.00'):'';
+
$sum['performance_revenue'] += $value['performance_revenue'];
$sum['appraisal_bonuses'] += $value['appraisal_bonuses'];
diff --git a/Application/Admin/Controller/StatementMangementController.class.php b/Application/Admin/Controller/StatementMangementController.class.php
index 8f3f7cfe4..94b398ad2 100644
--- a/Application/Admin/Controller/StatementMangementController.class.php
+++ b/Application/Admin/Controller/StatementMangementController.class.php
@@ -346,7 +346,7 @@ class StatementMangementController extends ThinkController
$list = SM('reward_record', 'tab_')->alias('r')
->field('
- r.id, r.relation_game_id, r.settlement_time, r.confirm_time, r.content, r.reward_type, r.creater_id,
+ r.id, r.relation_game_id, r.settlement_time, r.confirm_time, r.content, r.reward_type, r.creater_id,is_verify,verify_detail,
rd.id as rid, rd.type as detail_type, rd.company_type as detail_company_type, rd.company_id as detail_company_id , rd.company_name as detail_company_name, rd.settlement_type as detail_settlement_type, rd.promote_account as detail_promote_account,rd.amount as detail_amount
')
->where($map)
@@ -356,7 +356,16 @@ class StatementMangementController extends ThinkController
if ($list) {
$record = [];
foreach ($list as $item) {
-
+ $item["verify_detail"] = json_decode($item["verify_detail"],true);
+
+ if($item["is_verify"] == 0) {
+ $verify_detail = "未审核";
+ } elseif($item["is_verify"] == 1) {
+ $verify_detail="审核通过
"."(".$item["verify_detail"]["user"].")
".$item["verify_detail"]["time"];
+ } else{
+ $verify_detail="审核拒绝
"."(".$item["verify_detail"]["user"].")
".$item["verify_detail"]["time"];
+ }
+
if (!isset($record[$item['id']]))
{
$record[$item['id']] = [
@@ -370,7 +379,9 @@ class StatementMangementController extends ThinkController
'maxCount' => 0,
'creater_id' => $item['creater_id'],
'totalReward' => 0,
- 'totalPunish' => 0
+ 'totalPunish' => 0,
+ 'is_verify'=>$item['is_verify'],
+ 'verify'=>$verify_detail
];
}
if (!empty($item['rid'])) {
@@ -558,6 +569,8 @@ class StatementMangementController extends ThinkController
$ins = SM('reward_record', 'tab_')->add($data);
$record_id = SM('reward_record', 'tab_')->getLastInsID();
+
+ $this->autoVerify($settlmentSet,$record_id);
foreach ($settlmentSet as $item) {
$item['record_id'] = $record_id;
SM('reward_detail', 'tab_')->add($item);
@@ -1474,4 +1487,89 @@ class StatementMangementController extends ThinkController
}
+ //审核
+ public function verify() {
+ $id = $_REQUEST["id"];
+ $status = $_REQUEST["status"];
+
+ if (!isset($id)||!isset($status)) {
+ $this->ajaxReturn(["status"=>0,"msg"=>"参数错误"]);
+ }
+ if($status != 2) {
+ $data = SM("reward_record","tab_")
+ ->field("is_verify,company_id,company_belong")
+ ->join("left join tab_reward_detail on record_id=tab_reward_record.id")
+ ->join("left join tab_promote_company on tab_promote_company.id=tab_reward_detail.company_id")
+ ->where(["tab_reward_record.id"=>['in',$id]])
+ ->select();
+
+ foreach ($data as $key => $value) {
+ if ($value['is_verify'] != 0) {
+ $this->ajaxReturn(["status"=>0,"msg"=>"含有已审核无需重新审核"]);
+ }
+
+ }
+
+ $detail = json_encode(["user"=>$_SESSION['onethink_admin']['user_auth']['username'],"time"=>date("Y-m-d H:i:s",time())]);
+ $is_success = SM("reward_record","tab_")->where(["id"=>['in',$id]])->save(["is_verify"=>$status,"verify_detail"=>$detail]);
+
+ if ($is_success) {
+ $this->ajaxReturn(["status"=>1,"msg"=>"操作成功"]);
+ } else {
+ $this->ajaxReturn(["status"=>1,"msg"=>"操作失败"]);
+ }
+ } else {
+
+ $data = SM("reward_record","tab_")
+ ->field("is_verify,company_id,company_belong")
+ ->join("left join tab_reward_detail on record_id=tab_reward_record.id")
+ ->join("left join tab_promote_company on tab_promote_company.id=tab_reward_detail.company_id")
+ ->where(["tab_reward_record.id"=>['in',$id]])
+ ->select();
+
+ foreach ($data as $key => $value) {
+ if ($value['is_verify'] == 0) {
+ $this->ajaxReturn(["status"=>0,"msg"=>"含有未审核无需撤回审核"]);
+ }
+
+ }
+ $is_success = SM("reward_record","tab_")->where(["id"=>['in',$id]])->save(["is_verify"=>0,"verify_detail"=>'']);
+
+ if ($is_success) {
+ $this->ajaxReturn(["status"=>1,"msg"=>"操作成功"]);
+ } else {
+ $this->ajaxReturn(["status"=>1,"msg"=>"操作失败"]);
+ }
+
+ }
+
+ }
+
+ //自动审核通过
+ public function autoVerify($settlmentSet = [],$id = 0) {
+
+ if (!$id) {
+ return false;
+ }
+ $i = 0;
+ $count = count($settlmentSet);
+
+ foreach ($settlmentSet as $key => $value) {
+ if ($value['company_id']) {
+
+ $data = SM("promote_company","tab_")->where(["id"=>$value['company_id']])->find();
+
+ if (in_array($data["company_belong"],[0,3])) {
+ $i++;
+ }
+
+ }
+ }
+
+ if ($i == $count) {
+ $detail = json_encode(["user"=>$_SESSION['onethink_admin']['user_auth']['username'],"time"=>date("Y-m-d H:i:s",time())]);
+ SM("reward_record","tab_")->where(["id"=>['in',$id]])->save(["is_verify"=>1,"verify_detail"=>$detail]);
+ }
+ }
+
}
diff --git a/Application/Admin/View/CompanyStatementPool/editCpPool.html b/Application/Admin/View/CompanyStatementPool/editCpPool.html
index 70b8c583b..793964a52 100644
--- a/Application/Admin/View/CompanyStatementPool/editCpPool.html
+++ b/Application/Admin/View/CompanyStatementPool/editCpPool.html
@@ -391,6 +391,19 @@
// });
// })
+ $(".refund,.withhold").keyup(function() {
+ var val = $(this).val();
+ var reg = /^(\-|\+)?\d+(\.\d+)?$/g;
+
+ if (val == '-') {
+ return;
+ }
+
+ if( !reg.test(val)){
+ $(this).val(0)
+ }
+ });
+
var pool_ids = "{$_GET['id']}";
$(".split_RewardOrFail").on("click",function() {
@@ -535,12 +548,24 @@
});
$(".refund").on("blur",function () {
+
+ var val = $(this).val();
+ if (val == '-') {
+ $(this).val(0);
+ }
+
caculate_sum_money(this);
changeStatementAmount(this);
changeSumAmount();
});
$(".withhold").on("blur",function () {
+
+ var val = $(this).val();
+ if (val == '-') {
+ $(this).val(0);
+ }
+
caculate_sum_money(this);
changeStatementAmount(this);
changeSumAmount();
@@ -576,7 +601,7 @@
}
//退款
var refund = $(_this).parent().parent().find(".refund").val();
- if (!refund || refund < 0) {
+ if (!refund) {
refund = 0;
$(_this).parent().parent().find(".refund").val(refund);
} else if(parseFloat(refund) > parseFloat(pay_money)) {
diff --git a/Application/Admin/View/CompanyStatementPool/editPcPool.html b/Application/Admin/View/CompanyStatementPool/editPcPool.html
index 68ee7b5fc..794556f3b 100644
--- a/Application/Admin/View/CompanyStatementPool/editPcPool.html
+++ b/Application/Admin/View/CompanyStatementPool/editPcPool.html
@@ -138,7 +138,7 @@