| | |
| | | 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; |
| | |
| | | export interface SeedQualityRecord { |
| | | id: number; |
| | | code: string; |
| | | palletCode?: string; |
| | | batchCode?: string; |
| | | result: number; |
| | | workflowStatus: number; |
| | |
| | | } |
| | | export interface SeedQualityIndicator { |
| | | indicatorCode: string; |
| | | value: number; |
| | | value?: number; |
| | | minValue: number; |
| | | maxValue: number; |
| | | } |
| | |
| | | opinion?: string; |
| | | indicatorsJson?: string; |
| | | operatorId?: number; |
| | | operatorName?: string; |
| | | createTime?: string; |
| | | } |
| | | export function getSeedQualityActions(id: number) { |
| | |
| | | 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 { |
| | |
| | | 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 }); |
| | | } |