diff --git a/src/components/Jodetail/newJobPickExecution.tsx b/src/components/Jodetail/newJobPickExecution.tsx index 354dfd0..9b44110 100644 --- a/src/components/Jodetail/newJobPickExecution.tsx +++ b/src/components/Jodetail/newJobPickExecution.tsx @@ -1876,6 +1876,7 @@ const JobPickExecution: React.FC = ({ filterArgs, onBackToList }) => { // ✅ 两步完成(与 DO 对齐): // 1) Skip/Submit0 只把 SOL 标记为 checked(不直接 completed) // 2) 之后由 batch submit 把 SOL 推到 completed(允许 0) + if (submitQty === 0) { console.log(`=== SUBMITTING ALL ZEROS CASE ===`); console.log(`Lot: ${lot.lotNo}`); @@ -1901,15 +1902,9 @@ const JobPickExecution: React.FC = ({ filterArgs, onBackToList }) => { throw new Error('Failed to update stock out line status'); } - - // 记录该 SOL 的“目标实际拣货量=0”,让 batch submit 走 onlyComplete(不补拣到 required) + // 與 DO(GoodPickExecutiondetail)對齊:只標 checked,不寫 issuePickedQtyBySolId=0, + // 否則 combinedLotData 會把實揀量覆寫為 0,且 batch submit 的 resolveSingleSubmitQty 會錯。 if (solId > 0) { - setIssuePickedQtyBySolId((prev) => { - const next = { ...prev, [solId]: 0 }; - const pid = filterArgs?.pickOrderId ? Number(filterArgs.pickOrderId) : undefined; - if (pid) saveIssuePickedMapJo(pid, next); - return next; - }); setLocalSolStatusById(prev => ({ ...prev, [solId]: 'checked' })); }