예제 #1
0
        public CustomJsonResult GetList(SearchCondition condition)
        {
            string clientCode = condition.ClientCode.ToSearchString();
            string yYZZ_Name  = condition.YYZZ_Name.ToSearchString();
            string sn         = condition.Sn.ToSearchString();


            Enumeration.OrderStatus status = condition.Status;

            var query = (from o in CurrentDb.Order
                         join m in CurrentDb.Merchant on o.MerchantId equals m.Id
                         where o.PId == null
                         &&
                         (clientCode.Length == 0 || m.ClientCode.Contains(clientCode)) &&
                         (yYZZ_Name.Length == 0 || m.YYZZ_Name.Contains(yYZZ_Name)) &&
                         (sn.Length == 0 || o.Sn.Contains(sn))


                         select new { o.Id, m.ClientCode, m.YYZZ_Name, o.Sn, o.Type, o.TypeName, o.Price, o.Status, o.Remarks, o.SubmitTime, o.CompleteTime, o.CancleTime, o.FollowStatus, o.ContactPhoneNumber, o.Contact }
                         );


            if (status != Enumeration.OrderStatus.Unknow)
            {
                //&& (((int)m.ProductType).ToString().StartsWith("201"))
                query = query.Where(m => m.Status == status);
            }

            int total = query.Count();

            int pageIndex = condition.PageIndex;
            int pageSize  = 10;

            query = query.OrderByDescending(r => r.SubmitTime).Skip(pageSize * (pageIndex)).Take(pageSize);

            List <object> list = new List <object>();

            foreach (var item in query)
            {
                list.Add(new
                {
                    item.Id,
                    item.ClientCode,
                    item.Sn,
                    item.YYZZ_Name,
                    item.ContactPhoneNumber,
                    item.TypeName,
                    item.Type,
                    item.SubmitTime,
                    Status = item.Status.GetCnName()
                });
            }


            PageEntity pageEntity = new PageEntity {
                PageSize = pageSize, TotalRecord = total, Rows = list
            };

            return(Json(ResultType.Success, pageEntity, ""));
        }
예제 #2
0
        public ViewResult List(Enumeration.OrderStatus status)
        {
            ListViewModel model = new ListViewModel();

            model.Status = status;
            return(View(model));
        }
예제 #3
0
        public CustomJsonResult GetPayTransList(SearchCondition condition)
        {
            string clientCode = condition.ClientCode.ToSearchString();
            string yYZZ_Name  = condition.YYZZ_Name.ToSearchString();
            string sn         = condition.Sn.ToSearchString();


            Enumeration.OrderStatus status = condition.Status;

            var query = (from o in CurrentDb.OrderPayTrans

                         where o.OrderId == condition.OrderId
                         &&
                         (condition.Sn == null || o.Sn.Contains(condition.Sn))
                         select new { o.Id, o.Sn, o.OrderSn, o.Amount, o.TransType, o.CreateTime }
                         );

            int total = query.Count();

            int pageIndex = condition.PageIndex;
            int pageSize  = 10;

            query = query.OrderByDescending(r => r.CreateTime).Skip(pageSize * (pageIndex)).Take(pageSize);

            List <object> list = new List <object>();

            foreach (var item in query)
            {
                list.Add(new
                {
                    item.Id,
                    item.Sn,
                    item.OrderSn,
                    item.Amount,
                    item.TransType,
                    item.CreateTime
                });
            }


            PageEntity pageEntity = new PageEntity {
                PageSize = pageSize, TotalRecord = total, Rows = list
            };

            return(Json(ResultType.Success, pageEntity, ""));
        }
