Merge branch 'development' into 'devops-staging'
Development See merge request empatnusabangsa/ppob/ppob-backend!218
This commit is contained in:
commit
5a7d75ab67
|
@ -309,11 +309,13 @@ export class ProductService {
|
||||||
supplier = (await this.supplierService.findByActive()).id;
|
supplier = (await this.supplierService.findByActive()).id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log(supplier, 'asldklaksd')
|
||||||
|
|
||||||
const baseQuery = this.productRepository
|
const baseQuery = this.productRepository
|
||||||
.createQueryBuilder('product')
|
.createQueryBuilder('product')
|
||||||
.leftJoin('product.sub_categories', 'sub_categories')
|
.leftJoin('product.sub_categories', 'sub_categories')
|
||||||
|
|
||||||
.leftJoin('product.statusHistory', 'status_history')
|
// .leftJoin('product.statusHistory', 'status_history')
|
||||||
|
|
||||||
.leftJoinAndMapOne(
|
.leftJoinAndMapOne(
|
||||||
'product.currentPrice',
|
'product.currentPrice',
|
||||||
|
@ -321,12 +323,27 @@ export class ProductService {
|
||||||
'current_price',
|
'current_price',
|
||||||
'current_price.partner_id is NULL and current_price.end_date is NULL',
|
'current_price.partner_id is NULL and current_price.end_date is NULL',
|
||||||
)
|
)
|
||||||
|
.innerJoinAndMapOne(
|
||||||
|
'product.currentStatus',
|
||||||
|
'product.statusHistory',
|
||||||
|
'history_status',
|
||||||
|
`history_status.status = 'ACTIVE' and history_status.deleted_at is NULL`,
|
||||||
|
{
|
||||||
|
status: 'ACTIVE',
|
||||||
|
},
|
||||||
|
)
|
||||||
.where(
|
.where(
|
||||||
`product.supplier_id = :supplier_id and status_history.status = 'ACTIVE' and status_history.partner_id is NULL`,
|
`product.supplier_id = :supplier_id`,
|
||||||
{
|
{
|
||||||
supplier_id: supplier,
|
supplier_id: supplier,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
.where(
|
||||||
|
`history_status.partner_id is NULL`,
|
||||||
|
{
|
||||||
|
partner_id: null,
|
||||||
|
},
|
||||||
|
)
|
||||||
.select(['product.id'])
|
.select(['product.id'])
|
||||||
.addSelect(['product.name', 'product.code', 'sub_categories.name'])
|
.addSelect(['product.name', 'product.code', 'sub_categories.name'])
|
||||||
.addSelect('(current_price.price + current_price.mark_up_price) as price')
|
.addSelect('(current_price.price + current_price.mark_up_price) as price')
|
||||||
|
@ -505,16 +522,14 @@ export class ProductService {
|
||||||
async findOneActive(
|
async findOneActive(
|
||||||
code: string,
|
code: string,
|
||||||
type: string,
|
type: string,
|
||||||
roles: string,
|
productId: string
|
||||||
supplierId: string,
|
|
||||||
) {
|
) {
|
||||||
if (roles == 'Retail') {
|
|
||||||
try {
|
try {
|
||||||
return await this.productRepository.findOneOrFail({
|
return await this.productRepository.findOneOrFail({
|
||||||
relations: ['supplier'],
|
relations: ['supplier'],
|
||||||
where: {
|
where: {
|
||||||
code: code,
|
code: code,
|
||||||
supplier: supplierId,
|
id: productId
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
@ -530,28 +545,7 @@ export class ProductService {
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
try {
|
|
||||||
return await this.productRepository.findOneOrFail({
|
|
||||||
relations: ['supplier'],
|
|
||||||
where: {
|
|
||||||
code: code,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
} catch (e) {
|
|
||||||
if (e instanceof EntityNotFoundError) {
|
|
||||||
throw new HttpException(
|
|
||||||
{
|
|
||||||
statusCode: HttpStatus.NOT_FOUND,
|
|
||||||
error: 'Product not found',
|
|
||||||
},
|
|
||||||
HttpStatus.NOT_FOUND,
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
throw e;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async findOneById(id: string) {
|
async findOneById(id: string) {
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
import { IsNotEmpty, IsOptional } from 'class-validator';
|
import { IsNotEmpty, IsOptional } from 'class-validator';
|
||||||
|
|
||||||
export class OrderTransactionDto {
|
export class OrderTransactionDto {
|
||||||
|
|
||||||
|
@IsNotEmpty()
|
||||||
|
productId: string;
|
||||||
|
|
||||||
@IsNotEmpty()
|
@IsNotEmpty()
|
||||||
productCode: string;
|
productCode: string;
|
||||||
|
|
||||||
|
|
|
@ -335,14 +335,13 @@ export class TransactionService {
|
||||||
currentUser.username,
|
currentUser.username,
|
||||||
);
|
);
|
||||||
|
|
||||||
const supplierData = await this.supplierService.findByCode('IRS');
|
// const supplierData = await this.supplierService.findByCode('IRS');
|
||||||
|
|
||||||
//GET PRODUCT
|
//GET PRODUCT
|
||||||
const product = await this.productService.findOneActive(
|
const product = await this.productService.findOneActive(
|
||||||
orderTransactionDto.productCode,
|
orderTransactionDto.productCode,
|
||||||
'prepaid',
|
'prepaid',
|
||||||
userData.roles.name,
|
orderTransactionDto.productId
|
||||||
supplierData.id
|
|
||||||
);
|
);
|
||||||
|
|
||||||
const product_price = await this.productHistoryPriceService.findOne(
|
const product_price = await this.productHistoryPriceService.findOne(
|
||||||
|
@ -491,16 +490,13 @@ export class TransactionService {
|
||||||
currentUser.username,
|
currentUser.username,
|
||||||
);
|
);
|
||||||
|
|
||||||
const supplierData = await this.supplierService.findByCode('IRS');
|
// const supplierData = await this.supplierService.findByCode('IRS');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//GET PRODUCT AND PRICE
|
//GET PRODUCT AND PRICE
|
||||||
const product = await this.productService.findOneActive(
|
const product = await this.productService.findOneActive(
|
||||||
orderTransactionDto.productCode,
|
orderTransactionDto.productCode,
|
||||||
'prepaid',
|
'prepaid',
|
||||||
userData.roles.name,
|
orderTransactionDto.productId
|
||||||
supplierData.id
|
|
||||||
);
|
);
|
||||||
|
|
||||||
const supplier = await this.supplierService.findByCode(
|
const supplier = await this.supplierService.findByCode(
|
||||||
|
|
Loading…
Reference in New Issue
Block a user