package org.example.mybatisplus.model.auto;

import java.util.List;

import org.springframework.data.mongodb.core.mapping.Document;


import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 启信宝-工商年报信息
 *
 * @author snows
 * @date 2024/10/14
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Document(collection = "ent_risk_qxb_report_list_info")
public class EntRiskQxbReportListInfo extends EasierMongoEntity {
    private static final long serialVersionUID = 4546292206559238163L;

    /**
     * 返回列表中记录总数
     */
    private int total;

    /**
     * 企业年报信息列表
     */
    private List<ItemsInner> items;

    /**
     * 企业年报信息
     *
     * @author snows
     * @date 2024/10/14
     */
    @Data
    public static class ItemsInner {

        /**
         * 年报年份
         */
        private String reportYear;

        /**
         * 发布日期
         */
        private String reportDate;

        /**
         * 企业名称
         */
        private String name;

        /**
         * 注册号
         */
        private String regNo;

        /**
         * 统一社会信用代码
         */
        private String creditNo;

        /**
         * 企业联系电话
         */
        private String telephone;

        /**
         * 电子邮箱
         */
        private String email;

        /**
         * 企业通信地址
         */
        private String address;

        /**
         * 企业法定代表人
         */
        private String operName;

        /**
         * 邮政编码
         */
        private String zipCode;
        /**
         * 注册资本
         */
        private String regCapi;

        /**
         * 企业是否有投资信息或购买其他公司股权
         */
        private String ifInvest;

        /**
         * 是否有网站或网店
         */
        private String ifWebsite;

        /**
         * 有限责任公司本年度是否发生股东股权转
         */
        private String ifEquity;

        /**
         * 是否提供对外担保
         */
        private String ifExternalGuarantee;

        /**
         * 从业人数
         */
        private String colleguesNum;

        /**
         * 企业标准经营状态(已废弃)
         */
        private String status;

        /**
         * 企业经营状态
         */
        private String originStatus;

        /**
         * 营业总收入
         */
        private String saleIncome;

        /**
         * 负债总额
         */
        private String debitAmount;

        /**
         * 净利润
         */
        private String netAmount;

        /**
         * 实际员工数量
         */
        private String pracPersonNum;

        /**
         * 所有者权限合计
         */
        private String profitReta;

        /**
         * 利润总额
         */
        private String profitTotal;

        /**
         * 纳税总额
         */
        private String taxTotal;

        /**
         * 资产总额
         */
        private String totalEquity;

        /**
         * 主营业务
         */
        private String fareScope;

        /**
         * 主营业务收入
         */
        private String servFareIncome;

        /**
         * 网站信息
         */
        private List<WebsitesInner> websites;

        /**
         * 网站信息
         *
         * @author snows
         * @date 2024/10/17
         */
        @Data
        public static class WebsitesInner {
            /**
             * 网站类型
             */
            private String webType;

            /**
             * 网站名称
             */
            private String webName;

            /**
             * 网站网址
             */
            private String webUrl;

        }

        /**
         * 股权变更信息
         */
        private List<StockChangesInner> stockChanges;

        /**
         * 股权变更信息
         *
         * @author snows
         * @date 2024/10/17
         */
        @Data
        public static class StockChangesInner {

            /**
             * 股权变更日期
             */
            private String changeDate;

            /**
             * 股东
             */
            private String name;

            /**
             * 变更前股权比例
             */
            private String beforePercent;

            /**
             * 变更后股权比例
             */
            private String afterPercent;
        }

        /**
         * 对外投资信息
         */
        private List<InvestItemsInner> investItems;

        /**
         * 对外投资信息
         */
        @Data
        public static class InvestItemsInner {

            /**
             * 对外投资企业名称
             */
            private String investName;
            /**
             * 对外投资企业注册号
             */
            private String investRegNo;
            /**
             * 对外投资金额
             */
            private String investCapi;
            /**
             * 对外投资比例
             */
            private String investPercent;
        }

        /**
         * 股东信息
         */
        private List<PartnersInner> partners;

        /**
         * 股东信息
         *
         * @author snows
         * @date 2024/10/14
         */
        @Data
        public static class PartnersInner {

            /**
             * 股东名称
             */
            private String stockName;

            /**
             * 股东类型
             */
            private String stockType;

            /**
             * 股东所占比例
             */
            private String stockPercent;

            /**
             * 证件类型
             */
            private String identifyType;

            /**
             * 企业证照号
             */
            private String identifyNo;

            /**
             * 应缴出资信息
             */
            private List<ShouldCapiItemsInner> shouldCapiItems;

            /**
             * 应缴出资信息
             *
             * @author snows
             * @date 2024/10/14
             */
            @Data
            public static class ShouldCapiItemsInner {

                /**
                 * 认缴出资额
                 */
                private String shoudCapi;

                /**
                 * 认缴出资时间
                 */
                private String shouldCapiDate;

                /**
                 * 认缴出资方式
                 */
                private String investType;
            }

            /**
             * 实缴出资信息
             */
            private List<RealCapiItemInner> realCapiItems;

            /**
             * 实缴出资信息
             *
             * @author snows
             * @date 2024/10/17
             */
            @Data
            public static class RealCapiItemInner {

                /**
                 * 实缴出资
                 */
                private String realCapi;

                /**
                 * 实缴出资时间
                 */
                private String realCapiDate;

                /**
                 * 实缴出资方式
                 */
                private String investType;
            }
        }

        /**
         * 债务信息
         */
        private List<GuaranteeItemsInner> guaranteeItems;

        /**
         * 债务信息
         *
         * @author snows
         * @date 2024/10/14
         */
        @Data
        public static class GuaranteeItemsInner {

            /**
             * 债权人
             */
            private String creditor;

            /**
             * 债务人
             */
            private String debitor;

            /**
             * 主债权种类
             */
            private String debitType;

            /**
             * 主债权数额
             */
            private String debitAmount;

            /**
             * 履行债务的期限
             */
            private String debitPeriod;

            /**
             * 保证的方式
             */
            private String guarantMethod;

            /**
             * 保证的期间
             */
            private String guarantPeriod;

            /**
             * 保证担保的范围
             */
            private String guarantScope;
        }

    }
}