예제 #4
0
        public APIResponse GetList(int userId, int merchantId, int pageIndex, Enumeration.OrderStatus status)
        {
            var order = (from o in CurrentDb.Order
                         where o.MerchantId == merchantId

                         select new { o.Id, o.Sn, o.ProductType, o.Price, o.Status, o.Remarks, o.SubmitTime, o.CompleteTime, o.CancleTime, o.FollowStatus }
                         );

            if (status != Enumeration.OrderStatus.Unknow)
            {
                order = order.Where(m => m.Status == status && (((int)m.ProductType).ToString().StartsWith("201")));
            }

            int pageSize = 10;

            order = order.OrderByDescending(r => r.SubmitTime).Skip(pageSize * (pageIndex)).Take(pageSize);



            var orderlist           = order.ToList();
            List <OrderModel> model = new List <OrderModel>();

            foreach (var m in orderlist)
            {
                OrderModel orderModel = new OrderModel();
                orderModel.Id          = m.Id;
                orderModel.Sn          = m.Sn;
                orderModel.Product     = m.ProductType.GetCnName();
                orderModel.ProductType = m.ProductType;
                orderModel.Status      = m.Status;
                orderModel.Price       = m.Price;
                switch (m.Status)
                {
                case Enumeration.OrderStatus.Submitted:
                    #region 已提交
                    orderModel.Remarks    = m.SubmitTime.ToUnifiedFormatDateTime(); //备注提交时间
                    orderModel.StatusName = "已提交";

                    switch (m.ProductType)
                    {
                    case Enumeration.ProductType.InsureForCarForInsure:
                    case Enumeration.ProductType.InsureForCarForRenewal:

                        var orderToCarInsure = CurrentDb.OrderToCarInsure.Where(c => c.Id == m.Id).FirstOrDefault();
                        orderModel.OrderField.Add(new OrderField("车主姓名", orderToCarInsure.CarOwner.NullToEmpty()));
                        orderModel.OrderField.Add(new OrderField("身份证号码", orderToCarInsure.CarOwnerIdNumber.NullToEmpty()));
                        orderModel.OrderField.Add(new OrderField("车牌号码", orderToCarInsure.CarPlateNo.NullToEmpty()));
                        orderModel.OrderField.Add(new OrderField("状态", "请稍侯,报价中"));

                        break;

                    case Enumeration.ProductType.InsureForCarForClaim:

                        var orderToCarClaim = CurrentDb.OrderToCarClaim.Where(c => c.Id == m.Id).FirstOrDefault();
                        orderModel.OrderField.Add(new OrderField("保险公司", orderToCarClaim.InsuranceCompanyName.NullToEmpty()));
                        orderModel.OrderField.Add(new OrderField("车牌号码", orderToCarClaim.CarPlateNo.NullToEmpty()));
                        orderModel.OrderField.Add(new OrderField("对接人", string.Format("{0},{1}", orderToCarClaim.HandPerson.NullToEmpty(), orderToCarClaim.HandPersonPhone.NullToEmpty())));
                        orderModel.OrderField.Add(new OrderField("状态", "请稍侯,理赔呼叫中"));
                        break;
                    }
                    #endregion
                    break;

                case Enumeration.OrderStatus.Follow:
                    orderModel.Remarks      = m.Remarks;//备注 订单备注
                    orderModel.StatusName   = "跟进中";
                    orderModel.FollowStatus = m.FollowStatus;
                    switch (m.ProductType)
                    {
                    case Enumeration.ProductType.InsureForCarForInsure:

                        var orderToCarInsure = CurrentDb.OrderToCarInsure.Where(c => c.Id == m.Id).FirstOrDefault();
                        orderModel.OrderField.Add(new OrderField("车主姓名", orderToCarInsure.CarOwner.NullToEmpty()));
                        orderModel.OrderField.Add(new OrderField("车牌号码", orderToCarInsure.CarPlateNo.NullToEmpty()));

                        var orderToCarInsureOfferCompany = CurrentDb.OrderToCarInsureOfferCompany.Where(c => c.OrderId == m.Id).ToList();
                        foreach (var c in orderToCarInsureOfferCompany)
                        {
                            orderModel.OrderField.Add(new OrderField(c.InsuranceCompanyName, string.Format("{0}元", c.InsureTotalPrice.ToF2Price())));
                        }

                        break;

                    case Enumeration.ProductType.InsureForCarForRenewal:

                        var orderToCarRenewal = CurrentDb.OrderToCarInsure.Where(c => c.Id == m.Id).FirstOrDefault();



                        orderModel.OrderField.Add(new OrderField("车主姓名", orderToCarRenewal.CarOwner.NullToEmpty()));
                        orderModel.OrderField.Add(new OrderField("车牌号码", orderToCarRenewal.CarPlateNo.NullToEmpty()));

                        var orderToCarRenewalOfferCompany = CurrentDb.OrderToCarInsureOfferCompany.Where(c => c.OrderId == m.Id).ToList();
                        foreach (var c in orderToCarRenewalOfferCompany)
                        {
                            orderModel.OrderField.Add(new OrderField(c.InsuranceCompanyName, string.Format("{0}元", c.InsureTotalPrice.ToF2Price())));
                        }

                        break;

                    case Enumeration.ProductType.InsureForCarForClaim:

                        var orderToCarClaim = CurrentDb.OrderToCarClaim.Where(c => c.Id == m.Id).FirstOrDefault();
                        orderModel.OrderField.Add(new OrderField("保险公司", orderToCarClaim.InsuranceCompanyName.NullToEmpty()));
                        orderModel.OrderField.Add(new OrderField("车牌号码", orderToCarClaim.CarPlateNo.NullToEmpty()));

                        var merchant = CurrentDb.Merchant.Where(q => q.Id == orderToCarClaim.HandMerchantId).FirstOrDefault();
                        if (orderToCarClaim.HandMerchantType == Enumeration.MerchantType.CarRepair)
                        {
                            orderModel.OrderField.Add(new OrderField("对接维修厂", merchant.YYZZ_Name.NullToEmpty()));
                        }
                        else
                        {
                            orderModel.OrderField.Add(new OrderField("对接商户", merchant.YYZZ_Name.NullToEmpty()));
                        }

                        orderModel.OrderField.Add(new OrderField("进度", ((Enumeration.OrderToCarClaimFollowStatus)orderToCarClaim.FollowStatus).GetCnName()));
                        break;
                    }


                    break;

                case Enumeration.OrderStatus.WaitPay:
                    switch (m.ProductType)
                    {
                    case Enumeration.ProductType.InsureForCarForInsure:
                        orderModel.Remarks = "";

                        var orderToCarInsure = CurrentDb.OrderToCarInsure.Where(c => c.Id == m.Id).FirstOrDefault();
                        orderModel.OrderField.Add(new OrderField("车主姓名", orderToCarInsure.CarOwner.NullToEmpty()));
                        orderModel.OrderField.Add(new OrderField("车牌号码", orderToCarInsure.CarPlateNo.NullToEmpty()));

                        var orderToCarInsureOfferCompany = CurrentDb.OrderToCarInsureOfferCompany.Where(c => c.OrderId == m.Id).ToList();
                        foreach (var c in orderToCarInsureOfferCompany)
                        {
                            orderModel.OrderField.Add(new OrderField(c.InsuranceCompanyName, string.Format("{0}元", c.InsureTotalPrice.ToF2Price())));
                        }

                        break;

                    case Enumeration.ProductType.InsureForCarForRenewal:
                        orderModel.Remarks = string.Format("合计:{0}", m.Price.ToPrice());        //续保 保单金额

                        var orderToCarRenewal = CurrentDb.OrderToCarInsure.Where(c => c.Id == m.Id).FirstOrDefault();
                        orderModel.OrderField.Add(new OrderField("车主姓名", orderToCarRenewal.CarOwner.NullToEmpty()));
                        orderModel.OrderField.Add(new OrderField("车牌号码", orderToCarRenewal.CarPlateNo.NullToEmpty()));

                        var orderToCarRenewalOfferCompany = CurrentDb.OrderToCarInsureOfferCompany.Where(c => c.OrderId == m.Id).ToList();
                        foreach (var c in orderToCarRenewalOfferCompany)
                        {
                            orderModel.OrderField.Add(new OrderField(c.InsuranceCompanyName, string.Format("{0}元", c.InsureTotalPrice.ToF2Price())));
                        }

                        break;

                    case Enumeration.ProductType.InsureForCarForClaim:
                        orderModel.Remarks = string.Format("应付金额:{0}元", m.Price.ToF2Price());        //理赔 理赔金额

                        var orderToCarClaim = CurrentDb.OrderToCarClaim.Where(c => c.Id == m.Id).FirstOrDefault();
                        orderModel.OrderField.Add(new OrderField("保险公司", orderToCarClaim.InsuranceCompanyName.NullToEmpty()));
                        orderModel.OrderField.Add(new OrderField("车牌号码", orderToCarClaim.CarPlateNo.NullToEmpty()));
                        orderModel.OrderField.Add(new OrderField("对接人", string.Format("{0},{1}", orderToCarClaim.HandPerson.NullToEmpty(), orderToCarClaim.HandPersonPhone.NullToEmpty())));
                        orderModel.OrderField.Add(new OrderField("定损单总价", string.Format("{0}元", orderToCarClaim.EstimatePrice.ToF2Price())));

                        break;
                    }
                    orderModel.StatusName = "待支付";
                    break;

                case Enumeration.OrderStatus.Completed:
                    orderModel.Remarks    = m.CompleteTime.ToUnifiedFormatDateTime(); //备注完成时间
                    orderModel.StatusName = "已完成";

                    switch (m.ProductType)
                    {
                    case Enumeration.ProductType.InsureForCarForInsure:


                        var orderToCarInsure = CurrentDb.OrderToCarInsure.Where(c => c.Id == m.Id).FirstOrDefault();
                        orderModel.OrderField.Add(new OrderField("车主姓名", orderToCarInsure.CarOwner.NullToEmpty()));
                        orderModel.OrderField.Add(new OrderField("身份证号码", orderToCarInsure.CarOwnerIdNumber.NullToEmpty()));
                        orderModel.OrderField.Add(new OrderField("车牌号码", orderToCarInsure.CarPlateNo.NullToEmpty()));
                        orderModel.OrderField.Add(new OrderField(orderToCarInsure.InsuranceCompanyName, string.Format("{0}元", orderToCarInsure.Price.ToF2Price())));


                        break;

                    case Enumeration.ProductType.InsureForCarForRenewal:
                        orderModel.Remarks = string.Format("合计:{0}", m.Price);        //续保 保单金额

                        var orderToCarRenewal = CurrentDb.OrderToCarInsure.Where(c => c.Id == m.Id).FirstOrDefault();
                        orderModel.OrderField.Add(new OrderField("车主姓名", orderToCarRenewal.CarOwner.NullToEmpty()));
                        orderModel.OrderField.Add(new OrderField("身份证号码", orderToCarRenewal.CarOwnerIdNumber.NullToEmpty()));
                        orderModel.OrderField.Add(new OrderField("车牌号码", orderToCarRenewal.CarPlateNo.NullToEmpty()));
                        orderModel.OrderField.Add(new OrderField(orderToCarRenewal.InsuranceCompanyName, string.Format("{0}元", orderToCarRenewal.Price.ToF2Price())));


                        break;

                    case Enumeration.ProductType.InsureForCarForClaim:
                        orderModel.Remarks = string.Format("合计:{0}", m.Price);        //理赔 理赔金额

                        var orderToCarClaim = CurrentDb.OrderToCarClaim.Where(c => c.Id == m.Id).FirstOrDefault();

                        orderModel.OrderField.Add(new OrderField("车牌号码", orderToCarClaim.CarPlateNo.NullToEmpty()));
                        orderModel.OrderField.Add(new OrderField("工时费", orderToCarClaim.WorkingHoursPrice.ToF2Price()));
                        orderModel.OrderField.Add(new OrderField("配件费", orderToCarClaim.AccessoriesPrice.ToF2Price()));
                        orderModel.OrderField.Add(new OrderField("合计", orderToCarClaim.Price.ToF2Price()));

                        break;
                    }

                    break;

                case Enumeration.OrderStatus.Cancled:
                    orderModel.Remarks    = m.CancleTime.ToUnifiedFormatDateTime(); //备注完成时间
                    orderModel.StatusName = "已取消";

                    orderModel.OrderField.Add(new OrderField(m.Remarks, ""));

                    break;
                }


                model.Add(orderModel);
            }



            APIResult result = new APIResult()
            {
                Result = ResultType.Success, Code = ResultCode.Success, Message = "", Data = model
            };

            return(new APIResponse(result));
        }