input('page');
$pageSize = 20;
if($page<=0){
$page = 1;
}
$offset = ($page-1) * $pageSize;
$team_id = (int)$request->input('team_id');
$stime = $request->input('stime');
$etime = $request->input('etime');
$count = CustTotal::where(function($query) use($team_id, $stime, $etime){
if($team_id) $query->where('team_id', $team_id);
if($stime) $query->where('dtime', '>=', $stime);
if($etime) $query->where('dtime', '<=', $etime);
})->where('is_del',0)->count();
if ($count > 1) {
// 总页数
$pages = ceil($count/$pageSize);
}else{
// 总页数
$pages = 1;
}
$result = CustTotal::where(function($query) use($team_id, $stime, $etime){
if($team_id) $query->where('team_id', $team_id);
if($stime) $query->where('dtime', '>=', $stime);
if($etime) $query->where('dtime', '<=', $etime);
})->where('is_del',0)->orderBy('id', 'desc')->offset($offset)->limit($pageSize)->get();
$result = json_decode(json_encode($result),true);
foreach($result as $k=>&$v){
if($v['team_id']>0){
$team = DB::table('teams')->select('name')->where('id', $v['team_id'])->first();
$v['team_name'] = isset($team->name) ? $team->name : '';
}else{
$v['team_name'] = '';
}
}
$teamList = DB::table('teams')->select('id', 'name')->get();
$teamList = json_decode(json_encode($teamList), true);
return view('custreport/totallist', ['result' =>$result,
'page' =>$page,
'count' =>$count,
'pages' =>$pages,
'teamlist' =>$teamList,
'stime' =>$stime,
'etime' =>$etime,
'team_id' =>$team_id,
]);
}
/**
* 添加订单
* @return \Illuminate\View\View
*/
public function totalcreate(Request $request)
{
$teamList = DB::table('teams')->select('id', 'name')->get();
$teamList = json_decode(json_encode($teamList), true);
return view('custreport/totalcreate',['teamlist'=>$teamList]);
}
/**
* 分组管理-进行添加操作
* @param Request $request
* @return \Illuminate\Http\RedirectResponse
*/
public function totalstore(Request $request)
{
$team_id = (int)$request->input('team_id');
$this->validate($request, [
'total_cost' => 'required',
'total_fan_add' => 'required',
'team_id' => 'required',
'dtime' => 'required|unique:cust_day_total,dtime,1,is_del,team_id,'.$team_id,
], [
'total_cost.required' => '总成本不能为空',
'total_fan_add.required' => '总加粉数不能为空',
'dtime.required' => '日期不能为空',
'team_id.required' => '团队不能为空',
'dtime.unique' => '指定日期已经添加过',
]);
//数据库-新增数据
$custreport = array();
$custreport['total_cost'] = $request->input('total_cost');
$custreport['total_fan_add'] = $request->input('total_fan_add');
$custreport['dtime'] = $request->input('dtime');
$custreport['team_id'] = $team_id;
$res = DB::table('cust_day_total')->insertGetId($custreport);
if($res){
#记录操作日志
$self_id = session('admin_id');
$self_name = session('real_name');
$context = "运营上报投放数据";
$type = 0;
$tables = 'cust_day_total';
$data_id = $res;
Oplog::addLog($self_id, $self_name, $context, $type, $tables, $data_id);
}
return redirect('/admin/custreport/totalindex')->with('info', '添加成功');
}
/**
* 分组管理-编辑分组界面
* @param $id
* @return \Illuminate\View\View
*/
public function totaledit($id,Request $request)
{
$data = CustTotal::where('id', $id)->first();
$teamList = DB::table('teams')->select('id', 'name')->get();
$teamList = json_decode(json_encode($teamList), true);
return view('custreport/totaledit', [
'custreport' => $data,
'teamlist' => $teamList,
]);
}
/**
* 分组管理-进行编辑操作
* @param Request $request
* @return \Illuminate\Http\RedirectResponse
*/
public function totalupdate(Request $request)
{
$team_id = (int)$request->input('team_id');
$id = (int)$request->input('id');
$this->validate($request, [
'id' => 'required',
'total_cost' => 'required',
'total_fan_add' => 'required',
'team_id' => 'required',
'dtime' => 'required|unique:cust_day_total,dtime,'.$id.',id,team_id,'.$team_id,
], [
'id.required' => 'id不能为空',
'total_cost.required' => '总成本不能为空',
'total_fan_add.required' => '总加粉数不能为空',
'team_id.required' => '团队不能为空',
'dtime.required' => '日期不能为空',
'dtime.unique' => '指定日期已存在',
]);
$custreport = array();
$custreport['total_cost'] = $request->input('total_cost');
$custreport['total_fan_add'] = $request->input('total_fan_add');
$custreport['dtime'] = $request->input('dtime');
$custreport['team_id'] = $team_id;
$res = DB::table('cust_day_total')->where('id', $id)->update($custreport);
if($res){
#记录操作日志
$self_id = session('admin_id');
$self_name = session('real_name');
$context = "修改运营上报数据";
$type = 0;
$tables = 'cust_day_total';
$data_id = $id;
Oplog::addLog($self_id, $self_name, $context, $type, $tables, $data_id);
}
return redirect('/admin/custreport/totalindex')->with('info', '更新成功');
}
/**
* 分组管理-进行删除操作
* @param Request $request
* @return \Illuminate\Http\RedirectResponse
*/
public function totaldelete($id)
{
$custreport = CustTotal::find($id);
$custreport->is_del = 1;
if ($custreport ->save()){
#记录操作日志
$self_id = session('admin_id');
$self_name = session('real_name');
$context = "删除运营上报数据";
$type = 0;
$tables = 'cust_day_total';
$data_id = $id;
Oplog::addLog($self_id, $self_name, $context, $type, $tables, $data_id);
return redirect('/admin/custreport/totalindex')->with('info', '删除成功');
}
}
public function total_export(Request $request){
$self_role = session('role_name');
if($self_role == '超级管理员' || $self_role == '团队主管' || $self_role == '售后管理员'){
$admin_id = $request->input('admin_id');
}else{
$admin_id = session('admin_id');
}
$stime = $request->input('stime');
$etime = $request->input('etime');
$result = custreport::where(function($query) use($admin_id, $stime, $etime){
if($admin_id) $query->where('admin_id', $admin_id);
if($stime) $query->where('createTime', '>=', $stime);
if($etime) $query->where('createTime', '<=', $etime);
})->where('is_del',0)->custreportBy('id', 'desc')->get();
$result = json_decode(json_encode($result),true);
$filename="订单数据.xls";
header("Content-type:application/vnd.ms-excel");
Header("Accept-Ranges:bytes");
Header("Content-Disposition:attachment;filename=".$filename); //$filename导出的文件名
header("Pragma: no-cache");
header("Expires: 0");
$data_str = '
';
$data_str .= "
".iconv("UTF-8", "GB2312//IGNORE","销售微信号")." |
".iconv("UTF-8", "GB2312//IGNORE","销售团队")." |
".iconv("UTF-8", "GB2312//IGNORE","销售")." |
".iconv("UTF-8", "GB2312//IGNORE","订单时间")." |
".iconv("UTF-8", "GB2312//IGNORE","加粉时间")." |
".iconv("UTF-8", "GB2312//IGNORE","是否复购")." |
".iconv("UTF-8", "GB2312//IGNORE","订单金额")." |
".iconv("UTF-8", "GB2312//IGNORE","订单商品")." |
".iconv("UTF-8", "GB2312//IGNORE","是否退补单")." |
".iconv("UTF-8", "GB2312//IGNORE","配送地址")." |
".iconv("UTF-8", "GB2312//IGNORE","配送姓名")." |
".iconv("UTF-8", "GB2312//IGNORE","配送电话")." |
".iconv("UTF-8", "GB2312//IGNORE","供应商成本")." |
".iconv("UTF-8", "GB2312//IGNORE","顺丰单号")." |
";
foreach ($result as $k => $v)
{
#销售
$admin = DB::table('admin')->where('id', $v['admin_id'])->first();
$v['wx_id'] = isset($admin->wx_id) ? $admin->wx_id : '';
#team
$team = DB::table('teams')->where('id', $v['team_id'])->first();
$v['team_name'] = isset($team->name) ? $team->name : '';
#加粉时间
$customr = DB::table('customers')->where('phone', $v['receiverMobile'])->first();
$v['fanTime'] = isset($customr->fanTime) ? $customr->fanTime : '';
$v['receiverMobile'] = substr($v['receiverMobile'], 0, 3).'****'.substr($v['receiverMobile'], 7);
$fugou = $v['is_fugou']==1? '是' : '否';
$is_refund = $v['is_refund']==1? '是' : '否';
$address = $v['receiverState'].$v['receiverCity'].$v['receiverDistrict'].$v['receiverAddress'];
$data_str .= "";
$data_str .= "".$v['wx_id']." | ";
$data_str .= "".iconv("UTF-8", "GB2312//IGNORE", $v["team_name"])." | ";
$data_str .= "".iconv("UTF-8", "GB2312//IGNORE", $v["admin_name"])." | ";
$data_str .= "".$v['createTime']." | ";
$data_str .= "".$v['fanTime']." | ";
$data_str .= "".iconv("UTF-8", "GB2312//IGNORE", $fugou)." | ";
$data_str .= "".$v['receivedAmount']." | ";
$data_str .= "".iconv("UTF-8", "GB2312//IGNORE", $v["goods_note"])." | ";
$data_str .= "".iconv("UTF-8", "GB2312//IGNORE", $is_refund)." | ";
$data_str .= "".iconv("UTF-8", "GB2312//IGNORE", $address)." | ";
$data_str .= "".iconv("UTF-8", "GB2312//IGNORE", $v["receiverName"])." | ";
$data_str .= "".$v['receiverMobile']." | ";
$data_str .= "".$v['cost']." | ";
$data_str .= "".$v["logistics_id"]." | ";
$data_str .= "
";
}
$data_str .= "
";
echo $data_str;
exit;
}
public function detailindex(Request $request){
$page = (int)$request->input('page');
$pageSize = 20;
if($page<=0){
$page = 1;
}
$offset = ($page-1) * $pageSize;
$self_role = session('role_name');
if($self_role == '超级管理员' || $self_role == '团队主管' || $self_role == '运营投放' || $self_role == '售后管理员'){
$admin_id = $request->input('admin_id');
$search_admin = 1;
}else{
$admin_id = session('admin_id');
$search_admin = 0;
}
$stime = $request->input('stime');
$etime = $request->input('etime');
$count = CustDetail::where(function($query) use($admin_id, $stime, $etime){
if($admin_id) $query->where('admin_id', $admin_id);
if($stime) $query->where('dtime', '>=', $stime);
if($etime) $query->where('dtime', '<=', $etime);
})->where('is_del',0)->count();
if ($count > 1) {
// 总页数
$pages = ceil($count/$pageSize);
}else{
// 总页数
$pages = 1;
}
$result = CustDetail::where(function($query) use($admin_id, $stime, $etime){
if($admin_id) $query->where('admin_id', $admin_id);
if($stime) $query->where('dtime', '>=', $stime);
if($etime) $query->where('dtime', '<=', $etime);
})->where('is_del',0)->orderBy('id', 'desc')->offset($offset)->limit($pageSize)->get();
$result = json_decode(json_encode($result),true);
$adminList = DB::table('admin')->select('id', 'realname', 'username')->where('id','>', 1)->get();
$adminList = json_decode(json_encode($adminList), true);
return view('custreport/detaillist', ['result' =>$result,
'page' =>$page,
'count' =>$count,
'pages' =>$pages,
'stime' =>$stime,
'etime' =>$etime,
'admin_id' =>$admin_id,
'search_admin' =>$search_admin,
'adminlist' =>$adminList,
]);
}
/**
* 添加订单
* @return \Illuminate\View\View
*/
public function detailcreate(Request $request)
{
$adminList = DB::table('admin')->select('id', 'realname', 'username')->where('id','>', 1)->get();
$adminList = json_decode(json_encode($adminList), true);
$teamList = DB::table('teams')->select('id', 'name')->get();
$teamList = json_decode(json_encode($teamList), true);
$self_role = session('role_name');
return view('custreport/detailcreate',['adminlist'=>$adminList, 'teamlist'=>$teamList, 'self_role'=>$self_role]);
}
/**
* 分组管理-进行添加操作
* @param Request $request
* @return \Illuminate\Http\RedirectResponse
*/
public function detailstore(Request $request)
{
$admin_id = (int)$request->input('admin_id');
if(!$admin_id){
$admin_id = session('admin_id');
}
$this->validate($request, [
'old_consult' => 'required',
'new_consult' => 'required',
'fan_add' => 'required',
'dtime' => 'required|unique:cust_day_detail,dtime,1,is_del,admin_id,'.$admin_id,
], [
'old_consult.required' => '老粉咨询不能为空',
'new_consult.required' => '新粉咨询数不能为空',
'fan_add.required' => '加粉数不能为空',
'dtime.required' => '日期不能为空',
'dtime.unique' => '指定日期已经添加过',
]);
//数据库-新增数据
$custreport = array();
$custreport['old_consult'] = $request->input('old_consult');
$custreport['new_consult'] = $request->input('new_consult');
$custreport['fan_add'] = $request->input('fan_add');
$custreport['new_reply'] = $request->input('new_reply');
$custreport['dtime'] = $request->input('dtime');
if($admin_id>0){
$admin_info = DB::table('admin')->select('realname', 'team_id')->where('id', $admin_id)->first();
$custreport['admin_id'] = $admin_id;
$custreport['admin_name'] = $admin_info->realname;
}else{
$custreport['admin_id'] = session('admin_id');
$custreport['admin_name'] = session('real_name');
}
$custreport['reporter_id'] = session('admin_id');
$res = DB::table('cust_day_detail')->insertGetId($custreport);
if($res){
#记录操作日志
$self_id = session('admin_id');
$self_name = session('real_name');
$context = "销售上报加粉数据";
$type = 0;
$tables = 'cust_day_detail';
$data_id = $res;
Oplog::addLog($self_id, $self_name, $context, $type, $tables, $data_id);
}
return redirect('/admin/custreport/detailindex')->with('info', '添加成功');
}
/**
* 分组管理-编辑分组界面
* @param $id
* @return \Illuminate\View\View
*/
public function detailedit($id,Request $request)
{
$data = CustDetail::where('id', $id)->first();
$adminList = DB::table('admin')->select('id', 'realname', 'username')->where('id','>', 1)->get();
$adminList = json_decode(json_encode($adminList), true);
$teamList = DB::table('teams')->select('id', 'name')->get();
$teamList = json_decode(json_encode($teamList), true);
$self_role = session('role_name');
return view('custreport/detailedit', [
'custreport' => $data,
'adminlist' => $adminList,
'teamlist' => $teamList,
'self_role' => $self_role,
]);
}
/**
* 分组管理-进行编辑操作
* @param Request $request
* @return \Illuminate\Http\RedirectResponse
*/
public function detailupdate(Request $request)
{
$id = (int)$request->input('id');
$admin_id = (int)$request->input('admin_id');
if(!$admin_id){
$admin_id = session('admin_id');
}
$this->validate($request, [
'id' => 'required',
'old_consult' => 'required',
'new_consult' => 'required',
'fan_add' => 'required',
'dtime' => 'required|unique:cust_day_detail,dtime,'.$id.',id,admin_id,'.$admin_id,
], [
'id.required' => 'id不能为空',
'old_consult.required' => '老粉咨询不能为空',
'new_consult.required' => '新粉咨询数不能为空',
'fan_add.required' => '加粉数不能为空',
'dtime.required' => '日期不能为空',
'dtime.unique' => '指定日期已经存在',
]);
//数据库-新增数据
$custreport = array();
$custreport['old_consult'] = $request->input('old_consult');
$custreport['new_consult'] = $request->input('new_consult');
$custreport['fan_add'] = $request->input('fan_add');
$custreport['new_reply'] = $request->input('new_reply');
$custreport['dtime'] = $request->input('dtime');
$admin_id = (int)$request->input('admin_id');
if($admin_id>0){
$admin_info = DB::table('admin')->select('realname', 'team_id')->where('id', $admin_id)->first();
$custreport['admin_id'] = $admin_id;
$custreport['admin_name'] = $admin_info->realname;
}
$res = DB::table('cust_day_detail')->where('id', $id)->update($custreport);
if($res){
#记录操作日志
$self_id = session('admin_id');
$self_name = session('real_name');
$context = "修改销售上报数据";
$type = 0;
$tables = 'cust_day_detail';
$data_id = $id;
Oplog::addLog($self_id, $self_name, $context, $type, $tables, $data_id);
}
return redirect('/admin/custreport/detailindex')->with('info', '更新成功');
}
/**
* 分组管理-进行删除操作
* @param Request $request
* @return \Illuminate\Http\RedirectResponse
*/
public function detaildelete($id)
{
$custreport = CustDetail::find($id);
$custreport->is_del = 1;
if ($custreport ->save()){
#记录操作日志
$self_id = session('admin_id');
$self_name = session('real_name');
$context = "删除销售上报数据";
$type = 0;
$tables = 'cust_day_detail';
$data_id = $id;
Oplog::addLog($self_id, $self_name, $context, $type, $tables, $data_id);
return redirect('/admin/custreport/detailindex')->with('info', '删除成功');
}
}
public function detail_export(Request $request){
$self_role = session('role_name');
if($self_role == '超级管理员' || $self_role == '团队主管' || $self_role == '运营投放' || $self_role == '售后管理员'){
$admin_id = $request->input('admin_id');
}else{
$admin_id = session('admin_id');
}
$stime = $request->input('stime');
$etime = $request->input('etime');
$result = CustDetail::where(function($query) use($admin_id, $stime, $etime){
if($admin_id) $query->where('admin_id', $admin_id);
if($stime) $query->where('createTime', '>=', $stime);
if($etime) $query->where('createTime', '<=', $etime);
})->where('is_del',0)->orderBy('id', 'desc')->get();
$result = json_decode(json_encode($result),true);
$filename="粉丝数据分日统计.xls";
header("Content-type:application/vnd.ms-excel");
Header("Accept-Ranges:bytes");
Header("Content-Disposition:attachment;filename=".$filename); //$filename导出的文件名
header("Pragma: no-cache");
header("Expires: 0");
$data_str = "
".iconv("UTF-8", "GB2312//IGNORE","销售微信号")." |
".iconv("UTF-8", "GB2312//IGNORE","销售团队")." |
".iconv("UTF-8", "GB2312//IGNORE","销售")." |
".iconv("UTF-8", "GB2312//IGNORE","订单时间")." |
".iconv("UTF-8", "GB2312//IGNORE","加粉时间")." |
".iconv("UTF-8", "GB2312//IGNORE","是否复购")." |
".iconv("UTF-8", "GB2312//IGNORE","订单金额")." |
".iconv("UTF-8", "GB2312//IGNORE","订单商品")." |
".iconv("UTF-8", "GB2312//IGNORE","是否退补单")." |
".iconv("UTF-8", "GB2312//IGNORE","配送地址")." |
".iconv("UTF-8", "GB2312//IGNORE","配送姓名")." |
".iconv("UTF-8", "GB2312//IGNORE","配送电话")." |
".iconv("UTF-8", "GB2312//IGNORE","供应商成本")." |
".iconv("UTF-8", "GB2312//IGNORE","顺丰单号")." |
";
foreach ($result as $k => $v)
{
#销售
$admin = DB::table('admin')->where('id', $v['admin_id'])->first();
$v['wx_id'] = isset($admin->wx_id) ? $admin->wx_id : '';
#team
$team = DB::table('teams')->where('id', $v['team_id'])->first();
$v['team_name'] = isset($team->name) ? $team->name : '';
#加粉时间
$customr = DB::table('customers')->where('phone', $v['receiverMobile'])->first();
$v['fanTime'] = isset($customr->fanTime) ? $customr->fanTime : '';
$v['receiverMobile'] = substr($v['receiverMobile'], 0, 3).'****'.substr($v['receiverMobile'], 7);
$fugou = $v['is_fugou']==1? '是' : '否';
$is_refund = $v['is_refund']==1? '是' : '否';
$address = $v['receiverState'].$v['receiverCity'].$v['receiverDistrict'].$v['receiverAddress'];
$data_str .= "";
$data_str .= "".$v['wx_id']." | ";
$data_str .= "".iconv("UTF-8", "GB2312//IGNORE", $v["team_name"])." | ";
$data_str .= "".iconv("UTF-8", "GB2312//IGNORE", $v["admin_name"])." | ";
$data_str .= "".$v['createTime']." | ";
$data_str .= "".$v['fanTime']." | ";
$data_str .= "".iconv("UTF-8", "GB2312//IGNORE", $fugou)." | ";
$data_str .= "".$v['receivedAmount']." | ";
$data_str .= "".iconv("UTF-8", "GB2312//IGNORE", $v["goods_note"])." | ";
$data_str .= "".iconv("UTF-8", "GB2312//IGNORE", $is_refund)." | ";
$data_str .= "".iconv("UTF-8", "GB2312//IGNORE", $address)." | ";
$data_str .= "".iconv("UTF-8", "GB2312//IGNORE", $v["receiverName"])." | ";
$data_str .= "".$v['receiverMobile']." | ";
$data_str .= "".$v['cost']." | ";
$data_str .= "".$v["logistics_id"]." | ";
$data_str .= "
";
}
$data_str .= "
";
echo $data_str;
exit;
}
}