Esempio n. 1
0
        /// <summary>
        /// 获取订单
        /// </summary>
        /// <param name="search">发票设置必传参数,AppIds,UserId</param>
        /// <returns></returns>
        public ResultDTO <InvoiceSettingDTO> GetInvoiceSettingExt(Jinher.AMP.BTP.Deploy.CustomDTO.InvoiceSearchDTO search)
        {
            if (search == null || search.AppIds == null || !search.AppIds.Any() || search.UserId == Guid.Empty)
            {
                return new ResultDTO <InvoiceSettingDTO>()
                       {
                           ResultCode = 1, Message = "参数为空"
                       }
            }
            ;
            InvoiceSettingDTO resultDto = new InvoiceSettingDTO()
            {
            };
            var apps = AppExtension.ObjectSet()
                       .Where(c => search.AppIds.Contains(c.Id)).ToList();
            //.Select(a => new AppExtension
            //    {
            //        Id = a.Id,
            //        InvoiceValues = a.InvoiceValues,
            //        InvoiceDefault = a.InvoiceDefault
            //    }).ToList();
            AppExtension tempApp = new AppExtension()
            {
                InvoiceValues = 7, InvoiceDefault = 7
            };

            foreach (var appId in search.AppIds)
            {
                int appInvoiceValues = 1;

                int appInvoiceDefault = 1;
                var app = apps.FirstOrDefault(c => c.Id == appId);
                if (app != null)
                {
                    appInvoiceValues  = app.InvoiceValues;
                    appInvoiceDefault = app.InvoiceDefault;
                }
                tempApp.InvoiceValues  = tempApp.InvoiceValues & appInvoiceValues;
                tempApp.InvoiceDefault = tempApp.InvoiceDefault & appInvoiceDefault;
            }
            resultDto.InvoiceDefault      = (InvoiceCategoryEnum)tempApp.InvoiceDefault;
            resultDto.IsOrdinaryInvoice   = tempApp.IsOrdinaryInvoice();
            resultDto.IsElectronicInvoice = tempApp.IsElectronicInvoice();
            resultDto.IsVATInvoice        = tempApp.IsVATInvoice();
            resultDto.IsVatInvoiceProof   = VatInvoiceProof.ObjectSet().Count(c => c.Id == search.UserId) > 0;
            return(new ResultDTO <InvoiceSettingDTO> {
                Data = resultDto
            });
        }
Esempio n. 2
0
        /// <summary>
        /// 获取导出的电子发票的详细数据
        /// </summary>
        public List <ElectronicInvoiceDTO> GetInvoiceExportDetail(Jinher.AMP.BTP.Deploy.CustomDTO.InvoiceSearchDTO search)
        {
            //定义返回值
            List <ElectronicInvoiceDTO> result;

            try
            {
                //调用代理方法
                result = base.Channel.GetInvoiceExportDetail(search);
            }
            catch
            {
                //抛异常
                throw;
            }
            finally
            {
                //关链接
                ChannelClose();
            }            //返回结果
            return(result);
        }
Esempio n. 3
0
 /// <summary>
 /// 查询发票信息
 /// </summary>
 /// <param name="search">查询类</param>
 /// <returns>结果</returns>
 public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.CustomDTO.InvoiceResultDTO> GetInvoiceInfoList(Jinher.AMP.BTP.Deploy.CustomDTO.InvoiceSearchDTO search)
 {
     base.Do();
     return(this.Command.GetInvoiceInfoList(search));
 }
Esempio n. 4
0
 /// <summary>
 /// 获取导出的电子发票的详细数据
 /// </summary>
 public List <ElectronicInvoiceDTO> GetInvoiceExportDetail(Jinher.AMP.BTP.Deploy.CustomDTO.InvoiceSearchDTO search)
 {
     base.Do();
     return(this.Command.GetInvoiceExportDetail(search));
 }
Esempio n. 5
0
 /// <summary>
 /// 获取订单
 /// </summary>
 /// <param name="search">发票设置必传参数,AppIds,UserId</param>
 /// <returns></returns>
 public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.CustomDTO.InvoiceSettingDTO> GetInvoiceSetting(Jinher.AMP.BTP.Deploy.CustomDTO.InvoiceSearchDTO search)
 {
     base.Do();
     return(this.GetInvoiceSettingExt(search));
 }
