hino / app / models / approval-inbox.js
approval-inbox.js
Raw
import DS from 'ember-data';
import {computed} from '@ember/object';
import { inject as service } from '@ember/service';
const { Model } = DS;

export default Model.extend({
	store : service(),

	employeeNo: DS.attr('string'),
	employeeName: DS.attr('string'),
	documentTypeCode: DS.attr('string'),
	documentTypeDesc: DS.attr('string'),
	approvalCode: DS.attr('string'),
	approvalName: DS.attr('string'),
	sourceSystemNo: DS.attr('string'),
	documentNo: DS.attr('string'),
	requestNo: DS.attr('string'),
	dataSource: DS.attr('string'),
	statusId: DS.attr('string'),
	statusName: DS.attr('string'),
	syncStatusId: DS.attr('string'),
	syncStatus: DS.attr('string'),
	message: DS.attr('string'),
	customerName: DS.attr('string'),
	model: DS.attr('string'),
	dealerCode: DS.attr('string'),
	dealerName: DS.attr('string'),
	variant: DS.attr('string'),
	vinNo: DS.attr('string'),
	isRead: DS.attr('boolean'),
	isPushNotification: DS.attr('boolean'),
	createdBy: DS.attr('string'),
	updatedBy: DS.attr('string'),
	createdDate: DS.attr('date'),
	itemId: DS.attr('string'),
	vehicleModelNameHoyu: DS.attr('string'),
	vehicleModelNameDms: DS.attr('string'),
	vehicleVariantNameHoyu: DS.attr('string'),
	vehicleVariantNameDms: DS.attr('string'),
	dealerCodeValue: DS.attr('string'),
	dealerNameValue: DS.attr('string'),
	requester:DS.attr('string'),
	requesterRemark: DS.attr('string'),

	vehicleModelName: computed('dataSource', function() {
		if(this.get('dataSource') == 'DMS') {
			return this.get('vehicleModelNameDms');
		}
		
		return this.get('vehicleModelNameHoyu');
	}),

	vehicleVariantName: computed('isDMS', function() {
		if(this.get('isDMS') == true) {
			return this.get('vehicleVariantNameDms');
		}
		
		return this.get('vehicleVariantNameHoyu');
	}),

	inboxClassName: computed('documentTypeCode', 'isRead', function() {
		let cssClassName = 'inbox-header-sales_order';
		let defKey = [
			'HOYU_SALES_ORDER_APPROVAL',
			'HOYU_ORDER_SPLIT_APPROVAL',
			'HOYU_FAKTUR_APPROVAL',
			'HOYU_PDI_APPROVAL',
			'HOYU_EVENT_APPROVAL',

			'DMS_PURCHASE_ORDER',
			'DMS_SALES_ORDER',
			'DMS_SALES_ORDER_INVOICE_RETURN',
			'DMS_ASSIGNMENT_LETTER',
			'DMS_WORK_ORDER',
			'DMS_WORK_ORDER_INVOICE_RETURN',
			'DMS_PDI_REQUEST',
			'DMS_STOCK_OPNAME',
			'DMS_STOCK_ADJUSTMENT',
			'DMS_AGREEMENT_SERVICE',
			'DMS_AGREEMENT_SPARE_PART',
			'DMS_PRINT_GATE_PASS',
			'DMS_TRANSFER_REQUEST',
			'DMS_OUTSTANDING_PAYMENT',
		];

		let defName = [
			'inbox-header-sales_order',
			'inbox-header-order_split',
			'inbox-header-faktur',
			'inbox-header-pdi',
			'inbox-header-event',

			'inbox-header-purchase_order',
			'inbox-header-sales_order',
			'inbox-header-sales_order_invoice_return',
			'inbox-header-assignment_letter',
			'inbox-header-work_order',
			'inbox-header-work_order_invoice_return',
			'inbox-header-pdi_receipt',
			'inbox-header-stock_opname',
			'inbox-header-stock_adjustment',
			'inbox-header-agreement_service',
			'inbox-header-agreement_spare_parts',
			'inbox-header-print_gate_pass',
			'inbox-header-sales_order_invoice',		// transfer request
			'inbox-header-work_order',				// outstanding payment
		];

		let docCode = this.get('documentTypeCode');
		defKey.forEach(function(item, index) {
			if(item == docCode) {
				cssClassName = defName[index];
			}
		});

		if(this.get('isRead') == true) {
			cssClassName = 'inbox-header-is_read';
		}
		return cssClassName;
	}),

	routeName: computed('documentTypeCode', function() {
		let routeURL = '';
		let documentTypeCode = this.get('documentTypeCode');
		let defKey = [
			'HOYU_SALES_ORDER_APPROVAL',
			'HOYU_ORDER_SPLIT_APPROVAL',
			'HOYU_FAKTUR_APPROVAL',
			'HOYU_PDI_APPROVAL',
			'HOYU_EVENT_APPROVAL',

			'DMS_PURCHASE_ORDER',
			'DMS_SALES_ORDER',
			'DMS_SALES_ORDER_INVOICE_RETURN',
			'DMS_ASSIGNMENT_LETTER',
			'DMS_WORK_ORDER',
			'DMS_WORK_ORDER_INVOICE_RETURN',
			'DMS_PDI_REQUEST',
			'DMS_STOCK_OPNAME',
			'DMS_STOCK_ADJUSTMENT',
			'DMS_AGREEMENT_SERVICE',
			'DMS_AGREEMENT_SPARE_PART',
			'DMS_PRINT_GATE_PASS',
			'DMS_TRANSFER_REQUEST',
			'DMS_OUTSTANDING_PAYMENT',
// DOCUMENT_TYPE_KEY
		];
		let defRoute = [
			'hoyu-sales-order-approval.approval',
			'hoyu-order-split-approval.approval',
			'hoyu-faktur-approval.approval',
			'hoyu-pdi-approval.approval',
			'hoyu-event-approval.approval',

			'dms-purchase-order.approval',
			'dms-sales-order.approval',
			'dms-sales-order-invoice-return.approval',
			'dms-assignment-letter.approval',
			'dms-work-order.approval',
			'dms-work-order-invoice-return.approval',
			'dms-pdi-request.approval',
			'dms-stock-opname.approval',
			'dms-stock-adjustment.approval',
			'dms-agreement-service.approval',
			'dms-agreement-spare-part.approval',
			'dms-print-gate-pass.approval',
			'dms-transfer-request.approval',
			'dms-outstanding-payment.approval',
			
// DOCUMENT_TYPE_ROUTE
		];

		defKey.forEach(function(item, index){
			if(item == documentTypeCode) {
				routeURL = defRoute[index];
			}
		});
		return routeURL;
	}),
});