|
|
@@ -83,6 +83,7 @@ class ViolationStoreDataJobs implements ShouldQueue
|
|
|
$company_id = isset($message_data['company_id']) ? $message_data['company_id'] : 0; //品牌方公司ID
|
|
|
$item_totle_page = $message_data['item_totle_page']; //清洗店铺总页数
|
|
|
$item_now_page = $message_data['item_now_page']; //清洗店铺当前页
|
|
|
+ $employee_ids = $message_data['employee_ids']; //指派责任人ID列表
|
|
|
|
|
|
$start_time = time() - 60 * 5; // 开始时间 5分钟之前
|
|
|
$end_time = time();//结束时间
|
|
|
@@ -242,121 +243,25 @@ class ViolationStoreDataJobs implements ShouldQueue
|
|
|
'scrape_date' => $product_data['scrape_date'],
|
|
|
'collection_time' => strtotime($product_data['insert_time']),
|
|
|
];
|
|
|
- //获取公司绑定责任人信息
|
|
|
- $company_data = $ViolationStoreModel->where('social_credit_code', $product_data['qualification_number'])
|
|
|
- ->where('process_violation_store.company_id', $company_id)->first();
|
|
|
- $employee_id_list = [];
|
|
|
- if ($company_data) {
|
|
|
- $employee_id_list = $ViolationCompanyMemberModel->where('company_logid', $company_data->id)->pluck('employee_id')->toarray();
|
|
|
- }
|
|
|
+ $employee_id_list = explode(',', $employee_ids);
|
|
|
//获取指定人员信息
|
|
|
if ($specify_responsible_person == 0) {
|
|
|
- $where_query1 = [];
|
|
|
- $where_query2 = [];
|
|
|
- $where_query3 = [];
|
|
|
- //查询指定公司第一责任人
|
|
|
+ //查询第一责任人
|
|
|
if (!empty($employee_id_list)) {
|
|
|
$where_query1[] = ['company_id', '=', $company_id];
|
|
|
$where_query1[] = ['id', 'in', $employee_id_list];
|
|
|
$where_query1[] = ['status', '=', 0];
|
|
|
$where_query1[] = ['duty_type', '=', 1]; //责任类型1=第一责任人,2=责任人
|
|
|
}
|
|
|
- //查询地区配置的第一责任人
|
|
|
- $employee_id_area = $EmployeeAreaModel->where('city_id', $product_data['city_id'])->pluck('employee_id')->toarray();
|
|
|
- if (!empty($employee_id_area)) {
|
|
|
- $where_query2[] = ['company_id', '=', $company_id];
|
|
|
- $where_query2[] = ['id', 'in', $employee_id_area];
|
|
|
- $where_query2[] = ['status', '=', 0];
|
|
|
- $where_query2[] = ['duty_type', '=', 1]; //责任类型1=第一责任人,2=责任人
|
|
|
- }
|
|
|
- //查询平台配置的第一责任人
|
|
|
- $employee_id_platform = $EmployeePlatformModel->where('platform_id', $product_data['platform_id'])->pluck('employee_id')->toarray();
|
|
|
- if (!empty($employee_id_platform)) {
|
|
|
- $where_query3[] = ['company_id', '=', $company_id];
|
|
|
- $where_query3[] = ['id', 'in', $employee_id_platform];
|
|
|
- $where_query3[] = ['status', '=', 0];
|
|
|
- $where_query3[] = ['duty_type', '=', 1]; //责任类型1=第一责任人,2=责任人
|
|
|
- }
|
|
|
- //并行查询第一责任人
|
|
|
- $EmployeeModel = new EmployeeModel();
|
|
|
- $EmployeeModel = $EmployeeModel
|
|
|
- ->orWhere(function ($q) use ($employee_id_list, $company_id) {
|
|
|
- if (!empty($employee_id_list)) {
|
|
|
- $q->where('company_id', $company_id)
|
|
|
- ->orWhereIn('id', $employee_id_list)
|
|
|
- ->where('status', 0)
|
|
|
- ->where('duty_type', 1);
|
|
|
- }
|
|
|
- })->orWhere(function ($q) use ($employee_id_area, $company_id) {
|
|
|
- if (!empty($employee_id_area)) {
|
|
|
- $q->where('company_id', $company_id)
|
|
|
- ->whereIn('id', $employee_id_area)
|
|
|
- ->where('status', 0)
|
|
|
- ->where('duty_type', 1);
|
|
|
- }
|
|
|
- })->orWhere(function ($q) use ($employee_id_platform, $company_id) {
|
|
|
- if (!empty($employee_id_platform)) {
|
|
|
- $q->where('company_id', $company_id)
|
|
|
- ->whereIn('id', $employee_id_platform)
|
|
|
- ->where('status', 0)
|
|
|
- ->where('duty_type', 1);
|
|
|
- }
|
|
|
- });
|
|
|
$first_responsible_person = $EmployeeModel->pluck('id')->implode(',');
|
|
|
- //调试记录查询条件
|
|
|
$insert_product_data['first_responsible_person'] = $first_responsible_person;
|
|
|
//查询责任人
|
|
|
- $where_query1 = [];
|
|
|
- $where_query2 = [];
|
|
|
- $where_query3 = [];
|
|
|
- //查询指定公司责任人
|
|
|
if (!empty($employee_id_list)) {
|
|
|
$where_query1[] = ['company_id', '=', $company_id];
|
|
|
$where_query1[] = ['id', 'in', $employee_id_list];
|
|
|
$where_query1[] = ['status', '=', 0];
|
|
|
$where_query1[] = ['duty_type', '=', 2]; //责任类型1=第一责任人,2=责任人
|
|
|
}
|
|
|
- //查询地区配置的员工
|
|
|
- $employee_id_area = $EmployeeAreaModel->where('city_id', $product_data['city_id'])->pluck('employee_id')->toarray();
|
|
|
- if (!empty($employee_id_area)) {
|
|
|
- $where_query2[] = ['company_id', '=', $company_id];
|
|
|
- $where_query2[] = ['id', 'in', $employee_id_area];
|
|
|
- $where_query2[] = ['status', '=', 0];
|
|
|
- $where_query2[] = ['duty_type', '=', 2]; //责任类型1=第一责任人,2=责任人
|
|
|
- }
|
|
|
- //查询平台配置的员工
|
|
|
- $employee_id_platform = $EmployeePlatformModel->where('platform_id', $product_data['platform_id'])->pluck('employee_id')->toarray();
|
|
|
- if (!empty($employee_id_platform)) {
|
|
|
- $where_query3[] = ['company_id', '=', $company_id];
|
|
|
- $where_query3[] = ['id', 'in', $employee_id_platform];
|
|
|
- $where_query3[] = ['status', '=', 0];
|
|
|
- $where_query3[] = ['duty_type', '=', 2]; //责任类型1=第一责任人,2=责任人
|
|
|
- }
|
|
|
- //并行查询责任人
|
|
|
- $EmployeeModel = new EmployeeModel();
|
|
|
- $EmployeeModel = $EmployeeModel
|
|
|
- ->orWhere(function ($q) use ($employee_id_list, $company_id) {
|
|
|
- if (!empty($employee_id_list)) {
|
|
|
- $q->where('company_id', $company_id)
|
|
|
- ->orWhereIn('id', $employee_id_list)
|
|
|
- ->where('status', 0)
|
|
|
- ->where('duty_type', 2); //责任类型1=第一责任人,2=责任人
|
|
|
- }
|
|
|
- })->orWhere(function ($q) use ($employee_id_area, $company_id) {
|
|
|
- if (!empty($employee_id_area)) {
|
|
|
- $q->where('company_id', $company_id)
|
|
|
- ->whereIn('id', $employee_id_area)
|
|
|
- ->where('status', 0)
|
|
|
- ->where('duty_type', 2); //责任类型1=第一责任人,2=责任人
|
|
|
- }
|
|
|
- })->orWhere(function ($q) use ($employee_id_platform, $company_id) {
|
|
|
- if (!empty($employee_id_platform)) {
|
|
|
- $q->where('company_id', $company_id)
|
|
|
- ->whereIn('id', $employee_id_platform)
|
|
|
- ->where('status', 0)
|
|
|
- ->where('duty_type', 2); //责任类型1=第一责任人,2=责任人
|
|
|
- }
|
|
|
- });
|
|
|
$responsible_person = $EmployeeModel->pluck('id')->implode(',');
|
|
|
$insert_product_data['responsible_person'] = $responsible_person;
|
|
|
|