import { Box, TextField, Typography } from "@mui/material";
import { Grid } from "../components/grid/Grid";
import { SPACING } from "../data/spacing";
import { BackButton } from "../components/back-button/BackButton";
import { useContext, useState } from "react";
import { AppContext } from "../contexts/AppContext";
import { DatePicker } from "@mui/x-date-pickers";
import moment from "moment";
import axios from "axios";
import { getRoleFromUrl } from "../utils/getRoleFromUrl";
import { useSelector } from "react-redux";
import { RiFileExcel2Fill, RiTicket2Line } from "react-icons/ri";
import { ImFilePdf } from "react-icons/im";
import { motion } from "framer-motion";
const ProvinceRequests = () => {
const [, , selectedDate1, setSelectedDate1, selectedDate2, setSelectedDate2] =
useContext(AppContext);
useContext(AppContext);
const [openNotif] = useContext(AppContext);
const authToken = useSelector((state) => state.userSlice.authToken);
const userInfo = useSelector((state) => state.userSlice);
const [textValue, setTextValue] = useState("");
const handleDownload = (link, isTicket = false) => {
if (!isTicket) {
openNotif({
vertical: "top",
horizontal: "center",
msg: "فایل در حال دانلود می باشد، این عملیات ممکن است زمان بر باشد لطفا صبر کنید.",
severity: "success",
});
window.location.href = link;
}
};
const handleTicketClick = async (link) => {
try {
const response = await axios.get(link);
if (response.status === 200) {
openNotif({
vertical: "top",
horizontal: "center",
msg: "تیکت با موفقیت ارسال شد",
severity: "success",
});
}
} catch (error) {
openNotif({
vertical: "top",
horizontal: "center",
msg: "خطا در ارسال تیکت",
severity: "error",
});
}
};
const reportList = [
{
title: "گزارش تحلیلی",
description: "گزارش تحلیلی از زنجیره مرغ گوشتی در استان",
link: `${axios.defaults.baseURL}management_all_poultry_and_warehouse_pdf/?date1=${selectedDate1}&date2=${selectedDate2}`,
icon: ,
},
{
title: "تیکت وضعیت سند بار ها",
description: "تیکت وضعیت سند بار ها",
link: `${axios.defaults.baseURL}send_bar_info_from_ticket/?key=${userInfo?.userProfile?.key}&date1=${selectedDate1}&date2=${selectedDate2}`,
icon: ,
isTicket: true,
},
{
title: "مغایرت قرنطینه",
description: "مغایرت قرنطینه",
link: `${axios.defaults.baseURL}send_clearance_code_to_rsi/?date1=${selectedDate1}&date2=${selectedDate2}`,
},
{
title: "گزارش جامع کشتار",
description: "اطلاعات کلی از کشتار تا صنف",
link: `${
axios.defaults.baseURL
}detail_of_killing_excel/?date1=${selectedDate1}&date2=${selectedDate2}&role=${getRoleFromUrl()}&key=${
userInfo?.userProfile?.key
}`,
},
{
title: "گزارش پایش کشتارگاه ها",
description: "پایش کلی کشتارگاه ها",
link: `${axios.defaults.baseURL}comprehensive_report_of_the_slaughterhouse_excel/?date1=${selectedDate1}&date2=${selectedDate2}`,
},
{
title: "اطلاعات بارها",
description: "جزئیات بارهای ایجاد شده",
link: `${
axios.defaults.baseURL
}bar_excel/?start=${selectedDate1}&end=${selectedDate2}&key=${
userInfo?.userProfile?.key
}&role=${getRoleFromUrl()}`,
},
{
title: "گزارش پایش تعاونی ها",
description: "جزئیات جوجه ریزی و کشتار تعاونی ها",
link: `${
axios.defaults.baseURL
}general_city_operator/?date1=${selectedDate1}&date2=${selectedDate2}&key=${
userInfo?.userProfile?.key
}&role=${getRoleFromUrl()}`,
},
{
title: "گزارش کلی خریداران",
description: "گزارش تخصیص و پخش خریداران",
link: `${axios.defaults.baseURL}kill_house_user_excel/?date1=${selectedDate1}&date2=${selectedDate2}`,
},
{
title: "درخواست مرغداران",
description: "درخواست های کتشار ثبت شده توسط مرغداران",
link: `${
axios.defaults.baseURL
}poultry_kill_request_excel/?start=${selectedDate1}&end=${selectedDate1}&role=${getRoleFromUrl()}&token=${authToken}`,
},
{
title: "اعلام نیاز خریداران",
description: "اعلام نیاز کشتار از طرف خریداران",
link: `${axios.defaults.baseURL}kill_house_excel/?start=${selectedDate1}&end=${selectedDate2}`,
},
{
title: "جوجه ریزی های فعال",
description: "اطلاعات تکمیلی جوجه ریزی",
link: `${axios.defaults.baseURL}0/hatching_excel`,
},
{
title: "جوجه ریزی های بایگانی شده",
description: "اطلاعات تکمیلی جوجه ریزی",
link: `${axios.defaults.baseURL}archive_hatching_excel/?key=${userInfo?.userProfile?.key}`,
},
{
title: "درخواست های کشتار",
description: "جزئیات درخواست مرغداران تا تحویلی کشتارگاه",
link: `${axios.defaults.baseURL}poultry_request_report_excel/?start=${selectedDate1}&end=${selectedDate2}&key=${userInfo?.userProfile?.key}`,
},
{
title: "اصناف",
description: "اطلاعات اصناف ثبت شده",
link: `${axios.defaults.baseURL}guilds_excel/?key=${userInfo?.userProfile?.key}`,
},
{
title: "کاربران",
description: "اطلاعات کاربران ثبت شده",
link: `${axios.defaults.baseURL}get_all_user_excel/`,
},
{
title: "تخصیصات",
description: "جزئیات تخصیص به خریداران",
link: `${axios.defaults.baseURL}allocated_excel/?start=${selectedDate1}&end=${selectedDate2}`,
},
{
title: "گزارش پخش روزانه",
description: "کشتارگاه به مباشر/صنف",
link: `${axios.defaults.baseURL}all_inventory_excel/?date1=${selectedDate1}&date2=${selectedDate2}`,
},
{
title: "گزارش پخش روزانه",
description: "مباشر به صنف",
link: `${axios.defaults.baseURL}steward_ware_house_total_report_daily_excel/?date1=${selectedDate1}&date2=${selectedDate2}`,
},
{
title: "آمار جوجه ریزی",
description: "جزئیات جوجه ریزی",
link: `${axios.defaults.baseURL}hatching_date_range_excel/?date1=${selectedDate1}&date2=${selectedDate2}`,
},
{
title: "بارهای تکمیل شده",
description: "جزئیات بارهای تکمیل شده",
link: `${axios.defaults.baseURL}bar-management-kill-house-excel/?key=${userInfo?.userProfile?.key}&date1=${selectedDate1}&date2=${selectedDate2}`,
},
];
return (
تاریخ گزارش:
(
)}
value={selectedDate1}
onChange={(newValue) => {
setSelectedDate1(moment(newValue).format("YYYY-MM-DD"));
}}
/>
(
)}
value={selectedDate2}
onChange={(newValue) => {
setSelectedDate2(moment(newValue).format("YYYY-MM-DD"));
}}
/>
{
setTextValue(e.target.value);
}}
/>
{reportList
?.filter((option) => option?.title.includes(textValue))
?.map((item, i) => (
{
if (item.isTicket) {
e.preventDefault();
handleTicketClick(item.link);
} else {
e.preventDefault();
handleDownload(item.link, item.isTicket);
}
}}
>
{item.icon || (
)}
{item?.title}
{item?.description}
))}
);
};
export default ProvinceRequests;