regenerate process

This commit is contained in:
venbatechnologies@gmail.com 2022-01-06 10:34:08 +05:30
parent baae0d0aba
commit c54ada3aec
8 changed files with 277 additions and 7 deletions

View File

@ -1039,4 +1039,35 @@ export class PdTrigerService {
console.log(params);
return this._http.post(this.apiUrl+'updateMISReportRemarks',params);
}
generatesalereport(params :any): Observable<any> {
// let httpParams = new HttpParams().set('pdid', countpdid);
// httpParams = httpParams.append('random_string',randomString);
return this._http.get(this.apiUrl + 'regenerateSaleReport?sales_pd_id=' +params)
.pipe(
catchError(this.handleError('role', []))
)
}
generatemail(params :any): Observable<any> {
// let httpParams = new HttpParams().set('pdid', countpdid);
// httpParams = httpParams.append('random_string',randomString);
return this._http.get(this.apiUrl + 'resendSaleReportMail?sales_pd_id=' +params)
.pipe(
catchError(this.handleError('role', []))
)
}
//generatesateliteimage(params :any): Observable<any> {
// console.log('params');
// console.log(params);
// // let httpParams = new HttpParams().set('pdid', countpdid);
// // httpParams = httpParams.append('random_string',randomString);
// return this._http.post(this.apiUrl + 'regenerateSatelliteImg',{ "records": params })
// .pipe(
// catchError(this.handleError('role', []))
// )
// }
generatesateliteimage(param:any): Observable<any>{
return this._http.post<any>(this.apiUrl + 'regenerateSatelliteImg',param )
}
}

View File

@ -0,0 +1,34 @@
<h2 mat-dialog-title> {{title}}</h2>
<mat-dialog-content>
<div fxFlex="100">
<p align="center">
{{question}}
</p>
<div align="center" *ngIf="option == 'location'">
<mat-form-field appearance="outline" style="width: 100%;">
<mat-label>Location</mat-label>
<textarea matInput autocomplete="off" placeholder="Geolocation" type="text" [formControl] = "geolocation"></textarea>
</mat-form-field>
</div>
</div>
</mat-dialog-content>
<mat-dialog-actions align="end" *ngIf="option == 'location'">
<button mat-raised-button color="primary" (click)="submit(this.data.pdid,this.data.option)"><strong>Save</strong></button>
<button mat-raised-button mat-dialog-close><strong> Cancel </strong></button>
</mat-dialog-actions>
<mat-dialog-actions align="end" *ngIf="option != 'location'">
<button mat-raised-button color="primary" (click)="submit(this.data.pdid,this.data.option)"><strong>Yes</strong></button>
<button mat-raised-button mat-dialog-close><strong> No </strong></button>
</mat-dialog-actions>
<!--<mat-dialog-actions align="end" >
<button mat-raised-button color="primary" (click)="overwritten_pd()"
> <strong>Complete anyway </strong></button>&nbsp;&nbsp;
<button mat-raised-button mat-dialog-close><strong> Ok </strong></button>
</mat-dialog-actions>-->

View File

