云
2 天以前 346a988f537228ae44731cd31007f1412b482e83
src/api/mes/qc/seedQuality/index.ts
@@ -1,5 +1,20 @@
import { requestClient } from '#/api/request';
export interface SeedIndicatorRange {
  indicatorCode: string;
  minValue: number;
  maxValue: number;
  updateTime?: string;
}
export function getSeedIndicatorRanges() {
  return requestClient.get<SeedIndicatorRange[]>('/mes/qc/seed-quality/ranges');
}
export function saveSeedIndicatorRanges(ranges: SeedIndicatorRange[]) {
  return requestClient.put('/mes/qc/seed-quality/ranges', { ranges });
}
export interface SeedQualityPageParams {
  pageNo?: number;
  pageSize?: number;
@@ -12,6 +27,7 @@
export interface SeedQualityRecord {
  id: number;
  code: string;
  palletCode?: string;
  batchCode?: string;
  result: number;
  workflowStatus: number;
@@ -23,7 +39,7 @@
}
export interface SeedQualityIndicator {
  indicatorCode: string;
  value: number;
  value?: number;
  minValue: number;
  maxValue: number;
}
@@ -45,6 +61,33 @@
export function retestSeedQuality(id: number, data: Omit<MesQcSeedQualityApi.SubmitParams, 'qualifiedWarehouseId'>) {
  return requestClient.post('/mes/qc/seed-quality/retest', data, { params: { id } });
}
export function retestSeedQualityBatch(data: {
  ids: number[];
  reason?: string;
  indicators: MesQcSeedQualityApi.Indicator[];
}) {
  return requestClient.post('/mes/qc/seed-quality/retest-batch', data);
}
export interface SeedRetestScope {
  code: string;
  scanType: 'PALLET' | 'BATCH';
  batchCode?: string;
  totalCount: number;
  retestIds: number[];
  initialRecheckIds: number[];
  pendingProcessCount: number;
  pendingCompanyCount: number;
}
export function resolveSeedRetestScope(code: string, scanType: 'PALLET' | 'BATCH') {
  return requestClient.get<SeedRetestScope>('/mes/qc/seed-quality/retest-scope/resolve', { params: { code, scanType } });
}
export function submitSeedRetestScope(data: {
  code: string; scanType: 'PALLET' | 'BATCH'; workflowStatus: 10 | 50;
  qualityIds: number[]; indicators: MesQcSeedQualityApi.Indicator[]; reason?: string;
}) {
  return requestClient.post<{ processedCount: number }>('/mes/qc/seed-quality/retest-scope', data);
}
export function approveSeedQuality(stage: 'process' | 'company', data: { id: number; approved: boolean; opinion: string }) {
  return requestClient.post(`/mes/qc/seed-quality/${stage}-approve`, data);
}