Merge branch 'development' into 'devops-staging'
Development See merge request empatnusabangsa/ppob/ppob-backend!45
This commit is contained in:
commit
ccfffe6b48
|
@ -1,8 +1,6 @@
|
|||
import { HttpException, HttpStatus, Injectable } from '@nestjs/common';
|
||||
import { EntityNotFoundError, Repository } from 'typeorm';
|
||||
import { Roles } from './entities/roles.entity';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { UpdateUserDto } from '../users/dto/update-user.dto';
|
||||
import { CommissionSetting } from './entities/commission_setting.entity';
|
||||
|
||||
@Injectable()
|
||||
|
@ -12,10 +10,10 @@ export class CommissionService {
|
|||
private commissionRepository: Repository<CommissionSetting>,
|
||||
) {}
|
||||
|
||||
findAllCommission(page) {
|
||||
findAllCommission(page, pageSize?) {
|
||||
return this.commissionRepository.findAndCount({
|
||||
skip: page * 10,
|
||||
take: 10,
|
||||
skip: page * (pageSize || 10),
|
||||
take: pageSize || 10,
|
||||
order: {
|
||||
version: 'DESC',
|
||||
},
|
||||
|
|
|
@ -30,8 +30,11 @@ export class ConfigurableController {
|
|||
) {}
|
||||
|
||||
@Get('/roles')
|
||||
async findAll(@Query('page') page: number) {
|
||||
const [data, count] = await this.roleService.findAllRoles(page);
|
||||
async findAll(
|
||||
@Query('page') page: number,
|
||||
@Query('pageSize') pageSize: number,
|
||||
) {
|
||||
const [data, count] = await this.roleService.findAllRoles(page, pageSize);
|
||||
|
||||
return {
|
||||
data,
|
||||
|
@ -42,8 +45,14 @@ export class ConfigurableController {
|
|||
}
|
||||
|
||||
@Get('/commission')
|
||||
async findCommission(@Query('page') page: number) {
|
||||
const [data, count] = await this.commissionService.findAllCommission(page);
|
||||
async findCommission(
|
||||
@Query('page') page: number,
|
||||
@Query('pageSize') pageSize: number,
|
||||
) {
|
||||
const [data, count] = await this.commissionService.findAllCommission(
|
||||
page,
|
||||
pageSize,
|
||||
);
|
||||
|
||||
return {
|
||||
data,
|
||||
|
@ -54,9 +63,13 @@ export class ConfigurableController {
|
|||
}
|
||||
|
||||
@Get('/roles/for-membership')
|
||||
async findAllForMembership(@Query('page') page: number) {
|
||||
async findAllForMembership(
|
||||
@Query('page') page: number,
|
||||
@Query('pageSize') pageSize: number,
|
||||
) {
|
||||
const [data, count] = await this.roleService.findAllRolesForCreateMember(
|
||||
page,
|
||||
pageSize,
|
||||
);
|
||||
|
||||
return {
|
||||
|
|
|
@ -10,20 +10,20 @@ export class RoleService {
|
|||
private rolesRepository: Repository<Roles>,
|
||||
) {}
|
||||
|
||||
findAllRoles(page) {
|
||||
findAllRoles(page, pageSize?) {
|
||||
return this.rolesRepository.findAndCount({
|
||||
skip: page * 10,
|
||||
take: 10,
|
||||
skip: page * (pageSize || 10),
|
||||
take: pageSize || 10,
|
||||
order: {
|
||||
version: 'DESC',
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
findAllRolesForCreateMember(page) {
|
||||
findAllRolesForCreateMember(page, pageSize?) {
|
||||
return this.rolesRepository.findAndCount({
|
||||
skip: page * 10,
|
||||
take: 10,
|
||||
skip: page * (pageSize || 10),
|
||||
take: pageSize || 10,
|
||||
where: {
|
||||
id: Not(
|
||||
In([
|
||||
|
|
|
@ -38,6 +38,7 @@ export class ProductHistoryPriceService {
|
|||
page: number,
|
||||
productId: string,
|
||||
supplierId: string,
|
||||
pageSize?: number,
|
||||
) {
|
||||
try {
|
||||
const query = this.productHistoryPriceService
|
||||
|
@ -54,8 +55,8 @@ export class ProductHistoryPriceService {
|
|||
|
||||
const data = await query
|
||||
.orderBy('product_history_price.createdAt', 'DESC')
|
||||
.skip(page * 10)
|
||||
.take(10)
|
||||
.skip(page * (pageSize || 10))
|
||||
.take(pageSize || 10)
|
||||
.getMany();
|
||||
|
||||
const totalData = await query.getCount();
|
||||
|
|
|
@ -36,10 +36,10 @@ export class ProductCategoriesService {
|
|||
);
|
||||
}
|
||||
|
||||
findAll(page) {
|
||||
findAll(page, pageSize?) {
|
||||
return this.productCategoriesRepository.findAndCount({
|
||||
skip: page * 10,
|
||||
take: 10,
|
||||
skip: page * (pageSize || 10),
|
||||
take: pageSize || 10,
|
||||
order: {
|
||||
version: 'DESC',
|
||||
},
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { HttpException, HttpStatus, Injectable } from '@nestjs/common';
|
||||
import { EntityNotFoundError, Repository } from 'typeorm';
|
||||
import { EntityNotFoundError, In, Repository } from 'typeorm';
|
||||
import { ProductSubCategories } from './entities/product-sub-category.entity';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { CreateSubCategoriesProductDto } from './dto/sub-categories/create-sub-categories-product.dto';
|
||||
|
@ -44,20 +44,25 @@ export class ProductSubCategoriesService {
|
|||
);
|
||||
}
|
||||
|
||||
async findAll(page, category) {
|
||||
async findAll(page, category: string, pageSize?) {
|
||||
let filterCategories;
|
||||
if (category) {
|
||||
filterCategories = category.split(',').map((data) => data.trim());
|
||||
}
|
||||
|
||||
const baseQuery = this.productSubCategoriesRepository
|
||||
.createQueryBuilder('product_sub_categories')
|
||||
.leftJoinAndSelect('product_sub_categories.category', 'category');
|
||||
|
||||
if (category != 'null' && category) {
|
||||
if (category && filterCategories.length > 0) {
|
||||
baseQuery.where({
|
||||
category: category,
|
||||
category: In(filterCategories),
|
||||
});
|
||||
}
|
||||
|
||||
const data = await baseQuery
|
||||
.skip(page * 10)
|
||||
.take(10)
|
||||
.skip(page * (pageSize || 10))
|
||||
.take(pageSize || 10)
|
||||
.getMany();
|
||||
|
||||
const totalData = await baseQuery.getCount();
|
||||
|
|
|
@ -72,15 +72,15 @@ export class ProductController {
|
|||
@Get('all')
|
||||
async findAll(
|
||||
@Query('page') page: number,
|
||||
@Query('pageSize') pageSize: number,
|
||||
@Query('sub-category') subcategory: string,
|
||||
@Query('category') category: string,
|
||||
@Query('supplier') supplier: string,
|
||||
) {
|
||||
const data = await this.productService.findAll(
|
||||
page,
|
||||
supplier,
|
||||
category,
|
||||
subcategory,
|
||||
supplier == 'null' ? null : supplier,
|
||||
subcategory == 'null' ? null : subcategory,
|
||||
pageSize,
|
||||
);
|
||||
|
||||
return {
|
||||
|
@ -107,6 +107,7 @@ export class ProductController {
|
|||
@Get('by-categories-all')
|
||||
async findByCategoriesAll(
|
||||
@Query('page') page: number,
|
||||
@Query('pageSize') pageSize: number,
|
||||
@Query('sub-category') subcategory: string,
|
||||
@Query('supplier') supplier: string,
|
||||
) {
|
||||
|
@ -114,6 +115,7 @@ export class ProductController {
|
|||
page,
|
||||
subcategory,
|
||||
supplier,
|
||||
pageSize,
|
||||
);
|
||||
|
||||
return {
|
||||
|
@ -127,13 +129,13 @@ export class ProductController {
|
|||
async findByCategories(
|
||||
@Query('page') page: number,
|
||||
@Query('pageSize') pageSize: number,
|
||||
@Query('categories') categories: string,
|
||||
@Query('sub-category') subcategory: string,
|
||||
@Request() req,
|
||||
) {
|
||||
const data = await this.productService.findAllForPartner(
|
||||
page,
|
||||
pageSize,
|
||||
categories,
|
||||
subcategory,
|
||||
req.user.username,
|
||||
);
|
||||
|
||||
|
@ -145,8 +147,14 @@ export class ProductController {
|
|||
}
|
||||
|
||||
@Get('categories')
|
||||
async findAllCategories(@Query('page') page: number) {
|
||||
const [data, count] = await this.productCategoriesService.findAll(page);
|
||||
async findAllCategories(
|
||||
@Query('page') page: number,
|
||||
@Query('pageSize') pageSize: number,
|
||||
) {
|
||||
const [data, count] = await this.productCategoriesService.findAll(
|
||||
page,
|
||||
pageSize,
|
||||
);
|
||||
|
||||
return {
|
||||
data,
|
||||
|
@ -159,9 +167,14 @@ export class ProductController {
|
|||
@Get('sub-categories')
|
||||
async findAllSubCategories(
|
||||
@Query('page') page: number,
|
||||
@Query('pageSize') pageSize: number,
|
||||
@Query('category') category: string,
|
||||
) {
|
||||
const data = await this.productSubCategoriesService.findAll(page, category);
|
||||
const data = await this.productSubCategoriesService.findAll(
|
||||
page,
|
||||
category == 'null' ? null : category,
|
||||
pageSize,
|
||||
);
|
||||
|
||||
return {
|
||||
...data,
|
||||
|
@ -183,12 +196,14 @@ export class ProductController {
|
|||
async findPriceHistoryByProductId(
|
||||
@Param('id', ParseUUIDPipe) id: string,
|
||||
@Query('page') page: number,
|
||||
@Query('pageSize') pageSize: number,
|
||||
@Query('supplier') supplier: string,
|
||||
) {
|
||||
const data = await this.productHistoryPriceService.findOneByProductId(
|
||||
page,
|
||||
id,
|
||||
supplier,
|
||||
pageSize,
|
||||
);
|
||||
|
||||
return {
|
||||
|
|
|
@ -1,9 +1,4 @@
|
|||
import {
|
||||
HttpException,
|
||||
HttpStatus,
|
||||
Injectable,
|
||||
UnauthorizedException,
|
||||
} from '@nestjs/common';
|
||||
import { HttpException, HttpStatus } from '@nestjs/common';
|
||||
import { EntityNotFoundError, Repository } from 'typeorm';
|
||||
import { Product } from './entities/product.entity';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
|
@ -15,7 +10,6 @@ import { productType } from '../helper/enum-list';
|
|||
import { UpdatePriceProductDto } from './dto/product/update-price-product.dto';
|
||||
import { UsersService } from '../users/users.service';
|
||||
import { SupplierService } from '../users/supplier/supplier.service';
|
||||
import { type } from 'os';
|
||||
|
||||
export class ProductService {
|
||||
constructor(
|
||||
|
@ -53,41 +47,67 @@ export class ProductService {
|
|||
return this.productRepository.findOneOrFail(result.identifiers[0].id);
|
||||
}
|
||||
|
||||
async findAll(page, supplier, categories, subCategories) {
|
||||
if (supplier == 'null' || !supplier) {
|
||||
supplier = (await this.supplierService.findByActive()).id;
|
||||
async findAll(
|
||||
page: number,
|
||||
supplier: string,
|
||||
subCategories: string,
|
||||
pageSize?: number,
|
||||
) {
|
||||
let filterSupplier, filterSubCategories;
|
||||
|
||||
if (supplier) {
|
||||
filterSupplier = supplier.split(',').map((data) => {
|
||||
return data.trim();
|
||||
});
|
||||
}
|
||||
|
||||
if (subCategories) {
|
||||
filterSubCategories = subCategories.split(',').map((data) => {
|
||||
return data.trim();
|
||||
});
|
||||
}
|
||||
|
||||
const baseQuery = this.productRepository
|
||||
.createQueryBuilder('product')
|
||||
.leftJoin('product.sub_categories', 'sub_categories')
|
||||
.leftJoin('sub_categories.category', 'category')
|
||||
.where(`product.supplier_id = :supplier_id`, {
|
||||
supplier_id: supplier,
|
||||
})
|
||||
.leftJoin('product.supplier', 'supplier')
|
||||
.where('supplier.status = :status', { status: true })
|
||||
.leftJoinAndMapOne(
|
||||
'product.currentPrice',
|
||||
'product.priceHistory',
|
||||
'current_price',
|
||||
'current_price.partner_id is null',
|
||||
'current_price.partner_id is null and current_price.end_date is NULL',
|
||||
)
|
||||
.select(['product.id'])
|
||||
.addSelect([
|
||||
'product.name',
|
||||
'product.code',
|
||||
'sub_categories.name',
|
||||
'category.name',
|
||||
'product.status',
|
||||
])
|
||||
.addSelect('current_price.price')
|
||||
.addSelect(
|
||||
'(current_price.price + current_price.mark_up_price) as mark_up_price',
|
||||
);
|
||||
|
||||
if (subCategories != 'null' && subCategories) {
|
||||
baseQuery.andWhere('product.sub_categories_id = :id', {
|
||||
id: subCategories,
|
||||
if (subCategories && filterSubCategories.length > 0) {
|
||||
baseQuery.where('product.sub_categories_id IN (:...subCategoryId)', {
|
||||
subCategoryId: filterSubCategories,
|
||||
});
|
||||
}
|
||||
|
||||
// if (categories != 'null' && categories) {
|
||||
// baseQuery.andWhere('sub_categories.category_id = :id', {
|
||||
// id: categories,
|
||||
// });
|
||||
// }
|
||||
if (supplier && filterSupplier.length > 0) {
|
||||
baseQuery.where('supplier.id IN (:...supplierId)', {
|
||||
supplierId: filterSupplier,
|
||||
});
|
||||
}
|
||||
|
||||
const data = await baseQuery
|
||||
.skip(page * 10)
|
||||
.take(10)
|
||||
.getMany();
|
||||
.offset(page * (pageSize || 10))
|
||||
.limit(pageSize || 10)
|
||||
.getRawMany();
|
||||
|
||||
const totalData = await baseQuery.getCount();
|
||||
|
||||
|
@ -128,7 +148,7 @@ export class ProductService {
|
|||
};
|
||||
}
|
||||
|
||||
async findAllBySubCategories(page, subCategories, supplier) {
|
||||
async findAllBySubCategories(page, subCategories, supplier, pageSize?) {
|
||||
if (supplier != 'null' && !supplier) {
|
||||
supplier = (await this.supplierService.findByActive()).id;
|
||||
}
|
||||
|
@ -156,8 +176,8 @@ export class ProductService {
|
|||
}
|
||||
|
||||
const data = await baseQuery
|
||||
.skip(page * 10)
|
||||
.take(10)
|
||||
.skip(page * (pageSize || 10))
|
||||
.take(pageSize || 10)
|
||||
.getMany();
|
||||
|
||||
const totalData = await baseQuery.getCount();
|
||||
|
@ -171,19 +191,33 @@ export class ProductService {
|
|||
async findAllForPartner(
|
||||
page: number,
|
||||
pageSize: number,
|
||||
categories: string,
|
||||
subCategories: string,
|
||||
username: string,
|
||||
) {
|
||||
const user = await this.usersService.findOneByUsername(username);
|
||||
const supplier = await this.supplierService.findByActive();
|
||||
|
||||
let filterSupplier, filterSubCategories;
|
||||
|
||||
if (subCategories) {
|
||||
filterSubCategories = subCategories.split(',').map((data) => data.trim());
|
||||
} else {
|
||||
throw new HttpException(
|
||||
{
|
||||
statusCode: HttpStatus.NOT_FOUND,
|
||||
error: 'Sub Categories not inlcude',
|
||||
},
|
||||
HttpStatus.NOT_FOUND,
|
||||
);
|
||||
}
|
||||
|
||||
const baseQuery = this.productRepository
|
||||
.createQueryBuilder('product')
|
||||
.leftJoin('product.sub_categories', 'sub_categories')
|
||||
.where(
|
||||
`sub_categories.category_id = :id and product.supplier_id = :supplier_id and product.status = 'ACTIVE'`,
|
||||
`product.sub_categories_id IN (:...subCategoryId) and product.supplier_id = :supplier_id and product.status = 'ACTIVE'`,
|
||||
{
|
||||
id: categories,
|
||||
subCategoryId: filterSubCategories,
|
||||
supplier_id: supplier.id,
|
||||
},
|
||||
)
|
||||
|
@ -192,13 +226,20 @@ export class ProductService {
|
|||
'product.priceHistory',
|
||||
'current_price',
|
||||
'current_price.partner_id = :id_partner and current_price.end_date is NULL',
|
||||
{
|
||||
id_partner: user.partner.id,
|
||||
},
|
||||
)
|
||||
.setParameter('id_partner', user.partner.id);
|
||||
.select(['product.id'])
|
||||
.addSelect(['product.name', 'product.code', 'sub_categories.name'])
|
||||
.addSelect(
|
||||
'(current_price.price + current_price.mark_up_price) as price',
|
||||
);
|
||||
|
||||
const data = await baseQuery
|
||||
.skip(page * pageSize)
|
||||
.take(pageSize)
|
||||
.getMany();
|
||||
.offset(page * 10)
|
||||
.limit(10)
|
||||
.getRawMany();
|
||||
|
||||
const totalData = await baseQuery.getCount();
|
||||
|
||||
|
|
|
@ -1,17 +1,4 @@
|
|||
import {
|
||||
Controller,
|
||||
Get,
|
||||
Post,
|
||||
Body,
|
||||
Patch,
|
||||
Param,
|
||||
Delete,
|
||||
Request,
|
||||
HttpStatus,
|
||||
Query,
|
||||
Put,
|
||||
ParseUUIDPipe,
|
||||
} from '@nestjs/common';
|
||||
import { Body, Controller, Get, HttpStatus, Param, ParseUUIDPipe, Post, Put, Query, Request } from '@nestjs/common';
|
||||
import { TransactionService } from './transaction.service';
|
||||
import { DistributeTransactionDto } from './dto/distribute-transaction.dto';
|
||||
import { OrderTransactionDto } from './dto/order-transaction.dto';
|
||||
|
@ -101,10 +88,15 @@ export class TransactionController {
|
|||
}
|
||||
|
||||
@Get('history')
|
||||
async findByCategories(@Query('page') page: number, @Request() req) {
|
||||
async findByCategories(
|
||||
@Query('page') page: number,
|
||||
@Query('pageSize') pageSize: number,
|
||||
@Request() req,
|
||||
) {
|
||||
const data = await this.transactionService.transactionHistoryByUser(
|
||||
page,
|
||||
req.user.userId,
|
||||
pageSize,
|
||||
);
|
||||
|
||||
return {
|
||||
|
@ -115,11 +107,16 @@ export class TransactionController {
|
|||
}
|
||||
|
||||
@Get('deposit-return')
|
||||
async findDepositReturn(@Query('page') page: number, @Request() req) {
|
||||
async findDepositReturn(
|
||||
@Query('page') page: number,
|
||||
@Query('pageSize') pageSize: number,
|
||||
@Request() req,
|
||||
) {
|
||||
const [data, count] =
|
||||
await this.transactionService.getAllDepositReturnFromUser(
|
||||
req.user.userId,
|
||||
page,
|
||||
pageSize,
|
||||
);
|
||||
|
||||
return {
|
||||
|
@ -133,12 +130,14 @@ export class TransactionController {
|
|||
@Get('deposit-return/confirmation')
|
||||
async findDepositReturnConfirmation(
|
||||
@Query('page') page: number,
|
||||
@Query('pageSize') pageSize: number,
|
||||
@Request() req,
|
||||
) {
|
||||
const [data, count] =
|
||||
await this.transactionService.getAllDepositReturnToUser(
|
||||
req.user.userId,
|
||||
page,
|
||||
pageSize,
|
||||
);
|
||||
|
||||
return {
|
||||
|
|
|
@ -3,24 +3,14 @@ import { DistributeTransactionDto } from './dto/distribute-transaction.dto';
|
|||
import { OrderTransactionDto } from './dto/order-transaction.dto';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Transactions } from './entities/transactions.entity';
|
||||
import {
|
||||
Connection,
|
||||
EntityManager,
|
||||
EntityNotFoundError,
|
||||
Repository,
|
||||
} from 'typeorm';
|
||||
import { Connection, EntityNotFoundError, Repository } from 'typeorm';
|
||||
import { COA } from './entities/coa.entity';
|
||||
import { TransactionJournal } from './entities/transaction-journal.entity';
|
||||
import { CoaService } from './coa.service';
|
||||
import * as uuid from 'uuid';
|
||||
import { uniq } from 'lodash';
|
||||
import { Decimal } from 'decimal.js';
|
||||
import {
|
||||
balanceType,
|
||||
coaType,
|
||||
statusTransaction,
|
||||
typeTransaction,
|
||||
} from '../helper/enum-list';
|
||||
import { balanceType, coaType, statusTransaction, typeTransaction } from '../helper/enum-list';
|
||||
import { ProductService } from '../product/product.service';
|
||||
import { CreateJournalDto } from './dto/create-journal.dto';
|
||||
import { UsersService } from 'src/users/users.service';
|
||||
|
@ -560,7 +550,11 @@ export class TransactionService {
|
|||
return transactionData;
|
||||
}
|
||||
|
||||
async transactionHistoryByUser(page: number, user: string) {
|
||||
async transactionHistoryByUser(
|
||||
page: number,
|
||||
user: string,
|
||||
pageSize?: number,
|
||||
) {
|
||||
const baseQuery = this.transactionRepository
|
||||
.createQueryBuilder('transaction')
|
||||
.select('transaction.id', 'id')
|
||||
|
@ -578,8 +572,8 @@ export class TransactionService {
|
|||
// .leftJoinAndSelect('product_price.product', 'product');
|
||||
|
||||
const data = await baseQuery
|
||||
.skip(page * 10)
|
||||
.take(10)
|
||||
.offset(page * (pageSize || 10))
|
||||
.limit(pageSize || 10)
|
||||
.getRawMany();
|
||||
|
||||
const totalData = await baseQuery.getCount();
|
||||
|
@ -614,10 +608,14 @@ export class TransactionService {
|
|||
}
|
||||
}
|
||||
|
||||
async getAllDepositReturnFromUser(user: string, page: number) {
|
||||
async getAllDepositReturnFromUser(
|
||||
user: string,
|
||||
page: number,
|
||||
pageSize?: number,
|
||||
) {
|
||||
return this.transactionRepository.findAndCount({
|
||||
skip: page * 10,
|
||||
take: 10,
|
||||
skip: page * (pageSize || 10),
|
||||
take: pageSize || 10,
|
||||
where: {
|
||||
user: user,
|
||||
type: typeTransaction.DEPOSIT_RETURN,
|
||||
|
@ -628,10 +626,14 @@ export class TransactionService {
|
|||
});
|
||||
}
|
||||
|
||||
async getAllDepositReturnToUser(user: string, page: number) {
|
||||
async getAllDepositReturnToUser(
|
||||
user: string,
|
||||
page: number,
|
||||
pageSize?: number,
|
||||
) {
|
||||
return this.transactionRepository.findAndCount({
|
||||
skip: page * 10,
|
||||
take: 10,
|
||||
skip: page * (pageSize || 10),
|
||||
take: pageSize || 10,
|
||||
where: {
|
||||
user_destination: user,
|
||||
type: typeTransaction.DEPOSIT_RETURN,
|
||||
|
|
|
@ -15,4 +15,7 @@ export class CreatePartnerDto {
|
|||
|
||||
@IsNotEmpty()
|
||||
password_account: string;
|
||||
|
||||
@IsNotEmpty()
|
||||
phone_number: string;
|
||||
}
|
||||
|
|
|
@ -1,10 +1,4 @@
|
|||
import {
|
||||
forwardRef,
|
||||
HttpException,
|
||||
HttpStatus,
|
||||
Inject,
|
||||
Injectable,
|
||||
} from '@nestjs/common';
|
||||
import { forwardRef, HttpException, HttpStatus, Inject, Injectable } from '@nestjs/common';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Connection, Not, Repository } from 'typeorm';
|
||||
import { CoaService } from '../../transaction/coa.service';
|
||||
|
@ -59,12 +53,13 @@ export class PartnerService {
|
|||
|
||||
const dataUser = new CreateUserDto();
|
||||
dataUser.username = `admin_${partnerData.name}`;
|
||||
dataUser.username = partnerData.name;
|
||||
dataUser.name = partnerData.name;
|
||||
dataUser.phone_number = partnerData.phone_number;
|
||||
dataUser.roleId = '21dceea2-416e-4b55-b74c-12605e1f8d1b';
|
||||
dataUser.superior = false;
|
||||
dataUser.partner = partnerData;
|
||||
dataUser.password = createPartnerDto.password_account;
|
||||
dataUser.phone_number = createPartnerDto.phone_number;
|
||||
|
||||
await this.userService.create(dataUser, currentUser);
|
||||
|
||||
|
@ -134,10 +129,10 @@ export class PartnerService {
|
|||
return partnerData;
|
||||
};
|
||||
|
||||
findAllPartner(page) {
|
||||
findAllPartner(page, pageSize?) {
|
||||
return this.partnerRepository.findAndCount({
|
||||
skip: page * 10,
|
||||
take: 10,
|
||||
skip: page * (pageSize || 10),
|
||||
take: pageSize || 10,
|
||||
order: {
|
||||
version: 'DESC',
|
||||
},
|
||||
|
|
|
@ -1,10 +1,4 @@
|
|||
import {
|
||||
forwardRef,
|
||||
HttpException,
|
||||
HttpStatus,
|
||||
Inject,
|
||||
Injectable,
|
||||
} from '@nestjs/common';
|
||||
import { forwardRef, HttpException, HttpStatus, Inject, Injectable } from '@nestjs/common';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Connection, EntityNotFoundError, Not, Repository } from 'typeorm';
|
||||
import { Supplier } from '../entities/supplier.entity';
|
||||
|
@ -130,7 +124,7 @@ export class SupplierService {
|
|||
return supplierData;
|
||||
};
|
||||
|
||||
async findAllSupplier(page) {
|
||||
async findAllSupplier(page, pageSize?) {
|
||||
const baseQuery = this.supplierRepository
|
||||
.createQueryBuilder('supplier')
|
||||
.leftJoinAndMapOne(
|
||||
|
@ -148,8 +142,8 @@ export class SupplierService {
|
|||
.select(['supplier', 'coa.amount', 'coa_undistribute.amount']);
|
||||
|
||||
const data = await baseQuery
|
||||
.skip(page * 10)
|
||||
.take(10)
|
||||
.skip(page * (pageSize || 10))
|
||||
.take(pageSize || 10)
|
||||
.getMany();
|
||||
|
||||
const totalData = await baseQuery.getCount();
|
||||
|
@ -199,4 +193,24 @@ export class SupplierService {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
async findByActiveAll() {
|
||||
try {
|
||||
return await this.supplierRepository.find({
|
||||
status: true,
|
||||
});
|
||||
} catch (e) {
|
||||
if (e instanceof EntityNotFoundError) {
|
||||
throw new HttpException(
|
||||
{
|
||||
statusCode: HttpStatus.NOT_FOUND,
|
||||
error: 'Supplier Data not found',
|
||||
},
|
||||
HttpStatus.NOT_FOUND,
|
||||
);
|
||||
} else {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -125,8 +125,12 @@ export class UsersController {
|
|||
|
||||
@Public()
|
||||
@Get('supplier')
|
||||
async findAllSupplier(@Query('page') page: number) {
|
||||
const data = await this.supplierService.findAllSupplier(page);
|
||||
async findAllSupplier(
|
||||
@Query('page') page: number,
|
||||
@Query('pageSize') pageSize: number,
|
||||
@Request() req,
|
||||
) {
|
||||
const data = await this.supplierService.findAllSupplier(page, pageSize);
|
||||
|
||||
return {
|
||||
...data,
|
||||
|
@ -136,8 +140,15 @@ export class UsersController {
|
|||
}
|
||||
|
||||
@Get('partner')
|
||||
async findAllPartner(@Query('page') page: number) {
|
||||
const [data, count] = await this.partnerService.findAllPartner(page);
|
||||
async findAllPartner(
|
||||
@Query('page') page: number,
|
||||
@Query('pageSize') pageSize: number,
|
||||
@Request() req,
|
||||
) {
|
||||
const [data, count] = await this.partnerService.findAllPartner(
|
||||
page,
|
||||
pageSize,
|
||||
);
|
||||
|
||||
return {
|
||||
data,
|
||||
|
@ -162,8 +173,13 @@ export class UsersController {
|
|||
async findByRoles(
|
||||
@Param('id', ParseUUIDPipe) id: string,
|
||||
@Query('page') page: number,
|
||||
@Query('pageSize') pageSize: number,
|
||||
) {
|
||||
const [data, count] = await this.usersService.findByRoles(id, page);
|
||||
const [data, count] = await this.usersService.findByRoles(
|
||||
id,
|
||||
page,
|
||||
pageSize,
|
||||
);
|
||||
|
||||
return {
|
||||
data,
|
||||
|
|
|
@ -1,19 +1,7 @@
|
|||
import {
|
||||
forwardRef,
|
||||
HttpException,
|
||||
HttpStatus,
|
||||
Inject,
|
||||
Injectable,
|
||||
} from '@nestjs/common';
|
||||
import { forwardRef, HttpException, HttpStatus, Inject, Injectable } from '@nestjs/common';
|
||||
import { CreateUserDto } from './dto/create-user.dto';
|
||||
import { UpdateUserDto } from './dto/update-user.dto';
|
||||
import {
|
||||
Connection,
|
||||
EntityNotFoundError,
|
||||
Equal,
|
||||
Not,
|
||||
Repository,
|
||||
} from 'typeorm';
|
||||
import { Connection, EntityNotFoundError, Not, Repository } from 'typeorm';
|
||||
import { User } from './entities/user.entity';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { randomStringGenerator } from '@nestjs/common/utils/random-string-generator.util';
|
||||
|
@ -155,10 +143,10 @@ export class UsersService {
|
|||
};
|
||||
}
|
||||
|
||||
findByRoles(relationId: string, page: number) {
|
||||
findByRoles(relationId: string, page: number, pageSize?: number) {
|
||||
return this.usersRepository.findAndCount({
|
||||
skip: page * 10,
|
||||
take: 10,
|
||||
skip: page * (pageSize || 10),
|
||||
take: pageSize || 10,
|
||||
where: {
|
||||
roles: relationId,
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue
Block a user