| | |
| | | using DevExpress.XtraEditors; |
| | | using DevExpress.XtraEditors.Controls; |
| | | using DevExpress.XtraGrid.Views.Grid; |
| | | using DevExpress.XtraGrid.Views.Grid.ViewInfo; |
| | | using Gs.DevApp.Entity; |
| | | using Gs.DevApp.ToolBox; |
| | | using Newtonsoft.Json; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.ComponentModel; |
| | | using System.Data; |
| | | using System.Drawing; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using System.Windows.Forms; |
| | | |
| | | namespace Gs.DevApp.DevFrm.Sys |
| | |
| | | public DocNoRule() |
| | | { |
| | | InitializeComponent(); |
| | | this.toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick; |
| | | this.toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick; |
| | | this.toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick; |
| | | this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick; |
| | | this.toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1; |
| | | this.toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick; |
| | | gcMain.MouseDoubleClick += GcMain_MouseDoubleClick; |
| | | gridView1.ColumnFilterChanged += GridView1_ColumnFilterChanged; |
| | | pageBar1.PagerEvent += PageBar1_PagerEvent; |
| | | getPageList(1, UtilityHelper.GetPageSize()); |
| | | getTree(); |
| | | txt_docCode.EditValueChanged += Txt_docCode_EditValueChanged; |
| | | txxtItem1.EditValueChanged += TxxtItem1_EditValueChanged; |
| | | txxtItem2.EditValueChanged += TxxtItem1_EditValueChanged; |
| | | txxtItem3.EditValueChanged += TxxtItem1_EditValueChanged; |
| | | txxtItem4.EditValueChanged += TxxtItem1_EditValueChanged; |
| | | txt_noLength.ValueChanged += Txt_noLength_ValueChanged; |
| | | txt_flagIncludeDocCode.CheckedChanged += Txt_flagIncludeDocCode_CheckedChanged; |
| | | txt_flagSpilitNo.CheckedChanged += Txt_flagIncludeDocCode_CheckedChanged; |
| | | } |
| | | |
| | | private void GridView1_ColumnFilterChanged(object sender, EventArgs e) |
| | | { |
| | | //// 获取GridView组件 |
| | | //GridView view = sender as GridView; |
| | | //// 确保view不为null |
| | | //if (view == null) return; |
| | | //// 获取应用的筛选器信息 |
| | | //string filter = view.ActiveFilterString; |
| | | //MessageBox.Show(filter); |
| | | //getPageList(1, UtilityHelper.GetPageSize()); |
| | | } |
| | | /// <summary> |
| | | /// 双击事件 |
| | | /// </summary> |
| | | /// <param name="sender"></param> |
| | | /// <param name="e"></param> |
| | | private void GcMain_MouseDoubleClick(object sender, MouseEventArgs e) |
| | | { |
| | | GridHitInfo info = gridView1.CalcHitInfo(e.Location); |
| | | if (info.InRow) |
| | | { |
| | | GridView view = info.View as GridView; |
| | | if (view != null) |
| | | { |
| | | DataRow row = view.GetDataRow(info.RowHandle); |
| | | if (row != null) |
| | | { |
| | | string rowGuid = (row["guid"].ToString()); |
| | | getModel(rowGuid, false, 999); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 分页事件 |
| | | /// </summary> |
| | | /// <param name="curPage"></param> |
| | | /// <param name="pageSize"></param> |
| | | private void PageBar1_PagerEvent(int curPage, int pageSize) |
| | | { |
| | | getPageList(curPage, pageSize); |
| | | } |
| | | /// <summary> |
| | | /// 取消事件 |
| | | /// </summary> |
| | | /// <param name="sender"></param> |
| | | /// <param name="e"></param> |
| | | private void ToolBarMenu1_btnEscClick(object sender, EventArgs e) |
| | | { |
| | | UtilityHelper.ChangeTab(xtraTabControl1, 0); |
| | | } |
| | | /// <summary> |
| | | /// 删除事件 |
| | | /// </summary> |
| | | /// <param name="sender"></param> |
| | | /// <param name="e"></param> |
| | | private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e) |
| | | { |
| | | DataRow dr = gridView1.GetFocusedDataRow(); |
| | | if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString())) |
| | | { |
| | | ToolBox.MsgHelper.Warning("请先选择你要操作的行!"); |
| | | return; |
| | | } |
| | | if (!MsgHelper.AskQuestion("你选择了【" + dr["docCode"].ToString() + "】,确定删除吗?")) |
| | | return; |
| | | var _obj = new |
| | | { |
| | | guidList = dr["guid"].ToString(),//主建 |
| | | }; |
| | | string strJson = ""; |
| | | try |
| | | { |
| | | strJson = UtilityHelper.HttpPost("", "DocNoRule/DeleteModel", JsonConvert.SerializeObject(_obj)); |
| | | ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson); |
| | | if (_rtn.rtnCode > 0) |
| | | { |
| | | UtilityHelper.ChangeTab(xtraTabControl1, 0); |
| | | getPageList(1, UtilityHelper.GetPageSize()); |
| | | } |
| | | ToolBox.MsgHelper.Warning("提示:" + _rtn.rtnMsg); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | ToolBox.MsgHelper.Warning("提示:" + ex.Message); |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 刷新事件 |
| | | /// </summary> |
| | | /// <param name="sender"></param> |
| | | /// <param name="e"></param> |
| | | private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e) |
| | | { |
| | | UtilityHelper.ChangeTab(xtraTabControl1, 0); |
| | | getPageList(1, UtilityHelper.GetPageSize()); |
| | | } |
| | | /// <summary> |
| | | /// 修改事件 |
| | | /// </summary> |
| | | /// <param name="sender"></param> |
| | | /// <param name="e"></param> |
| | | private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e) |
| | | { |
| | | DataRow dr = gridView1.GetFocusedDataRow(); |
| | | if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString())) |
| | | { |
| | | ToolBox.MsgHelper.Warning("请先选择你要操作的行!"); |
| | | return; |
| | | } |
| | | txxtItem1.Enabled = txxtItem2.Enabled = txxtItem3.Enabled = txxtItem4.Enabled = false; |
| | | getModel(dr["guid"].ToString(), true, 1); |
| | | txxtItem1.Enabled = txxtItem2.Enabled = txxtItem3.Enabled = txxtItem4.Enabled = true; |
| | | } |
| | | /// <summary> |
| | | /// 新增事件 |
| | | /// </summary> |
| | | /// <param name="sender"></param> |
| | | /// <param name="e"></param> |
| | | private void ToolBarMenu1_btnAddClick(object sender, EventArgs e) |
| | | { |
| | | UtilityHelper.ChangeTab(xtraTabControl1, 1); |
| | | lbGuid.Text = ""; |
| | | UtilityHelper.CleanValue(this.panel1.Controls, true); |
| | | txxtItem1.SelectedIndex = txxtItem2.SelectedIndex = txxtItem3.SelectedIndex = txxtItem4.SelectedIndex = 0; |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 保存事件 |
| | | /// </summary> |
| | | /// <param name="sender"></param> |
| | | /// <param name="e"></param> |
| | | private void ToolBarMenu1_btnSaveClick(object sender, EventArgs e) |
| | | { |
| | | toolBarMenu1.isSetBtn = false; |
| | | if (txt_docCode.EditValue == null || string.IsNullOrEmpty(txt_docCode.EditValue.ToString())) |
| | | { |
| | | ToolBox.MsgHelper.Warning("请先选择单据类型!"); |
| | | txt_docCode.Focus(); |
| | | return; |
| | | } |
| | | if (txt_ruleFormat.Text.Length <= 0) |
| | | { |
| | | ToolBox.MsgHelper.Warning("请先配置参数!"); |
| | | txt_docCode.Focus(); |
| | | return; |
| | | } |
| | | if (txt_resetZero.SelectedIndex <= 0) |
| | | { |
| | | Gs.DevApp.ToolBox.MsgHelper.Warning("请选择归零方式!"); |
| | | txt_resetZero.Focus(); |
| | | return; |
| | | } |
| | | var _obj = new |
| | | { |
| | | guid = lbGuid.Text.Trim(),//主建 |
| | | docCode = txt_docCode.EditValue.ToString(), |
| | | ruleFormat = txt_ruleFormat.Text.ToString(), |
| | | //currentValue = txt_currentValue.Text.ToString(), |
| | | noLength = txt_noLength.Value.ToString(), |
| | | resetZero = txt_resetZero.SelectedIndex.ToString(), |
| | | flagSpilitNo = txt_flagSpilitNo.Checked ? 1 : 2, |
| | | flagIncludeDocCode = txt_flagIncludeDocCode.Checked ? 1 : 2, |
| | | }; |
| | | try |
| | | { |
| | | string strJson = UtilityHelper.HttpPost("", "DocNoRule/EditModel", JsonConvert.SerializeObject(_obj)); |
| | | ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson); |
| | | ToolBox.MsgHelper.Warning("提示:" + _rtn.rtnMsg); |
| | | if (_rtn.rtnCode > 0) |
| | | { |
| | | lbGuid.Text = _rtn.rtnData; |
| | | toolBarMenu1.isSetBtn = true; |
| | | UtilityHelper.ChangeEnable(this.panel1.Controls, false); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | ToolBox.MsgHelper.Warning("提示:" + ex.Message); |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <param name="curPage">第几页</param> |
| | | /// <param name="pageSize">每页几条</param> |
| | | private void getPageList(int curPage, int pageSize) |
| | | { |
| | | PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "createTime", "asc", "", ""); |
| | | string json = JsonConvert.SerializeObject(pgq); |
| | | try |
| | | { |
| | | string strReturn = UtilityHelper.HttpPost("", "DocNoRule/GetListPage", json); |
| | | ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn); |
| | | DataTable dt = dd.rtnData.list; |
| | | gcMain.BindingContext = new BindingContext(); |
| | | gcMain.DataSource = dt; |
| | | gcMain.ForceInitialize(); |
| | | int dddd = dd.rtnData.pages;//总页 |
| | | pageBar1.TotalPages = dddd; |
| | | pageBar1.RecordCount = dd.rtnData.total;//记录总数 |
| | | pageBar1.CurrentPage = curPage;//当前页 |
| | | pageBar1.RowsCount = pageSize;//每页显示 |
| | | pageBar1.setTxt(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | ToolBox.MsgHelper.Warning("提示:" + ex.Message); |
| | | } |
| | | } |
| | | private void getModel(string strGuid, bool isEdit, int tabIdx) |
| | | { |
| | | if (string.IsNullOrEmpty(strGuid)) |
| | | { |
| | | ToolBox.MsgHelper.Warning("请先选择你要操作的行!"); |
| | | return; |
| | | } |
| | | UtilityHelper.ChangeTab(xtraTabControl1, tabIdx); |
| | | var _obj = new |
| | | { |
| | | guid = strGuid,//主建 |
| | | }; |
| | | try |
| | | { |
| | | string strJson = UtilityHelper.HttpPost("", "DocNoRule/GetModel", JsonConvert.SerializeObject(_obj)); |
| | | ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson); |
| | | if (_rtn.rtnCode > 0) |
| | | { |
| | | dynamic dy = _rtn.rtnData; |
| | | lbGuid.Text = strGuid; |
| | | UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit); |
| | | txt_docCode.EditValue = dy.docCode.ToString(); |
| | | txxtItem1.Enabled = txxtItem2.Enabled = txxtItem3.Enabled = txxtItem4.Enabled = false; |
| | | string _rule = dy.ruleFormat.ToString(); |
| | | string[] _ary = _rule.Split(new char[] { '<' }, StringSplitOptions.RemoveEmptyEntries); |
| | | if (_ary.Length > 0) |
| | | txxtItem1.Text = "<" + _ary[0]; |
| | | if (_ary.Length > 1) |
| | | txxtItem2.Text = "<" + _ary[1]; |
| | | if (_ary.Length > 2) |
| | | txxtItem3.Text = "<" + _ary[2]; |
| | | if (_ary.Length > 3) |
| | | txxtItem4.Text = "<" + _ary[3]; |
| | | } |
| | | else |
| | | ToolBox.MsgHelper.Warning("提示:" + _rtn.rtnMsg); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | ToolBox.MsgHelper.Warning("提示:" + ex.Message); |
| | | } |
| | | } |
| | | |
| | | private void getTree() |
| | | { |
| | | // 创建数据表 |
| | | DataTable dataTable = new DataTable(); |
| | | dataTable.Columns.Add("docCode", typeof(string)); |
| | | // 添加数据行 |
| | | dataTable.Rows.Add("DH(到货单)"); |
| | | dataTable.Rows.Add("QO(报价单)"); |
| | | dataTable.Rows.Add("PO(采购订单)"); |
| | | dataTable.Rows.Add("IA(库存调整)"); |
| | | dataTable.Rows.Add("IO(出库单)"); |
| | | dataTable.Rows.Add("AR(应收款)"); |
| | | dataTable.Rows.Add("SO(销售订单)"); |
| | | dataTable.Rows.Add("AP(应付款)"); |
| | | dataTable.Rows.Add("IV(销售发票)"); |
| | | dataTable.Rows.Add("IV(销售发票)"); |
| | | dataTable.Rows.Add("IN(入库)"); |
| | | dataTable.Rows.Add("PN(生产库)"); |
| | | // 设置LookUpEdit的数据源 |
| | | txt_docCode.Properties.DataSource = dataTable; |
| | | txt_docCode.Properties.DisplayMember = "docCode"; // 显示的列 |
| | | txt_docCode.Properties.ValueMember = "docCode"; // 实际值的列 |
| | | txt_docCode.Properties.TextEditStyle = TextEditStyles.Standard; |
| | | } |
| | | |
| | | private void Txt_flagIncludeDocCode_CheckedChanged(object sender, EventArgs e) |
| | | { |
| | | DoPreviewCode(); |
| | | } |
| | | |
| | | private void Txt_noLength_ValueChanged(object sender, EventArgs e) |
| | | { |
| | | DoPreviewCode(); |
| | | } |
| | | |
| | | private void TxxtItem1_EditValueChanged(object sender, EventArgs e) |
| | | { |
| | | DoPreviewCode(); |
| | | } |
| | | private void DoPreviewCode() |
| | | { |
| | | if (txt_docCode.Enabled == false |
| | | || txxtItem1.Enabled==false |
| | | || txxtItem2.Enabled == false |
| | | || txxtItem3.Enabled == false |
| | | || txxtItem4.Enabled == false) |
| | | return; |
| | | var text = txxtItem1.Text + txxtItem2.Text + txxtItem3.Text + txxtItem4.Text; |
| | | txt_ruleFormat.Text = text; |
| | | if (txt_docCode.EditValue == null) |
| | | { |
| | | ToolBox.MsgHelper.Warning("请先选择单据类型"); |
| | | txt_docCode.Focus(); |
| | | return; |
| | | } |
| | | if (txt_ruleFormat.Text == "") |
| | | { |
| | | lblPreview.Text = "请定义规则."; |
| | | } |
| | | else |
| | | { |
| | | // txtRuleFormat="<年年>", "<年年年年>", "<月月>", "<日日>" }); |
| | | var preview = txt_ruleFormat.Text; |
| | | var length = int.Parse(txt_noLength.Value.ToString()); |
| | | var docCode = ""; |
| | | if (txt_flagIncludeDocCode.Checked) |
| | | { |
| | | docCode = txt_docCode.EditValue.ToString(); |
| | | } |
| | | preview = docCode + preview; |
| | | preview = preview.Replace("<无>", ""); |
| | | preview = preview.Replace("<年年年年>", "2024"); |
| | | preview = preview.Replace("<年年>", "24"); |
| | | preview = preview.Replace("<月月>", "06"); |
| | | preview = preview.Replace("<日日>", "18"); |
| | | preview = preview + (txt_flagSpilitNo.Checked ? "-" : "") + "8".PadLeft(length, '0'); |
| | | lblPreview.Text = "生成编号:" + preview; |
| | | } |
| | | } |
| | | private void Txt_docCode_EditValueChanged(object sender, EventArgs e) |
| | | { |
| | | DoPreviewCode(); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | |