Ejemplo n.º 1
0
 /// <summary>
 /// 保存表单(新增、修改)
 /// </summary>
 /// <param name="keyValue">主键值</param>
 /// <param name="entity">实体对象</param>
 /// <returns></returns>
 public void SaveForm(string keyValue, Client_OrderDescriptionEntity entity)
 {
     try
     {
         service.SaveForm(keyValue, entity);
     }
     catch (Exception)
     {
         throw;
     }
 }
Ejemplo n.º 2
0
 public ActionResult SaveForm(string keyValue, Client_OrderDescriptionEntity entity)
 {
     client_orderdescriptionbll.SaveForm(keyValue, entity);
     return(Success("操作成功。"));
 }
Ejemplo n.º 3
0
        public void SaveFormApi(string keyValue, OrderEntity orderEntity, List <OrderEntryEntity> orderEntryList, List <ReceivableEntity> receivableentityList, string userid, string username)
        {
            IRepository db = new RepositoryFactory().BaseRepository().BeginTrans();

            try
            {
                decimal realsize = 0;
                if (!string.IsNullOrEmpty(orderEntity.PhotoPath))
                {
                    if (orderEntity.PhotoPath.ToString().Substring(orderEntity.PhotoPath.Length - 1, 1) == ",")
                    {
                        orderEntity.PhotoPath = orderEntity.PhotoPath.Substring(0, orderEntity.PhotoPath.Length - 1);
                    }
                }
                if (!string.IsNullOrEmpty(keyValue))
                {
                    decimal recA = 0;
                    ////主表
                    // orderEntity.Modify(keyValue);
                    orderEntity.OrderId = keyValue;
                    if (receivableentityList != null)
                    {
                        //收款
                        db.Delete <ReceivableEntity>(t => t.OrderId.Equals(keyValue));
                        foreach (ReceivableEntity receivableEntity in receivableentityList)
                        {
                            System.Threading.Thread.Sleep(10);
                            receivableEntity.PaymentTime    = receivableEntity.PaymentTime == null ? DateTime.Now : receivableEntity.PaymentTime;
                            receivableEntity.CreateDate     = receivableEntity.CreateDate == null ? DateTime.Now : receivableEntity.CreateDate;
                            receivableEntity.CreateUserId   = receivableEntity.CreateUserId == null ? userid : receivableEntity.CreateUserId;
                            receivableEntity.CreateUserName = receivableEntity.CreateUserName == null ? username : receivableEntity.CreateUserName;


                            recA = recA + Convert.ToDecimal(receivableEntity.PaymentPrice) - Convert.ToDecimal(receivableEntity.DrawbackPrice);
                            receivableEntity.ReceivableId = Guid.NewGuid().ToString();
                            receivableEntity.OrderId      = orderEntity.OrderId;
                            //添加收款
                            db.Insert(receivableEntity);
                        }
                    }

                    if (orderEntryList != null)
                    {
                        //明细
                        db.Delete <OrderEntryEntity>(t => t.OrderId.Equals(keyValue));
                        foreach (OrderEntryEntity orderEntryEntity in orderEntryList)
                        {
                            System.Threading.Thread.Sleep(10);
                            orderEntryEntity.RealSize   = orderEntryEntity.RealSize == null ? 0 : orderEntryEntity.RealSize;
                            orderEntryEntity.RealAmount = orderEntryEntity.RealAmount == null ? 0 : orderEntryEntity.RealAmount;
                            realsize = realsize + Convert.ToDecimal(orderEntryEntity.RealSize == null ? 0 : orderEntryEntity.RealSize);
                            orderEntryEntity.EstimateSize   = 0;
                            orderEntryEntity.EstimateAmount = 0;
                            orderEntryEntity.OrderEntryId   = Guid.NewGuid().ToString();
                            orderEntryEntity.OrderId        = orderEntity.OrderId;
                            db.Insert(orderEntryEntity);
                        }
                    }

                    if (orderEntity.OrderStatusName.Contains("已"))
                    {
                        orderEntity.OrderStatusId = "3";
                        if (string.IsNullOrEmpty(Convert.ToString(orderEntity.FinishDate)))
                        {
                            orderEntity.FinishDate = DateTime.Today;
                        }
                    }
                    else
                    {
                        orderEntity.OrderStatusId = "1";
                    }

                    //if (Convert.ToString(orderEntity.OrderStatusId) != "3")
                    //{
                    //    orderEntity.FinishDate = null;
                    //}

                    if (recA > 0)
                    {
                        //更改订单状态
                        if (GetEntity(keyValue).Accounts >= recA)
                        {
                            orderEntity.PaymentState = 3;
                        }
                        else
                        {
                            orderEntity.PaymentState = 2;
                        }

                        if (orderEntity.PayeeModeId == null)
                        {
                            orderEntity.PayeeModeId   = "1";
                            orderEntity.PayeeModeName = "现金";
                        }
                    }

                    db.Update(orderEntity);

                    orderEntity.SellerId       = null;
                    orderEntity.SellerName     = null;
                    orderEntity.ModifyDate     = DateTime.Now;
                    orderEntity.ModifyUserId   = userid;
                    orderEntity.ModifyUserName = username;
                    orderEntity.ReceivedAmount = recA;
                    orderEntity.RealSize       = realsize; //施工面积
                    db.Update(orderEntity);

                    if (GetEntity(keyValue).Description != orderEntity.Description && !string.IsNullOrEmpty(orderEntity.Description))
                    {//备注和之前不同时,插入备注列表
                        Client_OrderDescriptionEntity orderDescriptionEntity = new Client_OrderDescriptionEntity();

                        orderDescriptionEntity.CreateDate         = DateTime.Now;
                        orderDescriptionEntity.CreateUserId       = userid;
                        orderDescriptionEntity.CreateUserName     = username;
                        orderDescriptionEntity.DescriptionId      = Guid.NewGuid().ToString();
                        orderDescriptionEntity.OrderId            = orderEntity.OrderId;
                        orderDescriptionEntity.DescriptionContent = orderEntity.Description;
                        db.Insert(orderDescriptionEntity);
                    }
                }
                else
                {
                    CustomerService customerService = new CustomerService();

                    if (customerService.GetEntityByCondation(orderEntity.CustomerName, orderEntity.ContecterTel).Count() == 0)
                    {
                        CustomerEntity customerEntity = new CustomerEntity();
                        customerEntity.FullName = orderEntity.CustomerName;
                        customerEntity.Tel      = orderEntity.ContecterTel;
                        customerEntity.Mobile   = orderEntity.ContecterTel;

                        customerService.SaveFormApi("", customerEntity);
                        orderEntity.CustomerId = customerService.GetEntityByCondation(orderEntity.CustomerName, orderEntity.ContecterTel).ToList()[0].CustomerId;
                    }

                    //主表
                    orderEntity.SellerId   = userid;
                    orderEntity.SellerName = username;
                    if (orderEntity.OrderDate == null)
                    {
                        orderEntity.OrderDate = DateTime.Now;
                    }
                    //orderEntity.OrderDate = DateTime.Now;

                    orderEntity.CreateUserId   = userid;
                    orderEntity.CreateUserName = username;
                    orderEntity.OrderId        = Guid.NewGuid().ToString();
                    orderEntity.CreateDate     = DateTime.Now;
                    orderEntity.OrderCode      = coderuleService.SetBillCodeApi(userid, "", ((int)CodeRuleEnum.Customer_OrderCode).ToString());
                    coderuleService.UseRuleSeed(orderEntity.CreateUserId, "", ((int)CodeRuleEnum.Customer_OrderCode).ToString(), db);//占用单据号

                    decimal recA = 0;
                    if (receivableentityList != null)
                    {
                        //收款
                        // db.Delete<ReceivableEntity>(t => t.OrderId.Equals(keyValue));
                        foreach (ReceivableEntity receivableEntity in receivableentityList)
                        {
                            System.Threading.Thread.Sleep(10);
                            receivableEntity.CreateDate     = DateTime.Now;
                            receivableEntity.PaymentTime    = receivableEntity.PaymentTime == null ? DateTime.Now : receivableEntity.PaymentTime;
                            receivableEntity.CreateUserId   = userid;
                            receivableEntity.CreateUserName = username;
                            recA = recA + Convert.ToDecimal(receivableEntity.PaymentPrice) - Convert.ToDecimal(receivableEntity.DrawbackPrice);
                            receivableEntity.ReceivableId = Guid.NewGuid().ToString();
                            receivableEntity.OrderId      = orderEntity.OrderId;
                            //添加收款
                            db.Insert(receivableEntity);
                        }
                    }


                    if (orderEntryList != null)
                    {
                        //明细
                        foreach (OrderEntryEntity orderEntryEntity in orderEntryList)
                        {
                            System.Threading.Thread.Sleep(10);
                            orderEntryEntity.RealSize   = orderEntryEntity.RealSize == null ? 0 : orderEntryEntity.RealSize;
                            orderEntryEntity.RealAmount = orderEntryEntity.RealAmount == null ? 0 : orderEntryEntity.RealAmount;
                            realsize = realsize + Convert.ToDecimal(orderEntryEntity.RealSize == null ? 0 : orderEntryEntity.RealSize);
                            orderEntryEntity.EstimateSize   = 0;
                            orderEntryEntity.EstimateAmount = 0;
                            orderEntryEntity.OrderEntryId   = Guid.NewGuid().ToString();
                            orderEntryEntity.OrderId        = orderEntity.OrderId;
                            db.Insert(orderEntryEntity);
                        }
                    }
                    if (orderEntity.OrderStatusName.Contains("已"))
                    {
                        orderEntity.OrderStatusId = "3";
                        if (string.IsNullOrEmpty(Convert.ToString(orderEntity.FinishDate)))
                        {
                            orderEntity.FinishDate = DateTime.Today;
                        }
                    }
                    else
                    {
                        orderEntity.OrderStatusId = "1";
                    }
                    if (recA > 0)
                    {
                        //更改订单状态
                        if (orderEntity.Accounts >= recA)
                        {
                            orderEntity.PaymentState = 3;
                        }
                        else
                        {
                            orderEntity.PaymentState = 2;
                        }
                        if (orderEntity.PayeeModeId == null)
                        {
                            orderEntity.PayeeModeId   = "1";
                            orderEntity.PayeeModeName = "现金";
                        }
                    }


                    orderEntity.RealSize       = realsize; //施工面积
                    orderEntity.ReceivedAmount = recA;
                    db.Insert(orderEntity);
                    if (!string.IsNullOrEmpty(orderEntity.Description))
                    {
                        Client_OrderDescriptionEntity orderDescriptionEntity = new Client_OrderDescriptionEntity();

                        orderDescriptionEntity.CreateDate         = DateTime.Now;
                        orderDescriptionEntity.CreateUserId       = userid;
                        orderDescriptionEntity.CreateUserName     = username;
                        orderDescriptionEntity.DescriptionId      = Guid.NewGuid().ToString();
                        orderDescriptionEntity.OrderId            = orderEntity.OrderId;
                        orderDescriptionEntity.DescriptionContent = orderEntity.Description;
                        db.Insert(orderDescriptionEntity);
                    }
                }
                db.Commit();
            }
            catch
            {
                db.Rollback();

                throw;
            }
        }