generated from liutk/owl-admin-base
Compare commits
4 Commits
4489090552
...
2db4ae73fc
| Author | SHA1 | Date |
|---|---|---|
|
|
2db4ae73fc | |
|
|
2b840faf57 | |
|
|
c4af14dbb0 | |
|
|
f8f2425062 |
|
|
@ -288,7 +288,7 @@ class PersonController extends AdminController
|
|||
'visibleOn' => '${is_master > 0}',
|
||||
'size' => 15
|
||||
])
|
||||
->api(admin_url('persons?_action=getData&master[name]=${master.name}'))
|
||||
->api(admin_url('persons?_action=getData&state=1&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', '新关系')->disabledOn('is_master'),
|
||||
amis()->TextControl('new_master_connect', '新关系'),
|
||||
])->required()
|
||||
)->visibleOn('${is_master}'),
|
||||
amis()->Divider(),
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
]);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -464,10 +464,13 @@ 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,
|
||||
]);
|
||||
|
||||
|
|
@ -553,14 +556,17 @@ class PersonService extends BaseService
|
|||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Person::where('id', $person->id)->update([
|
||||
$personUpdate = [[
|
||||
'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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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