云
14 小时以前 1ed040591afdcbe3c5df42ad5e02e2cfa56edd87
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;
}
@@ -37,6 +53,7 @@
  opinion?: string;
  indicatorsJson?: string;
  operatorId?: number;
  operatorName?: string;
  createTime?: string;
}
export function getSeedQualityActions(id: number) {
@@ -45,11 +62,42 @@
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;
  pendingProcessIds?: number[];
  pendingInitialFailIds?: number[];
  pendingCompanyIds?: number[];
  pendingCompanyFailIds?: number[];
}
export function resolveSeedRetestScope(code: string, scanType: 'PALLET' | 'BATCH') {
  return requestClient.get<SeedRetestScope>('/mes/qc/seed-quality/retest-scope/resolve', { params: { code, scanType }, suppressErrorMessage: true });
}
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, { suppressErrorMessage: true });
}
export function approveSeedQuality(stage: 'process' | 'company', data: { id: number; approved: boolean; opinion: string }) {
  return requestClient.post(`/mes/qc/seed-quality/${stage}-approve`, data);
  return requestClient.post(`/mes/qc/seed-quality/${stage}-approve`, data, { suppressErrorMessage: true });
}
export function approveSeedQualityBatch(stage: 'process' | 'company', data: { ids: number[]; approved: boolean; opinion: string }) {
  return requestClient.post(`/mes/qc/seed-quality/${stage}-approve-batch`, data);
  return requestClient.post(`/mes/qc/seed-quality/${stage}-approve-batch`, data, { suppressErrorMessage: true });
}
export namespace MesQcSeedQualityApi {
@@ -84,8 +132,8 @@
  pendingBagIds?: number[]; completedBagIds?: number[];
}
export function resolveSeedQuality(code: string, scanType: 'BAG' | 'PALLET' | 'BATCH' = 'BAG') {
  return requestClient.get<SeedQualityScan>('/mes/qc/seed-quality/resolve', { params: { code, scanType } });
  return requestClient.get<SeedQualityScan>('/mes/qc/seed-quality/resolve', { params: { code, scanType }, suppressErrorMessage: true });
}
export function submitSeedQualityGroup(data: MesQcSeedQualityApi.SubmitParams & { scanType: 'BAG' | 'PALLET' | 'BATCH'; bagIds: number[] }) {
  return requestClient.post<{ processedCount: number }>('/mes/qc/seed-quality/submit-group', data);
  return requestClient.post<{ processedCount: number }>('/mes/qc/seed-quality/submit-group', data, { suppressErrorMessage: true });
}