public void GetOperator() { DataTable table = SD3000.GetOperators(ConnString); if (table != null) { cboBiller.DataSource = table; cboBiller.DisplayMember = "opname"; cboBiller.ValueMember = "opname"; } }
public void GetCredTypes() { DataTable table = SD3000.GetCredTypes(ConnString); if (table != null) { cboCredType.DataSource = table; cboCredType.DisplayMember = "name"; cboCredType.ValueMember = "id"; } }
/// <summary> /// 获取速达账套 /// </summary> public void GetAccounts() { DataTable table = SD3000.GetAccounts(ConnString); if (table != null) { cboAccount.DataSource = table; cboAccount.DisplayMember = "corpname"; cboAccount.ValueMember = "accsetname"; cboAccount.SelectedIndexChanged += CboAccount_SelectedIndexChanged; } }
public void GetSubjects() { if (string.IsNullOrWhiteSpace(ConnString)) { throw new ArgumentNullException("数据库链接字符串不能为空!"); } DataTable subjects = SD3000.GetSubjects(ConnString); if (subjects != null) { DataTable table = subjects.Copy(); //税金科目 cboTaxSSubject.DataSource = table; cboTaxSSubject.DisplayMember = "displayname"; cboTaxSSubject.ValueMember = "subid"; DataRow[] rows = table.Select("subcode='2221001005'"); if (rows.Length > 0) { cboTaxSSubject.SelectedIndex = table.Rows.IndexOf(rows[0]); } //主营业务科目 cboIncomeSubject.DataSource = subjects; cboIncomeSubject.DisplayMember = "displayname"; cboIncomeSubject.ValueMember = "subid"; DataRow[] rows2 = subjects.Select("subcode='6001'"); if (rows2.Length > 0) { cboIncomeSubject.SelectedIndex = subjects.Rows.IndexOf(rows2[0]); } //收入科目 DataTable cashTable = subjects.Copy(); cboCashSubject.DataSource = cashTable; cboCashSubject.DisplayMember = "displayname"; cboCashSubject.ValueMember = "subid"; DataRow[] rows3 = cashTable.Select("subcode='1001'"); if (rows2.Length > 0) { cboCashSubject.SelectedIndex = cashTable.Rows.IndexOf(rows2[0]); } _SubjectTable = table.Copy(); cboDetailSubject.DataSource = _SubjectTable; cboDetailSubject.DisplayMember = "displayname"; cboDetailSubject.ValueMember = "subid"; cboDetailSubject.SelectedIndexChanged += CboSubject_SelectedIndexChanged; } }
private void DataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { string server = string.Empty; string dbUser = string.Empty; string password = string.Empty; bool IntegratedSecurity = false; DataTable table = dataGridView1.DataSource as DataTable; string fieldName = dataGridView1.Columns[e.ColumnIndex].DataPropertyName.ToLower(); if (fieldName.Equals("integratedSecurity") || fieldName.Equals("password")) { if (dataGridView1.CurrentRow != null) { server = dataGridView1.CurrentRow.Cells["server"].Value.ToString(); dbUser = dataGridView1.CurrentRow.Cells["dbUser"].Value.ToString(); password = dataGridView1.CurrentRow.Cells["password"].Value.ToString(); bool.TryParse(dataGridView1.CurrentRow.Cells["integratedSecurity"].Value.ToString() , out IntegratedSecurity); } else { if (table != null && table.Rows.Count > 0) { server = table.Rows[0]["server"].ToString(); dbUser = table.Rows[0]["dbUser"].ToString(); password = table.Rows[0]["password"].ToString(); bool.TryParse(table.Rows[0]["integratedSecurity"].ToString() , out IntegratedSecurity); } } if (!string.IsNullOrWhiteSpace(password) || IntegratedSecurity) { string connString = DBHelper.GetConnectionString(server, "master", dbUser, password, IntegratedSecurity); try { accset.Items.Clear(); _AccountTable = SD3000.GetSDSysDb(connString); } catch (SqlException e1) { } catch (Exception ex) { MessageBox.Show(ex.Message); } } } }
void SaveData() { Cursor.Current = Cursors.WaitCursor; try { DataTable table = dataGridView1.DataSource as DataTable; SD3000.SaveConnection(table); } catch (Exception ex) { MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace + "\r\nSaveData"); } finally { Cursor.Current = Cursors.Default; } }
private void btnToSDInvoice_Click(object sender, EventArgs e) { FormMergeType formMergeType = new FormMergeType(); if (formMergeType.ShowDialog() != DialogResult.OK) { return; } string mergeType = formMergeType.MergeType; formMergeType.Close(); try { DataTable table = SD3000.GetConnectionTable(); string server = table.Rows[0]["server"].ToString(); string dbName = table.Rows[0]["accset"].ToString(); string dbUser = table.Rows[0]["dbUser"].ToString(); string password = table.Rows[0]["password"].ToString(); bool integratedSecurity = false; bool.TryParse(table.Rows[0]["integratedSecurity"].ToString(), out integratedSecurity); string connString = DBHelper.GetConnectionString(server, dbName, dbUser, password, integratedSecurity); DataTable mst = dataGridView_Mst.DataSource as DataTable; if (mst == null || mst.Rows.Count == 0) { MessageBox.Show("没有可转凭证的记录!"); return; } DataTable credenceTable = GroupByMst(mergeType); FormCredence cred = new FormCredence(); cred.InitialDataSource(connString, mergeType, credenceTable); cred.ShowDialog(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
void GetData() { try { DataTable table = SD3000.GetConnectionTable(); if (table.Rows.Count > 0) { accset.Items.Add(table.Rows[0]["accset"].ToString()); dataGridView1.AllowUserToAddRows = false; } else { dataGridView1.AllowUserToAddRows = true; } dataGridView1.DataSource = table; } catch (Exception ex) { MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace + "\r\nGetData"); } }
//获取应收账款科目 private void btnGetSub_Click(object sender, EventArgs e) { if (cboAccount.SelectedIndex == -1) { if (cboAccount.SelectedIndex == -1) { MessageBox.Show("请选择要导入的账套"); cboAccount.Focus(); return; } } DataTable table = dataGridView1.DataSource as DataTable; if (table == null || table.Rows.Count == 0) { MessageBox.Show("细表资料为空,无法获取科目"); return; } foreach (DataRow row in table.Rows) { string vendor = row["vendor"].ToString(); if (string.IsNullOrWhiteSpace(vendor)) { continue; } DataTable subTable = SD3000.GetSubjectByName(ConnString, vendor); if (subTable != null && subTable.Rows.Count > 0) { row["subid"] = subTable.Rows[0]["subid"]; row["subID_D_Name"] = subTable.Rows[0]["name"]; } } }
private void btnOK_Click(object sender, EventArgs e) { if (cboAccount.SelectedIndex == -1) { MessageBox.Show("请选择要导入的账套"); cboAccount.Focus(); return; } if (cboCredType.SelectedIndex == -1) { MessageBox.Show("请选择凭证字"); cboCredType.Focus(); return; } if (cboBiller.SelectedIndex == -1) { MessageBox.Show("请选择制单人"); cboBiller.Focus(); return; } if (cboIncomeSubject.SelectedIndex == -1) { MessageBox.Show("请选择主营业务收入科目"); cboIncomeSubject.Focus(); return; } if (cboTaxSSubject.SelectedIndex == -1) { MessageBox.Show("请选择应交税费科目"); cboTaxSSubject.Focus(); return; } int credtype = -1; if (int.TryParse(cboCredType.SelectedValue.ToString(), out credtype)) { Credtype = credtype; } int subId_C = -1; if (int.TryParse(cboIncomeSubject.SelectedValue.ToString(), out subId_C)) { Sub_C = subId_C; } int subId_D = -1; int.TryParse(cboCashSubject.SelectedValue.ToString(), out subId_D); int subId_Tax = -1; if (int.TryParse(cboTaxSSubject.SelectedValue.ToString(), out subId_Tax)) { Sub_Tax = subId_Tax; } BillMaker = cboBiller.SelectedValue.ToString(); CredDate = dteCredDate.Value; int moneyId = 0; DataTable table = dataGridView1.DataSource as DataTable; if (table == null || table.Rows.Count == 0) { MessageBox.Show("细表为空,无凭证可生成!"); return; } try { SD3000.CreateCredence(ConnString, table, credtype, CredDate, BillMaker, subId_Tax, subId_C, subId_D, moneyId); MessageBox.Show("凭证生成成功!"); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
DataTable GroupByMst(string mergeType) { DataTable credenceTable = SD3000.GetEmptyCredenceItem(); DataTable mstTable = dataGridView_Mst.DataSource as DataTable; if (mstTable == null) { return(credenceTable); } switch (mergeType) { case "按购货单位合并": #region var query = from t in mstTable.AsEnumerable() group t by new { t1 = t.Field <string>("ghdwsbh") } into m select new { vendorcode = m.Key.t1, vendor = m.FirstOrDefault().Field <string>("ghdwmc"), debit = m.Sum(n => n.Field <decimal>("jshj")), credit = m.Sum(n => n.Field <decimal>("hjse")) }; if (query.ToList().Count > 0) { query.ToList().ForEach(q => { DataRow row = credenceTable.NewRow(); row["debit"] = q.debit; row["credit"] = q.credit; row["vendor"] = q.vendor; credenceTable.Rows.Add(row); }); } #endregion break; case "按购货单位和期别合并": #region var query2 = from t in mstTable.AsEnumerable() group t by new { t1 = t.Field <string>("ghdwmc"), t2 = t.Field <string>("qb") } into m select new { vendor = m.Key.t1, kprq = m.Key.t2, debit = m.Sum(n => n.Field <decimal>("jshj")), credit = m.Sum(n => n.Field <decimal>("hjse")) }; if (query2.ToList().Count > 0) { query2.ToList().ForEach(q => { DataRow row = credenceTable.NewRow(); row["debit"] = q.debit; row["credit"] = q.credit; row["vendor"] = q.vendor; credenceTable.Rows.Add(row); }); } #endregion break; case "合并生成一张凭证": #region DataRow r = credenceTable.NewRow(); decimal debit = 0m; decimal credit = 0m; foreach (DataRow row in mstTable.Rows) { if (row.RowState == DataRowState.Deleted) { continue; } debit += decimal.Parse(row["jshj"].ToString()); credit += decimal.Parse(row["hjse"].ToString()); } r["debit"] = debit; r["credit"] = credit; credenceTable.Rows.Add(r); #endregion break; case "不合并": #region foreach (DataRow row in mstTable.Rows) { if (row.RowState == DataRowState.Deleted) { continue; } DataRow r2 = credenceTable.NewRow(); r2["debit"] = row["jshj"]; r2["credit"] = row["hjse"]; r2["vendor"] = row["ghdwmc"]; credenceTable.Rows.Add(r2); } #endregion break; } return(credenceTable); }