Example #1
0
        public void SaveInvoice(TaxInvoice taxInvoice)
        {
            StringBuilder sbQuery = new StringBuilder();

            if (taxInvoice.InvoiceId > 0)
            {
                sbQuery.Append("Update InvoiceMaster Set InvoiceDate='" + taxInvoice.InvoiceDate.ToString("dd-MMM-yyyy hh:mm:ss") + "', Freight=" + taxInvoice.Freight + ",");
                sbQuery.Append("Discount=" + taxInvoice.Discount + ", CGST=" + taxInvoice.CGST + ", SGST=" + taxInvoice.SGST + ", IGST=" + taxInvoice.IGST + " ");
                sbQuery.Append("where InvoiceId = " + taxInvoice.InvoiceId + "; ");
                sbQuery.Append("Delete from ShadeDetails where Invoiceid=" + taxInvoice.InvoiceId + ";");
                Common.ExecuteNonQuery(sbQuery.ToString());
            }
            else
            {
                sbQuery.Append("Insert into InvoiceMaster(InvoiceNumber,InvoiceDate,ClientId,Freight,Discount,CGST,SGST,IGST) ");
                sbQuery.Append("Values ('" + taxInvoice.InvoiceNo + "','" + taxInvoice.InvoiceDate.ToString("dd-MMM-yyyy hh:mm:ss") + "'," + taxInvoice.ClientId + "," + taxInvoice.Freight + "," + taxInvoice.Discount + "," + taxInvoice.CGST + "," + taxInvoice.SGST + "," + taxInvoice.IGST + ");");
                sbQuery.Append("SELECT CAST(SCOPE_IDENTITY() AS INT) AS LAST_IDENTITY;");
                taxInvoice.InvoiceId = (int)Common.ExecuteScalar(sbQuery.ToString());
            }

            foreach (var item in taxInvoice.Shades.Where(x => !string.IsNullOrEmpty(x.ShadeCode)))
            {
                sbQuery.Clear();
                sbQuery.Append("Insert into ShadeDetails(InvoiceId,ItemName,HSINCode,ShadeCode,Inch_36,Inch_38,Inch_40,Inch_42,Inch_44,Inch_46,Inch_48,Inch_50,Rate) Values ");
                sbQuery.Append("(" + taxInvoice.InvoiceId + ",");
                sbQuery.Append("'" + item.ItemName + "','" + item.HSINCode + "','" + item.ShadeCode + "',");
                sbQuery.Append("" + item.Inch_36 + "," + item.Inch_38 + "," + item.Inch_40 + "," + item.Inch_42 + "," + item.Inch_44 + "," + item.Inch_46 + "," + item.Inch_48 + "," + item.Inch_50 + "," + item.Rate + ")");
                Common.ExecuteNonQuery(sbQuery.ToString());
                sbQuery.Clear();
                sbQuery.Append("Delete from ShadeMaster where ShadeCode='" + item.ShadeCode + "' And ClientId=" + taxInvoice.ClientId);
                sbQuery.Append("Insert into ShadeMaster(ShadeCode,ItemName,ClientId,Rate) Values ");
                sbQuery.Append("('" + item.ShadeCode + "','" + item.ItemName + "'," + taxInvoice.ClientId + "," + item.Rate + ")");
                Common.ExecuteNonQuery(sbQuery.ToString());
            }
        }
Example #2
0
 private void simpleButton1_Click(object sender, EventArgs e)
 {
     if (TaxInvoice.GetNextInvoiceNo() > 0)
     {
         memoEdit1.Text = Envior.NEXT_BILL_CODE + "    " + Envior.NEXT_BILL_NUM;
     }
 }
        private void BtnInvoiceNumber_Click(object sender, RoutedEventArgs e)
        {
            TaxInvoice    invoiceToPrint = ((Button)sender).Tag as TaxInvoice;
            CreateInvoice invoice        = new CreateInvoice(invoiceToPrint);

            invoice.ShowDialog();
        }
Example #4
0
 public static void ComputeAmount(ref TaxInvoice invoiceObject)
 {
     invoiceObject.TotalAmount       = invoiceObject.Shades.Sum(x => x.Amount);
     invoiceObject.DiscountedAmount  = Math.Round((invoiceObject.Discount * invoiceObject.TotalAmount) / 100, 2);
     invoiceObject.CGSTAmount        = Math.Round((invoiceObject.CGST * (invoiceObject.TotalAmount - invoiceObject.DiscountedAmount)) / 100, 2);
     invoiceObject.SGSTAmount        = Math.Round((invoiceObject.SGST * (invoiceObject.TotalAmount - invoiceObject.DiscountedAmount)) / 100, 2);
     invoiceObject.IGSTAmount        = Math.Round((invoiceObject.IGST * (invoiceObject.TotalAmount - invoiceObject.DiscountedAmount)) / 100, 2);
     invoiceObject.GrandTotal        = Math.Round((invoiceObject.TotalAmount - invoiceObject.DiscountedAmount) + invoiceObject.Freight + invoiceObject.CGSTAmount + invoiceObject.SGSTAmount + invoiceObject.IGSTAmount, 2);
     invoiceObject.GrandTotalInWords = VMInvoice.NumberToWords((int)invoiceObject.GrandTotal);
 }
        public static byte[] CreateTaxInvoiceReceipt(long paymentId)
        {
            byte[] pdf = new byte[0];

            using (var idmContainer = new IDMServiceClient())
                using (var container = new TransactionModelContainer())
                {
                    try
                    {
                        var payment = container.Payments.Where(x => x.Id == paymentId).FirstOrDefault();
                        if (payment != null)
                        {
                            var response = idmContainer.GetPersonByPartyId(new
                                                                           GetPersonByPartyIdRequest {
                                PartyId = payment.CustomerIdmPartyId
                            });

                            if (!response.IsSuccessful && response.Result == null)
                            {
                                throw new Exception("Customer party not found.");
                            }
                            if (string.IsNullOrEmpty(response.Result.CustomerCode))
                            {
                                throw new Exception("Not Customer");
                            }

                            var header = CreateViewPayment(payment, container);
                            header.CustomerCode = response.Result.CustomerCode;

                            TaxInvoice report = new TaxInvoice();
                            report.DataSource = header;
                            report.PaymentDataSource.DataSource = CreateViewPaymentItems(payment.PaymentItems, container);
                            var reportprocess = new ReportProcessor();
                            var result        = reportprocess.RenderReport("PDF", report, null);
                            pdf = result.DocumentBytes;

                            payment.AddTaxInvoiceReceipt(DateTime.Now, payment.CustomerName, pdf,
                                                         Convert.ToInt32(payment.Id), payment.PaymentCode);

                            container.SaveChanges();
                        }
                        else
                        {
                            throw new ArgumentException("PAYMENT_NOT_FOUND");
                        }
                    }
                    catch (Exception ex)
                    {
                        ErrorLog.Log("System", ex, SystemError.TransactionService);
                    }
                }

            return(pdf);
        }
        private List <TaxInvoice> GetAllInvoice(string query)
        {
            List <TaxInvoice> InvoiceList = new List <TaxInvoice>();
            DataSet           ds          = Common.GetDataSet(query);

            if (ds != null && ds.Tables.Count > 0)
            {
                foreach (var dr in ds.Tables[0].AsEnumerable())
                {
                    TaxInvoice objInvoice = new TaxInvoice();
                    objInvoice.InvoiceId   = Convert.ToInt32(dr["InvoiceId"]);
                    objInvoice.ClientId    = Convert.ToInt32(dr["ClientId"]);
                    objInvoice.ClientName  = Convert.ToString(dr["ClientName"]);
                    objInvoice.Address     = Convert.ToString(dr["Address"]);
                    objInvoice.GstNo       = Convert.ToString(dr["GSTNo"]);
                    objInvoice.InvoiceNo   = Convert.ToString(dr["InvoiceNumber"]);
                    objInvoice.InvoiceDate = Convert.ToDateTime(dr["InvoiceDate"]);
                    objInvoice.Discount    = dr["Discount"] == DBNull.Value ? 0 : Convert.ToDouble(dr["Discount"]);
                    objInvoice.CGST        = dr["CGST"] == DBNull.Value ? 0 : Convert.ToDouble(dr["CGST"]);
                    objInvoice.SGST        = dr["SGST"] == DBNull.Value ? 0 : Convert.ToDouble(dr["SGST"]);
                    objInvoice.IGST        = dr["IGST"] == DBNull.Value ? 0 : Convert.ToDouble(dr["IGST"]);
                    objInvoice.Freight     = dr["Freight"] == DBNull.Value ? 0 : Convert.ToDouble(dr["Freight"]);
                    for (int i = 0; i < 20; i++)
                    {
                        objInvoice.Shades.Add(new ShadeItem(i + 1));
                    }
                    string  shadequery = "Select ShadeDetailsId,ItemName,HSINCode,ShadeCode,Inch_36,Inch_38,Inch_40,Inch_42,Inch_44,Inch_46,Inch_48,Inch_50,Rate from ShadeDetails where InvoiceId =" + Convert.ToInt32(dr["InvoiceId"]) + " order by ShadeDetailsId";
                    DataSet dsShades   = Common.GetDataSet(shadequery);
                    if (dsShades != null && dsShades.Tables.Count > 0)
                    {
                        int index = 0;
                        foreach (var drShade in dsShades.Tables[0].AsEnumerable())
                        {
                            objInvoice.Shades[index].ItemName  = Convert.ToString(drShade["ItemName"]);
                            objInvoice.Shades[index].HSINCode  = Convert.ToString(drShade["HSINCode"]);
                            objInvoice.Shades[index].ShadeCode = Convert.ToString(drShade["ShadeCode"]);
                            objInvoice.Shades[index].Inch_36   = Convert.ToInt32(drShade["Inch_36"]);
                            objInvoice.Shades[index].Inch_38   = Convert.ToInt32(drShade["Inch_38"]);
                            objInvoice.Shades[index].Inch_40   = Convert.ToInt32(drShade["Inch_40"]);
                            objInvoice.Shades[index].Inch_42   = Convert.ToInt32(drShade["Inch_42"]);
                            objInvoice.Shades[index].Inch_44   = Convert.ToInt32(drShade["Inch_44"]);
                            objInvoice.Shades[index].Inch_46   = Convert.ToInt32(drShade["Inch_46"]);
                            objInvoice.Shades[index].Inch_48   = Convert.ToInt32(drShade["Inch_48"]);
                            objInvoice.Shades[index].Inch_50   = Convert.ToInt32(drShade["Inch_50"]);
                            objInvoice.Shades[index].Rate      = Convert.ToDouble(drShade["Rate"]);
                            index++;
                        }
                    }
                    VMInvoice.ComputeAmount(ref objInvoice);
                    InvoiceList.Add(objInvoice);
                }
            }
            return(InvoiceList);
        }
Example #7
0
        /// <summary>
        /// 补开发票
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void barButtonItem23_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            int    rowHandle = gridView1.FocusedRowHandle;
            string s_fa001   = string.Empty;
            string s_fa003   = string.Empty;

            if (rowHandle >= 0)
            {
                if (gridView1.GetRowCellValue(rowHandle, "FA190").ToString() == "1")
                {
                    Tools.msg(MessageBoxIcon.Exclamation, "提示", "该收费记录已经开具发票!");
                    return;
                }
                else if (gridView1.GetRowCellValue(rowHandle, "FA190").ToString() == "3" /*原财政发票*/)
                {
                    Tools.msg(MessageBoxIcon.Exclamation, "提示", "不能补开以前财政发票收费!");
                    return;
                }
                s_fa001 = gridView1.GetRowCellValue(rowHandle, "FA001").ToString();

                int i_papers = BusinessAction.GetInvoicePapers(s_fa001);
                if (XtraMessageBox.Show("本次结算共需要" + i_papers.ToString() + "张发票,现在开具吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                {
                    return;
                }


                //获取税务客户信息
                s_fa003 = gridView1.GetRowCellValue(rowHandle, "FA003").ToString();

                Frm_TaxClientInfo frm_taxClient = new Frm_TaxClientInfo(s_fa003);
                if (frm_taxClient.ShowDialog() != DialogResult.OK)
                {
                    return;
                }
                TaxClientInfo clientInfo = frm_taxClient.swapdata["taxclientinfo"] as TaxClientInfo;

                CriteriaOperator    criteria          = CriteriaOperator.Parse("FA001='" + s_fa001 + "' and FLAG='2'");
                XPCollection <FP01> xpCollection_fp01 = new XPCollection <FP01>(PersistentCriteriaEvaluationBehavior.BeforeTransaction, unitOfWork1, criteria);
                foreach (FP01 fp01 in xpCollection_fp01)
                {
                    if (TaxInvoice.GetNextInvoiceNo() > 0)
                    {
                        if (XtraMessageBox.Show("下一张税票代码:" + Envior.NEXT_BILL_CODE + "\r\n" + "票号:" + Envior.NEXT_BILL_NUM + ",是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            TaxInvoice.Invoice(fp01.FP001, clientInfo);
                        }
                    }
                }
            }
        }
Example #8
0
        public TaxInvoice Save(TaxInvoice invoice)
        {
            var url     = string.Format("TaxInvoice/Save?apikey={0}&companyid={1}", _apiKey, _companyId);
            var request = new RestRequest(url, Method.POST)
            {
                JsonSerializer = new JsonSerializer()
            };

            request.RequestFormat = DataFormat.Json;
            request.AddBody(invoice);
            var response = _client.Execute <TaxInvoice>(request);

            StatusDescription = response.StatusDescription;
            StatusCode        = response.StatusCode;
            return(response.Data);
        }
Example #9
0
        /// <summary>
        /// 补开税务退费发票
        /// </summary>
        /// <param name="fa001"></param>
        private void ReInvoiceTaxRefund(string fa001)
        {
            string s_cuname = SqlAssist.ExecuteScalar("select fa003 from fa01 where fa001='" + fa001 + "'").ToString();
            //获取税务客户信息
            Frm_TaxClientInfo frm_taxClient = new Frm_TaxClientInfo(s_cuname);

            if (frm_taxClient.ShowDialog() == DialogResult.OK)
            {
                TaxClientInfo clientInfo = frm_taxClient.swapdata["taxclientinfo"] as TaxClientInfo;
                if (TaxInvoice.GetNextInvoiceNo() > 0)
                {
                    if (XtraMessageBox.Show("下一张税票代码:" + Envior.NEXT_BILL_CODE + "\r\n" + "票号:" + Envior.NEXT_BILL_NUM + ",是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        TaxInvoice.Invoice(fa001, clientInfo);
                    }
                }
            }
        }
Example #10
0
        /// <summary>
        /// 打印税票清单
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void barButtonItem9_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (!AppAction.CheckRight("补打发票"))
            {
                return;
            }

            string s_fa001 = string.Empty;
            int    rowHandle;

            if (tabPane1.SelectedPageIndex == 0)
            {
                rowHandle = gridView1.FocusedRowHandle;
                if (gridView1.GetRowCellValue(rowHandle, "FA190").ToString().Substring(1, 1) == "0")
                {
                    XtraMessageBox.Show("当前收费记录未开具税务发票!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
                s_fa001 = gridView1.GetRowCellValue(rowHandle, "FA001").ToString();
            }
            else if (tabPane1.SelectedPageIndex == 1)
            {
                rowHandle = gridView3.FocusedRowHandle;
                if (gridView3.GetRowCellValue(rowHandle, "BILLTYPE").ToString() == "F")
                {
                    XtraMessageBox.Show("当前发票为财政发票!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
                s_fa001 = gridView3.GetRowCellValue(rowHandle, "FA001").ToString();
            }
            OracleDataReader reader = SqlAssist.ExecuteReader("select * from tax_log where settleId='" + s_fa001 + "'");

            {
                reader.Read();
                string s_fpdm = reader["INVOICECODE"].ToString();
                string s_fphm = reader["INVOICENUM"].ToString();
                if (XtraMessageBox.Show("发票代码:" + s_fpdm + "\r\n" + "发票号码:" + s_fphm + "\r\n是否继续?", "确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    TaxInvoice.PrintInvoice(s_fa001, "1");
                }
            }
            reader.Dispose();
        }
        public void CreateTaxInvoice()
        {
            var customerId = 0;
            var salesRepId = 0;

            var itemId    = 0;
            var taxTypeId = 0;

            TaxInvoice invoice  = new TaxInvoice();
            var        customer = Api.CustomerRequest.Get(customerId);
            var        salesRep = Api.SalesRepresentativeRequest.Get(salesRepId);

            // Must set both CustomerId and Customer in order to work
            invoice.CustomerId = customerId;
            invoice.Customer   = customer;

            // Must set both SalesRepresentativeId and SalesRepresentative in order to work
            invoice.SalesRepresentativeId = salesRepId;
            invoice.SalesRepresentative   = salesRep;

            invoice.Date    = DateTime.Now;
            invoice.DueDate = new DateTime(2015, 12, 12);

            invoice.Lines = new List <CommercialDocumentLine>();

            var line1 = new CommercialDocumentLine
            {
                SelectionId        = itemId,    // This must be an item or account id
                TaxTypeId          = taxTypeId, // Use TaxTypeRequest to get list of Tax Types
                LineType           = 0,         // 0=Item/1=Account
                Quantity           = 1,
                UnitPriceExclusive = 390,
                UnitPriceInclusive = 390,
                DiscountPercentage = 0
            };

            invoice.Lines.Add(line1);

            var newTaxInvoice = taxInvoiceRequest.Save(invoice);

            Assert.IsTrue(taxInvoiceRequest.StatusCode == HttpStatusCode.Created);
        }
Example #12
0
        private void simpleButton1_Click(object sender, EventArgs e)
        {
            string s_fpdm = string.Empty;
            string s_fphm = string.Empty;

            if (gridView1.SelectedRowsCount == 0)
            {
                XtraMessageBox.Show("请先选择要打印的记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            foreach (int i in gridView1.GetSelectedRows())
            {
                s_fpdm = gridView1.GetRowCellValue(i, "INVOICECODE").ToString();
                s_fphm = gridView1.GetRowCellValue(i, "INVOICENUM").ToString();
                if (XtraMessageBox.Show("发票代码:" + s_fpdm + "\r\n" + "发票号码:" + s_fphm + "\r\n是否继续?", "打印清单", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    TaxInvoice.PrintInvoice(s_fpdm, s_fphm, "1");
                }
            }
        }
Example #13
0
        /// <summary>
        /// 打印发票清单
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void barButtonItem30_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            int    rowHandle = gridView1.FocusedRowHandle;
            int    papers    = 0;
            string s_fa001   = string.Empty;

            if (rowHandle >= 0)
            {
                s_fa001 = gridView1.GetRowCellValue(rowHandle, "FA001").ToString();
                papers  = BusinessAction.GetHaveInvoicePapers(s_fa001);
                if (papers == 0)
                {
                    Tools.msg(MessageBoxIcon.Exclamation, "提示", "此收费记录尚未开具发票!");
                    return;
                }
                else if (papers == 1)  //一张发票
                {
                    using (OracleDataReader reader = SqlAssist.ExecuteReader("select * from fp01 where fa001='" + s_fa001 + "' and flag = '1' and rownum < 2"))
                    {
                        reader.Read();
                        string s_fpdm = reader["INVOICECODE"].ToString();
                        string s_fphm = reader["INVOICENUM"].ToString();
                        if (XtraMessageBox.Show("发票代码:" + s_fpdm + "\r\n" + "发票号码:" + s_fphm + "\r\n是否继续?", "确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            TaxInvoice.PrintInvoice(s_fpdm, s_fphm, "1");
                        }
                    }
                }
                else if (papers > 1)   //多张发票
                {
                    Frm_InvoiceDisplay frm_1 = new Frm_InvoiceDisplay();
                    frm_1.swapdata["fa001"] = s_fa001;
                    frm_1.ShowDialog();
                    frm_1.Dispose();
                }
            }
        }
Example #14
0
        private void simpleButton18_Click(object sender, EventArgs e)
        {
            string s_retstr = TaxInvoice.WrapData("FPKJ", memoEdit2.Text, memoEdit1.Text);
            //分析返回结果
            Object obj = JsonConvert.DeserializeObject(s_retstr);

            Newtonsoft.Json.Linq.JObject js = obj as Newtonsoft.Json.Linq.JObject;

            if (js["code"].ToString() == "00000")               //成功
            {
                string data = js["data"].ToString();
                //解密 返回数据
                string resultText = Tools.AesDecrypt(data, Envior.TAX_PRIVATE_KEY);

                //解析真正的业务数据
                Object obj2 = JsonConvert.DeserializeObject(resultText);
                Newtonsoft.Json.Linq.JObject js2 = obj2 as Newtonsoft.Json.Linq.JObject;
                XtraMessageBox.Show("发票开具成功!");
            }
            else
            {
                XtraMessageBox.Show("发票开具失败!\r\n" + js["msg"].ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Example #15
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void sb_ok_Click(object sender, EventArgs e)
        {
            string s_fa001 = string.Empty;
            FA01   fa01    = null;
            SA01   sa01    = null;
            BI01   bi01    = null;
            AC01   ac01_m  = null;
            REFUND refund  = null;
            int    i_invoice_num;

            if (XtraMessageBox.Show("确认要进行退墓操作,本操作将不可撤销,是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
            {
                return;
            }
            if (decimal.TryParse(te_refund.Text, out dec_tomb))
            {
                if (dec_tomb <= 0 || dec_tomb > ac01.AC022)
                {
                    te_refund.ErrorImageOptions.Alignment = ErrorIconAlignment.MiddleRight;
                    te_refund.ErrorText = "退费金额错误!";
                    return;
                }
            }
            else
            {
                te_refund.ErrorImageOptions.Alignment = ErrorIconAlignment.MiddleRight;
                te_refund.ErrorText = "请输入退购墓费!";
                return;
            }
            try
            {
                s_fa001 = MiscAction.GetEntityPK("FA01");

                //2.保存销售记录
                sa01        = new SA01(unitOfWork1);
                sa01.SA001  = MiscAction.GetEntityPK("SA01");              //销售流水号
                sa01.AC001  = ac01.AC001;                                  //购墓流水号
                sa01.SA002  = '0';                                         //服务或商品类别 0-购墓费 1-商品或服务 2-管理费
                sa01.SA003  = "购墓费";
                sa01.SA004  = ac01.AC015;                                  //墓位编号
                sa01.SA005  = '0';                                         //业务类型 0-购墓 1-临时销售
                sa01.PRICE  = dec_tomb;                                    //单价
                sa01.NUMS   = -1;                                          //数量
                sa01.SA007  = 0 - dec_tomb;                                //金额
                sa01.SA006  = sa01.SA007;                                  //原始单价
                sa01.SA008  = '1';                                         //结算状态 1-已结算 0-未结算
                sa01.SA010  = s_fa001;                                     //结算流水号
                sa01.SA020  = 'T';                                         //发票类型
                sa01.SA025  = MiscAction.GetSysParaValue1("tomb_taxrate"); //税率
                sa01.SA100  = Envior.cur_userId;                           //经办人
                sa01.SA200  = Tools.GetServerDate();                       //经办日期
                sa01.STATUS = '1';                                         //状态 1-正常 0-删除
                sa01.Save();

                for (int i = 0; i < gridView1.RowCount; i++)
                {
                    if (!gridView1.IsRowSelected(i))
                    {
                        continue;
                    }
                    sa01        = new SA01(unitOfWork1);
                    sa01.SA001  = MiscAction.GetEntityPK("SA01");                                      //销售流水号
                    sa01.AC001  = ac01.AC001;                                                          //购墓流水号
                    sa01.SA002  = '1';                                                                 //服务或商品类别 0-购墓费 1-商品或服务 2-管理费
                    sa01.SA003  = gridView1.GetRowCellValue(i, "SA003").ToString();                    //项目名称
                    sa01.SA004  = gridView1.GetRowCellValue(i, "SA004").ToString();                    //项目编号
                    sa01.SA005  = '0';                                                                 //业务类型 0-购墓 1-临时销售
                    sa01.PRICE  = Convert.ToDecimal(gridView1.GetRowCellValue(i, "PRICE"));            //单价
                    sa01.NUMS   = 0 - Convert.ToDecimal(gridView1.GetRowCellValue(i, "NUMS"));         //数量
                    sa01.SA007  = 0 - Convert.ToDecimal(gridView1.GetRowCellValue(i, "SA007"));        //金额
                    sa01.SA006  = sa01.SA007;                                                          //原始单价
                    sa01.SA008  = '1';                                                                 //结算状态 1-已结算 0-未结算
                    sa01.SA010  = s_fa001;                                                             //结算流水号
                    sa01.SA020  = 'T';                                                                 //发票类型
                    sa01.SA025  = BusinessAction.GetTaxRate(sa01.SA004);                               //税率
                    sa01.SA100  = Envior.cur_userId;                                                   //经办人
                    sa01.SA200  = Tools.GetServerDate();                                               //经办日期
                    sa01.STATUS = '1';                                                                 //状态 1-正常 0-删除
                    sa01.Save();
                }

                //3.保存退费日志
                refund       = new REFUND(unitOfWork1);
                refund.RF001 = s_fa001;
                refund.RF003 = te_reason.Text;
                refund.RF004 = 0 - (dec_tomb + dec_sales);
                refund.RF100 = Envior.cur_userId;
                refund.RF200 = Tools.GetServerDate();
                refund.RF300 = ac01.AC048;                               //原结算流水号
                refund.Save();

                ///4.保存缴费记录
                fa01        = new FA01(unitOfWork1);
                fa01.FA001  = s_fa001;                    //结算流水号
                fa01.FA002  = '0';                        //结算类型 0-购墓 1-服务祭品 2-管理费
                fa01.FA003  = ac01.AC003;                 //购墓人
                fa01.FA004  = 0 - (dec_tomb + dec_sales); //金额
                fa01.FA190  = '0';                        //开票标志 0-未开票
                fa01.FA100  = Envior.cur_userId;          //经办人
                fa01.FA200  = Tools.GetServerDate();      //经办日期
                fa01.STATUS = "1";                        //状态
                fa01.AC001  = ac01.AC001;
                fa01.WS001  = Envior.WORKSTATIONID;       //工作站
                fa01.Save();

                //5.修改ac01
                ac01_m        = unitOfWork1.GetObjectByKey <AC01>(ac01.AC001, true);
                ac01_m.STATUS = '2';                                     //状态-退墓
                ac01_m.Save();

                //6.修改号位状态
                bi01 = unitOfWork1.GetObjectByKey <BI01>(ac01.AC015, true);
                if (bi01 != null)
                {
                    bi01.AC001  = "";
                    bi01.STATUS = '1';
                    bi01.Save();
                }
                unitOfWork1.CommitTransaction();

                i_invoice_num = BusinessAction.GetInvoicePapers(s_fa001);
                if (i_invoice_num == 0)
                {
                    Tools.msg(MessageBoxIcon.Information, "提示", "退墓成功!");
                }
                else
                {
                    if (XtraMessageBox.Show("退墓办理成功!\r\n" + "本次业务共需要" + i_invoice_num.ToString() + "张发票,现在开具吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        sb_ok.Enabled = false;
                        //获取税务客户信息
                        string            s_ac003       = te_ac003.Text;
                        Frm_TaxClientInfo frm_taxClient = new Frm_TaxClientInfo(s_ac003);
                        if (frm_taxClient.ShowDialog() != DialogResult.OK)
                        {
                            return;
                        }
                        TaxClientInfo clientInfo = frm_taxClient.swapdata["taxclientinfo"] as TaxClientInfo;

                        CriteriaOperator    criteria          = CriteriaOperator.Parse("FA001='" + s_fa001 + "'");
                        XPCollection <FP01> xpCollection_fp01 = new XPCollection <FP01>(PersistentCriteriaEvaluationBehavior.BeforeTransaction, unitOfWork1, criteria);
                        foreach (FP01 fp01 in xpCollection_fp01)
                        {
                            if (TaxInvoice.GetNextInvoiceNo() > 0)
                            {
                                if (XtraMessageBox.Show("下一张税票代码:" + Envior.NEXT_BILL_CODE + "\r\n" + "票号:" + Envior.NEXT_BILL_NUM + ",是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                                {
                                    TaxInvoice.Invoice(fp01.FP001, clientInfo);
                                }
                            }
                        }
                    }
                }
                this.DialogResult = DialogResult.OK;
                this.Close();
            }
            catch (Exception ee)
            {
                unitOfWork1.RollbackTransaction();
                Tools.msg(MessageBoxIcon.Error, "错误", ee.ToString());
            }
        }
Example #16
0
 private void simpleButton17_Click(object sender, EventArgs e)
 {
     TaxInvoice.ClientIsOnline();
 }
Example #17
0
        /// <summary>
        /// 补开发票
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void barButtonItem2_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (!AppAction.CheckRight("补开发票"))
            {
                return;
            }

            int rowHandle = gridView1.FocusedRowHandle;

            if (rowHandle < 0)
            {
                return;
            }

            if (gridView1.GetRowCellValue(rowHandle, "FA190").ToString() == gridView1.GetRowCellValue(rowHandle, "FA195").ToString())
            {
                XtraMessageBox.Show("此笔收费记录已经开具发票!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            string s_fa001 = gridView1.GetRowCellValue(rowHandle, "FA001").ToString();

            //如果办理过退费,不能再开具发票了
            if (MiscAction.HaveRefund(s_fa001))
            {
                XtraMessageBox.Show("此笔收费记录办理过退费,不能再开具发票!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            //如果收费不是本工作站,提示
            if (!string.IsNullOrEmpty(gridView1.GetRowCellValue(rowHandle, "WS001").ToString()))
            {
                if (!Envior.WORKSTATIONID.Equals(gridView1.GetRowCellValue(rowHandle, "WS001").ToString()))
                {
                    if (XtraMessageBox.Show("此收费记录结算并非当前工作站,是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                    {
                        return;
                    }
                }
            }

            //TODO 负数发票补开
            if (Convert.ToDecimal(gridView1.GetRowCellValue(rowHandle, "FA004")) < 0)
            {
                //需要补开财政发票
                if (gridView1.GetRowCellValue(rowHandle, "FA190").ToString().Substring(0, 1) == "0" && gridView1.GetRowCellValue(rowHandle, "FA195").ToString().Substring(0, 1) == "1")
                {
                    XtraMessageBox.Show("现在开始补开【财政发票】!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    ReInvoiceFinRefund(s_fa001);
                }
                //需要补开税务发票
                if (gridView1.GetRowCellValue(rowHandle, "FA190").ToString().Substring(1, 1) == "0" && gridView1.GetRowCellValue(rowHandle, "FA195").ToString().Substring(1, 1) == "1")
                {
                    XtraMessageBox.Show("现在开始补开【税务发票】!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    ReInvoiceTaxRefund(s_fa001);
                }
                return;
            }



            //需要开具财政发票
            if (gridView1.GetRowCellValue(rowHandle, "FA190").ToString().Substring(0, 1) == "0" &&
                gridView1.GetRowCellValue(rowHandle, "FA195").ToString().Substring(0, 1) == "1")
            {
                XtraMessageBox.Show("现在准备开具财政发票!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                if (FinInvoice.GetCurrentPh() > 0)
                {
                    if (XtraMessageBox.Show("下一张财政发票号码:" + Envior.FIN_NEXT_BILL_NO + ",是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        FinInvoice.Invoice(s_fa001);
                    }
                }
            }

            ///开税票
            if (gridView1.GetRowCellValue(rowHandle, "FA190").ToString().Substring(1, 1) == "0" &&
                gridView1.GetRowCellValue(rowHandle, "FA195").ToString().Substring(1, 1) == "1")
            {
                XtraMessageBox.Show("现在准备开具税务发票!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                //获取税务客户信息
                Frm_TaxClientInfo frm_taxClient = new Frm_TaxClientInfo();
                if (frm_taxClient.ShowDialog() != DialogResult.OK)
                {
                    return;
                }
                TaxClientInfo clientInfo = frm_taxClient.swapdata["taxclientinfo"] as TaxClientInfo;

                if (TaxInvoice.GetNextInvoiceNo() < 0)
                {
                    return;                                                     //获取票据号失败,则退出!!!
                }
                if (XtraMessageBox.Show("下一张税票代码:" + Envior.NEXT_BILL_CODE + "\r\n" + "票号:" + Envior.NEXT_BILL_NUM + ",是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    TaxInvoice.Invoice(s_fa001, clientInfo);
                }
            }
        }
Example #18
0
        /// <summary>
        /// 收款作废
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void bBi_remove_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            try
            {
                if (tabPane1.SelectedPageIndex == 0)                  //按笔数显示
                {
                    int rowHandle = gridView1.FocusedRowHandle;
                    if (rowHandle >= 0)
                    {
                        string s_handler = gridView1.GetRowCellValue(rowHandle, "FA100").ToString();
                        if (!AppAction.CheckRight("收费作废", s_handler))
                        {
                            return;
                        }

                        string s_reason = string.Empty;
                        string s_rc001  = gridView1.GetRowCellValue(rowHandle, "AC001").ToString();
                        string s_fa001  = gridView1.GetRowCellValue(rowHandle, "FA001").ToString();
                        string s_fa190  = gridView1.GetRowCellValue(rowHandle, "FA190").ToString();

                        if (XtraMessageBox.Show("确认要作废吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No)
                        {
                            return;
                        }

                        //检查与开票所在工作站是否一致!!!
                        if (MiscAction.CheckWorkStationCompare(s_fa001, Envior.WORKSTATIONID) == "0")
                        {
                            XtraMessageBox.Show("此笔收费发票不是在当前工作站开具,不能继续!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            return;
                        }

                        Frm_RemoveFinReason frm_reason = new Frm_RemoveFinReason();
                        if (frm_reason.ShowDialog() == DialogResult.OK)
                        {
                            s_reason = frm_reason.swapdata["reason"].ToString();
                        }
                        frm_reason.Dispose();

                        if (gridView1.GetRowCellValue(rowHandle, "FA002").ToString() == "2")                          //寄存业务
                        {
                            decimal count = (decimal)SqlAssist.ExecuteScalar("select count(*) from v_rc04 where rc001='" + s_rc001 + "'", null);
                            if (count <= 1)
                            {
                                if (XtraMessageBox.Show("此记录是唯一一次交费记录,作废此记录将删除寄存登记信息,是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No)
                                {
                                    return;
                                }
                            }
                        }

                        int re = MiscAction.FinanceRemove(s_fa001, s_reason, Envior.cur_userId);

                        ///作废成功,开始作废发票
                        if (re > 0)
                        {
                            this.RefreshData();
                            XtraMessageBox.Show("收费作废成功!如果本次收费已开具发票,点击【确定】开始作废已开具发票!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            ///作废财政发票
                            if (s_fa190.Substring(0, 1) == "1")
                            {
                                string s_pjlx = string.Empty;
                                string s_pjh  = string.Empty;
                                string s_zch  = string.Empty;

                                //using (OracleDataReader reader_fin = SqlAssist.ExecuteReader("select * from fin_log where settleId='" + s_fa001 + "'"))
                                //{
                                //    reader_fin.Read();
                                //    s_pjlx = reader_fin["INVOICEKIND"].ToString();
                                //    s_pjh = reader_fin["INVOICENO"].ToString();
                                //    s_zch = reader_fin["INVOICEZCH"].ToString();
                                //    if (string.IsNullOrEmpty(s_zch))
                                //    {
                                //        Frm_Zch_input frm_zch = new Frm_Zch_input();
                                //        if (frm_zch.ShowDialog() == DialogResult.OK)
                                //        {
                                //            s_zch = frm_zch.swapdata["zch"].ToString();
                                //        }
                                //    }

                                //    if (!string.IsNullOrEmpty(s_zch) && !string.IsNullOrEmpty(s_pjlx) && !string.IsNullOrEmpty(s_pjh))
                                //    {
                                //        if (FinInvoice.Remove(s_zch, s_pjlx, s_pjh) > 0)
                                //        {   //修改发票作废日志
                                //            MiscAction.FinRemove_log(s_fa001, Envior.cur_userName, s_reason);
                                //        }
                                //    }
                                //}
                            }///作废税务发票
                            if (s_fa190.Substring(1, 1) == "1")
                            {
                                if (TaxInvoice.Remove(s_fa001, Envior.cur_userName) > 0)                                 //发票作废成功
                                {
                                    //修改发票作废日志
                                    MiscAction.TaxRemove_log(s_fa001, Envior.cur_userName, s_reason);
                                }
                                else
                                {
                                    XtraMessageBox.Show("未能作废税务发票,请在【税神通】中作废指定票据!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                            }
                        }
                    }
                }
                else                   //发票作废 !!!!
                {
                    int    rowHandle  = gridView1.FocusedRowHandle;
                    string s_fa001    = gridView3.GetRowCellValue(rowHandle, "FA001").ToString();
                    string s_billType = gridView3.GetRowCellValue(rowHandle, "BILLTYPE").ToString();
                    if (s_billType == "F")                           //财政发票作废
                    {
                    }
                    else if (s_billType == "T")
                    {
                    }
                }
            }
            catch (Exception ee)
            {
                XtraMessageBox.Show(ee.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Example #19
0
        /// <summary>
        /// 结算
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void barButtonItem18_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (!SaveCheck())
            {
                return;
            }
            string s_tip = string.Empty;

            if (dec_fin > 0 && dec_tax > 0)
            {
                s_tip = "本次结算共需要一张财政发票和一张税务发票,是否继续?";
            }
            else if (dec_fin > 0)
            {
                s_tip = "本次结算共需要一张财政发票,是否继续?";
            }
            else if (dec_tax > 0)
            {
                s_tip = "本次结算共需要一张税务发票,是否继续?";
            }
            else
            {
                return;
            }

            if (XtraMessageBox.Show(s_tip, "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
            {
                return;
            }
            if (dec_tax > 0 && !TaxInvoice.ClientIsOnline())
            {
                if (XtraMessageBox.Show("【税神通】客户端不在线!是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                {
                    return;
                }
            }



            string        s_cuname = be_cuname.EditValue.ToString();        //交款人(或单位)
            StringBuilder sb_memo  = new StringBuilder(50);

            List <string>  itemId_List   = new List <string>();
            List <string>  itemType_List = new List <string>();
            List <decimal> prict_List    = new List <decimal>();
            List <decimal> nums_List     = new List <decimal>();

            for (int i = 0; i < gridView1.RowCount; i++)
            {
                itemId_List.Add(gridView1.GetRowCellValue(i, "SA004").ToString());
                itemType_List.Add(gridView1.GetRowCellValue(i, "SA002").ToString());
                prict_List.Add(decimal.Parse(gridView1.GetRowCellValue(i, "PRICE").ToString()));
                nums_List.Add(decimal.Parse(gridView1.GetRowCellValue(i, "NUMS").ToString()));
            }
            string s_fa001 = Tools.GetEntityPK("FA01");
            int    re      = FireAction.TempSalesSettle(
                s_cuname, s_fa001, itemId_List.ToArray(), itemType_List.ToArray(), prict_List.ToArray(), nums_List.ToArray(), Envior.cur_userId, sb_memo.ToString());

            //如果保存失败,则退出处理
            if (re < 0)
            {
                return;
            }

            //清理数据
            business_ds.Sa01.Rows.Clear();
            be_cuname.Text  = "";
            te_fin_sum.Text = "";
            te_tax_sum.Text = "";


            XtraMessageBox.Show("结算成功!现在开始开具发票!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

            ////开财政票!
            if (dec_fin > 0)
            {
                if (FinInvoice.GetCurrentPh() > 0)
                {
                    if (XtraMessageBox.Show("下一张财政发票号码:" + Envior.FIN_NEXT_BILL_NO + ",是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        FinInvoice.Invoice(s_fa001);
                    }
                }
            }

            //// 开税票
            if (dec_tax > 0)
            {
                //获取税务客户信息
                Frm_TaxClientInfo frm_taxClient = null;
                if (tu01 == null)
                {
                    frm_taxClient = new Frm_TaxClientInfo(s_cuname);
                }
                else
                {
                    frm_taxClient = new Frm_TaxClientInfo(tu01);
                }

                if (frm_taxClient.ShowDialog() != DialogResult.OK)
                {
                    tu01 = null;
                    return;
                }

                TaxClientInfo clientInfo = frm_taxClient.swapdata["taxclientinfo"] as TaxClientInfo;

                if (TaxInvoice.GetNextInvoiceNo(s_fa001) < 0)
                {
                    tu01 = null;
                    return;                      //获取票据号失败,则退出!!!
                }

                if (XtraMessageBox.Show("下一张税票代码:" + Envior.NEXT_BILL_CODE + "\r\n" + "票号:" + Envior.NEXT_BILL_NUM + ",是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    TaxInvoice.Invoice(s_fa001, clientInfo);
                }

                //////////// 保存客户信息 ///////////////
                Tu01_dao tu01_dao = new Tu01_dao();
                if (tu01 != null)
                {
                    tu01.tu003 = clientInfo.InfoClientName;
                    tu01.tu005 = clientInfo.InfoClientTaxCode;
                    tu01.tu006 = clientInfo.infoclientaddressphone;
                    tu01.tu007 = clientInfo.infoclientbankaccount;
                    tu01_dao.Update(tu01);
                }
                else if (clientInfo.InfoClientName.Length >= 5)
                {
                    tu01       = new Tu01();
                    tu01.tu001 = Tools.GetEntityPK("TU01");
                    tu01.tu003 = clientInfo.InfoClientName;
                    tu01.tu005 = clientInfo.InfoClientTaxCode;
                    tu01.tu006 = clientInfo.infoclientaddressphone;
                    tu01.tu007 = clientInfo.infoclientbankaccount;
                    tu01_dao.Insert(tu01);
                }
                tu01 = null;
            }
        }
Example #20
0
        private void b_ok_Click(object sender, EventArgs e)
        {
            decimal dec_fin = new decimal(0);
            decimal dec_tax = new decimal(0);
            string  s_tip   = string.Empty;

            foreach (DataRow dr in dt_source.Rows)
            {
                if (dr["SA020"].ToString() == "F")
                {
                    dec_fin += Convert.ToDecimal(dr["SA007"]);
                }
                else if (dr["SA020"].ToString() == "T")
                {
                    dec_tax += Convert.ToDecimal(dr["SA007"]);
                }
            }

            if (dec_fin > 0 && dec_tax > 0)
            {
                s_tip = "本次结算共需要一张财政发票和一张税务发票,是否继续?";
            }
            else if (dec_fin > 0)
            {
                s_tip = "本次结算共需要一张财政发票,是否继续?";
            }
            else if (dec_tax > 0)
            {
                s_tip = "本次结算共需要一张税务发票,是否继续?";
            }
            else
            {
                return;
            }

            if (XtraMessageBox.Show(s_tip, "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
            {
                return;
            }

            string        s_fa001    = Tools.GetEntityPK("FA01");
            string        s_cuname   = FireAction.GetGuyNameById(AC001);
            List <string> sa001_list = new List <string>();

            foreach (DataRow r in dt_source.Rows)
            {
                sa001_list.Add(r["SA001"].ToString());
            }

            int result = FireAction.FireBusinessSettle(s_fa001,
                                                       AC001,
                                                       s_cuname,
                                                       sa001_list.ToArray(),
                                                       Envior.cur_userId
                                                       );

            if (result > 0)
            {
                b_ok.Enabled = false;

                int fire_row = gridView1.LocateByValue("SA002", "06");
                //如果有火化,打印火化证明
                if (fire_row >= 0)
                {   //打印火化证明
                    if (XtraMessageBox.Show("现在打印火化证明?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                    {
                        PrtServAction.Print_HHZM(AC001, 0);
                    }
                }

                XtraMessageBox.Show("结算成功!现在开始打印发票!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                ////开财政票!
                if (dec_fin > 0)
                {
                    //string s_pjh = string.Empty;
                    //string s_zch = string.Empty;
                    if (FinInvoice.GetCurrentPh() > 0)
                    {
                        if (XtraMessageBox.Show("下一张财政发票号码:" + Envior.FIN_NEXT_BILL_NO + ",是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            FinInvoice.Invoice(s_fa001);
                        }
                    }
                }

                //// 开税票
                if (dec_tax > 0)
                {
                    //获取税务客户信息
                    string            s_ac003       = SqlAssist.ExecuteScalar("select ac003 from ac01 where ac001='" + AC001 + "'").ToString();
                    Frm_TaxClientInfo frm_taxClient = new Frm_TaxClientInfo(s_ac003);
                    if (frm_taxClient.ShowDialog() != DialogResult.OK)
                    {
                        return;
                    }
                    TaxClientInfo clientInfo = frm_taxClient.swapdata["taxclientinfo"] as TaxClientInfo;

                    if (TaxInvoice.GetNextInvoiceNo() > 0)
                    {
                        if (XtraMessageBox.Show("下一张税票代码:" + Envior.NEXT_BILL_CODE + "\r\n" + "票号:" + Envior.NEXT_BILL_NUM + ",是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            TaxInvoice.Invoice(s_fa001, clientInfo);
                        }
                    }
                }
                this.DialogResult = DialogResult.OK;
                this.Close();
            }
        }
Example #21
0
        /// <summary>
        /// 缴费 过程
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void b_ok_Click(object sender, EventArgs e)
        {
            decimal nums;
            decimal dec_tax_sum = decimal.Zero;

            if (!decimal.TryParse(comboBox1.Text, out nums))
            {
                XtraMessageBox.Show("请输入正确的缴费期限!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            if (!(bitprice > 0))
            {
                XtraMessageBox.Show("参数传递错误!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            string cuname = txtEdit_rc003.Text;
            string fa001  = Tools.GetEntityPK("FA01");
            int    re     = 0;


            List <string>  itemId_List    = new List <string>();
            List <decimal> itemPrice_List = new List <decimal>();
            List <int>     itemNums_List  = new List <int>();

            if (fpfee > 0)
            {
                foreach (DataRow r in dt_sa01.Rows)
                {
                    itemId_List.Add(r["SA004"].ToString());
                    itemPrice_List.Add(Convert.ToDecimal(r["PRICE"]));
                    itemNums_List.Add(Convert.ToInt32(r["NUMS"]));
                    //计算税票项目金额
                    if (MiscAction.GetItemInvoiceType(r["SA004"].ToString()) == "T")
                    {
                        dec_tax_sum += Convert.ToDecimal(r["SA007"]);
                    }
                }
            }

            if (dec_tax_sum > 0 && !TaxInvoice.ClientIsOnline())
            {
                if (XtraMessageBox.Show("【税神通】客户端不在线!是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                {
                    return;
                }
            }


            if (fpfee > 0)
            {
                re = RegisterAction.RegisterPay(rc001, fa001, bitprice, nums, new_regfee + old_regfee,
                                                itemId_List.ToArray(), itemPrice_List.ToArray(), itemNums_List.ToArray(), Envior.cur_userId);
            }
            else
            {
                re = RegisterAction.RegisterPay(rc001, fa001, bitprice, nums, new_regfee + old_regfee, Envior.cur_userId);
            }


            //if (!checkEdit1.Checked)
            //	re = RegisterAction.RegisterPay(rc001, fa001, bitprice, nums, new_regfee + old_regfee,Envior.cur_userId);
            //else
            //	re = RegisterAction.RegisterPay(rc001, fa001, oldprice, bitprice, oldnums, newnums, old_regfee, new_regfee, Envior.cur_userId);

            if (re > 0)
            {
                dt_rc04.Rows.Clear();
                rc04Adapter.Fill(dt_rc04);

                if (XtraMessageBox.Show("缴费成功!现在打印财政【发票】吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                {
                    if (FinInvoice.GetCurrentPh() > 0)
                    {
                        if (XtraMessageBox.Show("下一张财政发票号码:" + Envior.FIN_NEXT_BILL_NO + ",是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            FinInvoice.Invoice(fa001);
                        }
                    }
                }

                //// 开税票
                if (dec_tax_sum > 0)
                {
                    //获取税务客户信息
                    Frm_TaxClientInfo frm_taxClient = new Frm_TaxClientInfo(txtEdit_rc003.Text);
                    if (frm_taxClient.ShowDialog() == DialogResult.OK)
                    {
                        TaxClientInfo clientInfo = frm_taxClient.swapdata["taxclientinfo"] as TaxClientInfo;
                        if (TaxInvoice.GetNextInvoiceNo(fa001) > 0)
                        {
                            if (XtraMessageBox.Show("下一张税票代码:" + Envior.NEXT_BILL_CODE + "\r\n" + "票号:" + Envior.NEXT_BILL_NUM + ",是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                TaxInvoice.Invoice(fa001, clientInfo);
                            }
                        }
                    }
                }


                if (XtraMessageBox.Show("现在打印缴费记录吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                {
                    //打印缴费记录
                    PrtServAction.PrtRegisterPayRecord(fa001, this.Handle.ToInt32());
                }
                DialogResult = DialogResult.OK;
                this.Close();
            }
        }
Example #22
0
        private void sb_ok_Click(object sender, EventArgs e)
        {
            if (!checkBeforeSave())
            {
                return;
            }
            try
            {
                s_fa001 = MiscAction.GetEntityPK("FA01");

                //保存销售记录
                foreach (SA01 sa01 in xpCollection_sa01)
                {
                    sa01.SA008 = '1';                   //结算状态
                    sa01.SA010 = s_fa001;               //结算流水号
                    sa01.SA020 = 'T';                   //发票类型
                    sa01.SA100 = Envior.cur_userId;     //经办人
                    sa01.SA200 = Tools.GetServerDate(); //经办日期
                    dec_sum   += sa01.SA007;
                }
                //财务收费信息
                FA01 fa01 = new FA01(unitOfWork1);
                fa01.FA001  = s_fa001;                              //缴费流水号
                fa01.FA002  = '1';                                  //收费类型 0-购墓 1-服务祭品 2-管理费
                fa01.FA003  = te_cuname.Text;                       //缴费人
                fa01.FA004  = dec_sum;                              //收费金额
                fa01.FA190  = '0';                                  //开票标志 0-未开票
                fa01.FA100  = Envior.cur_userId;                    //收费人
                fa01.FA180  = "";                                   //备注
                fa01.FA200  = Tools.GetServerDate();                //缴费时间
                fa01.STATUS = "1";                                  //状态
                fa01.WS001  = Envior.WORKSTATIONID;                 //工作站标识
                fa01.Save();

                unitOfWork1.CommitTransaction();

                //////////保存完成 //////////
                int i_papers = BusinessAction.GetInvoicePapers(s_fa001);
                if (XtraMessageBox.Show("办理成功!\r\n" + "本次结算共需要" + i_papers.ToString() + "张发票,现在开具吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    sb_ok.Enabled = false;
                    //获取税务客户信息
                    string            s_ac003       = te_cuname.Text;
                    Frm_TaxClientInfo frm_taxClient = new Frm_TaxClientInfo(s_ac003);
                    if (frm_taxClient.ShowDialog() != DialogResult.OK)
                    {
                        return;
                    }
                    TaxClientInfo clientInfo = frm_taxClient.swapdata["taxclientinfo"] as TaxClientInfo;

                    CriteriaOperator    criteria          = CriteriaOperator.Parse("FA001='" + s_fa001 + "'");
                    XPCollection <FP01> xpCollection_fp01 = new XPCollection <FP01>(PersistentCriteriaEvaluationBehavior.BeforeTransaction, unitOfWork1, criteria);
                    foreach (FP01 fp01 in xpCollection_fp01)
                    {
                        if (TaxInvoice.GetNextInvoiceNo() > 0)
                        {
                            if (XtraMessageBox.Show("下一张税票代码:" + Envior.NEXT_BILL_CODE + "\r\n" + "票号:" + Envior.NEXT_BILL_NUM + ",是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                TaxInvoice.Invoice(fp01.FP001, clientInfo);
                            }
                        }
                    }
                }

                this.Close();
            }
            catch (Exception ee)
            {
                unitOfWork1.RollbackTransaction();
                Tools.msg(MessageBoxIcon.Error, "错误", ee.ToString());
            }
        }
Example #23
0
        /// <summary>
        /// 收款作废
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void bBi_remove_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            try
            {
                if (tabPane1.SelectedPageIndex == 0)                  //按笔数显示
                {
                    int rowHandle = gridView1.FocusedRowHandle;
                    if (rowHandle >= 0)
                    {
                        string s_handler = gridView1.GetRowCellValue(rowHandle, "FA100").ToString();
                        if (!AppAction.CheckRight("收费作废", s_handler))
                        {
                            return;
                        }

                        string s_reason = string.Empty;
                        string s_rc001  = gridView1.GetRowCellValue(rowHandle, "AC001").ToString();
                        string s_fa001  = gridView1.GetRowCellValue(rowHandle, "FA001").ToString();
                        string s_fa190  = gridView1.GetRowCellValue(rowHandle, "FA190").ToString();

                        if (XtraMessageBox.Show("确认要作废吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No)
                        {
                            return;
                        }
                        Frm_RemoveFinReason frm_reason = new Frm_RemoveFinReason();
                        if (frm_reason.ShowDialog() == DialogResult.OK)
                        {
                            s_reason = frm_reason.swapdata["reason"].ToString();
                        }
                        frm_reason.Dispose();

                        if (gridView1.GetRowCellValue(rowHandle, "FA002").ToString() == "2")                          //寄存业务
                        {
                            decimal count = (decimal)SqlAssist.ExecuteScalar("select count(*) from v_rc04 where rc001='" + s_rc001 + "'", null);
                            if (count <= 1)
                            {
                                if (XtraMessageBox.Show("此记录是唯一一次交费记录,作废此记录将删除寄存登记信息,是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No)
                                {
                                    return;
                                }
                            }
                        }

                        int re = MiscAction.FinanceRemove(s_fa001, s_reason, Envior.cur_userId);

                        ///作废成功,开始作废发票
                        if (re > 0)
                        {
                            this.RefreshData();
                            XtraMessageBox.Show("收费作废成功!如果本次收费已开具发票,点击【确定】开始作废已开具发票!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            ///作废财政发票
                            if (s_fa190.Substring(0, 1) == "1")
                            {
                                //如果不在新接口上线前,则可以作废发票
                                if (!MiscAction.FinRefundBeforeOnline(s_fa001))
                                {
                                    if (FinInvoice.InvoiceRemoved(s_fa001) > 0)
                                    {
                                        MiscAction.FinRemove_log(s_fa001, Envior.cur_userName, s_reason);
                                    }
                                }
                                else
                                {
                                    XtraMessageBox.Show("此笔收费为新财政发票接口上线前开具,发票需要在系统外进行作废!详情请与管理员联系!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                }
                            }
                            ///作废税务发票
                            if (s_fa190.Substring(1, 1) == "1")
                            {
                                if (TaxInvoice.Remove(s_fa001, Envior.cur_userName) > 0)                                 //发票作废成功
                                {
                                    //修改发票作废日志
                                    MiscAction.TaxRemove_log(s_fa001, Envior.cur_userName, s_reason);
                                }
                                else
                                {
                                    XtraMessageBox.Show("未能作废税务发票,请在【税神通】中作废指定票据!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                            }
                        }
                    }
                }
                else                   //发票作废 !!!!
                {
                    int    rowHandle  = gridView1.FocusedRowHandle;
                    string s_fa001    = gridView3.GetRowCellValue(rowHandle, "FA001").ToString();
                    string s_billType = gridView3.GetRowCellValue(rowHandle, "BILLTYPE").ToString();
                    if (s_billType == "F")                           //财政发票作废
                    {
                    }
                    else if (s_billType == "T")
                    {
                    }
                }
            }
            catch (Exception ee)
            {
                XtraMessageBox.Show(ee.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Example #24
0
        private void sb_ok_Click(object sender, EventArgs e)
        {
            decimal dec_total   = decimal.Zero;
            string  s_new_fa001 = string.Empty;
            SA01    sa01        = null;
            FA01    fa01_new    = null;

            if (gridView1.GetSelectedRows().Length == 0)
            {
                Tools.msg(MessageBoxIcon.Exclamation, "提示", "请先选择要退费的项目!");
                return;
            }

            try
            {
                dec_total   = Convert.ToDecimal(te_total.EditValue);
                s_new_fa001 = MiscAction.GetEntityPK("FA01");

                for (int i = 0; i < gridView1.RowCount; i++)
                {
                    if (!gridView1.IsRowSelected(i))
                    {
                        continue;
                    }
                    sa01        = new SA01(unitOfWork1);
                    sa01.SA001  = MiscAction.GetEntityPK("SA01");                                      //销售流水号
                    sa01.AC001  = fa01.AC001;                                                          //购墓流水号
                    sa01.SA002  = fa01.FA002 == '2' ? '2':'1';                                         //服务或商品类别 0-购墓费 1-商品或服务 2-管理费
                    sa01.SA003  = gridView1.GetRowCellValue(i, "SA003").ToString();                    //项目名称
                    sa01.SA004  = gridView1.GetRowCellValue(i, "SA004").ToString();                    //项目编号
                    sa01.SA005  = fa01.FA002;                                                          //业务类型 0-购墓 1-临时销售
                    sa01.PRICE  = Convert.ToDecimal(gridView1.GetRowCellValue(i, "PRICE"));            //单价
                    sa01.NUMS   = 0 - Convert.ToDecimal(gridView1.GetRowCellValue(i, "NUMS"));         //数量
                    sa01.SA007  = 0 - Convert.ToDecimal(gridView1.GetRowCellValue(i, "SA007"));        //金额
                    sa01.SA006  = sa01.SA007;                                                          //原始单价
                    sa01.SA008  = '1';                                                                 //结算状态 1-已结算 0-未结算
                    sa01.SA010  = s_new_fa001;                                                         //结算流水号
                    sa01.SA020  = 'T';                                                                 //发票类型
                    sa01.SA025  = BusinessAction.GetTaxRate(sa01.SA004);                               //税率
                    sa01.SA100  = Envior.cur_userId;                                                   //经办人
                    sa01.SA200  = Tools.GetServerDate();                                               //经办日期
                    sa01.STATUS = '1';                                                                 //状态 1-正常 0-删除
                    sa01.Save();
                }

                //2.保存退费日志
                refund       = new REFUND(unitOfWork1);
                refund.RF001 = s_new_fa001;
                refund.RF003 = te_reason.Text;
                refund.RF004 = 0 - dec_total;
                refund.RF100 = Envior.cur_userId;
                refund.RF200 = Tools.GetServerDate();
                refund.RF300 = s_fa001;                              //原结算流水号
                refund.Save();

                ///3.保存缴费记录
                fa01_new        = new FA01(unitOfWork1);
                fa01_new.FA001  = s_new_fa001;              //结算流水号
                fa01_new.FA002  = fa01.FA002;               //结算类型 0-购墓 1-服务祭品 2-管理费
                fa01_new.FA003  = fa01.FA003;               //缴款人
                fa01_new.FA004  = 0 - dec_total;            //金额
                fa01_new.FA190  = '0';                      //开票标志 0-未开票
                fa01_new.FA100  = Envior.cur_userId;        //经办人
                fa01_new.FA200  = Tools.GetServerDate();    //经办日期
                fa01_new.STATUS = "1";                      //状态
                fa01_new.AC001  = fa01.AC001;
                fa01_new.WS001  = Envior.WORKSTATIONID;     //工作站
                fa01_new.Save();

                unitOfWork1.CommitTransaction();

                int i_invoice_num = BusinessAction.GetInvoicePapers(s_new_fa001);
                if (i_invoice_num == 0)
                {
                    Tools.msg(MessageBoxIcon.Information, "提示", "退费办理成功!");
                }
                else
                {
                    if (XtraMessageBox.Show("退费办理成功!\r\n" + "本次业务共需要" + i_invoice_num.ToString() + "张发票,现在开具吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        sb_ok.Enabled = false;
                        //获取税务客户信息
                        string            s_fa003       = fa01.FA003;
                        Frm_TaxClientInfo frm_taxClient = new Frm_TaxClientInfo(s_fa003);
                        if (frm_taxClient.ShowDialog() != DialogResult.OK)
                        {
                            return;
                        }
                        TaxClientInfo clientInfo = frm_taxClient.swapdata["taxclientinfo"] as TaxClientInfo;

                        CriteriaOperator    criteria          = CriteriaOperator.Parse("FA001='" + s_fa001 + "'");
                        XPCollection <FP01> xpCollection_fp01 = new XPCollection <FP01>(PersistentCriteriaEvaluationBehavior.BeforeTransaction, unitOfWork1, criteria);
                        foreach (FP01 fp01 in xpCollection_fp01)
                        {
                            if (TaxInvoice.GetNextInvoiceNo() > 0)
                            {
                                if (XtraMessageBox.Show("下一张税票代码:" + Envior.NEXT_BILL_CODE + "\r\n" + "票号:" + Envior.NEXT_BILL_NUM + ",是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                                {
                                    TaxInvoice.Invoice(fp01.FP001, clientInfo);
                                }
                            }
                        }
                    }
                }
                this.DialogResult = DialogResult.OK;
                this.Close();
            }
            catch (Exception ee)
            {
                unitOfWork1.RollbackTransaction();
                Tools.msg(MessageBoxIcon.Error, "错误", ee.ToString());
            }
        }
Example #25
0
        private void sb_ok_Click(object sender, EventArgs e)
        {
            bool b_payrecord = false;

            if (!checkBeforeSave())
            {
                return;
            }
            try
            {
                s_fa001 = MiscAction.GetEntityPK("FA01");
                //1.购墓登记
                ac01       = new AC01(unitOfWork1);
                ac01.AC001 = s_ac001;                            //购墓登记编号
                ac01.AC002 = te_ac002.Text;                      //购墓人身份证号
                ac01.AC003 = te_ac003.Text;                      //购墓人
                ac01.AC004 = te_ac004.Text;                      //联系电话
                ac01.AC005 = te_ac005.Text;                      //联系地址
                ac01.AC012 = bi01.RE001;                         //排编号
                ac01.AC010 = bi01.RG001;                         //墓区编号
                ac01.AC015 = bi01.BI001;                         //墓位编号
                ac01.AC020 = Convert.ToDecimal(bi01.PRICE);      //墓位定价
                ac01.AC022 = Convert.ToDecimal(te_price.Text);   //售价
                ac01.AC038 = Convert.ToInt32(te_free_nums.Text); //免费管理年限
                ac01.AC049 = Convert.ToDateTime(de_ac049.Text);  //购墓日期

                //管理费到期日期
                if (ac01.AC038 > 0)
                {
                    ac01.AC040  = ac01.AC049.AddYears(ac01.AC038);
                    b_payrecord = true;
                }
                else
                {
                    int rowHandle = gridView1.LocateByValue("SA003", "管理费");
                    if (rowHandle >= 0)
                    {
                        ac01.AC040  = ac01.AC049.AddYears(Convert.ToInt32(gridView1.GetRowCellValue(rowHandle, "NUMS")));
                        b_payrecord = true;
                    }
                    else
                    {
                        ac01.AC040 = ac01.AC049;
                    }
                }

                ac01.AC042  = '1';                      //缴费状态
                ac01.AC048  = s_fa001;                  //缴费流水号
                ac01.AC100  = Envior.cur_userId;        //经办人
                ac01.AC200  = Tools.GetServerDate();    //经办日期
                ac01.AC250  = te_ac250.Text;            //备注
                ac01.AC300  = '1';                      //登记类型 1-正常登记 0-原始登记
                ac01.STATUS = '1';                      //当前状态
                ac01.Save();

                //2.销售项目
                foreach (SA01 sa01 in xpCollection_sa01)
                {
                    sa01.SA008 = '1';                   //结算状态
                    sa01.SA010 = s_fa001;               //结算流水号
                    sa01.SA020 = 'T';                   //发票类型
                    sa01.SA100 = Envior.cur_userId;     //经办人
                    sa01.SA200 = Tools.GetServerDate(); //经办日期
                    sa01.Save();
                    if (sa01.SA003 == "管理费" /*如果是管理费*/ && sa01.SA002 == '1')
                    {
                        //插入缴费表
                        PR01 pr01 = new PR01(unitOfWork1);
                        pr01.PR001  = s_fa001;
                        pr01.AC001  = s_ac001;
                        pr01.PR002  = ac01.AC049;  //缴费开始日期
                        pr01.PR003  = ac01.AC049.AddYears(Convert.ToInt32(sa01.NUMS));
                        pr01.PRICE  = sa01.PRICE;
                        pr01.NUMS   = sa01.NUMS;
                        pr01.PR007  = sa01.SA007;
                        pr01.PR008  = '1';
                        pr01.PR100  = Envior.cur_userId;
                        pr01.PR200  = Tools.GetServerDate();
                        pr01.STATUS = '1';
                        pr01.Save();
                    }
                }


                //3.号位信息
                bi01.STATUS = '2';                                  //已使用
                bi01.PRICE  = Convert.ToDecimal(te_fixprice.Text);  //定价
                bi01.BI005  = le_mx.EditValue.ToString();           //墓型
                bi01.AC001  = s_ac001;                              //购墓登记编号
                bi01.Save();

                //4.财务收费信息
                dec_total = dec_sales + Convert.ToDecimal(te_price.Text);
                FA01 fa01 = new FA01(unitOfWork1);
                fa01.FA001 = s_fa001;                                 //缴费流水号
                fa01.AC001 = s_ac001;                                 //购墓流水号
                fa01.FA002 = '0';                                     //收费类型 0-购墓
                fa01.FA003 = te_ac003.Text;                           //缴费人
                fa01.FA004 = dec_total;                               //收费金额
                fa01.FA190 = '0';                                     //开票标志-未开票
                fa01.FA100 = Envior.cur_userId;                       //收费人

                fa01.FA180  = MiscAction.GetTombPosition(bi01.BI001); //备注(墓穴位置)
                fa01.FA200  = Tools.GetServerDate();                  //缴费时间
                fa01.STATUS = "1";                                    //状态
                fa01.WS001  = Envior.WORKSTATIONID;                   //工作站标识
                fa01.Save();

                //如果是预定的记录
                if (bk01 != null && s_action == "bookin")
                {
                    bk01.STATUS = '2';   //已登记
                    bk01.Save();
                }

                unitOfWork1.CommitTransaction();
                ///设置附加信息
                BusinessAction.SetExtraInfo(s_ac001);

                int i_papers = BusinessAction.GetInvoicePapers(s_fa001);
                if (XtraMessageBox.Show("登记办理成功!\r\n" + "本次结算共需要" + i_papers.ToString() + "张发票,现在开具吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    sb_ok.Enabled = false;
                    //获取税务客户信息
                    string            s_ac003       = te_ac003.Text;
                    Frm_TaxClientInfo frm_taxClient = new Frm_TaxClientInfo(s_ac003);
                    if (frm_taxClient.ShowDialog() != DialogResult.OK)
                    {
                        return;
                    }
                    TaxClientInfo clientInfo = frm_taxClient.swapdata["taxclientinfo"] as TaxClientInfo;

                    CriteriaOperator    criteria          = CriteriaOperator.Parse("FA001='" + s_fa001 + "'");
                    XPCollection <FP01> xpCollection_fp01 = new XPCollection <FP01>(PersistentCriteriaEvaluationBehavior.BeforeTransaction, unitOfWork1, criteria);
                    foreach (FP01 fp01 in xpCollection_fp01)
                    {
                        if (TaxInvoice.GetNextInvoiceNo() > 0)
                        {
                            if (XtraMessageBox.Show("下一张税票代码:" + Envior.NEXT_BILL_CODE + "\r\n" + "票号:" + Envior.NEXT_BILL_NUM + ",是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                TaxInvoice.Invoice(fp01.FP001, clientInfo);
                            }
                        }
                    }
                }
                ////打印证书
                if (XtraMessageBox.Show("现在打印【购墓证书】?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    PrintAction.PrintCert(s_ac001);
                }
                if (b_payrecord && XtraMessageBox.Show("现在打印【缴费记录】?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    PrintAction.PrintPayRecord(s_fa001);
                }
                ////打印购墓协议
                //if (XtraMessageBox.Show("现在打印【购墓协议】?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                //{
                //    PrintAction.PrintProtocol(s_ac001);
                //}


                this.Close();
            }
            catch (Exception ee)
            {
                unitOfWork1.RollbackTransaction();
                Tools.msg(MessageBoxIcon.Error, "错误", ee.ToString());
            }
        }
Example #26
0
        private void simpleButton1_Click(object sender, EventArgs e)
        {
            if (!gridView1.PostEditor())
            {
                return;
            }
            if (!gridView1.UpdateCurrentRow())
            {
                return;
            }

            List <string>  itemIdList   = new List <string>();
            List <decimal> numsList     = new List <decimal>();
            List <decimal> priceList    = new List <decimal>();
            List <string>  itemTypeList = new List <string>();

            decimal dec_refund_fee = decimal.Zero;
            decimal dec_tax_sum    = decimal.Zero;

            for (int i = 0; i < gridView1.RowCount; i++)
            {
                if (decimal.TryParse(gridView1.GetRowCellValue(i, "RFEE").ToString(), out dec_refund_fee))
                {
                    if (dec_refund_fee <= 0)
                    {
                        continue;
                    }
                    itemIdList.Add(gridView1.GetRowCellValue(i, "SA004").ToString());
                    priceList.Add(Convert.ToDecimal(gridView1.GetRowCellValue(i, "PRICE")));
                    numsList.Add(0 - Convert.ToDecimal(gridView1.GetRowCellValue(i, "REFUNDNUM")));
                    itemTypeList.Add(gridView1.GetRowCellValue(i, "SA002").ToString());
                    dec_tax_sum += Convert.ToDecimal(gridView1.GetRowCellValue(i, "RFEE"));
                }
            }
            if (numsList.Count <= 0)
            {
                XtraMessageBox.Show("还未选择退费的项目!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            string s_fa001 = Tools.GetEntityPK("FA01");
            string s_memo  = te_memo.Text;

            try
            {
                int re = MiscAction.TaxRefundSettle(s_fa001, itemIdList.ToArray(), itemTypeList.ToArray(), priceList.ToArray(), numsList.ToArray(), Envior.cur_userId, s_memo, s_sa010);

                if (re > 0)
                {
                    XtraMessageBox.Show("退费结算完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    string s_cuname = SqlAssist.ExecuteScalar("select fa003 from fa01 where fa001='" + s_sa010 + "'").ToString();
                    //获取税务客户信息
                    Frm_TaxClientInfo frm_taxClient = new Frm_TaxClientInfo(s_cuname);
                    if (frm_taxClient.ShowDialog() == DialogResult.OK)
                    {
                        TaxClientInfo clientInfo = frm_taxClient.swapdata["taxclientinfo"] as TaxClientInfo;
                        if (TaxInvoice.GetNextInvoiceNo() > 0)
                        {
                            if (XtraMessageBox.Show("下一张税票代码:" + Envior.NEXT_BILL_CODE + "\r\n" + "票号:" + Envior.NEXT_BILL_NUM + ",是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                TaxInvoice.Invoice(s_fa001, clientInfo);
                            }
                            this.DialogResult = DialogResult.OK;
                            this.Close();
                        }
                    }
                }
            }
            catch (Exception ee)
            {
                XtraMessageBox.Show(ee.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
 public CreateInvoice(TaxInvoice taxInvoice)
 {
     InitializeComponent();
     invoiceObject = taxInvoice;
     LoadClientAndContext();
 }
Example #28
0
        /// <summary>
        /// 发票作废
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void barButtonItem22_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            int rowHandle = gridView1.FocusedRowHandle;

            if (rowHandle >= 0)
            {
                string s_handler = gridView1.GetRowCellValue(rowHandle, "FA100").ToString();
                //权限检查
                //if (!AppAction.CheckRight("收费作废", s_handler)) return;

                string s_reason = string.Empty;
                //string s_ac001 = string.Empty;

                //if(gridView1.GetRowCellValue(rowHandle, "AC001") != null)
                //    s_ac001 = gridView1.GetRowCellValue(rowHandle, "AC001").ToString();

                string s_fa001  = gridView1.GetRowCellValue(rowHandle, "FA001").ToString();
                string s_fa190  = gridView1.GetRowCellValue(rowHandle, "FA190").ToString();
                string s_fpinfo = string.Empty;

                if (s_fa190 == "3" /* 原财政发票 */)
                {
                    Tools.msg(MessageBoxIcon.Exclamation, "提示", "不能作废以前财政发票收费!");
                    return;
                }

                if (XtraMessageBox.Show("确认要作废吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No)
                {
                    return;
                }

                //检查与开票所在工作站是否一致!!!
                if (BusinessAction.CheckWorkStationCompare(s_fa001, Envior.WORKSTATIONID) == "0")
                {
                    XtraMessageBox.Show("此笔收费发票不是在当前工作站开具,不能继续!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }

                Frm_RemoveFinReason frm_reason = new Frm_RemoveFinReason();
                if (frm_reason.ShowDialog() == DialogResult.OK)
                {
                    s_reason = frm_reason.swapdata["reason"].ToString();
                }
                frm_reason.Dispose();

                int re = BusinessAction.FinanceRemove(s_fa001, s_reason, Envior.cur_userId);
                ///作废成功,开始作废发票
                if (re > 0)
                {
                    this.RefreshData();
                    XtraMessageBox.Show("收费作废成功!如果本次收费已开具发票,点击【确定】开始作废已开具发票!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    CriteriaOperator    criteria          = CriteriaOperator.Parse("FA001='" + s_fa001 + "'");
                    XPCollection <FP01> xpCollection_fp01 = new XPCollection <FP01>(PersistentCriteriaEvaluationBehavior.BeforeTransaction, unitOfWork1, criteria);
                    foreach (FP01 fp01 in xpCollection_fp01)
                    {
                        s_fpinfo = "发票代码:" + fp01.INVOICECODE + "~t" + "发票号:" + fp01.INVOICENUM;
                        if (TaxInvoice.Remove(s_fa001, Envior.cur_userName) > 0) //发票作废成功
                        {
                            //修改发票作废日志
                            if (TaxInvoice.TaxRemove_log(s_fa001, Envior.cur_userName, s_reason) < 0)
                            {
                                XtraMessageBox.Show("记录发票日志错误,请与管理员联系!\r\n" + s_fpinfo, "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            }
                        }
                        else
                        {
                            XtraMessageBox.Show("未能作废税务发票,请在【税神通】中作废指定票据!\r\n" + s_fpinfo, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
            }
        }
Example #29
0
        private void b_ok_Click(object sender, EventArgs e)
        {
            if (!gridView1.PostEditor())
            {
                return;
            }
            if (!gridView1.UpdateCurrentRow())
            {
                return;
            }
            if (!SaveCheck())
            {
                return;                            //数据合法性校验!!!
            }
            if (source == "1")
            {
                ac001 = Tools.GetEntityPK("RC01");                                    //逝者编号
            }
            string s_fa001 = source == "0"? string.Empty : Tools.GetEntityPK("FA01"); //结算流水号
            string s_rc109 = RegisterAction.GenRegisterNo("0");                       //正常登记寄存证号
            string s_rc002 = rg_rc002.EditValue.ToString();                           //性别
            string s_rc202 = rg_rc202.EditValue.ToString();                           //性别2
            string s_rc003 = txtEdit_rc003.Text;                                      //逝者姓名
            string s_rc303 = txtEdit_rc303.Text;                                      //逝者姓名2
            int    rc004   = int.Parse(txtEdit_rc004.Text);                           //年龄
            int    rc404;

            if (!string.IsNullOrEmpty(txtEdit_rc404.Text))
            {
                rc404 = int.Parse(txtEdit_rc404.Text);
            }
            else
            {
                rc404 = 0;
            }

            string   s_rc014     = txtedit_rc014.Text;                        //身份证号
            string   s_rc050     = txtEdit_rc050.Text;                        //联系人
            string   s_rc051     = txtEdit_rc051.Text;                        //联系电话
            string   s_rc052     = lookUp_rc052.EditValue.ToString();         //与逝者关系
            string   s_rc055     = txtEdit_ac055.Text;                        //联系地址
            string   s_rc099     = mem_rc099.Text;                            //备注
            DateTime d_rc140     = DateTime.Now;                              //寄存日期
            decimal  nums        = decimal.Parse(comboBox1.Text);             //缴费年限
            decimal  dec_tax_sum = new decimal(0);

            //输入交款人信息
            string s_cuname = s_rc003;

            List <string>  itemId_List    = new List <string>();
            List <decimal> itemPrice_List = new List <decimal>();
            List <int>     itemNums_List  = new List <int>();

            if (fpfee > 0)
            {
                foreach (DataRow r in register_ds.Sa01.Rows)
                {
                    itemId_List.Add(r["SA004"].ToString());
                    itemPrice_List.Add(Convert.ToDecimal(r["PRICE"]));
                    itemNums_List.Add(Convert.ToInt32(r["NUMS"]));
                    //计算税票项目金额
                    if (MiscAction.GetItemInvoiceType(r["SA004"].ToString()) == "T")
                    {
                        dec_tax_sum += Convert.ToDecimal(r["SA007"]);
                    }
                }
            }
            string s_tip = string.Empty;

            if (dec_tax_sum > 0)
            {
                s_tip = "本次结算共需要一张财政发票和一张税务发票,是否继续?";
            }
            else
            {
                s_tip = "本次结算共需要一张财政发票,是否继续?";
            }


            if (source == "1")             //外来寄存
            {
                if (XtraMessageBox.Show(s_tip, "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                {
                    return;
                }
                if (dec_tax_sum > 0 && !TaxInvoice.ClientIsOnline())
                {
                    if (XtraMessageBox.Show("【税神通】客户端不在线!是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                    {
                        return;
                    }
                }
            }

            int re = 0;

            if (fpfee > 0)
            {
                re = RegisterAction.RegisterEnroll(ac001,
                                                   s_rc109,
                                                   s_fa001,
                                                   s_rc002,
                                                   s_rc202,
                                                   s_rc003,
                                                   s_rc303,
                                                   rc004,
                                                   rc404,
                                                   s_rc014,
                                                   s_rc050,
                                                   s_rc051,
                                                   s_rc052,
                                                   s_rc055,
                                                   s_rc099,
                                                   bitId,
                                                   bitPrice,
                                                   d_rc140,
                                                   d_rc140,
                                                   nums,
                                                   regfee,
                                                   source,
                                                   itemId_List.ToArray(),
                                                   itemPrice_List.ToArray(),
                                                   itemNums_List.ToArray(),
                                                   Envior.cur_userId
                                                   );
            }
            else
            {
                re = RegisterAction.RegisterEnroll(ac001,
                                                   s_rc109,
                                                   s_fa001,
                                                   s_rc002,
                                                   s_rc202,
                                                   s_rc003,
                                                   s_rc303,
                                                   rc004,
                                                   rc404,
                                                   s_rc014,
                                                   s_rc050,
                                                   s_rc051,
                                                   s_rc052,
                                                   s_rc055,
                                                   s_rc099,
                                                   bitId,
                                                   bitPrice,
                                                   d_rc140,
                                                   d_rc140,
                                                   nums,
                                                   regfee,
                                                   source,
                                                   Envior.cur_userId
                                                   );
            }

            if (IDC_FLAG)
            {
                ic01.ac001 = ac001;
                ic01_dao.Insert(ic01);

                ///更新身份证照片
                FileStream file    = new FileStream("zp.bmp", FileMode.Open, FileAccess.Read);
                Byte[]     imgByte = new Byte[file.Length];           //把图片转成 Byte型 二进制流
                file.Read(imgByte, 0, imgByte.Length);                //把二进制流读入缓冲区
                file.Close();
                MiscAction.Update_IDC_Photo(ic01.ic001, imgByte);
            }

            if (re > 0 && source == "0")
            {
                XtraMessageBox.Show("寄存办理成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                DialogResult = DialogResult.OK;
                this.Close();
            }
            else if (re > 0 && source == "1" /* 外来寄存 */)
            {
                if (XtraMessageBox.Show("现在打印【骨灰寄存证】吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                {
                    PrtServAction.PrtRegisterCert(ac001, s_fa001, Envior.mform.Handle.ToInt32());
                }
                //if (XtraMessageBox.Show("现在打印【寄存标签】吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                //{
                //	PrtServAction.PrtRegisterLabel(ac001,this.Handle.ToInt32());
                //}

                txtEdit_rc001.EditValue = ac001;
                txtEdit_rc109.EditValue = s_rc109;
                XtraMessageBox.Show("寄存登记成功!现在开始开具发票!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

                ///开财政票
                if (FinInvoice.GetCurrentPh() > 0)
                {
                    if (XtraMessageBox.Show("下一张财政发票号码:" + Envior.FIN_NEXT_BILL_NO + ",是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        FinInvoice.Invoice(s_fa001);
                    }
                }

                //// 开税票
                if (dec_tax_sum > 0)
                {
                    //获取税务客户信息
                    Frm_TaxClientInfo frm_taxClient = new Frm_TaxClientInfo(s_rc003);
                    if (frm_taxClient.ShowDialog() == DialogResult.OK)
                    {
                        TaxClientInfo clientInfo = frm_taxClient.swapdata["taxclientinfo"] as TaxClientInfo;
                        if (TaxInvoice.GetNextInvoiceNo(s_fa001) > 0)
                        {
                            if (XtraMessageBox.Show("下一张税票代码:" + Envior.NEXT_BILL_CODE + "\r\n" + "票号:" + Envior.NEXT_BILL_NUM + ",是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                TaxInvoice.Invoice(s_fa001, clientInfo);
                            }
                        }
                    }
                }


                DialogResult = DialogResult.OK;
                this.Close();
            }
        }
Example #30
0
        private void sb_ok_Click(object sender, EventArgs e)
        {
            decimal dec_price = decimal.Zero;
            decimal dec_nums  = decimal.Zero;
            string  s_fa001   = string.Empty;

            if (string.IsNullOrEmpty(te_price.Text))
            {
                te_price.ErrorImageOptions.Alignment = ErrorIconAlignment.MiddleRight;
                te_price.ErrorText = "管理费单价必须输入!";
                return;
            }
            else if (string.IsNullOrEmpty(te_nums.Text))
            {
                te_nums.ErrorImageOptions.Alignment = ErrorIconAlignment.MiddleRight;
                te_nums.ErrorText = "管理费缴费年限必须输入!";
                return;
            }

            dec_price = Convert.ToDecimal(te_price.Text);
            dec_nums  = Convert.ToDecimal(te_nums.Text);
            if (dec_price < 0)
            {
                Tools.msg(MessageBoxIcon.Warning, "提示", "管理费单价必须大于0!");
                te_price.Focus();
                return;
            }
            if (dec_nums <= 0)
            {
                Tools.msg(MessageBoxIcon.Warning, "提示", "缴费年限必须大于0!");
                te_nums.Focus();
                return;
            }
            s_fa001 = MiscAction.GetEntityPK("FA01");
            try
            {
                if (BusinessAction.ManageFee(s_fa001, ac01.AC001, dec_price, dec_nums, Envior.cur_userId, Envior.WORKSTATIONID) > 0)
                {
                    if (XtraMessageBox.Show("缴费成功!\r\n" + "是否现在开具发票?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        sb_ok.Enabled = false;
                        //获取税务客户信息
                        Frm_TaxClientInfo frm_taxClient = new Frm_TaxClientInfo(ac01.AC003);
                        if (frm_taxClient.ShowDialog() != DialogResult.OK)
                        {
                            return;
                        }
                        TaxClientInfo clientInfo = frm_taxClient.swapdata["taxclientinfo"] as TaxClientInfo;

                        CriteriaOperator    criteria          = CriteriaOperator.Parse("FA001='" + s_fa001 + "'");
                        XPCollection <FP01> xpCollection_fp01 = new XPCollection <FP01>(PersistentCriteriaEvaluationBehavior.BeforeTransaction, session1, criteria);
                        foreach (FP01 fp01 in xpCollection_fp01)
                        {
                            if (TaxInvoice.GetNextInvoiceNo() > 0)
                            {
                                if (XtraMessageBox.Show("下一张税票代码:" + Envior.NEXT_BILL_CODE + "\r\n" + "票号:" + Envior.NEXT_BILL_NUM + ",是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                                {
                                    TaxInvoice.Invoice(fp01.FP001, clientInfo);
                                }
                            }
                        }
                    }
                    //打印缴费记录
                    Tools.msg(MessageBoxIcon.Information, "提示", "现在打印缴费记录!");
                    PrintAction.PrintPayRecord(s_fa001);
                    this.DialogResult = DialogResult.OK;
                    this.Close();
                }
            }
            catch (Exception ee)
            {
                Tools.msg(MessageBoxIcon.Error, "错误", "缴费错误!\r\n" + ee.ToString());
            }
        }