['contract_id'], ]; } /** * @notes 获取财务管理--履约金申请列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author likeadmin * @date 2024/04/13 17:24 */ public function lists(): array { $params = $this->request->get(); $where = []; if (!empty($params['payment_date'])) { $date = explode(',', $params['payment_date']); $where[] = ['payment_date', 'between', [strtotime($date[0] . ' 00:00:00'), strtotime($date[1] . ' 23:59:59')]]; } return FinancialPerformanceMoneyApply::withoutField('update_time,delete_time')->where($this->searchWhere)->where($where) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select()->each(function ($data) { $contract = MarketingContract::field('contract_name,part_a,signed_amount,performance_money,performance_money_expiration_time,signed_dept,project_manager')->where('id', $data['contract_id'])->findOrEmpty(); $part_a = MarketingCustom::field('name')->where('id', $contract['part_a'])->findOrEmpty(); $signed_dept = Dept::field('name')->where('id', $contract['signed_dept'])->findOrEmpty(); $project_manager = Admin::field('name')->where('id', $contract['project_manager'])->findOrEmpty(); $province = GeoProvince::field('province_name')->where('province_code', $data['province'])->findOrEmpty(); $city = GeoCity::field('city_name')->where('city_code', $data['city'])->findOrEmpty(); $pay_user = Admin::field('name')->where('id', $data['pay_user'])->findOrEmpty(); $data['contract_name'] = $contract?->contract_name; $data['part_a'] = $part_a?->name; $data['signed_amount'] = $contract?->signed_amount; $data['performance_money'] = $contract?->performance_money; $data['performance_money_expiration_time'] = $contract?->performance_money_expiration_time; $data['signed_dept'] = $signed_dept?->name; $data['project_manager'] = $project_manager?->name; $data['province_name'] = $province?->province_name; $data['city_name'] = $city?->city_name; $data['pay_type_text'] = $data->pay_type_text; $data['pay_user_name'] = $pay_user?->name; }) ->toArray(); } /** * @notes 获取财务管理--履约金申请数量 * @return int * @author likeadmin * @date 2024/04/13 17:24 */ public function count(): int { $params = $this->request->get(); $where = []; if (!empty($params['payment_date'])) { $date = explode(',', $params['payment_date']); $where[] = ['payment_date', 'between', [strtotime($date[0] . ' 00:00:00'), strtotime($date[1] . ' 23:59:59')]]; } return FinancialPerformanceMoneyApply::where($this->searchWhere)->where($where)->count(); } }