Files
pgserver3.0/pgserver/application/util/SimpleTemplate.php
annnj-company 130c1026c4 first commit
2026-04-17 18:29:53 +08:00

132 lines
5.5 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
//多套物业模板参数
namespace app\util;
use app\admin\exception\LogicException;
use app\model\Inquiry;
use app\model\Report;
use app\model\ReportDetail;
use app\model\Attachment;
use app\model\Property_cert_info;
use think\Db;
use think\Db\Where;
use think\facade\Env;
class SimpleTemplate
{
public function getValue($reportid) {
$reportInfo = Report::where('id', $reportid)->find();
$inquiryInfo = Inquiry::where('id', $reportInfo['quot_id'])->find();
$inquiryDetailInfo = Property_cert_info::where('quot_id', $reportInfo['quot_id'])->select();
$reportDetailInfoIndex = ReportDetail::where('property_cert_info_id', $inquiryDetailInfo[0]['id'])->find();
$valuerInfo = Db::name('valuer')->field('name,mobile,certificate_number,mark,certificate')->whereIn('id', [$reportInfo['appraiser_id'], $reportInfo['appraiser2_id']])->select();
//注册房地产估价师
$valuerName = '';
$valuerimg = [];
if (!empty($valuerInfo)) {
$i = 1;
foreach ($valuerInfo as &$value1) {
$valuerName .= $value1['name'] . '' . $value1['certificate_number'] . '<br/>';
$value1['nod'] = $i++;
if (!empty($value1['certificate'])) {
$valuerimg[] = $value1['certificate'];
}
}
}
$year = substr($reportInfo['report_no'], 0, 4);
$report_no = explode('-', $reportInfo['report_no']);
$numberings = substr($reportInfo['report_no'], 4, 10);
$suffix = substr($reportInfo['report_no'], 14);
$item_name = [];
foreach ($inquiryDetailInfo as $key => $value) {
$item_name[] = $value['property_full_name'];//项目名称
$reportDetailInfo = ReportDetail::where('property_cert_info_id', $value['id'])->find();
//估 价 结 果 明 细 表
$data = [];
$data['full_estate_name'] = $value['property_full_name'];
$data['size'] = $value['size'];
$data['unit_price'] = number_format($reportDetailInfo['eva_unit_price']);
$data['total_price'] = number_format($reportDetailInfo['eva_total_value']);
$appraiserData[] = $data;
//估价对象位置示意图
if (!empty($reportDetailInfo['loc_img_ids'])) {
$location_imgs_ids[] = $reportDetailInfo['loc_img_ids'];
}
//根据首套物业所在城市获取报告code
if (empty($code)) {
if ($value['city'] == '北京') {
$code = 'B';
} elseif ($value['city'] == '武汉') {
$code = 'C';
} else {
$code = 'A';
}
}
}
//第一页
$info['report_no'] = '深国中评字['.$year.$code.']第'.$numberings.'号'.$suffix;//估价报告编号
$info['client_name'] = $inquiryInfo['client_name'];//委托人
$usage_name = getDictionaryName('HOUSE_USAGE', $inquiryDetailInfo[0]['usage']);
// $info['item_name'] = implode('、', $item_name);//估价项目名称
$info['item_name'] = $reportDetailInfoIndex['land_location'] . $inquiryDetailInfo[0]['property_full_name'] . '一套' . $usage_name . '用途';//估价项目名称(首页)
$info['employee_name'] = $valuerName;//注册房地产估价师
$info['report_qrcode'] = $reportInfo['report_qrcode'];//防伪二维码
//第二页
$info['cost_date'] = !empty($reportInfo['valuation_time']) ? date('Y年m月d日', strtotime($reportInfo['valuation_time'])) : '';//价值时点
$info['gross_value_str'] = convertAmountToCn($reportInfo['eva_total_value'], $type = 1);//市场价值
$info['gross_value'] = number_format($reportInfo['eva_total_value']);//市场价值
$appraisal_time = !empty($reportInfo['appraisal_time']) ? explode('-', $reportInfo['appraisal_time']) : '';
$info['finish_date_cn'] = !empty($appraisal_time) ? numToWordone($appraisal_time[0]) .'年'. numToWordone(intval($appraisal_time[1])) .'月'. numToWordone(intval($appraisal_time[2])) . '日' : '';//二〇二〇年五月九日
// 简易报告有效期
$info['simple_valid'] = date('Y-m-d', strtotime("$appraisal_time +3 months"));
$info['appraiserData'] = $appraiserData;//估 价 结 果 明 细 表
$owner_name = $this->array_column($inquiryDetailInfo, 'owner_name');
$info['owner_name'] = implode('、', array_unique($owner_name));
//第三页
$attachmnet = new Attachment();
//物业位置图
$loc_img_ids = [];
if (!empty($location_imgs_ids)) {
foreach ($location_imgs_ids as $lk => $lv) {
$locationIds = explode(',', $lv);
$loc_img_ids[] = ['name' => numToWordone($lk + 1), 'info' => $attachmnet->getUrls($locationIds)];
}
}
$info['location_imgs'] = $loc_img_ids;
//估价师证件
$valuer_img = [];
if (!empty($valuerimg)) {
$valuer_img = $attachmnet->getUrls($valuerimg);
}
$info['valuer_img'] = $valuer_img;
$company_img = [
array('url' => Env::get('uploadFile.host_url') . DS . 'image' . DS .'business_license1.png'),
array('url' => Env::get('uploadFile.host_url') . DS . 'image' . DS .'business_license3.jpg')
];
$info['company_img'] = $company_img;
return $info;
}
//多位数组获取列数据
public function array_column($rows, $column_key, $index_key = null) {
$data = [];
foreach ($rows as $row) {
if (empty($index_key)) {
$data[] = $row[$column_key];
} else {
$data[$row[$index_key]] = $row[$column_key];
}
}
return $data;
}
}