@yjzf/mcp-server-yjzf 0.2.9 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/index.js +8 -2
  2. package/dist/index.js.map +1 -1
  3. package/dist/tools/contract/investment_contract.d.ts +10 -2
  4. package/dist/tools/contract/investment_contract.d.ts.map +1 -1
  5. package/dist/tools/contract/investment_contract.js +32 -86
  6. package/dist/tools/contract/investment_contract.js.map +1 -1
  7. package/dist/tools/contract/new_house_commission_export.js +8 -8
  8. package/dist/tools/contract/new_house_commission_export.js.map +1 -1
  9. package/dist/tools/contract/new_house_developer_repayment_export.d.ts +6 -4
  10. package/dist/tools/contract/new_house_developer_repayment_export.d.ts.map +1 -1
  11. package/dist/tools/contract/new_house_developer_repayment_export.js +32 -10
  12. package/dist/tools/contract/new_house_developer_repayment_export.js.map +1 -1
  13. package/dist/tools/data/count_all_statement.d.ts +7 -15
  14. package/dist/tools/data/count_all_statement.d.ts.map +1 -1
  15. package/dist/tools/data/count_all_statement.js +130 -271
  16. package/dist/tools/data/count_all_statement.js.map +1 -1
  17. package/dist/tools/data/investment_follow_up_export.d.ts +30 -0
  18. package/dist/tools/data/investment_follow_up_export.d.ts.map +1 -0
  19. package/dist/tools/data/investment_follow_up_export.js +131 -0
  20. package/dist/tools/data/investment_follow_up_export.js.map +1 -0
  21. package/dist/tools/data/investment_opportunities_export.d.ts +22 -0
  22. package/dist/tools/data/investment_opportunities_export.d.ts.map +1 -0
  23. package/dist/tools/data/investment_opportunities_export.js +105 -0
  24. package/dist/tools/data/investment_opportunities_export.js.map +1 -0
  25. package/dist/tools/data/statement_query.d.ts +2 -1
  26. package/dist/tools/data/statement_query.d.ts.map +1 -1
  27. package/dist/tools/data/statement_query.js +40 -2
  28. package/dist/tools/data/statement_query.js.map +1 -1
  29. package/dist/tools/data/switch_store_management_export.d.ts +24 -0
  30. package/dist/tools/data/switch_store_management_export.d.ts.map +1 -0
  31. package/dist/tools/data/switch_store_management_export.js +102 -0
  32. package/dist/tools/data/switch_store_management_export.js.map +1 -0
  33. package/dist/tools/house/umai_good_house_export.d.ts +22 -0
  34. package/dist/tools/house/umai_good_house_export.d.ts.map +1 -0
  35. package/dist/tools/house/umai_good_house_export.js +147 -0
  36. package/dist/tools/house/umai_good_house_export.js.map +1 -0
  37. package/dist/utils/excel.d.ts +14 -0
  38. package/dist/utils/excel.d.ts.map +1 -1
  39. package/dist/utils/excel.js +35 -0
  40. package/dist/utils/excel.js.map +1 -1
  41. package/package.json +1 -1
  42. package/dist/tools/count_all_statement.d.ts +0 -46
  43. package/dist/tools/count_all_statement.d.ts.map +0 -1
  44. package/dist/tools/count_all_statement.js +0 -334
  45. package/dist/tools/count_all_statement.js.map +0 -1
  46. package/dist/tools/date_to_timestamp.d.ts +0 -19
  47. package/dist/tools/date_to_timestamp.d.ts.map +0 -1
  48. package/dist/tools/date_to_timestamp.js +0 -45
  49. package/dist/tools/date_to_timestamp.js.map +0 -1
  50. package/dist/tools/get_current_time.d.ts +0 -13
  51. package/dist/tools/get_current_time.d.ts.map +0 -1
  52. package/dist/tools/get_current_time.js +0 -23
  53. package/dist/tools/get_current_time.js.map +0 -1
  54. package/dist/tools/hello_world.d.ts +0 -20
  55. package/dist/tools/hello_world.d.ts.map +0 -1
  56. package/dist/tools/hello_world.js +0 -47
  57. package/dist/tools/hello_world.js.map +0 -1
  58. package/dist/tools/investment_contract.d.ts +0 -8
  59. package/dist/tools/investment_contract.d.ts.map +0 -1
  60. package/dist/tools/investment_contract.js +0 -106
  61. package/dist/tools/investment_contract.js.map +0 -1
  62. package/dist/tools/new_house_contract_export.d.ts +0 -14
  63. package/dist/tools/new_house_contract_export.d.ts.map +0 -1
  64. package/dist/tools/new_house_contract_export.js +0 -242
  65. package/dist/tools/new_house_contract_export.js.map +0 -1
  66. package/dist/tools/overview_by_c.d.ts +0 -26
  67. package/dist/tools/overview_by_c.d.ts.map +0 -1
  68. package/dist/tools/overview_by_c.js +0 -204
  69. package/dist/tools/overview_by_c.js.map +0 -1
  70. package/dist/tools/statement_query.d.ts +0 -43
  71. package/dist/tools/statement_query.d.ts.map +0 -1
  72. package/dist/tools/statement_query.js +0 -430
  73. package/dist/tools/statement_query.js.map +0 -1
