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