['contract_id'], '%like%' => ['collection_user'], ]; } /** * @notes 获取财务管理--合同收款计划列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author likeadmin * @date 2024/04/13 13:46 */ public function lists(): array { $params = $this->request->get(); $where = []; if (!empty($params['collection_date'])) { $date = explode(',', $params['collection_date']); $where[] = ['collection_date', 'between', [strtotime($date[0] . ' 00:00:00'), strtotime($date[1] . ' 23:59:59')]]; } return FinancialCollectionPlan::where($this->searchWhere)->where($where) ->field(['id', 'contract_id', 'collection_amount', 'collection_date', 'collection_user', 'remark', 'annex']) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select()->each(function ($data) { $contract = MarketingContract::field('contract_name,contract_type,business_nature,part_a,signed_amount,create_time')->where('id', $data['contract_id'])->findOrEmpty(); $data['contract_name'] = $contract?->contract_name; $data['contract_type'] = $contract?->contract_type_text; $data['business_nature'] = $contract?->business_nature_text; $data['signed_amount'] = $contract?->signed_amount; $data['signed_date'] = $contract?->create_time; }) ->toArray(); } /** * @notes 获取财务管理--合同收款计划数量 * @return int * @author likeadmin * @date 2024/04/13 13:46 */ public function count(): int { $params = $this->request->get(); $where = []; if (!empty($params['contract_name'])) { $contract_ids = MarketingContract::where('contract_name', 'like', '%' . $params['contract_name'] . '%')->column('id'); $where[] = ['contract_id', 'in', $contract_ids]; } if (!empty($params['collection_date'])) { $date = explode(',', $params['collection_date']); $where[] = ['collection_date', 'between', [strtotime($date[0] . ' 00:00:00'), strtotime($date[1] . ' 23:59:59')]]; } return FinancialCollectionPlan::where($this->searchWhere)->where($where)->count(); } }