jsjResolveHelper.js 1.5 KB
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)
  }
}