提交 a4bf38a3 authored 作者: 窦斌's avatar 窦斌

edit

上级 3fad069b
<?php
namespace App\Console\Commands;
use App\Http\Controllers\Api\JdOrderApiController;
use Illuminate\Console\Command;
class SynCancelAuditList extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'SynCancelAuditList';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Command SynCancelAuditList';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
//
$getOrder = new JdOrderApiController();
$ret = $getOrder->getOrderCancelAuditList();
print_r($ret);
}
}
<?php
namespace App\Console\Commands;
use App\Http\Controllers\Api\JdOrderApiController;
use Illuminate\Console\Command;
class SynJdOrderApi extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'getOrder';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Command getJdOrder';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
//
$getOrder = new JdOrderApiController();
$ret = $getOrder->getOrderByJd();
print_r($ret);
}
}
......@@ -18,7 +18,9 @@ class Kernel extends ConsoleKernel
Commands\GetJdSelfOrder::class,
Commands\GetJdSelfRefund::class,
Commands\GetJdSelfShhOrder::class,
Commands\DeductionFee::class
Commands\DeductionFee::class,
Commands\SynJdOrderApi::class,
Commands\SynCancelAuditList::class
];
/**
......@@ -33,10 +35,12 @@ class Kernel extends ConsoleKernel
// ->hourly();
$schedule->command('getOrder')->everyFiveMinutes();//每五分钟执行一次
$schedule->command('decJdOrder')->everyFiveMinutes();//每五分钟执行一次
$schedule->command('getJdSelfOrder')->everyFiveMinutes();//每五分钟执行一次
// $schedule->command('getJdSelfOrder')->everyFiveMinutes();//每五分钟执行一次
// $schedule->command('getJdSelfRefund')->everyFiveMinutes();//每五分钟执行一次
$schedule->command('GetJdSelfShhOrder')->everyFiveMinutes();//每五分钟执行一次
// $schedule->command('GetJdSelfShhOrder')->everyFiveMinutes();//每五分钟执行一次
$schedule->command('DeductionFee')->everyFiveMinutes();//每三十分钟执行一次 everyThirtyMinutes
$schedule->command('SynJdOrderApi')->everyFiveMinutes();// 抓取京东社会化门店订单 //每五分钟执行一次
$schedule->command('SynCancelAuditList')->everyFiveMinutes();// 抓取京东社会化门店退款单 //每五分钟执行一次
}
/**
......
......@@ -42,6 +42,7 @@ trait ExcelTemp
['action_name' => '账目中心发票导出', 'action_value' => 'InvoiceExcel'],//2022-3-15
['action_name' => '缴费扣费记录', 'action_value' => 'PayOverList'],//2024-10-09
['action_name' => '服务商绩效明细', 'action_value' => 'SerStatisticsDetail'],//2024-10-31
];
......@@ -61,7 +62,6 @@ trait ExcelTemp
['field_name' => '剩余金额', 'field_value' => 'residue_money'],//
],
//2022-3-4
'F6StoreOrder' => [
['field_name' => '编号', 'field_value' => 'id'],
......@@ -89,7 +89,6 @@ trait ExcelTemp
//['field_name' => '申请备注', 'field_value' => 'note'],///
],
//2022-2-8
'SettlementThree' => [
['field_name' => '编号', 'field_value' => 'id'],
......@@ -159,6 +158,7 @@ trait ExcelTemp
['field_name' => '账号状态', 'field_value' => 'enable'],
],*/
'StatementsList' => [
['field_name' => '编号', 'field_value' => 'stl_id'],
......@@ -182,7 +182,6 @@ trait ExcelTemp
['field_name' => '用友编码', 'field_value' => 'ser_yycode'],
],
'SettlementMouth' => [
['field_name' => '系统单号', 'field_value' => 'sys_num'],//1
......@@ -308,7 +307,6 @@ trait ExcelTemp
// ['field_name' => '姓名', 'field_value' => 'shr_name'],['field_name' => '订单金额 ', 'field_value' => 'all_price'],
],
'aftercust' => [
['field_name' => '编号', 'field_value' => 'afc_id'],
......@@ -479,7 +477,6 @@ trait ExcelTemp
['field_name' => '服务商属性', 'field_value' => 'brand_service'], // 2022-6-22 new add dou
],
'OrdersMsg' => [
//2022-5-12
['field_name' => '编号', 'field_value' => 'id'],
......@@ -511,10 +508,6 @@ trait ExcelTemp
['field_name' => '日', 'field_value' => 'creact_day'],
],
'ptthree' => [
['field_name' => '编号', 'field_value' => 'id'],
......@@ -623,6 +616,7 @@ trait ExcelTemp
],
/* 'SerInfor' => [
['field_name' => '平台名称', 'field_value' => 'pt_name'],
......@@ -647,10 +641,6 @@ trait ExcelTemp
],*/
'SendGoods' => [
['field_name' => '序号', 'field_value' => 'id'],
......@@ -686,8 +676,6 @@ trait ExcelTemp
],
'WxBinding' => [
['field_name' => '服务器名称', 'field_value' => 'ser'],
......@@ -932,6 +920,22 @@ trait ExcelTemp
['field_name' => '公司名称', 'field_value' => 'com_name'],//
['field_name' => '支付状态', 'field_value' => 'reo_pay_state'],
],
'SerStatisticsDetail'=>[
['field_name' => '公司名称', 'field_value' => 'company_name', 'field_with' => 45],
['field_name' => '单号', 'field_value' => 'order_num', 'field_with' => 40],
['field_name' => '订单状态', 'field_value' => 'stauas', 'field_with' => 20],
['field_name' => '派单时间', 'field_value' => 'create_time', 'field_with' => 30],
['field_name' => '接单时间', 'field_value' => 'get_time', 'field_with' => 30],
['field_name' => '反馈时间', 'field_value' => 'feeds_time', 'field_with' => 30],
['field_name' => '接单时效', 'field_value' => 'jdAgeing', 'field_with' => 20],
['field_name' => '5分钟接单达标', 'field_value' => 'fiveStandard', 'field_with' => 20],
['field_name' => '10分钟接单达标', 'field_value' => 'tenStandard', 'field_with' => 20],
['field_name' => '施工时效', 'field_value' => 'sgAgeing', 'field_with' => 20],
['field_name' => '12小时履约达标', 'field_value' => 'Standard12Hours', 'field_with' => 20],
['field_name' => '24小时履约达标', 'field_value' => 'Standard24Hours', 'field_with' => 20],
['field_name' => '是否计入时效考核', 'field_value' => 'takeEffect', 'field_with' => 20],
]
];
......
<?php
namespace App\Exports;
use App\Models\Admin;
use App\Models\SetmoneyType;
use App\Services\DataStatisticsService;
use Chumper\Zipper\Zipper;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xls;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\Style\Alignment;
use PhpOffice\PhpSpreadsheet\Style\Border;
use PhpOffice\PhpSpreadsheet\Style\Fill;
use PhpOffice\PhpSpreadsheet\IOFactory;
use App\Services\ExceloutService;
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
use DB;
class BasicExport
{
public function creacrExporSerStatistics( $data )
{
if(empty($data)){
return false;
}
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$session = $data['session'];
// 设置表头样式
$styleArray = [
'borders' => [
'allBorders' => [
'borderStyle' => Border::BORDER_THIN, // 边框的样式
],
],
'alignment' => [
// 水平居中
'horizontal' => Alignment::HORIZONTAL_CENTER,
// 垂直居中
'vertical' => Alignment::VERTICAL_CENTER,
// 自动换行
// 'wrapText' => true
],
'font' => [
'bold' => true,
'name' => '微软雅黑',
'size'=>'12',
'color' => ['argb' => '000000'],
],
'fill' => [
'fillType' => Fill::FILL_SOLID,
'startColor' => ['argb' => 'ACB9CA'],
],
];
// 设置内容样式
$styleDataArray = [
'borders' => [
'allBorders' => [
'borderStyle' => Border::BORDER_THIN, // 边框的样式
],
],
'alignment' => [
// 水平居中
'horizontal' => Alignment::HORIZONTAL_CENTER,
// 垂直居中
'vertical' => Alignment::VERTICAL_CENTER,
// 自动换行
// 'wrapText' => true
],
'font' => [
'name' => '微软雅黑',
'size'=>'12',
'color' => ['argb' => '000000'],
],
];
// 合并单元格作为复杂表头
$sheet->mergeCells('A1:A2');
$sheet->setCellValue('A1', '序号');
$sheet->getStyle('A1:A2')->applyFromArray($styleArray);
$sheet->getStyle('A1')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);
$sheet->mergeCells('B1:B2');
$sheet->setCellValue('B1', '服务商(公司名称)');
$sheet->getStyle('B1:B2')->applyFromArray($styleArray);
$sheet->getStyle('B1')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);
$sheet->mergeCells('C1:H1');
$sheet->setCellValue('C1', $data['time']);
$sheet->getStyle('C1:H1')->applyFromArray($styleArray);
$sheet->getStyle('C1')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);
$sheet->setCellValue('C2', '总推送单量');
$sheet->setCellValue('D2', '接单量');
$sheet->setCellValue('E2', '拒单量');
$sheet->setCellValue('F2', '拒单率');
$sheet->setCellValue('G2', '接单时效');
$sheet->setCellValue('H2', '履约时效');
$sheet->getStyle('C2:H2')->applyFromArray($styleArray);
$sheet->getStyle('C2:H2')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);
$sheet->mergeCells('I1:N1');
$sheet->setCellValue('I1', '累计至今');
$sheet->getStyle('I1:N1')->applyFromArray($styleArray);
$sheet->getStyle('I1')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);
$sheet->setCellValue('I2', '总推送单量');
$sheet->setCellValue('J2', '接单量');
$sheet->setCellValue('K2', '拒单量');
$sheet->setCellValue('L2', '拒单率');
$sheet->setCellValue('M2', '接单时效');
$sheet->setCellValue('N2', '履约时效');
$sheet->getStyle('I2:N2')->applyFromArray($styleArray);
$sheet->getStyle('I2:N2')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);
// 填充其他数据
$num = 3;
$nums = 1;
$data = $data['data'];
foreach($data as $k => $v){
$sheet->setCellValue('A'.$num, $nums);
$sheet->setCellValue('B'.$num, $v['company_name']);
$sheet->setCellValue('C'.$num, $v['all_num']);
$sheet->setCellValue('D'.$num, $v['order_listnum']);
$sheet->setCellValue('E'.$num, $v['order_rejectednum']);
$sheet->setCellValue('F'.$num, $v['rejectRate']);
$sheet->setCellValue('G'.$num, $v['pdAgeing']);
$sheet->setCellValue('H'.$num, $v['sgAgeing']);
$sheet->setCellValue('I'.$num, $v['all_nums']);
$sheet->setCellValue('J'.$num, $v['order_listnums']);
$sheet->setCellValue('K'.$num, $v['order_rejectednums']);
$sheet->setCellValue('L'.$num, $v['rejectRates']);
$sheet->setCellValue('M'.$num, $v['pdAgeings']);
$sheet->setCellValue('N'.$num, $v['sgAgeings']);
$num++;
$nums++;
}
$sheet->getStyle('A3:N'.$num)->applyFromArray($styleDataArray);
$sheet->getColumnDimension('A')->setWidth(8);
$sheet->getColumnDimension('B')->setWidth(45);
$sheet->getColumnDimension('C')->setWidth(12);
$sheet->getColumnDimension('D')->setWidth(8);
$sheet->getColumnDimension('E')->setWidth(8);
$sheet->getColumnDimension('F')->setWidth(10);
$sheet->getColumnDimension('G')->setWidth(20);
$sheet->getColumnDimension('H')->setWidth(20);
$sheet->getColumnDimension('I')->setWidth(12);
$sheet->getColumnDimension('J')->setWidth(8);
$sheet->getColumnDimension('K')->setWidth(8);
$sheet->getColumnDimension('L')->setWidth(10);
$sheet->getColumnDimension('M')->setWidth(20);
$sheet->getColumnDimension('N')->setWidth(20);
$sheet -> getDefaultRowDimension() -> setRowHeight(24); //设置默认行高为28
$sheet->freezePane('A3');//冻结第二行
$allnum = count($data);
$el['el_action'] = 'getSerStatistics';//'Car';
$el['el_dataname'] = '服务商时效统计';//'车型数据';
$el['el_adminid'] = $session['id'];//'225';
$el['el_adminname'] = $session['admin_acc'];//'研发';
$el['el_creactime'] = date("Y-m-d H:i:s");
$el['el_path'] = 'excel/'.date("Ym").'/'.$el['el_action']."_".uniqid()."_".rand(111,999);
$el['el_sql'] = '';
$el['el_state'] = 2;
$el['el_allnum'] = $allnum;
$el['company_id'] = $session['company_id'];
$ed_elid = DB::table("excel_list")->insertGetId($el);
$excelname = uniqid().".xlsx";
$path = $el['el_path'].'/'.$excelname;
if (!file_exists($el['el_path'])) {
// 创建文件夹
mkdir($el['el_path'],0775,true);
chmod($el['el_path'],0775);
}
// 保存Excel文件
$writer = new Xlsx($spreadsheet);
$writer->save($path);
$zipper = new Zipper();
$arr = glob(public_path($el['el_path'])); //$public_path 被压缩的文件名
$reduce_path = $el['el_path'].'.zip';
$zipper->make(public_path($reduce_path))->add($arr)->close(); //public_path($reduce_path) 压缩之后 */
$zip = new \ZipArchive();
$zip->open($reduce_path);
return $ed_elid;
}
public function creacrExporHeader( $con,$res,$detail,$freezePane='A2' )
{
// 设置表头样式
$styleArray = [
'borders' => [
'allBorders' => [
'borderStyle' => Border::BORDER_THIN, // 边框的样式
],
],
'alignment' => [
// 水平居中
'horizontal' => Alignment::HORIZONTAL_CENTER,
// 垂直居中
'vertical' => Alignment::VERTICAL_CENTER,
// 自动换行
// 'wrapText' => true
],
'font' => [
'bold' => true,
'name' => '微软雅黑',
'size'=>'12',
'color' => ['argb' => '000000'],
],
'fill' => [
'fillType' => Fill::FILL_SOLID,
'startColor' => ['argb' => 'ACB9CA'],
],
];
// 设置内容样式
$styleDataArray = [
'borders' => [
'allBorders' => [
'borderStyle' => Border::BORDER_THIN, // 边框的样式
],
],
'alignment' => [
// 水平居中
'horizontal' => Alignment::HORIZONTAL_CENTER,
// 垂直居中
'vertical' => Alignment::VERTICAL_CENTER,
// 自动换行
// 'wrapText' => true
],
'font' => [
'name' => '微软雅黑',
'size'=>'12',
'color' => ['argb' => '000000'],
],
];
$adg_data = DB::table('admin_excel')->where(['adg_admin'=>$res['el_adminid'],'adg_action'=>$con])->value('adg_data');
$adg_data = json_decode($adg_data,true);
//dump($adg_data);
if (!Empty($adg_data)){
foreach ($adg_data as $k =>$v){
$field_value[] = $v['field_value'];
$excel_name[$v['field_value']] = $v['field_name'];
$field_with[$v['field_value']] = $v['field_with'];
}
}else{
return false;
}
$group = $field_value;
$file = $res['el_path']."/".$detail['ed_excelname'];
if (!file_exists($file)) {
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$title = self::getHeaderTitle();
foreach( $group as $kg => $vg ){
$sheet->setCellValue($title[$kg].'1', self::getTitleName($excel_name, $vg));
$sheet->getStyle($title[$kg].'1')->applyFromArray($styleArray);
$sheet->getStyle($title[$kg].'1')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);
$sheet->getColumnDimension($title[$kg])->setWidth($field_with[$vg]);
}
$sheet -> getDefaultRowDimension() -> setRowHeight(24); //设置默认行高为28
$sheet->freezePane($freezePane);//冻结第二行
$writer = new Xls($spreadsheet);
$writer->save($file);
}
$db = self::creactWhere($res['el_sql'],$detail['ed_offset'],$detail['ed_limit']);
$db = ltrim($db,' " ');
$db = DB::select($db);
$data['db'] = $db;
$data['group'] = $group;
$data['file'] = $file;
return $data;
}
/**|---------------------------------------------------------------------------------
* @name 添加表格数据
* @param string $file 文件地址
* @param string $data 待添加数据
* @param string $group 表格权限
* @retrun \Illuminate\Http\JsonResponse
* @author dou 2024/11/1 17:30
* |---------------------------------------------------------------------------------
*/
public function addExceleDara ( $res, $detail, $file, $db, $group ){
// 设置内容样式
$styleDataArray = [
'borders' => [
'allBorders' => [
'borderStyle' => Border::BORDER_THIN, // 边框的样式
],
],
'alignment' => [
// 水平居中
'horizontal' => Alignment::HORIZONTAL_CENTER,
// 垂直居中
'vertical' => Alignment::VERTICAL_CENTER,
// 自动换行
// 'wrapText' => true
],
'font' => [
'name' => '微软雅黑',
'size'=>'12',
'color' => ['argb' => '000000'],
],
];
if (file_exists($file)) {
$spreadsheet = IOFactory::load($file);
} else {
$spreadsheet = new Spreadsheet();
}
$sheet = $spreadsheet->getActiveSheet();
$highestRow = $sheet->getHighestRow();//获取表格数据行数
// return $highestRow;
$num1 = count($db);
$admindata = Admin::whereRaw("((company_id='".$res['company_id']."' and admin_groupnew=2) or admin_groupnew=3)")
->pluck('company_name','id');
$statusName = ['10'=>'未接单','20'=>'未接单','30'=>'安装中','34'=>'待审核','40'=>'已完成','50'=>'已撤销','55'=>'已撤销(补邮费)'];
$return = [];
$title = self::getHeaderTitle();
foreach( $db as $k => $v ){
$return[$k]['company_name'] = $admindata[$v['ser_id']];//公司名称
$return[$k]['order_num'] = $v['order_num'];//订单单号
$return[$k]['stauas'] = $statusName[$v['stauas']];//订单状态
$return[$k]['create_time'] = $v['create_time'];//派单时间
$return[$k]['get_time'] = $v['get_time'];//接单时间
$return[$k]['feeds_time'] = $v['feeds_time'];//反馈时间
if($v['get_time'] != '' && $v['get_time'] != '0000-00-00 00:00:00'){
$return[$k]['jdAgeing'] = DataStatisticsService::Compute_Time($v['jdtime']);//接单时效
if($v['jdtime']<300){
$return[$k]['fiveStandard'] = '达标';//5分钟接单达标
}else{
$return[$k]['fiveStandard'] = '不达标';//5分钟接单达标
}
if($v['jdtime']<600){
$return[$k]['tenStandard'] = '达标';//10分钟接单达标
}else{
$return[$k]['tenStandard'] = '不达标';//10分钟接单达标
}
}else{
$return[$k]['jdAgeing'] = '';//接单时效
$return[$k]['fiveStandard'] = '不达标';//5分钟接单达标
$return[$k]['tenStandard'] = '不达标';//10分钟接单达标
}
if($v['feeds_time'] != '' && $v['feeds_time'] != '0000-00-00 00:00:00'){
$return[$k]['sgAgeing'] = DataStatisticsService::Compute_Time($v['sgtime']);//施工时效
if($v['sgtime']<43200){
$return[$k]['Standard12Hours'] = '达标';//12小时履约达标
}else{
$return[$k]['Standard12Hours'] = '不达标';//12小时履约达标
}
if($v['sgtime']<86400){
$return[$k]['Standard24Hours'] = '达标';//24小时履约达标
}else{
$return[$k]['Standard24Hours'] = '不达标';//24小时履约达标
}
}else{
$return[$k]['sgAgeing'] = "";//施工时效
$return[$k]['Standard12Hours'] = '不达标';//12小时履约达标
$return[$k]['Standard24Hours'] = '不达标';//24小时履约达标
}
$time = explode(' ', $v['create_time'])[1];
if($time>='08:30:00' && $time<='18:00:00'){
$return[$k]['takeEffect'] = "是";//是否计入时效考核
}else{
$return[$k]['takeEffect'] = "否";//是否计入时效考核
}
$highestRow++;
foreach( $group as $kg => $vg ){
if($vg == 'order_num'){
$sheet->setCellValue($title[$kg].$highestRow, "\t".$return[$k][$vg]."\t");
}else{
$sheet->setCellValue($title[$kg].$highestRow, $return[$k][$vg]);
}
$sheet->getStyle($title[$kg].$highestRow)->applyFromArray($styleDataArray);
// $sheet->getStyle($title[$kg].$highestRow)->getNumberFormat()->setFormatCode(NumberFormat::FORMAT_TEXT);
$sheet->getStyle($title[$kg].$highestRow)->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);
}
}
$writer = new Xls($spreadsheet);
$writer->save($file);
$el_item = $res['el_item'] + $num1;
DB::table("excel_list")->where('el_id',$res['el_id'])->update(['el_item'=>$el_item]);
DB::table("excel_detail")->where("ed_id",$detail['ed_id'])->update(['ed_state'=>2]);
}
/**
* @name 生成表格查询条件
* @param $db
* @param $affset
* @param $limit
* @return string
* @author du
* @date 2021/8/25
*/
public function creactWhere ($db,$affset,$limit ){
$db = rtrim($db,' " ');
$db = $db." limit ".$affset.",".$limit;
return $db;
}
/**|---------------------------------------------------------------------------------
* @name 获取字段名称
* @param array $excel_name 订单单号
* @param string $key 字段key
* @retrun /multitype:array
* @author dou 2021/9/14 15:08
* |---------------------------------------------------------------------------------
*/
public function getTitleName ( $excel_name = [] , $key ){
$validation = self::validationKey($key);
if ( $validation['code'] ){
if($validation['code'] = 'SetmoneyType'){
$name = SetmoneyType::where('sety_id',$validation['data'])->value("sety_name");
if(!$name){
$name = '异常';
}
}else{
$name = '异常';
}
}else{
$name = $excel_name[$key]??'异常';
}
return $name;
}
/**|---------------------------------------------------------------------------------
* @name 验证标签类参数
* @param string $key 字段key
* @retrun /multitype:array
* @author dou 2021/9/14 15:20
* |---------------------------------------------------------------------------------
*/
public function validationKey ( $key ){
if ( strpos($key,'_titleid') ){
$data['code'] = 'SetmoneyType';
$key_length = strlen($key);
$range_length = strlen('_titleid');
$key = substr($key,0,$key_length-$range_length);
$data['data'] = $key;
}else{
$data['code'] = false;
}
return $data;
}
//设置表头列
public function getHeaderTitle ( ){
return ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
}
}
<?php
namespace App\Http\Controllers\Api;
use ACES\TDEClient;
use App\Http\Controllers\BaseController;
use App\Http\Controllers\Orders\OrderListController;
use App\Models\Admin;
use App\Models\Feedback;
use App\Models\InstallLine;
use App\Models\JdBound;
use App\Models\JdServiceProvider;
use App\Models\OrderList;
use App\Models\OrderListMsg;
use App\Models\Orders;
use App\Models\PjGoods;
use App\Models\Pt;
use App\Models\SettlementList;
use App\Models\SettlementThree;
use App\Services\CommonService;
use App\Services\OrderaddService;
use App\Services\OrderService;
use App\Services\RefundService;
use App\Services\SettlementThreeService;
use BlueCity\Core\Inc\ErrorInc;
use Illuminate\Http\Request;
use DB;
use OSS\OssClient;
use ACES\SecretJdClient;
class JdOrderApiController extends BaseController
{
/**
* @name 获取京东定单
* @author du
* @date 2024/3/13
* @Time: 10:53
*/
public function getOrderByJd( ){
$startDate = date("Y-m-d H:i:s",strtotime(" -6 minute".date("Y-m-d H:i:s")));
$endDate = date("Y-m-d H:i:s");
$url = "http://116.196.75.172/index.php/SaasApiGetOrder/index?startDate=".$startDate."&endDate=".$endDate."&status=300";
$token = DB::table('jdpop_token')->where('status',1)->where('type',2)->select('app_key','app_secret','access_token','pt_id','auth_key')->get()->toarray();
foreach($token as $k => $vs) {
$urls = $url."&authKey=".$vs['auth_key']."&access_token=".$vs['access_token']."&app_key=".$vs['app_key']."&app_secret=".$vs['app_secret'];
$company_id = Pt::where('id',$vs['pt_id'])->value('company_id');
// echo $urls;
$res = $this->http_get($urls);
$ip = $_SERVER["REMOTE_ADDR"];
$data = json_decode($res, true);
// dump($data);
$pt_id = $vs['pt_id'];
CommonService::addLog('获取订单', $urls.'---'.$res, $vs['pt_id'], 'JdOrderApi-getOrder');
$result = $data['jingdong_omnic_order_getorderlist_responce']['result'];
$result = json_decode($result, true);
// dump($result['success']);
if ($result['success'] == true) {
$order_data = $result['data'];
if (!empty($order_data)) {
$arr = [];
$arr_goods = [];
// dd($order_data);
if (isset($order_data['data'])) {
$order_data = $order_data['data'];
// dd($order_data);
// dump($order_data);
foreach ($order_data as $kkk => $vvv) {
if ($vvv['orderDetailList']) {
$sku_ids = array_unique(array_column($vvv['orderDetailList'], 'skuId'));
$goods_ids = JdBound::whereIn('sku_id', $sku_ids)->pluck('goods_id', 'sku_id');
$goods_ids = CommonService::dataToArray($goods_ids);
if (empty($goods_ids)) {
CommonService::addLog('SKU_all_no', json_encode($sku_ids), $vvv['orderInfo']['salesChannelOrderId'], 'SKU_all_no');
continue;
}
$goods_idss = JdBound::whereIn('sku_id', $sku_ids)->pluck('goods_id');
$goods_idss = CommonService::dataToArray($goods_idss);
if (empty($goods_idss)) {
continue;
}
$goods = PjGoods::whereIn('pg_id', $goods_idss)->select('pg_id', 'brand_name', 'pg_series', 'version', 'goods_pic_path', 'national_version')->get()->toarray();
if ($goods) {
$brand_name = array_unique(array_column($goods, 'brand_name'));
} else {
CommonService::addLog('SKU_all_no', json_encode($sku_ids), $vvv['orderInfo']['salesChannelOrderId'], 'nogood');
continue;
}
$goods = CommonService::jointArrayKey($goods, 'pg_id');
if (count($goods) < count($vvv['orderDetailList'])) {
CommonService::addLog('SKU_all_no', json_encode($sku_ids), $vvv['orderInfo']['salesChannelOrderId'], 'SKU_all_no');
continue;
}
$exsit = Orders::where('order_num', $vvv['orderInfo']['salesChannelOrderId'])->value('id');
//存订单
$eisit_jd = DB::table('jd_proprietary')->where('order_id', $vvv['orderInfo']['salesChannelOrderId'])->value('id');
if (!$exsit && !$eisit_jd) {
$resjdgoods = DB::table('jdgoods')->where("order_id", $vvv['orderInfo']['salesChannelOrderId'])->value('id');
$sys_num = 'L' . date("YmdHis") . str_pad(rand(0, 999), 3, '0', STR_PAD_LEFT);
foreach ($vvv['orderDetailList'] as $k => $v) {
// dd($v);
// dump($arr);
//存商品
//`gone_jdgoods` (`order_id`,`pt_id`,`sku_id`,`sku_name`,`item_total`,`jd_price`,`jd_cost`)
if (!$resjdgoods) {
if (in_array($vvv['orderInfo']['salesChannelOrderId'], array_column($arr_goods, 'order_id'))) {
unset($arr_goods[$k]);
// echo 1;echo '---'.$v['orderId'].'---';
}
$arr_goods[$k]['order_id'] = $vvv['orderInfo']['salesChannelOrderId'];
$arr_goods[$k]['pt_id'] = $pt_id;
$arr_goods[$k]['sku_id'] = $v['skuId'];
$arr_goods[$k]['item_total'] = $v['num'];
$arr_goods[$k]['jd_price'] = $v['skuAmount'];
$arr_goods[$k]['jd_cost'] = $v['skuPrice'];
$arr_goods[$k]['sku_name'] = $v['skuName'];
DB::table('jdgoods')->insert($arr_goods[$k]);
unset($arr_goods[$k]);
}
$goodid = $goods_ids[$v['skuId']];
if ($goodid) {
$goods_res = $goods[$goodid];
// dd($goods_res);
if ($goods_res['pg_series'] == '') {
$type = $goods_res['version'];
} else {
$type = $goods_res['pg_series'] . "-" . $goods_res['version'];
}
$goods_name = $goods_name . $goods_res['brand_name'] . "," . $type . "," . $goods_res['general_version'] . ",";
$good_brand[] = $goods_res['brand_name'];
$orderMsgData[$k]['goods_id'] = $goodid;
$orderMsgData[$k]['goods_name'] = $goods_res['brand_name'] . "-" . $type;
$orderMsgData[$k]['goods_price'] = $v['skuPrice'];//实收/商品单价
$orderMsgData[$k]['goods_paid'] = $v['skuPrice'];
$orderMsgData[$k]['goods_num'] = $v['num'];
$orderMsgData[$k]['goods_brand'] = $goods_res['brand_name'];
$orderMsgData[$k]['goods_number'] = $type;
$orderMsgData[$k]['cd_id'] = 1;
} else {
//未绑定SKU
CommonService::addLog('未绑定SKU', $v['skuId'], $vvv['orderInfo']['salesChannelOrderId'], 'jdAPI_sku');
continue;
}
}
$orders[$kkk]['sys_bh'] = $sys_num;
$orders[$kkk]['skb_bh'] = $vvv['orderInfo']['salesChannelOrderId'];
$orders[$kkk]['pt_id'] = $pt_id;
$orders[$kkk]['ser_type'] = 1;//服务类型:1上门安装,2到店服务
$orders[$kkk]['shr_name'] = $vvv['orderShip']['consignee'] ?? '空';
$orders[$kkk]['shr_phone'] = $vvv['consigneePhone'] ?? $vvv['orderShip']['consigneeMobile'];//$vv['consigneeInfo']['telephone'];//
$orders[$kkk]['shr_sheng'] = $vvv['orderShip']['addressLevel1Name'];//
$orders[$kkk]['shr_shi'] = $vvv['orderShip']['addressLevel2Name'];//
$orders[$kkk]['shr_xian'] = $vvv['orderShip']['addressLevel3Name'];//
$orders[$kkk]['shr_adress'] = $vvv['orderShip']['deliveryAddress'];//
$orders[$kkk]['shr_other'] = '接单后10分钟内务必联系客户核实车型跟安装时间!不断电安装、如果无法完成 请立刻反馈我们处理~!';
$orders[$kkk]['car_audit'] = 2;//1:新订单;2:可派单;3:处理中
$orders[$kkk]['order_type'] = 1;//订单类型:1:普通;20加急;10:夜间
$orders[$kkk]['order_time'] = date('Y-m-d H:i:s', $v['createTime'] / 1000);
$orders[$kkk]['pay_type'] = 1;//支付方式:1在线支付;2货到付款 $input['shr_other']
$orders[$kkk]['goods'] = $orderMsgData;
$orders[$kkk]['shr_other'] = $vvv['orderInfo']['promiseMsg'];
// $session = $request->get('session_token');//获取操作人信息
$session['admin_groupnew'] = 7;
$session['admin_acc'] = '系统录入';
$session['id'] = 1133;
$session['company_id'] = $company_id;
// dd($orders[$kkk]);
$return = OrderaddService::addOrder($orders[$kkk], $session, $ip);
CommonService::addLog('添加定单', json_encode($return), $vvv['orderInfo']['salesChannelOrderId'], 'jdAPI_addOrder');
if ($return['ErrorCode'] == 1 && $vs['pt_id']!=33) {
$url = "http://116.196.75.172/index.php/SaasApiGetOrder/updatestatus?orderId=" . $vvv['orderInfo']['salesChannelOrderId'] . "&storeId=" . $vvv['orderInfo']['warehouseId'];
$urls = $url."&authKey=".$vs['auth_key']."&access_token=".$vs['access_token']."&app_key=".$vs['app_key']."&app_secret=".$vs['app_secret'];
$ck = $this->http_get($urls);
CommonService::addLog('订单出库', $ck, $vvv['orderInfo']['salesChannelOrderId'], 'jdAPI_addOrderck');
}
// dump($return);
unset($orderMsgData);
unset($orders[$kkk]);
if (in_array($vvv['orderInfo']['salesChannelOrderId'], array_column($arr, 'order_id'))) {
unset($arr[$kkk]);
// echo 2;echo '---'.$v['orderId'].'---';
}
// $arr[$kkk]['salesChannelOrderId'] = $v['orderId'];
//
$arr[$kkk]['order_id'] = $vvv['orderInfo']['salesChannelOrderId'];
$arr[$kkk]['admin_acc'] = '系统';
$arr[$kkk]['pt_id'] = $pt_id;
$arr[$kkk]['pay_type'] = '在线支付';
$arr[$kkk]['order_seller_price'] = $v['skuAmount'];
$arr[$kkk]['freight_price'] = $v['transactionPrice'] ?? $vvv['orderInfo']['orderTotalAmount'];
$arr[$kkk]['order_state'] = 'WAIT_SELLER_STOCK_OUT';
$arr[$kkk]['invoice_info'] = '不需要开具发票';
$arr[$kkk]['order_remark'] = $vvv['orderInfo']['promiseMsg'];
$arr[$kkk]['order_start_time'] = date('Y-m-d H:i:s', $v['createTime'] / 1000);
$arr[$kkk]['fullname'] = $vvv['orderShip']['consignee'];
$arr[$kkk]['mobile'] = $vvv['orderShip']['consigneeMobile'];
$arr[$kkk]['telephone'] = $vvv['orderShip']['consigneePhone'];//
$arr[$kkk]['province'] = $vvv['orderShip']['addressLevel1Name'];
$arr[$kkk]['city'] = $vvv['orderShip']['addressLevel2Name'];
$arr[$kkk]['county'] = $vvv['orderShip']['addressLevel3Name'];
$arr[$kkk]['full_address'] = $vvv['orderShip']['deliveryAddress'];
$arr[$kkk]['order_pay'] = $v['skuAmount'];
$arr[$kkk]['is_show'] = 1;
$arr[$kkk]['parent_orderid'] = 0;
DB::table('jd_proprietary')->insert($arr[$kkk]);
// dd($arr[$kkk]);
unset($arr[$kkk]);
} else {
CommonService::addLog('单号已存在', json_encode($vvv), $vvv['orderInfo']['salesChannelOrderId'], 'jdAPI_addOrder');
}
}
}
}
echo "succese";
}
}
}
}
/**|---------------------------------------------------------------------------------
* @name 获取退款订单
* @param string ju_ordernum 订单单号
* @retrun \Illuminate\Http\JsonResponse /multitype:array
* @author dou 2024/10/25 14:19
* |---------------------------------------------------------------------------------
*/
public function getOrderCancelAuditList ( ){
$startDate = date("Y-m-d H:i:s",strtotime(" -6 minute".date("Y-m-d H:i:s")));
$endDate = date("Y-m-d H:i:s");
$url = "http://116.196.75.172/index.php/SaasApiGetOrder/getOrderCancelAuditList?applyDateBegin=".$startDate."&applyDateEnd=".$endDate;
$token = DB::table('jdpop_token')->where('status',1)->where('type',2)->select('app_key','app_secret','access_token','pt_id','auth_key')->get()->toarray();
foreach($token as $k => $vs) {
$urls = $url."&authKey=".$vs['auth_key']."&access_token=".$vs['access_token']."&app_key=".$vs['app_key']."&app_secret=".$vs['app_secret'];
// echo $urls;
$res = $this->http_get($urls);
$ip = $_SERVER["REMOTE_ADDR"];
$data = json_decode($res, true);
CommonService::addLog('获取退款订单', $urls.'---'.$res, $vs['pt_id'], 'getOrderCancel');
$result = $data['jingdong_omnic_order_getOrderCancelAuditList_responce']['result'];
$result = json_decode($result, true);
if ($result['success'] == true) {
if (isset($result['data'])) {
$order_data = $result['data'];
if (!empty($order_data)) {
if (isset($order_data['data'])) {
$order_data = $order_data['data'];
foreach ($order_data as $k => $v) {
$flag = 1;
$refundlist = RefundService::getInfoByKeyValue('order_num', $v['saleOrderId'], ['state', 'roPreNo']);
if ($refundlist) {
$state = array_column($refundlist, 'state');
$state = min($state);
if ($state < 5) {
$rea = '存在未完成的退款数据';
$flag = 2;
} else {
$roPreNo = array_column($refundlist, 'roPreNo');
if (in_array($v['requestionId'], $roPreNo)) {
$rea = '退款单已同步';
$flag = 2;
}
}
}
if ($flag == 1) {
$refund['order_num'] = $v['saleOrderId'];
$refund['refund'] = 1;
$refund['content'] = $v['applyReason'] . ",平台申请时间:(" . $v['applyDate'] . ")";
$refund['urgent'] = 1;
$refund['recycle_type'] = 0;
$refund['roPreNo'] = $v['requestionId'];
$sys_num = OrderService::getOrderBy('order_num', $v['saleOrderId'], ['sys_num', 'order_status', 'new_money']);
if ($sys_num) {
$refund['sys_num'] = $sys_num['sys_num'];
if ($sys_num['order_status'] > 10) {
$msg = OrderService::getOrderListMsg($sys_num['sys_num']);
} else {
$msg = OrderService::getOrderMsg($sys_num['sys_num']);
}
if ($msg['orderMsgArr']) {
$msg = $msg['orderMsgArr'];
$goodsArr = [];
foreach ($msg as $ka => $va) {
$goodsArr[$ka]['goods_name'] = $va['goods_name'];
$goodsArr[$ka]['goods_price'] = $va['goods_price'];
$goodsArr[$ka]['msg_id'] = $va['id'];
$goodsArr[$ka]['goods_num'] = $va['goods_num'];
$goodsArr[$ka]['goods_id'] = $va['goods_id'];
}
$refund['goodsArr'] = $goodsArr;
$refund['goods_state'] = 2;
$refund['info_ing'] = '';
$refund['info_acc'] = '';
$refund['info_name'] = '';
$refund['addType'] = 'jdRefund';
$refund['allprice'] = $sys_num['new_money'];
$session['id'] = '1133';
$session['admin_acc'] = '系统操作';
$session['admin_groupnew'] = 7;
// dump($refund);
$rea = OrderService::lockOrder($refund, $session, '39.105.188.64');
} else {
$rea = '无订单商品';
}
} else {
$rea = '无订单号';
}
}
$return[$k]['lockOrder'] = $rea;
$return[$k]['order_num'] = $v['saleOrderId'];
}
CommonService::addLog('添加退款单', json_encode($return), $vs['pt_id'], 'addOrderCancel');
}
}
}
}
echo "succese";
}
}
}
......@@ -969,7 +969,7 @@ class CommonController extends BaseController
* @author du
* @date 2021/8/26
*/
public function getExcelOut($pri_id,$sqls,$session,$limit = 500){
public function getExcelOut($pri_id,$sqls,$session,$limit = 500,$action_name = ''){
$exceout = new ExceloutService();
if(!$sqls){
return $this->error('暂无数据或请检查SQL日志是否打开', ErrorInc::MYSQL_FAILED);
......@@ -977,12 +977,16 @@ class CommonController extends BaseController
$list = $exceout->getSqls($sqls)['list'];
if($list){
$sql = $exceout->getSqls($sqls)['sqls'];
$avtion = FunctionsService::getFunctionsBy('function_id', $pri_id, ['function_name','function_model']);
if($action_name=='') {
$avtion = FunctionsService::getFunctionsBy('function_id', $pri_id, ['function_name', 'function_model']);
}else{
$avtion = $action_name;
}
$con_name = $avtion['function_name'];//控制器名称
$action = $avtion['function_model'];//控制器
$field_data = $exceout->gainFields($session['id'],$action);
if (empty($field_data)) {
return $this->error('您暂时无导出权限', ErrorInc::MYSQL_FAILED);
return $this->error('您暂时无导出权限', ErrorInc::MYSQL_FAILED,$action);
}
return $exceout->createPlan($list,$sql,$limit,$action,$con_name,$session['id'],$session['admin_acc'],$session['company_id']);
}else{
......
......@@ -49,8 +49,12 @@ class DataStatisticsController extends BaseController
}else {
$api = (string)$input['method'];
$data = DataStatisticsService::$api($session,$input);
return $this->success('操作成功
',$data);
return $data;
// if($data){
// return $this->success('获取成功', $data); exit;
// }else{
// return $this->error('暂无数据', ErrorInc::DATA_EMPTY,$data);exit;
// }
}
}
}
......@@ -12,11 +12,13 @@
namespace App\Http\Controllers\Dou;
use App\Exports\BasicExport;
use App\Http\Controllers\Orders\AotuorderController;
use App\Models\Admin;
use App\Models\OrderList;
use App\Models\OrderRejected;
use App\Services\CommonService;
use Chumper\Zipper\Zipper;
use Illuminate\Http\Request;
use BlueCity\Core\Controllers\MountingCoreController as Controller;
use BlueCity\Core\Traits\ResourceControllerMethod;
......@@ -44,7 +46,7 @@ class MyTestController extends Controller
if(empty($input['method'])){
return $this->error('缺少必要参数1',ErrorInc::FAILED_PARAM);
}
$api=['getSerStatistics','getSerStatisticsDetail'];
$api=['getSerStatistics','getSerStatisticsDetail','BasicExport'];
if(!in_array($input['method'],$api)){
return $this->error('接口不参数异常',ErrorInc::INVALID_PARAM,$input);
}else {
......@@ -240,4 +242,63 @@ class MyTestController extends Controller
$res = $days.'天'.$hours.'时'.$mins.'分'.$secs.'秒';
return $res;
}
/**|---------------------------------------------------------------------------------
* @name 自定义表头
* @retrun \Illuminate\Http\JsonResponse
* @author dou 2024/10/22 14:43
* |---------------------------------------------------------------------------------
*/
public function BasicExport ( $input ){
$exporter = New BasicExport();
// $ewa = $exporter->creacrExporSerStatisticsDetail(json_decode($data,true));
// $data = [];
// $data[0] = $ewa;
// return $this->error('接口不参数异常',ErrorInc::INVALID_PARAM,$data);
$con='SerStatisticsDetail';
// $id = intval($request->input('el_id'));
$id = $input['el_id'];
$res = DB::table("excel_list")
->where('el_id',$id)
->where('el_state','1')
->select("el_action","el_id","el_sql","el_path","el_item","el_adminid","company_id")
->orderBy('el_id','ASC')->first();
if($res) {
if (!file_exists($res['el_path'])) {
// 创建文件夹
mkdir($res['el_path'], 0775, true);
chmod($res['el_path'], 0775);
}
$detail = DB::table("excel_detail")->where("ed_elid", $res['el_id'])->where("ed_state", '1')->first();
if ($detail) {
$data = $exporter->creacrExporHeader($con, $res, $detail, 'B2');
if ($data['db']) {
$return = $exporter->addExceleDara($res, $detail, $data['file'], $data['db'], $data['group']);
return $this->success('操作成功1');
} else {
DB::table("excel_detail")->where("ed_id", $detail['ed_id'])->update(['ed_state' => 2]);
return $this->success('操作成功2');
}
} else {
DB::table("excel_list")->where('el_id', $res['el_id'])->update(['el_state' => 2]);
return $this->success('操作成功3');
}
}else{
$path = DB::table('excel_list')->where('el_id',$id)->value('el_path');
$zipper = new Zipper();
$arr = glob(public_path($path)); //$public_path 被压缩的文件名
$reduce_path = $path.'.zip';
$zipper->make(public_path($reduce_path))->add($arr)->close(); //public_path($reduce_path) 压缩之后 */
$zip = new \ZipArchive();
$zipStatus = $zip->open($reduce_path);
if ($zipStatus !== true) {
return $this->error('压缩失败', ErrorInc::FAILED_PARAM);exit;
}
DB::table("excel_list")->where('el_id',$id)->update(['el_state'=>2]);
// = $this->baseurl().$reduce_path;
return response()->json(['Data' =>'', 'ErrorMessage' => '执行完毕', 'ErrorCode' => 222]);exit;
}
}
}
......@@ -59,7 +59,7 @@ class ExceloutController extends BaseController
$res = DB::table("excel_list")
->where('el_id',$id)
->where('el_state','1')
->select("el_action","el_id","el_sql","el_path","el_item","el_adminid")
->select("el_action","el_id","el_sql","el_path","el_item","el_adminid","company_id")
->orderBy('el_id','ASC')->first();
if($res){
......
......@@ -1052,7 +1052,7 @@ class OrderListService extends Model
$arr['feedback_pic'] = $streamFilename;
$arr['install_time'] = date("Y-m-d H:i:s");
$arr['type_name'] = self::getPicName($request['type']);//'1';
$res = Feedback::where('type',$request['type'])->update($arr);
$res = Feedback::where('type',$request['type'])->where('gl_id',$orderListArr['id'])->update($arr);
$typename = '编辑';
}else {
$resu = Admin::where("id", $orderListArr['ser_id'])->first();
......
......@@ -12,9 +12,12 @@
namespace App\Services;
use App\Exports\BasicExport;
use App\Http\Controllers\Common\CommonController;
use App\Models\Admin;
use App\Models\OrderList;
use App\Models\OrderRejected;
use BlueCity\Core\Inc\ErrorInc;
use BlueCity\Core\Service\Service;
use DB;
......@@ -30,7 +33,7 @@ class DataStatisticsService extends Service{
$page_size = $input['page_size']??10;
$admindata = Admin::whereRaw("((company_id='".$session['company_id']."' and admin_groupnew=2) or admin_groupnew=3) and enable=1")
->select('id','company_name')
->paginate($page_size)
// ->paginate($page_size)
->get();
$admindata = CommonService::dataToArray($admindata);
$return = [];
......@@ -63,6 +66,7 @@ class DataStatisticsService extends Service{
$gl = "0.00%";
}else {
$gl = sprintf("%.2f", $order_rejectednum / ($order_listnum + $order_rejectednum) * 100);
$gl = $gl."%";
}
$return[$k]['rejectRate'] = $gl;//拒单率
if($data){
......@@ -81,8 +85,9 @@ class DataStatisticsService extends Service{
$gls = "0.00%";
}else {
$gls = sprintf("%.2f", $order_rejectedAllnum / ($order_listAllnum + $order_rejectedAllnum) * 100);
$gls = $gls."%";
}
$return[$k]['rejectRates'] = $gl;//拒单率
$return[$k]['rejectRates'] = $gls;//拒单率
if($data){
$pdAgeings = self::Compute_Time($datas1[0]['pdnum']);
$sgAgeings = self::Compute_Time($datas[0]['timenum']);
......@@ -94,7 +99,22 @@ class DataStatisticsService extends Service{
$return[$k]['sgAgeings'] = $sgAgeings;//施工时效
}
}
return $return;
if(isset($input['is_excel']) && $input['is_excel']==2 ){
$time1 = date("Y.m.d", strtotime($input['time_start']));
$time2 = date("Y.m.d", strtotime($input['time_start'] . " +6 day"));
$excel['time'] = "本周".$time1."-".$time2;
$excel['data'] = $return;
$excel['session'] = $session;
$exporter = New BasicExport();
$rea = $exporter->creacrExporSerStatistics($excel);
if($rea){
return response()->json(['Data' => $rea, 'ErrorMessage' => '操作成功', 'ErrorCode' => 1]);
}else{
return response()->json(['Data' => $rea, 'ErrorMessage' => '无数据', 'ErrorCode' => ErrorInc::DATA_EMPTY]);
}
}else {
return response()->json(['Data' => $return, 'ErrorMessage' => '操作成功', 'ErrorCode' => 1]);
}
}
/**|---------------------------------------------------------------------------------
......@@ -115,17 +135,25 @@ class DataStatisticsService extends Service{
// $sql = "SELECT (UNIX_TIMESTAMP(feeds_time)-UNIX_TIMESTAMP(get_time)) AS sgtime,(UNIX_TIMESTAMP(get_time)-UNIX_TIMESTAMP(create_time)) AS jdtime,stauas,order_num,ser_id,create_time,get_time,feeds_time FROM gone_order_list WHERE create_time BETWEEN '".$time_start."' and '".$time_end."' and is_delete=1 and company_id = ".$session['company_id']." order by create_time";
// $datas = DB::select($sql);
$page_size = $input['page_size']??10;
$is_excel = $input['is_excel']??'0';
if ($is_excel == 2) {
DB::connection()->enableQueryLog();#开启执行日志
}
$paginate = OrderList::where('is_delete',1)
->whereBetween('create_time',[$time_start,$time_end])
->where('company_id',$session['company_id'])
->selectRaw("(UNIX_TIMESTAMP(feeds_time)-UNIX_TIMESTAMP(get_time)) AS sgtime,(UNIX_TIMESTAMP(get_time)-UNIX_TIMESTAMP(create_time)) AS jdtime,stauas,order_num,ser_id,create_time,get_time,feeds_time")
->orderBy('create_time','ASC')
->paginate($page_size);
if ($is_excel == 2) {
DB::connection()->enableQueryLog();#开启执行日志
$sql = DB::getQueryLog()[1];
}
$datas = CommonService::dataToArray($paginate->items());
$statusName = ['10'=>'未接单','20'=>'未接单','30'=>'安装中','34'=>'待审核','40'=>'已完成','50'=>'已撤销','55'=>'已撤销(补邮费)'];
$return = [];
foreach($datas as $k => $v){
$return[$k]['ser_id'] = $admindata[$v['ser_id']];//公司名称
$return[$k]['company_name'] = $admindata[$v['ser_id']];//公司名称
$return[$k]['order_num'] = $v['order_num'];//订单单号
$return[$k]['stauas'] = $statusName[$v['stauas']];//订单状态
$return[$k]['create_time'] = $v['create_time'];//派单时间
......@@ -173,7 +201,12 @@ class DataStatisticsService extends Service{
$return[$k]['takeEffect'] = "否";//是否计入时效考核
}
}
return $return;
if(isset($input['is_excel']) && $input['is_excel']==2 ){
$excel = new CommonController();
return $excel->getExcelOut($input['Pri_id'], $sql, $session,200,['function_name'=>'服务商绩效明细','function_model'=>'SerStatisticsDetail']);
}else {
return response()->json(['Data' => $return, 'ErrorMessage' => '操作成功', 'ErrorCode' => 1]);
}
}
/**|---------------------------------------------------------------------------------
......@@ -183,7 +216,7 @@ class DataStatisticsService extends Service{
* @author dou 2024/8/23 11:43
* |---------------------------------------------------------------------------------
*/
private static function Compute_Time( $timediff ){
public static function Compute_Time($timediff ){
$days = intval($timediff/86400);
//计算小时数
$remain = $timediff%86400;
......
......@@ -52,7 +52,7 @@ class OrderDeductionFeeService extends Service
public static function deductFee($data) {
$find_recharge_order = DB::table('recharge_order')
->where('reo_order_number', $data['order_number'])
->where('reo_pay_state', 1)
->where('reo_pay_state', 2)
->first();
if (!empty($find_recharge_order)) {
return ['code'=>200, 'msg'=>'操作成功'];
......
......@@ -1654,7 +1654,7 @@ class OrderService extends Service
$wherecompany1['company_id'] = $session['company_id'];
$wherecompany1['company_type'] = 1;
$wherecompany1['admin_groupnew'] = 2;
$wherecompany2['id_searchin'] = [91];
$wherecompany2['id_searchin'] = [91,101];
$where['wherecompany_searchor']['wherecompany1_next_level'] = $wherecompany1;
$where['wherecompany_searchor']['wherecompany2_next_level'] = $wherecompany2;
}else {
......@@ -1815,7 +1815,7 @@ class OrderService extends Service
$wherecompany1['company_id'] = $session['company_id'];
$wherecompany1['company_type'] = 1;
$wherecompany1['admin_groupnew'] = 2;
$wherecompany2['id_searchin'] = [91];
$wherecompany2['id_searchin'] = [91,101];
$where['wherecompany_searchor']['wherecompany1_next_level'] = $wherecompany1;
$where['wherecompany_searchor']['wherecompany2_next_level'] = $wherecompany2;
}else {
......
......@@ -132,8 +132,8 @@ class OrderaddService extends Service{
$num = $num + 1;
}
}else{
$orderMsgData['goods_price'] = $new_money;//实收/商品单价
$orderMsgData['goods_paid'] = $new_money;//应收
$orderMsgData['goods_price'] = $value['goods_price']*$value['goods_num'];//实收/商品单价
$orderMsgData['goods_paid'] = $value['goods_price']*$value['goods_num'];//应收
$orderMsgData['goods_num'] = $value['goods_num'];
$newOrderId = OrderMsg::insert($orderMsgData);
if(!$newOrderId){
......
......@@ -14,6 +14,7 @@
"laravel/framework": "5.5.*",
"laravel/tinker": "~1.0",
"maatwebsite/excel": "~2.1.0",
"phpoffice/phpspreadsheet": "^1.25",
"predis/predis": "^1.1"
},
"require-dev": {
......@@ -64,7 +65,11 @@
"preferred-install": "dist",
"sort-packages": true,
"optimize-autoloader": true,
"secure-http": false
"secure-http": false,
"allow-plugins": {
"kylekatarnls/update-helper": true,
"symfony/thanks": true
}
},
"minimum-stability": "dev",
"prefer-stable": true,
......
......@@ -1162,6 +1162,11 @@ Route::group(
Route::group(['prefix'=>'getCallByTtsCost'], function (){
Route::get('getCallByTtsCost', 'SysCallByTtsCostController@getCallByTtsCost');//电弧通知扣费
});
//京东定单同步状态
Route::group(['prefix'=>'jdOrderApi'], function (){
Route::get('getOrderByJd', 'JdOrderApiController@getOrderByJd');//获取京东社会化门店订单
Route::get('getOrderCancelAuditList', 'JdOrderApiController@getOrderCancelAuditList');//获取社会化门店获取退款单
});
#天猫服务单
/* Route::group(['prefix'=>'tmOrder'], function (){
Route::post('addOrderByTm', 'AddTmOrderController@addOrderByTm');//添加天猫单
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论