@@ -1,122 +1,63 @@
1
- import * as fs from "node:fs";
2
- import * as path from "node:path";
3
- import * as xlsx from "xlsx";
4
1
  import * as z from "zod/v4";
5
- import { getDataDir, getGatewayBaseUrl, generateDatedFileName } from "../../utils/env.js";
6
- import { buildGatewayHeaders } from "../../utils/http.js";
2
+ import { getGatewayBaseUrl, generateDatedFileName } from "../../utils/env.js";
3
+ import { buildGatewayHeaders, createErrorResult, createSuccessResult } from "../../utils/http.js";
7
4
  import { debug } from "../../utils/debug.js";
8
- import { fetchZyCities } from "../../utils/cities.js";
9
- // Phase 1 原有: 城市公司/营销线层级维度的固定展示列
10
- const CITY_FIXED_COLUMNS = [
11
- ["城市公司", "orgLevelSimpleName"],
12
- ["创建日期", "createTmStr"],
13
- ["类型", "businessTypeName"],
14
- ["城市总经理", "managerName"],
15
- ];
16
- const MKT_FIXED_COLUMNS = [
17
- ["姓名", "userName"],
18
- ["员工id", "employeesId"],
19
- ["工号", "employeesNo"],
20
- ["手机号", "phone"],
21
- ["管理层级名称", "bizlineName"],
22
- ["城市公司", "branchSimpleName"],
23
- ];
24
- // Phase 2: 行政区/商圈/小区维度的固定展示列
25
- const DISTRICT_FIXED_COLUMNS = [
26
- ["行政区", "districtName"],
27
- ["城市公司", "orgLevelSimpleName"],
28
- ];
29
- const TRADING_AREA_FIXED_COLUMNS = [
30
- ["商圈", "tradingAreaName"],
31
- ["行政区", "districtName"],
32
- ["城市公司", "orgLevelSimpleName"],
33
- ];
34
- const ESTATE_FIXED_COLUMNS = [
35
- ["小区", "estateName"],
36
- ["商圈", "tradingAreaName"],
37
- ["行政区", "districtName"],
38
- ["城市公司", "orgLevelSimpleName"],
39
- ];
40
- // 经纪人维度(scope=1)的固定展示列:经纪人身份信息及归属组织
41
- const AGENT_FIXED_COLUMNS = [
42
- ["经纪人姓名", "agentName"],
43
- ["员工ID", "agentId"],
44
- ["工号", "employeesNo"],
45
- ["手机号", "agentPhone"],
46
- ["支队", "teamName"],
47
- ["门店", "storeName"],
48
- ["经纪公司", "franchName"],
49
- ["城市公司", "branchSimpleName"],
50
- ];
51
- // 子公司维度(scope=17)的固定展示列:子公司基础信息及负责人
52
- const SUB_BRANCH_FIXED_COLUMNS = [
53
- ["子公司名称", "subBranchName"],
54
- ["子公司ID", "subBranchId"],
55
- ["负责人姓名", "managerName"],
56
- ["负责人账号", "managerPhone"],
57
- ["城市公司", "branchSimpleName"],
58
- ];
59
- function buildStatsHeaders(statisticsItems) {
60
- const headers = [];
61
- for (const item of statisticsItems) {
62
- if (item.hasChild === 1 && item.childNode) {
63
- for (const child of item.childNode) {
64
- headers.push(`${item.topCodeName}_${item.codeName}_${child.name}`);
65
- }
66
- }
67
- else {
68
- headers.push(`${item.topCodeName}_${item.codeName}`);
69
- }
70
- }
71
- return headers;
5
+ import { pollAsyncExport, downloadToDataDir } from "../../utils/async-export.js";
6
+ // ---------------------------------------------------------------------------
7
+ // 常量
8
+ // ---------------------------------------------------------------------------
9
+ const MAX_INTERVAL_MS = 366 * 24 * 3600 * 1000; // 12 个月(约 366 天)
10
+ // ---------------------------------------------------------------------------
11
+ // 工具函数
12
+ // ---------------------------------------------------------------------------
13
+ function getDefaultTimeRange() {
14
+ const now = new Date();
15
+ const monthStart = new Date(now.getFullYear(), now.getMonth(), 1);
16
+ const yesterday = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1, 23, 59, 59, 999);
17
+ return {
18
+ startTime: monthStart.getTime(),
19
+ endTime: yesterday.getTime(),
20
+ };
72
21
  }
