'json', 'transaction_situation' => 'json', 'transaction_date' => 'json', 'area_situation' => 'json', 'equity_situation' => 'json', 'matter_situation' => 'json', 'total_situation' => 'json', ]; //交易实例 public function getTransactionInstance($arr, $data) { $result = []; $surveyInfo = Db::name('survey')->alias('x')->join('survey_detail d', 'x.id=d.survey_id')->where('x.property_cert_info_id', $data['property_cert_info_id'])->field('floor_no')->find(); $priceInfo = Db::name('return_price')->where('property_cert_info_id', $data['property_cert_info_id'])->order('id', 'desc')->field('eva_unit_price')->find(); $traffic = '交通便利'; $matching = '配套设施齐全'; $transaction = '正常买卖交易'; $remark = '以上三个案例在交易日期、交易情况、区位状况、权益状况及实物状况上与估价对象具有较强的可比性和相关性'; foreach ($arr as $key => $value) { $res = ['one' => '', 'two' => '', 'three' => '']; switch ($value) { case 'building_name': $res = ['one' => $data['building_name'], 'two' => $data['building_name'], 'three' => $data['building_name']]; break; case 'land_location': $res = ['one' => $data['land_location'], 'two' => $data['land_location'], 'three' => $data['land_location']]; break; case 'traffic': $res = ['one' => $traffic, 'two' => $traffic, 'three' => $traffic]; break; case 'matching': $res = ['one' => $matching, 'two' => $matching, 'three' => $matching]; break; case 'transaction': $res = ['one' => $transaction, 'two' => $transaction, 'three' => $transaction]; break; case 'transaction_date': $res = ['one' => date('Y年m月', strtotime(" last day of -3 month", time())), 'two' => date('Y年m月', strtotime(" last day of -2 month", time())), 'three' => date('Y年m月', strtotime(" last day of -1 month", time()))]; break; case 'floor': $res = [ 'one' => isset($surveyInfo['floor_no'])&&!empty($surveyInfo['floor_no'])?$surveyInfo['floor_no'].'层': '', 'two' => isset($surveyInfo['floor_no'])&&!empty($surveyInfo['floor_no'])?$surveyInfo['floor_no'].'层': '', 'three' => isset($surveyInfo['floor_no'])&&!empty($surveyInfo['floor_no'])?$surveyInfo['floor_no'].'层': '' ]; break; case 'price': $res = ['one' => number_format(intval((1*$priceInfo['eva_unit_price']) - 200)), 'two' => number_format(intval((1*$priceInfo['eva_unit_price']))), 'three' => number_format(intval((1*$priceInfo['eva_unit_price']) + 200))]; break; case 'remark': $res = ['value' => $remark]; break; } $result[$value] = $res; } return $result; } //交易情况 public function getTransactionSituation($arr) { $result = []; $transaction = '正常买卖交易'; $analysis = '以正常交易价格为基准,设为100。本评估中,所选案例均为正常交易,所以分值均为100。'; foreach ($arr as $key => $value) { $res = ['name' => '', 'one' => '', 'two' => '', 'three' => '']; switch ($value) { case 'transaction': $res = ['name' => $transaction, 'one' => $transaction, 'two' => $transaction, 'three' => $transaction]; break; case 'analysis': $res = ['value' => $analysis]; break; case 'evaluate': $res = ['name' => '100', 'one' => '100', 'two' => '100', 'three' => '100']; break; } $result[$value] = $res; } return $result; } //交易日期 public function getTransactionDate($arr, $reportid) { $result = []; $info = Db::name('report')->field('appraisal_time')->where('id', $reportid)->find(); $appraisal_time = !empty($info['appraisal_time']) ? strtotime($info['appraisal_time']) : time(); $assessment_date = !empty($info['appraisal_time']) ? date('Y年m月', strtotime($info['appraisal_time'])) : date('Y年m月', time()); $analysis = '以可比案例交易当时日期为基准,设为100。本评估中,所选案例交易时间与价值时点相近,市场变化或波动较小,所以分值均为100。'; foreach ($arr as $key => $value) { $res = ['name' => '', 'one' => '', 'two' => '', 'three' => '']; switch ($value) { case 'date': $res = ['name' => $assessment_date, 'one' => date('Y年m月', strtotime(" last day of -3 month", $appraisal_time)), 'two' => date('Y年m月', strtotime(" last day of -2 month", $appraisal_time)), 'three' => date('Y年m月', strtotime(" last day of -1 month", $appraisal_time))]; break; case 'analysis': $res = ['value' => $analysis]; break; case 'evaluate': $res = ['name' => '100', 'one' => '100', 'two' => '100', 'three' => '100']; break; } $result[$value] = $res; } return $result; } //区位状况 public function getAreaSituation($arr) { $result = []; foreach ($arr as $key => $value) { $res = ['name' => '', 'one' => '', 'two' => '', 'three' => '']; switch ($value) { case 'centre': $res = ['name' => '10', 'one' => '10', 'two' => '10', 'three' => '10']; break; case 'gather': $res = ['name' => '20', 'one' => '20', 'two' => '20', 'three' => '20']; break; case 'parking': $res = ['name' => '10', 'one' => '10', 'two' => '10', 'three' => '10']; break; case 'scenery': $res = ['name' => '10', 'one' => '10', 'two' => '10', 'three' => '10']; break; case 'service': $res = ['name' => '10', 'one' => '10', 'two' => '10', 'three' => '10']; break; case 'station': $res = ['name' => '10', 'one' => '10', 'two' => '10', 'three' => '10']; break; case 'transit': $res = ['name' => '10', 'one' => '10', 'two' => '10', 'three' => '10']; break; case 'security': $res = ['name' => '10', 'one' => '10', 'two' => '10', 'three' => '10']; break; case 'facilities': $res = ['name' => '10', 'one' => '10', 'two' => '10', 'three' => '10']; break; case 'total': $res = ['name' => '100', 'one' => '100', 'two' => '100', 'three' => '100']; break; } $result[$value] = $res; } return $result; } //权益状况 public function getEquitySituation($arr) { $result = []; $house_text = '标准分为40分,所选案例与估价对象均为完全产权,单独所有,差异小,对市场价值应下影响小,所以不作修正,评分均为40分。'; $land_text = '标准分为40分,所选案例与估价对象的土地剩余使用年限、建筑容积率等差异较小,根据市场调研,以上参数在差异较小的情况下对市场交易价值影响较小,所以不作修正,评分均为40分。'; $interest_text = '标准分为20分,所选案例与估价对象的均有抵押权,根据市场调研,抵押物业交易对市场交易价值影响较小,所以不作修正,评分均为20分。'; foreach ($arr as $key => $value) { $res = ['name' => '', 'one' => '', 'two' => '', 'three' => '', 'text' => '']; switch ($value) { case 'house': $res = ['name' => '40', 'one' => '40', 'two' => '40', 'three' => '40', 'text' => $house_text]; break; case 'land': $res = ['name' => '40', 'one' => '40', 'two' => '40', 'three' => '40', 'text' => $land_text]; break; case 'interest': $res = ['name' => '20', 'one' => '20', 'two' => '20', 'three' => '20', 'text' => $interest_text]; break; case 'total': $res = ['name' => '100', 'one' => '100', 'two' => '100', 'three' => '100']; break; } $result[$value] = $res; } return $result; } //实物状况 public function getMatterSituation($arr) { $result = []; foreach ($arr as $key => $value) { $res = ['name' => '', 'one' => '', 'two' => '', 'three' => '']; switch ($value) { case 'newness': $res = ['name' => '10', 'one' => '10', 'two' => '10', 'three' => '10']; break; case 'property_type': $res = ['name' => '10', 'one' => '8', 'two' => '10', 'three' => '12']; break; case 'direction': $res = ['name' => '20', 'one' => '20', 'two' => '20', 'three' => '20']; break; case 'floor': $res = ['name' => '20', 'one' => '20', 'two' => '20', 'three' => '20']; break; case 'scenery': $res = ['name' => '10', 'one' => '10', 'two' => '10', 'three' => '10']; break; case 'renovation': $res = ['name' => '10', 'one' => '10', 'two' => '10', 'three' => '10']; break; case 'equipment': $res = ['name' => '10', 'one' => '10', 'two' => '10', 'three' => '10']; break; case 'exterior_wall': $res = ['name' => '10', 'one' => '10', 'two' => '10', 'three' => '10']; break; case 'total': $res = ['name' => '100', 'one' => '98', 'two' => '100', 'three' => '102']; break; } $result[$value] = $res; } return $result; } //总体情况 public function getTotalSituation($arr, $data) { $result = []; $priceInfo = Db::name('return_price')->where('property_cert_info_id', $data['property_cert_info_id'])->order('id', 'desc')->field('eva_unit_price')->find(); $one = intval((1*$priceInfo['eva_unit_price']) - 200); $two = intval((1*$priceInfo['eva_unit_price'])); $three = intval((1*$priceInfo['eva_unit_price']) + 200); $text = '将可比案例修正后的价格按其与估价对象的可比程度取加权平均值作为比准价格,在权重的确定上以可比案例与估价对象可比性的相近程度进行取值,取整至百位。'; foreach ($arr as $key => $value) { $res = ['name' => '', 'one'=>'','two' => '', 'three' => '']; switch ($value) { case 'price': $res = ['name' => '','one'=>$one, 'two' => $two, 'three' => $three]; break; case 'transaction_situation': $res = ['name' => '100/100','one'=>'100/100', 'two' => '100/100', 'three' => '100/100']; break; case 'transaction_date': $res = ['name' => '100/100','one'=>'100/100', 'two' => '100/100', 'three' => '100/100']; break; case 'area_situation': $res = ['name' => '100/100','one'=>'100/100', 'two' => '100/100', 'three' => '100/100']; break; case 'equity_situation': $res = ['name' => '100/100','one'=>'100/100', 'two' => '100/100', 'three' => '100/100']; break; case 'matter_situation': $res = ['name' => '100/100','one'=>'100/98', 'two' => '100/100', 'three' => '100/102']; break; case 'correct_result': $res = ['name' => number_format($one * (100/100)),'one'=>number_format($one * (98/100)), 'two' => number_format($two), 'three' => number_format($three * (102/100))]; break; case 'weight': $res = ['name' => '1','one'=>'0.33', 'two' => '0.34', 'three' => '0.33']; break; case 'analysis_result': $res = ['value' => number_format($two), 'text' => $text]; break; } $result[$value] = $res; } return $result; } }