MiscellaneousReceiptPostRequest.java 5.1 KB
package com.huaheng.api.erp.domain;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

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

/**
 * ERP2过账杂收、杂发单请求实体。
 *
 * <p>WMS回传ERP过账杂收、杂发单时使用。</p>
 */
@Data
public class MiscellaneousReceiptPostRequest implements Serializable {

    private static final long serialVersionUID = 1L;

    public static final String DEFAULT_KEY = "f5458f5c0f9022db743a7c0710145903";
    public static final String DEFAULT_TYPE = "sync";
    public static final String DEFAULT_CLIENT_PROD = "WMS";
    public static final String DEFAULT_LANG = "zh_CN";
    public static final String DEFAULT_SERVICE_PROD = "T100";
    public static final String DEFAULT_SERVICE_NAME = "MiscellaneousReceiptPost";
    public static final String DEFAULT_SERVICE_IP = "10.1.1.200";
    public static final String SERVICE_ID_PROD = "topprd";
    public static final String SERVICE_ID_TEST = "toptst";
    public static final String DEFAULT_DATA_TYPE = "POST";

    /**
     * 唯一值,ERP接口固定值。
     */
    private String key = DEFAULT_KEY;

    /**
     * 请求类型,固定值:sync。
     */
    private String type = DEFAULT_TYPE;

    /**
     * 客户端产品,固定值:WMS。
     */
    private String prod = DEFAULT_CLIENT_PROD;

    /**
     * 客户端主机信息。
     */
    private Host host = new Host();

    /**
     * ERP服务信息。
     */
    private Service service = new Service();

    /**
     * 业务数据。
     */
    private DataKey datakey = new DataKey();

    /**
     * 客户端主机信息。
     */
    @Data
    public static class Host implements Serializable {

        private static final long serialVersionUID = 1L;

        /**
         * WMS客户端IP。
         */
        private String ip;

        /**
         * 语言别,固定值:zh_CN。
         */
        private String lang = DEFAULT_LANG;
    }

    /**
     * ERP服务调用信息。
     */
    @Data
    public static class Service implements Serializable {

        private static final long serialVersionUID = 1L;

        /**
         * 用户编号。
         */
        private String acct;

        /**
         * 时间戳,17位。例如:20201015123204361。
         */
        private String timestamp;

        /**
         * 服务端,固定值:T100。
         */
        private String prod = DEFAULT_SERVICE_PROD;

        /**
         * 服务名,固定值:MiscellaneousReceiptPost。
         */
        private String name = DEFAULT_SERVICE_NAME;

        /**
         * ERP服务端IP。
         */
        private String ip = DEFAULT_SERVICE_IP;

        /**
         * ERP环境产品。正式区:topprd,测试区:toptst。
         */
        private String id;
    }

    /**
     * ERP业务数据。
     */
    @Data
    public static class DataKey implements Serializable {

        private static final long serialVersionUID = 1L;

        /**
         * 企业代号。
         */
        @JSONField(name = "EntId")
        private String entId;

        /**
         * 营运据点。
         */
        @JSONField(name = "CompanyId")
        private String companyId;

        /**
         * 过账杂收、杂发单参数。
         */
        private Parameter parameter = new Parameter();
    }

    /**
     * 过账杂收、杂发单参数。
     */
    @Data
    public static class Parameter implements Serializable {

        private static final long serialVersionUID = 1L;

        /**
         * 业务操作,固定值:POST。
         */
        @JSONField(name = "data_type")
        private String dataType = DEFAULT_DATA_TYPE;

        /**
         * 杂收、杂发单主档。
         */
        private Master master = new Master();
    }

    /**
     * 杂收、杂发单主档。
     */
    @Data
    public static class Master implements Serializable {

        private static final long serialVersionUID = 1L;

        /**
         * 杂收、杂发单号。
         */
        private String inbadocno;

        /**
         * 过账日期。
         */
        private String inba002;

        /**
         * WMS单号。
         */
        @JSONField(name = "source_no")
        private String sourceNo;

        /**
         * 杂收、杂发单明细。
         */
        private List<Detail> detail;
    }

    /**
     * 杂收、杂发单明细。
     */
    @Data
    public static class Detail implements Serializable {

        private static final long serialVersionUID = 1L;

        /**
         * 项次。
         */
        private BigDecimal inbbseq;

        /**
         * 料号。
         */
        private String inbb001;

        /**
         * 申请数量。
         */
        private BigDecimal inbb011;

        /**
         * 实际数量。
         */
        private BigDecimal inbb012;

        /**
         * 库位。
         */
        private String inbb007;

        /**
         * 储位。
         */
        private String inbb008;

        /**
         * 批号。
         */
        private String inbb009;
    }
}