Exemplo n.º 1
0
        /// <summary>
        /// 保存表单(新增、修改)
        /// </summary>
        /// <param name="keyValue">主键值</param>
        /// <param name="entity">实体对象</param>
        /// <param name="entryList">明细对象</param>
        /// <returns></returns>
        public void SaveForm(string keyValue, Buys_OrderEntity entity, List <Buys_OrderItemEntity> entryList)
        {
            IRepository db = this.BaseRepository().BeginTrans();

            try
            {
                if (!string.IsNullOrEmpty(keyValue))
                {
                    List <Buys_OrderItemEntity> oldEntityList = this.BaseRepository().IQueryable <Buys_OrderItemEntity>(t => t.OrderId.Equals(keyValue)).OrderByDescending(t => t.SortCode).ToList();
                    //减去修改前
                    MinusWareGoods(db, oldEntityList);

                    //主表
                    entity.Modify(keyValue);
                    db.Update(entity);
                    //明细
                    db.Delete <Buys_OrderItemEntity>(t => t.OrderId.Equals(keyValue));

                    foreach (Buys_OrderItemEntity item in entryList)
                    {
                        item.Create();
                        item.OrderId = entity.OrderId;
                        db.Insert(item);
                    }
                    //加上本次入库
                    AddWareGoods(db, entryList);
                }
                else
                {
                    //主表
                    entity.Create();
                    db.Insert(entity);
                    coderuleService.UseRuleSeed(SystemInfo.CurrentModuleId, db);
                    //明细
                    foreach (Buys_OrderItemEntity item in entryList)
                    {
                        item.Create();
                        item.OrderId = entity.OrderId;
                        db.Insert(item);
                    }

                    AddWareGoods(db, entryList);
                }
                db.Commit();
            }
            catch (Exception)
            {
                db.Rollback();
                throw;
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 柜体扫码包装之后,g根据生产单信息,创建入库单主单
        /// </summary>
        /// <param name="entity">实体对象</param>
        /// <returns></returns>
        public void SaveBuyMain(Sale_CustomerEntity entity)
        {
            try
            {
                IRepository      db         = new RepositoryFactory().BaseRepository().BeginTrans();
                Buys_OrderEntity buysEntity = db.FindEntity <Buys_OrderEntity>(t => t.Id == entity.OrderCode);//入库单号同销售订单编号
                //入库单不存在,才初始化
                if (buysEntity == null)
                {
                    //获取销售单收款状态
                    DZ_OrderEntity orderEntity = db.FindEntity <DZ_OrderEntity>(t => t.Id == entity.OrderId);
                    if (orderEntity != null)
                    {
                        Buys_OrderEntity buys_OrderEntity = new Buys_OrderEntity()
                        {
                            Code             = entity.OrderCode,
                            OrderId          = entity.OrderId,
                            OrderCode        = entity.OrderCode,
                            OrderType        = entity.OrderType,
                            OrderTitle       = entity.OrderTitle,
                            ProduceId        = entity.ProduceId,
                            ProduceCode      = entity.ProduceCode,
                            CompanyId        = entity.CompanyId,
                            CompanyName      = entity.CompanyName,
                            CustomerId       = entity.CustomerId,
                            CustomerName     = entity.CustomerName,
                            SalesmanUserId   = entity.SalesmanUserId,
                            SalesmanUserName = entity.SalesmanUserName,
                            CustomerTelphone = entity.CustomerTelphone,
                            Address          = entity.Address,
                            ShippingType     = entity.ShippingType,
                            Carrier          = entity.Carrier,
                            SendPlanDate     = entity.SendPlanDate,

                            PaymentState = orderEntity.PaymentState, //确认是否全部收款
                            PaymentDate  = orderEntity.PaymentDate,
                            AfterMark    = orderEntity.AfterMark,    //确认是否收取尾款
                        };

                        //材料是否选择,判断需要入库
                        if (entity.GuiTiMark == 1)
                        {
                            buys_OrderEntity.GuiEnterMark = 0;//柜体包装进行中
                        }
                        if (entity.MenBanMark == 1)
                        {
                            buys_OrderEntity.MenEnterMark = 0;//门板
                        }
                        if (entity.WuJinMark == 1)
                        {
                            buys_OrderEntity.WuEnterMark = 0;//五金
                        }
                        if (entity.WaiXieMark == 1)
                        {
                            buys_OrderEntity.WaiEnterMark = 0;//外协
                        }
                        buys_OrderEntity.Create();
                        //新增入库单主表
                        this.BaseRepository().Insert(buys_OrderEntity);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 保存表单(新增、修改)
        /// </summary>
        /// <param name="keyValue">主键值</param>
        /// <param name="entity">实体对象</param>
        /// <param name="entryList">明细对象</param>
        /// <returns></returns>
        public void SaveForm(string keyValue, Buys_OrderEntity entity, List <Buys_OrderItemEntity> entryList)
        {
            IRepository db = this.BaseRepository().BeginTrans();

            try
            {
                if (!string.IsNullOrEmpty(keyValue))
                {
                    //主表
                    entity.Modify(keyValue);
                    db.Update(entity);
                    //明细
                    db.Delete <Buys_OrderItemEntity>(t => t.OrderId.Equals(keyValue));

                    foreach (Buys_OrderItemEntity item in entryList)
                    {
                        item.Create();
                        item.OrderId = entity.Id;
                        db.Insert(item);
                    }
                }
                else
                {
                    //新增入库单(自动添加之后,取消使用**************)

                    //主表
                    entity.Create();
                    db.Insert(entity);
                    coderuleService.UseRuleSeed(entity.CreateUserId, "", ((int)CodeRuleEnum.Buy_Order).ToString(), db);//占用单据号
                    //明细
                    foreach (Buys_OrderItemEntity item in entryList)
                    {
                        item.Create();
                        item.OrderId = entity.Id;
                        db.Insert(item);
                    }


                    //同步到接单表-入库状态
                    DZ_OrderEntity dZ_OrderEntity = new DZ_OrderEntity
                    {
                        EnterMark = 1,
                        EnterDate = DateTime.Now
                    };
                    dZ_OrderEntity.Modify(entity.OrderId);
                    db.Update <DZ_OrderEntity>(dZ_OrderEntity);
                    //同步到生产表-入库状态
                    Sale_CustomerEntity produceEntity = new Sale_CustomerEntity
                    {
                        EnterMark = 1,
                        EnterDate = DateTime.Now
                    };
                    produceEntity.Modify(entity.ProduceId);
                    db.Update <Sale_CustomerEntity>(produceEntity);
                }
                db.Commit();
            }
            catch (Exception)
            {
                db.Rollback();
                throw;
            }
        }