|
|
@@ -177,6 +177,7 @@ class ViolationStore extends Controller
|
|
|
$admin_company_id = request('admin_company_id', '0');
|
|
|
$company_id = request('access_token.company_id', '0');
|
|
|
$is_admin = request('access_token.is_admin', '0'); //是否管理员操作 0=是1=否
|
|
|
+ $user_id = request('access_token.uid', 0);
|
|
|
// 查询条件
|
|
|
$map = [];
|
|
|
$limit = request('limit', config('page_num', 10));
|
|
|
@@ -266,11 +267,39 @@ class ViolationStore extends Controller
|
|
|
$query1->select('violation_store_logid')->fromSub($subQuery, 'sub1');
|
|
|
});
|
|
|
}
|
|
|
- // 查询数据
|
|
|
- $result = $ViolationStoreModel
|
|
|
- ->where($map)
|
|
|
- ->orderByDesc('id')
|
|
|
- ->get()->toarray();
|
|
|
+
|
|
|
+ if ($is_admin != 1 && $company_id != 0) {
|
|
|
+ $result_totle = $ViolationStoreModel->where(function ($q) use ($user_id) {
|
|
|
+ $q->where('first_responsible_person', 'like', "%,$user_id,%")
|
|
|
+ ->orWhere('responsible_person', 'like', "%,$user_id,%")
|
|
|
+ ->orWhere('source_responsible_person', 'like', "%,$user_id,%");
|
|
|
+ })
|
|
|
+ ->where($map)
|
|
|
+ ->orderByDesc('id')
|
|
|
+ ->paginate($limit)->count();
|
|
|
+ } else {
|
|
|
+ $result_totle = $ViolationStoreModel->where($map)
|
|
|
+ ->orderByDesc('id')
|
|
|
+ ->paginate($limit)->count();
|
|
|
+ }
|
|
|
+ // 数量过多时,限制导出
|
|
|
+ if ($result_totle > 10000) {
|
|
|
+ return json_send(['code' => 'error', 'msg' => '导出数据过多,请缩小查询条件']);
|
|
|
+ }
|
|
|
+ if ($is_admin != 1 && $company_id != 0) {
|
|
|
+ $result = $ViolationStoreModel->where(function ($q) use ($user_id) {
|
|
|
+ $q->where('first_responsible_person', 'like', "%,$user_id,%")
|
|
|
+ ->orWhere('responsible_person', 'like', "%,$user_id,%")
|
|
|
+ ->orWhere('source_responsible_person', 'like', "%,$user_id,%");
|
|
|
+ })
|
|
|
+ ->where($map)
|
|
|
+ ->orderByDesc('id')
|
|
|
+ ->get()->toarray();
|
|
|
+ } else {
|
|
|
+ $result = $ViolationStoreModel->where($map)
|
|
|
+ ->orderByDesc('id')
|
|
|
+ ->get()->toarray();
|
|
|
+ }
|
|
|
// 分配数据
|
|
|
if (!$result) return json_send(['code' => 'error', 'msg' => '暂无数据']);
|
|
|
// 处理责任人展示信息
|