update
This commit is contained in:
parent
59234160a5
commit
9c1789c8b7
@ -68,32 +68,30 @@ class CostConsultationReportController extends BaseAdminController
|
||||
// 造价项目信息汇总
|
||||
public function cost_project_report()
|
||||
{
|
||||
$page_no = $this->request->param('page_no', 1);
|
||||
$page_size = $this->request->param('page_size', 15);
|
||||
$params = $this->request->param();
|
||||
$project_name = $params['project_name'] ?? '';
|
||||
$contract_name = $params['contract_name'] ?? '';
|
||||
$aunit = $params['aunit'] ?? '';
|
||||
|
||||
$query = Db::name('cost_project')->alias('p')->leftJoin('cost_approved_project c', 'p.contract_id=c.id')->where(function ($query) use ($project_name, $contract_name, $aunit) {
|
||||
if ($contract_name) {
|
||||
$query->where('c.contract_name', 'like', '%' . $contract_name . '%');
|
||||
}
|
||||
if ($project_name) {
|
||||
$query->where('p.project_name', 'like', '%' . $project_name . '%');
|
||||
}
|
||||
if ($aunit) {
|
||||
$query->where('p.aunit', 'like', '%' . $aunit . '%');
|
||||
}
|
||||
});
|
||||
$count = $query->count();
|
||||
$lists = $query->append(['dept'])->withAttr('dept', function ($value, $data) {
|
||||
return Dept::where('id', $data['depar'])->findOrEmpty()->toArray();
|
||||
})->page($page_no, $page_size)->select()->each(function ($item) {
|
||||
$item['start_date'] = date('Y-m-d', $item['start_date']);
|
||||
$item['end_date'] = date('Y-m-d', $item['end_date']);
|
||||
return $item;
|
||||
});
|
||||
$params = $this->request->get();
|
||||
$page_no = !empty($params['page_no']) ? $params['page_no'] : 1;
|
||||
$page_size = !empty($params['page_size']) ? $params['page_size'] : 15;
|
||||
$where = [];
|
||||
if(!empty($params['contract_name'])){
|
||||
$contract_ids1 = CostApprovedProject::where('contract_name','like','%'.$params['contract_name'].'%')->column('id');
|
||||
$where[] = ['contract_id','in',$contract_ids1];
|
||||
}
|
||||
if(!empty($params['project_name'])){
|
||||
$where[] = ['project_name','like','%'.$params['project_name'].'%'];
|
||||
}
|
||||
$lists = CostProject::field('id,contract_id,project_num,project_name,starting,endtime,types,invest')
|
||||
->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function($data){
|
||||
$contract = CostApprovedProject::field('contract_name')->where('id',$data['contract_id'])->findOrEmpty();
|
||||
$data['contract_name'] = $contract['contract_name'];
|
||||
$data['types'] = $data->types_text;
|
||||
//开票金额
|
||||
$data['total_invoice_amount'] = ZjzxInvoice::where('project_id',$data['id'])->sum('apply_amount');
|
||||
//到账金额
|
||||
$data['total_refund_amount'] = ZjzxRefund::where('project_id',$data['id'])->sum('amount');
|
||||
//提成金额
|
||||
$data['total_commission_amount'] = 0;
|
||||
})->toArray();
|
||||
$count = CostProject::where($where)->count();
|
||||
return $this->success('成功', compact('count', 'lists', 'page_no', 'page_size'));
|
||||
}
|
||||
|
||||
|
@ -15,6 +15,7 @@
|
||||
namespace app\adminapi\validate\cost_project;
|
||||
|
||||
|
||||
use app\common\model\dict\DictData;
|
||||
use app\common\validate\BaseValidate;
|
||||
|
||||
|
||||
@ -120,4 +121,10 @@ class CostProjectValidate extends BaseValidate
|
||||
return true;
|
||||
}
|
||||
|
||||
public function checkTypes($value): bool|string
|
||||
{
|
||||
$dict = DictData::where('type_value','consultation_type')->column('value');
|
||||
return !in_array($value,$dict) ? '咨询类型数据值无效' : true;
|
||||
}
|
||||
|
||||
}
|
@ -17,6 +17,7 @@ namespace app\common\model\cost_project;
|
||||
|
||||
use app\common\model\auth\Admin;
|
||||
use app\common\model\BaseModel;
|
||||
use app\common\model\dict\DictData;
|
||||
use think\model\concern\SoftDelete;
|
||||
|
||||
|
||||
@ -41,6 +42,11 @@ class CostProject extends BaseModel
|
||||
return $this->hasOne(CostProjectContract::class, 'id','contract_id');
|
||||
}
|
||||
|
||||
public function getTypesTextAttr($value,$data){
|
||||
$dict = DictData::where('type_value','consultation_type')->column('name','value');
|
||||
return !empty($data['types']) ? $dict[$data['types']] : '';
|
||||
}
|
||||
|
||||
public function getPersonAttr($value){
|
||||
return !empty($value) ? json_decode($value,true) : '';
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user