73
- function buildStatsValues(statisticsItems) {
74
- const values = [];
75
- for (const item of statisticsItems) {
76
- if (item.hasChild === 1 && item.childNode) {
77
- for (const child of item.childNode) {
78
- values.push(child.count);
79
- }
80
- }
81
- else {
82
- values.push(item.count ?? "");
83
- }
84
- }
85
- return values;
22
+ function getDimensionLabel(scope) {
23
+ const labels = {
24
+ 5: "城市公司", 7: "营销线层级", 51: "行政区",
25
+ 52: "商圈", 53: "小区", 1: "经纪人", 17: "子公司",
26
+ };
27
+ return labels[scope] ?? `维度${scope}`;
86
28
  }
87
- function buildSheetData(list, fixedColumns) {
88
- if (list.length === 0)
89
- return [];
90
- const fixedHeaders = fixedColumns.map(([label]) => label);
91
- const statsHeaders = buildStatsHeaders(list[0].statisticsItems);
92
- const headers = [...fixedHeaders, ...statsHeaders];
93
- const rows = list.map((item) => {
94
- const fixedValues = fixedColumns.map(([, field]) => String(item[field] ?? ""));
95
- const statsValues = buildStatsValues(item.statisticsItems);
96
- return [...fixedValues, ...statsValues];
97
- });
98
- return [headers, ...rows];
29
+ /**
30
+ * 生成唯一 fileName,用于在异步导出列表中精确匹配。
31
+ * 使用纯 ASCII 字符,避免 ERP 编码/截断导致匹配失败。
32
+ */
33
+ function generateUniqueFileName(isOffline, scope) {
34
+ const ts = Date.now();
35
+ const rand = Math.random().toString(36).slice(2, 8);
36
+ return `MCP_${isOffline ? "offline" : "realtime"}_scope${scope}_${ts}_${rand}`;
99
37
  }
38
+ // ---------------------------------------------------------------------------
39
+ // 工具导出
40
+ // ---------------------------------------------------------------------------
100
41
  export const name = "count_all_statement";
101
42
  export const schema = {
102
- description: `获取总部数据指标报表,生成 Excel 文件。支持两种模式:
103
- 1. 旧模式(不传 statisticsScope):固定查询城市公司+营销线层级两个维度,使用默认20项指标
104
- 2. 动态模式(传入 statisticsScope):按指定维度和条件进行单轮查询,支持自定义指标
43
+ description: `获取总部数据指标报表,通过 ERP 异步导出生成 Excel 文件。
44
+
45
+ 支持实时/自定义指标导出(isOffline=false 或不传,调用 /export)和离线计算指标导出(isOffline=true,调用 /offLineExport)。
46
+ 所有导出均为异步模式:提交导出任务 → 轮询查询状态 → 下载文件。
105
47
 
106
- ⚠️ 动态模式的所有参数值(branchIds、bizlineIds、storeManagerIds、agentCodeQueries 等)必须先通过 statement_query 工具查询获取真实值,严禁自行编造或猜测 ID/code。
107
- 调用顺序:statement_query(get_query_guide) statement_query(get_branches) → [维度专属查询] → statement_query(get_statistics_targets) 本工具。
48
+ ⚠️ 时间参数规范:需要传 startTime/endTime 时,必须先调用 get_current_time 确认当前时间,再通过 date_to_timestamp 转换日期,严禁自行估算时间戳。不需要传时间时保持不传即可。
49
+ ⚠️ 所有参数值(branchIds、bizlineIds、storeManagerIds、agentCodeQueries、marketerIds 等)必须先通过 statement_query 工具查询获取真实值,严禁自行编造或猜测 ID/code。
50
+ 调用顺序:statement_query(get_query_guide) → statement_query(get_branches) → [维度专属查询] → statement_query(get_statistics_targets 或 get_offline_statistics_targets) → 本工具。
108
51
  用户说某个指标大类名称(如"房源库存指标")时,必须传入该大类下返回的所有父级 code,不可只传一个。
109
52
  不传时间参数时默认查询当月第一天到昨天,最大时间间隔 12 个月。不需要自行计算时间戳,不传即可使用默认值。
110
53
 
111
54
  🔁 后续/重复导出规则:当用户要求"把其他城市也导一份"或"换个城市再导一次"时:
112
55
  - agentCodeQueries 必须与上一次成功导出使用的完全相同(同样的 code 列表、同样的数量)
113
- - statisticsScope 必须与上一次相同
114
- - 仅 branchIds、bizlineIds、storeManagerIds 需要根据新城市重新通过 statement_query 查询
56
+ - statisticsScope、isOffline 必须与上一次相同
57
+ - 仅 branchIds、bizlineIds、storeManagerIds、marketerIds 需要根据新城市重新通过 statement_query 查询
115
58
  - 禁止从上下文中随意挑选 code,必须原样复用上次的完整 agentCodeQueries 数组`,
116
59
  inputSchema: z.object({
117
- // 动态模式参数
118
- statisticsScope: z.number().optional()
119
- .describe("统计维度: 5=城市公司, 7=营销线层级, 51=行政区, 52=商圈, 53=小区, 1=经纪人, 17=子公司。不传则走旧的固定查询逻辑"),
60
+ statisticsScope: z.number().describe("统计维度: 5=城市公司, 7=营销线层级, 51=行政区, 52=商圈, 53=小区, 1=经纪人, 17=子公司"),
120
61
  branchIds: z.array(z.string()).optional()
121
62
  .describe("城市公司 ID 列表。必须通过 statement_query({ action: 'get_branches', preset: '直营' }) 获取,从结果中匹配目标城市的 branchId。禁止用 keyword 搜索直营城市,禁止编造"),
122
63
  bizlineIds: z.array(z.string()).optional()
@@ -130,193 +71,111 @@ export const schema = {
130
71
  subBranchIds: z.array(z.string()).optional()
131
72
  .describe("子公司 ID 列表,仅维度 17 时使用。必须通过 statement_query({ action: 'get_sub_branches', branchIds }) 获取真实 subBranchId,禁止编造"),
132
73
  agentCodeQueries: z.array(z.string()).optional()
133
- .describe(`统计指标 code 列表。必须通过 statement_query({ action: 'get_statistics_targets', statisticsScope, topName }) 获取真实 code,禁止编造。
74
+ .describe(`统计指标 code 列表。必须通过 statement_query({ action: 'get_statistics_targets' 或 'get_offline_statistics_targets', statisticsScope, topName }) 获取真实 code,禁止编造。
134
75
  - 用户说某个指标大类名称(如"房源库存指标")时,传入该大类下所有父级 code。
135
76
  - 用户说某个父级指标(如"上架房源数")且未指定子项时,传父级 code(如 "55"),会导出该父级下所有子项。
136
77
  - 用户明确指定子项/口径(如"上架房源数-二手房"、"签单量-买卖")时,必须传对应 childNodes 里的子项 code(如 "301"),不要传父级 code。`),
137
- // 时间参数
138
- startTime: z.number().optional().describe("开始时间(毫秒时间戳)。不传则默认当月第一天,无需自行计算"),
139
- endTime: z.number().optional().describe("结束时间(毫秒时间戳)。不传则默认昨天23:59:59,无需自行计算"),
140
- // 其他
78
+ startTime: z.number().optional().describe("开始时间(毫秒时间戳)。用户有指定日期时,必须先调用 get_current_time 获取当前时间作为参考,再用 date_to_timestamp 转换,严禁自行估算。不传则服务端自动默认当月第一天"),
79
+ endTime: z.number().optional().describe("结束时间(毫秒时间戳)。用户有指定日期时,必须先调用 get_current_time 获取当前时间作为参考,再用 date_to_timestamp(endOfDay=true) 转换,严禁自行估算。不传则服务端自动默认昨天23:59:59"),
141
80
  status: z.string().optional().describe("状态筛选,仅经纪人维度(1)使用。1=在职,2=离职"),
142
81
  isEnabled: z.string().optional().describe("启用状态筛选,仅经纪人维度(1)使用。1=启用,0=禁用"),
82
+ isOffline: z.boolean().optional().describe("是否为离线计算指标导出。true=离线指标(调用 /offLineExport),false或不传=实时/自定义指标(调用 /export)"),
83
+ marketerIds: z.array(z.string()).optional()
84
+ .describe("营销人员 ID 列表,仅离线导出且维度=7 时必填。必须传 statement_query({ action: 'get_store_managers' }) 返回的 bizlineId 字段值。不传时 Gateway 会尝试自动获取"),
143
85
  }),
144
86
  };
