erp-platform/ui/src/mocks/mockBusinessParties.ts
2025-09-17 12:46:58 +03:00

521 lines
14 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { BankAccountTypeEnum } from '../types/fi'
import { BusinessParty, BusinessPartyStatusEnum, PartyType, PaymentTerms } from '../types/common'
import { CustomerSegmentEnum, CustomerTypeEnum } from '../types/crm'
import { SupplierTypeEnum, SupplierCardTypeEnum } from '../types/mm'
export const mockBusinessParties: BusinessParty[] = [
{
id: '1',
code: 'SUP001',
supplierType: SupplierTypeEnum.Manufacturer,
name: 'ABC Malzeme Ltd.',
primaryContact: {
id: '2',
firstName: 'Fatma',
lastName: 'Demir',
fullName: 'Fatma Demir',
title: 'Genel Müdür',
department: 'Yönetim',
email: 'fatma.demir@uretim.com',
phone: '+90 312 555 0202',
mobile: '+90 532 555 0202',
isPrimary: true,
isActive: true,
creationTime: new Date(),
lastModificationTime: new Date(),
},
email: 'aliveli@gmail.com',
phone: '+90 212 555 1234',
address: {
street: 'İstiklal Cad. No:10',
city: 'İstanbul',
state: 'İstanbul',
postalCode: '34430',
country: 'Türkiye',
},
taxNumber: '1234567890',
paymentTerms: PaymentTerms.Net30,
currency: 'TRY',
cardNumber: 'SC-2024-001',
cardType: SupplierCardTypeEnum.Standard,
validFrom: new Date('2024-01-01'),
validTo: new Date('2024-12-31'),
creditLimit: 500000,
isActive: true,
currentBalance: 120000,
discountRate: 5,
specialConditions: ['Toplu sipariş indirimi', 'Öncelikli teslimat'],
lastOrderDate: new Date('2024-08-15'),
performanceMetrics: {
deliveryPerformance: 95,
qualityRating: 90,
priceCompetitiveness: 85,
responsiveness: 67,
complianceRating: 88,
overallScore: 100,
lastEvaluationDate: new Date('2024-08-01'),
},
certifications: ['ISO 9001', 'ISO 14001'],
bankAccounts: [
{
id: 'BA001',
bankName: 'Garanti BBVA',
accountNumber: '1234567890',
iban: 'TR330006100519786457841326',
swiftCode: 'TGBATRIS',
isDefault: true,
accountCode: '',
branchName: '',
accountType: BankAccountTypeEnum.Current,
currency: '',
balance: 0,
overdraftLimit: 0,
dailyTransferLimit: 0,
isActive: false,
creationTime: new Date(),
lastModificationTime: new Date(),
},
],
contacts: [
{
id: 'C001',
firstName: 'Ali',
lastName: 'Veli',
fullName: 'Ali Veli',
title: 'Satınalma Müdürü',
email: 'aliveli@gmail.com',
phone: '+90 212 555 1234',
department: 'Satınalma',
isPrimary: true,
isActive: false,
creationTime: new Date(),
lastModificationTime: new Date(),
},
],
creationTime: new Date(),
lastModificationTime: new Date(),
partyType: PartyType.Supplier,
},
{
id: '2',
code: 'SUP002',
supplierType: SupplierTypeEnum.ServiceProvider,
name: 'XYZ Teknoloji A.Ş.',
primaryContact: {
id: '2',
firstName: 'Fatma',
lastName: 'Demir',
fullName: 'Fatma Demir',
title: 'Genel Müdür',
department: 'Yönetim',
email: 'fatma.demir@uretim.com',
phone: '+90 312 555 0202',
mobile: '+90 532 555 0202',
isPrimary: true,
isActive: true,
creationTime: new Date(),
lastModificationTime: new Date(),
},
email: 'aysedemir@gmail.com',
phone: '+90 216 555 5678',
address: {
street: 'Barbaros Bulv. No:20',
city: 'İstanbul',
state: 'İstanbul',
postalCode: '34746',
country: 'Türkiye',
},
taxNumber: '0987654321',
paymentTerms: PaymentTerms.Net15,
currency: 'TRY',
cardNumber: 'SC-2024-002',
cardType: SupplierCardTypeEnum.Premium,
validFrom: new Date('2024-02-01'),
validTo: new Date('2024-12-31'),
creditLimit: 250000,
isActive: true,
currentBalance: 75000,
discountRate: 3,
specialConditions: ['Hızlı teslimat', 'Kalite garantisi'],
lastOrderDate: new Date('2024-08-20'),
performanceMetrics: {
deliveryPerformance: 88,
qualityRating: 90,
priceCompetitiveness: 85,
responsiveness: 87,
complianceRating: 91,
overallScore: 88,
lastEvaluationDate: new Date('2024-08-01'),
},
certifications: ['ISO 9001'],
bankAccounts: [
{
id: 'BA002',
bankName: 'İş Bankası',
accountNumber: '0987654321',
iban: 'TR440006200519786457841327',
swiftCode: 'ISBKTRIS',
isDefault: true,
accountCode: '',
branchName: '',
accountType: BankAccountTypeEnum.Current,
currency: '',
balance: 0,
overdraftLimit: 0,
dailyTransferLimit: 0,
isActive: false,
creationTime: new Date(),
lastModificationTime: new Date(),
},
],
contacts: [
{
id: 'C002',
firstName: 'Ayşe',
lastName: 'Demir',
fullName: 'Ayşe Demir',
title: 'Satış Müdürü',
email: 'aysedemir@gmail.com',
phone: '+90 216 555 5678',
department: 'Satış',
isPrimary: true,
isActive: false,
creationTime: new Date(),
lastModificationTime: new Date(),
},
],
creationTime: new Date(),
lastModificationTime: new Date(),
partyType: PartyType.Supplier,
},
{
id: '3',
code: 'SUP003',
supplierType: SupplierTypeEnum.Manufacturer,
name: 'LMN Endüstri A.Ş.',
primaryContact: {
id: '2',
firstName: 'Fatma',
lastName: 'Demir',
fullName: 'Fatma Demir',
title: 'Genel Müdür',
department: 'Yönetim',
email: 'fatma.demir@uretim.com',
phone: '+90 312 555 0202',
mobile: '+90 532 555 0202',
isPrimary: true,
isActive: true,
creationTime: new Date(),
lastModificationTime: new Date(),
},
email: 'mehmetyilmaz@gmail.com',
phone: '+90 232 555 7890',
address: {
street: 'Atatürk Cad. No:5',
city: 'İzmir',
state: 'İzmir',
postalCode: '35210',
country: 'Türkiye',
},
taxNumber: '1122334455',
paymentTerms: PaymentTerms.Net45,
currency: 'TRY',
cardNumber: 'SC-2024-003',
cardType: SupplierCardTypeEnum.Preferred,
validFrom: new Date('2024-03-01'),
validTo: new Date('2024-12-31'),
creditLimit: 150000,
isActive: true,
currentBalance: 45000,
discountRate: 2,
specialConditions: ['Toplu sipariş indirimi'],
lastOrderDate: new Date('2024-08-18'),
performanceMetrics: {
deliveryPerformance: 82,
qualityRating: 85,
priceCompetitiveness: 90,
responsiveness: 80,
complianceRating: 88,
overallScore: 85,
lastEvaluationDate: new Date('2024-07-15'),
},
certifications: ['ISO 9001', 'OHSAS 18001'],
bankAccounts: [
{
id: 'BA003',
bankName: 'Yapı Kredi',
accountNumber: '1122334455',
iban: 'TR550006300519786457841328',
swiftCode: 'YAPITRIS',
isDefault: true,
accountCode: '',
branchName: '',
accountType: BankAccountTypeEnum.Current,
currency: '',
balance: 0,
overdraftLimit: 0,
dailyTransferLimit: 0,
isActive: false,
creationTime: new Date(),
lastModificationTime: new Date(),
},
],
contacts: [
{
id: 'C003',
firstName: 'Mehmet',
lastName: 'Yılmaz',
fullName: 'Mehmet Yılmaz',
title: 'Genel Müdür',
email: 'mehmetyilmaz@gmail.com',
phone: '+90 232 555 7890',
department: 'Yönetim',
isPrimary: true,
isActive: false,
creationTime: new Date(),
lastModificationTime: new Date(),
},
],
creationTime: new Date(),
lastModificationTime: new Date(),
partyType: PartyType.Supplier,
},
{
id: '4',
code: 'SUP004',
supplierType: SupplierTypeEnum.Distributor,
name: 'OPQ Ticaret Ltd.',
primaryContact: {
id: '2',
firstName: 'Fatma',
lastName: 'Demir',
fullName: 'Fatma Demir',
title: 'Genel Müdür',
department: 'Yönetim',
email: 'fatma.demir@uretim.com',
phone: '+90 312 555 0202',
mobile: '+90 532 555 0202',
isPrimary: true,
isActive: true,
creationTime: new Date(),
lastModificationTime: new Date(),
},
email: 'fatmacelik@gmail.com',
phone: '+90 312 555 3456',
address: {
street: 'Kızılay Meydanı No:15',
city: 'Ankara',
state: 'Ankara',
postalCode: '06690',
country: 'Türkiye',
},
taxNumber: '6677889900',
paymentTerms: PaymentTerms.Net30,
currency: 'TRY',
cardNumber: 'SC-2024-004',
cardType: SupplierCardTypeEnum.Standard,
validFrom: new Date('2024-04-01'),
validTo: new Date('2024-12-31'),
creditLimit: 100000,
isActive: false,
currentBalance: 30000,
discountRate: 4,
specialConditions: ['Öncelikli sipariş', 'Hızlı teslimat'],
lastOrderDate: new Date('2024-06-30'),
performanceMetrics: {
deliveryPerformance: 75,
qualityRating: 78,
priceCompetitiveness: 82,
responsiveness: 76,
complianceRating: 80,
overallScore: 78,
lastEvaluationDate: new Date('2024-07-01'),
},
certifications: ['ISO 9001'],
bankAccounts: [
{
id: 'BA004',
bankName: 'Halkbank',
accountNumber: '6677889900',
iban: 'TR660006400519786457841329',
swiftCode: 'HALKTRIS',
isDefault: true,
accountCode: '',
branchName: '',
accountType: BankAccountTypeEnum.Current,
currency: '',
balance: 0,
overdraftLimit: 0,
dailyTransferLimit: 0,
isActive: false,
creationTime: new Date(),
lastModificationTime: new Date(),
},
],
contacts: [
{
id: 'C004',
firstName: 'Fatma',
lastName: 'Çelik',
fullName: 'Fatma Çelik',
title: 'Finans Müdürü',
email: 'fatmacelik@gmail.com',
phone: '+90 312 555 3456',
department: 'Finans',
isPrimary: true,
isActive: false,
creationTime: new Date(),
lastModificationTime: new Date(),
},
],
creationTime: new Date(),
lastModificationTime: new Date(),
partyType: PartyType.Supplier,
},
{
id: '5',
code: 'CUST-002',
name: 'Üretim Ltd.',
customerType: CustomerTypeEnum.Company,
industry: 'İmalat',
website: 'www.uretim.com',
primaryContact: {
id: '2',
firstName: 'Fatma',
lastName: 'Demir',
fullName: 'Fatma Demir',
title: 'Genel Müdür',
department: 'Yönetim',
email: 'fatma.demir@uretim.com',
phone: '+90 312 555 0202',
mobile: '+90 532 555 0202',
isPrimary: true,
isActive: true,
creationTime: new Date(),
lastModificationTime: new Date(),
},
contacts: [],
address: {
street: 'Sanayi Sitesi 5. Cadde No:25',
city: 'Ankara',
state: 'Ankara',
postalCode: '06000',
country: 'Türkiye',
},
taxNumber: '0987654321',
registrationNumber: 'REG-002',
creditLimit: 500000,
paymentTerms: PaymentTerms.Net60,
currency: 'TRY',
status: BusinessPartyStatusEnum.Active,
customerSegment: CustomerSegmentEnum.SMB,
assignedSalesRep: 'REP-002',
teamId: 'TEAM-001',
totalRevenue: 850000,
lastOrderDate: new Date('2024-01-10'),
averageOrderValue: 42500,
lifetimeValue: 1700000,
opportunities: [],
orders: [],
activities: [],
isActive: true,
creationTime: new Date('2023-09-20'),
lastModificationTime: new Date('2024-01-18'),
partyType: PartyType.Customer,
},
{
id: '6',
code: 'CUST-001',
name: 'Teknoloji A.Ş.',
customerType: CustomerTypeEnum.Company,
industry: 'Teknoloji',
website: 'www.teknoloji.com',
primaryContact: {
id: '1',
firstName: 'Ali',
lastName: 'Yılmaz',
fullName: 'Ali Yılmaz',
title: 'Satınalma Müdürü',
department: 'Satınalma',
email: 'ali.yilmaz@teknoloji.com',
phone: '+90 212 555 0201',
mobile: '+90 532 555 0201',
isPrimary: true,
isActive: true,
creationTime: new Date(),
lastModificationTime: new Date(),
},
contacts: [],
address: {
street: 'Teknoloji Caddesi No:100',
city: 'İstanbul',
state: 'İstanbul',
postalCode: '34000',
country: 'Türkiye',
},
taxNumber: '1234567890',
registrationNumber: 'REG-001',
creditLimit: 1000000,
paymentTerms: PaymentTerms.Net30,
currency: 'TRY',
status: BusinessPartyStatusEnum.Active,
customerSegment: CustomerSegmentEnum.Enterprise,
assignedSalesRep: 'REP-001',
teamId: 'TEAM-001',
totalRevenue: 2500000,
lastOrderDate: new Date('2024-01-15'),
averageOrderValue: 125000,
lifetimeValue: 5000000,
opportunities: [],
orders: [],
activities: [],
isActive: true,
creationTime: new Date('2023-06-15'),
lastModificationTime: new Date('2024-01-20'),
partyType: PartyType.Customer,
},
]
export const mockBusinessPartyNew: BusinessParty = {
id: '',
code: '',
supplierType: SupplierTypeEnum.ServiceProvider,
name: '',
email: '',
phone: '',
address: {
street: '',
city: '',
state: '',
postalCode: '',
country: '',
},
taxNumber: '',
paymentTerms: PaymentTerms.Cash,
currency: 'TRY',
cardNumber: '',
cardType: SupplierCardTypeEnum.Standard,
validTo: new Date(),
validFrom: new Date(),
creditLimit: 0,
isActive: true,
currentBalance: 0,
discountRate: 0,
specialConditions: [],
lastOrderDate: new Date(),
performanceMetrics: {
deliveryPerformance: 0,
qualityRating: 0,
priceCompetitiveness: 0,
responsiveness: 0,
complianceRating: 0,
overallScore: 0,
lastEvaluationDate: new Date(),
},
certifications: [],
bankAccounts: [],
contacts: [],
creationTime: new Date(),
lastModificationTime: new Date(),
partyType: PartyType.Supplier,
}