- URL 하드코딩 → .env APP_URL 기반 동적 URL로 변경 - DB 연결 하드코딩 → .env 기반으로 변경 - MySQL strict mode DATE 오류 수정
551 lines
21 KiB
PHP
551 lines
21 KiB
PHP
<?php
|
|
header('Content-Type: application/json');
|
|
header('Access-Control-Allow-Origin: *');
|
|
|
|
// 역할 파라미터 받기
|
|
$role = isset($_GET['role']) ? $_GET['role'] : '1차영업담당';
|
|
|
|
// 역할별 Mock Data
|
|
$roleData = [
|
|
'1차영업담당' => [
|
|
'sales_records' => [
|
|
[
|
|
"id" => "sale_001",
|
|
"customer_name" => "대박 식당",
|
|
"program_id" => "prog_pro",
|
|
"contract_date" => "2024-10-15",
|
|
"duration_months" => 84,
|
|
"join_fee" => 2000000,
|
|
"subscription_fee" => 100000,
|
|
"total_amount" => 2000000,
|
|
"status" => "Active",
|
|
"dates" => [
|
|
"contract" => "2024-10-15",
|
|
"join_fee" => "2024-10-16",
|
|
"service_start" => "2024-11-01",
|
|
"subscription_fee" => "2024-11-25",
|
|
"product_modified" => "2024-10-15"
|
|
],
|
|
"history" => [
|
|
[
|
|
"date" => "2024-10-15",
|
|
"type" => "New Contract",
|
|
"program_id" => "prog_pro",
|
|
"description" => "Initial contract signed (Pro Plan)"
|
|
]
|
|
]
|
|
],
|
|
[
|
|
"id" => "sale_002",
|
|
"customer_name" => "강남 카페",
|
|
"program_id" => "prog_premium",
|
|
"contract_date" => "2024-11-05",
|
|
"duration_months" => 84,
|
|
"join_fee" => 3000000,
|
|
"subscription_fee" => 150000,
|
|
"total_amount" => 3000000,
|
|
"status" => "Active",
|
|
"dates" => [
|
|
"contract" => "2024-11-05",
|
|
"join_fee" => "2024-11-06",
|
|
"service_start" => "2024-12-01",
|
|
"subscription_fee" => "2024-12-25",
|
|
"product_modified" => "2024-11-05"
|
|
],
|
|
"history" => [
|
|
[
|
|
"date" => "2024-11-05",
|
|
"type" => "New Contract",
|
|
"program_id" => "prog_premium",
|
|
"description" => "Initial contract signed (Premium Plan)"
|
|
]
|
|
]
|
|
],
|
|
[
|
|
"id" => "sale_003",
|
|
"customer_name" => "성수 팩토리",
|
|
"program_id" => "prog_basic",
|
|
"contract_date" => "2024-11-20",
|
|
"duration_months" => 84,
|
|
"join_fee" => 1000000,
|
|
"subscription_fee" => 50000,
|
|
"total_amount" => 1000000,
|
|
"status" => "Pending",
|
|
"dates" => [
|
|
"contract" => "2024-11-20",
|
|
"join_fee" => null,
|
|
"service_start" => null,
|
|
"subscription_fee" => null,
|
|
"product_modified" => "2024-11-20"
|
|
],
|
|
"history" => [
|
|
[
|
|
"date" => "2024-11-20",
|
|
"type" => "New Contract",
|
|
"program_id" => "prog_basic",
|
|
"description" => "Contract drafted (Basic Plan)"
|
|
]
|
|
]
|
|
]
|
|
],
|
|
'current_user' => [
|
|
"id" => "user_A",
|
|
"name" => "김관리 팀장",
|
|
"role" => "1차영업담당",
|
|
"sub_managers" => [
|
|
[
|
|
"id" => "user_B",
|
|
"name" => "이하위 대리",
|
|
"role" => "Sub-Manager",
|
|
"total_sales" => 50000000,
|
|
"active_contracts" => 5,
|
|
"performance_grade" => "A"
|
|
],
|
|
[
|
|
"id" => "user_C",
|
|
"name" => "박신입 사원",
|
|
"role" => "Seller",
|
|
"total_sales" => 12000000,
|
|
"active_contracts" => 2,
|
|
"performance_grade" => "B"
|
|
],
|
|
[
|
|
"id" => "user_D",
|
|
"name" => "최열정 인턴",
|
|
"role" => "Seller",
|
|
"total_sales" => 0,
|
|
"active_contracts" => 0,
|
|
"performance_grade" => "C"
|
|
]
|
|
]
|
|
]
|
|
],
|
|
'2차영업담당' => [
|
|
'sales_records' => [
|
|
[
|
|
"id" => "sale_201",
|
|
"customer_name" => "서초 IT센터",
|
|
"program_id" => "prog_pro",
|
|
"contract_date" => "2024-09-10",
|
|
"duration_months" => 84,
|
|
"join_fee" => 2000000,
|
|
"subscription_fee" => 100000,
|
|
"total_amount" => 2000000,
|
|
"status" => "Active",
|
|
"dates" => [
|
|
"contract" => "2024-09-10",
|
|
"join_fee" => "2024-09-11",
|
|
"service_start" => "2024-10-01",
|
|
"subscription_fee" => "2024-10-25",
|
|
"product_modified" => "2024-09-10"
|
|
],
|
|
"history" => [
|
|
[
|
|
"date" => "2024-09-10",
|
|
"type" => "New Contract",
|
|
"program_id" => "prog_pro",
|
|
"description" => "Initial contract signed (Pro Plan)"
|
|
]
|
|
]
|
|
],
|
|
[
|
|
"id" => "sale_202",
|
|
"customer_name" => "홍대 레스토랑",
|
|
"program_id" => "prog_basic",
|
|
"contract_date" => "2024-10-22",
|
|
"duration_months" => 84,
|
|
"join_fee" => 1000000,
|
|
"subscription_fee" => 50000,
|
|
"total_amount" => 1000000,
|
|
"status" => "Active",
|
|
"dates" => [
|
|
"contract" => "2024-10-22",
|
|
"join_fee" => "2024-10-23",
|
|
"service_start" => "2024-11-01",
|
|
"subscription_fee" => "2024-11-25",
|
|
"product_modified" => "2024-10-22"
|
|
],
|
|
"history" => [
|
|
[
|
|
"date" => "2024-10-22",
|
|
"type" => "New Contract",
|
|
"program_id" => "prog_basic",
|
|
"description" => "Initial contract signed (Basic Plan)"
|
|
]
|
|
]
|
|
],
|
|
[
|
|
"id" => "sale_203",
|
|
"customer_name" => "판교 스타트업",
|
|
"program_id" => "prog_premium",
|
|
"contract_date" => "2024-11-18",
|
|
"duration_months" => 84,
|
|
"join_fee" => 3000000,
|
|
"subscription_fee" => 150000,
|
|
"total_amount" => 3000000,
|
|
"status" => "Active",
|
|
"dates" => [
|
|
"contract" => "2024-11-18",
|
|
"join_fee" => "2024-11-19",
|
|
"service_start" => "2024-12-01",
|
|
"subscription_fee" => "2024-12-25",
|
|
"product_modified" => "2024-11-18"
|
|
],
|
|
"history" => [
|
|
[
|
|
"date" => "2024-11-18",
|
|
"type" => "New Contract",
|
|
"program_id" => "prog_premium",
|
|
"description" => "Initial contract signed (Premium Plan)"
|
|
]
|
|
]
|
|
],
|
|
[
|
|
"id" => "sale_204",
|
|
"customer_name" => "이태원 바",
|
|
"program_id" => "prog_basic",
|
|
"contract_date" => "2024-11-25",
|
|
"duration_months" => 84,
|
|
"join_fee" => 1000000,
|
|
"subscription_fee" => 50000,
|
|
"total_amount" => 1000000,
|
|
"status" => "Pending",
|
|
"dates" => [
|
|
"contract" => "2024-11-25",
|
|
"join_fee" => null,
|
|
"service_start" => null,
|
|
"subscription_fee" => null,
|
|
"product_modified" => "2024-11-25"
|
|
],
|
|
"history" => [
|
|
[
|
|
"date" => "2024-11-25",
|
|
"type" => "New Contract",
|
|
"program_id" => "prog_basic",
|
|
"description" => "Contract drafted (Basic Plan)"
|
|
]
|
|
]
|
|
]
|
|
],
|
|
'current_user' => [
|
|
"id" => "user_2A",
|
|
"name" => "정영업 과장",
|
|
"role" => "2차영업담당",
|
|
"sub_managers" => [
|
|
[
|
|
"id" => "user_2B",
|
|
"name" => "한성실 대리",
|
|
"role" => "Sub-Manager",
|
|
"total_sales" => 35000000,
|
|
"active_contracts" => 4,
|
|
"performance_grade" => "A"
|
|
],
|
|
[
|
|
"id" => "user_2C",
|
|
"name" => "윤열심 주임",
|
|
"role" => "Seller",
|
|
"total_sales" => 18000000,
|
|
"active_contracts" => 3,
|
|
"performance_grade" => "B"
|
|
],
|
|
[
|
|
"id" => "user_2D",
|
|
"name" => "강신규 사원",
|
|
"role" => "Seller",
|
|
"total_sales" => 5000000,
|
|
"active_contracts" => 1,
|
|
"performance_grade" => "C"
|
|
]
|
|
]
|
|
]
|
|
],
|
|
'3차영업담당' => [
|
|
'sales_records' => [
|
|
[
|
|
"id" => "sale_301",
|
|
"customer_name" => "잠실 마트",
|
|
"program_id" => "prog_basic",
|
|
"contract_date" => "2024-08-15",
|
|
"duration_months" => 84,
|
|
"join_fee" => 1000000,
|
|
"subscription_fee" => 50000,
|
|
"total_amount" => 1000000,
|
|
"status" => "Active",
|
|
"dates" => [
|
|
"contract" => "2024-08-15",
|
|
"join_fee" => "2024-08-16",
|
|
"service_start" => "2024-09-01",
|
|
"subscription_fee" => "2024-09-25",
|
|
"product_modified" => "2024-08-15"
|
|
],
|
|
"history" => [
|
|
[
|
|
"date" => "2024-08-15",
|
|
"type" => "New Contract",
|
|
"program_id" => "prog_basic",
|
|
"description" => "Initial contract signed (Basic Plan)"
|
|
]
|
|
]
|
|
],
|
|
[
|
|
"id" => "sale_302",
|
|
"customer_name" => "송파 병원",
|
|
"program_id" => "prog_pro",
|
|
"contract_date" => "2024-10-08",
|
|
"duration_months" => 84,
|
|
"join_fee" => 2000000,
|
|
"subscription_fee" => 100000,
|
|
"total_amount" => 2000000,
|
|
"status" => "Active",
|
|
"dates" => [
|
|
"contract" => "2024-10-08",
|
|
"join_fee" => "2024-10-09",
|
|
"service_start" => "2024-11-01",
|
|
"subscription_fee" => "2024-11-25",
|
|
"product_modified" => "2024-10-08"
|
|
],
|
|
"history" => [
|
|
[
|
|
"date" => "2024-10-08",
|
|
"type" => "New Contract",
|
|
"program_id" => "prog_pro",
|
|
"description" => "Initial contract signed (Pro Plan)"
|
|
]
|
|
]
|
|
],
|
|
[
|
|
"id" => "sale_303",
|
|
"customer_name" => "강동 학원",
|
|
"program_id" => "prog_basic",
|
|
"contract_date" => "2024-11-12",
|
|
"duration_months" => 84,
|
|
"join_fee" => 1000000,
|
|
"subscription_fee" => 50000,
|
|
"total_amount" => 1000000,
|
|
"status" => "Active",
|
|
"dates" => [
|
|
"contract" => "2024-11-12",
|
|
"join_fee" => "2024-11-13",
|
|
"service_start" => "2024-12-01",
|
|
"subscription_fee" => "2024-12-25",
|
|
"product_modified" => "2024-11-12"
|
|
],
|
|
"history" => [
|
|
[
|
|
"date" => "2024-11-12",
|
|
"type" => "New Contract",
|
|
"program_id" => "prog_basic",
|
|
"description" => "Initial contract signed (Basic Plan)"
|
|
]
|
|
]
|
|
]
|
|
],
|
|
'current_user' => [
|
|
"id" => "user_3A",
|
|
"name" => "오영업 대리",
|
|
"role" => "3차영업담당",
|
|
"sub_managers" => [
|
|
[
|
|
"id" => "user_3B",
|
|
"name" => "신성실 주임",
|
|
"role" => "Sub-Manager",
|
|
"total_sales" => 25000000,
|
|
"active_contracts" => 3,
|
|
"performance_grade" => "A"
|
|
],
|
|
[
|
|
"id" => "user_3C",
|
|
"name" => "조근면 사원",
|
|
"role" => "Seller",
|
|
"total_sales" => 8000000,
|
|
"active_contracts" => 2,
|
|
"performance_grade" => "B"
|
|
],
|
|
[
|
|
"id" => "user_3D",
|
|
"name" => "임신입 인턴",
|
|
"role" => "Seller",
|
|
"total_sales" => 2000000,
|
|
"active_contracts" => 1,
|
|
"performance_grade" => "C"
|
|
]
|
|
]
|
|
]
|
|
]
|
|
];
|
|
|
|
// 기본 데이터 구조
|
|
$response = [
|
|
"company_info" => [
|
|
"id" => "comp_001",
|
|
"name" => "건축자재(주)",
|
|
"logo_url" => "https://via.placeholder.com/150x50?text=Company+Logo", // Placeholder
|
|
"currency" => "KRW"
|
|
],
|
|
"sales_config" => [
|
|
"programs" => [
|
|
[
|
|
"id" => "prog_basic",
|
|
"name" => "Basic Plan",
|
|
"join_fee" => 1000000,
|
|
"subscription_fee" => 50000,
|
|
"commission_rates" => [
|
|
"seller" => ["join" => 0.2, "sub" => 0.5],
|
|
"manager" => ["join" => 0.05, "sub" => 0.3],
|
|
"educator" => ["join" => 0.03, "sub" => 0.2]
|
|
]
|
|
],
|
|
[
|
|
"id" => "prog_pro",
|
|
"name" => "Pro Plan",
|
|
"join_fee" => 2000000,
|
|
"subscription_fee" => 100000,
|
|
"commission_rates" => [
|
|
"seller" => ["join" => 0.2, "sub" => 0.5],
|
|
"manager" => ["join" => 0.05, "sub" => 0.3],
|
|
"educator" => ["join" => 0.03, "sub" => 0.2]
|
|
]
|
|
],
|
|
[
|
|
"id" => "prog_premium",
|
|
"name" => "Premium Plan",
|
|
"join_fee" => 3000000,
|
|
"subscription_fee" => 150000,
|
|
"commission_rates" => [
|
|
"seller" => ["join" => 0.2, "sub" => 0.5],
|
|
"manager" => ["join" => 0.05, "sub" => 0.3],
|
|
"educator" => ["join" => 0.03, "sub" => 0.2]
|
|
]
|
|
]
|
|
],
|
|
"default_contract_period" => 84,
|
|
"package_types" => [
|
|
[
|
|
"id" => "select_models",
|
|
"name" => "선택모델",
|
|
"type" => "checkbox",
|
|
"models" => [
|
|
[
|
|
"id" => "model_qr",
|
|
"name" => "QR코드",
|
|
"sub_name" => "설비관리/장비 점검",
|
|
"join_fee" => 10200000,
|
|
"subscription_fee" => 50000,
|
|
"commission_rates" => [
|
|
"seller" => ["join" => 0.2, "sub" => 0.5],
|
|
"manager" => ["join" => 0.05, "sub" => 0.3],
|
|
"educator" => ["join" => 0.03, "sub" => 0.2]
|
|
]
|
|
],
|
|
[
|
|
"id" => "model_photo",
|
|
"name" => "사진 - 출하",
|
|
"sub_name" => "사진 관리",
|
|
"join_fee" => 19200000,
|
|
"subscription_fee" => 100000,
|
|
"commission_rates" => [
|
|
"seller" => ["join" => 0.2, "sub" => 0.5],
|
|
"manager" => ["join" => 0.05, "sub" => 0.3],
|
|
"educator" => ["join" => 0.03, "sub" => 0.2]
|
|
]
|
|
],
|
|
[
|
|
"id" => "model_inspection",
|
|
"name" => "검사 / 토큰 적용",
|
|
"sub_name" => "계산서 발행",
|
|
"join_fee" => 10200000,
|
|
"subscription_fee" => 50000,
|
|
"commission_rates" => [
|
|
"seller" => ["join" => 0.2, "sub" => 0.5],
|
|
"manager" => ["join" => 0.05, "sub" => 0.3],
|
|
"educator" => ["join" => 0.03, "sub" => 0.2]
|
|
]
|
|
],
|
|
[
|
|
"id" => "model_account",
|
|
"name" => "이카운트 / 거래처대장",
|
|
"sub_name" => "서류관리",
|
|
"join_fee" => 19200000,
|
|
"subscription_fee" => 100000,
|
|
"commission_rates" => [
|
|
"seller" => ["join" => 0.2, "sub" => 0.5],
|
|
"manager" => ["join" => 0.05, "sub" => 0.3],
|
|
"educator" => ["join" => 0.03, "sub" => 0.2]
|
|
]
|
|
],
|
|
[
|
|
"id" => "model_iso",
|
|
"name" => "ISO, 인정서류 / 토큰 적용",
|
|
"sub_name" => "서류관리",
|
|
"join_fee" => 10200000,
|
|
"subscription_fee" => 50000,
|
|
"commission_rates" => [
|
|
"seller" => ["join" => 0.2, "sub" => 0.5],
|
|
"manager" => ["join" => 0.05, "sub" => 0.3],
|
|
"educator" => ["join" => 0.03, "sub" => 0.2]
|
|
]
|
|
],
|
|
[
|
|
"id" => "model_inventory",
|
|
"name" => "적정 재고 표기",
|
|
"sub_name" => "재고 관리",
|
|
"join_fee" => 19200000,
|
|
"subscription_fee" => 100000,
|
|
"commission_rates" => [
|
|
"seller" => ["join" => 0.2, "sub" => 0.5],
|
|
"manager" => ["join" => 0.05, "sub" => 0.3],
|
|
"educator" => ["join" => 0.03, "sub" => 0.2]
|
|
]
|
|
],
|
|
[
|
|
"id" => "model_manufacturing",
|
|
"name" => "제조 관리",
|
|
"sub_name" => "제작지시, 발주",
|
|
"join_fee" => 19200000,
|
|
"subscription_fee" => 100000,
|
|
"commission_rates" => [
|
|
"seller" => ["join" => 0.2, "sub" => 0.5],
|
|
"manager" => ["join" => 0.05, "sub" => 0.3],
|
|
"educator" => ["join" => 0.03, "sub" => 0.2]
|
|
]
|
|
]
|
|
]
|
|
],
|
|
[
|
|
"id" => "construction_management",
|
|
"name" => "공사관리",
|
|
"type" => "package",
|
|
"join_fee" => 40000000,
|
|
"subscription_fee" => 200000,
|
|
"commission_rates" => [
|
|
"seller" => ["join" => 0.25, "sub" => 0.5],
|
|
"manager" => ["join" => 0.05, "sub" => 0.3],
|
|
"educator" => ["join" => 0.03, "sub" => 0.2]
|
|
]
|
|
],
|
|
[
|
|
"id" => "process_government",
|
|
"name" => "공정/정부지원사업",
|
|
"type" => "package",
|
|
"join_fee" => 80000000,
|
|
"subscription_fee" => 400000,
|
|
"commission_rates" => [
|
|
"seller" => ["join" => 0.25, "sub" => 0.5],
|
|
"manager" => ["join" => 0.05, "sub" => 0.3],
|
|
"educator" => ["join" => 0.03, "sub" => 0.2]
|
|
]
|
|
]
|
|
]
|
|
],
|
|
"sales_records" => isset($roleData[$role]['sales_records']) ? $roleData[$role]['sales_records'] : [],
|
|
"current_user" => isset($roleData[$role]['current_user']) ? $roleData[$role]['current_user'] : [
|
|
"id" => "user_default",
|
|
"name" => "기본 사용자",
|
|
"role" => $role,
|
|
"sub_managers" => []
|
|
]
|
|
];
|
|
|
|
echo json_encode($response, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
|
|
?>
|