| @@ -1876,6 +1876,7 @@ const JobPickExecution: React.FC<Props> = ({ filterArgs, onBackToList }) => { | |||||
| // ✅ 两步完成(与 DO 对齐): | // ✅ 两步完成(与 DO 对齐): | ||||
| // 1) Skip/Submit0 只把 SOL 标记为 checked(不直接 completed) | // 1) Skip/Submit0 只把 SOL 标记为 checked(不直接 completed) | ||||
| // 2) 之后由 batch submit 把 SOL 推到 completed(允许 0) | // 2) 之后由 batch submit 把 SOL 推到 completed(允许 0) | ||||
| if (submitQty === 0) { | if (submitQty === 0) { | ||||
| console.log(`=== SUBMITTING ALL ZEROS CASE ===`); | console.log(`=== SUBMITTING ALL ZEROS CASE ===`); | ||||
| console.log(`Lot: ${lot.lotNo}`); | console.log(`Lot: ${lot.lotNo}`); | ||||
| @@ -1901,15 +1902,9 @@ const JobPickExecution: React.FC<Props> = ({ filterArgs, onBackToList }) => { | |||||
| throw new Error('Failed to update stock out line status'); | 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) { | 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' })); | setLocalSolStatusById(prev => ({ ...prev, [solId]: 'checked' })); | ||||
| } | } | ||||