/// <summary>
        /// 获取发货单信息对象
        /// </summary>
        /// <param name="strOrdInvoiceFromId"></param>
        /// <returns></returns>
        public OrdInvoiceFromModel GetOrdInvoiceFromModel(string strOrdInvoiceFromId)
        {
            List <DbParameter> parameters = new List <DbParameter>();

            DataTable dt = null;

            StringBuilder strSql = new StringBuilder();

            strSql.Append(@"Select
                            oif.Id,
                            oif.INVOICE_CODE,
                            org.ORG_NAME As SENDED_NAME,
                            org.ORG_ABBR As SENDED_ABBR,
                            oif.CREATE_USER_NAME,
                            oif.CREATE_DATE,
                            oif.TOTAL_SUM,
                            oif.OVER_SUM,
                            oif.SENDED_DATE,
                            oif.STATE,
                            oif.CREATE_USER_NAME,
                            oif.CREATE_DATE,
                            oif.MODIFY_USER_NAME,
                            oif.MODIFY_DATE,
                            oif.BUYER_DESCRIPTIONS,
                            oif.SALER_DESCRIPTIONS,
                            (Case oif.State When '1'  Then '未发送' When '2' Then '已发送' When '3' Then '买方处理中' When '4' Then '作废' When '5' Then '买方处理完成' End) As StateName
                            From HC_ORD_INVOICE_FROM oif,HC_ORG org
                            Where oif.SENDER_ID=org.Id");


            if (!string.IsNullOrEmpty(strOrdInvoiceFromId))
            {
                strSql.Append(" And oif.Id=@INVOICE_FROM_ID");
                DbParameter paInvoiceFromId = DbFacade.CreateParameter();
                paInvoiceFromId.ParameterName = "INVOICE_FROM_ID";
                paInvoiceFromId.DbType        = DbType.String;
                paInvoiceFromId.Value         = strOrdInvoiceFromId;
                parameters.Add(paInvoiceFromId);
            }
            else
            {
                return(null);
            }

            OrdInvoiceFromModel model = null;

            try
            {
                model = base.DbFacade.SQLExecuteObject(strSql.ToString(), new MapRow(GetOrdInvoiceFromModel), parameters.ToArray()) as OrdInvoiceFromModel;
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(model);
        }
 /// <summary>
 /// 修改发货单状态 4 作废 ,并设置发货单明细 作废
 /// </summary>
 /// <param name="model"></param>
 /// <param name="State"></param>
 /// <param name="logedinUser"></param>
 public void ModifyOrdInvoiceFromState(OrdInvoiceFromModel model, string State, LogedInUser logedinUser)
 {
     try
     {
         dao.ModifyOrdInvoiceFromState(model, State, logedinUser);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        /// <summary>
        /// 根据发货单ID修改发货单明细表状态 (状态:1 未确认 2 已确认 3 作废)
        /// </summary>
        /// <param name="model"></param>
        /// <param name="State"></param>
        /// <param name="logedinUser"></param>
        /// <param name="transaction"></param>
        public void ModifyOrdInvoiceFromItemState_ByInvoice_From_Id(OrdInvoiceFromModel model, string State, LogedInUser logedinUser, DbTransaction transaction)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.AppendFormat(@"Update HC_ORD_INVOICE_FROM_ITEM
                                    Set SYNC_STATE='0',STATE='{0}',MODIFY_USER_ID='{1}',MODIFY_USER_NAME='{2}',MODIFY_DATE='{3}'
                                    Where INVOICE_FROM_ID='{4}'", '3', logedinUser.UserInfo.Id, logedinUser.UserInfo.Name, DateTime.Now.ToShortDateString(), model.Id);


            try
            {
                base.DbFacade.SQLExecuteNonQuery(strSql.ToString(), transaction);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// 初始化订单标题信息
        /// </summary>
        /// <param name="StrInvoiceFromId"></param>
        private void IniData(string StrInvoiceFromId)
        {
            OrdInvoiceFromModel ordInvoiceFromModel = OrdInvoiceBLL.GetInstance().GetOrdInvoiceFromModel(StrInvoiceFromId);

            if (ordInvoiceFromModel != null)
            {
                this.lbl_Invoice_Code.Text = ordInvoiceFromModel.Invoice_Code;
                this.lbl_Create_Name.Text  = ordInvoiceFromModel.Create_User_Name;
                this.lbl_Create_Date.Text  = ordInvoiceFromModel.Create_Date;
                this.lbl_Modify_Name.Text  = ordInvoiceFromModel.Modify_User_Name;
                this.lbl_Modify_Date.Text  = ordInvoiceFromModel.Modify_Date;
                this.lbl_Sender_Name.Text  = ordInvoiceFromModel.Sender_Name;
                this.lbl_StateName.Text    = ordInvoiceFromModel.StateName;
                this.lbl_Total_Sum.Text    = base.SetNumFormat(ordInvoiceFromModel.Total_Sum);
                this.lbl_Over_Sum.Text     = base.SetNumFormat(ordInvoiceFromModel.Over_Sum);
                this.lbl_buyer_Remark.Text = ordInvoiceFromModel.Buyer_Descriptions;
                this.lbl_saler_Remark.Text = ordInvoiceFromModel.Saler_Descriptions;
            }
        }
        /// <summary>
        /// 获取订单表对象
        /// </summary>
        /// <param name="reader"></param>
        /// <param name="row"></param>
        /// <returns></returns>
        private object GetOrdInvoiceFromModel(IDataReader reader, int row)
        {
            OrdInvoiceFromModel model = new OrdInvoiceFromModel();

            model.Invoice_Code       = Convert.ToString(reader["INVOICE_CODE"]);
            model.Sender_Name        = Convert.ToString(reader["SENDED_NAME"]);
            model.Sended_Date        = Convert.ToString(reader["SENDED_DATE"]);
            model.Create_User_Name   = Convert.ToString(reader["CREATE_USER_NAME"]);
            model.Create_Date        = Convert.ToString(reader["CREATE_DATE"]);
            model.Modify_User_Name   = Convert.ToString(reader["MODIFY_USER_NAME"]);
            model.Modify_Date        = Convert.ToString(reader["MODIFY_DATE"]);
            model.StateName          = Convert.ToString(reader["StateName"]);
            model.Total_Sum          = Convert.ToString(reader["TOTAL_SUM"]);
            model.Over_Sum           = Convert.ToString(reader["OVER_SUM"]);
            model.Buyer_Descriptions = Convert.ToString(reader["BUYER_DESCRIPTIONS"]);
            model.Saler_Descriptions = Convert.ToString(reader["SALER_DESCRIPTIONS"]);

            return(model);
        }
示例#6
0
        /// <summary>
        /// 作废事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnBlank_Click(object sender, EventArgs e)
        {
            //判断是否为空数据集
            if (this.gvInvoiceList.RowCount == 0)
            {
                return;
            }

            //发货单状态
            string strState = GetGridViewColValue(this.gvInvoiceList, "STATE");

            if (strState.Equals("5") || strState.Equals("4"))//作废状态 买方确认完成
            {
                XtraMessageBox.Show("发货单已完成,不能进行作废操作!", Constant.MsgTitle, MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            //提示信息
            if (XtraMessageBox.Show("确认是否对该发货单作废?", Constant.MsgTitle, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
            {
                return;
            }

            try
            {
                //发货单ID
                string strInvoiceID = GetGridViewColValue(this.gvInvoiceList, "ID");

                OrdInvoiceFromModel model = new OrdInvoiceFromModel();

                model.Id = strInvoiceID;

                OrdInvoiceBLL.GetInstance().ModifyOrdInvoiceFromState(model, "4", this.CurrentUser);

                RefreshDt(strInvoiceID);

                XtraMessageBox.Show("发货单作废成功!", Constant.MsgTitle, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show("发货单作废失败!", Constant.MsgTitle, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        /// <summary>
        /// 修改发货单状态 4 作废 ,并设置发货单明细 作废
        /// </summary>
        /// <param name="model"></param>
        /// <param name="State"></param>
        /// <param name="logedinUser"></param>
        public void ModifyOrdInvoiceFromState(OrdInvoiceFromModel model, string State, LogedInUser logedinUser)
        {
            using (DbTransaction transaction = base.DbFacade.BeginTransaction(base.DbFacade.OpenConnection()))
            {
                try
                {
                    //主表状态
                    ModifyOrdInvoiceFromState(model, State, logedinUser, transaction);

                    //明细表状态
                    ModifyOrdInvoiceFromItemState_ByInvoice_From_Id(model, State, logedinUser, transaction);

                    base.DbFacade.CommitTransaction(transaction);
                }
                catch (Exception e)
                {
                    base.DbFacade.RollbackTransaction(transaction);
                }
            }
        }