generated from liutk/owl-admin-base
160 lines
8.2 KiB
PHP
160 lines
8.2 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use Illuminate\Database\Seeder;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Str;
|
|
use Throwable;
|
|
use App\Models\Keyword;
|
|
|
|
class PersonSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function run()
|
|
{
|
|
DB::table('persons')->truncate();
|
|
|
|
DB::connection('djc_mysql')->getPdo()->exec("SET NAMES 'utf8'");
|
|
DB::connection('djc_mysql')->table('t_person')->orderBy('id', 'ASC')->chunk(100, function($persons){
|
|
|
|
// $newPersons = [];
|
|
if($persons->count() > 0){
|
|
$typeArr = [
|
|
5=>'刑满释放人员',
|
|
6=>'社区矫正人员',
|
|
7=>'肇事肇祸等严重精神障碍患者',
|
|
8=>'吸毒人员',
|
|
9=>'重点青少年',
|
|
10=>'上访信访人员',
|
|
11=>'艾滋病危险人员',
|
|
13=>'残疾人',
|
|
14=>'低保五保',
|
|
15=>'失独家庭',
|
|
16=>'失业农民',
|
|
17=>'其他困难人员',
|
|
18=>'困难家庭',
|
|
20=>'党员'];
|
|
foreach($persons as $person){
|
|
if($person->valid){//有效的记录
|
|
if(!empty($person->idcard) && DB::table('persons')->where('idcard', $person->idcard)->exists()){
|
|
DB::table('persons')->where('idcard', $person->idcard)->delete();
|
|
}
|
|
$_person = [
|
|
'id' => $person->id,
|
|
'name'=> $person->useName,
|
|
'used_name' => $person->usedName ?: null,
|
|
'idcard' => $person->idcard ?: null,
|
|
'gender' => $person->gender == '男' ? 1:($person->gender == '女' ? 2:0),
|
|
'birthday' => (!empty(strtotime($person->birth)) && ($person->birth == date('Y-m-d', strtotime($person->birth)))) ? $person->birth:null,
|
|
|
|
'origin_province_id'=> null,
|
|
'origin_city_id' => null,
|
|
'origin_complete_address' => $person->nativePlace,
|
|
'card_complete_address' => $person->birthAddr,
|
|
|
|
'housing_estate_id' => null,
|
|
'building_id' => null,
|
|
'house_number' => null,
|
|
'house_complete_address' => null,
|
|
'real_address' => null,
|
|
|
|
'nation_id' => Keyword::where('parent_key', 'nation')->where('oid', $person->folkId)->value('id'),
|
|
'political_face_id' => Keyword::where('parent_key', 'political_face')->where('oid', $person->politicsId)->value('id'),
|
|
'educational_level_id' => Keyword::where('parent_key', 'educational_level')->where('oid', $person->educationId)->value('id'),
|
|
'marry_state_id' => Keyword::where('parent_key', 'marry_state')->where('name', $person->marryStatus)->value('id'),
|
|
'job_cate_id' => Keyword::where('parent_key', 'job_cate')->where('name', $person->workType)->value('id'),
|
|
'job' => $person->career,
|
|
'health'=> $person->health,
|
|
'phone' => $person->phone,
|
|
'remark'=> $person->remark,
|
|
|
|
'type'=>$person->type,
|
|
'has_benefit' => $person->benefit == '是' ? 1:0,
|
|
'organized_body_id' => Keyword::where('parent_key', 'organized_body')->where('oid', $person->societyId)->value('id'),
|
|
|
|
'domicile_id'=> Keyword::where('parent_key', 'domicile')->where('oid', $person->houseHoldTypeId)->value('id'),
|
|
'domicile_code' => $person->houseHoldNumber,
|
|
'master_id' => $person->houseHoldMasterId,
|
|
'is_master' => $person->houseHoldMasterRelative == '户主' ? 1:0,
|
|
'master_connect' => $person->houseHoldMasterRelative ?: null,
|
|
|
|
'is_voter' => $person->voter == '是' ? 1:0,
|
|
|
|
'wx_openid' => $person->openid ?: null,
|
|
'baidu_face_id' => $person->baiduUserId ?: null,
|
|
|
|
'state' => $person->status,
|
|
|
|
't_ids' => null,
|
|
|
|
'created_at' => now(),
|
|
'updated_at' => now(),
|
|
];
|
|
//处理人物标签
|
|
if(!empty($person->type1)){
|
|
$_tIds = [];
|
|
$_typeIds = explode(',',$person->type1);
|
|
foreach($typeArr as $k => $typeName){
|
|
if(in_array($k, $_typeIds)){
|
|
$_tIds[] = Keyword::where('parent_key', 'person_tag')->where('name', $typeName)->value('id');
|
|
}
|
|
}
|
|
if($_tIds){
|
|
$_person['t_ids'] = implode(',', $_tIds);
|
|
}
|
|
}
|
|
|
|
//处理籍贯地址选中问题;如果是重庆市-巴南区,重庆市-九龙坡,重庆-巴县,重庆市-綦江区
|
|
if(Str::startsWith($person->nativePlace, '重庆市') || Str::startsWith($person->nativePlace, '重庆')){
|
|
$_person['origin_city_code'] = '500100';
|
|
$_person['origin_province_id'] = 2221;
|
|
$_person['origin_city_id'] = 2222;
|
|
}
|
|
|
|
//处理户籍地址选中问题;如果是重庆市-巴南区,重庆市-九龙坡,重庆-巴县,重庆市-綦江区
|
|
if(Str::startsWith($person->birthAddr, '重庆市') || Str::startsWith($person->birthAddr, '重庆')){
|
|
$_person['origin_city_code'] = '500100';
|
|
$_person['origin_province_id'] = 2221;
|
|
$_person['origin_city_id'] = 2222;
|
|
}
|
|
//处理居住地址
|
|
if($person->courtId){
|
|
$houseCompleteAddress = '';
|
|
$housingEstate = Keyword::where('parent_key', 'housing_estate')->where('oid', $person->courtId)->first();
|
|
$building = Keyword::where('parent_key', 'like', 'housing_estate%')->where('oid', $person->buildingId ?:0)->first();
|
|
if($housingEstate){
|
|
$_person['housing_estate_id'] = $housingEstate->id;
|
|
$houseCompleteAddress .= $housingEstate->name;
|
|
}
|
|
if($building){
|
|
$_person['building_id'] = $building->id;
|
|
$houseCompleteAddress .= $building->name;
|
|
}
|
|
$_person['house_number'] = $person->door;
|
|
$houseCompleteAddress .= ' '.$person->door;
|
|
if($houseCompleteAddress){
|
|
$_person['house_complete_address'] = $houseCompleteAddress;
|
|
}
|
|
}
|
|
|
|
$_person['real_address'] = $person->addr2;
|
|
|
|
// $newPersons[] = $_person;
|
|
if($_person['is_master']){
|
|
$_person['master_id'] = $person->id;
|
|
}
|
|
DB::table('persons')->insert($_person);
|
|
}
|
|
}
|
|
}
|
|
// if(count($newPersons) > 0){
|
|
// DB::table('persons')->insert($newPersons);
|
|
// }
|
|
});
|
|
}
|
|
} |