using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace DigitalSchoolApi.Models
{
    /// <summary>
    /// 批量开具发票
    /// </summary>
    public class BatchInvoiceParam
    {
        /// <summary>
        /// 业务种类 即分配的appid
        /// </summary>
        public string busType { get; set; }
        /// <summary>
        /// 批次号 全局唯一，不能重复（业务系统必须保证整个单位唯一），如单位存在多个业务系统对接，必须在批次号前面加上业务系统唯一标识
        /// </summary>
        public string batchNo { get; set; }
        /// <summary>
        /// 业务发生日期   格式：yyyy-MM-dd
        /// </summary>
        public string date { get; set; }
        /// <summary>
        /// 该批次总笔数
        /// </summary>
        public int totalCount { get; set; }
        /// <summary>
        /// 开票数据列表
        /// </summary>
        public List<eBillListClass> eBillList { get; set; }

    }
    /// <summary>
    /// 开票数据列表
    /// </summary>
    public class eBillListClass
    {
        public string ivcDate { get; set; }

        /// <summary>
        /// 业务单号   全局唯一，也叫业务流水号
        /// </summary>
        public string busNo { get; set; }
        /// <summary>
        /// 开票点编码
        /// </summary>
        public string placeCode { get; set; }
        /// <summary>
        /// 票据种类编码
        /// </summary>
        public string billCode { get; set; }
        /// <summary>
        /// 收费渠道
        /// 20	汇款，11	现金，10 	境外，22	网银，21	POS，23	微信支付，24	支付宝支付，25	易宝支付，26	生源地贷款，27	支票
        /// </summary>
        public string channel { get; set; }

        /// <summary>
        /// 缴款人类型 交款人类型：1 个人 2 单位，默认为1
        /// </summary>
        public string payerType { get; set; }
        /// <summary>
        /// 单位机构编码 交款人类型=2,填写值如：统一社会信用代码
        /// </summary>
        public string creditCode { get; set; }
        /// <summary>
        /// 收款人
        /// </summary>
        public string recer { get; set; }
        /// <summary>
        /// 学生姓名(缴款人)
        /// </summary>
        public string stuName { get; set; }
        /// <summary>
        /// 开票人
        /// </summary>
        public string @operator { get; set; }
        /// <summary>
        /// 合计金额
        /// </summary>
        public double totalAmt { get; set; }
        /// <summary>
        /// 收费项目明细
        /// </summary>
        public List<itemDetailClass> itemDetail { get; set; }

    }
    /// <summary>
    /// 收费项目明细
    /// </summary>
    public class itemDetailClass
    {
        /// <summary>
        /// 收费项目编码
        /// </summary>
        public string itemCode { get; set; }
        /// <summary>
        /// 收费项目名称
        /// </summary>
        public string itemName { get; set; }
        /// <summary>
        /// 数量
        /// </summary>
        public int count { get; set; }
        /// <summary>
        /// 收费标准
        /// </summary>
        public int standard { get; set; }
        /// <summary>
        /// 金额
        /// </summary>
        public double amt { get; set; }
    }

    /// <summary>
    /// 单张票据开具接口
    /// </summary>
    public class InvoiceEBillParam
    {
        public string reViewer;

        /// <summary>
        /// 业务种类 即分配的appid
        /// </summary>
        public string busType { get; set; }
        /// <summary>
        /// 业务单号   全局唯一，也叫业务流水号
        /// </summary>
        public string busNo { get; set; }
        /// <summary>
        /// 开票点编码
        /// </summary>
        public string placeCode { get; set; }
        /// <summary>
        /// 票据种类编码
        /// </summary>
        public string billCode { get; set; }
        /// <summary>
        /// 收费渠道
        /// 20	汇款，11	现金，10 	境外，22	网银，21	POS，23	微信支付，24	支付宝支付，25	易宝支付，26	生源地贷款，27	支票
        /// </summary>
        public string channel { get; set; }
        /// <summary>
        /// 交款人类型：1 个人 2 单位，默认为1
        /// </summary>
        public string payerType { get; set; }
        /// <summary>
        /// 收款人
        /// </summary>
        public string recer { get; set; }
        /// <summary>
        /// 开票日期 格式：yyyy-MM-dd
        /// </summary>
        public string ivcDate { get; set; }
        /// <summary>
        /// 学生姓名(缴款人)
        /// </summary>
        public string stuName { get; set; }
        /// <summary>
        /// 学生学号
        /// </summary>
        public string stuNo { get; set; }  
        /// <summary>
        /// 备注
        /// </summary>
        public string memo { get; set; }
        /// <summary>
        /// 开票人
        /// </summary>
        public string @operator { get; set; }
        /// <summary>
        /// 合计金额
        /// </summary>
        public double totalAmt { get; set; }
        /// <summary>
        /// 通知方式 0无需通知，1手机通知，2邮箱通知，3两者都通知
        /// </summary>
        public string noticeMode { get; set; }
        /// <summary>
        /// 收费项目明细
        /// </summary>
        public List<InvoiceEBillItem> itemDetail { get; set; }
    }
    /// <summary>
    /// 收费项目明细
    /// </summary>
    public class InvoiceEBillItem
    {
        /// <summary>
        /// 收费项目编码
        /// </summary>
        public string itemCode { get; set; }
        /// <summary>
        /// 收费项目名称
        /// </summary>
        public string itemName { get; set; }
        /// <summary>
        /// 数量
        /// </summary>
        public int count { get; set; }
        /// <summary>
        /// 收费标准
        /// </summary>
        public double standard { get; set; }
        /// <summary>
        /// 金额
        /// </summary>
        public double amt { get; set; }

    }






}