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}',
|
'visibleOn' => '${is_master > 0}',
|
||||||
'size' => 15
|
'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([
|
->columns([
|
||||||
amis()->TableColumn('name', __('admin.persons.name'))->copyable(),
|
amis()->TableColumn('name', __('admin.persons.name'))->copyable(),
|
||||||
amis()->TableColumn('master_connect', __('admin.persons.master_connect')),
|
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('cancel'),
|
||||||
amis()->Button()->label('确认')->actionType('submit')->primary()->close('detail_info'),
|
amis()->Button()->label('确认')->actionType('submit')->primary()->close('detail_info'),
|
||||||
])
|
])
|
||||||
)->visibleOn('${state} < 2'),
|
)->visibleOn('state < 2'),
|
||||||
//迁移
|
//迁移
|
||||||
amis()->DialogAction()->level('info')->label('迁移')->dialog(
|
amis()->DialogAction()->level('info')->label('迁移')->dialog(
|
||||||
amis()->Dialog()->title('迁移')->body($this->personMigrateForm())->size('lg')->actions([
|
amis()->Dialog()->title('迁移')->body($this->personMigrateForm())->size('lg')->actions([
|
||||||
amis()->Button()->label('取消')->actionType('cancel'),
|
amis()->Button()->label('取消')->actionType('cancel'),
|
||||||
amis()->Button()->label('确认')->actionType('submit')->primary()->close('detail_info'),
|
amis()->Button()->label('确认')->actionType('submit')->primary()->close('detail_info'),
|
||||||
])
|
])
|
||||||
)->visibleOn('${state} < 2'),
|
)->visibleOn('state < 2'),
|
||||||
//迁出
|
//迁出
|
||||||
amis()->DialogAction()->level('success')->label('迁出')->dialog(
|
amis()->DialogAction()->level('success')->label('迁出')->dialog(
|
||||||
amis()->Dialog()->title('迁出')->body($this->personOutForm())->size('lg')->actions([
|
amis()->Dialog()->title('迁出')->body($this->personOutForm())->size('lg')->actions([
|
||||||
amis()->Button()->label('取消')->actionType('cancel'),
|
amis()->Button()->label('取消')->actionType('cancel'),
|
||||||
amis()->Button()->label('确认')->actionType('submit')->primary()->close('detail_info'),
|
amis()->Button()->label('确认')->actionType('submit')->primary()->close('detail_info'),
|
||||||
])
|
])
|
||||||
)->visibleOn('${state} < 2'),
|
)->visibleOn('state < 2'),
|
||||||
//死亡
|
//死亡
|
||||||
amis()->DialogAction()->level('danger')->label('死亡')->dialog(
|
amis()->DialogAction()->level('danger')->label('死亡')->dialog(
|
||||||
amis()->Dialog()->title('死亡')->body($this->personDieForm())->size('lg')->actions([
|
amis()->Dialog()->title('死亡')->body($this->personDieForm())->size('lg')->actions([
|
||||||
amis()->Button()->label('取消')->actionType('cancel'),
|
amis()->Button()->label('取消')->actionType('cancel'),
|
||||||
amis()->Button()->label('确认')->actionType('submit')->primary()->close('detail_info'),
|
amis()->Button()->label('确认')->actionType('submit')->primary()->close('detail_info'),
|
||||||
])
|
])
|
||||||
)->visibleOn('${state} < 2'),
|
)->visibleOn('state < 2'),
|
||||||
//返回
|
//返回
|
||||||
amis()->Button()->actionType('cancel')->label(__('admin.back'))->primary()
|
amis()->Button()->actionType('cancel')->label(__('admin.back'))->primary()
|
||||||
];
|
];
|
||||||
|
|
@ -572,7 +572,7 @@ class PersonController extends AdminController
|
||||||
amis()->TableColumn('idcard', __('admin.persons.idcard')),
|
amis()->TableColumn('idcard', __('admin.persons.idcard')),
|
||||||
amis()->TableColumn('master_connect', __('admin.persons.master_connect'))->width('60px'),
|
amis()->TableColumn('master_connect', __('admin.persons.master_connect'))->width('60px'),
|
||||||
amis()->RadioControl('is_new_master', '新户主')->disabledOn('is_master'),
|
amis()->RadioControl('is_new_master', '新户主')->disabledOn('is_master'),
|
||||||
amis()->TextControl('new_master_connect', '新关系')->disabledOn('is_master'),
|
amis()->TextControl('new_master_connect', '新关系'),
|
||||||
])->required()
|
])->required()
|
||||||
)->visibleOn('${is_master}'),
|
)->visibleOn('${is_master}'),
|
||||||
amis()->Divider(),
|
amis()->Divider(),
|
||||||
|
|
|
||||||
|
|
@ -33,13 +33,13 @@ class Person extends Model
|
||||||
$person->is_master = 1;
|
$person->is_master = 1;
|
||||||
$person->save();
|
$person->save();
|
||||||
}
|
}
|
||||||
//处理新增时变动记录-todo
|
//处理新增时变动记录
|
||||||
if(in_array($person->type, [11, 12])){
|
if(in_array($person->type, [11, 12])){
|
||||||
PersonChange::create([
|
PersonChange::create([
|
||||||
'person_id' => $person->id,
|
'person_id' => $person->id,
|
||||||
'type' => $person->type == 11 ? PersonChange::TYPE_BIRTH : PersonChange::TYPE_IN,
|
'type' => $person->type == 11 ? PersonChange::TYPE_BIRTH : PersonChange::TYPE_IN,
|
||||||
'changed_at' => $person->type == 11 ? $person->birthday : $person->created_at,
|
'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([
|
Person::where('id', $person->id)->update([
|
||||||
'domicile_code' => '99999999',
|
|
||||||
'is_master' => 0,
|
'is_master' => 0,
|
||||||
'master_id' => null,
|
'master_id' => null,
|
||||||
'master_connect' => null,
|
'master_connect' => null,
|
||||||
|
'housing_estate_id' => null,
|
||||||
|
'building_id' => null,
|
||||||
|
'house_number' => null,
|
||||||
|
'house_complete_address' => null,
|
||||||
'state' => 2,
|
'state' => 2,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
@ -553,14 +556,17 @@ class PersonService extends BaseService
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$personUpdate = [[
|
||||||
Person::where('id', $person->id)->update([
|
|
||||||
'domicile_code' => '99999999',
|
'domicile_code' => '99999999',
|
||||||
'is_master' => 0,
|
'is_master' => 0,
|
||||||
'master_id' => null,
|
|
||||||
'master_connect' => null,
|
|
||||||
'state' => 2,
|
'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);
|
count($personChangeLogs) > 0 && PersonChange::insert($personChangeLogs);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ class DatabaseSeeder extends Seeder
|
||||||
$this->call(AdminMenuSeeder::class);
|
$this->call(AdminMenuSeeder::class);
|
||||||
$this->call(KeywordSeeder::class);
|
$this->call(KeywordSeeder::class);
|
||||||
|
|
||||||
//执行老数据迁移-todo;
|
//执行老数据迁移;
|
||||||
|
$this->call(MigrationSeeder::class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
namespace Database\Seeders;
|
namespace Database\Seeders;
|
||||||
|
|
||||||
use Illuminate\Database\Seeder;
|
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
|
class MigrationSeeder extends Seeder
|
||||||
{
|
{
|
||||||
|
|
@ -15,10 +15,11 @@ class MigrationSeeder extends Seeder
|
||||||
public function run()
|
public function run()
|
||||||
{
|
{
|
||||||
$this->call([
|
$this->call([
|
||||||
// ArticleCategorySeeder::class,
|
ArticleCategorySeeder::class,
|
||||||
// KeywordSeeder::class,
|
KeywordSeeder::class,
|
||||||
// BuildingSeeder::class,
|
BuildingSeeder::class,
|
||||||
PersonSeeder::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