|
@@ -253,14 +253,27 @@ class ExportViolationProductJobs implements ShouldQueue
|
|
|
->orWhere('source_responsible_person', 'like', "%,$user_id,%");
|
|
->orWhere('source_responsible_person', 'like', "%,$user_id,%");
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
+ //去重获取所有员工信息
|
|
|
|
|
+ $ViolationProductMemberModel = new ViolationProductMemberModel();
|
|
|
|
|
+ $subQuery = $query->select('id');
|
|
|
|
|
+ $member_list_data = $ViolationProductMemberModel->whereIn('lowprice_product_logid', function ($query1) use ($subQuery) {
|
|
|
|
|
+ $query1->select('lowprice_product_logid')->fromSub($subQuery, 'sub1');
|
|
|
|
|
+ })->select(['employee_id','employee_name'])->get()->toArray();
|
|
|
|
|
+ $member_list =[];
|
|
|
|
|
+ if(!empty($member_list_data)){
|
|
|
|
|
+ foreach ($member_list_data as $key => $value) {
|
|
|
|
|
+ $member_list[$value['employee_id']] = $value['employee_name'];
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
$snapshot_status = $CompanyModel->where(['id'=> $violation_product_where['company_id']])->value('snapshot_status');
|
|
$snapshot_status = $CompanyModel->where(['id'=> $violation_product_where['company_id']])->value('snapshot_status');
|
|
|
- $query->chunkById($limit, function ($rows) use ($key_name) {
|
|
|
|
|
|
|
+ $query->chunkById($limit, function ($rows) use ($key_name,$member_list) {
|
|
|
$result_data = $rows->toArray();
|
|
$result_data = $rows->toArray();
|
|
|
if (empty($result_data)) {
|
|
if (empty($result_data)) {
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- $list_data = $this->processing_responsible_person($result_data);
|
|
|
|
|
|
|
+ $list_data = $this->processing_responsible_person($result_data,$member_list);
|
|
|
$list_data_info = Cache::get($key_name) ?: [];
|
|
$list_data_info = Cache::get($key_name) ?: [];
|
|
|
$list_new_data = !empty($list_data_info) ? array_merge($list_data_info, $list_data) : $list_data;
|
|
$list_new_data = !empty($list_data_info) ? array_merge($list_data_info, $list_data) : $list_data;
|
|
|
Cache::put($key_name, $list_new_data, 60 * 60 * 24);
|
|
Cache::put($key_name, $list_new_data, 60 * 60 * 24);
|
|
@@ -282,22 +295,37 @@ class ExportViolationProductJobs implements ShouldQueue
|
|
|
* @version 1.0
|
|
* @version 1.0
|
|
|
* @date 2025-12-17
|
|
* @date 2025-12-17
|
|
|
*/
|
|
*/
|
|
|
- public function processing_responsible_person($result)
|
|
|
|
|
|
|
+ public function processing_responsible_person($result, $member_list)
|
|
|
{
|
|
{
|
|
|
- $ViolationProductMemberModel = new ViolationProductMemberModel();
|
|
|
|
|
if (isset($result) && count($result) > 0) {
|
|
if (isset($result) && count($result) > 0) {
|
|
|
foreach ($result as $key => $value) {
|
|
foreach ($result as $key => $value) {
|
|
|
//查询第一责任人名称
|
|
//查询第一责任人名称
|
|
|
$first_responsible_person = explode(',', $value['first_responsible_person']);
|
|
$first_responsible_person = explode(',', $value['first_responsible_person']);
|
|
|
- $first_responsible_person_name = $ViolationProductMemberModel->where('violation_product_logid',$value['id'])->whereIn('employee_id', $first_responsible_person)->pluck('employee_name')->toarray();
|
|
|
|
|
- $result[$key]['first_responsible_person_name'] = $first_responsible_person_name;
|
|
|
|
|
|
|
+ $first_responsible_person_name = [];
|
|
|
|
|
+ foreach ($first_responsible_person as $k => $v) {
|
|
|
|
|
+ if (isset($member_list[$v])) {
|
|
|
|
|
+ $first_responsible_person_name[] = $member_list[$v];
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ $result[$key]['first_responsible_person_name'] = !empty($first_responsible_person_name) ? implode(',', $first_responsible_person_name) : '';
|
|
|
//查询责任人名称
|
|
//查询责任人名称
|
|
|
$responsible_person = explode(',', $value['responsible_person']);
|
|
$responsible_person = explode(',', $value['responsible_person']);
|
|
|
- $responsible_person_name = $ViolationProductMemberModel->where('violation_product_logid',$value['id'])->whereIn('employee_id', $responsible_person)->pluck('employee_name')->toarray();
|
|
|
|
|
- $result[$key]['responsible_person_name'] = $responsible_person_name;
|
|
|
|
|
|
|
+ $responsible_person_name = [];
|
|
|
|
|
+ foreach ($responsible_person as $k => $v) {
|
|
|
|
|
+ if (isset($member_list[$v])) {
|
|
|
|
|
+ $responsible_person_name[] = $member_list[$v];
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ $result[$key]['responsible_person_name'] = !empty($responsible_person_name) ? implode(',', $responsible_person_name) : '';
|
|
|
//查询来源责任人名称
|
|
//查询来源责任人名称
|
|
|
$source_responsible_person = explode(',', $value['source_responsible_person']);
|
|
$source_responsible_person = explode(',', $value['source_responsible_person']);
|
|
|
- $source_responsible_person_name = $ViolationProductMemberModel->where('violation_product_logid',$value['id'])->whereIn('employee_id', $source_responsible_person)->pluck('employee_name')->toarray();
|
|
|
|
|
|
|
+ $source_responsible_person_name = [];
|
|
|
|
|
+ foreach ($source_responsible_person as $k => $v) {
|
|
|
|
|
+ if (isset($member_list[$v])) {
|
|
|
|
|
+ $source_responsible_person_name[] = $member_list[$v];
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ $source_responsible_person_name = !empty($source_responsible_person_name) ? implode(',', $source_responsible_person_name) : '';
|
|
|
$result[$key]['source_responsible_person_name'] = $source_responsible_person_name;
|
|
$result[$key]['source_responsible_person_name'] = $source_responsible_person_name;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|