Feat: add insert product history status at upload product csv

This commit is contained in:
mfadiln2018 2022-08-25 23:01:59 +07:00
parent cfaaa6ce64
commit 9e51516519
2 changed files with 19 additions and 1 deletions

View File

@ -10,6 +10,7 @@ import { ProductSubCategories } from './entities/product-sub-category.entity';
import { ProductSubCategoriesService } from './product-sub-categories.service'; import { ProductSubCategoriesService } from './product-sub-categories.service';
import { UsersModule } from '../users/users.module'; import { UsersModule } from '../users/users.module';
import { ProductHistoryPriceService } from './history-price/history-price.service'; import { ProductHistoryPriceService } from './history-price/history-price.service';
import {ProductHistoryStatus} from "./entities/product-history-status.entity";
@Module({ @Module({
imports: [ imports: [
@ -17,6 +18,7 @@ import { ProductHistoryPriceService } from './history-price/history-price.servic
Product, Product,
ProductCategories, ProductCategories,
ProductHistoryPrice, ProductHistoryPrice,
ProductHistoryStatus,
ProductSubCategories, ProductSubCategories,
]), ]),
forwardRef(() => UsersModule), forwardRef(() => UsersModule),

View File

@ -13,6 +13,7 @@ import { SupplierService } from '../users/supplier/supplier.service';
import { parsingFile } from '../helper/csv-parser'; import { parsingFile } from '../helper/csv-parser';
import { PartnerService } from '../users/partner/partner.service'; import { PartnerService } from '../users/partner/partner.service';
import { mapSeries } from 'bluebird'; import { mapSeries } from 'bluebird';
import { ProductHistoryStatus } from './entities/product-history-status.entity';
export class ProductService { export class ProductService {
constructor( constructor(
@ -20,6 +21,8 @@ export class ProductService {
private productRepository: Repository<Product>, private productRepository: Repository<Product>,
@InjectRepository(ProductHistoryPrice) @InjectRepository(ProductHistoryPrice)
private productHistoryPrice: Repository<ProductHistoryPrice>, private productHistoryPrice: Repository<ProductHistoryPrice>,
@InjectRepository(ProductHistoryStatus)
private productHistoryStatus: Repository<ProductHistoryStatus>,
private productSubCategoriesService: ProductSubCategoriesService, private productSubCategoriesService: ProductSubCategoriesService,
private usersService: UsersService, private usersService: UsersService,
private supplierService: SupplierService, private supplierService: SupplierService,
@ -103,6 +106,13 @@ export class ProductService {
}); });
} }
await this.productHistoryStatus.insert({
product: productData,
partner: it[6] != '-' ? partnerData : null,
status: it[5] == 'active' ? 'ACTIVE' : 'NOT ACTIVE',
});
await this.productHistoryPrice.insert({ await this.productHistoryPrice.insert({
product: productData, product: productData,
mark_up_price: it[4], mark_up_price: it[4],
@ -123,12 +133,18 @@ export class ProductService {
const savedProduct = await this.productRepository.insert({ const savedProduct = await this.productRepository.insert({
name: it[1], name: it[1],
code: it[0], code: it[0],
status: it[5] == 'active' ? 'ACTIVE' : 'NOT ACTIVE', status: null,
sub_categories: subCategories, sub_categories: subCategories,
supplier: supplierData, supplier: supplierData,
type: it[7] == 'postpaid' ? 'postpaid' : 'prepaid', type: it[7] == 'postpaid' ? 'postpaid' : 'prepaid',
}); });
await this.productHistoryStatus.insert({
product: savedProduct.identifiers[0],
partner: partnerData,
status: it[5] == 'active' ? 'ACTIVE' : 'NOT ACTIVE',
});
return await this.productHistoryPrice.insert({ return await this.productHistoryPrice.insert({
product: savedProduct.identifiers[0], product: savedProduct.identifiers[0],
mark_up_price: it[4], mark_up_price: it[4],