jsjResolveHelper.js
1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import { getJsjInfo } from '@/api/lqKhxx'
/**
* 按健康师 + 业绩日期查询金三角 ID(与后端 Helper 口径一致)
*/
export async function resolveJsjId(userId, dateYmd) {
if (!userId || !dateYmd) return ''
try {
const res = await getJsjInfo(userId, dateYmd)
if (res.code === 200 && res.data) return res.data.jsjId || ''
} catch (e) {
/* 提交前兜底失败时由服务端 FillMissingJsjId 补全 */
}
return ''
}
async function fillWorkerJsjIds(rows, dateYmd, cache) {
for (const w of rows) {
if (!w || !w.workerId || w.jsjId) continue
if (cache[w.workerId] === undefined) {
cache[w.workerId] = await resolveJsjId(w.workerId, dateYmd)
}
w.jsjId = cache[w.workerId]
}
}
/** 耗卡:健康师 + 陪同 */
export async function ensureStoreConsumeJsjIds(form, dateYmd) {
if (!form || !dateYmd) return
const cache = {}
for (const it of form.items || []) {
await fillWorkerJsjIds(it.workers || [], dateYmd, cache)
await fillWorkerJsjIds(it.accompanied || [], dateYmd, cache)
}
}
/** 开单 */
export async function ensureStoreBillingJsjIds(form, dateYmd) {
if (!form || !dateYmd) return
const cache = {}
for (const it of form.items || []) {
await fillWorkerJsjIds(it.workers || [], dateYmd, cache)
}
}
/** 退卡 */
export async function ensureStoreRefundJsjIds(form, dateYmd) {
if (!form || !dateYmd) return
const cache = {}
for (const it of form.items || []) {
await fillWorkerJsjIds(it.workers || [], dateYmd, cache)
}
}