generated from liutk/owl-admin-base
添加人口变动迁移
parent
2b840faf57
commit
2db4ae73fc
|
|
@ -33,13 +33,13 @@ class Person extends Model
|
|||
$person->is_master = 1;
|
||||
$person->save();
|
||||
}
|
||||
//处理新增时变动记录-todo
|
||||
//处理新增时变动记录
|
||||
if(in_array($person->type, [11, 12])){
|
||||
PersonChange::create([
|
||||
'person_id' => $person->id,
|
||||
'type' => $person->type == 11 ? PersonChange::TYPE_BIRTH : PersonChange::TYPE_IN,
|
||||
'changed_at' => $person->type == 11 ? $person->birthday : $person->created_at,
|
||||
'new_master' => $person->master_id
|
||||
'new_master' => $person->master_id,
|
||||
]);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ class DatabaseSeeder extends Seeder
|
|||
$this->call(AdminMenuSeeder::class);
|
||||
$this->call(KeywordSeeder::class);
|
||||
|
||||
//执行老数据迁移-todo;
|
||||
//执行老数据迁移;
|
||||
$this->call(MigrationSeeder::class);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
namespace Database\Seeders;
|
||||
|
||||
use Illuminate\Database\Seeder;
|
||||
use Database\Seeders\Migrations\{ArticleCategorySeeder, KeywordSeeder, BuildingSeeder,PersonSeeder};
|
||||
use Database\Seeders\Migrations\{ArticleCategorySeeder, KeywordSeeder, BuildingSeeder,PersonSeeder,PersonMoveSeeder};
|
||||
|
||||
class MigrationSeeder extends Seeder
|
||||
{
|
||||
|
|
@ -15,10 +15,11 @@ class MigrationSeeder extends Seeder
|
|||
public function run()
|
||||
{
|
||||
$this->call([
|
||||
// ArticleCategorySeeder::class,
|
||||
// KeywordSeeder::class,
|
||||
// BuildingSeeder::class,
|
||||
ArticleCategorySeeder::class,
|
||||
KeywordSeeder::class,
|
||||
BuildingSeeder::class,
|
||||
PersonSeeder::class,
|
||||
PersonMoveSeeder::class,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,85 @@
|
|||
<?php
|
||||
|
||||
namespace Database\Seeders\Migrations;
|
||||
|
||||
use Illuminate\Database\Seeder;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Str;
|
||||
use Throwable;
|
||||
use App\Models\Person;
|
||||
use App\Models\PersonChange;
|
||||
|
||||
class PersonMoveSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
DB::table('person_changes')->truncate();
|
||||
|
||||
DB::connection('djc_mysql')->table('t_person_move')->orderBy('id', 'ASC')->chunk(1000, function($personMoves){
|
||||
$newlogs = [];
|
||||
if($personMoves->count() > 0){
|
||||
foreach($personMoves as $log){
|
||||
if($log->valid){//有效的记录
|
||||
//处理原有时间字符串
|
||||
$occurDate = substr($log->occurDate, 0, 10);
|
||||
$_log = [
|
||||
'type' => $log->type,
|
||||
'person_id' => $log->personId,
|
||||
'changed_at' => $occurDate,
|
||||
'reason' => $log->reason,
|
||||
'old_master'=> Person::where('name', $log->oldMaster)->first()?->id ?: null,
|
||||
'new_master'=> Person::where('name', $log->currMaster)->first()?->id ?: null,
|
||||
'phone' => $log->phone,
|
||||
];
|
||||
//处理变更文案
|
||||
switch($_log['type']){
|
||||
case PersonChange::TYPE_IN:
|
||||
case PersonChange::TYPE_BIRTH:
|
||||
$_log['extends'] = null;
|
||||
$_log['extends_mark'] = null;
|
||||
break;
|
||||
case PersonChange::TYPE_SPLIT:
|
||||
$_log['extends'] = null;
|
||||
$_log['extends_mark'] = $occurDate.'日'.(empty($_log['reason']) ? '':'因'.$_log['reason']).'分户';
|
||||
break;
|
||||
case PersonChange::TYPE_MERGE:
|
||||
$_log['extends'] = null;
|
||||
$_log['extends_mark'] = $occurDate.'日'.(empty($_log['reason']) ? '':'因'.$_log['reason']).'合户';
|
||||
break;
|
||||
case PersonChange::TYPE_OUT:
|
||||
$_log['extends'] = json_encode([
|
||||
'to_address' =>$log->newAddr,
|
||||
]);
|
||||
$_log['extends_mark'] = $occurDate.'日'.(empty($_log['reason']) ? '':'因'.$_log['reason']).$log->newAddr;
|
||||
break;
|
||||
case PersonChange::TYPE_CHANGE:
|
||||
$_log['extends'] = null;
|
||||
$_log['extends_mark'] = $occurDate.'日'.(empty($_log['reason']) ? '':'因'.$_log['reason']).'户主变更';
|
||||
break;
|
||||
case PersonChange::TYPE_MIGRATE:
|
||||
$_log['extends'] = null;
|
||||
$_log['extends_mark'] = $occurDate.'日'.(empty($_log['reason']) ? '':'因'.$_log['reason']).'迁移';
|
||||
break;
|
||||
case PersonChange::TYPE_DIE:
|
||||
$_log['extends'] = null;
|
||||
$_log['extends_mark'] = $occurDate.'日'.(empty($_log['reason']) ? '': $_log['reason']);
|
||||
break;
|
||||
default:
|
||||
$_log['extends'] = null;
|
||||
$_log['extends_mark'] = null;
|
||||
break;
|
||||
}
|
||||
|
||||
$newlogs[] = $_log;
|
||||
}
|
||||
}
|
||||
}
|
||||
!empty($newlogs) && DB::table('person_changes')->insert($newlogs);
|
||||
});
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue