Example #1
0
        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);
            }
        }
Example #2
0
 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);
         }
     }
 }
Example #3
0
        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);
                }
            }
        }