| @@ -40,6 +40,8 @@ import { fetchPoQrcode } from "@/app/api/pdf/actions"; | |||||
| import UploadContext from "../UploadProvider/UploadProvider"; | import UploadContext from "../UploadProvider/UploadProvider"; | ||||
| import useUploadContext from "../UploadProvider/useUploadContext"; | import useUploadContext from "../UploadProvider/useUploadContext"; | ||||
| import RejectForm from "./RejectForm"; | import RejectForm from "./RejectForm"; | ||||
| import { isNullOrUndefined } from "html5-qrcode/esm/core"; | |||||
| import { isEmpty, isFinite } from "lodash"; | |||||
| dayjs.extend(arraySupport); | dayjs.extend(arraySupport); | ||||
| interface CommonProps extends Omit<ModalProps, "children"> { | interface CommonProps extends Omit<ModalProps, "children"> { | ||||
| @@ -153,9 +155,37 @@ const PoQcStockInModal: React.FC<Props> = ({ | |||||
| // } | // } | ||||
| // return date; | // return date; | ||||
| // }, []); | // }, []); | ||||
| const accQty = formProps.watch("acceptedQty"); | |||||
| const productLotNo = formProps.watch("productLotNo"); | |||||
| const checkStockIn = useCallback( | const checkStockIn = useCallback( | ||||
| (data: ModalFormInput): boolean => { | (data: ModalFormInput): boolean => { | ||||
| let hasErrors = false; | 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) { | if (itemDetail.shelfLife && !data.productionDate && !data.expiryDate) { | ||||
| formProps.setError("productionDate", { | formProps.setError("productionDate", { | ||||
| message: "Please provide at least one", | message: "Please provide at least one", | ||||