FPSMS-frontend
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

50 lines
1.2 KiB

  1. import { cache } from "react";
  2. import "server-only";
  3. // import { serverFetchJson } from "@/app/utils/fetchUtil";
  4. // import { BASE_API_URL } from "@/config/api";
  5. import { serverFetchJson } from "../../utils/fetchUtil";
  6. import { BASE_API_URL } from "../../../config/api";
  7. export interface QcItemWithChecks {
  8. id: number;
  9. code: string;
  10. name: string;
  11. itemId: number;
  12. lowerLimit: number | undefined;
  13. upperLimit: number | undefined;
  14. description: string | undefined;
  15. }
  16. export interface QcResult{
  17. id?: number;
  18. qcItemId: number;
  19. qcPassed?: boolean;
  20. failQty?: number;
  21. remarks?: string;
  22. escalationLogId?: number;
  23. }
  24. export interface QcData {
  25. id?: number,
  26. qcItemId: number,
  27. code: string,
  28. name: string,
  29. description: string,
  30. qcPassed: boolean | undefined
  31. failQty: number | undefined
  32. remarks: string | undefined
  33. }
  34. export const fetchQcItemCheckList = cache(async () => {
  35. return serverFetchJson<QcItemWithChecks[]>(`${BASE_API_URL}/qc/list`, {
  36. next: { tags: ["qc"] },
  37. });
  38. });
  39. export const fetchQcItemCheck = cache(async (itemId?: number) => {
  40. let url = `${BASE_API_URL}/qcCheck`;
  41. if (itemId) url += `/${itemId}`;
  42. return serverFetchJson<QcItemWithChecks[]>(url, {
  43. next: { tags: ["qc"] },
  44. });
  45. });