导入检查车架号有效且相同数据更新

master
zhaocheng 1 year ago
parent 2cd9b85e5e
commit 9ce4011b64
  1. 26
      extend/service/CarInfoHandle.php

@ -555,13 +555,14 @@ class CarInfoHandle
$register_date = date('Y-m-d', \PhpOffice\PhpSpreadsheet\Shared\Date::excelToTimestamp($register_date)); $register_date = date('Y-m-d', \PhpOffice\PhpSpreadsheet\Shared\Date::excelToTimestamp($register_date));
else else
$register_date = date('Y-m-d', strtotime(trim(trim($register_date, '"')))); $register_date = date('Y-m-d', strtotime(trim(trim($register_date, '"'))));
$row_array[] = [ $frame_no = trim(trim($worksheet->getCellByColumnAndRow(6, $row)->getValue(), '"'));
$row_array = [
'duty_no' => trim(trim($worksheet->getCellByColumnAndRow(1, $row)->getValue(), '"')), 'duty_no' => trim(trim($worksheet->getCellByColumnAndRow(1, $row)->getValue(), '"')),
'register_date' => $register_date, 'register_date' => $register_date,
'car_man' => trim(trim($worksheet->getCellByColumnAndRow(3, $row)->getValue(), '"')), 'car_man' => trim(trim($worksheet->getCellByColumnAndRow(3, $row)->getValue(), '"')),
'car_number' => trim(trim($worksheet->getCellByColumnAndRow(4, $row)->getValue(), '"')), 'car_number' => trim(trim($worksheet->getCellByColumnAndRow(4, $row)->getValue(), '"')),
'car_phone' => trim(trim($worksheet->getCellByColumnAndRow(5, $row)->getValue(), '"')), 'car_phone' => trim(trim($worksheet->getCellByColumnAndRow(5, $row)->getValue(), '"')),
'car_frame_no' => trim(trim($worksheet->getCellByColumnAndRow(6, $row)->getValue(), '"')), 'car_frame_no' => $frame_no,
'car_no' => str_replace('-', '', trim(trim($worksheet->getCellByColumnAndRow(7, $row)->getValue(), '"'))), 'car_no' => str_replace('-', '', trim(trim($worksheet->getCellByColumnAndRow(7, $row)->getValue(), '"'))),
'engine_no' => trim(trim($worksheet->getCellByColumnAndRow(8, $row)->getValue(), '"')), 'engine_no' => trim(trim($worksheet->getCellByColumnAndRow(8, $row)->getValue(), '"')),
'factory_model' => trim(trim($worksheet->getCellByColumnAndRow(9, $row)->getValue(), '"')), 'factory_model' => trim(trim($worksheet->getCellByColumnAndRow(9, $row)->getValue(), '"')),
@ -577,18 +578,21 @@ class CarInfoHandle
'create_timestamp' => $now, 'create_timestamp' => $now,
'update_timestamp' => $now 'update_timestamp' => $now
]; ];
if (count($row_array) > 1000) { // 有效车架号且存在更新并清除状态
Db::name('car_info_t')->insertAll($row_array); if (strlen($frame_no) == 17 && ($id = Db::name('car_info_t')->where('car_frame_no', $frame_no)->value('id'))) {
cache('shell_process_' . $id, round(($row - 1) / $highestRow * 100, 3), 300); $row_array['is_export_bhx'] = 0;
echo '当前进度:' . round(round(($row - 1) / $highestRow * 100, 3)) . PHP_EOL; $row_array['is_update_bhx'] = 0;
$row_array = []; $row_array['is_export_bmc'] = 0;
} $row_array['is_export_failed'] = 0;
$row_array['is_export_none_bmc'] = 0;
$row_array['is_export_failed_bmc'] = 0;
Db::name('car_info_t')->where('id', $id)->insert($row_array);
} else {
Db::name('car_info_t')->insert($row_array);
} }
if (count($row_array) > 0) {
Db::name('car_info_t')->insertAll($row_array);
cache('shell_process_' . $id, round(($row - 1) / $highestRow * 100, 3), 300); cache('shell_process_' . $id, round(($row - 1) / $highestRow * 100, 3), 300);
echo '当前进度:' . round(round(($row - 1) / $highestRow * 100, 3)) . PHP_EOL; echo '当前进度:' . round(round(($row - 1) / $highestRow * 100, 3)) . PHP_EOL;
$row_array = [];
} }
Db::execute('ALTER TABLE car_info_t ENABLE KEYS;'); Db::execute('ALTER TABLE car_info_t ENABLE KEYS;');
$t2 = microtime(true); $t2 = microtime(true);

Loading…
Cancel
Save