|
|
|
@ -8,6 +8,7 @@ namespace Admin\Controller;
|
|
|
|
|
class AggregateFinanceStatementController extends ThinkController
|
|
|
|
|
{
|
|
|
|
|
public $verify_status = [
|
|
|
|
|
"-4"=>"汇总审批拒绝",
|
|
|
|
|
"-3"=>"撤销汇总",
|
|
|
|
|
"-1"=>"审批拒绝",
|
|
|
|
|
"0"=>"未申请开票",
|
|
|
|
@ -17,6 +18,7 @@ class AggregateFinanceStatementController extends ThinkController
|
|
|
|
|
"4"=>"已上传凭证",
|
|
|
|
|
"5"=>"已到账",
|
|
|
|
|
"6"=>"已汇总",
|
|
|
|
|
"7"=>"汇总审批同意",
|
|
|
|
|
];
|
|
|
|
|
public $admininfo;
|
|
|
|
|
public $OpAuthList=[];
|
|
|
|
@ -110,8 +112,12 @@ class AggregateFinanceStatementController extends ThinkController
|
|
|
|
|
$data[$key]['withdraw_type_1'] = ($value['withdraw_type'] == 1 ? "月结" :"周结");
|
|
|
|
|
$data[$key]['withdraw_type_2'] = ($value['withdraw_type'] == 2 ? "补点" :"正常结算");
|
|
|
|
|
|
|
|
|
|
$data[$key]['detail'] = json_decode($value['detail'],true);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$data[$key]['oplist'] = $this->OpAuth($value);
|
|
|
|
|
}
|
|
|
|
|
// dump($data);die();
|
|
|
|
|
$count = M("aggregate_statement","tab_")->field("count(id) count,SUM(ratio_money) ratio_money")->where($map)->find();
|
|
|
|
|
$map['withdraw_type'] = ["NEQ",2];
|
|
|
|
|
$pay_money_count = M("aggregate_statement","tab_")->field("SUM(pay_money) pay_money")->where($map)->find()['pay_money'];
|
|
|
|
@ -431,8 +437,10 @@ class AggregateFinanceStatementController extends ThinkController
|
|
|
|
|
"info"=>"审批拒绝成功"
|
|
|
|
|
));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//已开票
|
|
|
|
|
public function Invoiced(){
|
|
|
|
|
|
|
|
|
|
if(!isset($_REQUEST['ids'])) $this->error("参数错误");
|
|
|
|
|
$ids = $_REQUEST['ids'];
|
|
|
|
|
$savedata = ["verify_status"=>3,"create_time"=>time(),"admin_name"=>$this->admininfo["username"],"admin_id"=>$this->admininfo["uid"]];
|
|
|
|
@ -440,6 +448,7 @@ class AggregateFinanceStatementController extends ThinkController
|
|
|
|
|
|
|
|
|
|
$ids = explode(",",$ids);
|
|
|
|
|
foreach($ids as $k=>$v){
|
|
|
|
|
$this->setAggregateDetail(2,1,'已开票',$v);
|
|
|
|
|
$this->doAddOperationLog($v,"已开票");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -457,9 +466,10 @@ class AggregateFinanceStatementController extends ThinkController
|
|
|
|
|
|
|
|
|
|
$ids = explode(",",$ids);
|
|
|
|
|
foreach($ids as $k=>$v){
|
|
|
|
|
$this->setAggregateDetail(3,1,'已到账',$v);
|
|
|
|
|
$this->doAddOperationLog($id,"已到账");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$this->ajaxReturn(array(
|
|
|
|
|
'status' => 1,
|
|
|
|
|
"info"=>"已到账成功"
|
|
|
|
@ -471,13 +481,16 @@ class AggregateFinanceStatementController extends ThinkController
|
|
|
|
|
if(!isset($_REQUEST['ids'])) $this->error("参数错误");
|
|
|
|
|
$ids = explode(",",$_REQUEST['ids']);
|
|
|
|
|
foreach ($ids as $k => $v) {
|
|
|
|
|
|
|
|
|
|
$res = A("AggregateFinanceSet")->updateAggregateFinanceData($v);
|
|
|
|
|
if(!$res){
|
|
|
|
|
|
|
|
|
|
$this->ajaxReturn(array(
|
|
|
|
|
'status' => 0,
|
|
|
|
|
"info"=>"重算结算金额失败"
|
|
|
|
|
));
|
|
|
|
|
}else{
|
|
|
|
|
M("aggregate_statement","tab_")->where(['id'=>$v])->save(['detail'=>'']);
|
|
|
|
|
$this->doAddOperationLog($v,"重算结算金额");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -758,6 +771,9 @@ class AggregateFinanceStatementController extends ThinkController
|
|
|
|
|
//操作对应菜单
|
|
|
|
|
$optist = [];
|
|
|
|
|
switch ($info['verify_status']) {
|
|
|
|
|
case '-4':
|
|
|
|
|
$optist = ["viewStatement"];
|
|
|
|
|
break;
|
|
|
|
|
case '-3':
|
|
|
|
|
$optist = ["viewStatement","editStatement","addRemark","viewRemark","editRemark"];
|
|
|
|
|
break;
|
|
|
|
@ -785,6 +801,9 @@ class AggregateFinanceStatementController extends ThinkController
|
|
|
|
|
case "6":
|
|
|
|
|
$optist = ["viewStatement","addRemark","viewRemark","editRemark"];
|
|
|
|
|
break;
|
|
|
|
|
case "7":
|
|
|
|
|
$optist = ["viewStatement"];
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
@ -836,6 +855,7 @@ class AggregateFinanceStatementController extends ThinkController
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $resarr;
|
|
|
|
|
}
|
|
|
|
|
//操作日志
|
|
|
|
@ -906,6 +926,7 @@ class AggregateFinanceStatementController extends ThinkController
|
|
|
|
|
$Pool = M("aggregate_statement_pool","tab_");
|
|
|
|
|
$Statemen = M("aggregate_statement","tab_");
|
|
|
|
|
foreach ($datas as $k => $v) {
|
|
|
|
|
|
|
|
|
|
if(count($v['company_list']) <= 0){continue;}
|
|
|
|
|
$v['statement_num'] = "PL_".date('Ymd').date('His').sp_random_num(3);
|
|
|
|
|
//保存公司信息
|
|
|
|
@ -913,7 +934,10 @@ class AggregateFinanceStatementController extends ThinkController
|
|
|
|
|
foreach ($company_list as $ke => $va) {
|
|
|
|
|
$this->addStatementInfo($va,$k,$v);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$get_statement_ids = $v['statement_ids'];
|
|
|
|
|
foreach ($get_statement_ids as $key => $value) {
|
|
|
|
|
$this->setAggregateDetail(0,1,'已汇总',$value);
|
|
|
|
|
}
|
|
|
|
|
if(empty($v['create_lack_ids']) && empty($v['del_lack_ids']) && empty($v['info_ids'])){ continue;}
|
|
|
|
|
$v['statement_ids'] = implode(",",$v['statement_ids']);
|
|
|
|
|
|
|
|
|
@ -935,9 +959,14 @@ class AggregateFinanceStatementController extends ThinkController
|
|
|
|
|
$v["withdraw_type"] = 0;
|
|
|
|
|
}
|
|
|
|
|
$pool_id = $Pool->add($v);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if($pool_id == false){
|
|
|
|
|
$this->ajaxReturn(array('status' => 0,"info"=>"汇总失败"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(!empty($info)){
|
|
|
|
|
$save["pool_id"]=$pool_id;
|
|
|
|
|
M("aggregate_statement_info","tab_")->where("id in ({$info})")->save($save);
|
|
|
|
@ -1144,5 +1173,30 @@ class AggregateFinanceStatementController extends ThinkController
|
|
|
|
|
M("aggregate_statement","tab_")->save($v);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//type 0 汇总 1 审批 2 开票 3 到账
|
|
|
|
|
public function setAggregateDetail($type=0, $status = 1,$detail_info = "",$id = 0) {
|
|
|
|
|
|
|
|
|
|
$data = M("aggregate_statement","tab_")->where(['id'=>$id])->find();
|
|
|
|
|
|
|
|
|
|
$detail['detail'] = json_decode($data['detail'],true);
|
|
|
|
|
|
|
|
|
|
$adminInfo = $_SESSION['onethink_admin']['user_auth'];
|
|
|
|
|
if ($type == 0) {
|
|
|
|
|
$detail['detail']['pool'] = $detail_info."({$adminInfo["username"]})".date("Y-m-d H:i:s");
|
|
|
|
|
$detail['detail']['pool_status'] = $status;
|
|
|
|
|
} else if($type == 1) {
|
|
|
|
|
$detail['detail']['apply'] = $detail_info."({$adminInfo["username"]})".date("Y-m-d H:i:s");
|
|
|
|
|
$detail['detail']['apply_status'] = $status;
|
|
|
|
|
} else if($type == 2) {
|
|
|
|
|
$detail['detail']['invoiced'] = $detail_info."({$adminInfo["username"]})".date("Y-m-d H:i:s");
|
|
|
|
|
$detail['detail']['invoiced_status'] = $status;
|
|
|
|
|
} else if($type == 3) {
|
|
|
|
|
$detail['detail']['received'] = $detail_info."({$adminInfo["username"]})".date("Y-m-d H:i:s");
|
|
|
|
|
$detail['detail']['received_status'] = $status;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
M("aggregate_statement","tab_")->where(['id'=>$id])->save(['detail'=>json_encode($detail['detail'])]);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|