145
- const MAX_INTERVAL_MS = 366 * 24 * 3600 * 1000; // 12 个月(约 366 天)
146
- function getDefaultTimeRange() {
147
- const now = new Date();
148
- const monthStart = new Date(now.getFullYear(), now.getMonth(), 1);
149
- const yesterday = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1, 23, 59, 59, 999);
150
- return {
151
- startTime: monthStart.getTime(),
152
- endTime: yesterday.getTime(),
153
- };
154
- }
155
- const SCOPE_FIXED_COLUMNS = {
156
- // Phase 1 原有
157
- 5: CITY_FIXED_COLUMNS,
158
- 7: MKT_FIXED_COLUMNS,
159
- // Phase 2 新增: 行政区/商圈/小区维度
160
- 51: DISTRICT_FIXED_COLUMNS,
161
- 52: TRADING_AREA_FIXED_COLUMNS,
162
- 53: ESTATE_FIXED_COLUMNS,
163
- // Phase 3 新增: 经纪人/子公司维度
164
- 1: AGENT_FIXED_COLUMNS,
165
- 17: SUB_BRANCH_FIXED_COLUMNS,
166
- };
167
- const DEFAULT_FIXED_COLUMNS = [
168
- ["名称", "orgLevelSimpleName"],
169
- ];
170
- function getDimensionLabel(scope) {
171
- const labels = {
172
- 5: "城市公司", 7: "营销线层级", 51: "行政区",
173
- 52: "商圈", 53: "小区", 1: "经纪人", 17: "子公司",
174
- };
175
- return labels[scope] ?? `维度${scope}`;
176
- }
177
- // ---------------------------------------------------------------------------
178
- // Handler
179
- // ---------------------------------------------------------------------------
180
87
  export async function handler(args) {
181
88
  const defaults = getDefaultTimeRange();
182
89
  const startTime = args.startTime ?? defaults.startTime;
183
90
  const endTime = args.endTime ?? defaults.endTime;
184
- // Phase 2: 小区(53)维度不使用时间参数,跳过时间间隔校验
185
91
  if (args.statisticsScope !== 53 && endTime - startTime > MAX_INTERVAL_MS) {
186
- return {
187
- content: [{ type: "text", text: `时间间隔超过 12 个月限制,请缩小查询范围` }],
188
- isError: true,
189
- };
92
+ return createErrorResult("时间间隔超过 12 个月限制,请缩小查询范围");
190
93
  }
191
- debug("date range", { startTime, endTime });
94
+ debug("date range", { startTime, endTime, isOffline: args.isOffline });
192
95
  const headers = buildGatewayHeaders();
96
+ const isOffline = args.isOffline ?? false;
97
+ const dimensionLabel = getDimensionLabel(args.statisticsScope);
193
98
  try {
194
- if (args.statisticsScope != null) {
195
- return await handleDynamicQuery(args, startTime, endTime, headers);
99
+ // 1. 生成唯一 fileName
100
+ const uniqueFileName = generateUniqueFileName(isOffline, args.statisticsScope);
101
+ console.error(`[count_all_statement] 提交异步导出任务: isOffline=${isOffline}, scope=${args.statisticsScope}, fileName=${uniqueFileName}`);
102
+ // 2. 提交导出任务
103
+ const exportUrl = isOffline
104
+ ? `${getGatewayBaseUrl()}/count_all_offline_export`
105
+ : `${getGatewayBaseUrl()}/count_all_export`;
106
+ const submitBody = {
107
+ statisticsScope: args.statisticsScope,
108
+ branchIds: args.branchIds,
109
+ bizlineIds: args.bizlineIds,
110
+ storeManagerIds: args.storeManagerIds,
111
+ districtCodes: args.districtCodes,
112
+ tradingAreaIds: args.tradingAreaIds,
113
+ subBranchIds: args.subBranchIds,
114
+ agentCodeQueries: args.agentCodeQueries,
115
+ status: args.status,
116
+ isEnabled: args.isEnabled,
117
+ fileName: uniqueFileName,
118
+ ...(args.statisticsScope !== 53 && {
119
+ startTime,
120
+ endTime,
121
+ }),
122
+ };
123
+ if (isOffline && args.marketerIds) {
124
+ submitBody.marketerIds = args.marketerIds;
125
+ }
126
+ const submitResp = await fetch(exportUrl, {
127
+ method: "POST",
128
+ headers,
129
+ body: JSON.stringify(submitBody),
130
+ });
131
+ if (!submitResp.ok) {
132
+ return createErrorResult(`提交导出任务失败: ${submitResp.status} ${submitResp.statusText}`);
196
133
  }
197
- else {
198
- return await handleLegacyQuery(startTime, endTime, headers);
134
+ const submitResult = await submitResp.json();
135
+ if (!submitResult.succeed) {
136
+ return createErrorResult(`提交导出任务失败: ${submitResult.msg}`);
199
137
  }
138
+ console.error(`[count_all_statement] 任务已提交,开始轮询状态...`);
139
+ // 3. 轮询状态
140
+ const submittedAt = Date.now();
141
+ const downloadUrl = await pollAsyncExport({
142
+ logTag: "count_all_statement",
143
+ checkStatus: async () => {
144
+ const statusResp = await fetch(`${getGatewayBaseUrl()}/count_all_export_status`, {
145
+ method: "POST",
146
+ headers,
147
+ body: JSON.stringify({
148
+ startInc: submittedAt - 10 * 60 * 1000,
149
+ endExc: Date.now(),
150
+ }),
151
+ });
152
+ if (!statusResp.ok) {
153
+ throw new Error(`查询导出状态失败: ${statusResp.status} ${statusResp.statusText}`);
154
+ }
155
+ const json = await statusResp.json();
156
+ if (!json.succeed) {
157
+ throw new Error(`查询导出状态接口返回失败: ${json.msg}`);
158
+ }
159
+ const match = json.data?.find((item) => item.fileName === uniqueFileName);
160
+ if (!match || !match.finishTm) {
161
+ const allNames = json.data?.map((item) => item.fileName).join(", ") ?? "empty";
162
+ console.error(`[count_all_statement] 尚未完成,已查到 fileNames: [${allNames}],等待匹配: ${uniqueFileName}`);
163
+ return { state: "pending" };
164
+ }
165
+ if (match.source) {
166
+ return { state: "success", downloadUrl: match.source };
167
+ }
168
+ return { state: "failed", reason: "ERP导出任务执行失败" };
169
+ },
170
+ });
171
+ // 4. 下载文件
172
+ const localFileName = generateDatedFileName(`${isOffline ? "离线指标" : "数据指标"}_${dimensionLabel}`, "xlsx", false);
173
+ const filePath = await downloadToDataDir(downloadUrl, localFileName);
174
+ return createSuccessResult(`成功生成${isOffline ? "离线计算" : ""}${dimensionLabel}维度指标报表!\n文件路径: ${filePath}`);
200
175
  }
201
176
  catch (error) {
202
177
  const errorMessage = error instanceof Error ? error.message : String(error);
203
- return {
204
- content: [{ type: "text", text: `执行过程中发生错误: ${errorMessage}` }],
205
- isError: true,
206
- };
178
+ return createErrorResult(`执行过程中发生错误: ${errorMessage}`);
207
179
  }
208
180
  }
209
- // ---------------------------------------------------------------------------
210
- // 动态模式
211
- // ---------------------------------------------------------------------------
212
- async function handleDynamicQuery(args, startTime, endTime, headers) {
213
- const payload = {
214
- statisticsScope: args.statisticsScope,
215
- branchIds: args.branchIds,
216
- bizlineIds: args.bizlineIds,
217
- storeManagerIds: args.storeManagerIds,
218
- districtCodes: args.districtCodes,
219
- tradingAreaIds: args.tradingAreaIds,
220
- subBranchIds: args.subBranchIds,
221
- agentCodeQueries: args.agentCodeQueries,
222
- status: args.status,
223
- isEnabled: args.isEnabled,
224
- };
225
- // Phase 2: 小区(53)维度不传时间参数(ERP 只查截止当前的存量数据)
226
- if (args.statisticsScope !== 53) {
227
- payload.startTime = startTime;
228
- payload.endTime = endTime;
229
- }
230
- debug("dynamic query payload", payload);
231
- const resp = await fetch(`${getGatewayBaseUrl()}/count_all_statement`, {
232
- method: "POST",
233
- headers,
234
- body: JSON.stringify(payload),
235
- });
236
- if (!resp.ok) {
237
- return {
238
- content: [{ type: "text", text: `请求 count_all_statement 失败: ${resp.status} ${resp.statusText}` }],
239
- isError: true,
240
- };
241
- }
242
- const apiResponse = await resp.json();
243
- debug("dynamic query response", { succeed: apiResponse.succeed, msg: apiResponse.msg });
244
- if (!apiResponse.succeed) {
245
- return {
246
- content: [{ type: "text", text: `网关返回错误: ${apiResponse.msg}` }],
247
- isError: true,
248
- };
249
- }
250
- // 生成 Excel
251
- const workbook = xlsx.utils.book_new();
252
- const fixedColumns = SCOPE_FIXED_COLUMNS[args.statisticsScope] ?? DEFAULT_FIXED_COLUMNS;
253
- const sheetData = buildSheetData(apiResponse.data.queryData.data.list, fixedColumns);
254
- const sheet = xlsx.utils.aoa_to_sheet(sheetData);
255
- const dimensionLabel = getDimensionLabel(args.statisticsScope);
256
- xlsx.utils.book_append_sheet(workbook, sheet, dimensionLabel);
257
- const fileName = generateDatedFileName(`数据指标报表_${dimensionLabel}`, "xlsx");
258
- const dataDir = getDataDir();
259
- fs.mkdirSync(dataDir, { recursive: true });
260
- const filePath = path.join(dataDir, fileName);
261
- xlsx.writeFile(workbook, filePath);
262
- const listCount = apiResponse.data.queryData.data.list.length;
263
- return {
264
- content: [{
265
- type: "text",
266
- text: `成功生成${dimensionLabel}维度指标报表!共 ${listCount} 条数据。\n文件路径: ${filePath}`,
267
- }],
268
- };
269
- }
270
- // ---------------------------------------------------------------------------
271
- // 旧模式
272
- // ---------------------------------------------------------------------------
273
- async function handleLegacyQuery(startTime, endTime, headers) {
274
- // Step 1: 获取直营城市列表
275
- const cities1 = await fetchZyCities();
276
- debug("zy_cities (cities1)", cities1);
277
- // 市场拓展城市(固定数据)
278
- const cities2 = [
279
- { branchId: "608133917234483328", cityCode: "500100", branchName: "优居重庆" },
280
- { branchId: "593372592860440704", cityCode: "440100", branchName: "优居广州" },
281
- ];
282
- // Step 2: POST to count_all_statement
283
- const payload = { cities1, cities2, startTime, endTime };
284
- const statementResponse = await fetch(`${getGatewayBaseUrl()}/count_all_statement`, {
285
- method: "POST",
286
- headers,
287
- body: JSON.stringify(payload),
288
- });
289
- if (!statementResponse.ok) {
290
- return {
291
- content: [{ type: "text", text: `请求 count_all_statement 失败: ${statementResponse.status} ${statementResponse.statusText}` }],
292
- isError: true,
293
- };
294
- }
295
- // Step 3: Parse JSON response and generate Excel
296
- const apiResponse = await statementResponse.json();
297
- debug("count_all_statement response", apiResponse);
298
- if (!apiResponse.succeed) {
299
- return {
300
- content: [{ type: "text", text: `网关返回错误: ${apiResponse.msg}` }],
301
- isError: true,
302
- };
303
- }
304
- // Step 4: Build Excel workbook with two sheets
305
- const workbook = xlsx.utils.book_new();
306
- const citySheetData = buildSheetData(apiResponse.data.cityData.data.list, CITY_FIXED_COLUMNS);
307
- const citySheet = xlsx.utils.aoa_to_sheet(citySheetData);
308
- xlsx.utils.book_append_sheet(workbook, citySheet, "城市公司维度");
309
- const mktSheetData = buildSheetData(apiResponse.data.marketingData.data.list, MKT_FIXED_COLUMNS);
310
- const mktSheet = xlsx.utils.aoa_to_sheet(mktSheetData);
311
- xlsx.utils.book_append_sheet(workbook, mktSheet, "营销线层级维度");
312
- // Step 5: Save xlsx file
313
- const fileName = generateDatedFileName("城市指标统计", "xlsx");
314
- const dataDir = getDataDir();
315
- fs.mkdirSync(dataDir, { recursive: true });
316
- const filePath = path.join(dataDir, fileName);
317
- xlsx.writeFile(workbook, filePath);
318
- return {
319
- content: [{ type: "text", text: `成功生成城市指标统计报表!\n文件路径: ${filePath}` }],
320
- };
321
- }
322
181
  //# sourceMappingURL=count_all_statement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"count_all_statement.js","sourceRoot":"","sources":["../../../src/tools/data/count_all_statement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"count_all_statement.js","sourceRoot":"","sources":["../../../src/tools/data/count_all_statement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import * as z from "zod/v4";
2
+ type Action = "get_followup_methods" | "export";
3
+ interface InvestmentFollowUpExportArgs {
4
+ action: Action;
5
+ branchId: string;
6
+ cityCode: string;
7
+ branchName: string;
8
+ startFollowupTm?: number;
9
+ endFollowupTm?: number;
10
+ followupMethod?: string[];
11
+ }
12
+ export declare const name = "investment_follow_up_export";
13
+ export declare const schema: {
14
+ description: string;
15
+ inputSchema: z.ZodObject<{
16
+ action: z.ZodEnum<{
17
+ export: "export";
18
+ get_followup_methods: "get_followup_methods";
19
+ }>;
20
+ branchId: z.ZodString;
21
+ cityCode: z.ZodString;
22
+ branchName: z.ZodString;
23
+ startFollowupTm: z.ZodOptional<z.ZodNumber>;
24
+ endFollowupTm: z.ZodOptional<z.ZodNumber>;
25
+ followupMethod: z.ZodOptional<z.ZodArray<z.ZodString>>;
26
+ }, z.core.$strip>;
27
+ };
28
+ export declare function handler(args: InvestmentFollowUpExportArgs): Promise<import("../../utils/http.js").ToolResult>;
29
+ export {};
30
+ //# sourceMappingURL=investment_follow_up_export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"investment_follow_up_export.d.ts","sourceRoot":"","sources":["../../../src/tools/data/investment_follow_up_export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AA+B5B,KAAK,MAAM,GAAG,sBAAsB,GAAG,QAAQ,CAAC;AAIhD,UAAU,4BAA4B;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAMD,eAAO,MAAM,IAAI,gCAAgC,CAAC;AAElD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;CAuBlB,CAAC;AAEF,wBAAsB,OAAO,CAAC,IAAI,EAAE,4BAA4B,qDAS/D"}