From 59234160a5033161e6740c9ad2e305a9153ad177 Mon Sep 17 00:00:00 2001 From: weiz <736250432@qq.com> Date: Sat, 16 Mar 2024 14:36:22 +0800 Subject: [PATCH] update --- .../CostConsultationReportController.php | 68 ++++++++++++------- .../zjzx_finance/ZjzxInvoiceController.php | 7 +- .../logic/zjzx_finance/ZjzxInvoiceLogic.php | 7 ++ 3 files changed, 55 insertions(+), 27 deletions(-) diff --git a/app/adminapi/controller/CostConsultationReportController.php b/app/adminapi/controller/CostConsultationReportController.php index ce1b9ee82..010ef19e2 100644 --- a/app/adminapi/controller/CostConsultationReportController.php +++ b/app/adminapi/controller/CostConsultationReportController.php @@ -10,6 +10,9 @@ use app\common\model\DataReception; use app\common\model\dept\Dept; use app\common\model\task\TaskAllocation; 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; class CostConsultationReportController extends BaseAdminController @@ -19,31 +22,46 @@ class CostConsultationReportController extends BaseAdminController // 造价合同台账 public function cost_approved_project_list() { - $page_no = $this->request->param('page_no', 1); - $page_size = $this->request->param('page_size', 15); - $params = $this->request->param(); - $contract_name = $params['contract_name'] ?? ''; - $contract_num = $params['contract_num'] ?? ''; - $part_a = $params['part_a'] ?? ''; - $query = Db::name('cost_approved_project')->where(function ($query) use ($contract_name, $contract_num, $part_a) { - if ($contract_name) { - $query->where('contract_name', 'like', '%' . $contract_name . '%'); - } - if ($contract_num) { - $query->where('contract_num', 'like', '%'.$contract_num.'%'); - } - if ($part_a) { - $query->where('part_a', 'like', '%' . $part_a . '%'); - } - }); - $count = $query->count(); - $lists = $query->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']); - $item['due_time'] = date('Y-m-d', $item['due_time']); - $item['create_date'] = date('Y-m-d', $item['create_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['contract_num'])){ + $contract_ids2 = CostApprovedProject::where('contract_num','like','%'.$params['contract_num'].'%')->column('id'); + $where[] = ['contract_id','in',$contract_ids2]; + } + if(!empty($params['part_a'])){ + $contract_ids3 = CostApprovedProject::where('part_a','like','%'.$params['part_a'].'%')->column('id'); + $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){ + $contract = CostApprovedProject::field('contract_name,contract_num,contract_type,part_a,part_b,create_time,start_date,end_date,project_money,money') + ->where('id',$data['contract_id'])->findOrEmpty(); + $data['contract_name'] = $contract['contract_name']; + $data['contract_num'] = $contract['contract_num']; + $data['contract_type'] = $contract->contract_type_text; + $data['part_a'] = $contract['part_a']; + $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')); } diff --git a/app/adminapi/controller/zjzx_finance/ZjzxInvoiceController.php b/app/adminapi/controller/zjzx_finance/ZjzxInvoiceController.php index e73582413..06b42fc0a 100644 --- a/app/adminapi/controller/zjzx_finance/ZjzxInvoiceController.php +++ b/app/adminapi/controller/zjzx_finance/ZjzxInvoiceController.php @@ -88,6 +88,9 @@ class ZjzxInvoiceController extends BaseAdminController $result = ZjzxInvoiceLogic::detail($params); return $this->data($result); } - - + + public function datas() + { + return $this->data(ZjzxInvoiceLogic::datas()); + } } \ No newline at end of file diff --git a/app/adminapi/logic/zjzx_finance/ZjzxInvoiceLogic.php b/app/adminapi/logic/zjzx_finance/ZjzxInvoiceLogic.php index 76ef1afa7..3bbdb5a2b 100644 --- a/app/adminapi/logic/zjzx_finance/ZjzxInvoiceLogic.php +++ b/app/adminapi/logic/zjzx_finance/ZjzxInvoiceLogic.php @@ -134,4 +134,11 @@ class ZjzxInvoiceLogic extends BaseLogic $data['total_refund_amount'] = ZjzxRefund::where('project_id',$data['project_id'])->sum('amount'); 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(); + } } \ No newline at end of file