diff --git a/.env b/.env
index bd87f0d..6d14436 100644
--- a/.env
+++ b/.env
@@ -1,4 +1,4 @@
#VITE_REACT_APP_BACKEND_URL="https://sandbox.exampaper.vidh.ai"
METABASE_BASE_URL="http://metabase.usln.in/public/question/d8774923-09bb-4cd9-903b-559d417e12cf"
-VITE_REACT_APP_BACKEND_URL="https://api.exampaper.vidh.ai"
-# VITE_REACT_APP_BACKEND_URL="http://localhost:9999"
+# VITE_REACT_APP_BACKEND_URL="https://api.exampaper.vidh.ai"
+VITE_REACT_APP_BACKEND_URL="http://localhost:9999"
diff --git a/src/Components/AnomolyPartC.jsx b/src/Components/AnomolyPartC.jsx
index 4ae9b4b..fba0395 100644
--- a/src/Components/AnomolyPartC.jsx
+++ b/src/Components/AnomolyPartC.jsx
@@ -24,10 +24,12 @@ import InputLabel from "@mui/material/InputLabel";
import MenuItem from "@mui/material/MenuItem";
import FormControl from "@mui/material/FormControl";
import Select from "@mui/material/Select";
+import { useSearchParams } from "react-router-dom";
const { Content, Header } = Layout;
function AnomalyPartC() {
+ const [searchParams, setSearchParams] = useSearchParams();
const [isLoading, setIsLoading] = useState(false);
const [isLoading2, setIsLoading2] = useState(false);
const [anomalyData, setAnomalyData] = useState(null);
@@ -38,7 +40,7 @@ function AnomalyPartC() {
const [totalPages, setTotalPages] = useState(1);
const [showSystemNoContainer, setShowSystemNoContainer] = useState(false);
const [selectedIndex, setSelectedIndex] = useState(null);
- const [selectedDegreeType, setSelectedDegreeType] = useState("0");
+ const [selectedDegreeType, setSelectedDegreeType] = useState("2");
const degreeTypes = [
{ type: "UG", type_code: "0" },
{ type: "PG", type_code: "2" },
@@ -53,6 +55,10 @@ function AnomalyPartC() {
} = theme.useToken();
const navigate = useNavigate();
const dispatch = useDispatch();
+ const paramsError = searchParams.get("error")
+ const paramsErrorReason = searchParams.get("error_reason")
+ const paramsSysNo = searchParams.get("sysNo")
+ const paramsDegreeType = searchParams.get("degreeType")
const evErrorsList = useSelector((state) => state?.partCErrorList);
console.log("evErrorsList = ", evErrorsList);
@@ -106,9 +112,9 @@ function AnomalyPartC() {
}, [evErrors]);
useEffect(() => {
- dispatch(updatePartCErrorData([]));
- setAnomalyData([]);
- setEvErrors([]);
+ // dispatch(updatePartCErrorData([]));
+ // setAnomalyData([]);
+ // setEvErrors([]);
fetchAnomalyData();
}, [selectedDegreeType]);
@@ -164,6 +170,7 @@ function AnomalyPartC() {
};
const fetchAnomalyRecords = async (reduxSystemNo) => {
+ console.log("fetching anomoly records")
setIsLoading(true);
try {
const response = await fetch(
@@ -192,7 +199,7 @@ function AnomalyPartC() {
setEvErrors(systemRecords);
setIsLoading(false);
dispatch(updatePartCErrorData(systemRecords));
-
+ localStorage.setItem("marks_manual_data", JSON.stringify(systemRecords));
updateSystemReservationStatus(systemRecords);
} catch (error) {
setIsLoading(false);
@@ -345,11 +352,11 @@ function AnomalyPartC() {
Count: {item["count(*)"]}
)}
- {item.error_reason && (
+ {/* {item.error_reason && (
Reason: {item.error_reason}
- )}
+ )} */}
))}
@@ -382,6 +389,10 @@ function AnomalyPartC() {
data={data}
s3_image_column="s3_path"
query="ocr_scanned_part_c_v1"
+ error={error}
+ error_reason={errorReason}
+ reduxSystemNo={reduxSystemNo}
+ degreeType = {selectedDegreeType}
/>
))
)}
diff --git a/src/Components/QueryCardEditor.jsx b/src/Components/QueryCardEditor.jsx
index 4dcf50b..d27aa5d 100644
--- a/src/Components/QueryCardEditor.jsx
+++ b/src/Components/QueryCardEditor.jsx
@@ -1,6 +1,9 @@
import { useState, useEffect } from "react";
+import { useSelector } from "react-redux";
import { useSearchParams } from "react-router-dom";
import { Box, Button } from "@mui/material";
+import { useNavigate } from "react-router-dom";
+import { useDispatch } from "react-redux";
import AntdesignLayout from "./AntdesignLayout";
import TextInputField from "./TextInputField";
@@ -9,6 +12,9 @@ import LoadingContainer from "./LoadingContainer";
import SimpleDialog from "./SimpleDialog";
import RotateLeftIcon from "@mui/icons-material/RotateLeft";
import RotateRightIcon from "@mui/icons-material/RotateRight";
+import { updatePartCErrorData, updateSystemNo } from "../redux/actions/actions";
+import { updatePartCErrorList } from "../redux/actions/actions";
+import { DiscFullTwoTone } from "@mui/icons-material";
const QueryCardEditor = () => {
const [searchParams, setSearchParams] = useSearchParams();
@@ -22,11 +28,23 @@ const QueryCardEditor = () => {
const [s3Path, setS3Path] = useState(null);
const [showDialog, setShowDialog] = useState(false);
const [rotationResults, setRotationResults] = useState([]);
-
+ const [rotateAngle, setRotateAngle] = useState(0);
+ const evErrorsList = useSelector((state) => state?.partCErrorList);
const table = searchParams.get("table");
const image_name = searchParams.get("image_name");
+ const paramsError = searchParams.get("error");
+ const paramsErrorReason = searchParams.get("error_reason");
+ const paramsSysNo = searchParams.get("sysNo");
+ const paramsDegreeType = searchParams.get("degreeType");
+ const [items, setItems] = useState([]);
+ const [evErrorsData,setEvErrorsData] = useState([]);
+ const navigate = useNavigate();
+ const dispatch = useDispatch();
+ console.log("Ev errors list ==== ", evErrorsList);
console.log("table is : ", table);
+ // const evErrorsData = useSelector((state) => state?.partCErrorData);
+ // console.log("evErrorData: ", evErrorsData);
const fetchPrimaryKeyData = async () => {
try {
@@ -51,6 +69,25 @@ const QueryCardEditor = () => {
}
};
+ useEffect(() => {
+ const marksLocalData = localStorage.getItem("marks_manual_data");
+ console.log("Marks local data 123 ========= ",marksLocalData)
+ if (marksLocalData) {
+ console.log("Into if and updating .......")
+ console.log("marks local data ==== ",marksLocalData)
+ setEvErrorsData(JSON.parse(marksLocalData));
+ }
+ }, []);
+
+ useEffect(()=>{
+ dispatch(updateSystemNo(paramsSysNo))
+ },[paramsSysNo])
+
+
+ useEffect(()=>{
+ console.log("Ev error data =============== ",evErrorsData)
+ },[evErrorsData])
+
useEffect(() => {
const fetchData = async () => {
if (table && image_name) {
@@ -79,8 +116,12 @@ const QueryCardEditor = () => {
setSubjectCode(recordData?.subject_code);
setS3Path(recordData?.s3_path);
}, [recordData]);
+
const updateRecord = async () => {
+ if(!marks){
+ return
+ }
setIsLoading(true);
try {
const payload = {
@@ -91,6 +132,7 @@ const QueryCardEditor = () => {
subjectCode,
marks,
imageName,
+ rotateAngle
};
const response = await fetch(
`${import.meta.env.VITE_REACT_APP_BACKEND_URL}/editPartCdata`,
@@ -107,6 +149,30 @@ const QueryCardEditor = () => {
console.log("response data ========= ", responseData);
if (responseData?.status === "success") {
toast.success("Record Updated Successfully ...");
+ var currentIndex = null;
+ console.log("Ev errors data before filter ============= ",evErrorsData)
+ var newRecords = evErrorsData.filter((data, index) => {
+ if (data?.image_name === imageName) {
+ currentIndex = index;
+ return false;
+ }
+ return true;
+ });
+ if(!currentIndex){
+ currentIndex = 0
+ }
+ console.log("new records ======1 ", newRecords);
+ console.log("Current Index ===== ", currentIndex);
+ dispatch(updatePartCErrorData(newRecords));
+ if (newRecords.length > 0) {
+ console.log("Has to navigte 12 .....");
+ localStorage.setItem("marks_manual_data", JSON.stringify(newRecords));
+ const newUrl = `/sqlPlayground/edit?image_name=${newRecords[currentIndex]?.image_name}&table=ocr_scanned_part_c_v1&error=${paramsError}&error_reason=${paramsErrorReason}°reeType=${paramsDegreeType}&sysNo=${paramsSysNo}`;
+ console.log("new url ==== ", newUrl);
+ window.location.href = newUrl;
+ } else {
+ navigate("/");
+ }
}
} catch (error) {
setIsLoading(false);
@@ -114,6 +180,15 @@ const QueryCardEditor = () => {
}
};
+ useEffect(() => {
+ console.log("Rotate angle changed to ========== ", rotateAngle);
+ const imageContainer = document.getElementById("img-container");
+ console.log("Imge container ===== ", imageContainer);
+ if (imageContainer) {
+ imageContainer.style.transform = `rotate(${rotateAngle}deg)`;
+ }
+ }, [rotateAngle]);
+
const initateRotation = async () => {
console.log("Rotating initiated ...");
setIsLoading(true);
@@ -144,6 +219,35 @@ const QueryCardEditor = () => {
}
};
+const skipPage = () =>{
+ try{
+ if(evErrorsData){
+ var currentIndex = null
+ var newRecords = evErrorsData.filter((data, index) => {
+ if (data?.image_name === imageName) {
+ currentIndex = index;
+ return false;
+ }
+ return true;
+ });
+ if(!currentIndex){
+ currentIndex = 0
+ }
+ console.log("Current Index ===== ", currentIndex);
+ const newIndex = currentIndex+1
+ console.log("new index ===== ",newIndex)
+ if (newRecords.length > 0) {
+ console.log("Has to navigte 12 .....");
+ const newUrl = `/sqlPlayground/edit?image_name=${evErrorsData[newIndex]?.image_name}&table=ocr_scanned_part_c_v1&error=${paramsError}&error_reason=${paramsErrorReason}°reeType=${paramsDegreeType}&sysNo=${paramsSysNo}`;
+ console.log("new url ==== ", newUrl);
+ window.location.href = newUrl;
+ }
+ }
+ }catch(error){
+ throw new Error(error)
+ }
+}
+
return (
@@ -177,23 +281,31 @@ const QueryCardEditor = () => {
>
Update
- {/*
+
+
- */}
+
-
+
{
+const QueryExecutorCard = ({ data, s3_image_column, query, error, error_reason, reduxSystemNo,degreeType }) => {
+ // console.log("ERROR ============= ",error)
+ // console.log("ERROR REASON ============== ",error_reason)
+ // console.log("REDUX SYSTEM NO ================== ",reduxSystemNo)
const navigate = useNavigate()
const [dataValue, setDataValue] = useState({});
const [isLoading, setIsLoading] = useState(false);
@@ -172,7 +175,7 @@ const QueryExecutorCard = ({ data, s3_image_column, query }) => {
<>
diff --git a/src/redux/reducers/Reducer.jsx b/src/redux/reducers/Reducer.jsx
index 71dae7e..2b4ce00 100644
--- a/src/redux/reducers/Reducer.jsx
+++ b/src/redux/reducers/Reducer.jsx
@@ -13,6 +13,7 @@ const initialState = {
selectedError: null,
selectedErrorData: [],
selectedErrorJson: {},
+ partCDegreeType : null
};
const reducer = (state = initialState, action) => {
@@ -41,10 +42,12 @@ const initialState = {
return { ...state, selectedErrorData:action?.payload}
case 'UPDATE_SELECTED_ERROR_JSON':
return { ...state, selectedErrorJson:action?.payload}
+ case 'UPDATE_PART_C_DEGREE_TYPE':
+ return { ...state, partCDegreeType:action?.payload}
default:
return state;
}
- };
+ }
export default reducer;
\ No newline at end of file