소스 검색

update jo edit form

MergeProblem1
CANCERYS\kw093 21 시간 전
부모
커밋
e0d7404898
1개의 변경된 파일9개의 추가작업 그리고 7개의 파일을 삭제
  1. +9
    -7
      src/components/Jodetail/JobPickExecutionForm.tsx

+ 9
- 7
src/components/Jodetail/JobPickExecutionForm.tsx 파일 보기

@@ -94,9 +94,9 @@ const PickExecutionForm: React.FC<PickExecutionFormProps> = ({
const missSet = formData.missQty != null;
const badItemSet = formData.badItemQty != null;
const badPackageSet = (formData as any).badPackageQty != null;
const calculateRemainingAvailableQty = useCallback((lot: LotPickData) => {
return lot.availableQty || 0;
}, []);
const calculateRemainingAvailableQty = useCallback((lot: LotPickData) => {
return (lot.availableQty + lot.requiredQty ) || 0;
}, []);
const calculateRequiredQty = useCallback((lot: LotPickData) => {
// Use the original required quantity, not subtracting actualPickQty
// The actualPickQty in the form should be independent of the database value
@@ -203,14 +203,14 @@ useEffect(() => {
const totalBadQty = badItem + badPackage;
const total = ap + miss + totalBadQty;
const availableQty = selectedLot?.availableQty || 0;
const maxActual = requiredQty + availableQty;
// 1. Check actualPickQty cannot be negative
if (ap < 0) {
newErrors.actualPickQty = t("Qty cannot be negative");
}

// 2. Check actualPickQty cannot exceed available quantity
if (ap > availableQty) {
if (ap > maxActual) {
newErrors.actualPickQty = t("Actual pick qty cannot exceed available qty");
}

@@ -223,10 +223,10 @@ useEffect(() => {
}

// 4. Total (actualPickQty + missQty + badItemQty + badPackageQty) cannot exceed lot available qty
if (total > availableQty) {
if (total > maxActual) {
const errorMsg = t(
"Total qty (actual pick + miss + bad) cannot exceed available qty: {available}",
{ available: availableQty }
{ available: maxActual }
);
newErrors.actualPickQty = errorMsg;
newErrors.missQty = errorMsg;
@@ -322,6 +322,8 @@ useEffect(() => {
const remainingAvailableQty = calculateRemainingAvailableQty(selectedLot);
const requiredQty = calculateRequiredQty(selectedLot);
const availableQty = selectedLot?.availableQty || 0;
const maxActual = requiredQty + availableQty;
return (
<Dialog open={open} onClose={handleClose} maxWidth="sm" fullWidth>
<DialogTitle>


불러오는 중...
취소
저장