Compare commits

..

No commits in common. "2db4ae73fc87764cbce856507dbb9c632a2a1342" and "4489090552d18eadaaf94b0a07e92969b250b5fe" have entirely different histories.

6 changed files with 19 additions and 112 deletions

View File

@ -288,7 +288,7 @@ class PersonController extends AdminController
'visibleOn' => '${is_master > 0}',
'size' => 15
])
->api(admin_url('persons?_action=getData&state=1&master[name]=${master.name}'))
->api(admin_url('persons?_action=getData&master[name]=${master.name}'))
->columns([
amis()->TableColumn('name', __('admin.persons.name'))->copyable(),
amis()->TableColumn('master_connect', __('admin.persons.master_connect')),
@ -328,28 +328,28 @@ class PersonController extends AdminController
amis()->Button()->label('取消')->actionType('cancel'),
amis()->Button()->label('确认')->actionType('submit')->primary()->close('detail_info'),
])
)->visibleOn('state < 2'),
)->visibleOn('${state} < 2'),
//迁移
amis()->DialogAction()->level('info')->label('迁移')->dialog(
amis()->Dialog()->title('迁移')->body($this->personMigrateForm())->size('lg')->actions([
amis()->Button()->label('取消')->actionType('cancel'),
amis()->Button()->label('确认')->actionType('submit')->primary()->close('detail_info'),
])
)->visibleOn('state < 2'),
)->visibleOn('${state} < 2'),
//迁出
amis()->DialogAction()->level('success')->label('迁出')->dialog(
amis()->Dialog()->title('迁出')->body($this->personOutForm())->size('lg')->actions([
amis()->Button()->label('取消')->actionType('cancel'),
amis()->Button()->label('确认')->actionType('submit')->primary()->close('detail_info'),
])
)->visibleOn('state < 2'),
)->visibleOn('${state} < 2'),
//死亡
amis()->DialogAction()->level('danger')->label('死亡')->dialog(
amis()->Dialog()->title('死亡')->body($this->personDieForm())->size('lg')->actions([
amis()->Button()->label('取消')->actionType('cancel'),
amis()->Button()->label('确认')->actionType('submit')->primary()->close('detail_info'),
])
)->visibleOn('state < 2'),
)->visibleOn('${state} < 2'),
//返回
amis()->Button()->actionType('cancel')->label(__('admin.back'))->primary()
];
@ -572,7 +572,7 @@ class PersonController extends AdminController
amis()->TableColumn('idcard', __('admin.persons.idcard')),
amis()->TableColumn('master_connect', __('admin.persons.master_connect'))->width('60px'),
amis()->RadioControl('is_new_master', '新户主')->disabledOn('is_master'),
amis()->TextControl('new_master_connect', '新关系'),
amis()->TextControl('new_master_connect', '新关系')->disabledOn('is_master'),
])->required()
)->visibleOn('${is_master}'),
amis()->Divider(),

View File

@ -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
]);
}
});

View File

@ -464,13 +464,10 @@ class PersonService extends BaseService
}
Person::where('id', $person->id)->update([
'domicile_code' => '99999999',
'is_master' => 0,
'master_id' => null,
'master_connect' => null,
'housing_estate_id' => null,
'building_id' => null,
'house_number' => null,
'house_complete_address' => null,
'state' => 2,
]);
@ -556,17 +553,14 @@ class PersonService extends BaseService
]);
}
}
$personUpdate = [[
Person::where('id', $person->id)->update([
'domicile_code' => '99999999',
'is_master' => 0,
'master_id' => null,
'master_connect' => null,
'state' => 2,
]];
if(isset($oldNewMaster)){
$personUpdate['master_id'] = $oldNewMaster['id'];
$personUpdate['master_connect'] = $oldNewMaster['new_master_connect'];
}
Person::where('id', $person->id)->update($personUpdate);
]);
count($personChangeLogs) > 0 && PersonChange::insert($personChangeLogs);

View File

@ -16,7 +16,6 @@ class DatabaseSeeder extends Seeder
$this->call(AdminMenuSeeder::class);
$this->call(KeywordSeeder::class);
//执行老数据迁移;
$this->call(MigrationSeeder::class);
//执行老数据迁移-todo;
}
}

View File

@ -3,7 +3,7 @@
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Database\Seeders\Migrations\{ArticleCategorySeeder, KeywordSeeder, BuildingSeeder,PersonSeeder,PersonMoveSeeder};
use Database\Seeders\Migrations\{ArticleCategorySeeder, KeywordSeeder, BuildingSeeder,PersonSeeder};
class MigrationSeeder extends Seeder
{
@ -15,11 +15,10 @@ 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,
]);
}
}

View File

@ -1,85 +0,0 @@
<?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);
});
}
}