Esempio n. 6
0
        public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.CustomDTO.InvoiceSettingDTO> GetInvoiceSetting(Jinher.AMP.BTP.Deploy.CustomDTO.InvoiceSearchDTO search)
        {
            //定义返回值
            Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.CustomDTO.InvoiceSettingDTO> result;
            int xx = 0;

            xx++;
            try
            {
                //调用代理方法
                result = base.Channel.GetInvoiceSetting(search);
            }
            catch
            {
                //抛异常
                throw;
            }
            finally
            {
                //关链接
                ChannelClose();
            }            //返回结果
            return(result);
        }
Esempio n. 7
0
        /// <summary>
        /// 获取导出的电子发票的详细数据
        /// </summary>
        public List <ElectronicInvoiceDTO> GetInvoiceExportDetailExt(Jinher.AMP.BTP.Deploy.CustomDTO.InvoiceSearchDTO search)
        {
            var query = from t1 in Invoice.ObjectSet()
                        join t2 in CommodityOrder.ObjectSet()
                        on t1.CommodityOrderId equals t2.Id
                        join dataS in CommodityOrderService.ObjectSet()
                        on t1.CommodityOrderId equals dataS.Id
                        into tempS
                        from tbS in tempS.DefaultIfEmpty()
                        where t2.AppId == search.AppId && t2.State > 0 && t1.State > 0 && t2.State != 16 && t2.State != 17 && t2.IsDel != 2 && t2.IsDel != 3
                        select new
            {
                t1,
                t2.Id,
                CommodityOrder = new InvoiceCommodityOrderInfo()
                {
                    State           = t2.State,
                    Code            = t2.Code,
                    PaymentTime     = t2.PaymentTime.Value,
                    ReceiptUserName = t2.ReceiptUserName,
                    ReceiptPhone    = t2.ReceiptPhone,
                    ReceiptAddress  = t2.ReceiptAddress,
                    RealPrice       = t2.RealPrice.Value,
                    Payment         = t2.Payment,
                    GoldPrice       = t2.GoldPrice,
                    GoldCoupon      = t2.GoldCoupon,
                    Province        = t2.Province,
                    City            = t2.City,
                    District        = t2.District,
                    StateAfterSales = tbS.State == null ? -1 : tbS.State,
                    SelfTakeFlag    = t2.SelfTakeFlag
                },
                model = new ElectronicInvoiceDTO()
                {
                    AppId          = t2.AppId,
                    Code           = t2.Code,
                    ReceiptEmail   = t1.ReceiptEmail,
                    ReceiptPhone   = t1.ReceiptPhone,
                    InvoiceTitle   = t1.InvoiceTitle,
                    BuyerCode      = t1.Code,
                    ReceiptAddress = (t2.Province + t2.City + t2.District + t2.ReceiptAddress),
                    RealPrice      = t2.RealPrice,
                    Freight        = t2.Freight
                }
            };

            if (search.Category > -1)
            {
                query = query.Where(p => p.t1.Category == search.Category);
            }
            if (search.State > -1)
            {
                query = query.Where(p => p.t1.State == search.State);
            }
            if (!string.IsNullOrWhiteSpace(search.CommodityOrderState) && search.CommodityOrderState != "null" && search.CommodityOrderState != "-1")
            {
                if (search.CommodityOrderState.Contains(","))
                {
                    if (search.CommodityOrderState == "8,9,10,12,14")   //退款中
                    {
                        List <int> beforeState = new List <int>()
                        {
                            8, 9, 10, 12, 14
                        };
                        List <int> afterState = new List <int>()
                        {
                            5, 10, 12
                        };
                        query = query.Where(p => beforeState.Contains(p.CommodityOrder.State) || afterState.Contains(p.CommodityOrder.StateAfterSales));
                    }
                    else
                    {
                        int[] arrystate = Array.ConvertAll <string, int>(search.CommodityOrderState.Split(','), s => int.Parse(s));

                        //等发货且自提
                        if (arrystate.Contains(1) && arrystate.Contains(99))
                        {
                            int[] exceptTmp    = new int[] { 99 };
                            int[] arrystateTmp = arrystate.Except(exceptTmp).ToArray();
                            query = query.Where(a => arrystateTmp.Contains(a.CommodityOrder.State));
                        }
                        else if (arrystate.Contains(1))
                        {
                            if (arrystate.Contains(11))
                            {
                                int[] exceptTmp    = new int[] { 1, 11 };
                                int[] arrystateTmp = arrystate.Except(exceptTmp).ToArray();
                                query = query.Where(a => arrystateTmp.Contains(a.CommodityOrder.State) || ((a.CommodityOrder.State == 1 || a.CommodityOrder.State == 11) && a.CommodityOrder.SelfTakeFlag == 0));
                            }
                            else
                            {
                                int[] exceptTmp    = new int[] { 1 };
                                int[] arrystateTmp = arrystate.Except(exceptTmp).ToArray();
                                query = query.Where(a => arrystateTmp.Contains(a.CommodityOrder.State) || (a.CommodityOrder.State == 1 && a.CommodityOrder.SelfTakeFlag == 0));
                            }
                        }
                        else if (arrystate.Contains(99))
                        {
                            int[] exceptTmp    = new int[] { 99 };
                            int[] arrystateTmp = arrystate.Except(exceptTmp).ToArray();
                            query = query.Where(a => arrystateTmp.Contains(a.CommodityOrder.State) || ((a.CommodityOrder.State == 1 || a.CommodityOrder.State == 11) && a.CommodityOrder.SelfTakeFlag == 1));
                        }
                        else
                        {
                            query = query.Where(a => arrystate.Contains(a.CommodityOrder.State));
                        }
                    }
                }
                else
                {
                    if (search.CommodityOrderState != "-1" && search.CommodityOrderState != null && search.CommodityOrderState != "")
                    {
                        int _state = int.Parse(search.CommodityOrderState);
                        //待发货的
                        if (_state == 1)
                        {
                            query = query.Where(n => n.CommodityOrder.State == _state && n.CommodityOrder.SelfTakeFlag == 0);
                        }
                        //待自提的
                        else if (_state == 99)
                        {
                            query = query.Where(n => (n.CommodityOrder.State == 1 || n.CommodityOrder.State == 11) && n.CommodityOrder.SelfTakeFlag == 1);
                        }
                        else if (search.CommodityOrderState == "3") //交易成功
                        {
                            query = query.Where(n => n.CommodityOrder.State == 3 && (n.CommodityOrder.StateAfterSales == 3 || n.CommodityOrder.StateAfterSales == 15 || n.CommodityOrder.StateAfterSales == -1));
                        }
                        else if (search.CommodityOrderState == "7")
                        {
                            query = query.Where(n => n.CommodityOrder.State == 7 || n.CommodityOrder.StateAfterSales == 7);
                        }
                        else
                        {
                            query = query.Where(n => n.CommodityOrder.State == _state);
                        }
                    }
                }
            }
            if (!string.IsNullOrWhiteSpace(search.SeacrhContent))
            {
                query = query.Where(p => (p.CommodityOrder.Code.Contains(search.SeacrhContent) || p.CommodityOrder.ReceiptPhone.Contains(search.SeacrhContent) || p.CommodityOrder.ReceiptUserName.Contains(search.SeacrhContent) || p.t1.InvoiceTitle.Contains(search.SeacrhContent)));
            }
            List <ElectronicInvoiceDTO> objlist = new List <ElectronicInvoiceDTO>();

            foreach (var item in query)
            {
                var serarch = from t1 in OrderItem.ObjectSet()
                              join t2 in Commodity.ObjectSet()
                              on t1.CommodityId equals t2.Id
                              where (t1.CommodityOrderId == item.Id)
                              select new {
                    t1.RealPrice,
                    t1.Name,
                    t1.Number,
                    t2.TaxClassCode,
                    t2.No_Code,
                    t2.CostPrice,
                    t2.TaxRate,
                    t2.InputRax
                };

                ElectronicInvoiceDTO model = new ElectronicInvoiceDTO();
                if (!string.IsNullOrEmpty(item.model.Code))
                {
                    model.Code = "jh" + item.model.Code;
                }
                else
                {
                    model.Code = null;
                }
                model.AppId               = item.model.AppId;
                model.ReceiptEmail        = item.model.ReceiptEmail;
                model.ReceiptPhone        = item.model.ReceiptPhone;
                model.InvoiceTitle        = item.model.InvoiceTitle;
                model.BuyerCode           = item.model.BuyerCode;
                model.ReceiptAddress      = item.model.ReceiptAddress;
                model.BuyerPhone          = item.model.BuyerPhone;
                model.BuyerBankNumber     = item.model.BuyerBankNumber;
                model.Specifications      = item.model.Specifications;
                model.ProjectUnit         = item.model.ProjectUnit;
                model.TallageMark         = 1;    //含税标志固定为1
                model.RealPrice           = item.model.RealPrice;
                model.TaxRate             = 0.16; //税率固定为0.17
                model.Remark              = item.model.Remark;
                model.InvoicelineProperty = 0;    //发票行性质国定为0
                model.PolicyMark          = 0;    //优惠政策国定为0
                model.ZeroTaxRateMark     = item.model.ZeroTaxRateMark;
                model.SpecialParticular   = item.model.SpecialParticular;
                model.Freight             = item.model.Freight;
                if (serarch.Count() > 0)
                {
                    List <SmallInvoiceDTO> objInvoice = new List <SmallInvoiceDTO>();
                    foreach (var _item in serarch.ToList())
                    {
                        SmallInvoiceDTO entity = new SmallInvoiceDTO();
                        entity.Price        = _item.RealPrice;
                        entity.Name         = _item.Name;
                        entity.Number       = _item.Number;
                        entity.TaxClassCode = _item.TaxClassCode;
                        //如果商品编号不为空截取0前面的数据
                        if (!string.IsNullOrWhiteSpace(_item.TaxClassCode))
                        {
                            entity.No_Code = _item.TaxClassCode.TrimEnd(new char[] { '0' });
                        }
                        if (string.IsNullOrWhiteSpace(_item.CostPrice.ToString()))
                        {
                            entity.CostPrice = 0;
                            entity.TaxRate   = _item.TaxRate;
                        }
                        else
                        {
                            entity.CostPrice = _item.CostPrice;
                        }
                        objInvoice.Add(entity);
                    }
                    model.SmallInvoice = objInvoice;
                }
                objlist.Add(model);
            }
            return(objlist);
        }
