|
|
@@ -40,6 +40,8 @@ import { fetchPoQrcode } from "@/app/api/pdf/actions"; |
|
|
|
import UploadContext from "../UploadProvider/UploadProvider"; |
|
|
|
import useUploadContext from "../UploadProvider/useUploadContext"; |
|
|
|
import RejectForm from "./RejectForm"; |
|
|
|
import { isNullOrUndefined } from "html5-qrcode/esm/core"; |
|
|
|
import { isEmpty, isFinite } from "lodash"; |
|
|
|
|
|
|
|
dayjs.extend(arraySupport); |
|
|
|
interface CommonProps extends Omit<ModalProps, "children"> { |
|
|
@@ -153,9 +155,37 @@ const PoQcStockInModal: React.FC<Props> = ({ |
|
|
|
// } |
|
|
|
// return date; |
|
|
|
// }, []); |
|
|
|
const accQty = formProps.watch("acceptedQty"); |
|
|
|
const productLotNo = formProps.watch("productLotNo"); |
|
|
|
const checkStockIn = useCallback( |
|
|
|
(data: ModalFormInput): boolean => { |
|
|
|
let hasErrors = false; |
|
|
|
if (!isFinite(accQty) || accQty!! <= 0 ) { |
|
|
|
formProps.setError("acceptedQty", { |
|
|
|
message: `${t("Accepted qty must greater than")} ${ |
|
|
|
0 |
|
|
|
}`, |
|
|
|
type: "required", |
|
|
|
}); |
|
|
|
hasErrors = true; |
|
|
|
} else if (accQty!! > itemDetail.acceptedQty) { |
|
|
|
formProps.setError("acceptedQty", { |
|
|
|
message: `${t("Accepted qty must not greater than")} ${ |
|
|
|
itemDetail.acceptedQty |
|
|
|
}`, |
|
|
|
type: "required", |
|
|
|
}); |
|
|
|
hasErrors = true; |
|
|
|
} |
|
|
|
|
|
|
|
if (isEmpty(productLotNo)) { |
|
|
|
formProps.setError("productLotNo", { |
|
|
|
message: `${t("Product Lot No must not be empty")}`, |
|
|
|
type: "required", |
|
|
|
}); |
|
|
|
hasErrors = true; |
|
|
|
} |
|
|
|
|
|
|
|
if (itemDetail.shelfLife && !data.productionDate && !data.expiryDate) { |
|
|
|
formProps.setError("productionDate", { |
|
|
|
message: "Please provide at least one", |
|
|
|