package com.jwipc.finance.dto;


import com.alibaba.fastjson2.annotation.JSONField;
import com.jwipc.api.dto.SapBaseParamDTO;
import lombok.Data;

import java.util.List;

/**
 * @author shenyang.ou
 * @date 2024/3/21 13:09
 * @desc
 */
@Data
public class PaymentToSapDTO extends SapBaseParamDTO {

    @Data
    public static class ItHead {
        @JSONField(name="item")
        public List<Head> item;
    }

    @Data
    public static class ItItem {
        @JSONField(name="item")
        public List<Item> item;
    }

    @Data
    public static class Head {

        /**
         * SRM单号
         */
        @JSONField(name = "ZSRMBILLNO")
        public String ZSRMBILLNO;

        /**
         * 业务类型
         */
        @JSONField(name = "YWLX")
        public String YWLX;

        /**
         * 法人主体
         */
        @JSONField(name = "BUKRS")
        public String BUKRS;

        /**
         * 发票日期
         */
        @JSONField(name = "BLDAT")
        public String BLDAT;

        /**
         * 过账日期
         */
        @JSONField(name = "BUDAT")
        public String BUDAT;

        /**
         * 币别
         */
        @JSONField(name = "WAERS")
        public String WAERS;

        /**
         * 金额（原始字段 RMWWR）
         */
        @JSONField(name = "RMWWR")
        public String RMWWR;

        /**
         * 税额
         */
        @JSONField(name = "WMWST1")
        public String WMWST1;

        /**
         * 文本
         */
        @JSONField(name = "SGTXT")
        public String SGTXT;

        /**
         * 供应商
         */
        @JSONField(name = "LIFNR")
        public String LIFNR;

        /**
         * 总账科目
         */
        @JSONField(name = "HKONT")
        public String HKONT;

        /**
         * 借/贷
         */
        @JSONField(name = "SHKZG")
        public String SHKZG;

        /**
         * 金额（字段 WRBTR）
         */
        @JSONField(name = "WRBTR")
        public String WRBTR;
    }

    @Data
    public static class Item {

        /**
         * 采购订单
         */
        @JSONField(name = "EBELN")
        public String EBELN;

        /**
         * 项目（采购订单行项目）
         */
        @JSONField(name = "EBELP")
        public String EBELP;

        /**
         * 金额
         */
        @JSONField(name = "WRBTR")
        public String WRBTR;

        /**
         * 数量
         */
        @JSONField(name = "MENGE")
        public String MENGE;

        /**
         * 物料凭证
         */
        @JSONField(name = "MBLNR")
        public String MBLNR;

        /**
         * 项目（物料凭证行项目）
         */
        @JSONField(name = "ZEILE")
        public String ZEILE;

        /**
         * 年度（物料凭证年度）
         */
        @JSONField(name = "MJAHR")
        public String MJAHR;
    }

    @JSONField(name="IT_HEAD")
    private ItHead IT_HEAD;
    @JSONField(name="IT_ITEM")
    private ItItem IT_ITEM;
}
