<?php

namespace App\Console\Commands\Converters;

use App\Models\RelationVendorArticle;
use Illuminate\Support\Arr;
use Illuminate\Support\Str;
use App\Models\MstCity;
use App\Models\MstPrefecture;
use App\Models\MstTown;
use App\Models\RelationLawrestriction;
use App\Models\RelationOtherrestriction;

class AtHomeLandConverter
{
    public static function convert($article)
    {
        $data = [];

        // 物件種目
        if($article->athome_no == null){
            $data['kukakuHihyojiFlag'] = 1;
            $data['kaiinmukeKukakuHihyojiFlag'] = 1;
        }

        $data['kokudohoCode']  =  '';
        if($article->kokudoho == 1){
            $data['kokudohoCode'] = 11;
        }
        if($article->kokudoho == 2){
            $data['kokudohoCode'] = 12;
        }

        $PROPERTY_OPTIONS = [
            1 => '0101', 2 => '0102', 3 => '0101'
        ];

        $property = Arr::get($PROPERTY_OPTIONS, $article->property ?? '');
        $data['bukkenShumokuCode'] = $property;

        // 区画番号
        $data['kukakuNumber'] = Str::limit($article->name_portal, 14, '');

        // 所在地
        $zipParts = explode('-', $article->zip);
        $data['shinYubinNumber1'] = Arr::get($zipParts, 0);
        $data['shinYubinNumber2'] = Arr::get($zipParts, 1);

        $prefecture = MstPrefecture::getName($article->address1);
        $city = MstCity::getName($article->address1, $article->address2);
        $town = MstTown::getName($article->address1, $article->address2, $article->address3);

        $prefectureName = optional($prefecture)->name;
        $cityName = optional($city)->name;
        $townName = optional($town)->name;

        $prefectureCode = AtHomeConverter::getPrefectureCode($prefectureName);
        $cityCode = AtHomeConverter::getCityCode($prefectureCode, $cityName);
        $townCode = AtHomeConverter::getTownCode($prefectureCode, $cityCode, $townName, $article->address4);

        $data['todofukenName'] = $prefectureName;

        $data['shozaichiCode1'] = $cityCode ?? '';
        $data['shikugunName'] = $cityName;

        if($townCode) {
            $data['shozaichiCode2'] = $townCode->town_id;
            $data['chosonName'] = $townCode->town_name;
        } else {
            $data['shozaichiCode2'] = '';
            $data['chosonName'] = $townName;
        }

        $replaceArr  = ['−' => '' , '　' => '', ' ' => '' ];
        $address4 = strtr($article->address4, $replaceArr);

        $data['banchi'] = Str::limit($address4, 30, '');
        if (empty($data["banchi"])) {
            $data["banchi"] = "未選択";
        }
        if(strpos($data['banchi'], '丁目')){
            $explodesAdrr4 = explode('丁目', $address4);
            $data['banchi'] = $explodesAdrr4[1] ?? '';
        }

        if(is_numeric($article->lat) && is_numeric($article->lng)) {
            $data['chizuIchiKakuninZumiFlag'] = 'true';
            $data['matchingLevel'] = 'E';
            $data['idoDaihyoIchi'] = 0;
            $data['keidoDaihyoIchi'] = 0;
            $data['idoGeocoder'] = $article->lat;
            $data['keidoGeocoder'] = $article->lng;
            $data['idoChizu'] = $article->lat;
            $data['keidoChizu'] = $article->lng;
        }

        $data['openHouseUmuFlag'] = '';
        $data['openHouseKikanFromYyyy'] = '';
        $data['openHouseKikanFromMm'] = '';
        $data['openHouseKikanFromDd'] = '';
        $data['openHouseKikanToYyyy'] = '';
        $data['openHouseKikanToMm'] = '';
        $data['openHouseKikanToDd'] = '';
        if($article->event_category == 2 || $article->event_category == 3 || $article->event_category == 4 || $article->event_category == 5){
            if($article->event_schedule == 3){
                $data['openHouseUmuFlag'] = 1;
                $eventDays = explode(',', $article->event_day);
                $eventDays[0] = str_replace('/', '-', $eventDays[0]);
                $eventDay = explode('-', $eventDays[0]);
                $data['openHouseKikanFromYyyy'] = $eventDay[0];
                $data['openHouseKikanFromMm'] = $eventDay[1];
                $data['openHouseKikanFromDd'] = $eventDay[2];
            }
            if($article->event_schedule == 4){
                $data['openHouseUmuFlag'] = 1;
                if($article->from_event != null){
                    $article->from_event = str_replace('/', '-', $article->from_event);
                    $eventDay = explode('-', $article->from_event);
                    $data['openHouseKikanFromYyyy'] = $eventDay[0];
                    $data['openHouseKikanFromMm'] = $eventDay[1];
                    $data['openHouseKikanFromDd'] = $eventDay[2];
                }
                if($article->to_event != null){
                    $article->to_event = str_replace('/', '-', $article->to_event);
                    $eventDayTo = explode('-', $article->to_event);
                    $data['openHouseKikanToYyyy'] = $eventDayTo[0];
                    $data['openHouseKikanToMm'] = $eventDayTo[1];
                    $data['openHouseKikanToDd'] = $eventDayTo[2];
                }

            }
            $data['openHouseTimeFromHh'] = '';
            $data['openHouseTimeFromMm'] = '';
            $data['openHouseTimeToHh'] = '';
            $data['openHouseTimeToMm'] = '';
            if($article->from_hour != null && $article->to_hour != null){
                $data['openHouseTimeFromHh'] = $article->from_hour;
                $data['openHouseTimeFromMm'] = $article->from_minute;
                $data['openHouseTimeToHh'] = $article->to_hour;
                $data['openHouseTimeToMm'] = $article->to_minute;
            }
            $cmt = '';
            if($article->reservation == 1){
                $cmt .= '予約制';
            }
            if($article->event_comment!= ''){
                $cmt .= ','.$article->event_comment;
            }
            $data['openHouseNaiyo'] = Str::limit($cmt, 30, '');
        }

        // 交通
        if (!empty($article->main_traffic_line) &&
            !empty($article->main_traffic_station)) {

//            $trafficLineName = $article->main_traffic_line;
//            $trafficStationName = $article->main_traffic_station;
//
//            $trafficStationName = str_replace('JR', 'ＪＲ', $trafficStationName);
//            if($trafficStationName == '瓦ケ浜'){
//                $trafficStationName = '瓦ヶ浜';
//            }
//            if($trafficStationName == '石破'){
//                $trafficStationName = '石場';
//            }
//
//            $trafficLine = AtHomeConverter::getTrafficLineCode($trafficLineName, $trafficStationName);
//            $trafficLineCode = '';
//            $trafficStationCode = '';
//            if(!empty($trafficLine)){
//                $trafficLineCode = $trafficLine[0]->line_id;
//                $trafficLineName = $trafficLine[0]->line_name;
//                foreach ($trafficLine as $trafficStation){
//                    if(strpos($trafficStationName, $trafficStation->station_name) !== false){
//                        $trafficStationCode = $trafficStation->station_id;
//                        break;
//                    }
//                }
//            }

            $line = AtHomeConverter::getTrafficLineCode($article->main_traffic_line, $article->main_traffic_station);
            $data['denshaRiyoEnsenName'] = $line->line_name ?? '';
            $data['denshaRiyoEnsenCode'] = $line->line_id ?? '';
            $data['denshaRiyoEkiName'] = $line->station_name ?? '';
            $data['denshaRiyoEkiCode'] = $line->station_id ?? '';
        }

        if ($article->main_traffic == 1 && is_numeric($article->main_traffic_time)) {
            $data['denshaRiyoEkiToho'] = $article->main_traffic_time;
        }

        if(empty($data['denshaRiyoEnsenCode']) || empty($data['denshaRiyoEkiCode'])) {
            $data['denshaRiyoEnsenName'] = '';
            $data['denshaRiyoEkiName'] = '';
            $data['denshaRiyoEnsenCode'] = '';
            $data['denshaRiyoEkiCode'] = '';
            $data['denshaRiyoEkiToho'] = '';
        }

        if ($article->main_traffic == 2 &&
            !empty($article->main_traffic_bus_time) &&
            !empty($article->main_traffic_bus) &&
            is_numeric($article->main_traffic_bus_walk)) {
            $data['busRiyoBusJosha'] = $article->main_traffic_bus_time;
            $data['busRiyoBusteiName'] = $article->main_traffic_bus;
            $data['busRiyoBusteiTohoFun'] = $article->main_traffic_bus_walk;
        }

        // 利用駅１
        if (!empty($article->sub_traffic1_line) &&
            !empty($article->sub_traffic1_station)) {
//            $trafficLineName = $article->sub_traffic1_line;
//            $trafficStationName = $article->sub_traffic1_station;
//
//            $trafficStationName = str_replace('JR', 'ＪＲ', $trafficStationName);
//            if($trafficStationName == '瓦ケ浜'){
//                $trafficStationName = '瓦ヶ浜';
//            }
//            if($trafficStationName == '石破'){
//                $trafficStationName = '石場';
//            }
//
//            $trafficLine = AtHomeConverter::getTrafficLineCode($trafficLineName, $trafficStationName);
//            $trafficLineCode = '';
//            $trafficStationCode = '';
//            if(!empty($trafficLine)){
//                $trafficLineCode = $trafficLine[0]->line_id;
//                $trafficLineName = $trafficLine[0]->line_name;
//                foreach ($trafficLine as $trafficStation){
//                    if(strpos($trafficStationName, $trafficStation->station_name) !== false){
//                        $trafficStationCode = $trafficStation->station_id;
//                        break;
//                    }
//                }
//            }
//
//            $data['riyoEki1EnsenName'] = $article->sub_traffic1_line;
//            if($data['riyoEki1EnsenName'] == '横浜市営ブルーライン') {
//                $data['riyoEki1EnsenName'] = str_replace('営', '', $data['riyoEki1EnsenName']);
//            }
//            $data['riyoEki1EnsenCode'] = $trafficLineCode;
//            $data['riyoEki1EkiName'] = $article->sub_traffic1_station;
//            $data['riyoEki1EkiCode'] = $trafficStationCode;
//
//            if(empty($trafficLineCode) || empty($trafficStationCode)) {
//                $data['riyoEki1EnsenCode'] = '';
//                $data['riyoEki1EkiCode'] = '';
//            }

            $line = AtHomeConverter::getTrafficLineCode($article->sub_traffic1_line, $article->sub_traffic1_station);
            $data['riyoEki1EnsenName'] = $line->line_name == 'ＪＲ東海道本線(米原～神戸)' ? 'ＪＲ東海道本線' : ($trafficLine->line_name ?? '');
            $data['riyoEki1EnsenCode'] = $line->line_id ?? '';
            $data['riyoEki1EkiName'] = $line->station_name ?? '';
            $data['riyoEki1EkiCode'] = $line->station_id ?? '';

        }
        if ($article->sub_traffic1 == 1 && is_numeric($article->sub_traffic1_time)) {
            $data['riyoEki1EkiToho'] = $article->sub_traffic1_time;
        }

        if ($article->sub_traffic1 == 2 &&
            !empty($article->sub_traffic1_bus_time) &&
            !empty($article->sub_traffic1_bus) &&
            is_numeric($article->sub_traffic1_bus_walk)) {
            $data['busRiyo1BusJosha'] = $article->sub_traffic1_bus_time;
            $data['busRiyo1BusteiName'] = $article->sub_traffic1_bus;
            $data['busRiyo1BusteiTohoFun'] = $article->sub_traffic1_bus_walk;
        }

        // 利用駅２
        if (!empty($article->sub_traffic2_line) &&
            !empty($article->sub_traffic2_station)) {
//            $trafficLineName = $article->sub_traffic2_line;
//            $trafficStationName = $article->sub_traffic2_station;
//
//            $trafficStationName = str_replace('JR', 'ＪＲ', $trafficStationName);
//            if($trafficStationName == '瓦ケ浜'){
//                $trafficStationName = '瓦ヶ浜';
//            }
//            if($trafficStationName == '石破'){
//                $trafficStationName = '石場';
//            }
//
//            $trafficLine = AtHomeConverter::getTrafficLineCode($trafficLineName, $trafficStationName);
//            $trafficLineCode = '';
//            $trafficStationCode = '';
//            if(!empty($trafficLine)){
//                $trafficLineCode = $trafficLine[0]->line_id;
//                $trafficLineName = $trafficLine[0]->line_name;
//                foreach ($trafficLine as $trafficStation){
//                    if(strpos($trafficStationName, $trafficStation->station_name) !== false){
//                        $trafficStationCode = $trafficStation->station_id;
//                        break;
//                    }
//                }
//            }
//
//            $data['riyoEki2EnsenName'] = $article->sub_traffic2_line;
//            $data['riyoEki2EnsenCode'] = $trafficLineCode;
//            $data['riyoEki2EkiName'] = $article->sub_traffic2_station;
//            $data['riyoEki2EkiCode'] = $trafficStationCode;
//
//            if(empty($trafficLineCode) || empty($trafficStationCode)) {
//                $data['riyoEki2EnsenCode'] = '';
//                $data['riyoEki2EkiCode'] = '';
//            }

            $line = AtHomeConverter::getTrafficLineCode($article->sub_traffic2_line, $article->sub_traffic2_station);
            $data['riyoEki2EnsenName'] = $line->line_name ?? '';
            $data['riyoEki2EnsenCode'] = $line->line_id ?? '';
            $data['riyoEki2EkiName'] = $line->station_name ?? '';
            $data['riyoEki2EkiCode'] = $line->station_id ?? '';
        }

        if ($article->sub_traffic2 == 1 && is_numeric($article->sub_traffic2_time)) {
            $data['riyoEki2EkiToho'] = $article->sub_traffic2_time;
        }

        if ($article->sub_traffic2 == 2 &&
            !empty($article->sub_traffic2_bus_time) &&
            !empty($article->sub_traffic2_bus) &&
            is_numeric($article->sub_traffic2_bus_walk)) {
            $data['busRiyo2BusJosha'] = $article->sub_traffic2_bus_time;
            $data['busRiyo2BusteiName'] = $article->sub_traffic2_bus;
            $data['busRiyo2BusteiTohoFun'] = $article->sub_traffic2_bus_walk;
        }

        // 価格
        $data['bukkenKakaku'] = $article->price;

        // 土地権利
        $LEASEHOLD_KIND_OPTIONS = [
            1 => '03', 2 => '06', 3 => '07', 4 => '07',
            5 => '02', 6 => '04', 7 => '05', 8 => '05'
        ];

        if(in_array($article->land_right, [2, 3])) {
            $leaseholdKind = Arr::get($LEASEHOLD_KIND_OPTIONS, $article->leasehold_kind ?? '');
            $data['tochiKenriCode'] = $leaseholdKind;

            if($article->land_rent == 1) {
                $data['shakuchiryo'] = $article->land_rent_val;
            } else {
                $data['shakuchiryoNashiFlag'] = 'true';
            }

            $data['tochiKenriShakuchiKikanYyyy'] = $article->leasehold_period_year;
            $data['tochiKenriShakuchiKikanMm'] = $article->leasehold_period_month;

            if($article->deposit_cost == 1) {
                $data['tochiKenriHoshokin'] = $article->deposit_cost_val;
            }

            if($article->right_cost == 1) {
                $data['tochiKenriKenrikin'] = $article->right_cost_val;
            }
        } else {
            $data['tochiKenriCode'] = '01';
        }

        // その他一時金
        $costIndex = 0;
        if($article->broadcasting == 1) {
            if($article->broadcasting_presence == 1) {
                $data['sonotaIchijikinIchiranElement['.$costIndex.'].ichijikinName'] = '有線放送に係る費用（初期費用）';
                $data['sonotaIchijikinIchiranElement['.$costIndex.'].ichijikinKingaku'] = $article->broadcasting_cost;
                $costIndex++;
            }

            if($article->broadcasting_fixed_presence == 1) {
                $data['sonotaIchijikinIchiranElement['.$costIndex.'].ichijikinName'] = '有線放送に係る費用（初期費用）';
                $data['sonotaIchijikinIchiranElement['.$costIndex.'].ichijikinKingaku'] = $article->broadcasting_fixed_cost;
                $costIndex++;
            }
        }

        if($article->internet == 1) {
            if($article->internet_presence == 1) {
                $data['sonotaIchijikinIchiranElement['.$costIndex.'].ichijikinName'] = 'インターネットに係る費用（初期費用）';
                $data['sonotaIchijikinIchiranElement['.$costIndex.'].ichijikinKingaku'] = $article->internet_cost;
                $costIndex++;
            }

            if($article->internet_fixed_presence == 1) {
                $data['sonotaIchijikinIchiranElement['.$costIndex.'].ichijikinName'] = 'インターネットに係る費用（初期費用）';
                $data['sonotaIchijikinIchiranElement['.$costIndex.'].ichijikinKingaku'] = $article->internet_fixed_cost;
                $costIndex++;
            }
        }

        if($article->catv == 1) {
            if($article->catv_presence == 1) {
                $data['sonotaIchijikinIchiranElement['.$costIndex.'].ichijikinName'] = 'CATVに係る費用（初期費用）';
                $data['sonotaIchijikinIchiranElement['.$costIndex.'].ichijikinKingaku'] = $article->catv_cost;
                $costIndex++;
            }

            if($article->catv_fixed_presence == 1) {
                $data['sonotaIchijikinIchiranElement['.$costIndex.'].ichijikinName'] = 'CATVに係る費用（初期費用）';
                $data['sonotaIchijikinIchiranElement['.$costIndex.'].ichijikinKingaku'] = $article->catv_fixed_cost;
                $costIndex++;
            }
        }

        $COUNCIL_NAMES = [
            1 => '町会費', 2 => '町内会費', 3 => '自治会費'
        ];

        if($article->council > 0 &&
            $article->council_presence == 1) {
            $councilName = Arr::get($COUNCIL_NAMES, $article->council ?? '');

            $data['sonotaIchijikinIchiranElement['.$costIndex.'].ichijikinName'] = '町会費など'.(!empty($councilName) ? '（'.$councilName.'）' : '');
            $data['sonotaIchijikinIchiranElement['.$costIndex.'].ichijikinKingaku'] = $article->council_cost;
            $costIndex++;
        }

        $data['sonotaIchijikinUmuFlag'] = $costIndex > 0 ? 0 : 1;

        // 引き渡し方法（状況）

        // 建築条件
        if($article->land_condition == 1) {
            $data['kenchikuJoken'] = 'true';
        } else {
            $data['kenchikuJoken'] = '';
            $data['jokenNadoKubun'] = 3;
        }

        // ランニングコスト
        $ANOTHER_COST_UNIT_OPTIONS = [
            1 => 1, 2 => 2, 3 => 2
        ];
        /*
        if (!empty($article->another_cost_name1) &&
            is_numeric($article->another_cost1) &&
            is_numeric($article->another_cost_unit1)) {
            $data['sonotaRunningIchiranElement[0].sonotaRunningName'] = $article->another_cost_name1;
            $data['sonotaRunningIchiranElement[0].sonotaRunningGetsugaku'] = $article->another_cost1;

            $anotherCodeUnit1 = Arr::get($ANOTHER_COST_UNIT_OPTIONS, $article->another_cost_unit1 ?? '');
            $data['sonotaRunningIchiranElement[0].sonotaRunningShiharaiTani'] = $anotherCodeUnit1;
        }

        if (!empty($article->another_cost_name2) &&
            is_numeric($article->another_cost2) &&
            is_numeric($article->another_cost_unit2)) {
            $data['sonotaRunningIchiranElement[1].sonotaRunningName'] = $article->another_cost_name2;
            $data['sonotaRunningIchiranElement[1].sonotaRunningGetsugaku'] = $article->another_cost2;

            $anotherCodeUnit2 = Arr::get($ANOTHER_COST_UNIT_OPTIONS, $article->another_cost_unit2 ?? '');
            $data['sonotaRunningIchiranElement[1].sonotaRunningShiharaiTani'] = $anotherCodeUnit2;
        }
*/
        $data['sonotaRunningIchiranElement[0].sonotaRunningName'] = '';
        $data['sonotaRunningIchiranElement[1].sonotaRunningName'] = '';
        $data['sonotaRunningIchiranElement[0].sonotaRunningGetsugaku'] = '';
        $data['sonotaRunningIchiranElement[1].sonotaRunningGetsugaku'] = '';
        // 温泉
        if(in_array($article->spring, [1, 2])) {
            $data['onsenHikikomiJokyoCode'] = [1, 2, 3];
            $data['onsenHikikomiZumiCode'] = [1, 2];
            $data['onsenRiyoKeitaiCode'] = [1, 2, 3, 4, 5];

            if($article->spring_presence == 1) {
                $data['onsenHiyoTo'] = $article->spring_cost;
            }
        }

        // 土地面積
        if($article->land_area != 0) {
            $data['tochiKeisokuHoshiki'] = $article->land_area;
        }

        $data['tochiMenseki'] = $article->land_area_val;

        // 私道負担面積
        if($article->road_burden != 3) {
            if($article->road_burden != 0) {
                $data['shidoFutanKubun'] = 2;
                $data['shidoMenseki'] = $article->road_burden_area;
                if ($article->road_burden != 1) {
                    $data['shidofutanFutanwariaiBunshi'] = $article->road_numerator;
                    $data['shidofutanFutanwariaiBunbo'] = $article->road_denominator;
                }
            } else {
                $data['shidoFutanKubun'] = 1;
            }
        }

        // セットバック
        if(in_array($article->set, [2, 3])) {
            if ($article->set == 3) {
                $data['tochimensekiSetbackSumiFlag'] = 'true';
            } else {
                $data['tochimensekiSetbackYoFlag'] = 'true';
            }
            $data['tochimensekiSetbackMenseki'] = $article->set_area;
        }

        if ($article->land_condition1) {
            $data['chiseiCode'] = '05';
            if ($article->land_condition_unit1 == 2) {
                $data['keishachiMenseki'] = $article->land_condition_area1;
            }
            if ($article->land_condition_unit1 == 3) {
                $data['keishachiWariai'] = $article->land_condition_area1;
            }
        }

        if(in_array($article->land_delivery, [1, 2, 3])) {
            if ($article->land_delivery == 1) {
                $data['hikiwatashiCode'] = '01';
            }
            if ($article->land_delivery == 2) {
                $data['hikiwatashiCode'] = '02';
            }
            if ($article->land_delivery == 3) {
                $data['hikiwatashiCode'] = '04';
                $data['hikiwatashiJikiYyyy'] = $article->delivery_year;
                $data['hikiwatashiJikiMm'] = $article->delivery_month;
            }
        }

        // 建ぺい率
        $data['kenpeiRitsu'] = $article->building_rate > 100 ? 100 : $article->building_rate;

        // 容積率
        $data['yosekiRitsu'] = $article->volume_rate;

        // 開発許可番号

        // 接道状況
        $LAND_DIRECTION_OPTIONS = [
            1 => '01', 2 => '02', 3 => '03', 4 => '04',
            5 => '05', 6 => '06', 7 => '07', 8 => '08',
        ];

        foreach(range(1, 3) as $i) {
            $landDirection = Arr::get($LAND_DIRECTION_OPTIONS, $article->{'land_direction'.$i} ?? '');
            $data['setsudoJokyoIchiranElement['.($i -  1).'].setsudoJokyoHoi'] = $landDirection;

            $roadWidth = $article->{'road_width'.$i};
            $roadWidth = is_numeric($roadWidth) ? number_format($roadWidth, 1) : null;
            $data['setsudoJokyoIchiranElement['.($i -  1).'].setsudoJokyoHaba'] = $roadWidth;

            if(!empty($article->{'land_kind'.$i})) {
                $data['setsudoJokyoIchiranElement['.($i -  1).'].setsudoJokyoKodoShidoKubun'] = $article->{'land_kind'.$i};
            }

            $frontage = $article->{'frontage'.$i};
            $frontage = is_numeric($frontage) ? number_format($frontage, 1) : null;
            $data['setsudoJokyoIchiranElement['.($i -  1).'].setsudoJokyoSetsumen'] = $frontage;
        }

        // 都市計画
        $CITY_PLAN_OPTIONS = [
            1 => '01', 2 => '02', 3 => '03', 4 => '04', 5 => '05'
        ];

        $cityPlan = Arr::get($CITY_PLAN_OPTIONS, $article->city_plan ?? '');
        $data['toshiKeikakuCode'] = $cityPlan;

        // 用途地域
        $USE_AREA_OPTIONS = [
            1 => '11', 10 => '12', 11 => '13', 2 => '14', 12 => '15',
            3 => '16', 13 => '17', 4 => '04', 5 => '05', 6 => '06',
            7 => '07', 8 => '08', 14 => '18', 99 => '09',
        ];

        $useArea = Arr::get($USE_AREA_OPTIONS, $article->use_area ?? '');
        $data['yotoChikiCode'] = $useArea;
        if ($article->use_area != $article->land_use) {
            $data['yotoChikiCode2'] = Arr::get($USE_AREA_OPTIONS, $article->land_use ?? '');
        }

        // if($article->use_area != $article->land_use) {
        //     $landUse = Arr::get($USE_AREA_OPTIONS, $article->land_use ?? '');
        //     $data['yotoChikiCode'] = $landUse;
        // }

        // 最適用途
        $data['saitekiYotoCode'] = '01';

        //地目
        switch ($article->ground) {
            case 1:
                $data['chimokuCode'] = "01";
                break;
            case 2:
                $data['chimokuCode'] = "02";
                break;
            case 3:
                $data['chimokuCode'] = "03";
                break;
            case 4:
                $data['chimokuCode'] = "04";
                break;
            case 5:
                $data['chimokuCode'] = "05";
                break;
            case 6:
                $data['chimokuCode'] = "10";
                break;
            case 7:
                $data['chimokuCode'] = "09";
                break;
            default:
                $data['chimokuCode'] = "";
                break;
        }

        //設備・機能
        $data['setsubiTokkiKubunJikoCode'] = [];

        // 地勢
        $horei = '';
        // 法令制限等
        $LAW_RESTRICTIONS = [
            1 => '文化財保護法', 2 => '古都保存法', 3 => '景観法', 4 => '密集市街地整備法', 5 => '航空法',
            6 => '河川法', 7 => '砂防法', 8 => '農地法届出要', 9 => '安全条例', 10 => '宅地造成工事規制区域',
            11 => '急傾斜地崩壊危険区域', 12 => '高度地区', 13 => '高度利用地区', 14 => '中高層階住居専用地区', 15 => '構想住居誘導地区',
            16 => '防火地域', 17 => '準防火地域', 18 => '風致地区', 19 => '景観地区', 20 => '準景観地区',
            21 => '観光地区', 22 => '歴史風土保存地区', 23 => '伝統的建造物群保存地区', 24 => '特定街区', 25 => '特別用途制限地域',
            26 => '文教地区', 27 => '都市再生特別地区', 28 => '特別緑地保全地区', 29 => '高さ最高限度有', 30 => '高さ最低限度有',
            31 => '建ぺい率最低限度有', 32 => '容積率最低限度有', 33 => '敷地面積最高限度有', 34 => '敷地面積最低限度有', 35 => '建物面積最高限度有',
            36 => '建物面積最低限度有'
        ];

        $lawRestrictions = RelationLawrestriction::where('article_id', $article->building_id)
            ->pluck('item_id');

        $lawRestrictionNames = $lawRestrictions->map(function($itemId) use ($LAW_RESTRICTIONS) {
            return Arr::get($LAW_RESTRICTIONS, $itemId ?? '');
        });

        $lawRestrictionNames = $lawRestrictionNames->filter();

        $horei .= Str::limit($lawRestrictionNames->implode(','), 60, '');


        $LAW_OTHER_RESTRICTIONS = [
            1 => '一部都市計画道路', 2 => '一部協定通路', 3 => '日影制限有', 4 => '隅切り有', 5 => '接道と段差有',
            6 => '敷地内段差有', 7 => '壁面後退有', 8 => '建築協定有', 9 => '崖上につき建築制限有', 10 => '崖下につき建築制限有', 11 => '不整形地'
        ];

        $lawotherRestrictions = RelationOtherrestriction::where('article_id', $article->building_id)
            ->pluck('item_id');

        $lawotherRestrictionNames = $lawotherRestrictions->map(function($itemId) use ($LAW_OTHER_RESTRICTIONS) {
            return Arr::get($LAW_OTHER_RESTRICTIONS, $itemId ?? '');
        });

        $lawotherRestrictionNames = $lawotherRestrictionNames->filter();
        if($horei != ''){
                $horei .= ',';
        }
        $horei .= Str::limit($lawotherRestrictionNames->implode(','), 60, '');
        /////////////////////
        if($article->other_comment!=''){
            $horei .= ', '.$article->other_comment;
        }
        $data['horeiSeigenNadoSonotaSeigen'] = $horei;

        // 現況
        $CURRENT_STATUS_OPTIONS = [
            1 => '01', 2 => '04', 3 => '13', 4 => '02', 5 => '05', 6 => '07', 7 => '09', 8 => '10', 9 => '11', 0 => '13'
        ];

        $currentStatus = Arr::get($CURRENT_STATUS_OPTIONS, $article->current_status ?? '');
        $data['genkyoCode'] = $currentStatus;
        if($currentStatus == '09' || $currentStatus == '11'){
            $data['kenchikuKakuninNumber'] = $article->architecture_no;
        }
        // 引き渡し時期

        // 取引態様
        $COMPANY_MANNER_OPTIONS = [
            1 => '01', 2 => '01', 3 => '05', 4 => '04',
            5 => '06', 6 => '03', 7 => '08', 8 => '03', 9 => '08'
        ];

        $companyManner = Arr::get($COMPANY_MANNER_OPTIONS, $article->company_manner ?? '');
        $data['torihikitaiyoCode'] = $companyManner;
        $data['sakimonoKubun'] = '';
        $data['sakimonoYyyy'] = '';
        $data['sakimonoMm'] = '';
        $data['sakimonoDd'] = '';
        $data['sakimonoMotozukeShogo'] = '';
        $data['sakimonoMotozukeTantosha'] = '';
        $data['sakimonoMotozukeTel'] = '';
        $data['kyakuzukeHoshuNashiFlag'] = 'true';
        if($article->company_manner == 9){
            $data['sakimonoKubun'] = 'true';

            $vendor = RelationVendorArticle::getVendorDataByRainsNo($article->building_id)->first();

            $data['sakimonoMotozukeShogo'] = $vendor->name;
            $data['sakimonoMotozukeTantosha'] = $vendor->charge;
            $data['sakimonoMotozukeTel'] = $vendor->vendor_tel1;

            if($article->conf_day!=''){
                $ad_day = explode('-', $article->conf_day);

                $data['sakimonoYyyy'] = $ad_day[0];
                $data['sakimonoMm'] = $ad_day[1];
                $data['sakimonoDd'] = $ad_day[2];
            }
            $data['kyakuzukeHoshuNashiFlag'] = '';
        }
        // 設備・機能

        // 備考
//        $memo1 = Str::limit($article->memo1, 500, '');
//        $data['athomeBiko'] = AtHomeConverter::filterMemo($memo1);

        // おすすめコメント
        $comment = mb_substr($article->athome_comment, 0, 100);
        $comment = trim(preg_replace('/\s+/', ' ', $comment));

        $data['staffComment'] = $comment;

        /*if($article->section == '' || $article->section == 1){
            $data['bunjoTakuchiUmu'] = 0;
        }else{
            $data['bunjoTakuchiUmu'] = 1;
            $data['hanbaiKosu'] = $article->section;
        }*/
        $data['bunjoTakuchiUmu'] = 0;
        // エンド向けアピール
        $data['baibaiSenyoCatchcopy'] = mb_substr($article->athome_appeal, 0, 500);
        //管理番号
        $data['jishaKanriNumber'] = $article->building_id;

        // 画像１
        // 種別
        // キャプション
        // 画像２～
        // 種別
        // キャプション
        // 周辺環境１
        // 周辺環境１
        // 周辺環境１
        // 周辺環境１

        // Thiếu
        // その他交通
        // 先物区分

        // 客付手数料
        $data['ekiJidoshaFun'] = "";
        $data['ekiJidoshaFun'] = "";
        //$data['kyakuzukeHoshuNashiFlag'] = 'true';

        return $data;
    }
}
