FPSMS-frontend
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 

77 строки
1.8 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 QcCategory {
  17. id: number,
  18. code?: string,
  19. name?: string,
  20. description?: string,
  21. qcItems: QcData[],
  22. }
  23. export interface QcData {
  24. id?: number,
  25. qcItemId: number,
  26. code?: string,
  27. name?: string,
  28. order?: number,
  29. description?: string,
  30. // qcPassed: boolean | undefined
  31. // failQty: number | undefined
  32. // remarks: string | undefined
  33. }
  34. export interface QcResult extends QcData{
  35. id?: number;
  36. qcItemId: number;
  37. qcPassed?: boolean;
  38. failQty?: number;
  39. remarks?: string;
  40. escalationLogId?: number;
  41. stockInLineId?: number;
  42. stockOutLineId?: number;
  43. }
  44. export interface QcInput {
  45. id: number;
  46. itemId: number;
  47. acceptedQty: number;
  48. demandQty: number;
  49. status?: string;
  50. jobOrderId: number;
  51. purchaseOrderId?: number;
  52. purchaseOrderLineId: number;
  53. }
  54. export interface QcFormInput {
  55. acceptQty: number;
  56. qcAccept: boolean;
  57. qcDecision?: number;
  58. qcResult: QcResult[];
  59. }
  60. export const fetchQcItemCheckList = cache(async () => {
  61. return serverFetchJson<QcItemWithChecks[]>(`${BASE_API_URL}/qc/list`, {
  62. next: { tags: ["qc"] },
  63. });
  64. });
  65. export const fetchQcItemCheck = cache(async (itemId?: number) => {
  66. let url = `${BASE_API_URL}/qcCheck`;
  67. if (itemId) url += `/${itemId}`;
  68. return serverFetchJson<QcItemWithChecks[]>(url, {
  69. next: { tags: ["qc"] },
  70. });
  71. });