This commit is contained in:
weiz 2024-03-16 14:36:22 +08:00
parent 77a292afcd
commit 59234160a5
3 changed files with 55 additions and 27 deletions

View File

@ -10,6 +10,9 @@ use app\common\model\DataReception;
use app\common\model\dept\Dept; use app\common\model\dept\Dept;
use app\common\model\task\TaskAllocation; use app\common\model\task\TaskAllocation;
use app\common\model\TaskHandlingThreeLevelReview; use app\common\model\TaskHandlingThreeLevelReview;
use app\common\model\zjzx_finance\ZjzxInvoice;
use app\common\model\zjzx_finance\ZjzxRefund;
use app\common\model\zjzx_finance\ZjzxSettlement;
use think\facade\Db; use think\facade\Db;
class CostConsultationReportController extends BaseAdminController class CostConsultationReportController extends BaseAdminController
@ -19,31 +22,46 @@ class CostConsultationReportController extends BaseAdminController
// 造价合同台账 // 造价合同台账
public function cost_approved_project_list() public function cost_approved_project_list()
{ {
$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;
$contract_name = $params['contract_name'] ?? ''; $where = [];
$contract_num = $params['contract_num'] ?? ''; if(!empty($params['contract_name'])){
$part_a = $params['part_a'] ?? ''; $contract_ids1 = CostApprovedProject::where('contract_name','like','%'.$params['contract_name'].'%')->column('id');
$query = Db::name('cost_approved_project')->where(function ($query) use ($contract_name, $contract_num, $part_a) { $where[] = ['contract_id','in',$contract_ids1];
if ($contract_name) { }
$query->where('contract_name', 'like', '%' . $contract_name . '%'); if(!empty($params['contract_num'])){
} $contract_ids2 = CostApprovedProject::where('contract_num','like','%'.$params['contract_num'].'%')->column('id');
if ($contract_num) { $where[] = ['contract_id','in',$contract_ids2];
$query->where('contract_num', 'like', '%'.$contract_num.'%'); }
} if(!empty($params['part_a'])){
if ($part_a) { $contract_ids3 = CostApprovedProject::where('part_a','like','%'.$params['part_a'].'%')->column('id');
$query->where('part_a', 'like', '%' . $part_a . '%'); $where[] = ['contract_id','in',$contract_ids3];
} }
}); $lists = CostProject::field('id,contract_id')->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function($data){
$count = $query->count(); $contract = CostApprovedProject::field('contract_name,contract_num,contract_type,part_a,part_b,create_time,start_date,end_date,project_money,money')
$lists = $query->page($page_no, $page_size)->select()->each(function ($item) { ->where('id',$data['contract_id'])->findOrEmpty();
$item['start_date'] = date('Y-m-d', $item['start_date']); $data['contract_name'] = $contract['contract_name'];
$item['end_date'] = date('Y-m-d', $item['end_date']); $data['contract_num'] = $contract['contract_num'];
$item['due_time'] = date('Y-m-d', $item['due_time']); $data['contract_type'] = $contract->contract_type_text;
$item['create_date'] = date('Y-m-d', $item['create_date']); $data['part_a'] = $contract['part_a'];
return $item; $data['part_b'] = $contract['part_b'];
}); $data['create_time'] = $contract['create_time'];
$data['start_date'] = $contract['start_date'];
$data['end_date'] = $contract['end_date'];
$data['project_money'] = $contract['project_money'];
$data['sign_money'] = $contract['money'];
//开票金额
$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_settlement_amount'] = ZjzxSettlement::where('project_id',$data['id'])->sum('amount');
//应收账款
$data['total_collection_amount'] = $contract['money'] - $data['total_refund_amount'];
unset($data['contract_id'],$data['id']);
})->toArray();
$count = CostProject::where($where)->count();
return $this->success('成功', compact('count', 'lists', 'page_no', 'page_size')); return $this->success('成功', compact('count', 'lists', 'page_no', 'page_size'));
} }

View File

@ -88,6 +88,9 @@ class ZjzxInvoiceController extends BaseAdminController
$result = ZjzxInvoiceLogic::detail($params); $result = ZjzxInvoiceLogic::detail($params);
return $this->data($result); return $this->data($result);
} }
public function datas()
{
return $this->data(ZjzxInvoiceLogic::datas());
}
} }

View File

@ -134,4 +134,11 @@ class ZjzxInvoiceLogic extends BaseLogic
$data['total_refund_amount'] = ZjzxRefund::where('project_id',$data['project_id'])->sum('amount'); $data['total_refund_amount'] = ZjzxRefund::where('project_id',$data['project_id'])->sum('amount');
return $data->toArray(); return $data->toArray();
} }
public static function datas()
{
return ZjzxInvoice::field(['id','invoice_code'])->order(['id' => 'desc'])->select()->each(function($data){
$data['projectinfo'] = 'ID' . $data['id'] . ' / 编号:' . $data['invoice_code'];
})->toArray();
}
} }