В моем проекте jHipster есть 4 объекта: пользователь, отдел, userAssignmentToDepartments (пользователь может принадлежать нескольким отделам), заказ. В приказе есть поле "Department_id". Вопросы:
- Как показывать только заказы, в которые включен Department_id
userAssignmentToDepartments для этого пользователя?
2.Как узнать идентификаторы отделов, на которые пользователь имеет полномочия?
order.routes.ts
export const orderRoute: Routes = [
{
path: 'order',
component: OrderComponent,
resolve: {
pagingParams: JhiResolvePagingParams
},
data: {
authorities: ['ROLE_USER'],
defaultSort: 'id,asc',
pageTitle: 'Orders'
},
canActivate: [UserRouteAccessService]
}...
order.service.ts
export class OrderService {
query(req?: any): Observable<EntityArrayResponseType> {
const options = createRequestOption(req);
return this.http
.get<IOrder[]>(this.resourceUrl, { params: options, observe: 'response' })
.pipe(map((res: EntityArrayResponseType) => this.convertDateArrayFromServer(res)));
}.....
order.component.ts
export class OrderComponent implements OnInit, OnDestroy {
loadAll() {
this.orderService
.query({
page: this.page - 1,
size: this.itemsPerPage,
sort: this.sort()
})
.subscribe(
(res: HttpResponse<IOrder[]>) => this.paginateOrders(res.body, res.headers),
(res: HttpErrorResponse) => this.onError(res.message)
);
}
department.model.ts
export interface IDepartment {
id?: number;
name?: string;
} * * тысяча двадцать-один
export class Departmetn implements IDepartment {
constructor(public id?: number, public name?: string) {}
}
order.model.ts
import { Moment } from 'moment';
export interface IOrder {
id?: number;
date?: Moment;
departmetnId?: number
}
export class Order implements IOrder {
constructor(public id?: number, public date?: Moment, public departmentId?: number) {}
}
user.model.ts
export interface IUser {
id?: number;
}
export class User implements IUser {
constructor(public id?: number) {}
}
пользовательский assignment.ts
export interface IUserAssignment {
id?: number;
userLogin?: string;
userId?: number;
centerName?: string;
centerId?: number;
}
export class UserAssignment implements IUserAssignment {
constructor(
public id?: number,
public userLogin?: string,
public userId?: number,
public departmentName?: string,
public departmentId?: number
) {}
}