From 376da0e7d0771a6273193dc82a8338b60d0d3c6b Mon Sep 17 00:00:00 2001 From: mmrbnjd Date: Fri, 14 Jun 2024 22:37:22 +0330 Subject: [PATCH] ... --- Back/Controllers/CompanyController.cs | 8 + Back/Controllers/CustomerController.cs | 27 + Back/Controllers/InvoiceController.cs | 6 +- Back/Controllers/TaxPayerController.cs | 2 +- Back/Program.cs | 2 + Back/Reports/Invoice.mrt | 1599 +++++++++++++ Back/Reports/invoice1.mrt | 2001 +++++++++++++++++ TaxPayerFull/FixedValues.cs | 15 + TaxPayerFull/Pages/InvoiceReport.razor | 154 +- .../Pages/UserPanel/InvoiceItem.razor | 14 +- 10 files changed, 3815 insertions(+), 13 deletions(-) create mode 100644 Back/Reports/Invoice.mrt create mode 100644 Back/Reports/invoice1.mrt diff --git a/Back/Controllers/CompanyController.cs b/Back/Controllers/CompanyController.cs index cb35722..d997ee1 100644 --- a/Back/Controllers/CompanyController.cs +++ b/Back/Controllers/CompanyController.cs @@ -22,6 +22,14 @@ namespace Back.Controllers _servCompany = servCompany; _servTaxPayer = servTaxPayer; } + [HttpGet("GetCompany")] + public async Task> GetCompany() + { + var claim = HttpContext.User.Claims.First(c => c.Type == "UserID"); + var UserID = claim.Value; + var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID)); + return Ok(await _servCompany.GetCompany(user.RolUsers.First().CompanyID)); + } [HttpPost("ChangeLogo")] public async Task> ChangeLogo(byte[] logo) { diff --git a/Back/Controllers/CustomerController.cs b/Back/Controllers/CustomerController.cs index 3f74ca2..e0d8c4a 100644 --- a/Back/Controllers/CustomerController.cs +++ b/Back/Controllers/CustomerController.cs @@ -1,4 +1,5 @@ using Back.Common; +using Back.Data.Models; using Back.Services; using Back.Validations; using Microsoft.AspNetCore.Authorization; @@ -36,6 +37,32 @@ namespace Back.Controllers return Ok(await _servCus.GetCustomers(user.RolUsers.First().CompanyID, itemSerch)); + } + [HttpGet("GetCustomer/{ID}")] + public async Task> GetCustomer(int ID) + { + var claim = HttpContext.User.Claims.First(c => c.Type == "UserID"); + var UserID = claim.Value; + var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID)); + var cus = await _servCus.GetCustomerByCustomerID(ID, user.RolUsers.First().CompanyID); + return Ok(new RCustomer + { + Address = cus.Address, + BranchID = cus.BranchID, + CustomerType = cus.CustomerType, + CustomerTypeTitle = cus.CustomerType.GetEnumDisplayName(), + EconomicCode = cus.EconomicCode, + Email = cus.Email, + FullName = cus.FullName, + ID = ID, + Info = cus.Info, + MeliCode = cus.MeliCode, + PassportNumber = cus.PassportNumber, + Phone = cus.Phone, + ZipCode = cus.ZipCode + + + }); } [HttpGet("GetAllForidName")] public async Task>> GetAllForSearch() diff --git a/Back/Controllers/InvoiceController.cs b/Back/Controllers/InvoiceController.cs index f11382c..3c0ecf8 100644 --- a/Back/Controllers/InvoiceController.cs +++ b/Back/Controllers/InvoiceController.cs @@ -440,10 +440,10 @@ namespace Back.Controllers { return Ok(await _servTaxPayer.GetPatterns()); } - [HttpGet("GetReport")] - public IActionResult GetReport() + [HttpGet("GetReport/{InvoiceID}")] + public IActionResult GetReport(int InvoiceID) { - var reportPath = $"Reports\\TwoSimpleLists.mrt"; + var reportPath = $"Reports\\invoice.mrt"; var bytes = System.IO.File.ReadAllBytes(reportPath); return new FileContentResult(bytes, "application/xml"); } diff --git a/Back/Controllers/TaxPayerController.cs b/Back/Controllers/TaxPayerController.cs index cb4a0d9..03c23fa 100644 --- a/Back/Controllers/TaxPayerController.cs +++ b/Back/Controllers/TaxPayerController.cs @@ -45,7 +45,7 @@ namespace Back.Controllers else { - if (!result.PatternID.HasValue) + if (!result.PatternID.HasValue || result.PatternID==0) return BadRequest(new List { "ابتدا برای این صورتحساب الگو در نظر بگیرید" }); if (result.invoiceType == InvoiceType.Bidding) diff --git a/Back/Program.cs b/Back/Program.cs index a5a5f75..be2f76e 100644 --- a/Back/Program.cs +++ b/Back/Program.cs @@ -6,6 +6,7 @@ using Back.Services; using Back.Validations; using Microsoft.EntityFrameworkCore; using Microsoft.IdentityModel.Tokens; +using Microsoft.Net.Http.Headers; using Microsoft.OpenApi.Models; using System.Text; using TaxPayer.Infrastructure.Persistence; @@ -85,6 +86,7 @@ builder.Services.AddCors(options => { policy.WithOrigins("https://localhost:7224", "http://localhost:5107") .AllowAnyHeader() + .WithHeaders(HeaderNames.ContentType) .AllowAnyMethod(); }); }); diff --git a/Back/Reports/Invoice.mrt b/Back/Reports/Invoice.mrt new file mode 100644 index 0000000..e8a1e17 --- /dev/null +++ b/Back/Reports/Invoice.mrt @@ -0,0 +1,1599 @@ + + + Interpretation + + + + + + Items + + ORIGINAL,No,No,ردیف,System.Int32,c6e53ddb83314a68ac18161076259610 + ORIGINAL,Item,Item,کد_x0020_کالا,System.Int32,_x0038_99a3f7c64af44ec8781063193979787 + ORIGINAL,ItemN,ItemN,کالا,System.String,_x0036_8fdbd503e1a4e03bff77ad73a0e1035 + ORIGINAL,am,am,تعداد,System.Int32,_x0030_36c4be5ad6b43f596334941eabd0e67 + ORIGINAL,UnitN,UnitN,واحد,System.String,_x0036_c4f0f5598434a6bbf86785537493127 + ORIGINAL,fee,fee,قیمت_x0020_واحد,System.String,_x0034_3aadcc0f85e4a6a8229c19470be7386 + ORIGINAL,prdis,prdis,مبلغ_x0020_قبل_x0020_از_x0020_تخفیف,System.String,_x0036_2ed00bc79734b9b8208e7f097519dba + ORIGINAL,dis,dis,تخفیف,System.String,d546fd46394b4d88a689f2df8c25c032 + ORIGINAL,adis,adis,مبلغ_x0020_پس_x0020_از_x0020_تخفیف,System.String,_x0031_a3b9432c0824264bf9e9e7ed4322509 + ORIGINAL,vam,vam,مالیات,System.String,e146dbd05efb44fab72caf11d53b12c6 + ORIGINAL,tsstam,tsstam,مبلغ_x0020_نهایی,System.String,bf90cc574c334b8e86eb1c5aa623786c + ORIGINAL,vra,vra,نرخ_x0020_مالیات,System.String,_x0038_1e50d61374c46308142bef65e2ccd59 + + + 78b0686176354df8a1dbe19c6b9f6741 + Items + Items + + + + + + + + EngineV2 + + d3b8d6cee03143c898b0bcaed6b9b698 + + + + None;Black;2;Solid;False;4;Black + Transparent + + + Transparent + 0,1028.6,1091,20 + + + None;[58:78:94];1;Solid;False;4;Black + Transparent + 0,0,749,20 + Footer2 + + + Microsoft Sans Serif,9.75,Regular,Point,False,0 + 06c16bd4f8654a7eaf7c4c1d0f7129d7 + Right + 0,0,0,0 + Text7 + + + {PageNofM} + [158:158:158] + Center + + + + + 81832642d9dd434e8bc74557b8c11f4f + PageFooterBand1 + + + + + Transparent + 0,20,1091,80 + + + Bottom;[158:158:158];1;Solid;False;4;Black + Transparent + 520,0,569,40 + Header2 + + + Microsoft Sans Serif,21.75,Bold,Point,False,204 + 897fb52156e64324a824be76ee88fae4 + Right + 0,0,0,0 + Text20 + + + صورتحساب فروش كالا و خدمات + [158:158:158] + Expression + Center + + + None;[58:78:94];1;Solid;False;4;Black + Transparent + True + 700,40,160,20 + Footer2 + + + Microsoft Sans Serif,9.75,Regular,Point,False,0 + 2369064ead1d4d228af99659029df6fb + Right + 0,0,0,0 + Text5 + + + شماره صورتحساب: + [158:158:158] + ,,,,WordWrap=True,A=0 + Expression + + + None;[58:78:94];1;Solid;False;4;Black + Transparent + True + 1050,40,39,20 + Footer2 + + + Microsoft Sans Serif,9.75,Regular,Point,False,0 + b97466bd2d874a9fa9011b4544cbd232 + Right + 0,0,0,0 + Text8 + + + تاريخ: + [158:158:158] + ,,,,WordWrap=True,A=0 + Expression + + + None;[58:78:94];1;Solid;False;4;Black + Transparent + True + 870,40,179,20 + Footer2 + + + Microsoft Sans Serif,9.75,Regular,Point,False,0 + fc3a312066d2443485b15412a4d2ca54 + Right + 0,0,0,0 + Text1 + + + {invoicedate} + [158:158:158] + ,,,,WordWrap=True,A=0 + Expression + + + None;[58:78:94];1;Solid;False;4;Black + Transparent + True + 520,40,180,20 + Footer2 + + + Microsoft Sans Serif,9.75,Regular,Point,False,0 + 09a8c79de84d49b88f331f3ec77e3013 + Right + 0,0,0,0 + Text2 + + + {InvoiceID} + [158:158:158] + ,,,,WordWrap=True,A=0 + Expression + + + + + 905f0f46e13241e19fd2f7aa451444b7 + ReportTitleBand1 + + + + + Top, Left;Black;1;Solid;False;4;Black + EmptyBrush + 0,140,1091,30 + + + All;Black;1;Solid;False;4;Black + GradientBrush,[255:255:255],[205:205:205],0 + True + 0,0,1090,30 + + + Arial,15 + Center + 0,0,0,0 + Text6 + + + اطلاعات فروشنده + Black + Expression + Center + + + + + ReportTitleBand2 + + + + + Left, Right, Bottom;Black;1;Solid;False;4;Black + Transparent + 0,210,1091,40 + + + Transparent + True + 650,6,370,30 + + + Tahoma,15 + 0,0,0,0 + Text22 + + + {CompanyName} + Black + Center + + + Transparent + 1020,6,70,20 + + + Arial,15 + Center + 0,0,0,0 + Text23 + + + شخص : + Black + Center + + + Transparent + 290,6,230,30 + + + Arial,15 + 0,0,0,0 + Text24 + + + {CompanyEconomicCode} + Black + Center + + + Transparent + 530,6,120,20 + + + Arial,15 + Center + 0,0,0,0 + Text25 + + + شماره اقتصادی : + Black + Expression + Center + + + Transparent + 10,6,230,30 + + + Arial,15 + 0,0,0,0 + Text26 + + + {CompanyPhone} + Black + Center + + + Transparent + 240,6,50,20 + + + Arial,15 + Center + 0,0,0,0 + Text27 + + + تلفن : + Black + Expression + Center + + + + + ReportTitleBand3 + + + + + Top, Left;Black;1;Solid;False;4;Black + EmptyBrush + 0,290,1091,30 + + + All;Black;1;Solid;False;4;Black + GradientBrush,[255:255:255],[205:205:205],0 + True + 0,0,1090,30 + + + Arial,15 + Center + 0,0,0,0 + Text3 + + + اطلاعات خریدار + Black + Expression + Center + + + + + ReportTitleBand4 + + + + + Left, Right, Bottom;Black;1;Solid;False;4;Black + Transparent + 0,360,1091,40 + + + Transparent + True + 650,6,370,30 + + + Tahoma,15 + 0,0,0,0 + Text4 + + + {CusName} + Black + Center + + + Transparent + 1020,6,70,20 + + + Arial,15 + Center + 0,0,0,0 + Text28 + + + شخص : + Black + Center + + + Transparent + 290,6,220,30 + + + Arial,15 + 0,0,0,0 + Text29 + + + {CusEconomicCode} + Black + Center + + + Transparent + 520,6,120,20 + + + Arial,15 + Center + 0,0,0,0 + Text30 + + + شماره اقتصادی : + Black + Expression + Center + + + Transparent + 10,6,230,30 + + + Arial,15 + 0,0,0,0 + Text31 + + + {CusPhone} + Black + Center + + + Transparent + 240,6,50,20 + + + Arial,15 + Center + 0,0,0,0 + Text32 + + + تلفن : + Black + Expression + Center + + + + + ReportTitleBand5 + + + + + Transparent + 0,440,1091,30 + + + + ReportTitleBand6 + + + + + Transparent + 0,510,1091,30 + + + Top, Bottom;[0:0:39];2;Solid;False;4;Black;True + [79:129:189] + 0,0,140,30 + Blue Steel_Header1 + + + Arial,9.75,Bold,Point,False,204 + Center + 0,0,0,0 + HeaderItems_tsstam__مبلغ_نهایی_ + + + مبلغ نهایی + White + ,,,,WordWrap=True,A=0 + Center + + + Top, Bottom;[0:0:39];2;Solid;False;4;Black;True + [79:129:189] + 140,0,100,30 + Blue Steel_Header1 + + + Arial,9.75,Bold,Point,False,204 + Center + 0,0,0,0 + HeaderItems_vam__مالیات_ + + + مالیات + White + ,,,,WordWrap=True,A=0 + Center + + + Top, Bottom;[0:0:39];2;Solid;False;4;Black;True + [79:129:189] + 240,0,150,30 + Blue Steel_Header1 + + + Arial,9.75,Bold,Point,False,204 + Center + 0,0,0,0 + HeaderItems_adis__مبلغ_پس_از_تخفیف_ + + + پس از تخفیف + White + ,,,,WordWrap=True,A=0 + Center + + + Top, Bottom;[0:0:39];2;Solid;False;4;Black;True + [79:129:189] + 390,0,80,30 + Blue Steel_Header1 + + + Arial,9.75,Bold,Point,False,204 + Center + 0,0,0,0 + HeaderItems_dis__تخفیف_ + + + تخفیف + White + ,,,,WordWrap=True,A=0 + Center + + + Top, Bottom;[0:0:39];2;Solid;False;4;Black;True + [79:129:189] + 470,0,140,30 + Blue Steel_Header1 + + + Arial,9.75,Bold,Point,False,204 + Center + 0,0,0,0 + HeaderItems_prdis__مبلغ_قبل_از_تخفیف_ + + + قبل از تخفیف + White + ,,,,WordWrap=True,A=0 + Center + + + Top, Bottom;[0:0:39];2;Solid;False;4;Black;True + [79:129:189] + 610,0,100,30 + Blue Steel_Header1 + + + Arial,9.75,Bold,Point,False,204 + Center + 0,0,0,0 + HeaderItems_fee__قیمت_واحد_ + + + قیمت واحد + White + ,,,,WordWrap=True,A=0 + Center + + + Top, Bottom;[0:0:39];2;Solid;False;4;Black;True + [79:129:189] + 710,0,50,30 + Blue Steel_Header1 + + + Arial,9.75,Bold,Point,False,204 + Center + 0,0,0,0 + HeaderItems_UnitN__واحد_ + + + واحد + White + ,,,,WordWrap=True,A=0 + Center + + + Top, Bottom;[0:0:39];2;Solid;False;4;Black;True + [79:129:189] + 760,0,50,30 + Blue Steel_Header1 + + + Arial,9.75,Bold,Point,False,204 + Center + 0,0,0,0 + HeaderItems_am__تعداد_ + + + تعداد + White + ,,,,WordWrap=True,A=0 + Center + + + Top, Bottom;[0:0:39];2;Solid;False;4;Black;True + [79:129:189] + 810,0,150,30 + Blue Steel_Header1 + + + Arial,9.75,Bold,Point,False,204 + Center + 0,0,0,0 + HeaderItems_ItemN__کالا_ + + + کالا + White + ,,,,WordWrap=True,A=0 + Center + + + Top, Bottom;[0:0:39];2;Solid;False;4;Black;True + [79:129:189] + 960,0,90,30 + Blue Steel_Header1 + + + Arial,9.75,Bold,Point,False,204 + Center + 0,0,0,0 + HeaderItems_Item__کد_کالا_ + + + کد کالا + White + ,,,,WordWrap=True,A=0 + Center + + + Top, Bottom;[0:0:39];2;Solid;False;4;Black;True + [79:129:189] + 1050,0,40,30 + Blue Steel_Header1 + + + Arial,9.75,Bold,Point,False,204 + Center + 0,0,0,0 + HeaderItems_No__ردیف_ + + + ردیف + White + ,,,,WordWrap=True,A=0 + Center + + + + + HeaderItems + + + + + Transparent + + 0,580,1091,30 + + + None;[0:0:39];1;Solid;False;4;Black + Transparent + True + 0,0,140,30 + Blue Steel_Data1 + + + Arial,8 + Center + 0,0,0,0 + DataItems_tsstam__مبلغ_نهایی_ + + + {Items.tsstam} + [0:0:0] + ,,,,WordWrap=True,A=0 + Center + + + None;[0:0:39];1;Solid;False;4;Black + Transparent + True + 140,0,100,30 + Blue Steel_Data1 + + + Arial,8 + Center + 0,0,0,0 + DataItems_vam__مالیات_ + + + {Items.vam} + [0:0:0] + ,,,,WordWrap=True,A=0 + Center + + + None;[0:0:39];1;Solid;False;4;Black + Transparent + True + 240,0,150,30 + Blue Steel_Data1 + + + Arial,8 + Center + 0,0,0,0 + DataItems_adis__مبلغ_پس_از_تخفیف_ + + + {Items.adis} + [0:0:0] + ,,,,WordWrap=True,A=0 + Center + + + None;[0:0:39];1;Solid;False;4;Black + Transparent + True + 390,0,80,30 + Blue Steel_Data1 + + + Arial,8 + Center + 0,0,0,0 + DataItems_dis__تخفیف_ + + + {Items.dis} + [0:0:0] + ,,,,WordWrap=True,A=0 + Center + + + None;[0:0:39];1;Solid;False;4;Black + Transparent + True + 470,0,140,30 + Blue Steel_Data1 + + + Arial,8 + Center + 0,0,0,0 + DataItems_prdis__مبلغ_قبل_از_تخفیف_ + + + {Items.prdis} + [0:0:0] + ,,,,WordWrap=True,A=0 + Center + + + None;[0:0:39];1;Solid;False;4;Black + Transparent + True + 610,0,100,30 + Blue Steel_Data1 + + + Arial,8 + Center + 0,0,0,0 + DataItems_fee__قیمت_واحد_ + + + {Items.fee} + [0:0:0] + ,,,,WordWrap=True,A=0 + Center + + + None;[0:0:39];1;Solid;False;4;Black + Transparent + True + 710,0,50,30 + Blue Steel_Data1 + + + Arial,8 + Center + 0,0,0,0 + DataItems_UnitN__واحد_ + + + {Items.UnitN} + [0:0:0] + ,,,,WordWrap=True,A=0 + Center + + + None;[0:0:39];1;Solid;False;4;Black + Transparent + True + 760,0,50,30 + Blue Steel_Data1 + + + Arial,8 + Center + 0,0,0,0 + DataItems_am__تعداد_ + + + {Items.am} + [0:0:0] + ,,,,WordWrap=True,A=0 + Center + + + None;[0:0:39];1;Solid;False;4;Black + Transparent + True + 810,0,150,30 + Blue Steel_Data1 + + + Arial,8 + Center + 0,0,0,0 + DataItems_ItemN__کالا_ + + + {Items.ItemN} + [0:0:0] + ,,,,WordWrap=True,A=0 + Center + + + None;[0:0:39];1;Solid;False;4;Black + Transparent + True + 960,0,90,30 + Blue Steel_Data1 + + + Arial,8 + Center + 0,0,0,0 + DataItems_Item__کد_کالا_ + + + {Items.Item} + [0:0:0] + ,,,,WordWrap=True,A=0 + Center + + + None;[0:0:39];1;Solid;False;4;Black + Transparent + True + 1050,0,40,30 + Blue Steel_Data1 + + + Arial,8 + Center + 0,0,0,0 + DataItems_No__ردیف_ + + + {Items.No} + [0:0:0] + ,,,,WordWrap=True,A=0 + Center + + + + Items + Blue Steel_Data1_Even Style + + + DataItems + Blue Steel_Data1_Odd Style + + + + + + Transparent + 0,650,1091,30 + + + + ReportSummaryBand1 + + + + + Transparent + 0,720,1091,70 + + + + ReportSummaryBand2 + + + + + + + 668294ae17e449b3a64981d08bcc7b69 + 39,39,39,39 + Page1 + Landscape + 827 + 1169 + A4 + + + + + System.Dll + System.Drawing.Dll + System.Windows.Forms.Dll + System.Data.Dll + System.Xml.Dll + Stimulsoft.Base.Dll + Stimulsoft.Controls.Dll + Stimulsoft.Report.Dll + + MasterDetail + Stimulsoft + 6/14/2024 7:42:15 PM + 5/29/2004 10:59:00 AM + The sample demonstrates how to create a Master-Detail report. + E:\TaxPayerFull\Back\Reports\Invoice.mrt + 75e172d77f0e4ba3a90bb0db2dd81820 + iVBORw0KGgoAAAANSUhEUgAAASAAAAGWCAMAAADvzq7aAAAABGdBTUEAALGPC/xhBQAAAYBQTFRF +2NjZxsfH3/LxydjY1qmbQjAlu8XFacK6xYdi4fPxuru6SbWr5/X19vv7rr3A4eHhesnC6urq5tnR +rLe4zevnyMK9sd/b/P/+Vrqxz93f2+zrpnNS+/39pKqqRLOpk9PN7ff38vPzsQ0JvuXi0+Hc6FQr +6OHbg83Ftb+/2fHt0uPk7vn3o9rU4/b17/n5UritlJOM0czJ8e7q9vLtxTYo7O7xeV46m9fSnqan +4vXz1mJW1tPQwpSJ4fDtzM7R1urrX762xdLP6tXl29/h5Orv/fn13ry5+vr62+nlsaaUvc3PQrGn +7+nj6ebj+fbypK+y6Pz6i9DK9Pb45ebos+Lh4cjR//37uLWz5fXy2+7wsKyo5ff2qbKx3uTqp9bO +0ebp/fv5TbqxjtbV1+fk7fP3lM7El56g+vv+SreuPLClR5mO4O7m1PHyUqiessLHVLGltNvR7eLw +xezt3fb5aK2coJ+d4/f4997q9/f4SbOozvDypeDhsbGx4PLxTbas////fYKczAAAABl0RVh0U29m +dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAExmSURBVHhe7X2PQ9pI+ndCeqGElRBTqqGgy8lp +yslqoFRyKYFstLBRQKWFIljZTavt6x7ba7/2cKvmX3+fSaIVtSaive2ufPg1mUyemfkwM8k8mTwP +Rg9xKTBjiEsxJMgBQ4IcMCTIAUOCHDAkyAFDghwwJMgBQ4IcMCTIAUOCHDAkyAFDghwwJMgBQ4Ic +cIagaVzeMYxRHBuzIy7CkoDjcu1citTGZvpg0974dlCncVxFgfQGZ0acwvTBoh0yMbpB2qHPOENQ +aH5701j6ab56qvqVkCn/Myp7WSo6fyxrhcpYgXRocWWesMLfEELbjQZvYORYJXTu3xudPx2V2mMX +O6EzjJzZFPb2SGN6L9seq2ASsJuSsKIwzy5CQI3U1RqNGK/sdY06BbLTEFlpzOMxSJwxltT1lflz +f9Ifjc5edMQwynvbWI9+1cGYabVYxl4Z06qRxkYQQWWJhv2SulMPbZMZab5ds4+0cLYFRUPZHYo6 +qBoSRe1tTu81qM3GdpaY3qM2yM7eXhQRUAESjel5bgUi+ZXoXnRRoKhtaD5c6tsjyBDms/KYtLdH +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 + MasterDetail + HundredthsOfInch + 2021.4.2.0 + + CSharp + + + Bottom;[158:158:158];1;Solid;False;4;Black + Transparent + + Microsoft Sans Serif,21.75,Bold,Point,False,204 + Center + Header2 + Red + [158:158:158] + Center + + + None;[158:158:158];1;Solid;False;4;Black + Transparent + + Microsoft Sans Serif,20.25,Bold,Point,False,204 + Center + Header Master + Red + White + Center + + + False + False + All;White;1;Solid;False;4;Black + [77:182:172] + + Microsoft Sans Serif,12,Bold,Point,False,204 + Center + Header3 + Red + [255:255:255] + Center + + + None;[182:182:182];1;Solid;False;4;Black + Transparent + + Microsoft Sans Serif,9.75,Regular,Point,False,0 + Data1 + Red + [74:74:74] + Center + + + None;[255:255:255];1;Solid;False;4;Black + [224:242:241] + + Microsoft Sans Serif,9.75,Regular,Point,False,0 + Data2 + Red + [74:74:74] + + + False + None;[58:78:94];1;Solid;False;4;Black + Transparent + + Microsoft Sans Serif,9.75,Regular,Point,False,0 + Right + Footer2 + Red + [158:158:158] + Center + + + None;[58:78:94];1;Solid;False;4;Black + Transparent + + Microsoft Sans Serif,9.75,Regular,Point,False,0 + Right + Footer Master + Red + White + Center + + + None;[0:0:39];1;Solid;False;4;Black + Transparent + Blue Steel + + + Text, Primitive, Image + ReportTitle + ComponentType, Placement, PlacementNestedLevel + + + Arial,14,Bold + Blue Steel_Report_Title1 + Red + [79:129:189] + + + None;[0:0:39];1;Solid;False;4;Black + Transparent + Blue Steel + + + Text, Primitive, Image + GreaterThanOrEqualTo + ReportTitle + 2 + ComponentType, Placement, PlacementNestedLevel + + + Arial,10,Bold + Blue Steel_Report_Title2 + Red + [79:129:189] + + + None;[0:0:39];1;Solid;False;4;Black + Transparent + Blue Steel + + + Text, Primitive, Image + ReportSummary + ComponentType, Placement + + + Arial,10,Bold + Blue Steel_Report_Summary + Red + [79:129:189] + + + None;[0:0:39];1;Solid;False;4;Black + Transparent + Blue Steel + + + Text, Primitive, Image + PageHeader + ComponentType, Placement + + + Arial,10 + Blue Steel_Page_Header + Red + Black + + + None;[0:0:39];1;Solid;False;4;Black + Transparent + Blue Steel + + + Text, Primitive, Image + PageFooter + ComponentType, Placement + + + Arial,10 + Blue Steel_Page_Footer + Red + Black + + + Top, Bottom;[0:0:39];1;Solid;False;4;Black + Transparent + Blue Steel + + + Text, Primitive, Image + GreaterThanOrEqualTo + GroupHeader + ComponentType, Placement, PlacementNestedLevel + + + Arial,13,Bold + Blue Steel_Group_Header1 + Red + [79:129:189] + + + Top, Bottom;[0:0:39];1;Solid;False;4;Black + Transparent + Blue Steel + + + Text, Primitive, Image + GroupFooter + ComponentType, Placement, PlacementNestedLevel + + + Arial,9.75,Bold,Point,False,204 + Blue Steel_Group_Footer1 + Red + [79:129:189] + + + Top, Bottom;[0:0:39];2;Solid;False;4;Black;True + [79:129:189] + Blue Steel + + + Text, Primitive, Image + GreaterThanOrEqualTo + Header + ComponentType, Placement, PlacementNestedLevel + + + Arial,9.75,Bold,Point,False,204 + Blue Steel_Header1 + Red + White + + + None;[0:0:39];1;Solid;False;4;Black + Transparent + Blue Steel + + + Text, Primitive, Image, CheckBox + GreaterThanOrEqualTo + Data + ComponentType, Placement, PlacementNestedLevel + + + Arial,8 + Blue Steel_Data1 + Red + [0:0:0] + + + None;[0:0:39];1;Solid;False;4;Black + [255:255:255] + Blue Steel + + + GreaterThanOrEqualTo + DataOddStyle + Placement, PlacementNestedLevel + + + Arial,8 + Blue Steel_Data1_Odd Style + Red + [0:0:0] + + + None;[0:0:39];1;Solid;False;4;Black + [216:216:216] + Blue Steel + + + GreaterThanOrEqualTo + DataEvenStyle + Placement, PlacementNestedLevel + + + Arial,8 + Blue Steel_Data1_Even Style + Red + [0:0:0] + + + Top, Bottom;[0:0:39];2;Solid;False;4;Black + White + Blue Steel + + + Text, Primitive, Image + Footer + ComponentType, Placement, PlacementNestedLevel + + + Arial,8.25,Bold,Point,False,204 + Blue Steel_Footer1 + Red + Black + + + \ No newline at end of file diff --git a/Back/Reports/invoice1.mrt b/Back/Reports/invoice1.mrt new file mode 100644 index 0000000..ba311ff --- /dev/null +++ b/Back/Reports/invoice1.mrt @@ -0,0 +1,2001 @@ + + + + + + + FGsysco + 9HiBSE1KS4XhTaGJxATgXtF40aFFS3ut4mvomUoB42bV8mUJW2vDRcJfqFjqmCAvhihlr05XWc1GXpyE5HwlboEae4njAUvNxxFpnUtUd3uNGNEJRVnTqPNc2fFnCeNjyBr3Q2dr++3hBqCcTQT2G8Rs0Q== + FGsysco + + + + + InWords + + Num,System.String + + 30 + + InWords + FGsysco + + _x0040_InvoiceID,_x0034_4,8,0 + _x0040_CompanyID,_x0036_3,8,0 + + select '' As Num + + + spSAL_PrintFactorRow + + FYear,System.String + PreFactorNo,System.Int32 + No,System.Int16 + Item,System.String + Price,System.Int64 + Quantity,System.Decimal + TPrice,System.Int64 + Discount,System.Int64 + TDiscount,System.Int64 + Tax,System.Int64 + Total,System.Int64 + Dsc,System.String + ItemN,System.String + ItemDsc,System.String + Mark,System.String + OrderKey,System.String + UnitN,System.String + HasTax,System.Byte + AllowZero,System.Byte + PriceType,System.Byte + + 30 + + spSAL_PrintFactorRow + FGsysco + + _x0040_InvoiceID,_x0034_4,8,0 + _x0040_CompanyID,_x0036_3,8,0 + + SELECT SUBSTRING(Invoices.[InvoiceDate], 1, 4) as FYear + ,[dbo].[InvoiceItems].[InvoiceID] as PreFactorNo + ,[dbo].[InvoiceItems].[ID] as No + ,[dbo].[InvoiceItems].[CODID] as Item + ,Null as SerialNo + ,'' as Dsc + ,[dbo].[InvoiceItems].[fee] as Price + ,[dbo].[InvoiceItems].[am] as Quantity + ,([dbo].[InvoiceItems].[fee] * [dbo].[InvoiceItems].[am]) as TPrice + ,[dbo].[InvoiceItems].[dis] as Discount + ,(([dbo].[InvoiceItems].[fee] * [dbo].[InvoiceItems].[am]) - [dbo].[InvoiceItems].[dis]) as TDiscount + ,((([dbo].[InvoiceItems].[fee] * [dbo].[InvoiceItems].[am]) - [dbo].[InvoiceItems].[dis]) * [dbo].[CODItems].[TaxRate]) /100 as Tax + + ,((([dbo].[InvoiceItems].[fee] * [dbo].[InvoiceItems].[am]) - [dbo].[InvoiceItems].[dis]))+ + ((([dbo].[InvoiceItems].[fee] * [dbo].[InvoiceItems].[am]) - [dbo].[InvoiceItems].[dis]) * [dbo].[CODItems].[TaxRate]) /100 + as Total + ,'' as Dsc + ,[dbo].[CODItems].[Title] as ItemN + ,Null as ItemDsc + ,Null as Mark + ,Null as OrderKey + ,[dbo].[CODUnits].Title as UnitN + ,CASE WHEN [dbo].[CODItems].[TaxRate]=0 THEN 0 else 1 End as HasTax + ,'0' as AllowZero + ,'1' as PriceType + , NULL AS [SQuantity] + ,Null AS [SUnit] + + + + + FROM [dbo].[InvoiceItems] + LEFT JOIN [dbo].[Invoices] + ON [dbo].[Invoices].[ID] = [dbo].[InvoiceItems].[InvoiceID] + LEFT JOIN [dbo].[CODItems] + ON [dbo].[CODItems].[ID] = [dbo].[InvoiceItems].[CODID] + LEFT JOIN [dbo].[CODUnits] + ON [dbo].[CODUnits].[ID] = [dbo].[CODItems].[UnitID] + + + + where dbo.Invoices.IsDeleted=0 and dbo.Invoices.ID=@InvoiceID and dbo.Invoices.CompanyID=@CompanyID + + + + spSAL_PrintFactor + + BranchID,System.String + BranchName,System.String + FYear,System.String + PreFactorNo,System.Int32 + FactorNo,System.Int32 + IssuanceDate,System.String + FactorDate,System.String + Seller,System.String + Customer,System.String + Dsc,System.String + Pursuit,System.String + Reference,System.String + CUSName,System.String + CUSEconomicNo,System.String + CUSSabtNo,System.String + CUSShenaseMeli,System.String + CUSAddress,System.String + CUSZipCD,System.String + CUSTel,System.String + CUSCityName,System.String + PayTypeName,System.String + Ptotal,System.String + + 30 + + spSAL_PrintFactor + FGsysco + + _x0040_InvoiceID,_x0034_4,8,0 + _x0040_CompanyID,_x0036_3,8,0 + + +SELECT SUBSTRING([InvoiceDate], 1, 4) as FYear + ,dbo.Invoices.ID as PreFactorNo + ,dbo.Invoices.ID as FactorNo + ,SUBSTRING([InvoicIssueDate], 1, 4) + '/' + SUBSTRING([InvoicIssueDate], 5, 2) + '/' + SUBSTRING([InvoicIssueDate], 7, 2) as IssuanceDate + ,SUBSTRING([InvoiceDate], 1, 4) + '/' + SUBSTRING([InvoiceDate], 5, 2) + '/' + SUBSTRING([InvoiceDate], 7, 2) as FactorDate + ,dbo.Invoices.CompanyID as Seller + ,dbo.Invoices.CustomerID as Customer + ,dbo.Invoices.Des as Dsc + ,Null as Pursuit + ,Null as Reference + ,dbo.Companies.BranchID as BranchID + ,dbo.Invoices.LastChangeUserID as cUser1 + ,dbo.Users.Fullname As cUser1Name + ,dbo.Invoices.LastChangeUserID as cUser2 + ,dbo.Users.Fullname As cUser2Name + ,dbo.Companies.Name AS SELName + ,dbo.Companies.EconomicCode AS SELEconomicNo + ,Null AS SELSabtNo + ,Null AS SELShenaseMeli + ,Null AS SELAddress + ,Null AS SELZipCD + ,dbo.Companies.Phone AS SELTel + ,Null AS SELCityName + ,dbo.Customers.FullName AS CUSName + ,dbo.Customers.EconomicCode AS CUSEconomicNo + ,Null AS CUSSabtNo + ,Null AS CUSShenaseMeli + ,dbo.Customers.Address AS CUSAddress + ,dbo.Customers.ZipCode AS CUSZipCD + ,dbo.Customers.Phone AS CUSTel + ,Null AS CUSCityName + , CASE WHEN dbo.Invoices.setm=1 THEN N'نقد' WHEN dbo.Invoices.setm=2 THEN N'نسیه' WHEN dbo.Invoices.setm=3 THEN N'نقد/نسیه' ELSE '' END AS PayTypeName + ,dbo.Companies.BranchID AS BranchName + ,dbo.FN_Num_ToWords(SUM(((([dbo].[InvoiceItems].[fee] * [dbo].[InvoiceItems].[am]) - [dbo].[InvoiceItems].[dis]))+ + ((([dbo].[InvoiceItems].[fee] * [dbo].[InvoiceItems].[am]) - [dbo].[InvoiceItems].[dis]) * [dbo].[CODItems].[TaxRate]) /100)) as Ptotal + FROM dbo.Invoices + INNER JOIN dbo.Companies + ON dbo.Companies.ID = dbo.Invoices.CompanyID + INNER JOIN dbo.Customers + ON dbo.Customers.ID = dbo.Invoices.CustomerID + INNER JOIN dbo.Users + ON dbo.Users.ID = dbo.Invoices.LastChangeUserID + INNER JOIN dbo.InvoiceItems + ON dbo.Invoices.ID = dbo.InvoiceItems.InvoiceID + LEFT JOIN [dbo].[CODItems] + ON [dbo].[CODItems].[ID] = [dbo].[InvoiceItems].[CODID] + where dbo.Invoices.IsDeleted=0 and dbo.Invoices.ID=@InvoiceID and dbo.Invoices.CompanyID=@CompanyID + + Group by dbo.Invoices.InvoiceDate,dbo.Invoices.ID,dbo.Invoices.InvoicIssueDate,dbo.Invoices.CompanyID,dbo.Invoices.CustomerID + ,dbo.Invoices.Des,dbo.Companies.BranchID,dbo.Invoices.LastChangeUserID,dbo.Users.Fullname,dbo.Companies.Name,dbo.Companies.EconomicCode + ,dbo.Companies.Phone,dbo.Customers.FullName,dbo.Customers.EconomicCode,dbo.Customers.Address,dbo.Customers.ZipCode,dbo.Customers.Phone + ,dbo.Invoices.setm + + + + + + vSAL_Seller + + Seller,System.String + Name,System.String + EconomicNo,System.String + ShenaseMeli,System.String + SabtNo,System.String + ZipCD,System.String + Address,System.String + Tel,System.String + CityID,System.String + Registrar,System.String + RegisterDate,System.String + CityName,System.String + Fax,System.String + Dsc,System.String + + 33 + + vSAL_Seller + FGsysco + + _x0040_CompanyID,_x0036_3,8,0 + + SELECT [ID] as Seller + ,[Name] as Name + , Null as Dsc + ,[EconomicCode] as EconomicNo + ,'' as ShenaseMeli + ,'' as SabtNo + ,'' as ZipCD + ,'' as Address + ,[Phone]+'/'+[Mobile] as Tel + ,'' as Fax + ,'' as CityID + , '' as CityName + , 'admin' as Registrar + ,[RegisterDate] as RegisterDate + ,[UniqeMemory] + ,[PrivateKey] + FROM [TaxPayer020713].[dbo].[Companies] + where ID=@CompanyID + + + + + + + EngineV2 + + + + + None;Black;2;Solid;False;4;Black + Transparent + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + 0,4,277,14 + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + 97,0,77,10 + Title1 + + B Nazanin,18,Bold,Point,False,178 + f2b7b685dbc745e7ba816ee3100aded3 + Center + 0,0,0,0 + Text1 + + + صورتحساب فروش كالا و خدمات + [31:73:125] + Expression + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + 23,0,20,7 + Header2 + + B Nazanin,12,Bold,Point,False,178 + 17cc862db4b94137a4657579b270e684 + 0,0,0,0 + Text12 + + + شماره سريال: + [31:73:125] + ,,RightToLeft=True,,,A=0 + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + 1,0,22,7 + Header2 + + B Nazanin,12,Bold,Point,False,178 + 5c61688aceb741cc9507a15c0ae725ef + Right + 0,0,0,0 + Text29 + + + {spSAL_PrintFactor.FactorNo} + [31:73:125] + DataColumn + Center + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + 71,1,20,7 + Header2 + + B Nazanin,12,Bold,Point,False,178 + 3cb660aa2c0f4f598ecdc09c331600ff + Right + 0,0,0,0 + Text8 + + + تاريخ: + [31:73:125] + ,,RightToLeft=True,,,A=0 + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + 49,1,22,7 + Titel3 + + B Nazanin,12,Regular,Point,False,178 + 6779cb1afc494e358e6cc7e4e78d1377 + Right + 0,0,0,0 + Text11 + + + {spSAL_PrintFactor.FactorDate} + Black + Center + + + Title1 + + fa537d43035147338f0e521a35b9c61f + ReportHeaderSection1 + + + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + 0,26,277,32 + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + 154,6,83,7 + Footer1 + + B Nazanin,10 + 12675f8ba47748a79d10b7e8fb54ad5b + Right + 0,0,0,0 + MasterName1 + + + {vSAL_Seller.Name} + Black + Expression + Center + + + Left;[31:73:125];1;Solid;False;4;Black + Transparent + 0,6,57,7 + Footer1 + + B Nazanin,10 + 9b02fd2f18264d95b0cb0f3f4806285d + Right + 0,0,0,0 + IdNo1 + + + {vSAL_Seller.Tel} + Black + Expression + Center + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + 154,21,83,7 + Footer1 + + B Nazanin,10 + 3bce02abada44854a0c615c47fdbfe1d + Right + 0,0,0,0 + CustomerName1 + + + {spSAL_PrintFactor.CUSName} + Black + Center + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + 96,28,155,7 + Footer1 + + B Nazanin,10 + 76594d16486743b39a508f1feecb96f5 + Right + 0,0,0,0 + ProvinceCust1 + + + {spSAL_PrintFactor.CUSAddress} + Black + Center + + + Left;[31:73:125];1;Solid;False;4;Black + Transparent + 0,28,64.5,7 + Footer1 + + B Nazanin,10 + a549d8d933a64653acddf03d72f4fca1 + Right + 0,0,0,0 + TelCust1 + + + {spSAL_PrintFactor.CUSTel} + Black + Center + + + All;[31:73:125];1;Solid;False;4;Black + [219:229:241] + 0,0,277,6 + Header3 + + B Nazanin,11,Bold + 69edafecf9014712bf287a10957f7939 + Center + 0,0,0,0 + Text2 + + + مشخصات فروشنده + [31:73:125] + Center + + + Right;[31:73:125];1;Solid;False;4;Black + Transparent + 237,6,40,7 + Header2 + + B Nazanin,12,Bold,Point,False,178 + 0125c4d08e9f40b6b4bf770266c2f95b + 0,0,0,0 + Text3 + + + نام شخص حقيقي / حقوقي: + [31:73:125] + ,,RightToLeft=True,,,A=0 + Center + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + 129,6,25,7 + Header2 + + B Nazanin,12,Bold,Point,False,178 + e663a3c05c6e4b93b5b22a664aa0d605 + 0,0,0,0 + Text4 + + + شماره اقتصادي: + [31:73:125] + ,,RightToLeft=True,,,A=0 + Center + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + 57,6,26,7 + Header2 + + B Nazanin,12,Bold,Point,False,178 + ebd07225f4ab43c1a2ca22c88c81f852 + 0,0,0,0 + Text5 + + + شماره تلفن / نما بر: + [31:73:125] + ,,RightToLeft=True,,,A=0 + Center + + + All;[31:73:125];1;Solid;False;4;Black + [219:229:241] + 0,13,277,6 + Header3 + + B Nazanin,11,Bold + 27eea370be684585ba23063c42aa443e + Center + 0,0,0,0 + Text14 + + + مشخصات خريدار + [31:73:125] + Center + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + 64.5,28,29.5,7 + Header2 + + B Nazanin,12,Bold,Point,False,178 + 663a2044c67c4f04921a8b57fc910045 + 0,0,0,0 + Text15 + + + شماره تلفن / نما بر: + [31:73:125] + ,,RightToLeft=True,,,A=0 + Center + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + 67,21,27,7 + Header2 + + B Nazanin,12,Bold,Point,False,178 + 60b176ca129946f7867e384dd9032d21 + Right + 0,0,0,0 + Text17 + + + كد پستي 10 رقمي: + [31:73:125] + ,,RightToLeft=True,,,A=0 + Expression + Center + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + 129,21,25,7 + Header2 + + B Nazanin,12,Bold,Point,False,178 + 386c508a96fc4ad4b1232d3d1d71d137 + 0,0,0,0 + Text19 + + + شماره اقتصادي: + [31:73:125] + ,,RightToLeft=True,,,A=0 + Center + + + Right;[31:73:125];1;Solid;False;4;Black + Transparent + 251,28,26,7 + Header2 + + B Nazanin,12,Bold,Point,False,178 + 181459fe594b47bd90cfe299302a4a2c + Right + 0,0,0,0 + Text22 + + + نشانی کامل، شهر: + [31:73:125] + ,,RightToLeft=True,,,A=0 + Expression + Center + + + Right;[31:73:125];1;Solid;False;4;Black + Transparent + 237,21,40,7 + Header2 + + B Nazanin,12,Bold,Point,False,178 + b00484358a934930899aa6ba5cd6ba42 + 0,0,0,0 + Text23 + + + نام شخص حقيقي / حقوقي: + [31:73:125] + ,,RightToLeft=True,,,A=0 + Center + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + 95,6,34,7 + Footer1 + + B Nazanin,10 + 46d398c5f17e421198dc95ba2b3ca6fb + Right + 0,0,0,0 + EcoNo1 + + + {Left(vSAL_Seller.EconomicNo,4) ++'-'+Mid(vSAL_Seller.EconomicNo,4,4) ++'-'+Mid(vSAL_Seller.EconomicNo,8,4)} + Black + Expression + Center + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + 94,21,35,7 + Footer1 + + B Nazanin,10 + ffd9bd3fb6a745a6bca8b46b2e74e851 + Right + 0,0,0,0 + Text25 + + + {Left(spSAL_PrintFactor.CUSEconomicNo,4) ++'-'+Mid(spSAL_PrintFactor.CUSEconomicNo,4,4) ++'-'+Mid(spSAL_PrintFactor.CUSEconomicNo,8,4)} + Black + Expression + Center + + + Left;[31:73:125];1;Solid;False;4;Black + Transparent + 0,20,64.5,9 + Footer1 + + B Nazanin,10 + f3b1659fcfa54583a49ec340c9750dee + Right + 0,0,0,0 + Text6 + + + {spSAL_PrintFactor.CUSZipCD} + Black + Center + + + Footer1 + + 88f42de9dc654dce9ad1b563bd45a430 + PageHeaderSection1 + + + + + Transparent + 277,88,36,6 + + False + Arial,8 + 0,0,0,0 + Text7 + + + {vSAL_Seller.Seller} + Black + DataColumn + + + Transparent + 313,88,36,6 + + Arial,8 + 0,0,0,0 + Text45 + + + {InWords.Num} + Black + DataColumn + + + Transparent + 277,80,36,6 + + False + Arial,8 + 0,0,0,0 + Text24 + + + {spSAL_PrintFactor.Parameters["@InvoiceID"].ParameterValue} + Black + DataColumn + + + White + + 0,66,277,6 + + + [0:255:255:255] + 0,0,277,6 + + 6f18efd5c51b483eb0cd8a5f8a71495c + Subreport1 + + + + 8541f88443c54a90a8b3ee9f31210f4a + + + + + spSAL_PrintFactor + + bc79ab80f28c47a6b412661711ec8d5d + DetailSection1 + + + + + + Transparent + 0,80,277,7.5 + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 268,0,9,7.5 + Number_BNaz + + B Nazanin,10 + True + 606df700fbeb4a9f941548d741bf1a9d + Center + 0,0,0,0 + Text31 + + + {Line} + Black + Expression + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 190,0,60,7.5 + Footer1 + + B Nazanin,10 + 9fd5adf5a6ff4d4d9eba29eb05ff6954 + 0,0,0,0 + Text26 + + + Black + ,,RightToLeft=True,,,A=0 + Expression + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 250,0,18,7.5 + Footer1 + + B Nazanin,10 + d4611493ecd64594a2b13dcfe4632f4d + Center + 0,0,0,0 + Text30 + + + Black + Expression + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 176,0,14,7.5 + Footer1 + + B Nazanin,10 + 5baff2926b8542649372f6df26181a72 + Right + 0,0,0,0 + Text32 + + + Black + + 0 + , + 1 + False + + Expression + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 164,0,12,7.5 + Footer1 + + B Nazanin,10 + 6e7937f6e2304604978110fe80a55a48 + Right + 0,0,0,0 + Text33 + + + Black + Expression + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 142,0,22,7.5 + Footer1 + + B Nazanin,10 + 429a1f3b015a49bc8779525a4bc4be29 + Right + 0,0,0,0 + Text34 + + + Black + + 0 + , + 1 + False + + Expression + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 90,0,23,7.5 + Footer1 + + B Nazanin,10 + b2bc1d58b4eb47d294a639bb56671745 + Right + 0,0,0,0 + Text35 + + + Black + + 0 + , + 1 + False + + Expression + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 38,0,23,7.5 + Footer1 + + B Nazanin,10 + 822e8fdc9c3c4128b5f1751e4ccaa78e + Right + 0,0,0,0 + Text36 + + + Black + + 0 + , + 1 + False + + Expression + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 113,0,29,7.5 + Footer1 + + B Nazanin,10 + 3118eaebb4834917b3bc0f01c576d758 + Right + 0,0,0,0 + Text37 + + + Black + + 0 + , + 1 + False + + Expression + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 61,0,29,7.5 + Footer1 + + B Nazanin,10 + 24e71771536c476e9e853f076875b43b + Right + 0,0,0,0 + Text42 + + + Black + + 0 + , + 1 + False + + Expression + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 0,0,38,7.5 + Footer1 + + B Nazanin,10 + 6f10d743aee24f64b7bb3ce8ffacbe7c + Right + 0,0,0,0 + Text43 + + + Black + + 0 + , + 1 + False + + Expression + Center + + + + 33a07a3af98a4c98bba876dfa0f85b8e + EmptyBand1 + + + + + Transparent + 0,95.5,277,104 + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 113,0.5,29,6 + Footer1 + + B Nazanin,10 + b986ed86d96a4fecb9b28c5af1279ce1 + Right + 0,0,0,0 + Text62 + + + {Sum(DetailSection1_1,spSAL_PrintFactorRow.TPrice)} + Black + + 0 + , + 1 + False + + Expression + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 90,0.5,23,6 + Footer1 + + B Nazanin,10 + c302a2d673cd46229afd3fa7ea272f1a + Right + 0,0,0,0 + Text63 + + + {Sum(DetailSection1_1,spSAL_PrintFactorRow.Discount)} + Black + + 0 + , + 1 + False + + Expression + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 61,0.5,29,6 + Footer1 + + B Nazanin,10 + f913bbac011a4be09aadeba6550fffbb + Right + 0,0,0,0 + Text64 + + + {Sum(DetailSection1_1,spSAL_PrintFactorRow.TDiscount)} + Black + + 0 + , + 1 + False + + Expression + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 38,0.5,23,6 + Footer1 + + B Nazanin,10 + 0c4d9909c64a4457bfefd19f5d3d1265 + Right + 0,0,0,0 + Text65 + + + {Sum(DetailSection1_1,spSAL_PrintFactorRow.Tax)} + Black + + 0 + , + 1 + False + + Expression + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 0,0.5,38,6 + Footer1 + + B Nazanin,10 + 4b290aa5d6b24c2f871e97210a3ee8ed + Right + 0,0,0,0 + Text66 + + + {Sum(DetailSection1_1,spSAL_PrintFactorRow.Total)} + Black + + 0 + , + 1 + False + + Expression + Center + + + All;[31:73:125];1;Solid;False;4;Black + [219:229:241] + 142,0.5,48,6 + Header3 + + B Nazanin,11,Bold + 679b3ffcbad2431087a3aec1e19e0caa + Center + 0,0,0,0 + Text67 + + + جمع: + [31:73:125] + ,,RightToLeft=True,,,A=0 + Expression + Center + + + Top, Right, Bottom;[31:73:125];1;Solid;False;4;Black + Transparent + 246,0.5,31,12 + Header2 + + B Nazanin,12,Bold,Point,False,178 + 259ba7b89c0e46a69f71a4f14fd7dccf + 0,0,0,0 + Text68 + + + شرایط و نحوه فروش: + [31:73:125] + ,,RightToLeft=True,,,A=0 + Expression + + + Top, Bottom;[31:73:125];1;Solid;False;4;Black + Transparent + 168,6.5,22,6 + Header2 + + B Nazanin,12,Bold,Point,False,178 + a47dd101ba444065a0c6cb0314eea0a6 + 0,0,0,0 + Text69 + + + مبلغ به حروف: + [31:73:125] + ,,RightToLeft=True,,,A=0 + Expression + Center + + + Top, Left, Bottom;[31:73:125];1;Solid;False;4;Black + Transparent + 190,0.5,56,12 + Footer1 + + B Nazanin,10 + 16f6b69e8c2148f7958b03146c7549d1 + 0,0,0,0 + Text70 + + + {spSAL_PrintFactor.PayTypeName} + Black + ,,RightToLeft=True,,,A=0 + Expression + + + Top, Left, Bottom;[31:73:125];1;Solid;False;4;Black + Transparent + 0,12.5,261,6 + Footer1 + + B Nazanin,10 + 4c5192e9c3f741cbb5afa16daf6d2181 + 0,0,0,0 + Text38 + + + {spSAL_PrintFactor.Dsc} + Black + ,,RightToLeft=True,,WordWrap=True,A=0 + DataColumn + Center + + + Top, Right, Bottom;[31:73:125];1;Solid;False;4;Black + Transparent + 261,12.5,16,6 + Header2 + + B Nazanin,12,Bold,Point,False,178 + e7c1cf6c83ea409b9fdaf376a8fd1643 + 0,0,0,0 + Text59 + + + توضیحات: + [31:73:125] + ,,RightToLeft=True,,,A=0 + Expression + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 0,18.5,142,15.5 + Header2 + + B Nazanin,12,Bold,Point,False,178 + 28c29eb21adf487e84a2c8ae7e9984c1 + 0,0,0,0 + Text41 + + + مهر و امضاء خریدار: + [31:73:125] + ,,RightToLeft=True,,,A=0 + Expression + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 142,18.5,135,15.5 + Header2 + + B Nazanin,12,Bold,Point,False,178 + f7d0dc695bc2456b87cc5f9b4adb3325 + 0,0,0,0 + Text44 + + + مهر و امضاءفروشنده: + [31:73:125] + ,,RightToLeft=True,,,A=0 + Expression + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + 2,6.5,164,6 + + B Nazanin,12,Regular,Point,False,178 + Right + 0,0,0,0 + Text13 + + + {spSAL_PrintFactor.Ptotal} هزار ریال + Black + Center + + + + ReportSummaryBand1 + + + + + + 917031c8ed154ca489f16875b48a51c1 + 10,10,10,10 + Page1 + Landscape + 210 + 297 + A4 + + True + + Arial,100 + [50:0:0:0] + + + + None;Black;2;Solid;False;4;Black + Transparent + + + EmptyBrush + 0,4,277,8 + + + All;[31:73:125];1;Solid;False;4;Black + [219:229:241] + 0,0,38,8 + Header3 + + B Nazanin,11,Bold + 58d58a1ece404bba8dc281d7c13476e5 + Center + 0,0,0,0 + Text10 + + + مبلغ پس از مالیات و عوارض + [31:73:125] + Expression + Center + + + All;[31:73:125];1;Solid;False;4;Black + [219:229:241] + 38,0,23,8 + Header3 + + B Nazanin,11,Bold + 91da5273631c449c81953e68b0a4abf0 + Center + 0,0,0,0 + Text16 + + + مالیات و عوارض + [31:73:125] + Expression + Center + + + All;[31:73:125];1;Solid;False;4;Black + [219:229:241] + 61,0,29,8 + Header3 + + B Nazanin,11,Bold + b77daeffb5204d55a4eb9075f32f9617 + Center + 0,0,0,0 + Text20 + + + مبلغ پس از تخفیف + [31:73:125] + Expression + Center + + + All;[31:73:125];1;Solid;False;4;Black + [219:229:241] + 90,0,23,8 + Header3 + + B Nazanin,11,Bold + f2e587c5279b4d0a8a0ea321b38e84ba + Center + 0,0,0,0 + Text21 + + + مبلغ تخفیف + [31:73:125] + Expression + Center + + + All;[31:73:125];1;Solid;False;4;Black + [219:229:241] + 113,0,29,8 + Header3 + + B Nazanin,11,Bold + 5e318690476e4826b343f33644be4a79 + Center + 0,0,0,0 + Text27 + + + مبلغ كل + [31:73:125] + Center + + + All;[31:73:125];1;Solid;False;4;Black + [219:229:241] + 250,0,18,8 + Header3 + + B Nazanin,11,Bold + a366f30250704561a1220ece6ffa3efb + Center + 0,0,0,0 + Text28 + + + كد كالا + [31:73:125] + Center + + + All;[31:73:125];1;Solid;False;4;Black + [219:229:241] + 190,0,60,8 + Header3 + + B Nazanin,11,Bold + d36d1ee07886485590614626e1cadff2 + Center + 0,0,0,0 + Text40 + + + شرح كالا + [31:73:125] + Center + + + All;[31:73:125];1;Solid;False;4;Black + [219:229:241] + 176,0,14,8 + Header3 + + B Nazanin,11,Bold + 86d469552c074280bf1f459cfeeade83 + Center + 0,0,0,0 + Text46 + + + تعداد + [31:73:125] + Center + + + All;[31:73:125];1;Solid;False;4;Black + [219:229:241] + 164,0,12,8 + Header3 + + B Nazanin,11,Bold + 336e193b8acb455d94b070aa25049c71 + Center + 0,0,0,0 + Text48 + + + واحد + [31:73:125] + Center + + + All;[31:73:125];1;Solid;False;4;Black + [219:229:241] + 142,0,22,8 + Header3 + + B Nazanin,11,Bold + f952cf4959174feba80e5f6e08a848ed + Center + 0,0,0,0 + Text49 + + + مبلغ واحد + [31:73:125] + Center + + + All;[31:73:125];1;Solid;False;4;Black + [219:229:241] + 268,0,9,8 + Header3 + + B Nazanin,11,Bold + 81c971c6eac844b995904fddfc48250a + Center + 0,0,0,0 + Text50 + + + ردیف + [31:73:125] + Expression + Center + + + + da0c9b7436a847158770456dcaa644a8 + ReportHeaderSection1_1 + + + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + + 0,20,277,7.5 + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 190,0,60,7.5 + Footer1 + + B Nazanin,10 + 5317091e07614ed5a342e7f374af32cd + 0,0,0,0 + ItemName1 + + + {spSAL_PrintFactorRow.ItemN} + Black + ,,RightToLeft=True,,,A=0 + DataColumn + + + None;[31:73:125];1;Solid;False;4;Black + Transparent + 190,4,55,3.5 + Condition + + B Nazanin,8.25 + 3f78862a49c84c7b848103f73f2e1b3f + Right + 0,0,0,0 + Dsc1 + + + {spSAL_PrintFactorRow.Dsc} + Black + ,,RightToLeft=True,,,A=0 + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 268,0,9,7.5 + Number_BNaz + + B Nazanin,10 + 498a304ea8264ed0ab4c56b62df30280 + Center + 0,0,0,0 + Text9 + + + {Line} + Black + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 250,0,18,7.5 + Footer1 + + B Nazanin,10 + 45219a4c52884a959adb99a53f6681f2 + Center + 0,0,0,0 + Text51 + + + {spSAL_PrintFactorRow.Item} + Black + DataColumn + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 176,0,14,7.5 + Footer1 + + B Nazanin,10 + c251f3b794404bdda455b2a373fe6191 + Right + 0,0,0,0 + Amount2 + + + {spSAL_PrintFactorRow.Quantity} + Black + + 0 + , + 1 + False + + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 164,0,12,7.5 + Footer1 + + B Nazanin,10 + fae5c2d4912540b387fff5de9b082b8a + Right + 0,0,0,0 + Unit1 + + + {spSAL_PrintFactorRow.UnitN} + Black + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 142,0,22,7.5 + Footer1 + + B Nazanin,10 + 5b7c1372f2ea466fb0d070ed5e1c2f0b + Right + 0,0,0,0 + Price1 + + + {spSAL_PrintFactorRow.Price} + Black + + 0 + , + 1 + False + + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 90,0,23,7.5 + Footer1 + + B Nazanin,10 + 212a72a3c04f43df9b221dbf55ab197e + Right + 0,0,0,0 + Bate1 + + + {spSAL_PrintFactorRow.Discount} + Black + + 0 + , + 1 + False + + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 38,0,23,7.5 + Footer1 + + B Nazanin,10 + 02e293c054734e06a6c15a531b27e671 + Right + 0,0,0,0 + Tax1 + + + {spSAL_PrintFactorRow.Tax} + Black + + 0 + , + 1 + False + + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 113,0,29,7.5 + Footer1 + + B Nazanin,10 + 27c7f877a19d41b190db0981fb705f7c + Right + 0,0,0,0 + AmPrice1 + + + {spSAL_PrintFactorRow.TPrice} + Black + + 0 + , + 1 + False + + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 61,0,29,7.5 + Footer1 + + B Nazanin,10 + d4b5966b34ad4c6cb24f0c4ad8659daf + Right + 0,0,0,0 + AmPriceBate1 + + + {spSAL_PrintFactorRow.TDiscount} + Black + + 0 + , + 1 + False + + Center + + + All;[31:73:125];1;Solid;False;4;Black + Transparent + 0,0,38,7.5 + Footer1 + + B Nazanin,10 + 462d3f859e8f4489bb948e82aad424ff + Right + 0,0,0,0 + AmPriceBateTax1 + + + {spSAL_PrintFactorRow.Total} + Black + + 0 + , + 1 + False + + Center + + + Footer1 + + + spSAL_PrintFactorRow + + 837c040fec1b4f11bade7cb388dcf588 + DetailSection1_1 + + + + ASC + No + + + + + 8541f88443c54a90a8b3ee9f31210f4a + 10,10,10,10 + Page2 + Landscape + 210 + 297 + A4 + + + Arial,100 + [50:0:0:0] + + + + + + System.Dll + System.Drawing.Dll + System.Windows.Forms.Dll + System.Data.Dll + System.Xml.Dll + Stimulsoft.Controls.Dll + Stimulsoft.Base.Dll + Stimulsoft.Report.Dll + + Report + 6/12/2024 5:59:35 PM + 4/27/2016 10:02:00 AM + هیچ نکته خاصی ندارد + C:\Users\Develop\Desktop\SAL_Factor - 1.mrt + 63943312bd4e4549a3e5ac5961687a31 + + Report + Millimeters + 2016.2.0 + + CSharp + + + False + All;[31:73:125];1;Solid;False;4;Black + Transparent + + عنوان گزارش + B Nazanin,18,Bold,Point,False,178 + Right + Title1 + [31:73:125] + Center + + + None;[31:73:125];3;Solid;False;4;Black + Transparent + + B Nazanin,11,Bold| Underline + Line + [31:73:125] + + + False + True + True + All;[31:73:125];1;Solid;False;4;Black + [219:229:241] + + عنوان شرط ها + B Nazanin,8.25 + Center + Condition1 + [31:73:125] + Center + + + False + All;[31:73:125];1;Solid;False;4;Black + Transparent + + شرط ها + B Nazanin,8.25 + Condition + Black + + + False + None;[31:73:125];1;Solid;False;4;Black + Transparent + + عنوان گروه ها + B Nazanin,12,Bold,Point,False,178 + Center + Header2 + [31:73:125] + Center + + + False + None;[31:73:125];1;Solid;False;4;Black + Transparent + + دیتای گروه ها نازنین + B Nazanin,12,Regular,Point,False,178 + Titel3 + Black + Center + + + False + None;[31:73:125];1;Solid;False;4;Black + Transparent + + دیتای گروه ها + Arial,10 + Data Head + Black + Center + + + False + All;[31:73:125];1;Solid;False;4;Black + [219:229:241] + + سر ستون ها + B Nazanin,11,Bold + Center + Header3 + [31:73:125] + Center + + + All;[31:73:125];1;Solid;False;4;Black + [219:229:241] + + جمع ها + B Nazanin,10 + Right + SUM_Bnazanin + Black + Center + + + False + True + True + All;[31:73:125];1;Solid;False;4;Black + [219:229:241] + + Arial,9 + Right + SUM + Black + Center + + + False + None;[31:73:125];1;Solid;False;4;Black + Transparent + + Arial,9 + Data1 + Black + Center + + + False + None;[31:73:125];1;Solid;False;4;Black + Transparent + + Data1_7 + Arial,7 + Data1_7 + Black + Center + + + False + None;[31:73:125];1;Solid;False;4;Black + [228:240:244] + + Arial,9 + Data3 + Black + Center + + + False + None;[31:73:125];1;Solid;False;4;Black + Transparent + + دیتای بی نازنین + B Nazanin,10 + Number_BNaz + Black + Center + + + False + None;[31:73:125];1;Solid;False;4;Black + Transparent + + B Nazanin,10 + Footer1 + Black + Center + + + 242, 234, 221 + + CrossTab + + + \ No newline at end of file diff --git a/TaxPayerFull/FixedValues.cs b/TaxPayerFull/FixedValues.cs index af19a27..c44b817 100644 --- a/TaxPayerFull/FixedValues.cs +++ b/TaxPayerFull/FixedValues.cs @@ -10,6 +10,8 @@ namespace Front private List? Cus=null; private List>? Patterns = null; private List>? Cods = null; + private CompanyDTO? InfoCompany = null; + public InvoiceDTO? invoice { get; set; }=null; public Fixedvalues(HttpClientController hc) { _hc = hc; @@ -58,5 +60,18 @@ namespace Front return Patterns; } + public async Task GetInfoCompany() + { + + if (InfoCompany == null) + { + var rspCompany = await _hc.Get($"Company/GetCompany"); + if (rspCompany.IsSuccessStatusCode) + InfoCompany = await rspCompany.Content.ReadFromJsonAsync(); + } + + + return InfoCompany; + } } } diff --git a/TaxPayerFull/Pages/InvoiceReport.razor b/TaxPayerFull/Pages/InvoiceReport.razor index 8f9660d..97d70a6 100644 --- a/TaxPayerFull/Pages/InvoiceReport.razor +++ b/TaxPayerFull/Pages/InvoiceReport.razor @@ -1,28 +1,172 @@ صورتحساب @using Front.Services +@using Shared.DTOs @using Stimulsoft.Base @using Stimulsoft.Report @using Stimulsoft.Report.Blazor +@inject Fixedvalues fv; @inject HttpClientController hc; @layout EmptyLayout @page "/InvoiceReport/{InvoiceID:int}" @code { - + public CompanyDTO? company { get; set; } private StiReport Report; [Parameter] public int InvoiceID { get; set; } + private int[] NoArray = default; + private int[] ItemArray = new int[] { 1011, 1012 }; + private string[] ItemNArray = new string[] { "کالا 1", "کالا 2" }; + private int[] amArray = new int[] { 1, 2 }; + private string[] UnitNArray = new string[] { "1011", "1012" }; + private string[] feeArray = new string[] { "کالا 1", "کالا 2" }; + private string[] prdisArray = new string[] { "", "" }; + private string[] disArray = new string[] { "1011", "1012" }; + private string[] adisArray = new string[] { "کالا 1", "کالا 2" }; + private string[] vamArray = new string[] { " 1, 2" }; + private string[] tsstamArray = new string[] { "1011", "1012" }; + private string[] vraArray = new string[] { "کالا 1", "کالا 2" }; + + protected async override Task OnParametersSetAsync() { - + if (fv.invoice==null) + { + hc._nav.NavigateTo($"InvoiceDetails/{InvoiceID}"); + } + string CustomerName = ""; + string CustomerEconomicCode = ""; + string CustomerPhone = ""; + string CompanyName = ""; + string CompanyEconomicCode = ""; + string CompanyPhone = ""; + var cus =await GetCus(); + if (cus!=null) + { + CustomerName = cus?.FullName; + CustomerEconomicCode = cus?.EconomicCode; + CustomerPhone = cus?.Phone; + } + var company =await GetCompany(); + if (company != null) + { + CompanyName = company?.Name; + CompanyEconomicCode = company?.EconomicCode; + CompanyPhone = company?.Phone; + } + //datasource + NoArray = Enumerable + .Repeat(1, (int)((fv.invoice.items.Count() - 1) / 1) + 1) + .Select((tr, ti) => Convert.ToInt32(tr + (1 * ti))) + .ToArray(); + ItemArray = fv.invoice.items.Select(s => s.CODID).ToArray(); + ItemNArray = fv.invoice.items.Select(s => s.sstt).ToArray(); + amArray = fv.invoice.items.Select(s => Convert.ToInt32(s.am)).ToArray(); + UnitNArray= fv.invoice.items.Select(s => s.mu).ToArray(); + feeArray = fv.invoice.items.Select(s => s.fee.ToString("N0")).ToArray(); + prdisArray = fv.invoice.items.Select(s => s.prdis?.ToString("N0")).ToArray(); + disArray = fv.invoice.items.Select(s => s.dis?.ToString("N0")).ToArray(); + adisArray = fv.invoice.items.Select(s => s.adis?.ToString("N0")).ToArray(); + vamArray = fv.invoice.items.Select(s => s.vam?.ToString("N0")).ToArray(); + tsstamArray = fv.invoice.items.Select(s => s.tsstam?.ToString("N0")).ToArray(); + vraArray = fv.invoice.items.Select(s => s.vra?.ToString("N0")).ToArray(); + //Create empty report object this.Report = new StiReport(); - + //Load report template - var reportBytes = await hc._hc.GetByteArrayAsync("Invoice/GetReport"); - + var reportBytes = await hc._hc.GetByteArrayAsync($"Invoice/GetReport/{InvoiceID}"); + + + //Set value + Report["InvoiceID"] = fv.invoice?.ID; + Report["invoicedate"] = fv.invoice?.InvoiceDate; + Report["CusName"] = CustomerName; + Report["CusEconomicCode"] = CustomerEconomicCode; + Report["CusPhone"] = CustomerPhone; + Report["CompanyName"] = CompanyName; + Report["CompanyEconomicCode"] = CompanyEconomicCode; + Report["CompanyPhone"] = CompanyPhone; + + // var rspCustomer = await hc.Get($"Customer/GetCustomer/{fv.invoice?.CustomerID}"); + // if (rspCustomer.IsSuccessStatusCode) + // Cus = await rspCustomer.Content.ReadFromJsonAsync(); + + // var rspCompany = await hc.Get($"Company/GetCompany"); + // if (rspCompany.IsSuccessStatusCode) + // company = await rspCompany.Content.ReadFromJsonAsync(); + + + + + + + // Report["cusname"] = CustomerName; + + + this.Report.Load(reportBytes); + + //Create User Data + var stiUserData1 = new Stimulsoft.Report.Dictionary.StiUserData(); + stiUserData1.Columns.AddRange(new Stimulsoft.Report.Dictionary.StiDataColumn[] { + new Stimulsoft.Report.Dictionary.StiDataColumn("No", "No", "No", typeof(int), null), + new Stimulsoft.Report.Dictionary.StiDataColumn("Item", "Item", "Item", typeof(int), null), + new Stimulsoft.Report.Dictionary.StiDataColumn("ItemN", "ItemN", "ItemN", typeof(string), null), + new Stimulsoft.Report.Dictionary.StiDataColumn("am", "am", "am", typeof(int), null), + new Stimulsoft.Report.Dictionary.StiDataColumn("UnitN", "UnitN", "UnitN", typeof(string), null), + new Stimulsoft.Report.Dictionary.StiDataColumn("fee", "fee", "fee", typeof(string), null), + new Stimulsoft.Report.Dictionary.StiDataColumn("prdis", "prdis", "prdis", typeof(string), null), + new Stimulsoft.Report.Dictionary.StiDataColumn("dis", "dis", "dis", typeof(string), null), + new Stimulsoft.Report.Dictionary.StiDataColumn("adis", "adis", "adis", typeof(string), null), + new Stimulsoft.Report.Dictionary.StiDataColumn("vam", "vam", "vam", typeof(string), null), + new Stimulsoft.Report.Dictionary.StiDataColumn("tsstam", "tsstam", "tsstam", typeof(string), null), + new Stimulsoft.Report.Dictionary.StiDataColumn("vra", "vra", "vra", typeof(string), null) + + }); + stiUserData1.Count = fv.invoice.items.Count(); + stiUserData1.GetData += new Stimulsoft.Report.Dictionary.StiUserGetDataEventHandler(stiUserData1_GetData); + + //Register new data in the report template + this.Report.RegData("Items", stiUserData1); + + await base.OnParametersSetAsync(); } + + + + + private void stiUserData1_GetData(object sender, Stimulsoft.Report.Dictionary.StiUserGetDataEventArgs e) + { + if (e.ColumnName == "No") e.Data = NoArray[e.Position]; + if (e.ColumnName == "Item") e.Data = ItemArray[e.Position]; + if (e.ColumnName == "ItemN") e.Data = ItemNArray[e.Position]; + if (e.ColumnName == "am") e.Data = amArray[e.Position]; + if (e.ColumnName == "UnitN") e.Data = UnitNArray[e.Position]; + if (e.ColumnName == "fee") e.Data = feeArray[e.Position]; + if (e.ColumnName == "prdis") e.Data = prdisArray[e.Position]; + if (e.ColumnName == "dis") e.Data = disArray[e.Position]; + if (e.ColumnName == "adis") e.Data = adisArray[e.Position]; + if (e.ColumnName == "vam") e.Data = vamArray[e.Position]; + if (e.ColumnName == "tsstam") e.Data = tsstamArray[e.Position]; + if (e.ColumnName == "vra") e.Data = vraArray[e.Position]; + } } +@functions{ + private async Task GetCus() + { + var rspCustomer = await hc.Get($"Customer/GetCustomer/{fv.invoice?.CustomerID}"); + if (rspCustomer.IsSuccessStatusCode) + return await rspCustomer.Content.ReadFromJsonAsync(); + else return null; + } + private async Task GetCompany() + { + var rspCompany = await hc.Get($"Company/GetCompany"); + if (rspCompany.IsSuccessStatusCode) + return await rspCompany.Content.ReadFromJsonAsync(); + else return null; + } +} diff --git a/TaxPayerFull/Pages/UserPanel/InvoiceItem.razor b/TaxPayerFull/Pages/UserPanel/InvoiceItem.razor index fc6ae6b..6535dba 100644 --- a/TaxPayerFull/Pages/UserPanel/InvoiceItem.razor +++ b/TaxPayerFull/Pages/UserPanel/InvoiceItem.razor @@ -89,11 +89,13 @@ if (invoice.InvoiceSendTaxs.Any(a=>a.InvoiceType==invoice.invoiceType && a.SentStatus==SentStatus.Send)) { + SendInvoice = false;
این صورتحساب با این وضعیت به سامانه مودیان ارسال شده ،برای اطلاع از وضعیت لطفا تعیین وضعیت کنید
} else if (invoice.InvoiceSendTaxs.Any(a => a.InvoiceType == invoice.invoiceType && a.SentStatus == SentStatus.Successful)) { + SendInvoice = false;
این صورتحساب با این وضعیت به سامانه مودیان ارسال و تائید شده
@@ -107,6 +109,7 @@ else if (invoice.InvoiceSendTaxs.Any(a => a.InvoiceType == invoice.invoiceType && (a.SentStatus == SentStatus.pending || a.SentStatus == SentStatus.IN_PROGRESS))) { + SendInvoice = false;
این صورتحساب با این وضعیت به سامانه مودیان ارسال و در حال بررسی می باشد
@@ -114,6 +117,7 @@ else if (invoice.InvoiceSendTaxs.Any(a => a.InvoiceType == invoice.invoiceType && (a.SentStatus == SentStatus.NOT_FOUND || a.SentStatus == SentStatus.Unknown))) { + SendInvoice = false;
این صورتحساب با این وضعیت به سامانه مودیان ارسال شده ولی وضعیت آن مشخص نیست
@@ -327,9 +331,9 @@ - @* *@ + } } @@ -379,10 +383,10 @@ public List? Cus { get; set; } public List>? Patterns { get; set; } public InvoiceDTO? invoice { get; set; } - + protected override async Task OnInitializedAsync() { - + fv.invoice = null; invoice = new InvoiceDTO(); await base.OnInitializedAsync(); } @@ -466,6 +470,7 @@ { if (InvoiceID.HasValue) { + hc._nav.NavigateTo($"TaxPayerInvoiceItem/{InvoiceID}"); } } @@ -473,6 +478,7 @@ { if (InvoiceID.HasValue) { + fv.invoice = invoice; hc._nav.NavigateTo($"InvoiceReport/{InvoiceID}"); } }