diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/financial-info/financial-info.component.html b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/financial-info/financial-info.component.html index 683db0cd1..6ee1a4bb7 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/financial-info/financial-info.component.html +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/financial-info/financial-info.component.html @@ -68,7 +68,7 @@ 40) || (details.controls['financial_variation'].value < -40)}" placeholder="Variation from Previous Year" formControlName="financial_variation" (keypress)="keyPress($event)"> - 40) || (details.controls['financial_variation'].value < -40)}" >{{SalesStatement[i]}} + diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/financial-info/financial-info.component.ts b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/financial-info/financial-info.component.ts index f0bd5306c..2cbef9a51 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/financial-info/financial-info.component.ts +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/financial-info/financial-info.component.ts @@ -459,16 +459,18 @@ export class FinancialInfoComponent implements OnInit { } - calAmount(index, detail) { + + calAmount(i, detail) { + console.log(detail); + let salary = detail.value.estimate_annual_sale; - if(detail.value.estimate_profit_or_loss == 1){ + if(detail.value.estimate_profit_or_loss == 1){ - // let profit = detail.value.estimate_net_profit; - let margin_profit = detail.value.estimate_margin_of_profit; - - + // let profit = detail.value.estimate_net_profit; + let margin_profit = detail.value.estimate_margin_of_profit; + if (salary != '' && margin_profit != '') { @@ -480,7 +482,6 @@ export class FinancialInfoComponent implements OnInit { //detail.controls.estimate_margin_of_profit.setValue(margin.toFixed(2)); detail.controls.estimate_net_profit.setValue(profit.toFixed(2)); - } } // else if (detail.value.estimate_profit_or_loss == 2){ @@ -498,7 +499,7 @@ export class FinancialInfoComponent implements OnInit { } submitDetails() { - console.log(this.financialForm.value.date_per_financial['financial_variation']); + if(this.financialForm.value.date_per_financial['finanical_profit_or_loss'] == 1){ this.financialForm.value.date_per_financial['financial_net_profit'].setValidators([Validators.required]); @@ -527,9 +528,9 @@ export class FinancialInfoComponent implements OnInit { this.financialForm.value.date_per_financial['financial_margin_of_loss'].setValidators([Validators.required]); this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity(); } - if (!this.financialForm.valid) { - return; - } + // if (!this.financialForm.valid) { + // return; + // } let records = this.financialForm.value; console.log('data', records); this._pd.saveForm(records).subscribe(data => { diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/stock/stock.component.html b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/stock/stock.component.html index 450d5378e..ea0fce859 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/stock/stock.component.html +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/stock/stock.component.html @@ -1,222 +1,414 @@ - - + {{pageTitle}} close - - - + + + + + - - - - - - - - - - - Raw Materials - - - + + + + + + + + Manufacturing Details + + + + + + {{a+1}} . Raw Material - - Yes - No + + Yes + No - - - - - - + + + + + - {{uom.name}} - + {{uom.name}} + + + + + + + + + + + + + + + Yes + No + + + + Please comment on the stock level observed? + + + + + add + + 0"> + delete + + + + + + + + {{b+1}} Finished Goods + + + - - - - - - {{"₹"}} {{rawValueInWords}} Only - - - - - - - + + Yes No - - Please comment on the stock level observed? - - - - - - + + + + + + + + + + + + + + Yes + No + + + + Please comment on the finished goods stock level observed? + + + + + add - 0"> + 0"> delete - - - - - - - - - - - - Finished Goods - - - - - - - - - - Yes - No - - - - - - - - - {{"₹"}} {{goodsValueInWords}} Only - - - - - - - - Yes - No - - - - Please comment on the finished goods stock level observed? - - - - - - add - - 0"> - delete - - - - - - - + + + + + {{c+1}} Traded Goods + + + + + + + Yes + No + + + + + + + + + + + + + + + + + Yes + No + + + + Please comment on the Traded Goods stock level observed? + + + + + + add + + 0"> + delete + + + + + + + + + Retail Details + + + + + + + + {{d+1}} Finished Goods + + + + + + + Yes + No + + + + + + + + + + + + + + + + + Yes + No + + + + Please comment on the finished goods stock level observed? + + + + + + add + + 0"> + delete + + + + - - - - - Stock of Goods Traded - - - - - - - - - - Yes - No - - - - - - - - - {{"₹"}} {{tradedGoodsValueInWords}} Only - - - - - - - - Yes - No - - - - Please comment on the Traded Goods stock level observed? - - - - - - add - - 0"> - delete - - - - - - + + + {{e+1}} Traded Goods + + + + + + + Yes + No + + + + + + + + + + + + + + + + + Yes + No + + + + Please comment on the Traded Goods stock level observed? + + + + + add + + 0"> + delete + + + - - - + + + + + + + + Trading Details + + + + + + + {{f+1}} Finished Goods + + + + + + + Yes + No + + + + + + + + + + + + + + + + + Yes + No + + + + Please comment on the finished goods stock level observed? + + + + + + add + + 0"> + delete + + + + + + + + + {{g+1}} Traded Goods + + + + + + + Yes + No + + + + + + + + + + + + + + + + + Yes + No + + + + Please comment on the Traded Goods stock level observed? + + + + + + add + + 0"> + delete + + + + + + + + + + + + + + + + - - + + @@ -246,7 +438,7 @@ - + @@ -283,7 +475,7 @@ picture_as_pdf version_111 - + picture_as_pdf version_111 @@ -306,40 +498,33 @@ - - - + + + - - + + Remarks - - - - save - - + + + + save + - - - - - - - - + + + + --> - + \ No newline at end of file diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/stock/stock.component.ts b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/stock/stock.component.ts index 619b4856b..9eff1689c 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/stock/stock.component.ts +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/stock/stock.component.ts @@ -35,7 +35,7 @@ export class StockComponent implements OnInit { pageTitle: string ="Stock Details"; pdid: number; form_id: number; - public stockForm: FormGroup; + public stockForms: FormGroup; private notifier: NotifierService; public uomData : any = []; @@ -46,6 +46,8 @@ export class StockComponent implements OnInit { rawMaterialAccess: boolean; finishedGoodsAccess: boolean; tradeConcernAccess: boolean; + public submitted = false; + noRecordsFound: Boolean = false; constructor(notifier: NotifierService, private fb: FormBuilder, private route: ActivatedRoute, private router: Router, @@ -74,154 +76,310 @@ export class StockComponent implements OnInit { } }; ngOnInit() { - this.initstockForm(); - this.getUOM(); - //this.setSku('data',0); + + // this._pd.stockFormsAccess({pd_id:this.pdid}).subscribe(data => { + // if(data.status == 200){ + // this.initstockForms(data.record.type_of_activity); + // } + // }, err => { + // this.notifier.notify('warning', 'There is No Type Of Activity Please Check Bussiness Information.!'); + // }) + + this._pd.getTypeofActivityForSuppliedInfoForm(this.pdid).subscribe(data => { + // if(data.dataStatus === undefined){ + let datas = { + "profession_name": "Others", + "type_of_activity": [ + { + "type_of_activity_id": 1, + "name": "Manufacturing Details" + }, + { + "type_of_activity_id": 2, + "name": "Retail trading" + }, + { + "type_of_activity_id": 3, + "name": "Trading Concern" + }, + { + "type_of_activity_id": 4, + "name": "Service Provider" + } + ] + }; + this.initstockForms(datas.type_of_activity); + // }else { + // this.notifier.notify('warning', 'No Category Records Found.!'); + // this.noRecordsFound = false; + // } + }, err => { + + this.notifier.notify('warning', 'There is No Type Of Activity Please Check Bussiness Information.!'); + this.noRecordsFound = false; + }) + + this.getUOM(); + } + + public initstockForms(record){ + let params: any = {}; - let activityArray : any = []; params.pd_id = this.pdid; params.pd_form_id = this.form_id; - - this._pd.stockFormAccess({pd_id:this.pdid}).subscribe(value => { - console.log(value); - const rawMaterial = this.stockForm.controls['raw_materials']; - const finishedGoods = this.stockForm.controls['finished_goods']; - const tradedGoods = this.stockForm.controls['traded_goods']; - - if (value.status == 200) { - console.log('value.records',value.records); - value.records.type_of_activity.forEach(val => { - //console.log(val); - //console.log(val.type_of_activity_id); - this.rawMaterialAccess = true; - this.finishedGoodsAccess = true; - this.tradeConcernAccess = true; - if(val.type_of_activity_id == 1){ - rawMaterial.push(this.createRawmaterial()); - finishedGoods.push(this.createGoods()); - tradedGoods.push(this.createTradedGoods()); - } - else if(val.type_of_activity_id == 2){ - rawMaterial.push(this.createRawmaterial()); - finishedGoods.push(this.createGoods()); - } - else if(val.type_of_activity_id == 3){ - rawMaterial.push(this.createRawmaterial()); - finishedGoods.push(this.createGoods()); - } - // else if(val.type_of_activity_id == 4){ - // } - - }); - - this._pd.retriveForm({pd_id:this.pdid,pd_form_id:'1'}).subscribe(value => { - //console.log('Raw material Name',value.records.main_raw_materials); - - // const faControl = (this.stockForm.controls['raw_materials']).at(1); - - //const control = (this.stockForm.controls['raw_materials']).at(0); - //console.log(control); - - // this.stockForm.controls['raw_materials'].setValue(value.records.main_raw_materials); - // if (value.status == 200) { - // this.rawmaterial = value.records.main_raw_materials; - // }else{ this.rawmaterial = ''; } - }) this._pd.retriveForm(params).subscribe(value => { - //console.log('value', value); - if (value.status == 200) { - console.log('data',value); - // Raw Material Access is True means., Data have to load, - if(this.rawMaterialAccess == true){ - - let result = Object.keys(value.records.raw_materials).map(function(key) { - return value.records.raw_materials[key]; - }); - - if (result.length > 0) { - - result.forEach(val => { - - //this.RawMaterialValidation(val.stock_observed); - rawMaterial.push(this.createRawmaterial()); - if(val.raw_value != '' && val.raw_value != null ){ this.rawValueInWords = this._pd.convertNumberToWords(val.raw_value); } - }); - this.stockForm.controls['raw_materials'].setValue(result); - } else { - rawMaterial.push(this.createRawmaterial()); - } - } - - // Finished Goods Access is TRUE Means., data have to load., - if(this.finishedGoodsAccess == true){ - let result_Goods = Object.keys(value.records.finished_goods).map(function(key) { - return value.records.finished_goods[key]; - }); - - if (result_Goods.length > 0) { - - result_Goods.forEach(val => { - - //this.GoodsValidation(val.goods_observed); - finishedGoods.push(this.createGoods()); - if(val.goods_value != '' && val.goods_value != null ){ this.goodsValueInWords = this._pd.convertNumberToWords(val.goods_value); } - }); - this.stockForm.controls['finished_goods'].setValue(result_Goods); - } else { - finishedGoods.push(this.createGoods()); - } - } - - //TradeConcern Access is TRUE Means., data have to load., - if(this.tradeConcernAccess == true){ - let result_Traded_Goods = Object.keys(value.records.finished_goods).map(function(key) { - return value.records.traded_goods[key]; - }); - - if (result_Traded_Goods.length > 0) { - - result_Traded_Goods.forEach(val => { - - - tradedGoods.push(this.createTradedGoods()); - if(val.traded_goods_value != '' && val.traded_goods_value != null ) - { this.tradedGoodsValueInWords = this._pd.convertNumberToWords(val.traded_goods_value); } - }); - this.stockForm.controls['traded_goods'].setValue(result_Traded_Goods); - } else { - tradedGoods.push(this.createTradedGoods()); - } - } - - - this.stockForm.controls['stock_remarks'].setValue(value.records.stock_remarks); + let dataForm = value.records; - } else { - // rawMaterial.push(this.createRawmaterial()); - // finishedGoods.push(this.createGoods()); - // tradedGoods.push(this.createTradedGoods()); + if(dataForm !== undefined) { + console.log('dtaForm',dataForm); + this.stockForms = this.fb.group({ + pdid: [this.pdid], + formid: [this.form_id], + stock_remarks: [''], + manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]), + retail_details : this.fb.array([this.retailFormCreation(record)]), + trade_details: this.fb.array([this.tradingFormCreation(record)]), + }); + let arr = record.filter(data => data.type_of_activity_id === 1); + if(arr.length > 0) { + let retail_finished_goods; + let manufacturing_raw_materials; + let manufacturing_finished_goods; + let manufacturing_traded_goods; + if(dataForm.manufacturing_raw_materials !==undefined){ + manufacturing_raw_materials = Object.keys(dataForm.manufacturing_raw_materials).map(function (key) { + return dataForm.manufacturing_raw_materials[key]; + }); + } + if(dataForm.manufacturing_finished_goods !==undefined){ + manufacturing_finished_goods = Object.keys(dataForm.manufacturing_finished_goods).map(function (key) { + return dataForm.manufacturing_finished_goods[key]; + }); + } + if(dataForm.manufacturing_traded_goods !==undefined){ + manufacturing_traded_goods = Object.keys(dataForm.manufacturing_traded_goods).map(function (key) { + return dataForm.manufacturing_traded_goods[key]; + }); + } + if(dataForm.retail_finished_goods !==undefined) + { + retail_finished_goods = Object.keys(dataForm.retail_finished_goods).map(function(key) + { + return dataForm.retail_finished_goods[key]; + }) + } + //console.log(retail_finished_goods,manufacturing_traded_goods); + let manufacturing_temparr = []; + manufacturing_temparr['manufacturing_traded_goods'] = manufacturing_traded_goods;manufacturing_temparr['manufacturing_finished_goods'] = manufacturing_finished_goods;manufacturing_temparr['manufacturing_raw_materials'] = manufacturing_raw_materials; + this.initManufacturingDetails(manufacturing_temparr); + } + let arr1 = record.filter(data => data.type_of_activity_id === 2); + if(arr1.length > 0) { + let retail_finished_goods; + let retail_traded_goods; + + + if(dataForm.retail_traded_goods !==undefined){ + retail_traded_goods = Object.keys(dataForm.retail_traded_goods).map(function (key) { + return dataForm.retail_traded_goods[key]; + }); + } + if(dataForm.retail_finished_goods !==undefined) + { + retail_finished_goods = Object.keys(dataForm.retail_finished_goods).map(function(key) + { + return dataForm.retail_finished_goods[key]; + }) + } + + let retail_temparr = []; + retail_temparr['retail_traded_goods'] = retail_traded_goods; + retail_temparr['retail_finished_goods'] = retail_finished_goods; + this.initRetailDetails(retail_temparr); + } + let arr2 = record.filter(data => data.type_of_activity_id === 3); + if(arr2.length > 0) { + let trading_finished_goods; + let trading_traded_goods; + + if(dataForm.trading_finished_goods !==undefined){ + + trading_finished_goods = Object.keys(dataForm.trading_finished_goods).map(function (key) { + return dataForm.trading_finished_goods[key]; + }); + } + if(dataForm.trading_traded_goods !==undefined) + { + trading_traded_goods = Object.keys(dataForm.trading_traded_goods).map(function(key) + { + return dataForm.trading_traded_goods[key]; + }) + } + + let trading_temparr = []; + trading_temparr['trading_finished_goods'] = trading_finished_goods; + trading_temparr['trading_traded_goods'] = trading_traded_goods; + this.initTradingDetails(trading_temparr); + } + this.noRecordsFound = true; + } + else{ + console.log('dataForm',dataForm); + this.stockForms = this.fb.group({ + pdid: [this.pdid], + formid: [this.form_id], + stock_remarks: [''], + manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]), + retail_details : this.fb.array([this.retailFormCreation(record)]), + trade_details: this.fb.array([this.tradingFormCreation(record)]), + }); + let arr = record.filter(data => data.type_of_activity_id === 1); + if(arr.length > 0) { + this.initManufacturingDetails(null); + } + let arr1 = record.filter(data => data.type_of_activity_id === 2); + if(arr1.length > 0) { + this.initRetailDetails(null); + } + let arr2 = record.filter(data => data.type_of_activity_id === 3); + if(arr2.length > 0) { + this.initTradingDetails(null); + } + let arr3 = record.filter(data => data.type_of_activity_id === 4); + if(arr3.length > 0) { + //this.serviceProviderForm = true; + } + this.noRecordsFound = true; + } + } + else { + this.stockForms = this.fb.group({ + pdid: [this.pdid], + formid: [this.form_id], + stock_remarks: [''], + manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]), + retail_details : this.fb.array([this.retailFormCreation(record)]), + trade_details: this.fb.array([this.tradingFormCreation(record)]), + }); + let arr = record.filter(data => data.type_of_activity_id === 1); + if(arr.length > 0) { + this.initManufacturingDetails(null); + } + let arr1 = record.filter(data => data.type_of_activity_id === 2); + if(arr1.length > 0) { + this.initRetailDetails(null); + } + let arr2 = record.filter(data => data.type_of_activity_id === 3); + if(arr2.length > 0) { + this.initTradingDetails(null); + } + let arr3 = record.filter(data => data.type_of_activity_id === 4); + if(arr3.length > 0) { + //this.serviceProviderForm = true; + } + this.noRecordsFound = true; } }) - } -}); -} - public initstockForm(): void { - this.stockForm = this.fb.group({ - stock_remarks: ['', Validators.compose([Validators.required])], - raw_materials: this.fb.array([]), - finished_goods: this.fb.array([]), - traded_goods: this.fb.array([]) - }); + // this.stockForms = this.fb.group({ + // stock_remarks: ['', Validators.compose([Validators.required])], + // raw_materials: this.fb.array([]), + // finished_goods: this.fb.array([]), + // traded_goods: this.fb.array([]) + // }); } + + manufacturingForm: Boolean = false; + manufacturingFormCreation(val) { + let arr = val.filter(data => data.type_of_activity_id === 1); + if (arr.length > 0) { + this.manufacturingForm = true; + return this.fb.group({ + manufacturing_raw_materials: this.fb.array([]), + manufacturing_finished_goods: this.fb.array([]), + manufacturing_traded_goods: this.fb.array([]) + }) + // } + } else { + return; + } + } + + retailForm: Boolean = false; + retailFormCreation(val) { + let arr = val.filter(data => data.type_of_activity_id === 2); + if (arr.length > 0) { + this.retailForm = true; + return this.fb.group({ + retail_finished_goods: this.fb.array([]), + retail_traded_goods: this.fb.array([]) + }) + // } + } else { + return; + } + } + + tradingForm: Boolean = false; + tradingFormCreation(val) { + let arr = val.filter(data => data.type_of_activity_id === 3); + if (arr.length > 0) { + this.tradingForm = true; + return this.fb.group({ + trading_finished_goods: this.fb.array([]), + trading_traded_goods: this.fb.array([]) + }); + } else { + return; + } + } + //setSku(sku: string, index: number) { // const faControl = - // (this.stockForm.controls['raw_materials']).at(index); + // (this.stockForms.controls['raw_materials']).at(index); // faControl['controls'].raw_name.setValue(sku); // } - createRawmaterial() { + + initManufacturingDetails(datas) { + + const rawMaterial = this.stockForms.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials']; + const finishedGoods = this.stockForms.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods']; + const tradedGoods = this.stockForms.controls['manufacturing_details']['controls'][0].controls['manufacturing_traded_goods']; + const control = this.stockForms.controls['manufacturing_details']['controls'][0].controls['main_raw_materials']; + + if(datas === null){ + console.log(299,'if'); + // rawMaterial.push(this.createRawmaterial(null)); + // finishedGoods.push(this.createGoods(null)); + // tradedGoods.push(this.createTradedGoods(null)); + + } else { + console.log(305,'else') + for (let val of datas.manufacturing_raw_materials) { + console.log(val); + + rawMaterial.push(this.createRawmaterial(val)); + + } + for (let val of datas.manufacturing_finished_goods) { + console.log(val); + + finishedGoods.push(this.createGoods(val)); + + } + for (let val of datas.manufacturing_traded_goods) { + console.log(val); + + tradedGoods.push(this.createTradedGoods(val)); + + } + console.log(310,rawMaterial); + } + } + + createRawmaterial2() { return this.fb.group({ raw_name: ['', Validators.compose([Validators.required])], stock_observed:['', Validators.compose([Validators.required])], @@ -234,7 +392,67 @@ export class StockComponent implements OnInit { rawmaterial_remarks:[''] }); } - createGoods() { + + + createRawmaterial(records) { + // console.log(330,'function in'); + if(records === null) { + // console.log(331,'fif'); + return this.fb.group({ + raw_name: [''], + stock_observed:[''], + raw_quantity: [''], + raw_uom: [''], + other_uom : [''], + raw_value: [''], + rawmaterial_value: [''], + is_sufficiant_raw: [''], + rawmaterial_remarks:[''] + }) + } else { + // console.log(343,'else'); + return this.fb.group({ + manufacturing_raw_material_name: [records.manufacturing_raw_material_name || null], + raw_name: [records.raw_name], + stock_observed:[records.stock_observed], + raw_quantity: [records.raw_quantity], + raw_uom: [records.raw_uom], + other_uom : [records.other_uom], + raw_value: [records.raw_value], + rawmaterial_value: [records.rawmaterial_value], + is_sufficiant_raw: [records.is_sufficiant_raw], + rawmaterial_remarks:[records.rawmaterial_remarks] + }) + } + } + + initRetailDetails(datas) { + + const finishedGoods = this.stockForms.controls['retail_details']['controls'][0].controls['retail_finished_goods']; + const tradedGoods = this.stockForms.controls['retail_details']['controls'][0].controls['retail_traded_goods']; + + if(datas === null){ + + finishedGoods.push(this.createGoods(null)); + tradedGoods.push(this.createTradedGoods(null)); + + } else { + + for (let val of datas.retail_finished_goods) { + console.log(val); + + finishedGoods.push(this.createGoods(val)); + + } + for (let val of datas.retail_traded_goods) { + console.log(val); + tradedGoods.push(this.createTradedGoods(val)); + + } + } + } + + createGoods2() { return this.fb.group({ goods_name: ['', Validators.compose([Validators.required])], goods_observed: ['', Validators.compose([Validators.required])], @@ -246,7 +464,33 @@ export class StockComponent implements OnInit { }); } - createTradedGoods() { + createGoods(records) { + if(records === null) { + return this.fb.group({ + goods_name: [''], + goods_observed: [''], + goods_quantity: [''], + goods_value: [''], + finished_goods_value: [''], + is_sufficiant_goods: [''], + finishedgoods_remarks:[''] + }); + } + else { + return this.fb.group({ + goods_name: [records.goods_name], + goods_observed: [records.goods_observed], + goods_quantity: [records.goods_quantity], + goods_value: [records.goods_value], + finished_goods_value: [records.finished_goods_value], + is_sufficiant_goods: [records.is_sufficiant_goods], + finishedgoods_remarks:[records.finishedgoods_remarks] + }) + } + } + + + createTradedGoods2() { return this.fb.group({ traded_goods_name: ['', Validators.compose([Validators.required])], traded_goods_observed: ['', Validators.compose([Validators.required])], @@ -257,64 +501,231 @@ export class StockComponent implements OnInit { traded_goods_remarks:[''] }); } - addRawMaterials() { - const control = this.stockForm.controls['raw_materials']; - control.push(this.createRawmaterial()); - } - deleteRawMaterials(index) { - const control = this.stockForm.controls['raw_materials']; - control.removeAt(index); - } - addGoods() { - const control = this.stockForm.controls['finished_goods']; - control.push(this.createGoods()); - } - deleteGoods(index) { - const control = this.stockForm.controls['finished_goods']; - control.removeAt(index); - } - addTradedGoods() { - const control = this.stockForm.controls['traded_goods']; - control.push(this.createTradedGoods()); - } - deleteTradedGoods(index) { - const control = this.stockForm.controls['traded_goods']; - control.removeAt(index); + + initTradingDetails(datas) { + + const finishedGoods = this.stockForms.controls['trade_details']['controls'][0].controls['trading_finished_goods']; + const tradedGoods = this.stockForms.controls['trade_details']['controls'][0].controls['trading_traded_goods']; + + if(datas === null){ + + finishedGoods.push(this.createGoods(null)); + tradedGoods.push(this.createTradedGoods(null)); + + } else { + // for (let val of datas) { + + // finishedGoods.push(this.createGoods(val.trading_finished_goods)); + // tradedGoods.push(this.createTradedGoods(val.trading_traded_goods)); + + // } + + for (let val of datas.trading_finished_goods) { + console.log(val); + + finishedGoods.push(this.createGoods(val)); + + } + for (let val of datas.trading_traded_goods) { + console.log(val); + tradedGoods.push(this.createTradedGoods(val)); + + } + + } } - submitDetails() { - if (!this.stockForm.valid) { - return; - } - let records: any = {}; - records.pdid = this.pdid; - records.formid = this.form_id; - records.fk_createdby = this.pdid; - if(this.rawMaterialAccess == true){ - records.raw_materials = this.stockForm.controls['raw_materials'].value; } - if(this.finishedGoodsAccess == true){ - records.finished_goods = this.stockForm.controls['finished_goods'].value;} - if(this.tradeConcernAccess == true){ - records.traded_goods = this.stockForm.controls['traded_goods'].value; } - records.stock_remarks = this.stockForm.controls['stock_remarks'].value; - //console.log('data', records); - this._pd.saveForm(records).subscribe(data => { - //console.log('data', data); - this.notifier.notify('success', 'Saved Successfully.'); - }, error => { - this.notifier.notify('warning', 'Something Wents Wrong Try Again.!'); - }) - } - validateAllFormFields(formGroup: FormGroup) { - Object.keys(formGroup.controls).forEach(field => { - const control = formGroup.get(field); - if (control instanceof FormControl) { - control.markAsTouched({onlySelf: true}); - } else if (control instanceof FormGroup) { - this.validateAllFormFields(control); - } + + createTradedGoods(records) { + if(records === null) { + return this.fb.group({ + traded_goods_name: [''], + traded_goods_observed: [''], + traded_goods_quantity: [''], + estimated_traded_goods_value: [''], + traded_goods_value: [''], + is_sufficiant_traded_goods: [''], + traded_goods_remarks:[''] }); + } + else { + return this.fb.group({ + traded_goods_name: [records.traded_goods_name], + traded_goods_observed: [records.traded_goods_observed], + traded_goods_quantity: [records.traded_goods_quantity], + estimated_traded_goods_value: [records.estimated_traded_goods_value], + traded_goods_value: [records.traded_goods_value], + is_sufficiant_traded_goods: [records.is_sufficiant_traded_goods], + traded_goods_remarks:[records.traded_goods_remarks] + }) } + } + + addRawMaterials(flag) { + + if(flag==1){ + const control = this.stockForms.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials']; + control.push(this.createRawmaterial(null)); + } + } + + + + deleteRawMaterials(index,flag) { + if(flag==1){ + const control = this.stockForms.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials']; + // const control = this.stockForms.controls['raw_materials']; + control.removeAt(index); + } + } + + addGoods(flag) { + //const control = this.stockForms.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods']; + //const control = this.stockForms.controls['finished_goods']; + //control.push(this.createGoods(null)); + switch(flag){ + case 1: { + const control = this.stockForms.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods']; + control.push(this.createGoods(null)); + break; + } + case 2: { + const control = this.stockForms.controls['retail_details']['controls'][0].controls['retail_finished_goods']; + control.push(this.createGoods(null)); + break; + } + case 3: { + const control = this.stockForms.controls['trade_details']['controls'][0].controls['trading_finished_goods']; + control.push(this.createGoods(null)); + break; + } + default: { + break; + } + } + } + deleteGoods(index,flag) { + switch(flag){ + case 1: { + const control = this.stockForms.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods']; + control.removeAt(index); + break; + } + case 2: { + const control = this.stockForms.controls['retail_details']['controls'][0].controls['retail_finished_goods']; + control.removeAt(index); + break; + } + case 3: { + const control = this.stockForms.controls['trade_details']['controls'][0].controls['trading_finished_goods']; + control.removeAt(index); + break; + } + default: { + break; + } + + } + //const control = this.stockForms.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods']; + //const control = this.stockForms.controls['finished_goods']; + } + + addTradedGoods(flag) { + // const control = this.stockForms.controls['manufacturing_details']['controls'][0].controls['manufacturing_traded_goods']; + // //const control = this.stockForms.controls['traded_goods']; + + // control.push(this.createTradedGoods(null)); + switch(flag){ + case 1: { + const control = this.stockForms.controls['manufacturing_details']['controls'][0].controls['manufacturing_traded_goods']; + control.push(this.createTradedGoods(null)); + break; + } + case 2: { + const control = this.stockForms.controls['retail_details']['controls'][0].controls['retail_traded_goods']; + control.push(this.createTradedGoods(null)); + break; + } + case 3: { + const control = this.stockForms.controls['trade_details']['controls'][0].controls['trading_traded_goods']; + control.push(this.createTradedGoods(null)); + break; + } + default: { + break; + } + } + } + deleteTradedGoods(index,flag) { + switch(flag){ + case 1: { + const control = this.stockForms.controls['manufacturing_details']['controls'][0].controls['manufacturing_traded_goods']; + control.removeAt(index); + break; + } + case 2: { + const control = this.stockForms.controls['retail_details']['controls'][0].controls['retail_traded_goods']; + control.removeAt(index); + break; + } + case 3: { + const control = this.stockForms.controls['trade_details']['controls'][0].controls['trading_traded_goods']; + control.removeAt(index); + break; + } + default: { + break; + } + } + + //const control = this.stockForms.controls['manufacturing_details']['controls'][0].controls['manufacturing_traded_goods']; + //const control = this.stockForms.controls['traded_goods']; + + } + + + /** To Save/Edited Popup Data */ + submitDetails(e) { + this.submitted = true; + // stop here if form is invalid + // if (this.stockForms.invalid) { + // return; + // } else { + var answerFormValues = this.stockForms.value; + + //To Remove The "Null" With Key also + Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]); + + this._pd.savePDFormDetailsWithID(answerFormValues).subscribe( + dataresult => { + if (dataresult.status == 200) { + + this.notifier.notify('success', 'Record Saved Successfully.!'); + + } + else { + this.notifier.notify('warning', 'Something Wents Wrong Try Again.!'); + + } + }, error => { + this.notifier.notify('warning', 'Something Wents Wrong Try Again.!'); + + }); + + //} + } + + // validateAllFormFields(formGroup: FormGroup) { + // Object.keys(formGroup.controls).forEach(field => { + // const control = formGroup.get(field); + // if (control instanceof FormControl) { + // control.markAsTouched({onlySelf: true}); + // } else if (control instanceof FormGroup) { + // this.validateAllFormFields(control); + // } + // }); + // } + getUOM() { this._pd.getAllMasterDatas('UOM').subscribe(data => { @@ -352,134 +763,4 @@ export class StockComponent implements OnInit { break; } } - - // Validation Dynamically Add And Remove - GoodsValidation(event: any){ - // console.log('First Time',event); - // console.log('First Time Value',event.value); - - const control = this.stockForm.controls['finished_goods']; - - if(event.value == 'no') { - - control.controls[0].get('goods_quantity').setValidators([Validators.required]); - control.controls[0].get('goods_quantity').updateValueAndValidity(); - - control.controls[0].get('goods_value').setValidators([Validators.required]); - control.controls[0].get('goods_value').updateValueAndValidity(); - - control.controls[0].get('finished_goods_value').setValidators([Validators.required]); - control.controls[0].get('finished_goods_value').updateValueAndValidity(); - - control.controls[0].get('is_sufficiant_goods').setValidators([Validators.required]); - control.controls[0].get('is_sufficiant_goods').updateValueAndValidity(); - - - } - else - if(event.value == 'yes') { - - control.controls[0].get('goods_quantity').clearValidators(); - control.controls[0].get('goods_quantity').updateValueAndValidity(); - - control.controls[0].get('goods_value').clearValidators(); - control.controls[0].get('goods_value').updateValueAndValidity(); - - control.controls[0].get('finished_goods_value').clearValidators(); - control.controls[0].get('finished_goods_value').updateValueAndValidity(); - - control.controls[0].get('is_sufficiant_goods').clearValidators(); - control.controls[0].get('is_sufficiant_goods').updateValueAndValidity(); - - - - } - - } - - RawMaterialValidation(event: any){ - // console.log('First Time',event); - // console.log('First Time Value',event.value); - - const control = this.stockForm.controls['raw_materials']; - - if(event.value == 'no') { - - control.controls[0].get('raw_quantity').setValidators([Validators.required]); - control.controls[0].get('raw_quantity').updateValueAndValidity(); - - control.controls[0].get('raw_uom').setValidators([Validators.required]); - control.controls[0].get('raw_uom').updateValueAndValidity(); - - control.controls[0].get('raw_value').setValidators([Validators.required]); - control.controls[0].get('raw_value').updateValueAndValidity(); - - control.controls[0].get('rawmaterial_value').setValidators([Validators.required]); - control.controls[0].get('rawmaterial_value').updateValueAndValidity(); - - control.controls[0].get('is_sufficiant_raw').setValidators([Validators.required]); - control.controls[0].get('is_sufficiant_raw').updateValueAndValidity(); - - - } - else - if(event.value == 'yes') { - - control.controls[0].get('raw_quantity').clearValidators(); - control.controls[0].get('raw_quantity').updateValueAndValidity(); - - control.controls[0].get('raw_uom').clearValidators(); - control.controls[0].get('raw_uom').updateValueAndValidity(); - - control.controls[0].get('raw_value').clearValidators(); - control.controls[0].get('raw_value').updateValueAndValidity(); - - control.controls[0].get('rawmaterial_value').clearValidators(); - control.controls[0].get('rawmaterial_value').updateValueAndValidity(); - - control.controls[0].get('is_sufficiant_raw').clearValidators(); - control.controls[0].get('is_sufficiant_raw').updateValueAndValidity(); - } - - } - - TradedGoodsValidation(event: any){ - console.log('First Time',event); - console.log('First Time Value',event.value); - - const control = this.stockForm.controls['tradeded_goods']; - - if(event.value == 'no') { - - control.controls[0].get('traded_goods_quantity').setValidators([Validators.required]); - control.controls[0].get('traded_goods_quantity').updateValueAndValidity(); - - control.controls[0].get('estimated_traded_goods_value').setValidators([Validators.required]); - control.controls[0].get('estimated_traded_goods_value').updateValueAndValidity(); - - control.controls[0].get('traded_goods_value').setValidators([Validators.required]); - control.controls[0].get('traded_goods_value').updateValueAndValidity(); - - control.controls[0].get('is_sufficiant_traded_goods').setValidators([Validators.required]); - control.controls[0].get('is_sufficiant_traded_goods').updateValueAndValidity(); - } - else - if(event.value == 'yes') { - - control.controls[0].get('traded_goods_quantity').clearValidators(); - control.controls[0].get('traded_goods_quantity').updateValueAndValidity(); - - control.controls[0].get('estimated_traded_goods_value').clearValidators(); - control.controls[0].get('estimated_traded_goods_value').updateValueAndValidity(); - - control.controls[0].get('traded_goods_value').clearValidators(); - control.controls[0].get('traded_goods_value').updateValueAndValidity(); - - control.controls[0].get('is_sufficiant_traded_goods').clearValidators(); - control.controls[0].get('is_sufficiant_traded_goods').updateValueAndValidity(); - - } - - } - -} +} \ No newline at end of file
Raw Materials
-
Manufacturing Details
{{a+1}} . Raw Material
{{b+1}} Finished Goods
Finished Goods
{{c+1}} Traded Goods
Retail Details
{{d+1}} Finished Goods
Stock of Goods Traded
{{e+1}} Traded Goods
Trading Details
{{f+1}} Finished Goods
{{g+1}} Traded Goods