Esempio n. 8
0
        /// <summary>
        /// 查询发票信息
        /// </summary>
        /// <param name="search">查询类</param>
        /// <returns>结果</returns>
        public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.CustomDTO.InvoiceResultDTO> GetInvoiceInfoListExt(Jinher.AMP.BTP.Deploy.CustomDTO.InvoiceSearchDTO search)
        {
            if (search == null || search.AppId == Guid.Empty || search.PageIndex < 0 || search.PageSize < 0)
            {
                return(new ResultDTO <InvoiceResultDTO>()
                {
                    ResultCode = 1, Message = "参数不能为空"
                });
            }
            var result = new ResultDTO <InvoiceResultDTO>();

            result.Data = new InvoiceResultDTO();

            var query = from invoice in Invoice.ObjectSet()
                        join commodityOrder in CommodityOrder.ObjectSet()
                        on invoice.CommodityOrderId equals commodityOrder.Id
                        join dataS in CommodityOrderService.ObjectSet()
                        on invoice.CommodityOrderId equals dataS.Id
                        into tempS
                        from tbS in tempS.DefaultIfEmpty()
                        where commodityOrder.AppId == search.AppId && commodityOrder.State > 0 && invoice.State > 0 && commodityOrder.State != 16 && commodityOrder.State != 17 && commodityOrder.IsDel != 2 && commodityOrder.IsDel != 3
                        select new
            {
                Invoice        = invoice,
                CommodityOrder = new InvoiceCommodityOrderInfo()
                {
                    State           = commodityOrder.State,
                    Code            = commodityOrder.Code,
                    PaymentTime     = commodityOrder.PaymentTime.Value,
                    ReceiptUserName = commodityOrder.ReceiptUserName,
                    ReceiptPhone    = commodityOrder.ReceiptPhone,
                    ReceiptAddress  = commodityOrder.ReceiptAddress,
                    RealPrice       = commodityOrder.RealPrice.Value,
                    Payment         = commodityOrder.Payment,
                    GoldPrice       = commodityOrder.GoldPrice,
                    GoldCoupon      = commodityOrder.GoldCoupon,
                    Province        = commodityOrder.Province,
                    City            = commodityOrder.City,
                    District        = commodityOrder.District,
                    StateAfterSales = tbS.State == null ? -1 : tbS.State,
                    SelfTakeFlag    = commodityOrder.SelfTakeFlag
                }
            };

            if (search.Category > -1)
            {
                query = query.Where(t => t.Invoice.Category == search.Category);
            }
            if (search.State > -1)
            {
                query = query.Where(t => t.Invoice.State == search.State);
            }
            if (!string.IsNullOrWhiteSpace(search.CommodityOrderState) && search.CommodityOrderState != "null" && search.CommodityOrderState != "-1")
            {
                if (search.CommodityOrderState.Contains(","))
                {
                    if (search.CommodityOrderState == "8,9,10,12,14")   //退款中
                    {
                        List <int> beforeState = new List <int>()
                        {
                            8, 9, 10, 12, 14
                        };
                        List <int> afterState = new List <int>()
                        {
                            5, 10, 12
                        };
                        query = query.Where(n => beforeState.Contains(n.CommodityOrder.State) || afterState.Contains(n.CommodityOrder.StateAfterSales));
                    }
                    else
                    {
                        int[] arrystate = Array.ConvertAll <string, int>(search.CommodityOrderState.Split(','), s => int.Parse(s));

                        //等发货且自提
                        if (arrystate.Contains(1) && arrystate.Contains(99))
                        {
                            int[] exceptTmp    = new int[] { 99 };
                            int[] arrystateTmp = arrystate.Except(exceptTmp).ToArray();
                            query = query.Where(a => arrystateTmp.Contains(a.CommodityOrder.State));
                        }
                        else if (arrystate.Contains(1))
                        {
                            if (arrystate.Contains(11))
                            {
                                int[] exceptTmp    = new int[] { 1, 11 };
                                int[] arrystateTmp = arrystate.Except(exceptTmp).ToArray();
                                query = query.Where(a => arrystateTmp.Contains(a.CommodityOrder.State) || ((a.CommodityOrder.State == 1 || a.CommodityOrder.State == 11) && a.CommodityOrder.SelfTakeFlag == 0));
                            }
                            else
                            {
                                int[] exceptTmp    = new int[] { 1 };
                                int[] arrystateTmp = arrystate.Except(exceptTmp).ToArray();
                                query = query.Where(a => arrystateTmp.Contains(a.CommodityOrder.State) || (a.CommodityOrder.State == 1 && a.CommodityOrder.SelfTakeFlag == 0));
                            }
                        }
                        else if (arrystate.Contains(99))
                        {
                            int[] exceptTmp    = new int[] { 99 };
                            int[] arrystateTmp = arrystate.Except(exceptTmp).ToArray();
                            query = query.Where(a => arrystateTmp.Contains(a.CommodityOrder.State) || ((a.CommodityOrder.State == 1 || a.CommodityOrder.State == 11) && a.CommodityOrder.SelfTakeFlag == 1));
                        }
                        else
                        {
                            query = query.Where(a => arrystate.Contains(a.CommodityOrder.State));
                        }
                    }
                }
                else
                {
                    if (search.CommodityOrderState != "-1" && search.CommodityOrderState != null && search.CommodityOrderState != "")
                    {
                        int _state = int.Parse(search.CommodityOrderState);
                        //待发货的
                        if (_state == 1)
                        {
                            query = query.Where(n => n.CommodityOrder.State == _state && n.CommodityOrder.SelfTakeFlag == 0);
                        }
                        //待自提的
                        else if (_state == 99)
                        {
                            query = query.Where(n => (n.CommodityOrder.State == 1 || n.CommodityOrder.State == 11) && n.CommodityOrder.SelfTakeFlag == 1);
                        }
                        else if (search.CommodityOrderState == "3") //交易成功
                        {
                            query = query.Where(n => n.CommodityOrder.State == 3 && (n.CommodityOrder.StateAfterSales == 3 || n.CommodityOrder.StateAfterSales == 15 || n.CommodityOrder.StateAfterSales == -1));
                        }
                        else if (search.CommodityOrderState == "7")
                        {
                            query = query.Where(n => n.CommodityOrder.State == 7 || n.CommodityOrder.StateAfterSales == 7);
                        }
                        else
                        {
                            query = query.Where(n => n.CommodityOrder.State == _state);
                        }
                        //countquery = countquery.Where(n => n.State == _state);
                    }
                }
            }
            if (!string.IsNullOrWhiteSpace(search.SeacrhContent))
            {
                //if (System.Text.RegularExpressions.Regex.IsMatch(search.SeacrhContent, "^[0-9]+$"))
                //{
                //    if (search.SeacrhContent.Length>11)
                //    {
                //        query = query.Where(p => p.CommodityOrder.Code.Contains(search.SeacrhContent));
                //    }
                //    else
                //    {
                //        query = query.Where(p => p.CommodityOrder.ReceiptPhone.Contains(search.SeacrhContent));
                //    }
                //}
                //else
                //{
                //    query = query.Where(p => p.CommodityOrder.ReceiptUserName.Contains(search.SeacrhContent));
                //}
                query = query.Where(p => (p.CommodityOrder.Code.Contains(search.SeacrhContent) || p.CommodityOrder.ReceiptPhone.Contains(search.SeacrhContent) || p.CommodityOrder.ReceiptUserName.Contains(search.SeacrhContent) || p.Invoice.InvoiceTitle.Contains(search.SeacrhContent)));
            }
            result.Data.Count = query.Count();
            var searchResult = query.OrderByDescending(n => n.CommodityOrder.PaymentTime).Skip((search.PageIndex - 1) * search.PageSize).Take(search.PageSize).ToList();

            //地址附值
            if (searchResult.Any())
            {
                foreach (var item in searchResult)
                {
                    item.CommodityOrder.Address = string.Format("{0}{1}{2}{3}", item.CommodityOrder.Province, item.CommodityOrder.City, item.CommodityOrder.District, item.CommodityOrder.ReceiptAddress);
                }
            }
            //由于优惠券与积分存在另一表,所以单独取
            if (searchResult.Any())
            {
                var orderIds = searchResult.Select(t => t.Invoice.CommodityOrderId).ToList();
                //优惠券与花费积分抵现金额 CouponValue SpendScoreCost
                var orderPayDetail = OrderPayDetail.ObjectSet().Where(t => orderIds.Contains(t.OrderId)).ToList();
                if (orderPayDetail.Count > 0)
                {
                    foreach (var item in searchResult)
                    {
                        var couponValue = orderPayDetail.Where(t => t.OrderId == item.Invoice.CommodityOrderId && t.ObjectType == 1).Select(t => t.Amount).FirstOrDefault();
                        item.CommodityOrder.CouponValue = couponValue;
                        var spendScoreMoney = orderPayDetail.Where(t => t.OrderId == item.Invoice.CommodityOrderId && t.ObjectType == 2).Select(t => t.Amount).FirstOrDefault();
                        item.CommodityOrder.SpendScoreMoney = spendScoreMoney;
                    }
                }
            }
            result.Data.InvoiceInfoList = new List <InvoiceInfoDTO>();
            foreach (var item in searchResult)
            {
                InvoiceInfoDTO model = new InvoiceInfoDTO();
                model.Id = item.Invoice.Id;
                model.CommodityOrderId = item.Invoice.CommodityOrderId;
                model.InvoiceTitle     = item.Invoice.InvoiceTitle;
                model.InvoiceContent   = item.Invoice.InvoiceContent;
                model.InvoiceType      = item.Invoice.InvoiceType;
                model.SubTime          = item.Invoice.SubTime;
                model.ModifiedOn       = item.Invoice.ModifiedOn;
                model.ReceiptPhone     = item.Invoice.ReceiptPhone;
                model.ReceiptEmail     = item.Invoice.ReceiptEmail;
                model.State            = item.Invoice.State;
                model.Remark           = item.Invoice.Remark;
                model.Category         = item.Invoice.Category;
                model.SubId            = item.Invoice.SubId;
                model.Code             = item.Invoice.Code;

                InvoiceCommodityOrderInfo orderInfo = new InvoiceCommodityOrderInfo();
                orderInfo.Code            = item.CommodityOrder.Code;
                orderInfo.Payment         = item.CommodityOrder.Payment;
                orderInfo.CouponValue     = item.CommodityOrder.CouponValue;
                orderInfo.GoldPrice       = item.CommodityOrder.GoldPrice;
                orderInfo.GoldCoupon      = item.CommodityOrder.GoldCoupon;
                orderInfo.PaymentTime     = item.CommodityOrder.PaymentTime;
                orderInfo.RealPrice       = item.CommodityOrder.RealPrice;
                orderInfo.ReceiptAddress  = item.CommodityOrder.ReceiptAddress;
                orderInfo.ReceiptPhone    = item.CommodityOrder.ReceiptPhone;
                orderInfo.ReceiptUserName = item.CommodityOrder.ReceiptUserName;
                orderInfo.Province        = item.CommodityOrder.Province;
                orderInfo.City            = item.CommodityOrder.City;
                orderInfo.District        = item.CommodityOrder.District;
                orderInfo.Address         = item.CommodityOrder.Address;
                orderInfo.State           = item.CommodityOrder.State;
                orderInfo.StateAfterSales = item.CommodityOrder.StateAfterSales;
                orderInfo.SelfTakeFlag    = item.CommodityOrder.SelfTakeFlag;

                model.commodityOrderInfo = orderInfo;
                result.Data.InvoiceInfoList.Add(model);
            }
            result.ResultCode = 0;
            result.Message    = "Success";
            return(result);
        }