package com.jwipc.shopping.model.po;

import com.fasterxml.jackson.annotation.JsonFilter;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * 功能描述:
 *
 * @Author: zx
 * @Date: 2024/3/29 0029 13:39
 */
@Data
public class ShoppingPayOA {

    Head head ;

    Item item;

    @Data
    public static class Head{


        private String ProcessId;

        /**
         * SRM业务类型
         */
        private String SRMToS;

        /**
         * 申请人
         */
        private String Applicant;

        /**
         * 申请日期
         */
        private String ApplyDate;

        /**
         * 公司代码
         */
        private String CompanyCode;

        /**
         * 公司(显示值)
         */
        private String CompanyName;

        /**
         * 支付方式
         */
        private String PayMethod;

        /**
         * 收款人/单位名称(显示值)
          */
        private String PayeeName;

        /**
         * 供应商代码
         */
        private String SupplierCode;

        /**
         * 银行行号（表单增加字段）
         */
        private String BankNo;

        /**
         * 银行国际代码
         */
        private String SwiftCode;

        /**
         * 币别
         */
        private String Currency;

        /**
         * 银行名称
         */
        private String BankName;

        /**
         * 收款人账号
         */
        private String PayeeAccount;
        /**
         * SAP订单付款
         */
        private String SapOrderPayment;

        /**
         * 预付款款情况
         */
        private String AdvancePayment;

        /**
         * 合同金额
         */
        private BigDecimal ContractAmount;


        /**
         * 合同金额预付
         */
        private BigDecimal ContractAmountPrepaid;


        /**
         * 费用归属部门（财务确认）
         */
        private String CostAscriptionDept;

        /**
         * 关联流程
         */
        private String RelatedProcess;

        /**
         * 合计金额
         */
        private BigDecimal TotalAmount;

        /**
         * 不含税金额合计
         */
        private BigDecimal ExcludingTaxAmount;

        /**
         * 税额合计
         */
        private BigDecimal TotalTaxAmount;

        /**
         * 冲销预借/预付金额
         */
        private String PrepaidAmount;

        /**
         * 本次应支付金额
         */
        private String PayableAmount;

        /**
         * 附件
         */
        private String Attachment;

        /**
         * 本次应支付(大写)
         */
        private String PaymentAmountWords;

        /**
         * 验收流程
         */
        public String RelatedYanShou;

    }

    @Data
    public static class Item{

        /*@JsonFilter("purchase_order_item")
        private List<PurchaseOrderItem> purchaseOrderItem;*/

        @JsonFilter("payment_item")
        private List<PaymentItem> paymentItem;

    }

    /*@Data
    public static class PurchaseOrderItem{

        *//**
         * 采购订单号(预付新增)
         *//*
        private String PurchaseOrder;


        *//**
         * 采购摘要
         *//*
        private String ProcurementSummary;

        *//**
         * 应付金额
         *//*
        private BigDecimal PayableAmount;

        *//**
         * 未付金额
         *//*
        private BigDecimal UnpaidAmount;

        *//**
         * 本次付款金额
         *//*
        private BigDecimal PaymentAmount;

        *//**
         * 使用人
         *//*
        private String User;

        *//**
         * 成本中心
         *//*
        private String CostCenterCode;

        *//**
         *  成本中心(显示值)
         *//*
        private String CostCenterName;


    }
*/
    @Data
    public static class PaymentItem{

        /**
         * 报销类别
         */
        private String ReimburseType;
        /**
         * 业务描述
         */
        private String BusinessDesc;
        /**
         * 金额（元）
         */
        private BigDecimal Amount;
        /**
         * 使用人
         */
        private String User;
        /**
         * 内部订单号
         */
        private String InternalOrder;
        /**
         * 项目编号
         */
        private String ProjectNo;
        /**
         * 服务客户
         */
        private String Customer;
        /**
         * 服务客户实际值
         */
        private String CustomerCode;
        /**
         * 驱动因素
         */
        private String DrivingFactors;
        /**
         * 固定资产编码
         */
        private String FixedAssetCode;
        /**
         * 成本中心(显示值)
         */
        private String CostCenter;
        /**
         * 成本中心实际值
         */
        private String CostCenterCode;

    }




}
