truncate(); 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); // } }); } }