private void buttonAccountRealPay_Click(object sender, EventArgs e) { try { if (this.model1.SelectionRange.Rows != 1) { MessageBox.Show("请选择一项薪金单!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } catch { return; } var rowData = this.model1.GetRows(getSelectRowIds()); AccountSynchronize accountSynchronize = new AccountSynchronize(); if (rowData[0]["id"] == null || rowData[0]["no"] == null) { return; } accountSynchronize.payNoteId = ((int)rowData[0]["id"]); accountSynchronize.personId = ((int)GlobalData.Person["id"]); accountSynchronize.warehouseId = ((int)GlobalData.Warehouse["id"]); accountSynchronize.voucherInfo = (string)rowData[0]["no"]; accountSynchronize.comment = "薪金自动同步到总账"; if (GlobalData.AccountPeriod == null) { MessageBox.Show("当前会计期间为空,请先检查会计期间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } accountSynchronize.accountPeriodId = (int)GlobalData.AccountPeriod["id"]; string jsonstr = JsonConvert.SerializeObject(accountSynchronize); string json = (new JavaScriptSerializer()).Serialize(accountSynchronize); try { string url = Defines.ServerURL + "/warehouse/" + GlobalData.AccountBook + "/pay_note/real_pay_to_account_title"; RestClient.RequestPost <List <IDictionary <string, object> > >(url, json); MessageBox.Show("薪金同步到总账成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.searchView1.Search(); this.RefreshState(); if (form != null) { this.form.payNoteState = FormPayNote.CONFIRM_REAL_PAY; this.form.UpdateState(); } } catch (WebException ex) { string message = ex.Message; if (ex.Response != null) { message = new StreamReader(ex.Response.GetResponseStream()).ReadToEnd(); } MessageBox.Show(("薪金同步到总账") + "失败:" + message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void buttonRealPayAll_Click(object sender, EventArgs e) { if (this.model1.RowCount == 0) { return; } try { string body = $"{{\"taxId\":\"{this.taxId}\",\"payNoteId\":\"{payNoteId}\"}}"; string url = Defines.ServerURL + "/warehouse/" + GlobalData.AccountBook + "/pay_note_item/real_pay_all"; RestClient.RequestPost <List <IDictionary <string, object> > >(url, body); MessageBox.Show("计算成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.searchView1.Search(); } catch (WebException ex) { string message = ex.Message; if (ex.Response != null) { message = new StreamReader(ex.Response.GetResponseStream()).ReadToEnd(); } MessageBox.Show(("确认") + "失败:" + message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } if (this.judgeAllFinish(payNoteId, PAYED)) { if (MessageBox.Show("本单全部条目已经支付,是否直接同步到实付总账?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) { return; } AccountSynchronize accountSynchronize = new AccountSynchronize(); accountSynchronize.payNoteId = payNoteId; accountSynchronize.personId = ((int)GlobalData.Person["id"]); accountSynchronize.warehouseId = ((int)GlobalData.Warehouse["id"]); accountSynchronize.voucherInfo = this.payNoteNo; accountSynchronize.comment = "实付自动同步到总账"; if (GlobalData.AccountPeriod == null) { MessageBox.Show("当前会计期间为空,请先检查会计期间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } accountSynchronize.accountPeriodId = (int)GlobalData.AccountPeriod["id"]; string json = (new JavaScriptSerializer()).Serialize(accountSynchronize); try { string url = Defines.ServerURL + "/warehouse/" + GlobalData.AccountBook + "/pay_note/real_pay_to_account_title"; RestClient.RequestPost <List <IDictionary <string, object> > >(url, json); MessageBox.Show("实付同步到总账成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); addFinishedCallback?.Invoke(); this.searchView1.Search(); this.payNoteState = FormPayNote.CONFIRM_REAL_PAY; this.UpdateState(); } catch (WebException ex) { string message = ex.Message; if (ex.Response != null) { message = new StreamReader(ex.Response.GetResponseStream()).ReadToEnd(); } MessageBox.Show(("实付同步到总账") + "失败:" + message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } }
private void ButtonCalculateItemsTax_Click(object sender, EventArgs e) { try { if (this.model1.SelectionRange.Rows == 0) { MessageBox.Show("请选择薪金单条目!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } catch { return; } var rowData = this.model1.GetRows(this.getSelectRowIds()); bool dateNull = true; StringBuilder payNoteIds = new StringBuilder(); payNoteIds.Append("["); foreach (var a in rowData) { if (a["id"] == null) { continue; } dateNull = false; payNoteIds.Append((int)a["id"]); payNoteIds.Append(","); } if (dateNull) { MessageBox.Show("计算失败:薪金发放单中无条目!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } payNoteIds.Remove(payNoteIds.Length - 1, 1); payNoteIds.Append("]"); try { string body = $"{{\"taxId\":\"{this.taxId}\",\"payNoteId\":\"{payNoteId}\",\"payNoteItemId\":{payNoteIds.ToString()}}}"; string url = Defines.ServerURL + "/warehouse/" + GlobalData.AccountBook + "/pay_note_item/calculate_tax"; RestClient.RequestPost <List <IDictionary <string, object> > >(url, body); MessageBox.Show("计算成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.searchView1.Search(); } catch (WebException ex) { string message = ex.Message; if (ex.Response != null) { message = new StreamReader(ex.Response.GetResponseStream()).ReadToEnd(); } MessageBox.Show(("计算") + "失败:" + message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } if (this.judgeAllFinish(payNoteId, PAYED)) { if (MessageBox.Show("本单全部条目已经计算税费,是否直接同步到总账?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) { return; } AccountSynchronize accountSynchronize = new AccountSynchronize(); accountSynchronize.payNoteId = payNoteId; accountSynchronize.personId = ((int)GlobalData.Person["id"]); accountSynchronize.warehouseId = ((int)GlobalData.Warehouse["id"]); accountSynchronize.comment = "薪金自动同步到总账"; accountSynchronize.voucherInfo = this.payNoteNo; if (GlobalData.AccountPeriod == null) { MessageBox.Show("当前会计期间为空,请先检查会计期间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } accountSynchronize.accountPeriodId = (int)GlobalData.AccountPeriod["id"]; string json = (new JavaScriptSerializer()).Serialize(accountSynchronize); try { string url = Defines.ServerURL + "/warehouse/" + GlobalData.AccountBook + "/pay_note/real_pay_to_account_title"; RestClient.RequestPost <List <IDictionary <string, object> > >(url, json); MessageBox.Show("应付同步到总账成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); addFinishedCallback?.Invoke(); this.payNoteState = FormPayNote.CONFIRM_REAL_PAY; this.UpdateState(); this.searchView1.Search(); } catch (WebException ex) { string message = ex.Message; if (ex.Response != null) { message = new StreamReader(ex.Response.GetResponseStream()).ReadToEnd(); } MessageBox.Show(("薪金同步到总账") + "失败:" + message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } }