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

master
zhaocheng 2 years 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));
else
$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(), '"')),
'register_date' => $register_date,
'car_man' => trim(trim($worksheet->getCellByColumnAndRow(3, $row)->getValue(), '"')),
'car_number' => trim(trim($worksheet->getCellByColumnAndRow(4, $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(), '"'))),
'engine_no' => trim(trim($worksheet->getCellByColumnAndRow(8, $row)->getValue(), '"')),
'factory_model' => trim(trim($worksheet->getCellByColumnAndRow(9, $row)->getValue(), '"')),
@ -577,18 +578,21 @@ class CarInfoHandle
'create_timestamp' => $now,
'update_timestamp' => $now
];
if (count($row_array) > 1000) {
Db::name('car_info_t')->insertAll($row_array);
cache('shell_process_' . $id, round(($row - 1) / $highestRow * 100, 3), 300);
echo '当前进度:' . round(round(($row - 1) / $highestRow * 100, 3)) . PHP_EOL;
$row_array = [];
}
// 有效车架号且存在更新并清除状态
if (strlen($frame_no) == 17 && ($id = Db::name('car_info_t')->where('car_frame_no', $frame_no)->value('id'))) {
$row_array['is_export_bhx'] = 0;
$row_array['is_update_bhx'] = 0;
$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);
echo '当前进度:' . round(round(($row - 1) / $highestRow * 100, 3)) . PHP_EOL;
$row_array = [];
}
Db::execute('ALTER TABLE car_info_t ENABLE KEYS;');
$t2 = microtime(true);

Loading…
Cancel
Save