import { CommonResponse } from "@gtpl/shared-models/production-management";
import { UnitsOfWeightInput } from "@gtpl/shared-models/sale-management";
import { ForkLiftJobService } from "@gtpl/shared-services/warehouse-management";
import { Card, Table } from "antd";
import { ColumnProps } from "antd/lib/table";
import React, { useEffect, useState } from "react";

export interface StockTransferItemDetailsProps {
    record: any;
}

function StockTransferItemDetails(
    props: StockTransferItemDetailsProps
) {

    const [jobItemsData, setJobItemsData] = useState<CommonResponse[]>([]);
    const forkLiftJobService = new ForkLiftJobService();
    useEffect(() => {
        getStoreItems();
    }, [])

    const getStoreItems = () => {
        forkLiftJobService.getStockTranserItemsData({jobId:props.record.jobId,transactionType:props.record.transactionType}).then(res => {
            if (res.status) {
                setJobItemsData(res.data);
            } else {
                setJobItemsData([]);
            }
        }).catch(err => {
            setJobItemsData([]);
        })
    }


    const jobItems: ColumnProps<any>[] = [
        {
            title: 'Po Number',
            dataIndex: "poNumber",
        },
        {
            title: 'Product SKU',
            dataIndex: 'shortCode',
        },
        {
            title: 'Pack Style',
            dataIndex: 'packStyle',
        },
        {
            title: 'Job Cartons',
            dataIndex: 'jobCartons',
            align:'right'
        },
        {
            title: 'Job Loose Pouches',
            dataIndex: 'jobLoosePouches',
            align:'right',
            render:(text,record) => {
                return(
                    Number(record.jobLoosePouches)
                )
            }
        },
        {
            title: 'Issued Quantity',
            dataIndex: 'issuedQuantity',
            align:'right',
            render:(text,record)=>{
                // let qty
                // if(record.uomId == UnitsOfWeightInput.find(e => e.name == 'lb').value){
                //     qty = Number(record.issuedQuantity) * 0.454
                // }else if(record.uomId == UnitsOfWeightInput.find(e => e.name == 'oz').value){
                //     qty = (Number(record.issuedQuantity) / 16) * 0.454
                // }else if(record.uomId == UnitsOfWeightInput.find(e => e.name == 'gm').value){
                //     qty = (Number(record.issuedQuantity) / 1000)
                // }else{
                //     qty = Number(record.issuedQuantity)
                // }
                return(
                    <>
                    {record.issuedQuantity ? record.issuedQuantity : 0}
                    </>
                )
            }
        },
        {
            title: 'Received Quantity',
            dataIndex: 'receivedQuantity',
            align:'right',
            render:(text,record)=>{
                // let qty
                // if(record.uomId == UnitsOfWeightInput.find(e => e.name == 'lb').value){
                //     qty = Number(record.receivedQuantity) * 0.454
                // }else if(record.uomId == UnitsOfWeightInput.find(e => e.name == 'oz').value){
                //     qty = (Number(record.receivedQuantity) / 16) * 0.454
                // }else if(record.uomId == UnitsOfWeightInput.find(e => e.name == 'gm').value){
                //     qty = (Number(record.receivedQuantity) / 1000)
                // }
                return(
                    <>
                    {record.receivedQuantity ? record.receivedQuantity : 0}
                    </>
                )
            }
        },
    ];
    return (
        <>
            <Card style={{ overflow: 'auto', overflowY: 'hidden', backgroundColor: '#d9d9d9', height: 40, margin: 1 }} title={<span>Job Items</span>}></Card>
            <Table
                key={Date.now()}
                className="components-table-nested"
                columns={jobItems}
                dataSource={jobItemsData}
            />

        </>
    );
}
export default StockTransferItemDetails;