get_all("select * from tb_jd_task where status='0'"); $date_time = date('Y-m-d H:i:s'); $res_arr = array(); foreach ($task_list as $k => $v){ $excel_path = $v['path']; echo dirname(dirname(__FILE__)).$excel_path; $excel_data = readexcel(dirname(dirname(__FILE__)).$excel_path); if(empty($excel_data)){ exit("获取excel数据为空"); } if ($db->get_one("select * from tb_jd_order where task_id='{$v['id']}'")){ echo "已删除原有的'{$v['name']}'任务数据"; $db->query("delete from tb_jd_order where task_id='{$v['id']}'"); } $is_update = 0; $is_error = 0; $table_title = array(); foreach ($excel_data as $index => $data){ // echo "
";
//            print_r($data);
//            echo "
"; // exit(); // echo "
";
//            print_r( var_dump($data[0]));
//            echo "
"; // exit(); if (mb_strlen($data[0],"utf-8")!=""){ // echo "
";
//            print_r($excel_data);
//            echo "
"; // exit(); if($index == 0){ $table_title = $data; continue; } $orderId = $data[1]; // $price = round($data[8],2) ; //金额应该是算上退款后的结果 // $price = round($data[12],2) ; //金额应该是算上退款后的结果 $price = round(doubleval($data[12])*100)/100;//金额应该是算上退款后的结果 $len = count($data); $trs = $db->get_one("select * from tb_goods_wg_order where orderId = '{$orderId}'"); if($trs){ // 主单号 $jdwg_id = $trs['id']; $item = $db->get_one("select * from tb_goods_order where jdwg_id = ".$jdwg_id); if(empty($item)){ $data[$len] = "主单号匹配失败"; echo "select * from tb_goods_order where jdwg_id = ".$jdwg_id."\n"; exit; }else{ //判断是否有产生退费 $refundRs = $db->get_one("SELECT orderId, sum( price ) refund FROM `tb_goods_wg_refund_log` WHERE orderId = '{$orderId}' GROUP BY orderId"); $totalMoney = round(doubleval($trs['totalMoney'] - $refundRs['refund'])*100)/100; if($totalMoney == (double)$price){ $data[$len] = "主单号金额匹配"; }else{ $data[$len] = "主单号金额不匹配"; } } }else{ // 子单号 // $item = $db->get_one("select a.* from tb_goods_wg_order_childs a where a.childOrderId = '{$orderId}'"); $item = $db->get_one("SELECT a.*, b.refund FROM tb_goods_wg_order_childs a LEFT JOIN ( SELECT childOrderId, sum( price ) refund FROM `tb_goods_wg_refund_log` GROUP BY childOrderId ) b ON a.childOrderId = b.childOrderId WHERE a.childOrderId = ".$orderId); if(empty($item)){ $data[$len] = "子单号匹配失败"; }else{ $orderPrice = round(doubleval($item['orderPrice'] + $item['freight'] - $item['refund'])*100)/100; if($orderPrice ==(double)$price ){ $data[$len] = "子单号金额匹配"; }else{ $data[$len] = "子单号金额不匹配"; } } } $res_arr[] = $data; $insert_data = array(); $insert_data['add_time'] = $date_time; foreach ($data as $i => $d){ if($i != $len){ $insert_data['t'.$i] = iconv("gb2312", "utf-8", $d); }else{ $insert_data['task_id'] = $v['id']; $insert_data['status'] = $d; } } // $check_insert = $db->get_one("select * from tb_jd_order where task_id='{$v['id']}' and t0='{$orderId}'"); // if($check_insert){ // echo $orderId . "该订单已存在,不能匹配"; // continue; // } print_r($insert_data); $insert_id = $db->insert("tb_jd_order", $insert_data); if(!$insert_id){ echo("订单插入失败,订单号:{$orderId}"); $is_error = 1; $db->query("delete from tb_jd_order where task_id='{$v['id']}'"); break; } }else{ break; } } if(!$is_update && $is_error == 0){ $is_update = 1; $update = $db->update("tb_jd_task",array('status' => 1,'perform_time'=>$date_time), "id='{$v['id']}'"); if(!$update){ exit("更新任务失败"); } } } echo "任务完成"; exit; }