Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -239,7 +239,7 @@ class Contract extends Common
|
||||
if (!isset($param['contract_url']) || $param['contract_url'] == '') {
|
||||
$insert_info['contract_url'] = '';
|
||||
} else {
|
||||
$insert_info['contract_url'] = $param['cosssntract_url'];
|
||||
$insert_info['contract_url'] = $param['contract_url'];
|
||||
// 同理,contract_file_name 也建议做存在性检查,避免同理报错
|
||||
$insert_info['contract_file_name'] = isset($param['contract_file_name']) ? $param['contract_file_name'] : '';
|
||||
}
|
||||
@@ -322,4 +322,109 @@ class Contract extends Common
|
||||
return $this->sendError('删除失败');
|
||||
}
|
||||
}
|
||||
|
||||
// 合同检索
|
||||
public function searchContracts()
|
||||
{
|
||||
$param = request()->param();
|
||||
|
||||
$currPage = isset($param['currPage']) ? $param['currPage'] : 1;
|
||||
$pageSize = isset($param['pageSize']) ? $param['pageSize'] : 20;
|
||||
|
||||
// 构建查询条件
|
||||
$where = ['del_time' => null];
|
||||
|
||||
// 时间范围筛选
|
||||
if (isset($param['start_date']) && !empty($param['start_date'])) {
|
||||
$where['create_time'] = ['>=', $param['start_date']];
|
||||
}
|
||||
if (isset($param['end_date']) && !empty($param['end_date'])) {
|
||||
if (isset($where['create_time'])) {
|
||||
$where['create_time'] = [
|
||||
['>=', $param['start_date']],
|
||||
['<=', $param['end_date']]
|
||||
];
|
||||
} else {
|
||||
$where['create_time'] = ['<=', $param['end_date']];
|
||||
}
|
||||
}
|
||||
|
||||
// 合同分类筛选
|
||||
if (isset($param['contract_category']) && $param['contract_category'] !== '' && $param['contract_category'] !== '0') {
|
||||
$where['contract_category'] = $param['contract_category'];
|
||||
}
|
||||
|
||||
// 查询合同列表
|
||||
$contractList = db('contract_info')
|
||||
->where($where)
|
||||
->order('contract_id', 'desc')
|
||||
->page($currPage, $pageSize)
|
||||
->select();
|
||||
|
||||
// 遍历合同列表,补充关联信息
|
||||
foreach ($contractList as &$contract) {
|
||||
// 获取合同类型名称
|
||||
if ($contract['contract_type']) {
|
||||
$contractType = db('contract_type')
|
||||
->where('type_id', $contract['contract_type'])
|
||||
->field('type_name')
|
||||
->find();
|
||||
$contract['contract_type_name'] = $contractType ? $contractType['type_name'] : '';
|
||||
} else {
|
||||
$contract['contract_type_name'] = '';
|
||||
}
|
||||
|
||||
// 获取合同分类名称
|
||||
switch ($contract['contract_category']) {
|
||||
case 1:
|
||||
$contract['contract_category_name'] = '销售合同';
|
||||
break;
|
||||
case 2:
|
||||
$contract['contract_category_name'] = '销售技术协议';
|
||||
break;
|
||||
case 3:
|
||||
$contract['contract_category_name'] = '采购合同';
|
||||
break;
|
||||
case 4:
|
||||
$contract['contract_category_name'] = '采购及技术协议';
|
||||
break;
|
||||
case 5:
|
||||
$contract['contract_category_name'] = '其他';
|
||||
break;
|
||||
default:
|
||||
$contract['contract_category_name'] = '';
|
||||
}
|
||||
|
||||
// 获取项目名称
|
||||
if ($contract['project_id']) {
|
||||
$project = db('project_info')
|
||||
->where('project_id', $contract['project_id'])
|
||||
->field('project_name')
|
||||
->find();
|
||||
$contract['project_name'] = $project ? $project['project_name'] : '';
|
||||
} else {
|
||||
$contract['project_name'] = '';
|
||||
}
|
||||
|
||||
// 获取合作伙伴名称
|
||||
if ($contract['partner_id']) {
|
||||
$partner = db('partner_company')
|
||||
->where('company_id', $contract['partner_id'])
|
||||
->field('company_name')
|
||||
->find();
|
||||
$contract['partner_name'] = $partner ? $partner['company_name'] : '';
|
||||
} else {
|
||||
$contract['partner_name'] = '';
|
||||
}
|
||||
}
|
||||
unset($contract);
|
||||
|
||||
// 查询总记录数
|
||||
$total = db('contract_info')->where($where)->count();
|
||||
|
||||
$res['list'] = $contractList;
|
||||
$res['total'] = $total;
|
||||
|
||||
return $this->sendSuccess($res);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user