import React, { forwardRef } from "react";
import logo from "../../../../assets/images/ChickenLogo.png";
import { PropTypes } from "prop-types";
import { formatJustDate } from "../../../../utils/formatTime";
import { useCeoName } from "../../../../utils/getCeoName";
import { useSystemName } from "../../../../utils/getSystemName";

const styles = {
  page: {
    width: "210mm",
    margin: "0 auto",
    display: "flex",
    flexDirection: "column",
    position: "relative",
    direction: "rtl",
    fontFamily: "nazanin",
    fontWeight: "bold",
  },
  container: {
    width: "95%",
    alignSelf: "center",
    pageBreakInside: "avoid",
  },
  p: {
    fontFamily: "nazanin",
    fontWeight: "bold",
    pAlign: "justify",
  },
  span: {
    fontFamily: "nazanin",
    fontWeight: "bold",
    pAlign: "justify",
  },
  invoiceTable: {
    width: "100%",
    borderCollapse: "collapse",
    alignSelf: "center",
  },
  tableCell: {
    border: "1px solid #000",
    pAlign: "left",
    textAlign: "center",
    fontSize: 11,
  },
  tableCellMobile: {
    border: "1px solid #000",
    pAlign: "left",
    textAlign: "center",
    fontSize: 10,
  },
  tableInnerCell: {
    border: "1px solid #000",
    pAlign: "left",
    textAlign: "center",
    fontSize: 8,
    whiteSpace: "nowrap",
  },
  tableHeader: {
    pageBreakAfter: "auto",
  },
  headerRow: {
    color: "black",
    pageBreakInside: "avoid",
    pageBreakAfter: "auto",
  },
  logo: {
    width: "60px",
    height: "auto",
    marginBottom: "10px",
  },
  contentContainer: {
    display: "flex",
    justifyContent: "space-between",
    marginTop: "20px",
    marginLeft: "100px",
    marginRight: "30px",
  },
  contentInLine: {
    display: "flex",
    flexDirection: "column",
    alignItems: "center",
  },
  mainTitle: {
    fontFamily: "nazanin",
    fontSize: 11,
    pAlign: "center",
    fontWeight: "bolder",
  },
  signature: {
    display: "flex",
    flexDirection: "column",
    alignItems: "flex-end",
    marginLeft: "20px",
  },
  watermarkContainer: {
    position: "fixed",
    top: 450,
    left: 0,
    right: 30,
    bottom: 0,
    justifyContent: "center",
    alignItems: "center",
    opacity: 0.2,
    zIndex: -1,
  },
  watermarkp: {
    fontSize: 100,
    fontWeight: "bolder",
    color: "grey",
    transform: "rotate(-45deg)",
    left: "50%",
  },
  title: {
    fontSize: 12,
    fontWeight: "bolder",
    pAlign: "center",
  },
  titleTopic: {
    marginTop: "10px",
    fontSize: 12,
    fontWeight: "bolder",
    pAlign: "center",
  },
  firsttitle: {
    fontSize: 14,
    fontWeight: "bolder",
    marginLeft: "40px",
    pAlign: "center",
  },
  title2: {
    fontSize: 10,
    marginBottom: 10,
    pAlign: "center",
  },
  options: {
    padding: "10px",
    marginTop: "15px",
    display: "flex",
    flexDirection: "column",
    alignItems: "flex-start",
  },
  divider: {
    width: "100%",
    height: "2px",
    backgroundColor: "red",
    marginBottom: 15,
  },
  pTitleContainer: {
    pAlign: "right",
    margin: "15px",
    textAlign: "justify",
    textJustify: "inter-word",
  },
  tableHeaderCell: {
    backgroundColor: "rgba(255, 229, 153, 0.5)",
    fontSize: 10,
    border: "1px solid #000",
    padding: "4px",
    textAlign: "center",
    fontWeight: "bold",
  },
  footer: {
    pageBreakAfter: "always",
    position: "fixed",
    left: 0,
    bottom: 0,
    width: "100%",
  },
};

