import { randInt } from "../../../util";

export function getAfterOOSCount(dependencyAnswers: string[]) {
  const beforeOOS = Number.parseInt(dependencyAnswers[0]);
  const afterOOS = beforeOOS - randInt(3, 4);
  return Math.max(0, afterOOS);
}

export function getOOSWithOnHandsGreaterThanZero(dependencyAnswers: string[]) {
  const afterOOS = Number.parseInt(dependencyAnswers[0]);
  const answer = randInt(1, afterOOS / 4);

  return Math.min(afterOOS, answer);
}

export function getWhyZeroItemsNeededCountCorrection(dependencyAnswers: string[]) {
  let numInaccurateCounts = 0;
  for (const dependencyAnswer of dependencyAnswers) {
    numInaccurateCounts += Number.parseInt(dependencyAnswer);
  }

  console.log(`Num inacurate counts: ${numInaccurateCounts}`);
  if (numInaccurateCounts > 0) return null;

  return "All items out of stock showed 0 on hand in MyDevice";
}

export function getTotalDPCIsCountCorrected(dependencyAnswers: string[]) {
  let numInaccurateCounts = 0;
  for (const dependencyAnswer of dependencyAnswers) {
    numInaccurateCounts += Number.parseInt(dependencyAnswer);
  }

  console.log(`Num counts corrected (for text question): ${numInaccurateCounts}`);

  return numInaccurateCounts;
}

export function getDidATeamMemberAssistYouWithUpdatingOnHands(dependencyAnswers: string[]) {
  let numInaccurateCounts = 0;
  for (const dependencyAnswer of dependencyAnswers) {
    numInaccurateCounts += Number.parseInt(dependencyAnswer);
  }

  console.log(`Num counts corrected (for radio question): ${numInaccurateCounts}`);
  if (numInaccurateCounts === 0) return null;

  return "Yes a Team Lead assisted to correct out of stocks in the INVENTORY AUDIT screen during my visit";
}

// Same logic as getDidATeamMemberAssistYouWithUpdatingOnHands, but the Blitz survey's radio
// option reads "...INVENTORY AUDIT function..." instead of "...INVENTORY AUDIT screen...".
export function getDidATeamMemberAssistYouWithUpdatingOnHandsBlitz(dependencyAnswers: string[]) {
  let numInaccurateCounts = 0;
  for (const dependencyAnswer of dependencyAnswers) {
    numInaccurateCounts += Number.parseInt(dependencyAnswer);
  }

  console.log(`Num counts corrected (for radio question): ${numInaccurateCounts}`);
  if (numInaccurateCounts === 0) return null;

  return "Yes a Team Lead assisted to correct out of stocks in the INVENTORY AUDIT function during my visit";
}