@ -0,0 +1,25 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { ReGenerateReportComponent } from './re-generate-report.component';
describe('ReGenerateReportComponent', () => {
let component: ReGenerateReportComponent;
let fixture: ComponentFixture<ReGenerateReportComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ReGenerateReportComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(ReGenerateReportComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -0,0 +1,114 @@
import { Component, OnInit, ViewChild , Input, Inject} from '@angular/core';
import { NotifierService } from "angular-notifier";
import {MatDialog,MatDialogRef,MAT_DIALOG_DATA } from '@angular/material';
import { FormControl, Validators } from '@angular/forms';
import { PdTrigerService } from 'app/personal-discussion/pd-service/pd-triger.service';
@Component({
selector: 'app-re-generate-report',
templateUrl: './re-generate-report.component.html',
styleUrls: ['./re-generate-report.component.scss']
})
export class ReGenerateReportComponent implements OnInit {
private notifier: NotifierService;
errorMessage:any[]=[];
option: any;
title:any;
question:any;
geolocation:FormControl = new FormControl('',Validators.compose([Validators.required]))
constructor(notifier: NotifierService,private _pdSales: PdTrigerService,private dialogRef: MatDialogRef<ReGenerateReportComponent>,@Inject(MAT_DIALOG_DATA) public data: any) { this.notifier = notifier; }
ngOnInit() {
this.option=this.data.option;
if(this.option=='report')
{
this.title='Re-Generate the Report';
this.question='Do you want to Re-Generate the Report';
}
else if(this.option=='mail')
{
this.title='Re-Sent the Email'
this.question='Do you want to Re-Sent the Email';
}
else
{
this.title='Geolocation'
this.question='Enter the Geolocation';
}
}
submit(pdid,option)
{
if(option=='report')
{
this._pdSales.generatesalereport(pdid)
.subscribe(
data => {
if (data.status == 200) {
this.dialogRef.close();
alert('generate report succussfully');
}
}
// , error => this.errorMessage = <any> error);
,error => {
this.errorMessage.push(error);
// this.notifier.notify('error', 'Something Went Wrong Try Again.! \t\"' + (error.error_type == 2 ? error.error_status + ' ( ' + error.error_text + ' ) ' : ' ( ' + error.error_text + ' ) ') +'\" Error Occur.!');
alert(error.html_format);
});
}
else if(option=='mail')
{
this._pdSales.generatemail(pdid)
.subscribe(
data => {
if (data.status == 200) {
this.dialogRef.close();
alert('mail sent succussfully');
this.notifier.notify('error','error');
}
}
// , error => this.errorMessage = <any> error);
,error => {
this.errorMessage.push(error);
// this.notifier.notify('error', 'Something Went Wrong Try Again.! \t\"' + (error.error_type == 2 ? error.error_status + ' ( ' + error.error_text + ' ) ' : ' ( ' + error.error_text + ' ) ') +'\" Error Occur.!');
alert(error.html_format);
});
}
else
{
let geolocation:any = {
"sales_pd_id":pdid,
"geo_location":this.geolocation.value
};
this._pdSales.generatesateliteimage(geolocation)
.subscribe(
data => {
if (data.status == 200) {
this.dialogRef.close();
alert('Saved succussfully');
}
}
// , error => this.errorMessage = <any> error);
,error => {
this.errorMessage.push(error);
// this.notifier.notify('error', 'Something Went Wrong Try Again.! \t\"' + (error.error_type == 2 ? error.error_status + ' ( ' + error.error_text + ' ) ' : ' ( ' + error.error_text + ' ) ') +'\" Error Occur.!');
alert(error.html_format);
});
}
}
}

View File

@ -17,7 +17,7 @@
<app-advance-filter [drop_down_datas]="filter_drop_down_data" (filteredlistData)="filteredDataSource($event)"
(resetFilter)= "loadSalesPDDetails()"></app-advance-filter>
</div>
<!-- <mat-tab-group class="mt-1">
<!-- <mat-tab-group class="mt-1">
<mat-tab> -->
<!-- <ng-template mat-tab-label>Sales PD</ng-template> -->
@ -91,6 +91,30 @@
matTooltipPosition="above" color="primary" (click)="salesPDpdf(details.sales_pd_id)"><mat-icon>file_download</mat-icon></button>
</mat-cell>
</ng-container>
<ng-container matColumnDef="Re-Generate">
<mat-cell class="cell" *matCellDef="let details;" style="justify-content: flex-start">
<button mat-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="ReGenerate"
matTooltipPosition="above" color="primary" [matMenuTriggerFor]="menu1"><mat-icon>more_vert</mat-icon></button>
<mat-menu #menu1="matMenu">
<button mat-menu-item (click)="regeneratereport(details.sales_pd_id,'report')">
<mat-icon>autorenew</mat-icon>
<span>Re-Generate Report</span>
</button>
<button mat-menu-item (click)="regeneratereport(details.sales_pd_id,'location')">
<mat-icon>location_on</mat-icon>
<span>Re-Generate Location</span>
</button>
<button mat-menu-item (click)="regeneratereport(details.sales_pd_id,'mail')">
<mat-icon>email</mat-icon>
<span>Resent Mail</span>
</button>
</mat-menu>
</mat-cell>
</ng-container>
<mat-row style="align-items: normal !important;" *matRowDef="let row; columns: displayedColumns;">
</mat-row>
</mat-table>

View File

@ -1,7 +1,9 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { MatTableDataSource, MatPaginator, MatSort, PageEvent } from '@angular/material';
import { MatTableDataSource, MatPaginator, MatSort, PageEvent, MatDialog } from '@angular/material';
import { PdTrigerService } from 'app/personal-discussion/pd-service/pd-triger.service';
import { UserService } from 'app/settings/service/user.service';
import {ReGenerateReportComponent} from './../re-generate-report/re-generate-report.component'
@Component({
selector: 'app-sales-pd',
@ -13,7 +15,7 @@ export class SalesPdComponent implements OnInit {
public dataSourceTab4 = new MatTableDataSource();
filter_input:string='';
displayedColumns = ['SalesPdId','SalesPdSno','Applicant Name','Short Name','Officer Name','status','Create On','Action'];
displayedColumns = ['SalesPdId','SalesPdSno','Applicant Name','Short Name','Officer Name','status','Create On','Action','Re-Generate'];
@ViewChild(MatPaginator) paginator: MatPaginator;
@ViewChild(MatSort) sort: MatSort;
@ -32,11 +34,11 @@ export class SalesPdComponent implements OnInit {
pageIndex = 0;
pageSize = 10;
pageEvent: PageEvent;
todaydate:Date = new Date();
todaydate:Date = new Date();
filter_drop_down_data: any;
common: any;
constructor(private _pdSales: PdTrigerService,private userService:UserService) {
constructor(private _pdSales: PdTrigerService,private userService:UserService,private dialog: MatDialog) {
this.common = JSON.parse(localStorage.getItem('commonSettings')).default_pd_list_count;
this.common = this.common.count+' '+this.common.factor
}
@ -104,6 +106,21 @@ export class SalesPdComponent implements OnInit {
alert(error.html_format);
});
}
regeneratereport(data,option)
{
const dialogRefqw = this.dialog.open(ReGenerateReportComponent, {
data: { pdid: data, option: option},
disableClose: true,
minWidth: '30%',
maxWidth: '40%',
});
dialogRefqw.afterClosed()
.subscribe(dataresult => {
// this.viewPdDetails(this.viewID,this.masterRandomString)
});
}
filteredDataSource(data){
console.log("From Parent",data);

View File

@ -8,14 +8,39 @@ import { MisReportsComponent } from './mis-reports/mis-reports.component';
import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material';
import { AdvanceFilterComponent } from './sales-pd-list/advance-filter/advance-filter.component';
import { MAT_MOMENT_DATE_FORMATS, MomentDateAdapter } from '@angular/material-moment-adapter';
//import { MatMenuModule} from '@angular/material/menu';
import {
MatCardModule,
MatIconModule,
MatInputModule,
MatRadioModule,
MatButtonModule, MatTableModule, MatPaginatorModule,
MatProgressBarModule, MatDialogModule, MatSortModule,
MatToolbarModule, MatSelectModule, MatListModule, MatGridListModule,
MatTabsModule, MatCheckboxModule,
MatBadgeModule, MatExpansionModule, MatStepperModule, MatSidenavModule,
MatMenuModule, MatButtonToggleModule,MatChipsModule,MatProgressSpinnerModule,
MatAutocompleteModule, MatDatepickerModule } from '@angular/material';
import { ReGenerateReportComponent } from './re-generate-report/re-generate-report.component';
@NgModule({
imports: [
CommonModule,
SalesPdRoutingModule,
MaterialModule
MaterialModule,MatMenuModule,MatCardModule,
MatIconModule,
MatInputModule,
MatRadioModule,
MatButtonModule, MatTableModule, MatPaginatorModule,
MatProgressBarModule, MatDialogModule, MatSortModule,
MatToolbarModule, MatSelectModule, MatListModule, MatGridListModule,
MatTabsModule, MatCheckboxModule,
MatBadgeModule, MatExpansionModule, MatStepperModule, MatSidenavModule,
MatButtonToggleModule,MatChipsModule,MatProgressSpinnerModule,
MatAutocompleteModule, MatDatepickerModule
],
declarations: [SalesPdComponent, MisReportsComponent, AdvanceFilterComponent],
declarations: [SalesPdComponent, MisReportsComponent, AdvanceFilterComponent, ReGenerateReportComponent],
entryComponents:[ReGenerateReportComponent],
providers:[{ provide: MAT_DATE_LOCALE, useValue: 'en-GB' },{provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE]},
{provide: MAT_DATE_FORMATS, useValue: MAT_MOMENT_DATE_FORMATS}]
})