const ProvinceQuarantineInvoice = forwardRef((props, ref) => {
  const { sDate } = props;
  const { date } = props;
  const { fnumber } = props;
  const { receiver } = props;
  const { item } = props;
  const { price } = props;
  const systemName = useSystemName();
  const ceoName = useCeoName();

  // function getAddressContent(systemName) {
  //   switch (systemName) {
  //     case "استان اردبیل":
  //       return "آدرس : اردبیل، شهرک کارشناسان ،جنب ساختمان نظام مهندسی، ساختمان فرهنگ، طبقه دوم تلفن : 33749254     تلفاکس : 33749253      ";

  //     case "استان همدان":
  //       return "همدان، بلوار آیت اله مدنی، کوچه امامزاده یحیی یک تلفن: 081 32523689 ";

  //     case "استان آذربایجان شرقی":
  //       return "تبریز خیابان راه آهن نبش کوی اشکان ساختمان ۱۴ طبقه دوم تلفن: 041 34502363";

  //     default:
  //       return "خرم آباد، مطهری، شرکت مهندسی نرم افزار آرتا مهر آرتان تلفن: 09011110919";
  //   }
  // }

  return (
    <div style={styles.page} ref={ref}>
      <div style={styles.contentContainer}>
        <div style={styles.contentInLine}>
          <img alt="logo" src={logo} style={styles.logo} />
          <span style={styles.mainTitle}>
            اتحادیه سراسری تعاونی‌های کشاورزی پرورش دهندگان مرغ گوشتی ایران
          </span>
          <span style={styles.title}>
            اتحادیه شرکت های تعاونی کشاورزی مرغداران {" ‌"} {systemName}
          </span>
        </div>

        <div>
          <span style={styles.firsttitle}>بسمه تعالی</span>
        </div>

        <div style={styles.options}>
          <span style={styles.title}>شماره: {fnumber}</span>
          <span style={styles.titleTopic}>تاریخ: {formatJustDate(date)}</span>
          <span style={styles.titleTopic}>پیوست:</span>
        </div>
      </div>

      <div style={styles.watermarkContainer}>
        <p style={styles.watermarkp}>سامانه رصدیار </p>
      </div>

      <hr style={styles.divider} />

      <p style={styles.pTitleContainer}>
        <strong style={{ fontSize: "20px" }}>
          {receiver}
          <br />
          با سلام
          <br />
        </strong>
        <br />
        احتراماً بدینوسیله واحد
        {" ‌"}
        {item?.poultry?.unitName
          ? item?.poultry?.unitName
          : "..................."}{" "}
        {" ‌"}
        به مالکیت/ مستاجر
        {" ‌"}
        {item?.poultry?.user?.fullname
          ? item?.poultry?.user?.fullname
          : "..................."}
        {" ‌"}
        به کد سیستمی
        {" ‌"}
        {item?.poultry?.systemCode
          ? item?.poultry?.systemCode
          : "..................."}
        {" ‌"}
        به ظرفیت پروانه
        {" ‌"}
        {item?.poultry?.totalCapacity
          ? item?.poultry?.totalCapacity.toLocaleString()
          : "..................."}
        {" ‌"}
        قطعه و تعداد جوجه ریزي{" "}
        {item?.hatching?.hatchingQuantity.toLocaleString()} قطعه در سالن با کد
        یکتا
        {" ‌"}{" "}
        {item?.poultry?.breedingUniqueId
          ? item?.poultry?.breedingUniqueId
          : "..................."}
        {" ‌"}و مسئول فنی فارم آقاي/خانم
        {" ‌"}
        {item?.hatching?.vetFarmName
          ? item?.hatching?.vetFarmName
          : "..................."}
        {" ‌"}
        تلفن تماس:
        {" ‌"}
        {item?.hatching?.vetFarmMobile
          ? item?.hatching?.vetFarmMobile
          : "..................."}
        {" ‌"}
        در راستاي اجراي شیوه نامه ابلاغی مقام عالی وزارت جهاد کشاورزي براي کشتار
        {" ‌"}
        {item?.quantity.toLocaleString()}
        {" ‌"} قطعه مرغ با میانگین وزنی
        {item?.IndexWeight ? item?.IndexWeight : "..................."}
        {" ‌"}
        کیلوگرم و سن {" ‌"}
        {item?.hatching?.age ? item?.hatching?.age : "..................."}{" "}
        {" ‌"}
        روز به تاریخ کشتار {formatJustDate(sDate)} طبق جدول ذیل جهت اخذ مجوز
        کشتار به حضورتان معرفی می گردد. لازم به توضیح است قیمت مصوب دولتی
        {" ‌"}
        {price.toLocaleString()}
        {" ‌"}
        ریال براي مرغ زنده ملاك فروش خواهد بود.
        <br />
        <br />
        اعتبار این معرفینامه از تاریخ صدور 24 ساعت می باشد.
      </p>

      <div style={styles.container}>
        <p>اطلاعات تخصیص:</p>

        <table style={styles.invoiceTable}>
          <thead style={styles.tableHeader}>
            <tr style={styles.headerRow}>
              <th style={styles.tableHeaderCell}>ردیف</th>
              <th style={styles.tableHeaderCell}>خریدار</th>
              <th style={styles.tableHeaderCell}>تعداد</th>
              <th style={styles.tableHeaderCell}>وزن تقریبی بار</th>
            </tr>
          </thead>
          <tbody>
            {item?.provinceKillRequests?.map((item, i) => (
              <tr key={i}>
                <td style={styles.tableCell}>{i + 1}</td>
                <td style={styles.tableCell}>
                  {item?.killhouseUser?.killHouseOperator?.user?.fullname}
                </td>
                <td style={styles.tableCell}>{item?.info?.quantity}</td>
                <td style={styles.tableCell}>
                  {" "}
                  {Math.round(item?.info?.weight)}
                </td>
              </tr>
            ))}
          </tbody>
        </table>

        <div style={{ flexDirection: "row", marginTop: "20px" }}>
          <div style={styles.signature}>
            <div style={styles.contentInLine}>
              <span style={styles.title}>{ceoName}</span>
              <span style={styles.title}>
                مدیرعامل اتحادیه مرغداران{" ‌"}
                {systemName}
              </span>
            </div>
          </div>
        </div>

        {/* <div style={styles.footer}>
          <div style={styles.divider} />
          <p style={{ fontSize: 12, padding: "10px", marginRight: "10px" }}>
            {getAddressContent(systemName)}
          </p>
        </div> */}
      </div>
    </div>
  );
});

ProvinceQuarantineInvoice.displayName = "ProvinceQuarantineInvoice";

export default ProvinceQuarantineInvoice;

ProvinceQuarantineInvoice.propTypes = {
  item: PropTypes.any,
};
