{"version":3,"sources":["./src/app/sotheby-common/alert-dialog/alert-dialog.component.html","./src/app/sotheby-common/confirm-dialog/confirm-dialog.component.ts","./src/services/user-auth.service.ts","./src/app/layout/full-screen/full-screen.component.html","./src/services/consigned-material-inventory.service.ts","./src/services/product-mrp.service.ts","./src/app/sotheby-common/snack-bar/snack-bar.component.html","./src/app/error.interceptor.ts","./src/app/shared.pipe.module.ts","./src/app/gnb/gnb.component.ts","./src/services/nonconformance.service.ts","./src/app/home/home.component.ts","./src/environments/environment.ts","./src/models/action-dialog.model.ts","./src/services/consigned-material-transfer.service.ts","./src/services/print.service.ts","./src/services/purchase.service.ts","./src/pipes/attachment.pipe.ts","./src/app/popup-dialog/popup-dialog.component.ts","./src/app/home/home.component.html","./src/services/common.service.ts","./src/app/header.interceptor.ts","./src/services/product.service.ts","./src/services/user.service.ts","./src/app/popup-dialog/popup-dialog.component.html","./src/services/auth.service.ts","./src/app/sotheby-common/alert-dialog/alert-dialog.component.ts","./src/app/layout/layout.component.html","./src/app/app.component.ts","./src/services/defect-management.service.ts","./src/services/busy-indicator.service.ts","./src/app/app.module.ts","./src/services/receipt-confirm.service.ts","./src/$_lazy_route_resource lazy namespace object","./src/services/tax-invoice.service.ts","./src/services/notice.service.ts","./src/services/consigned-material-common-model.service.ts","./src/functions/http-handler.ts","./src/app/jwt.interceptor.ts","./src/app/sotheby-common/snack-bar/snack-bar.component.ts","./src/services/consigned-material-product-plan.service.ts","./src/services/trade-item.service.ts","./src/app/sotheby-common/indicator-dialog/indicator-dialog.component.html","./src/app/layout/full-screen/full-screen.component.ts","./src/app/sotheby-common/confirm-dialog/confirm-dialog.component.html","./src/services/vendor.service.ts","./src/services/product-plan.service.ts","./src/app/sotheby-common/indicator-dialog/indicator-dialog.component.ts","./src/app/shared.material.module.ts","./src/services/consigned-material-payment-statement.service.ts","./src/app/layout/layout.component.ts","./src/app/gnb/gnb.component.html","./src/app/app-routing.module.ts","./src/services/attachment.service.ts","./src/services/common-code.service.ts","./src/functions/date-serializer.ts","./src/app/app.component.html","./src/main.ts"],"names":[],"mappings":"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","file":"main-es2015.js","sourcesContent":["\r\n

\r\n
\r\n
\r\n \r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { IDialog } from 'src/models/dialog.model';\r\nimport { DialogAction } from \"src/models/action-dialog.model\";\r\n\r\n@Component({\r\n selector: 'app-confirm-dialog',\r\n templateUrl: './confirm-dialog.component.html',\r\n styleUrls: ['./confirm-dialog.component.css']\r\n})\r\nexport class ConfirmDialogComponent implements OnInit {\r\n // private command: number;\r\n actionName: string;\r\n actionId: string;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: IDialog) { }\r\n\r\n ngOnInit() {\r\n // this.command = this.data.action;\r\n switch (this.data.action) {\r\n case DialogAction.create:\r\n this.actionId = \"create\";\r\n this.actionName = \"등록\";\r\n break;\r\n case DialogAction.read:\r\n this.actionId = \"read\";\r\n this.actionName = \"조회\";\r\n break;\r\n case DialogAction.update:\r\n this.actionId = \"update\";\r\n this.actionName = \"수정\";\r\n break;\r\n case DialogAction.delete:\r\n this.actionId = \"delete\";\r\n this.actionName = \"삭제\";\r\n break;\r\n default:\r\n this.actionName = \"\"\r\n }\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { handleResponse } from 'src/functions/http-handler';\r\nimport { IPagedList } from 'src/models/paged-list.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserAuthService {\r\n private _apiUrl: string;\r\n\r\n constructor(\r\n @Inject(HttpClient) protected http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n private logger: NGXLogger) {\r\n this._apiUrl = `${baseUrl}api/UserAuth`;\r\n }\r\n\r\n get(codes: Array, userIds: Array, pageNum: number, pageSize: number) {\r\n const param = { vendorCodes: codes, userIds: userIds, pageNum: pageNum.toString(), pageSize: pageSize.toString() };\r\n return this.http.get(this._apiUrl, { params: param })\r\n .pipe(handleResponse>(this.logger, 'retrieve user auth'));\r\n }\r\n\r\n upsert(auth: IUserAuth) {\r\n const param = { Id: auth.id, programID: auth.programID };\r\n return this.http.put(this._apiUrl, auth, { params: param })\r\n .pipe(handleResponse(this.logger, 'upsert user auth'));\r\n }\r\n}\r\n\r\nexport interface IUserAuth {\r\n id: string,\r\n accountNum: string,\r\n programID: string,\r\n canWrite: boolean,\r\n canRead: boolean,\r\n canPrint: boolean,\r\n}\r\n\r\n","","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { handleError, handleResponse } from 'src/functions/http-handler';\r\nimport { PrintService } from './print.service';\r\nimport { FileSaverService } from 'ngx-filesaver';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { IResponse } from 'src/models/response.model';\r\nimport { environment } from 'src/environments/environment';\r\n\r\nconst PRINT_TITLE = '사급품 재고 현황';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConsignedMaterialInventoryService {\r\n private _apiUrl: string;\r\n\r\n constructor(\r\n @Inject(HttpClient) protected http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n private fileSaver: FileSaverService,\r\n private printSvc: PrintService,\r\n private logger: NGXLogger) {\r\n this._apiUrl = `${baseUrl}api/ConsignedMaterialInventory`;\r\n }\r\n\r\n get(criteria: any) {\r\n return this.http.get(this._apiUrl, { params: criteria })\r\n .pipe(\r\n tap((res) => this.logger.log('retrieve consigned-material inventory', res)),\r\n catchError(handleError),\r\n map((data: IResponse) => {\r\n if (data.code == 'NoData') {\r\n return [];\r\n } else {\r\n return data.result;\r\n }\r\n })\r\n );\r\n }\r\n\r\n print(param: any) {\r\n let title = document.createElement('h2');\r\n title.innerText = PRINT_TITLE;\r\n return this.printSvc.print(this.http, `${this._apiUrl}/Print`, param, title);\r\n }\r\n\r\n export(param: any, type: 'sheet' | 'pdf') {\r\n const mimeType = (type == 'sheet') ? environment.mimeTypes.excel : environment.mimeTypes.pdf;\r\n const extension = (type == 'sheet') ? '.xlsx' : '.pdf';\r\n\r\n return this.http.get(`${this._apiUrl}/Export`, {\r\n headers: { 'Accept': mimeType },\r\n responseType: 'blob', // This must be a Blob type\r\n params: param\r\n }).subscribe((res: Blob) => {\r\n var filename = `ConsignedMaterialInventory${extension}`;\r\n this.saveAsBlob(res, filename, mimeType);\r\n })\r\n }\r\n\r\n private saveAsBlob(data: any, filename: string, mimeType: string) {\r\n const file = new File([data], filename, { type: mimeType });\r\n this.fileSaver.save(file, filename);\r\n }\r\n}\r\n\r\nexport interface IConsignedMaterialInventory {\r\n type: string,\r\n itemId: string,\r\n itemName: string,\r\n remainQty: number,\r\n}","import { Injectable, Inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { NGXLogger } from 'ngx-logger';\nimport { handleResponse } from 'src/functions/http-handler';\nimport { PrintService } from './print.service';\nimport { FileSaverService } from 'ngx-filesaver';\nimport { environment } from 'src/environments/environment';\nimport { IPagedList } from 'src/models/paged-list.model';\n\nconst PRINT_TITLE = '6개월 예상 (생산)소요량 조회';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProductMrpService {\n private _apiUrl: string;\n\n constructor(\n @Inject(HttpClient) protected http: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n private fileSaver: FileSaverService,\n private printSvc: PrintService,\n private logger: NGXLogger) {\n this._apiUrl = `${baseUrl}api/ProductMrp`;\n }\n\n get(param: any) {\n return this.http.get(this._apiUrl, { params: param })\n .pipe(handleResponse>(this.logger, 'retrieve packing slip'));\n }\n\n \n print(param: any) {\n let title = document.createElement('h2');\n title.innerText = PRINT_TITLE;\n\n return this.printSvc.print(this.http, `${this._apiUrl}/Print`, param, title);\n }\n\n export(param:any, type: 'sheet' | 'pdf') {\n const mimeType = (type == 'sheet') ? environment.mimeTypes.csv : environment.mimeTypes.pdf;\n const extension = (type == 'sheet') ? '.csv' : '.pdf'; \n\n return this.http.get(`${this._apiUrl}/Export?type=${type}`, {\n headers: { 'Accept': mimeType },\n responseType: 'blob', // This must be a Blob type\n params: param\n }).subscribe((res: Blob) => {\n var filename = `ProductMrp${extension}`;\n this.saveAsBlob(res, filename, mimeType);\n });\n }\n\n private saveAsBlob(data: any, filename: string, mimeType: string) {\n const file = new File([data], filename, { type: mimeType });\n this.fileSaver.save(file, filename);\n }\n}\n\nexport interface IProductMrp {\n itemId: string,\n itemName: string,\n vendName: string,\n vendAccount: string,\n plans: Array,\n}\n\nexport interface IProductMrpDetail {\n year: number,\n month: number,\n qty: number,\n}\n","{{data}}","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError, mergeMap } from 'rxjs/operators';\r\n\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(\r\n private router: Router,\r\n private snackBar: MatSnackBar,\r\n private authSvc: AuthService,\r\n private logger: NGXLogger) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // TODO: refresh token 을 사용하여, 자동으로 인증을 연장하는 기능을 추가할 것.\r\n return next.handle(request)\r\n .pipe(\r\n catchError(err => {\r\n if (err.status === 401) {\r\n // 인증한 상태에서 401을 받았다면\r\n if (this.authSvc.isAuthenticated()) {\r\n this.logger.warn('error.interceptor', request);\r\n // Refresh Token이 실패했다면 다시 로그인을 해야 함.\r\n if (request.url.endsWith('/api/Token')) {\r\n this.handleAuthFail();\r\n } else {\r\n // 기타 API Call 에서 오류가 발생한 경우, Refresh Token을 이용해 연장을 시도.\r\n return this.authSvc.refreshToken()\r\n .pipe(\r\n // Refresh Token으로 인증 연장에 성공한 뒤, 기존의 요청을 재시도.\r\n mergeMap((t: any) => {\r\n const authReq = request.clone({ headers: request.headers.set('authorization', 'Bearer ' + this.authSvc.currentUserValue.token) });\r\n return next.handle(authReq);\r\n })\r\n );\r\n }\r\n } else {\r\n // 인증하지 않은 상태에서 401을 받았다면, 인증 절차의 실패 문제이므로, 페이지 유지 후 상태를 알림.\r\n if (request.url.endsWith('/api/Auth')) {\r\n let message = err.error;\r\n if (message.title != undefined) {\r\n message = message.title;\r\n }\r\n this.openSnackBar(`${message}`, null);\r\n } else {\r\n // 원인 불명의 경우, 초기화면으로 이동.\r\n this.handleAuthFail();\r\n }\r\n }\r\n }\r\n\r\n const error = err.error.message || err.statusText;\r\n return throwError(error);\r\n }))\r\n }\r\n\r\n private handleAuthFail() {\r\n this.authSvc.logout();\r\n this.openSnackBar('다시 로그인해 주세요.', null);\r\n this.router.navigate(['/account/log-in']);\r\n }\r\n\r\n private openSnackBar(message: string, action: string) {\r\n this.snackBar.open(message, action, {\r\n duration: 2000,\r\n });\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { BooleanPipe } from '../pipes/boolean.pipe';\r\nimport { CodePipe } from 'src/pipes/code.pipe';\r\nimport { TreePipe } from 'src/pipes/tree.pipe';\r\nimport { TextValuePairPipe } from 'src/pipes/text-value-pair.pipe';\r\nimport { AttachmentPipe } from 'src/pipes/attachment.pipe';\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [\r\n AttachmentPipe,\r\n BooleanPipe,\r\n CodePipe,\r\n TreePipe,\r\n TextValuePairPipe,\r\n ],\r\n exports: [\r\n AttachmentPipe,\r\n BooleanPipe,\r\n CodePipe,\r\n TreePipe,\r\n TextValuePairPipe,\r\n ]\r\n})\r\nexport class SharedPipeModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Event, Router, NavigationStart, NavigationEnd, NavigationCancel, NavigationError } from '@angular/router';\r\nimport { BusyIndicatorService } from 'src/services/busy-indicator.service';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { AuthService } from 'src/services/auth.service';\r\n\r\n@Component({\r\n selector: 'app-gnb',\r\n templateUrl: './gnb.component.html',\r\n styleUrls: ['./gnb.component.scss']\r\n})\r\nexport class GnbComponent implements OnInit { \r\n\r\n constructor(\r\n private router: Router,\r\n private busyIndicator: BusyIndicatorService,\r\n private AuthService: AuthService,\r\n private logger: NGXLogger) {\r\n console.log(this.router.events);\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.router.events\r\n .subscribe((event: Event) => {\r\n switch (true) {\r\n case event instanceof NavigationStart: {\r\n this.busyIndicator.update(true);\r\n break;\r\n }\r\n\r\n case event instanceof NavigationEnd:\r\n case event instanceof NavigationCancel:\r\n case event instanceof NavigationError: {\r\n this.busyIndicator.update(false);\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n })\r\n\r\n\r\n //관리자 이외 ADMIN 메뉴 안 보이도록\r\n\r\n //let email: string = this.AuthService.currentUserValue.email;\r\n\r\n //let type:string = this.AuthService.currentUserValue.type;\r\n //if (type != null) {\r\n\r\n // //const contents = document.getElementsByName('expand');\r\n\r\n // //if (type == \"Y\") {\r\n\r\n // // contents.forEach(content => {\r\n // // if (content.style.display == 'none')\r\n // // content.style.display = 'block';\r\n // // else\r\n // // content.style.display = 'none';\r\n // // });\r\n // //} else {\r\n // if (type == \"N\") document.getElementById('adminArea').style.display = 'none';\r\n \r\n //}\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n let type: string = this.AuthService.currentUserValue.type;\r\n if (type != 'Y') document.getElementById('adminArea').style.display = 'none';\r\n }\r\n\r\n expand(name: string) {\r\n\r\n console.log('expand');\r\n const contents = document.getElementsByName(name);\r\n \r\n \r\n\r\n //document.getElementById('adminArea').style.display = 'block';\r\n \r\n\r\n contents.forEach(content => {\r\n if (content.style.display == 'none')\r\n content.style.display = 'block';\r\n else\r\n content.style.display = 'none';\r\n });\r\n \r\n }\r\n \r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { handleError, handleResponse } from 'src/functions/http-handler';\r\nimport { PrintService } from './print.service';\r\nimport { FileSaverService } from 'ngx-filesaver';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { IResponse } from 'src/models/response.model';\r\nimport { of } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NonconformanceService {\r\n private _apiUrl: string;\r\n\r\n constructor(\r\n @Inject(HttpClient) protected http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n private fileSaver: FileSaverService,\r\n private printSvc: PrintService,\r\n private logger: NGXLogger) {\r\n this._apiUrl = `${baseUrl}api/Nonconformance`;\r\n }\r\n\r\n get(param: any) {\r\n return this.http.get(this._apiUrl, { params: param })\r\n .pipe(\r\n tap((res) => this.logger.log('retrieve nonconformance', res)),\r\n catchError(handleError),\r\n map((data: IResponse) => {\r\n if (data.code == 'NoData') {\r\n return [];\r\n } else {\r\n return data.result;\r\n }\r\n })\r\n );\r\n }\r\n\r\n export(param: any, type: 'sheet' | 'pdf') {\r\n const mimeType = (type == 'sheet') ? environment.mimeTypes.excel : environment.mimeTypes.pdf;\r\n const extension = (type == 'sheet') ? '.xlsx' : '.pdf';\r\n const nonconformanceType = param.nonconformanceType;\r\n\r\n return this.http.get(`${this._apiUrl}/Export`, {\r\n headers: { 'Accept': mimeType },\r\n responseType: 'blob', // This must be a Blob type\r\n params: param\r\n }).subscribe((res: Blob) => {\r\n var filename = `NonconformanceVendor_${nonconformanceType}${extension}`;\r\n this.saveAsBlob(res, filename, mimeType);\r\n });\r\n }\r\n\r\n private saveAsBlob(data: any, filename: string, mimeType: string) {\r\n const file = new File([data], filename, { type: mimeType });\r\n this.fileSaver.save(file, filename);\r\n }\r\n}\r\n\r\nexport interface INonconformance {\r\n nonconformanceDate: Date,\r\n model: string,\r\n itemId: string,\r\n itemName: string,\r\n problemTypeId: string,\r\n defectQty: number,\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { INotice, NoticeService } from 'src/services/notice.service';\r\nimport { PopupDialogComponent } from '../popup-dialog/popup-dialog.component';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.scss']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n notices: Array = [];\r\n\r\n postData: any = [];\r\n\r\n constructor(\r\n private dialog: MatDialog\r\n , private noticeSvc: NoticeService\r\n , private logger: NGXLogger) {\r\n }\r\n\r\n ngOnInit() {\r\n const now = new Date().getTime();\r\n this.noticeSvc.retrieveAll()\r\n .subscribe(res => {\r\n const notices = res as Array;\r\n this.notices = notices.filter(n => n.isPopup && now >= this.dateFromTime(n.dateFrom) && now <= this.dateToTime(n.dateTo));\r\n\r\n for (let i = 0; i < this.notices.length; i++) {\r\n if (localStorage.getItem(String(this.notices[i].id))) {\r\n this.getLocalStorageWithExpiry(this.notices[i]);\r\n } else {\r\n this.postData.push(this.notices[i]);\r\n }\r\n }\r\n\r\n if (this.postData.length > 0) {\r\n this.dialog.open(PopupDialogComponent, {\r\n data: this.postData,\r\n maxWidth: '100vw',\r\n maxHeight: '100vh',\r\n height: '60%',\r\n width: '60%',\r\n\r\n });\r\n }\r\n\r\n //for (let i = 0; i < this.notices.length; i++) {\r\n\r\n // if (localStorage.getItem(String(this.notices[i].id))) {\r\n // this.getLocalStorageWithExpiry(this.notices[i]);\r\n // }\r\n // else {\r\n // //팝업여러개 출력되도록 수정\r\n // //if (i ==0) {\r\n // this.dialog.open(PopupDialogComponent, { data: this.notices[i] });\r\n // //}\r\n // }\r\n\r\n //}\r\n this.logger.log(\"notices\", this.notices);\r\n });\r\n }\r\n\r\n getLocalStorageWithExpiry(key: INotice) {\r\n const now = new Date().getTime();\r\n const ttl = JSON.parse(localStorage.getItem(String(key.id))).ttl;\r\n if (now > ttl) {\r\n localStorage.removeItem(String(key.id));\r\n this.dialog.open(PopupDialogComponent, { data: key });\r\n }\r\n }\r\n\r\n dateFromTime(date: Date) {\r\n const year = new Date(date).getFullYear();\r\n const month = new Date(date).getMonth();\r\n const day = new Date(date).getDate();\r\n return new Date(year, month, day).getTime();\r\n }\r\n\r\n dateToTime(date: Date) {\r\n const year = new Date(date).getFullYear();\r\n const month = new Date(date).getMonth();\r\n const day = new Date(date).getDate() + 1;\r\n return new Date(year, month, day).getTime();\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n domain: 'TYM',\r\n paginator: {\r\n pageSizeOption: [5, 10, 25, 100],\r\n pageSize: 10\r\n },\r\n mimeTypes: {\r\n excel: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n pdf: 'application/pdf',\r\n binary: 'application/octet-stream',\r\n csv: 'text/csv',\r\n },\r\n dialogSizes: {\r\n wide: '750px',\r\n narrow: '300px',\r\n fullScreen: '100vw',\r\n }\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","export enum DialogAction {\r\n create,\r\n read,\r\n update,\r\n delete\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { handleError, handleResponse } from 'src/functions/http-handler';\r\nimport { PrintService } from './print.service';\r\nimport { FileSaverService } from 'ngx-filesaver';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { IResponse } from 'src/models/response.model';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConsignedMaterialTransferService {\r\n private _apiUrl: string;\r\n\r\n constructor(\r\n @Inject(HttpClient) protected http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n private fileSaver: FileSaverService,\r\n private printSvc: PrintService,\r\n private logger: NGXLogger) {\r\n this._apiUrl = `${baseUrl}api/ConsignedMaterialTransfer`;\r\n }\r\n\r\n get(criteria: any) {\r\n return this.http.get(this._apiUrl, { params: criteria })\r\n .pipe(\r\n tap((res) => this.logger.log('retrieve consigned-material transfer', res)),\r\n catchError(handleError),\r\n map((data: IResponse) => {\r\n if (data.code == 'NoData') {\r\n return [];\r\n } else {\r\n return data.result;\r\n }\r\n })\r\n );\r\n }\r\n\r\n getCarryOver(criteria: any) {\r\n return this.http.get(`${this._apiUrl}/CarryOver`, { params: criteria })\r\n .pipe(\r\n tap((res) => this.logger.log('retrieve consigned-material transfer carry over', res)),\r\n catchError(handleError),\r\n map((data: IResponse) => {\r\n if (data.code == 'NoData') {\r\n return [];\r\n } else {\r\n return data.result;\r\n }\r\n })\r\n );\r\n }\r\n\r\n export(param: any, type: 'sheet' | 'pdf') {\r\n const mimeType = (type == 'sheet') ? environment.mimeTypes.excel : environment.mimeTypes.pdf;\r\n const extension = (type == 'sheet') ? '.xlsx' : '.pdf';\r\n\r\n return this.http.get(`${this._apiUrl}/Export`, {\r\n headers: { 'Accept': mimeType },\r\n responseType: 'blob', // This must be a Blob type\r\n params: param\r\n }).subscribe((res: Blob) => {\r\n var filename = `ConsignedMaterialTransfer${extension}`;\r\n this.saveAsBlob(res, filename, mimeType);\r\n })\r\n }\r\n\r\n private saveAsBlob(data: any, filename: string, mimeType: string) {\r\n const file = new File([data], filename, { type: mimeType });\r\n this.fileSaver.save(file, filename);\r\n }\r\n}\r\n\r\nexport interface IConsignedMaterialTransfer {\r\n datePhysical: Date,\r\n receiveQty: number,\r\n deliveryQty: number,\r\n note: string,\r\n referenceId: string,\r\n inventSiteId: string,\r\n itemId: string,\r\n itemName: string,\r\n vendAccount: string,\r\n etc: string,\r\n preQty: number,\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { delay } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PrintService {\r\n\r\n constructor(private logger: NGXLogger) { }\r\n\r\n print(http: HttpClient, url: string, params: HttpParams | { [param: string]: string | string[] }, headerElement: HTMLElement) {\r\n const header = { 'Accept': 'text/html' }\r\n return http.get(url, { headers: header, responseType: 'text', params: params })\r\n .subscribe(res => {\r\n this.printInBlank(res, headerElement);\r\n }, err => {\r\n this.logger.error(err);\r\n throw err;\r\n });\r\n }\r\n\r\n private printInBlank(html: string, headerElement: HTMLElement) {\r\n let printArea = document.createElement('div');\r\n printArea.setAttribute('id', 'container');\r\n\r\n // TODO: decorate layout.\r\n let title = document.createElement('div');\r\n title.setAttribute('style', 'text-align: center');\r\n title.appendChild(headerElement);\r\n\r\n printArea.innerHTML = title.outerHTML;\r\n printArea.innerHTML += html as string;\r\n\r\n const printProxy = window.open();\r\n\r\n if (printProxy == null) {\r\n alert(\"팝업 차단 기능이 설정되어있습니다.\\n\\n차단 기능을 해제(팝업허용) 한 후 다시 시도 부탁드립니다.\");\r\n }\r\n\r\n printProxy.document.write(printArea.innerHTML);\r\n\r\n //printProxy.document.close();\r\n //printProxy.focus();\r\n\r\n let focus = false;\r\n\r\n //onload 되기전에 print 하면 바코드 이미지 안뜸\r\n //printProxy.onload = (event) => { \r\n\r\n //바코드 이미지 표시를 위한.\r\n setTimeout(() => {\r\n printProxy.window.print();\r\n printProxy.focus();\r\n focus = true;\r\n },300);\r\n\r\n let timer = setTimeout(() => { if (focus === true) { printProxy.window.close(); } }, 300);\r\n\r\n delay(1000);\r\n\r\n clearTimeout(timer)\r\n\r\n\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { handleResponse } from 'src/functions/http-handler';\r\nimport { PrintService } from './print.service';\r\nimport { FileSaverService } from 'ngx-filesaver';\r\nimport { environment } from 'src/environments/environment';\r\nimport { IPagedList } from 'src/models/paged-list.model';\r\n\r\nconst PRINT_TITLE = '발주서조회출력';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PurchaseService {\r\n private _apiUrl: string;\r\n\r\n constructor(\r\n @Inject(HttpClient) protected http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n private fileSaver: FileSaverService,\r\n private printSvc: PrintService,\r\n private logger: NGXLogger) {\r\n this._apiUrl = `${baseUrl}api/Purchase`;\r\n }\r\n\r\n get(param: any) {\r\n return this.http.get(this._apiUrl, { params: param })\r\n .pipe(handleResponse>(this.logger, 'retrieve purch'));\r\n }\r\n\r\n getChangeSet(param: any) {\r\n return this.http.get(`${this._apiUrl}/ChangeSet`, { params: param })\r\n .pipe(handleResponse>(this.logger, 'retrieve purch changeSet'));\r\n }\r\n\r\n print(param: any) {\r\n let title = document.createElement('h2');\r\n title.innerText = PRINT_TITLE;\r\n return this.printSvc.print(this.http, `${this._apiUrl}/Print`, param, title);\r\n }\r\n\r\n export(param: any, type: 'sheet' | 'pdf') {\r\n const mimeType = (type == 'sheet') ? environment.mimeTypes.excel : environment.mimeTypes.pdf;\r\n const extension = (type == 'sheet') ? '.xlsx' : '.pdf';\r\n\r\n return this.http.get(`${this._apiUrl}/Export`, {\r\n headers: { 'Accept': mimeType },\r\n responseType: 'blob', // This must be a Blob type\r\n params: param\r\n }).subscribe((res: Blob) => {\r\n var filename = `Purchase${extension}`;\r\n this.saveAsBlob(res, filename, mimeType);\r\n })\r\n }\r\n\r\n private saveAsBlob(data: any, filename: string, mimeType: string) {\r\n const file = new File([data], filename, { type: mimeType });\r\n this.fileSaver.save(file, filename);\r\n }\r\n}\r\n\r\nexport interface IPurchase {\r\n purchId: string,\r\n lineNumber: string,\r\n createDateTime: Date,\r\n deliveryDate: Date,\r\n itemId: string,\r\n itemName: string,\r\n purchQty: number,\r\n qty: number,\r\n remainPurchPhysical: number,\r\n purchPrice: number,\r\n lineAmount: number,\r\n currencyCode: string,\r\n inventSiteId: string,\r\n inventTransId: string,\r\n gubun: string,\r\n tymAqlType: string,\r\n}\r\n\r\nexport interface IPurchaseChangeSet {\r\n purchaseId: string,\r\n itemId: string,\r\n versionDateTime: Date,\r\n deliveryDate: Date,\r\n purchaseQuantity: number,\r\n purchaseUnit: string,\r\n purchasePrice: number,\r\n lineAmount: number,\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { AttachmentService } from 'src/services/attachment.service';\r\n\r\n@Pipe({\r\n name: 'attach'\r\n})\r\nexport class AttachmentPipe implements PipeTransform {\r\n\r\n constructor(private attachSvc: AttachmentService) {\r\n }\r\n\r\n transform(value: string, ...args: unknown[]) {\r\n if (!!value) {\r\n return this.attachSvc.get(value)\r\n .pipe(\r\n map((res) => { return res.fileName; })\r\n );\r\n } else {\r\n return of('없음');\r\n }\r\n }\r\n}\r\n","import { Component, Inject, NgModule, OnInit } from '@angular/core';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { INotice, NoticeService } from 'src/services/notice.service';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { AttachmentService, IAttachment } from 'src/services/attachment.service';\r\nimport { CommonService } from 'src/services/common.service';\r\n\r\n@Component({\r\n selector: 'app-popup-dialog',\r\n templateUrl: './popup-dialog.component.html',\r\n styleUrls: ['./popup-dialog.component.css'],\r\n})\r\nexport class PopupDialogComponent implements OnInit {\r\n notices: INotice;\r\n index: number = 0;\r\n slideData: any = this.data;\r\n\r\n slideConfig = { \"slidesToShow\": 1, \"autoplay\": true, \"autoplaySpeed\": 3000, \"dots\": true, \"infinite\": true, \"pauseOnHover\": true }; \r\n constructor(\r\n private logger: NGXLogger,\r\n @Inject(MAT_DIALOG_DATA) public data: INotice,\r\n private attachSvc: AttachmentService,\r\n private commonSvc: CommonService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n console.log(this.data);\r\n //this.notices = this.data;\r\n\r\n }\r\n\r\n setLocalStorageWithExpiry(key, value) {\r\n const now = new Date().getTime();\r\n const item = {\r\n value: value,\r\n ttl: now + 86400000\r\n }\r\n localStorage.setItem(key, JSON.stringify(item));\r\n }\r\n\r\n FileDown(element: INotice, $event: any) {\r\n this.logger.log('$event', $event);\r\n try {\r\n this.commonSvc.toastMessage('파일 다운중입니다. 잠시만 기다려주세요.'); \r\n this.attachSvc.get(element.attachmentId)\r\n .subscribe(res => {\r\n this.attachSvc.download(res);\r\n })\r\n\r\n } catch (err) {\r\n this.logger.error(`failed to upload file, ${err}`);\r\n this.commonSvc.toastMessage('파일 다운에 실패하였습니다. 다시 시도해주세요.');\r\n }\r\n\r\n }\r\n\r\n}\r\n","\r\n
\r\n\r\n
\r\n \r\n Welcome to
\r\n Cooperative firm
\r\n VAN system\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n","import { Injectable } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { IDialog } from \"../models/dialog.model\";\r\nimport { ConfirmDialogComponent } from \"../app/sotheby-common/confirm-dialog/confirm-dialog.component\";\r\nimport { SnackBarComponent } from \"../app/sotheby-common/snack-bar/snack-bar.component\";\r\nimport { DialogAction } from \"src/models/action-dialog.model\";\r\nimport { AlertDialogComponent } from \"src/app/sotheby-common/alert-dialog/alert-dialog.component\";\r\nimport { IndicatorDialogComponent } from \"src/app/sotheby-common/indicator-dialog/indicator-dialog.component\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { NGXLogger } from \"ngx-logger\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class CommonService {\r\n data: IDialog = new (class implements IDialog {\r\n action: number;\r\n content: string;\r\n title: string;\r\n })();\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private snackBar: MatSnackBar,\r\n private logger: NGXLogger\r\n ) {}\r\n\r\n confirmCreate() {\r\n this.data = {\r\n title: \"잠시만요!\",\r\n content: \"정말 등록하시겠습니까?\",\r\n action: DialogAction.create,\r\n };\r\n return this.confirm(this.data);\r\n }\r\n\r\n alertMessage(content: string) {\r\n this.data = {\r\n title: \"잠시만요!\",\r\n content: content,\r\n action: DialogAction.read,\r\n };\r\n return this.alert(this.data);\r\n }\r\n\r\n alertIndicator(message: string) {\r\n this.data = {\r\n title: \"잠시만요!\",\r\n content: message,\r\n action: DialogAction.read,\r\n };\r\n\r\n return this.indicatorDialog(this.data);\r\n }\r\n\r\n confirmDelete() {\r\n this.data = {\r\n title: \"잠시만요!\",\r\n content:\r\n \"삭제한 데이터는 복구할 수 없습니다.
정말로 삭제하시겠습니까?\",\r\n action: DialogAction.delete,\r\n };\r\n return this.confirm(this.data);\r\n }\r\n\r\n private indicatorDialog(data: IDialog) {\r\n const dialogRef = this.dialog.open(IndicatorDialogComponent, {\r\n data: { ...data },\r\n });\r\n\r\n return dialogRef;\r\n }\r\n\r\n private alert(data: IDialog): Promise {\r\n const dialogRef = this.dialog.open(AlertDialogComponent, {\r\n data: { ...data },\r\n });\r\n return new Promise((resolve) => {\r\n dialogRef.afterClosed().subscribe((result) => {\r\n this.logger.log(\"alert dialog closed\", result);\r\n resolve(!!result);\r\n });\r\n });\r\n }\r\n\r\n // data에 담긴 값을 이용해 실제로 dialog를 띄우고, Promise를 return하는 실행 로직이 담긴 메소드.\r\n private confirm(data: IDialog): Promise {\r\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n data: { title: data.title, content: data.content, action: data.action },\r\n });\r\n\r\n return new Promise((resolve) => {\r\n dialogRef.afterClosed().subscribe((result) => {\r\n this.logger.log(\"confirm dialog closed\", result);\r\n resolve(!!result);\r\n });\r\n });\r\n }\r\n\r\n toastCreated() {\r\n this.toast(\"저장했습니다.\");\r\n }\r\n\r\n toastFailed() {\r\n this.toast(\"문제가 발생했습니다.\");\r\n }\r\n\r\n authFail() {\r\n this.toast(\"인증에 실패하였습니다.\", 3000);\r\n }\r\n\r\n toastContactToAdmin() {\r\n this.toast(\"관리자에게 문의하세요.\", 3000);\r\n }\r\n toastMessage(content: string) {\r\n this.toast(content, 3000);\r\n }\r\n private toast(content: string, duration: number = 1000) {\r\n this.snackBar.openFromComponent(SnackBarComponent, {\r\n duration: duration,\r\n data: content,\r\n });\r\n }\r\n\r\n private selectedVendor = new BehaviorSubject(\"\");\r\n selectedVendor$ = this.selectedVendor.asObservable();\r\n changeVendor(vendorInfo: any) {\r\n this.selectedVendor.next(vendorInfo);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class NoCacheHeadersInterceptor implements HttpInterceptor {\r\n intercept(req: HttpRequest, next: HttpHandler) {\r\n const authReq = req.clone({\r\n // Prevent caching in IE, in particular IE11.\r\n // See: https://support.microsoft.com/en-us/help/234067/how-to-prevent-caching-in-internet-explorer\r\n setHeaders: {\r\n 'Cache-Control': 'no-cache, no-store, must-revalidate',\r\n 'expires':'0',\r\n 'Pragma': 'no-cache'\r\n }\r\n });\r\n return next.handle(authReq);\r\n }\r\n}\r\n\r\n","import { Injectable, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { throwError } from 'rxjs';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { IResponse } from 'src/models/response.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProductService {\r\n private readonly _apiUrl: string;\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n private logger: NGXLogger) {\r\n this._apiUrl = baseUrl + 'api/Product';\r\n }\r\n\r\n search(prodName: string) {\r\n let param = { prodName: '' };\r\n if (!!prodName) param.prodName = prodName; // null undefined가 아닌 경우만 기능하도록\r\n return this.http.get(this._apiUrl, { params: param })\r\n .pipe(\r\n tap(data => this.logger.log('search', data)),\r\n catchError(err => {\r\n this.logger.error(err);\r\n return throwError(err);\r\n }),\r\n map((res: IResponse) => res.result),\r\n );\r\n }\r\n\r\n retrieveAll() {\r\n return this.http.get(this._apiUrl)\r\n .pipe(\r\n tap(data => this.logger.log('retrieveAll', data)),\r\n catchError(err => {\r\n this.logger.error(err);\r\n return throwError(err);\r\n }),\r\n map((res: IResponse) => res.result),\r\n );\r\n }\r\n}\r\n\r\nexport interface IProduct {\r\n itemID: string,\r\n itemName: string,\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { handleResponse } from 'src/functions/http-handler';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService {\r\n private _apiUrl: string;\r\n\r\n constructor(\r\n @Inject(HttpClient) protected http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n private logger: NGXLogger) {\r\n this._apiUrl = `${baseUrl}api/User`;\r\n }\r\n\r\n get(codes: Array) {\r\n const param = { vendorCodes: codes };\r\n return this.http.get(this._apiUrl, { params: param })\r\n .pipe(handleResponse>(this.logger, 'retrieve user'));\r\n }\r\n\r\n searchByName(name: string) {\r\n const param = { name: name };\r\n return this.http.get(`${this._apiUrl}/Search`, { params: param })\r\n .pipe(handleResponse>(this.logger, 'search user'));\r\n }\r\n\r\n create(user: IUser) {\r\n return this.http.post(this._apiUrl, user)\r\n .pipe(handleResponse(this.logger, 'create user'));\r\n }\r\n\r\n update(user: IUser) {\r\n return this.http.put(`${this._apiUrl}/${user.id}`, user)\r\n .pipe(handleResponse(this.logger, 'update user'));\r\n }\r\n\r\n delete(user: IUser) {\r\n return this.http.delete(`${this._apiUrl}/${user.id}`)\r\n .pipe(handleResponse(this.logger, 'delete user'));\r\n }\r\n\r\n searchById(id: string) {\r\n const param = { id: id };\r\n return this.http.get(`${this._apiUrl}/SearchId`, { params: param })\r\n .pipe(handleResponse>(this.logger, 'search userId'));\r\n }\r\n\r\n}\r\n\r\nexport interface IUser {\r\n id: string,\r\n name: string,\r\n accountNum: string,\r\n orgName: string,\r\n department: string,\r\n email: string,\r\n admin_yn: string\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n {{ notice.title }}\r\n

\r\n

\r\n {{notice.content}}\r\n

\r\n

\r\n  \r\n

\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n","import { Injectable, Inject, PLATFORM_ID, OnDestroy } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { BehaviorSubject, Observable, throwError } from 'rxjs';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { IResponse } from 'src/models/response.model';\r\nimport { environment as ENV } from 'src/environments/environment';\r\n\r\n// REF: https://jasonwatmore.com/post/2019/06/22/angular-8-jwt-authentication-example-tutorial\r\nconst _token_key = \"user\";\r\n\r\n\r\n// TODO: 로그인 때에 AccountNum, AccountName을 받아와서 가지고 있을 것.\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService implements OnDestroy {\r\n\r\n private userSubject: BehaviorSubject;\r\n public currentUser: Observable;\r\n\r\n private headers: HttpHeaders;\r\n private apiUrl: string;\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n private logger: NGXLogger) {\r\n this.apiUrl = baseUrl + 'api/Token';\r\n\r\n this.headers = new HttpHeaders();\r\n this.headers = this.headers.append('Content-type', 'application/json');\r\n\r\n this.userSubject = new BehaviorSubject(JSON.parse(localStorage.getItem(_token_key)));\r\n this.currentUser = this.userSubject.asObservable();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.userSubject.unsubscribe();\r\n }\r\n\r\n public get currentUserValue(): ITokenResponse {\r\n return this.userSubject.value;\r\n }\r\n\r\n public isAuthenticated(): boolean {\r\n return !!this.userSubject.value;\r\n }\r\n\r\n public login(email: string, password: string, rememberMe: boolean = false) {\r\n this.logger.log(\"Signing in as: \" + email);\r\n let data = {\r\n domain: ENV.domain,\r\n email: email,\r\n password: password,\r\n grantType: GrantType.password,\r\n refreshToken: '',\r\n };\r\n\r\n return this.http.post(this.apiUrl, data, { headers: this.headers })\r\n .pipe(map(user => {\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n localStorage.setItem(_token_key, JSON.stringify(user));\r\n this.userSubject.next(user as ITokenResponse);\r\n return user;\r\n }));\r\n }\r\n\r\n public refreshToken() {\r\n let data = {\r\n domain: this.currentUserValue.domain,\r\n type: this.currentUserValue.type,\r\n email: this.currentUserValue.email,\r\n password: '',\r\n grantType: GrantType.refresh,\r\n refreshToken: this.currentUserValue.refresh_token,\r\n };\r\n\r\n return this.http.post(this.apiUrl, data, { headers: this.headers })\r\n .pipe(map((user: any) => {\r\n this.handleTokenResponse(user);\r\n return user;\r\n }));\r\n }\r\n\r\n private handleTokenResponse(user: any) {\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n localStorage.clear();\r\n\r\n localStorage.setItem(_token_key, JSON.stringify(user));\r\n this.userSubject.next(user as ITokenResponse);\r\n this.logger.log('currentUser', this.currentUserValue);\r\n }\r\n\r\n public logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem(_token_key);\r\n this.userSubject.next(null);\r\n this.logger.log(\"Log out\");\r\n }\r\n}\r\n\r\nexport interface ITokenResponse {\r\n domain: string,\r\n type: string,\r\n uid: string,\r\n token: string,\r\n email: string,\r\n name: string,\r\n role: string,\r\n depart: string,\r\n password: string,\r\n refresh_token: string,\r\n orgName: string,\r\n accountNum: string,\r\n}\r\n\r\nexport interface ITokenRequest {\r\n domain: string,\r\n type: 'VENDOR' | 'BUYER',\r\n email: string,\r\n password: string,\r\n grantType: GrantType,\r\n refreshToken: string, \r\n}\r\n\r\nexport enum GrantType {\r\n password = 1,\r\n refresh = 2\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { IDialog } from '../../../models/dialog.model';\r\n\r\n/**\r\nexport declare const MAT_DIALOG_DATA: InjectionToken;\r\nInjection token that can be used to specify default dialog options.\r\n*/\r\n\r\n@Component({\r\n selector: 'app-alert-dialog',\r\n templateUrl: './alert-dialog.component.html',\r\n styleUrls: ['./alert-dialog.component.css']\r\n})\r\nexport class AlertDialogComponent implements OnInit {\r\n\r\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: IDialog) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent {\r\n title = 'app';\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { handleResponse } from 'src/functions/http-handler';\r\nimport { PrintService } from './print.service';\r\nimport { FileSaverService } from 'ngx-filesaver';\r\nimport { environment } from 'src/environments/environment';\r\nimport { IPagedList } from 'src/models/paged-list.model';\r\n\r\nconst PRINT_TITLE = '불량 발생 내역';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DefectManagementService {\r\n private _apiUrl: string;\r\n\r\n constructor(\r\n @Inject(HttpClient) protected http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n private fileSaver: FileSaverService,\r\n private printSvc: PrintService,\r\n private logger: NGXLogger) {\r\n this._apiUrl = `${baseUrl}api/DefectManagement`;\r\n }\r\n\r\n get(param: any) {\r\n return this.http.get(this._apiUrl, { params: param })\r\n .pipe(handleResponse>(this.logger, 'retrieve defect-management'));\r\n }\r\n\r\n print(param: any) {\r\n let title = document.createElement('h2');\r\n title.innerText = PRINT_TITLE;\r\n return this.printSvc.print(this.http, `${this._apiUrl}/Print`, param, title);\r\n }\r\n\r\n export(param: any, type: 'sheet' | 'pdf') {\r\n const mimeType = (type == 'sheet') ? environment.mimeTypes.excel : environment.mimeTypes.pdf;\r\n const extension = (type == 'sheet') ? '.xlsx' : '.pdf';\r\n\r\n return this.http.get(`${this._apiUrl}/Export`, {\r\n headers: { 'Accept': mimeType },\r\n responseType: 'blob', // This must be a Blob type\r\n params: param\r\n }).subscribe((res: Blob) => {\r\n var filename = `DefectManagement${extension}`;\r\n this.saveAsBlob(res, filename, mimeType);\r\n })\r\n }\r\n\r\n private saveAsBlob(data: any, filename: string, mimeType: string) {\r\n const file = new File([data], filename, { type: mimeType });\r\n this.fileSaver.save(file, filename);\r\n }\r\n}\r\n\r\nexport interface IDefectManagement {\r\n /*\r\n procurementType: string,\r\n type: string,\r\n itemId: string,\r\n itemName: string,\r\n unit: string,\r\n quantity: number,\r\n purchasePrice: number,\r\n amount: number,\r\n currency: string,\r\n description: string,\r\n */\r\n gubun: string, //원천\r\n vendAccount: string, //구매처\r\n vendName: string, //구매처명\r\n nonDate: Date, //불량발생일자\r\n itemId: string, //품번\r\n itemName: string, //품명\r\n unitId: string, //단위\r\n testDefectQty: number, //불량수량\r\n purchPrice: number, //단가\r\n totalPrice: number, //금액\r\n currency: string, //통화\r\n typeId: string, //불량내역\r\n nonType: string, //검사유형\r\n inventSiteId: string, //플랜트\r\n tymAqlType: string, //검사엄격도\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BusyIndicatorService {\r\n busy: Subject;\r\n\r\n constructor(private logger: NGXLogger) {\r\n this.busy = new Subject();\r\n }\r\n\r\n update(value: boolean) {\r\n this.logger.log('busy', value);\r\n this.busy.next(value);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { FileSaverModule } from 'ngx-filesaver';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { NavMenuComponent } from './nav-menu/nav-menu.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { LayoutComponent } from './layout/layout.component';\r\nimport { FullScreenComponent } from './layout/full-screen/full-screen.component';\r\nimport { LoggerModule, NgxLoggerLevel } from 'ngx-logger';\r\nimport { SharedMaterialModule } from './shared.material.module';\r\n\r\nimport { JwtInterceptor } from './jwt.interceptor';\r\nimport { ErrorInterceptor } from './error.interceptor';\r\nimport { NoCacheHeadersInterceptor } from './header.interceptor';\r\n\r\nimport { AlertDialogComponent } from './sotheby-common/alert-dialog/alert-dialog.component';\r\nimport { ConfirmDialogComponent } from './sotheby-common/confirm-dialog/confirm-dialog.component';\r\nimport { IndicatorDialogComponent } from './sotheby-common/indicator-dialog/indicator-dialog.component';\r\nimport { SnackBarComponent } from './sotheby-common/snack-bar/snack-bar.component';\r\nimport { PopupDialogComponent } from './popup-dialog/popup-dialog.component';\r\n\r\nimport { AuthService } from 'src/services/auth.service';\r\nimport { AttachmentService } from 'src/services/attachment.service';\r\nimport { ConsignedMaterialCommonModelService } from 'src/services/consigned-material-common-model.service';\r\nimport { ConsignedMaterialInventoryService } from 'src/services/consigned-material-inventory.service';\r\nimport { ConsignedMaterialPaymentStatement } from 'src/services/consigned-material-payment-statement.service';\r\nimport { ConsignedMaterialProductPlanService } from 'src/services/consigned-material-product-plan.service';\r\nimport { ConsignedMaterialTransferService } from 'src/services/consigned-material-transfer.service';\r\nimport { CommonService } from 'src/services/common.service';\r\nimport { CommonCodeService } from 'src/services/common-code.service';\r\nimport { DefectManagementService } from 'src/services/defect-management.service';\r\nimport { NonconformanceService } from 'src/services/nonconformance.service';\r\n// import { PackingSlipService } from 'src/services/packing-slip.service';\r\nimport { ProductService } from 'src/services/product.service';\r\nimport { ProductPlanService } from 'src/services/product-plan.service';\r\nimport { ProductMrpService } from 'src/services/product-mrp.service';\r\nimport { PurchaseService } from 'src/services/purchase.service';\r\nimport { ReceiptConfirmService } from 'src/services/receipt-confirm.service';\r\nimport { TaxInvoiceService } from 'src/services/tax-invoice.service';\r\nimport { TradeItemService } from 'src/services/trade-item.service';\r\nimport { UserService } from 'src/services/user.service';\r\nimport { UserAuthService } from 'src/services/user-auth.service';\r\nimport { VendorService } from 'src/services/vendor.service';\r\nimport { NoticeService } from 'src/services/notice.service';\r\nimport { GnbComponent } from './gnb/gnb.component';\r\n\r\n\r\nimport { SlickCarouselModule } from '../../node_modules/ngx-slick-carousel';\r\nimport { SharedPipeModule } from 'src/app/shared.pipe.module';\r\n\r\n@NgModule({\r\n entryComponents: [\r\n AlertDialogComponent,\r\n ConfirmDialogComponent,\r\n IndicatorDialogComponent,\r\n SnackBarComponent,\r\n PopupDialogComponent\r\n ],\r\n declarations: [\r\n AppComponent,\r\n NavMenuComponent,\r\n HomeComponent,\r\n FullScreenComponent,\r\n LayoutComponent,\r\n GnbComponent,\r\n PopupDialogComponent,\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }), SlickCarouselModule,\r\n BrowserAnimationsModule,\r\n RouterModule,\r\n FormsModule,\r\n HttpClientModule,\r\n ReactiveFormsModule,\r\n LoggerModule.forRoot({ level: NgxLoggerLevel.DEBUG, serverLogLevel: NgxLoggerLevel.ERROR }),\r\n AppRoutingModule,\r\n FileSaverModule,\r\n SharedMaterialModule,\r\n SharedPipeModule,\r\n ],\r\n providers: [\r\n { provide: MAT_DATE_LOCALE, useValue: 'ko' },\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: NoCacheHeadersInterceptor, multi: true },\r\n AuthService,\r\n AttachmentService,\r\n CommonService,\r\n CommonCodeService,\r\n ConsignedMaterialCommonModelService,\r\n ConsignedMaterialInventoryService,\r\n ConsignedMaterialPaymentStatement,\r\n ConsignedMaterialProductPlanService,\r\n ConsignedMaterialTransferService,\r\n DefectManagementService,\r\n NonconformanceService,\r\n // PackingSlipService,\r\n ProductService,\r\n ProductPlanService,\r\n ProductMrpService,\r\n PurchaseService,\r\n ReceiptConfirmService,\r\n TaxInvoiceService,\r\n TradeItemService,\r\n UserService,\r\n UserAuthService,\r\n VendorService,\r\n NoticeService\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { handleError, handleResponse } from 'src/functions/http-handler';\r\nimport { PrintService } from './print.service';\r\nimport { FileSaverService } from 'ngx-filesaver';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { IResponse } from 'src/models/response.model';\r\nimport { IPagedList } from 'src/models/paged-list.model';\r\nimport { environment } from 'src/environments/environment';\r\nimport { of } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReceiptConfirmService {\r\n private _apiUrl: string;\r\n\r\n constructor(\r\n @Inject(HttpClient) protected http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n private fileSaver: FileSaverService,\r\n private printSvc: PrintService,\r\n private logger: NGXLogger) {\r\n this._apiUrl = `${baseUrl}api/ReceiptConfirm`;\r\n }\r\n\r\n //get(param: any) {\r\n // return this.http.get(this._apiUrl, { params: param })\r\n // .pipe(\r\n // tap((res) => this.logger.log('retrieve receipt-confirm', res)),\r\n // catchError(handleError),\r\n // map((data: IResponse) => {\r\n // if (data.code == 'NoData') {\r\n // return [];\r\n // } else {\r\n // return data.result;\r\n // }\r\n // })\r\n // );\r\n //}\r\n get(param: any) {\r\n return this.http.get(this._apiUrl, { params: param })\r\n .pipe(handleResponse>(this.logger, 'IReceiptConfirm get'));\r\n }\r\n\r\n export(param: any, type: 'sheet' | 'pdf') {\r\n const mimeType = (type == 'sheet') ? environment.mimeTypes.excel : environment.mimeTypes.pdf;\r\n const extension = (type == 'sheet') ? '.xlsx' : '.pdf';\r\n\r\n return this.http.get(`${this._apiUrl}/Export?type=${type}`, {\r\n headers: { 'Accept': mimeType },\r\n responseType: 'blob', // This must be a Blob type\r\n params: param\r\n }).subscribe((res: Blob) => {\r\n var filename = `ReceiptConfirm${extension}`;\r\n this.saveAsBlob(res, filename);\r\n });\r\n }\r\n\r\n create(ReceiptConfirm: Array) {\r\n return this.http.post(this._apiUrl, ReceiptConfirm)\r\n .pipe(handleResponse(this.logger, 'create Receipt Confirm'));\r\n }\r\n\r\n private saveAsBlob(data: any, filename: string) {\r\n const file = new File([data], filename, { type: environment.mimeTypes.excel });\r\n this.fileSaver.save(file, filename);\r\n }\r\n}\r\n\r\nexport interface IReceiptConfirmRequest {\r\n vrCptId:string,\r\n packingSlipId: string,\r\n InventSiteId: number,\r\n origpurchId: string,\r\n inventTransId: string,\r\n vendAccount:string,\r\n vendAccountName: string,\r\n itemName: string,\r\n itemId: string, \r\n qty: number,\r\n tymAqlType: string,\r\n inventDate: Date,\r\n confirm: string,\r\n confirmDate: Date,\r\n purchPrice: number,\r\n valueMst: number,\r\n taxAmount: number,\r\n gubun: string,\r\n}\r\n\r\n\r\nexport interface IReceiptConfirm {\r\n PackingSlipId: string,\r\n InventSiteId: string,\r\n OrigpurchId: string,\r\n InventTransId: string,\r\n VendAccount: string,\r\n VendAccountName: string,\r\n ItemId:string,\r\n ItemName: string,\r\n Qty: number,\r\n PurchPrice: number,\r\n ValueMst: number,\r\n TaxAmount: number,\r\n PurchUnit: string,\r\n TymAqlType: string,\r\n ConfirmDate: Date,\r\n InventDate: Date,\r\n Gubun: string,\r\n Confirm: string,\r\n AuthType : string,\r\n scriptReturn: string,\r\n}\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"crnd\";","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { handleResponse } from 'src/functions/http-handler';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TaxInvoiceService {\r\n private _apiUrl: string;\r\n\r\n constructor(\r\n @Inject(HttpClient) protected http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n private logger: NGXLogger) {\r\n this._apiUrl = `${baseUrl}api/TaxInvoice`;\r\n }\r\n\r\n get(param: any) {\r\n return this.http.get(this._apiUrl, { params: param })\r\n .pipe(handleResponse(this.logger, 'retrieve tax-invoice'));\r\n }\r\n}\r\n\r\nexport interface ITaxInvoice {\r\n currentMonthInvoice: number,\r\n previousInvoice: number,\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { handleResponse } from 'src/functions/http-handler';\r\nimport { IPagedList } from 'src/models/paged-list.model';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NoticeService {\r\n private _apiUrl: string;\r\n\r\n constructor(\r\n @Inject(HttpClient) protected http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n private logger: NGXLogger) {\r\n this._apiUrl = `${baseUrl}api/Notice`;\r\n }\r\n\r\n getNotice(categories: Array, pageNum: number, pageSize: number) {\r\n this.logger.log('categories', categories);\r\n this.logger.log('pageNum', pageNum);\r\n this.logger.log('pageSize', pageSize);\r\n const param = { categoryIds: categories, pageNum: pageNum.toString(), pageSize: pageSize.toString() };\r\n return this.http.get(this._apiUrl, { params: param })\r\n .pipe(handleResponse>(this.logger, 'retrieve notice'));\r\n }\r\n\r\n retrieveAll() {\r\n const param = { categoryIds: [], pageNum: \"0\", pageSize: \"1000\" };\r\n return this.http.get(this._apiUrl, { params: param })\r\n .pipe(\r\n handleResponse>(this.logger, 'retrieve notice'),\r\n map((data: IPagedList) => {\r\n return data.items;\r\n }));\r\n }\r\n\r\n createNotice(notice: INotice) {\r\n return this.http.post(this._apiUrl, notice)\r\n .pipe(handleResponse(this.logger, 'create notice'));\r\n } \r\n\r\n updateNotice(notice: INotice) {\r\n return this.http.put(`${this._apiUrl}/${notice.id}`, notice)\r\n .pipe(handleResponse(this.logger, 'update notice'));\r\n }\r\n readNotice(notice: INotice) {\r\n return this.http.get(`${this._apiUrl}/${notice.id}`)\r\n .pipe(handleResponse(this.logger, 'read notice'));\r\n }\r\n\r\n deleteNotice(notice: INotice) {\r\n return this.http.delete(`${this._apiUrl}/${notice.id}`)\r\n .pipe(handleResponse(this.logger, 'delete notice'));\r\n }\r\n}\r\n\r\nexport interface INotice {\r\n id: number,\r\n category: string,\r\n title: string,\r\n content: string,\r\n viewCount: number,\r\n isPopup: boolean,\r\n dateFrom: Date,\r\n dateTo: Date,\r\n crtId: string,\r\n crtDt: Date,\r\n attachmentId: string,\r\n fileName: string,\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { handleError, handleResponse } from 'src/functions/http-handler';\r\nimport { PrintService } from './print.service';\r\nimport { FileSaverService } from 'ngx-filesaver';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { IResponse } from 'src/models/response.model';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConsignedMaterialCommonModelService {\r\n private _apiUrl: string;\r\n\r\n constructor(\r\n @Inject(HttpClient) protected http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n private fileSaver: FileSaverService,\r\n private printSvc: PrintService,\r\n private logger: NGXLogger) {\r\n this._apiUrl = `${baseUrl}api/ConsignedMaterialCommonModel`;\r\n }\r\n\r\n get(criteria: any) {\r\n return this.http.get(this._apiUrl, { params: criteria })\r\n .pipe(\r\n tap((res) => this.logger.log('retrieve consigned-material common model', res)),\r\n catchError(handleError),\r\n map((data: IResponse) => {\r\n if (data.code == 'NoData') {\r\n return [];\r\n } else {\r\n return data.result;\r\n }\r\n })\r\n );\r\n }\r\n\r\n export(param: any, type: 'sheet' | 'pdf') {\r\n const mimeType = (type == 'sheet') ? environment.mimeTypes.excel : environment.mimeTypes.pdf;\r\n const extension = (type == 'sheet') ? '.xlsx' : '.pdf';\r\n\r\n return this.http.get(`${this._apiUrl}/Export`, {\r\n headers: { 'Accept': mimeType },\r\n responseType: 'blob', // This must be a Blob type\r\n params: param\r\n }).subscribe((res: Blob) => {\r\n var filename = `ConsignedMaterialCommonModel${extension}`;\r\n this.saveAsBlob(res, filename, mimeType);\r\n })\r\n }\r\n\r\n private saveAsBlob(data: any, filename: string, mimeType: string) {\r\n const file = new File([data], filename, { type: mimeType });\r\n this.fileSaver.save(file, filename);\r\n }\r\n}\r\n\r\nexport interface IConsignedMaterialCommonModel {\r\n itemId: string,\r\n consumption: number,\r\n}\r\n","import { HttpErrorResponse } from \"@angular/common/http\";\r\nimport { NGXLogger } from \"ngx-logger\";\r\nimport { pipe, throwError } from \"rxjs\";\r\nimport { tap, catchError, map } from \"rxjs/operators\";\r\nimport { IResponse } from \"src/models/response.model\";\r\nimport { convertToLocalString } from \"./date-serializer\";\r\n\r\n// TODO: 예외등의 처리를 맡아서 처리함.\r\nexport function handleResponse(logger: NGXLogger, message: string) {\r\n return pipe(\r\n tap((res) => logger.log(message, res)),\r\n catchError(handleError),\r\n map((data: IResponse) => {\r\n return data.result as T;\r\n })\r\n );\r\n}\r\n\r\nexport function handleError(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('An error occurred:', error.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong.\r\n console.error(\r\n `Backend returned code ${error.status}, ` +\r\n `body was: ${error.error}`);\r\n }\r\n // Return an observable with a user-facing error message.\r\n return throwError(\r\n 'Something bad happened; please try again later.');\r\n}\r\n\r\nexport function genQueryStr(value: any) {\r\n let params = [];\r\n for (const property in value) {\r\n if (value[property] != undefined && value[property] != null) {\r\n let paramValue = value[property];\r\n // check is Date?\r\n // https://stackoverflow.com/questions/643782/how-to-check-whether-an-object-is-a-date\r\n if (typeof paramValue.getMonth === 'function') {\r\n paramValue = convertToLocalString(value[property]);\r\n }\r\n\r\n if (paramValue != '') {\r\n params.push(`${property}=${paramValue}`);\r\n }\r\n }\r\n };\r\n\r\n return `${params.join('&')}`;\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from 'src/services/auth.service';\r\nimport { BusyIndicatorService } from 'src/services/busy-indicator.service';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n\r\n constructor(private authSvc: AuthService,\r\n private busyIndicator: BusyIndicatorService\r\n ) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // add authorization header with jwt token if available\r\n this.busyIndicator.update(true);\r\n let currentUser = this.authSvc.currentUserValue;\r\n if (currentUser && currentUser.token) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${currentUser.token}`\r\n }\r\n });\r\n }\r\n\r\n return next.handle(request)\r\n .pipe(\r\n finalize(() => {\r\n this.busyIndicator.update(false);\r\n })\r\n );\r\n }\r\n}","import {Component, Inject, OnInit} from '@angular/core';\r\nimport {MAT_SNACK_BAR_DATA} from \"@angular/material/snack-bar\";\r\n\r\n@Component({\r\n selector: 'app-snack-bar',\r\n templateUrl: './snack-bar.component.html',\r\n styleUrls: ['./snack-bar.component.css']\r\n})\r\nexport class SnackBarComponent {\r\n constructor(@Inject(MAT_SNACK_BAR_DATA) public data: string) {\r\n\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { handleError, handleResponse } from 'src/functions/http-handler';\r\nimport { PrintService } from './print.service';\r\nimport { FileSaverService } from 'ngx-filesaver';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { IResponse } from 'src/models/response.model';\r\nimport { IProductPlanDetail } from 'src/services/product-plan.service';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConsignedMaterialProductPlanService {\r\n private _apiUrl: string;\r\n\r\n constructor(\r\n @Inject(HttpClient) protected http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n private fileSaver: FileSaverService,\r\n private printSvc: PrintService,\r\n private logger: NGXLogger) {\r\n this._apiUrl = `${baseUrl}api/ConsignedMaterialProductPlan`;\r\n }\r\n\r\n get(criteria: any) {\r\n return this.http.get(this._apiUrl, { params: criteria })\r\n .pipe(\r\n tap((res) => this.logger.log('retrieve consigned-material product-plan', res)),\r\n catchError(handleError),\r\n map((data: IResponse) => {\r\n if (data.code == 'NoData') {\r\n return [];\r\n } else {\r\n return data.result;\r\n }\r\n })\r\n );\r\n } \r\n\r\n export(param: any, type: 'sheet' | 'pdf') {\r\n const mimeType = (type == 'sheet') ? environment.mimeTypes.excel : environment.mimeTypes.pdf;\r\n const extension = (type == 'sheet') ? '.xlsx' : '.pdf';\r\n\r\n return this.http.get(`${this._apiUrl}/Export`, {\r\n headers: { 'Accept': mimeType },\r\n responseType: 'blob', // This must be a Blob type\r\n params: param\r\n }).subscribe((res: Blob) => {\r\n var filename = `ConsignedMaterialProductPlan${extension}`;\r\n this.saveAsBlob(res, filename, mimeType);\r\n })\r\n }\r\n\r\n private saveAsBlob(data: any, filename: string, mimeType: string) {\r\n const file = new File([data], filename, { type: mimeType });\r\n this.fileSaver.save(file, filename);\r\n }\r\n}\r\n\r\nexport interface IConsignedMaterialProductPlan { \r\n itemId: string,\r\n consumption: number,\r\n plans: Array,\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { handleResponse } from 'src/functions/http-handler';\r\nimport { PrintService } from './print.service';\r\nimport { FileSaverService } from 'ngx-filesaver';\r\nimport { environment } from 'src/environments/environment';\r\nimport { IPagedList } from 'src/models/paged-list.model';\r\n\r\nconst PRINT_TITLE = '협력사 거래 품목';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TradeItemService {\r\n private _apiUrl: string;\r\n\r\n constructor(\r\n @Inject(HttpClient) protected http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n private fileSaver: FileSaverService,\r\n private printSvc: PrintService,\r\n private logger: NGXLogger) {\r\n this._apiUrl = `${baseUrl}api/TradeItem`;\r\n }\r\n\r\n get(param: any) {\r\n return this.http.get(this._apiUrl, { params: param })\r\n .pipe(handleResponse>(this.logger, 'retrieve trade-item'));\r\n }\r\n\r\n print(param: any) {\r\n let title = document.createElement('h2');\r\n title.innerText = PRINT_TITLE;\r\n return this.printSvc.print(this.http, `${this._apiUrl}/Print`, param, title);\r\n }\r\n\r\n export(param: any, type: 'sheet' | 'pdf') {\r\n const mimeType = (type == 'sheet') ? environment.mimeTypes.excel : environment.mimeTypes.pdf;\r\n const extension = (type == 'sheet') ? '.xlsx' : '.pdf';\r\n\r\n return this.http.get(`${this._apiUrl}/Export`, {\r\n headers: { 'Accept': mimeType },\r\n responseType: 'blob', // This must be a Blob type\r\n params: param\r\n }).subscribe((res: Blob) => {\r\n var filename = `TradeItem${extension}`;\r\n this.saveAsBlob(res, filename, mimeType);\r\n })\r\n }\r\n\r\n private saveAsBlob(data: any, filename: string, mimeType: string) {\r\n const file = new File([data], filename, { type: mimeType });\r\n this.fileSaver.save(file, filename);\r\n }\r\n}\r\n\r\nexport interface ITradeItem {\r\n vendorCode: string,\r\n vendorName: string,\r\n itemID: string,\r\n itemName: string,\r\n purchPrice: number,\r\n currency: string,\r\n visibleyn: string,\r\n}\r\n","

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-full-screen',\r\n templateUrl: './full-screen.component.html',\r\n styleUrls: ['./full-screen.component.css']\r\n})\r\nexport class FullScreenComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n

\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Injectable, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { throwError } from 'rxjs';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { IResponse } from 'src/models/response.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VendorService {\r\n private readonly _apiUrl: string;\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n private logger: NGXLogger) {\r\n this._apiUrl = baseUrl + 'api/Vendor';\r\n }\r\n\r\n search(vendorName: string) {\r\n const param = { vendorName: vendorName };\r\n return this.http.get(this._apiUrl, { params: param })\r\n .pipe(\r\n tap(data => this.logger.log('search', data)),\r\n catchError(err => {\r\n this.logger.error(err);\r\n return throwError(err);\r\n }),\r\n map((res: IResponse) => res.result),\r\n );\r\n }\r\n\r\n retrieveAll() {\r\n return this.http.get(this._apiUrl)\r\n .pipe(\r\n tap(data => this.logger.log('retrieveAll', data)),\r\n catchError(err => {\r\n this.logger.error(err);\r\n return throwError(err);\r\n }),\r\n map((res: IResponse) => res.result),\r\n );\r\n }\r\n}\r\n\r\nexport interface IVendor {\r\n vendorCode: string,\r\n vendorName: string,\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { handleResponse } from 'src/functions/http-handler';\r\nimport { PrintService } from './print.service';\r\nimport { FileSaverService } from 'ngx-filesaver';\r\nimport { environment } from 'src/environments/environment';\r\n\r\nconst PRINT_TITLE = '생산계획';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProductPlanService {\r\n private _apiUrl: string;\r\n\r\n constructor(\r\n @Inject(HttpClient) protected http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n private fileSaver: FileSaverService,\r\n private printSvc: PrintService,\r\n private logger: NGXLogger) {\r\n this._apiUrl = `${baseUrl}api/ProductPlan`;\r\n }\r\n\r\n get(codes: Array, dateFrom: string, searchTxt: string, pageNum: number, pageSize: number) {\r\n const param = { codes: codes, dateFrom: dateFrom, searchTxt: searchTxt, pageNum: pageNum.toString(), pageSize: pageSize.toString() };\r\n return this.http.get(this._apiUrl, { params: param })\r\n .pipe(handleResponse>(this.logger, 'retrieve prod plan'));\r\n }\r\n\r\n print(codes: Array, dateFrom: string) {\r\n let title = document.createElement('h2');\r\n title.innerText = PRINT_TITLE;\r\n\r\n return this.printSvc.print(this.http, `${this._apiUrl}/Print`, { codes: codes, dateFrom: dateFrom }, title);\r\n }\r\n\r\n export(codes: Array, dateFrom: string, searchTxt: string, type: 'sheet' | 'pdf') {\r\n const mimeType = (type == 'sheet') ? environment.mimeTypes.csv : environment.mimeTypes.pdf;\r\n const extension = (type == 'sheet') ? '.csv' : '.pdf';\r\n const param = { codes: codes, dateFrom: dateFrom, searchTxt: searchTxt };\r\n\r\n return this.http.get(`${this._apiUrl}/Export?type=${type}`, {\r\n headers: { 'Accept': mimeType },\r\n responseType: 'blob', // This must be a Blob type\r\n params: param\r\n }).subscribe((res: Blob) => {\r\n var filename = `ProductPlan${extension}`;\r\n this.saveAsBlob(res, filename, mimeType);\r\n });\r\n }\r\n\r\n private saveAsBlob(data: any, filename: string, mimeType: string) {\r\n const file = new File([data], filename, { type: mimeType });\r\n this.fileSaver.save(file, filename);\r\n }\r\n}\r\n\r\nexport interface IProductPlan {\r\n itemId: string,\r\n itemName: string,\r\n plans: Array,\r\n}\r\n\r\nexport interface IProductPlanDetail {\r\n year: number,\r\n month: number,\r\n qty: number,\r\n}\r\n","import { Component, OnInit, Inject } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { IDialog } from \"src/models/dialog.model\";\r\n\r\n@Component({\r\n selector: \"app-indicator-dialog\",\r\n templateUrl: \"./indicator-dialog.component.html\",\r\n styleUrls: [\"./indicator-dialog.component.css\"],\r\n})\r\nexport class IndicatorDialogComponent implements OnInit {\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: IDialog\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n cancel() {\r\n const cancellation = true;\r\n this.dialogRef.close(cancellation);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { PortalModule } from '@angular/cdk/portal';\r\nimport { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { CdkStepperModule } from '@angular/cdk/stepper';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { CdkTreeModule } from '@angular/cdk/tree';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule} from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\n\r\nimport { NgxMaterialTimepickerModule } from 'ngx-material-timepicker';\r\n\r\n@NgModule({\r\n imports: [\r\n NgxMaterialTimepickerModule\r\n ],\r\n exports: [\r\n A11yModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n DragDropModule,\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatStepperModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatFormFieldModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n PortalModule,\r\n ScrollingModule,\r\n\r\n NgxMaterialTimepickerModule,\r\n ]\r\n})\r\nexport class SharedMaterialModule { }\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { handleError, handleResponse } from 'src/functions/http-handler';\r\nimport { PrintService } from './print.service';\r\nimport { FileSaverService } from 'ngx-filesaver';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { IResponse } from 'src/models/response.model';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConsignedMaterialPaymentStatement {\r\n private _apiUrl: string;\r\n\r\n constructor(\r\n @Inject(HttpClient) protected http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n private fileSaver: FileSaverService,\r\n private printSvc: PrintService,\r\n private logger: NGXLogger) {\r\n this._apiUrl = `${baseUrl}api/ConsignedMaterialPaymentStatement`;\r\n }\r\n\r\n get(criteria: any) {\r\n return this.http.get(this._apiUrl, { params: criteria })\r\n .pipe(\r\n tap((res) => this.logger.log('retrieve consigned-material', res)),\r\n catchError(handleError),\r\n map((data: IResponse) => {\r\n if (data.code == 'NoData') {\r\n return [];\r\n } else {\r\n return data.result;\r\n }\r\n })\r\n );\r\n }\r\n\r\n export(param: any, type: 'sheet' | 'pdf') {\r\n const mimeType = (type == 'sheet') ? environment.mimeTypes.excel : environment.mimeTypes.pdf;\r\n const extension = (type == 'sheet') ? '.xlsx' : '.pdf';\r\n\r\n return this.http.get(`${this._apiUrl}/Export`, {\r\n headers: { 'Accept': mimeType },\r\n responseType: 'blob', // This must be a Blob type\r\n params: param\r\n }).subscribe((res: Blob) => {\r\n var filename = `ConsignedMaterialPaymentStatement${extension}`;\r\n this.saveAsBlob(res, filename, mimeType);\r\n })\r\n }\r\n\r\n private saveAsBlob(data: any, filename: string, mimeType: string) {\r\n const file = new File([data], filename, { type: mimeType });\r\n this.fileSaver.save(file, filename);\r\n }\r\n}\r\n\r\nexport interface IConsignedMaterial {\r\n itemId: string,\r\n itemName: string,\r\n accountNumber: string,\r\n carryOver: number,\r\n receive: number,\r\n delivery: number,\r\n remainQty: number,\r\n}","import { AfterViewInit, Component, OnInit } from '@angular/core';\r\nimport { BusyIndicatorService } from 'src/services/busy-indicator.service';\r\nimport { AuthService, ITokenResponse } from 'src/services/auth.service';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { Observable } from 'rxjs';\r\nimport { startWith } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-layout',\r\n templateUrl: './layout.component.html',\r\n styleUrls: ['./layout.component.scss']\r\n})\r\nexport class LayoutComponent implements OnInit, AfterViewInit {\r\n isBusy = false;\r\n opened = true;\r\n collapsed = false;\r\n currentUser$: Observable;\r\n\r\n constructor(\r\n private busyIndicator: BusyIndicatorService\r\n , private authSvc: AuthService\r\n , private logger: NGXLogger) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.currentUser$ = this.authSvc.currentUser;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.busyIndicator.busy\r\n .subscribe(res => {\r\n this.logger.warn('layout isBusy', res);\r\n // Avoid ExpressionChangedAfterItHasBeenCheckedError\r\n setTimeout(() => {\r\n this.isBusy = res;\r\n }, 0);\r\n })\r\n }\r\n\r\n toggleGnb() {\r\n if (this.opened) {\r\n // 메뉴가 닫히고, 잠시 후 닫힌 메뉴 노출\r\n this.opened = !this.opened;\r\n setTimeout(() => {\r\n this.collapsed = !this.opened;\r\n }, 100);\r\n } else {\r\n // 메뉴가 열리고, 닫힌 메뉴 닫기\r\n this.opened = !this.opened;\r\n this.collapsed = !this.opened;\r\n }\r\n }\r\n}\r\n","\r\n Home\r\n 공지사항\r\n 생산계획 조회\r\n 6개월예상 소요량조회\r\n 발주서 조회/출력\r\n 납품관리\r\n 입고 내역\r\n 입고불량 발생 내역\r\n 공정불량/반품 내역\r\n 거래 실적 조회\r\n 사급품 재고현황\r\n 사급품 수불명세서\r\n 사급품 입출고 현황\r\n 사급품 공용기종 현황\r\n 직송 입력\r\n 직송 확정 및 업로드\r\n 직송 현황\r\n \r\n \r\n 4M 변경관리\r\n 거래 품목 조회\r\n Ass'y 별 사급품 현황\r\n 입고확정관리\r\n 세금계산서 금액집계\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n Admin\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n  공통코드\r\n \r\n  공지사항\r\n  사용자\r\n \r\n  납품서 관리자\r\n
\r\n
\r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { FullScreenComponent } from './layout/full-screen/full-screen.component';\r\n// import { AuthGuardService } from 'src/services/auth-guard.service';\r\nimport { LayoutComponent } from './layout/layout.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: LayoutComponent,\r\n children: [\r\n { path: '', component: HomeComponent, pathMatch: 'full' },\r\n { path: '4m', loadChildren: () => import('./four-m/four-m.module').then(f => f.FourMModule) },\r\n { path: 'assembly', loadChildren: () => import('./assembly/assembly.module').then(a => a.AssemblyModule) },\r\n { path: 'trade-item', loadChildren: () => import('./trade-item/trade-item.module').then(t => t.TradeItemModule) },\r\n { path: 'consigned-material', loadChildren: () => import('./consigned-material/consigned-material.module').then(c => c.ConsignedMaterialModule) },\r\n { path: 'defect-management', loadChildren: () => import('./defect-management/defect-management.module').then(d => d.DefectManagementModule) },\r\n { path: 'nonconformance', loadChildren: () => import('./nonconformance/nonconformance.module').then(n => n.NonconformanceModule) },\r\n { path: 'packing-slip', loadChildren: () => import('./packing-slip/packing-slip.module').then(p => p.PackingSlipModule) },\r\n { path: 'purchase', loadChildren: () => import('./purchase/purchase.module').then(p => p.PurchaseModule) },\r\n { path: 'product-plan', loadChildren: () => import('./product-plan/product-plan.module').then(p => p.ProductPlanModule) },\r\n { path: 'product-mrp', loadChildren: () => import('./product-mrp/product-mrp.module').then(p => p.ProductMrpModule) },\r\n { path: 'invent-trans', loadChildren: () => import('./invent-trans/invent-trans.module').then(i => i.InventTransModule) },\r\n { path: 'trade-performance', loadChildren: () => import('./trade-performance/trade-performance.module').then(t => t.TradePerformanceModule) },\r\n { path: 'direct-delivery', loadChildren: () => import('./direct-delivery/direct-delivery.module').then(d => d.DirectDeliveryModule) },\r\n { path: 'notice', loadChildren: () => import('./notice/notice.module').then(n => n.NoticeModule) },\r\n { path: 'receipt-confirm', loadChildren: () => import('./receipt-confirm/receipt-confirm.module').then(r => r.ReceiptConfirmModule) },\r\n { path: 'tax-invoice', loadChildren: () => import('./tax-invoice/tax-invoice.module').then(t => t.TaxInvoiceModule) },\r\n { path: 'admin', loadChildren: () => import('./admin/admin.module').then(a => a.AdminModule) }\r\n ]\r\n },\r\n {\r\n path: 'account',\r\n component: FullScreenComponent,\r\n children: [\r\n { path: '', loadChildren: () => import('./account/anonymous/anonymous.module').then(a => a.AnonymousModule) },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { handleError, handleResponse } from 'src/functions/http-handler';\r\nimport { environment } from 'src/environments/environment';\r\nimport { FileSaverService } from 'ngx-filesaver';\r\nimport { tap, catchError, map } from \"rxjs/operators\";\r\nimport { IResponse } from 'src/models/response.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AttachmentService {\r\n private _apiUrl: string;\r\n\r\n constructor(\r\n @Inject(HttpClient) protected http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n private fileSaver: FileSaverService,\r\n private logger: NGXLogger) {\r\n this._apiUrl = `${baseUrl}api/Attachment`;\r\n }\r\n\r\n get(id: string) {\r\n return this.http.get(this._apiUrl, { params: { Ids: [id] } })\r\n .pipe(handleResponse(this.logger, 'get attachemnt info'));\r\n }\r\n\r\n getMultiple(ids: Array) {\r\n return this.http.get(this._apiUrl, { params: { Ids: ids } })\r\n .pipe(\r\n tap((res) => this.logger.log('get attachment multiple', res)),\r\n catchError(handleError),\r\n map((data: IResponse) => {\r\n // 이전 버전 호환성을 위해서 attachment end-point에서는\r\n // 단일 요청 반환에 대해서는 Array 형태로 제공하지 않는다.\r\n // component에서는 이를 매번 확인하기 번거롭기 때문에, service에서 Array형태로 통일시켜 반환해줌.\r\n if (Array.isArray(data.result)) {\r\n return data.result as Array;\r\n } else {\r\n return [data.result as IAttachment];\r\n }\r\n })\r\n );\r\n }\r\n\r\n upload(file: File, reference: string) {\r\n let formData = new FormData();\r\n formData.append(\"fileName\", file.name);\r\n formData.append(\"reference\", reference);\r\n formData.append(\"data\", file);\r\n\r\n return this.http.post(this._apiUrl, formData)\r\n .pipe(handleResponse(this.logger, 'upload attachemnt'));\r\n }\r\n\r\n delete(attachment: IAttachment) {\r\n return this.http.delete(`${this._apiUrl}/${attachment.id}`)\r\n .pipe(handleResponse(this.logger, 'delete attachemnt'));\r\n }\r\n\r\n download(attachment: IAttachment) {\r\n const mimeType = environment.mimeTypes.binary;\r\n\r\n return this.http.get(`${this._apiUrl}/${attachment.id}`, {\r\n headers: { 'Accept': mimeType },\r\n responseType: 'blob', // This must be a Blob type\r\n }).subscribe((res: Blob) => {\r\n this.saveAsBlob(res, attachment.fileName, mimeType);\r\n });\r\n }\r\n\r\n private saveAsBlob(data: any, filename: string, mimeType: string) {\r\n const file = new File([data], filename, { type: mimeType });\r\n this.fileSaver.save(file, filename);\r\n }\r\n}\r\n\r\nexport interface IAttachment {\r\n id: string,\r\n fileName: string,\r\n source: string,\r\n reference: string,\r\n viewCount: number,\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable, OnInit } from '@angular/core';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { of } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { handleResponse } from 'src/functions/http-handler';\r\n\r\nconst SITE_TYPE = 'SITE_TYPE';\r\nconst GROUP_CODE = 'PGM_GROUP';\r\nconst TYPE_CODE = 'PGM_TYPE';\r\nconst NOTICE_CATEGORY_CODE = 'NOTICE_CATEGORY';\r\nconst FOURM_TYPE_CODE = '4M_TYPE';\r\nconst FOURM_STATUS_CODE = '4M_STATUS';\r\nconst APP_STATUS_CODE = 'APP_STATUS';\r\nconst CONFIRM_STATUS_CODE = 'CONFIRM_STATUS';\r\nconst YES_NO_CODE = 'YESNO';\r\nconst SOURCE_CODE = 'SOURCE';\r\nconst YN_CODE = 'YN';\r\nconst FOURM_STATUS = 'FOURM_STATUS';\r\nconst PURCHASE_CODE = 'Purchase_Export';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonCodeService implements OnInit {\r\n private _apiUrl: string;\r\n private _codes: Array = [];\r\n\r\n constructor(\r\n @Inject(HttpClient) protected http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n private logger: NGXLogger) {\r\n this._apiUrl = `${baseUrl}api/CommonCode`;\r\n }\r\n\r\n ngOnInit() {\r\n this.get()\r\n .subscribe(res => {\r\n this._codes = res as Array;\r\n });\r\n }\r\n\r\n get() {\r\n return this.http.get(this._apiUrl)\r\n .pipe(handleResponse>(this.logger, 'retrieve common code'));\r\n }\r\n\r\n getCodes(code: string) {\r\n // cache 데이터를 확인한 다음, 찾지 못한 경우에만 end-point를 경유해서 데이터를 반환\r\n const codeIndex = this._codes.findIndex(c => c.code.toLowerCase() == code.toLowerCase());\r\n if (this._codes.length > 0 && codeIndex >= 0) {\r\n return of(this._codes[codeIndex].details);\r\n } else {\r\n return this.http.get(`${this._apiUrl}/${code}`)\r\n .pipe(handleResponse>(this.logger, `retrieve common code of ${code}`));\r\n }\r\n }\r\n\r\n getSiteTypes() {\r\n return this.getCodes(SITE_TYPE);\r\n }\r\n\r\n get4mTypes() {\r\n return this.getCodes(FOURM_TYPE_CODE);\r\n }\r\n\r\n get4mStatuses() {\r\n return this.getCodes(FOURM_STATUS_CODE);\r\n }\r\n\r\n getAppStatuses() {\r\n return this.getCodes(APP_STATUS_CODE);\r\n }\r\n\r\n getConfirmStatuses() {\r\n return this.getCodes(CONFIRM_STATUS_CODE);\r\n }\r\n\r\n getProgramGroups() {\r\n return this.getCodes(GROUP_CODE);\r\n }\r\n\r\n getProgramTypes() {\r\n return this.getCodes(TYPE_CODE);\r\n }\r\n\r\n getFourmStatus() {\r\n return this.getCodes(FOURM_STATUS);\r\n }\r\n\r\n getYesNo() {\r\n return this.getCodes(YES_NO_CODE)\r\n .pipe(\r\n tap(results => results\r\n // 예, 아니오 순으로 출력 순서를 변경.\r\n // 사실, CommonCode에서 Order를 설정하면 될 일인데..\r\n .sort((prev: ICommonCodeDetail, next: ICommonCodeDetail) => {\r\n return -(prev.value.localeCompare(next.value));\r\n }))\r\n );\r\n }\r\n\r\n getNoticeCategories() {\r\n return this.getCodes(NOTICE_CATEGORY_CODE);\r\n }\r\n\r\n getSource() {\r\n return this.getCodes(SOURCE_CODE);\r\n }\r\n\r\n getYN() {\r\n return this.getCodes(YN_CODE)\r\n .pipe(\r\n tap(results => results\r\n // 예, 아니오 순으로 출력 순서를 변경.\r\n // 사실, CommonCode에서 Order를 설정하면 될 일인데..\r\n .sort((prev: ICommonCodeDetail, next: ICommonCodeDetail) => {\r\n return -(prev.value.localeCompare(next.value));\r\n }))\r\n );\r\n }\r\n\r\n getPurchaseExport() {\r\n return this.getCodes(PURCHASE_CODE);\r\n }\r\n\r\n create(code: ICommonCode) {\r\n return this.http.post(this._apiUrl, code)\r\n .pipe(handleResponse(this.logger, 'create common code'));\r\n }\r\n\r\n update(code: ICommonCode) {\r\n return this.http.put(`${this._apiUrl}/${code.code}`, code)\r\n .pipe(handleResponse(this.logger, 'update common code'));\r\n }\r\n\r\n delete(code: ICommonCode) {\r\n return this.http.delete(`${this._apiUrl}/${code.code}`)\r\n .pipe(handleResponse(this.logger, 'delete common code'));\r\n }\r\n\r\n createDetail(detail: ICommonCodeDetail) {\r\n return this.http.post(`${this._apiUrl}/Detail`, detail)\r\n .pipe(handleResponse(this.logger, 'create common code detail'));\r\n }\r\n\r\n updateDetail(detail: ICommonCodeDetail) {\r\n const param = { code: detail.code, value: detail.value };\r\n return this.http.put(`${this._apiUrl}/Detail`, detail, { params: param })\r\n .pipe(handleResponse(this.logger, 'update common code detail'));\r\n }\r\n deleteDetail(detail: ICommonCodeDetail) {\r\n const param = { code: detail.code, value: detail.value };\r\n return this.http.delete(`${this._apiUrl}/Detail`, { params: param })\r\n .pipe(handleResponse(this.logger, 'update common code detail'));\r\n }\r\n}\r\n\r\nexport interface ICommonCode {\r\n code: string,\r\n name: string,\r\n description: string,\r\n details: Array,\r\n}\r\n\r\nexport interface ICommonCodeDetail {\r\n code: string,\r\n value: string,\r\n description: string,\r\n attr01: string,\r\n attr02: string,\r\n attr03: string,\r\n attr04: number,\r\n attr05: number,\r\n}\r\n","export function convertToLocalString(date: Date): string {\r\n let dateStr = date.toLocaleDateString();\r\n let elements = dateStr.split('.').map(e => '0' + e.trim());\r\n dateStr = [\r\n elements[0].substr(elements[0].length - 4),\r\n elements[1].substr(elements[1].length - 2),\r\n elements[2].substr(elements[2].length - 2)\r\n ].join('-');\r\n return dateStr;\r\n}\r\n\r\nexport function convertToTimeString(date: Date): string {\r\n var d = new Date(date);\r\n // d.setMinutes(d.getMinutes() + new Date().getTimezoneOffset());\r\n var hour = '' + d.getHours();\r\n var min = '' + d.getMinutes();\r\n\r\n if (hour.length < 2) {\r\n hour = `0${hour}`;\r\n }\r\n if (min.length < 2) {\r\n min = `0${min}`;\r\n }\r\n return [hour, min].join(':');\r\n}\r\n\r\n// export function convertToParamString(date: Date): string {\r\n// date.setMinutes(date.getMinutes() - new Date().getTimezoneOffset());\r\n// const result = convertToLocalString(date);\r\n// return result;\r\n// }\r\n\r\n// export function convertToParamDate(date: Date): Date {\r\n// date.setMinutes(date.getMinutes() - new Date().getTimezoneOffset());\r\n// return date;\r\n// }\r\n\r\nexport function parseDate(dateStr: string): Date {\r\n let elements = dateStr.split('-');\r\n let year = parseInt(elements[0]);\r\n let month = parseInt(elements[1]) - 1;\r\n let date = parseInt(elements[2]);\r\n return new Date(year, month, date);\r\n}\r\n\r\nexport function mergeDateTime(date: Date, time: string): Date {\r\n date = new Date(date);\r\n let elements = time.split(':');\r\n date.setHours(parseInt(elements[0]), parseInt(elements[1]));\r\n return date;\r\n}","","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n\r\n// export { renderModule, renderModuleFactory } from '@angular/platform-server';\r\n"],"sourceRoot":"webpack:///"}