Esempio n. 1
0
 /// <summary>
 /// 批量增加产品匹配
 /// </summary>
 /// <returns></returns>
 public bool Add_Gpo_Product_Map_Batch(string [] sArray)
 {
     using (DbTransaction dbTran = DbFacade.BeginTransaction(DbFacade.OpenConnection()))
     {
         try
         {
             bool bFlag = DbFacade.SQLExecuteNonQuery(sArray, dbTran);
             DbFacade.CommitTransaction(dbTran);
             return(bFlag);
         }
         catch
         {
             DbFacade.RollbackTransaction(dbTran);
             throw;
         }
     }
 }
Esempio n. 2
0
        /// <summary>
        /// 订单明细作废--业务逻辑方法
        /// </summary>
        /// <param name="input"></param>
        /// <returns>订单主表ID</returns>
        public string doOrderItemCancel(OrderItemInputModel input)
        {
            string orderItemId = input.OrderItemId;
            string userId      = input.UserId;
            string userName    = input.UserName;

            //(1)把原订单明细表的item_status设为5作废(order_type设为0蓝票),往订单状态表中插入一条记录
            ///先取出记录作为备份。
            DataTable gpoOrderItemTable = RetrieveByPK(orderItemId);
            string    orderId           = "";

            foreach (DataRow row in gpoOrderItemTable.Rows)
            {
                orderId = row["ORDER_ID"].ToString();
            }
            using (DbTransaction transaction = base.DbFacade.BeginTransaction(base.DbFacade.OpenConnection()))
            {
                try
                {
                    UpdateOrderItem(orderItemId, "5", "0", userId);
                    //往订单状态表中插入一条记录
                    //AddGpoItemStatus(orderItemId, "5", userId, userName);
                    //(2)往订单明细表中增加一条与原订单明细相同的信息(订购量为原来的负值,order_type设为2 红冲)创建时间为原订单明细的时间,
                    long newItemId = CopyGpoOrderItem(orderItemId, input.HighId);
                    //往订单状态表中插入一条记录
                    //AddGpoItemStatus(newItemId, "2", userId, userName);

                    //更新订单主表的状态
                    UpdateOrderState(orderId, userId);
                    //更新订单主表的订购金额
                    UpdateRequestTotalByOrder(orderId, userId);
                    DbFacade.CommitTransaction(transaction);
                }
                catch
                {
                    base.DbFacade.RollbackTransaction(transaction);
                    throw;
                }
            }
            //返回orderId
            return(orderId);
        }
Esempio n. 3
0
        //对接产品对照表 新增记录
        public bool Add_Gpo_Product_Map(Gpo_Product_MapModel input, out string strID)
        {
            bool flag = false;

            using (DbTransaction dbTran = DbFacade.BeginTransaction(DbFacade.OpenConnection()))
            {
                try
                {
                    DbFacade.SQLExecuteNonQuery(CreateProductComprison(input, out strID));
                    flag = true;
                    DbFacade.CommitTransaction(dbTran);
                }
                catch (Exception ex)
                {
                    DbFacade.RollbackTransaction(dbTran);
                    throw ex;
                }
            }
            return(flag);
        }
        /// <summary>
        /// 重载取消匹配
        /// </summary>
        public void cancelmatch(string sRecord_ID)
        {
            string sCommand = "update gpo_corp_map set org_id = null,data_org_id = null,ismap = '0', sync_state = '0' where id ='" + sRecord_ID + "'";
            int    iCount   = 0;

            using (DbTransaction dbTran = DbFacade.BeginTransaction(DbFacade.OpenConnection()))
            {
                try
                {
                    iCount = DbFacade.SQLExecuteNonQuery(sCommand);
                    if (iCount > 0)
                    {
                        DbFacade.CommitTransaction(dbTran);
                    }
                }
                catch
                {
                    DbFacade.RollbackTransaction(dbTran);
                    throw;
                }
            }
        }
        /// <summary>
        /// 更新退货明细表
        /// </summary>
        /// <param name="Keys"></param>
        /// <param name="ui"></param>
        /// <param name="status">1--同意/0--拒绝/other--错误</param>
        /// <returns></returns>
        public bool UpdateReturnStatus(SalerReturnModel[] Keys, UserInfo ui, string status)
        {
            bool   flg = false;
            int    result;
            int    result1 = 1;
            string sql;
            string sql1;

            if (status.Equals("1"))
            {
                sql = "UPDATE ORD_ORDER_RETURN SET RETURN_STATE = '3',SALER_REMARK = :REMARK ,MODIFY_USERID = :USERID,MODIFY_DATE = SYSDATE WHERE ID = :ID";
            }
            else if (status.Equals("0"))
            {
                sql = "UPDATE ORD_ORDER_RETURN SET RETURN_STATE = '4',SALER_REMARK = :REMARK ,MODIFY_USERID = :USERID,MODIFY_DATE = SYSDATE WHERE ID = :ID";
            }
            else
            {
                return(false);
            }
            DbParameter paraUserID = this.DbFacade.CreateParameter();

            paraUserID.ParameterName = "USERID";
            paraUserID.DbType        = DbType.String;
            paraUserID.Value         = ui.UserId;

            using (DbTransaction transaction = base.DbFacade.BeginTransaction(base.DbFacade.OpenConnection()))
            {
                try
                {
                    for (int i = 0; i < Keys.Length; i++)
                    {
                        DbParameter paraRemark = this.DbFacade.CreateParameter();
                        paraRemark.ParameterName = "REMARK";
                        paraRemark.DbType        = DbType.String;
                        paraRemark.Value         = Keys[i].Remark;

                        DbParameter paraID = this.DbFacade.CreateParameter();
                        paraID.ParameterName = "ID";
                        paraID.DbType        = DbType.String;
                        paraID.Value         = Keys[i].Id;

                        result = DbFacade.SQLExecuteNonQuery(sql, transaction, paraRemark, paraUserID, paraID);
                        if (status.Equals("1"))
                        {
                            //sql1 = "UPDATE ORD_ORDER_RECEIVE SET RECEIVE_QTY = :RECEIVE_QTY WHERE ID = :RECEIVE_ID";
                            sql1 = "UPDATE ORD_ORDER_RECEIVE SET RECEIVE_QTY = " + Keys[i].StrReceiveQty.ToString() + " WHERE ID = '" + Keys[i].StrReceiveID + "'";

                            //DbParameter paraReceiveID = this.DbFacade.CreateParameter();
                            //paraReceiveID.ParameterName = "RECEIVE_ID";
                            //paraReceiveID.DbType = DbType.String;
                            //paraReceiveID.Value = Keys[i].StrReceiveID;

                            //DbParameter paraReceiveQty = this.DbFacade.CreateParameter();
                            //paraReceiveQty.ParameterName = "RECEIVE_QTY";
                            //paraReceiveQty.DbType = DbType.Double;
                            //paraReceiveQty.Value = Keys[i].StrReceiveQty;

                            //result1 = DbFacade.SQLExecuteNonQuery(sql1, transaction, paraReceiveQty, paraReceiveID);
                            result1 = DbFacade.SQLExecuteNonQuery(sql1, transaction);
                        }
                        if (result > 0 && result1 > 0)
                        {
                            flg = true;
                        }
                        else
                        {
                            flg = false;
                            base.DbFacade.RollbackTransaction(transaction);
                            break;
                        }
                    }
                    DbFacade.CommitTransaction(transaction);
                }
                catch
                {
                    base.DbFacade.RollbackTransaction(transaction);
                    throw;
                }
            }
            return(flg);
        }