/// <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); }
/// <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); } } }