From fad3de7397538bc081ed5ca4584b259311b7a886 Mon Sep 17 00:00:00 2001 From: Crudelis Date: Fri, 13 Oct 2023 21:26:47 +0900 Subject: [PATCH] =?UTF-8?q?=EB=8C=80=EA=B8=B0=EC=9E=90=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C=20=EB=B2=84=EA=B7=B8=EC=88=98=EC=A0=95=20=EB=B0=8F=20?= =?UTF-8?q?=ED=94=84=EB=A6=B0=ED=8A=B8=20=EB=B2=84=EA=B7=B8=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CustomUserControl/WaitingList.cs | 4 +- .../Master.cs | 6 -- .../PrintCertificate.cs | 48 +++++++----- .../PrintFilingReceipt.cs | 78 +++++++++++-------- 4 files changed, 74 insertions(+), 62 deletions(-) diff --git a/HSUCO_Cargo_Garage_Operation_Program/CustomUserControl/WaitingList.cs b/HSUCO_Cargo_Garage_Operation_Program/CustomUserControl/WaitingList.cs index 1510292..c041d94 100644 --- a/HSUCO_Cargo_Garage_Operation_Program/CustomUserControl/WaitingList.cs +++ b/HSUCO_Cargo_Garage_Operation_Program/CustomUserControl/WaitingList.cs @@ -120,9 +120,9 @@ namespace HSUCO_Cargo_Garage_Operation_Program.CustomUserControl { var selectCount = dataGridView_List.SelectedRows.Count; if (selectCount == 0) return; - string no = dataGridView_List.SelectedRows[0].Cells[0].Value.ToString(); + string no = dataGridView_List.SelectedRows[0].Cells[1].Value.ToString(); - var message = "선태하신 화물챠랑번호 " + dataGridView_List.SelectedRows[0].Cells[5].Value.ToString() + "을 삭제 하시겠습니까?"; + var message = "선태하신 화물챠랑번호 " + dataGridView_List.SelectedRows[0].Cells[7].Value.ToString() + "을 삭제 하시겠습니까?"; if (MetroMessageBox.Show(this, message, "삭제", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK) { diff --git a/HSUCO_Cargo_Garage_Operation_Program/Master.cs b/HSUCO_Cargo_Garage_Operation_Program/Master.cs index b0678fc..de933a5 100644 --- a/HSUCO_Cargo_Garage_Operation_Program/Master.cs +++ b/HSUCO_Cargo_Garage_Operation_Program/Master.cs @@ -4,18 +4,12 @@ namespace HSUCO_Cargo_Garage_Operation_Program { public partial class Master : MetroFramework.Forms.MetroForm { - public Master() => InitializeComponent(); - - - private void Master_Load(object sender, EventArgs e) { - Global.GlobalSettings = Database.LoadSettings(); settings1.SettingReset(); this.Text = $"{Global.GlobalSettings.GarageName} 화물 차고지 운영프로그램 v{System.Reflection.Assembly.GetExecutingAssembly().GetName().Version}"; - applicant1.GarageName(Global.GlobalSettings.GarageName); } } } \ No newline at end of file diff --git a/HSUCO_Cargo_Garage_Operation_Program/PrintCertificate.cs b/HSUCO_Cargo_Garage_Operation_Program/PrintCertificate.cs index 5b92052..74ebfeb 100644 --- a/HSUCO_Cargo_Garage_Operation_Program/PrintCertificate.cs +++ b/HSUCO_Cargo_Garage_Operation_Program/PrintCertificate.cs @@ -20,11 +20,13 @@ namespace HSUCO_Cargo_Garage_Operation_Program _count = 0; printDocument = new PrintDocument(); printDocument.DocumentName = "차고지 이용 증명서"; - printDocument.PrintPage += PrintPage; printDocument.DefaultPageSettings.Margins.Top = Convert.ToInt32(50); printDocument.DefaultPageSettings.Margins.Bottom = Convert.ToInt32(50); - printDocument.DefaultPageSettings.Margins.Left = Convert.ToInt32(50); - printDocument.DefaultPageSettings.Margins.Right = Convert.ToInt32(50); + printDocument.DefaultPageSettings.Margins.Left = Convert.ToInt32(20); + printDocument.DefaultPageSettings.Margins.Right = Convert.ToInt32(20); + + printDocument.PrintPage += PrintPage; + } public void Print() { @@ -37,24 +39,30 @@ namespace HSUCO_Cargo_Garage_Operation_Program } private void PrintPage(object sender, PrintPageEventArgs e) { - e.Graphics.DrawRectangle(new Pen(Brushes.Black, 3), e.MarginBounds.Left, e.MarginBounds.Top, - e.MarginBounds.Width, e.MarginBounds.Height); - int totalWidth = (int)e.PageBounds.Width; - int totalHeight = (int)e.PageBounds.Height; - e.Graphics.DrawString($"발급번호 : {_certificateInformation[_count].IssueNumber}", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 10, e.MarginBounds.Top + 10); - CenterTextWriter($"화물자동차 공영차고지 이용 증명서", new Font("맑은 고딕", 30, FontStyle.Bold), e.Graphics, totalWidth, e.MarginBounds.Top + 100); - e.Graphics.DrawString($"■ 성  명 : {_certificateInformation[_count].Name}", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 50, e.MarginBounds.Top + 250); - e.Graphics.DrawString($"■ 생년월일 : {_certificateInformation[_count].PersonalNumber}", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 50, e.MarginBounds.Top + 300); - e.Graphics.DrawString($"■ 주  소 : {_certificateInformation[_count].Address}", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 50, e.MarginBounds.Top + 350); - e.Graphics.DrawString($"■ 차량번호 : {_certificateInformation[_count].CargoVehicleNumber}", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 50, e.MarginBounds.Top + 400); - e.Graphics.DrawString($"■ 주차구역 : {_certificateInformation[_count].Area}", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 50, e.MarginBounds.Top + 450); - e.Graphics.DrawString($"■ 이용요금 : {string.Format("{0:N0} 원", _certificateInformation[_count].Amount)}", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 50, e.MarginBounds.Top + 500); - e.Graphics.DrawString($"■ 이용기한 : {_certificateInformation[_count].StartDate.ToString("yyyy-MM-dd")} ~ {_certificateInformation[_count].EndDate.ToString("yyyy-MM-dd")}", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 50, e.MarginBounds.Top + 550); - e.Graphics.DrawString($"■ 차 고 지 : {_garageName}", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 50, e.MarginBounds.Top + 600); + int top = e.MarginBounds.Left + (int)e.PageSettings.PrintableArea.Y; + int bottom = (int)e.PageSettings.PrintableArea.Height; + int left = e.MarginBounds.Left + (int)e.PageSettings.PrintableArea.X; + int right = (int)e.PageSettings.PrintableArea.Width; + + int totalWidth = (int)e.PageBounds.Width - (int)e.PageSettings.PrintableArea.X; + int totalHeight = (int)e.PageBounds.Height - (int) e.PageSettings.PrintableArea.Y; + e.Graphics.DrawRectangle(new Pen(Brushes.Black, 3), left, top, + (right - (left * 2)), (bottom - (top * 2))); + + e.Graphics.DrawString($"발급번호 : {_certificateInformation[_count].IssueNumber}", new Font("맑은 고딕", 12), Brushes.Black,left + 10, top + 10); + CenterTextWriter($"화물자동차 공영차고지 이용 증명서", new Font("맑은 고딕", 30, FontStyle.Bold), e.Graphics, totalWidth, top + 100); + e.Graphics.DrawString($"■ 성  명 : {_certificateInformation[_count].Name}", new Font("맑은 고딕", 12), Brushes.Black,left + 50, top + 250); + e.Graphics.DrawString($"■ 생년월일 : {_certificateInformation[_count].PersonalNumber}", new Font("맑은 고딕", 12), Brushes.Black,left + 50, top + 300); + e.Graphics.DrawString($"■ 주  소 : {_certificateInformation[_count].Address}", new Font("맑은 고딕", 12), Brushes.Black,left + 50, top + 350); + e.Graphics.DrawString($"■ 차량번호 : {_certificateInformation[_count].CargoVehicleNumber}", new Font("맑은 고딕", 12), Brushes.Black,left + 50, top + 400); + e.Graphics.DrawString($"■ 주차구역 : {_certificateInformation[_count].Area}", new Font("맑은 고딕", 12), Brushes.Black,left + 50, top + 450); + e.Graphics.DrawString($"■ 이용요금 : {string.Format("{0:N0} 원", _certificateInformation[_count].Amount)}", new Font("맑은 고딕", 12), Brushes.Black,left + 50, top + 500); + e.Graphics.DrawString($"■ 이용기한 : {_certificateInformation[_count].StartDate.ToString("yyyy-MM-dd")} ~ {_certificateInformation[_count].EndDate.ToString("yyyy-MM-dd")}", new Font("맑은 고딕", 12), Brushes.Black,left + 50, top + 550); + e.Graphics.DrawString($"■ 차 고 지 : {_garageName}", new Font("맑은 고딕", 12), Brushes.Black,left + 50, top + 600); - CenterTextWriter($"위 차량에 대하여 {_garageName} 화물자동차 공영차고지 이용을 증명합니다.", new Font("맑은 고딕", 12, FontStyle.Bold), e.Graphics, totalWidth, e.MarginBounds.Top + 700); - CenterTextWriter($"{_certificateInformation[_count].IssueDate.ToString("yyyy년 MM월 dd일")}", new Font("맑은 고딕", 15), e.Graphics, totalWidth, e.MarginBounds.Top + 800); - CenterTextWriter("화성도시공사 사장", new Font("맑은 고딕", 20, FontStyle.Bold), e.Graphics, totalWidth, e.MarginBounds.Top + 900); + CenterTextWriter($"위 차량에 대하여 {_garageName} 화물자동차 공영차고지 이용을 증명합니다.", new Font("맑은 고딕", 12, FontStyle.Bold), e.Graphics, totalWidth, top + 700); + CenterTextWriter($"{_certificateInformation[_count].IssueDate.ToString("yyyy년 MM월 dd일")}", new Font("맑은 고딕", 15), e.Graphics, totalWidth, top + 800); + CenterTextWriter("화성도시공사 사장", new Font("맑은 고딕", 20, FontStyle.Bold), e.Graphics, totalWidth, top + 900); _count++; e.HasMorePages = _certificateInformation.Count > _count; if (!e.HasMorePages) diff --git a/HSUCO_Cargo_Garage_Operation_Program/PrintFilingReceipt.cs b/HSUCO_Cargo_Garage_Operation_Program/PrintFilingReceipt.cs index b3cc8bd..194ac80 100644 --- a/HSUCO_Cargo_Garage_Operation_Program/PrintFilingReceipt.cs +++ b/HSUCO_Cargo_Garage_Operation_Program/PrintFilingReceipt.cs @@ -7,13 +7,12 @@ using Font = System.Drawing.Font; namespace HSUCO_Cargo_Garage_Operation_Program { - - internal class PrintFilingReceipt { private List _printFilingReceiptInformation; private int _count; private PrintDocument printDocument; + public PrintFilingReceipt(List printFilingReceiptInformation) { _printFilingReceiptInformation = printFilingReceiptInformation; @@ -23,9 +22,10 @@ namespace HSUCO_Cargo_Garage_Operation_Program printDocument.PrintPage += new PrintPageEventHandler(PrintPage); printDocument.DefaultPageSettings.Margins.Top = Convert.ToInt32(50); printDocument.DefaultPageSettings.Margins.Bottom = Convert.ToInt32(50); - printDocument.DefaultPageSettings.Margins.Left = Convert.ToInt32(50); - printDocument.DefaultPageSettings.Margins.Right = Convert.ToInt32(50); + printDocument.DefaultPageSettings.Margins.Left = Convert.ToInt32(20); + printDocument.DefaultPageSettings.Margins.Right = Convert.ToInt32(20); } + public void Print() { PrintDialog printDialog = new PrintDialog(); @@ -35,44 +35,55 @@ namespace HSUCO_Cargo_Garage_Operation_Program printDocument.Print(); } } + private void PrintPage(object sender, PrintPageEventArgs e) { + int top = e.MarginBounds.Left + (int)e.PageSettings.PrintableArea.Y; + int bottom = (int)e.PageSettings.PrintableArea.Height; + int left = e.MarginBounds.Left + (int)e.PageSettings.PrintableArea.X; + int right = (int)e.PageSettings.PrintableArea.Width; - e.Graphics.DrawRectangle(new Pen(Brushes.Black, 3), e.MarginBounds.Left, e.MarginBounds.Top, - e.MarginBounds.Width, e.MarginBounds.Height); + int totalWidth = (int)e.PageBounds.Width - (int)e.PageSettings.PrintableArea.X; + int totalHeight = (int)e.PageBounds.Height - (int)e.PageSettings.PrintableArea.Y; + e.Graphics.DrawRectangle(new Pen(Brushes.Black, 3), left, top, + (right - (left * 2)), (bottom - (top * 2))); - e.Graphics.DrawLine(new Pen(Brushes.Black, 1), new Point(e.MarginBounds.Left, e.MarginBounds.Top + 290), new Point(e.MarginBounds.Right, e.MarginBounds.Top + 290)); - e.Graphics.DrawLine(new Pen(Brushes.Black, 1), new Point(e.MarginBounds.Left, e.MarginBounds.Top + 340), new Point(e.MarginBounds.Right, e.MarginBounds.Top + 340)); - e.Graphics.DrawLine(new Pen(Brushes.Black, 1), new Point(e.MarginBounds.Left, e.MarginBounds.Top + 390), new Point(e.MarginBounds.Right, e.MarginBounds.Top + 390)); - e.Graphics.DrawLine(new Pen(Brushes.Black, 1), new Point(e.MarginBounds.Left, e.MarginBounds.Top + 440), new Point(e.MarginBounds.Right, e.MarginBounds.Top + 440)); - e.Graphics.DrawLine(new Pen(Brushes.Black, 1), new Point(e.MarginBounds.Left, e.MarginBounds.Top + 490), new Point(e.MarginBounds.Right, e.MarginBounds.Top + 490)); + e.Graphics.DrawLine(new Pen(Brushes.Black, 1), new Point(left, top + 290), new Point((right - (left)), top + 290)); + e.Graphics.DrawLine(new Pen(Brushes.Black, 1), new Point(left, top + 340), new Point((right - (left)), top + 340)); + e.Graphics.DrawLine(new Pen(Brushes.Black, 1), new Point(left, top + 390), new Point((right - (left)), top + 390)); + e.Graphics.DrawLine(new Pen(Brushes.Black, 1), new Point(left, top + 440), new Point((right - (left)), top + 440)); + e.Graphics.DrawLine(new Pen(Brushes.Black, 1), new Point(left, top + 490), new Point((right - (left)), top + 490)); - e.Graphics.DrawLine(new Pen(Brushes.Black, 1), new Point(e.MarginBounds.Left + 280, e.MarginBounds.Top + 290), new Point(e.MarginBounds.Left + 280, e.MarginBounds.Top + 490)); - e.Graphics.DrawLine(new Pen(Brushes.Black, 1), new Point(e.MarginBounds.Left + 500, e.MarginBounds.Top + 440), new Point(e.MarginBounds.Left + 500, e.MarginBounds.Top + 490)); + e.Graphics.DrawLine(new Pen(Brushes.Black, 1), new Point(left + 280, top + 290), new Point(left + 280, top + 490)); + e.Graphics.DrawLine(new Pen(Brushes.Black, 1), new Point(left + 500, top + 440), new Point(left + 500, top + 490)); + CenterTextWriter($"접 수 증", new Font("맑은 고딕", 30, FontStyle.Bold), e.Graphics, totalWidth, top + 100); - int totalWidth = (int)e.PageBounds.Width; - int totalHeight = (int)e.PageBounds.Height; + e.Graphics.DrawString($"제 {_printFilingReceiptInformation[_count].No}호", new Font("맑은 고딕", 12), Brushes.Black, left + 100, top + 250); + e.Graphics.DrawString($"접수일 : {_printFilingReceiptInformation[_count].DateReception.ToString("yyyy-MM-dd")}", new Font("맑은 고딕", 12), Brushes.Black, left + 500, top + 250); - CenterTextWriter($"접 수 증", new Font("맑은 고딕", 30, FontStyle.Bold), e.Graphics, totalWidth, e.MarginBounds.Top + 100); + e.Graphics.DrawString($"① 신청인", new Font("맑은 고딕", 12), Brushes.Black, left + 50, top + 300); + e.Graphics.DrawString($"{_printFilingReceiptInformation[_count].Name}", new Font("맑은 고딕", 12), Brushes.Black, left + 300, top + 300); + e.Graphics.DrawString($"② 생년월일(법인등록번호)", new Font("맑은 고딕", 12), Brushes.Black, left + 50, top + 350); + e.Graphics.DrawString($"{_printFilingReceiptInformation[_count].PersonalNumber}", new Font("맑은 고딕", 12), Brushes.Black, left + 300, top + 350); + e.Graphics.DrawString($"③ 주소", new Font("맑은 고딕", 12), Brushes.Black, left + 50, top + 400); + string address = _printFilingReceiptInformation[_count].Address; + if (_printFilingReceiptInformation[_count].Address.Length > 20) + { + int index = _printFilingReceiptInformation[_count].Address.IndexOf(' ', 20); + address = _printFilingReceiptInformation[_count].Address.Substring(0, index); + address += "\r\n"; + address += _printFilingReceiptInformation[_count].Address.Substring(index, _printFilingReceiptInformation[_count].Address.Length - index); + } + e.Graphics.DrawString($"{address}", new Font("맑은 고딕", 12), Brushes.Black, left + 300, top + 390); + e.Graphics.DrawString($"④ 차량번호", new Font("맑은 고딕", 12), Brushes.Black, left + 50, top + 450); + e.Graphics.DrawString($"화물차량", new Font("맑은 고딕", 12), Brushes.Black, left + 289, top + 440); + e.Graphics.DrawString($"{_printFilingReceiptInformation[_count].CargoVehicleNumber}", new Font("맑은 고딕", 12), Brushes.Black, left + 310, top + 460); + e.Graphics.DrawString($"일반차량", new Font("맑은 고딕", 12), Brushes.Black, left + 508, top + 440); + e.Graphics.DrawString($"{_printFilingReceiptInformation[_count].PassengerVehicleNumber}", new Font("맑은 고딕", 12), Brushes.Black, left + 529, top + 460); - e.Graphics.DrawString($"제 {_printFilingReceiptInformation[_count].No}호", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 100, e.MarginBounds.Top + 250); - e.Graphics.DrawString($"접수일 : {_printFilingReceiptInformation[_count].DateReception.ToString("yyyy-MM-dd")}", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 500, e.MarginBounds.Top + 250); - - e.Graphics.DrawString($"① 신청인", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 50, e.MarginBounds.Top + 300); - e.Graphics.DrawString($"{_printFilingReceiptInformation[_count].Name}", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 300, e.MarginBounds.Top + 300); - e.Graphics.DrawString($"② 생년월일(법인등록번호)", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 50, e.MarginBounds.Top + 350); - e.Graphics.DrawString($"{_printFilingReceiptInformation[_count].PersonalNumber}", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 300, e.MarginBounds.Top + 350); - e.Graphics.DrawString($"③ 주소", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 50, e.MarginBounds.Top + 400); - e.Graphics.DrawString($"{_printFilingReceiptInformation[_count].Address}", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 300, e.MarginBounds.Top + 400); - e.Graphics.DrawString($"④ 차량번호", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 50, e.MarginBounds.Top + 450); - e.Graphics.DrawString($"화물차량", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 289, e.MarginBounds.Top + 440); - e.Graphics.DrawString($"{_printFilingReceiptInformation[_count].CargoVehicleNumber}", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 310, e.MarginBounds.Top + 460); - e.Graphics.DrawString($"일반차량", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 508, e.MarginBounds.Top + 440); - e.Graphics.DrawString($"{_printFilingReceiptInformation[_count].PassengerVehicleNumber}", new Font("맑은 고딕", 12), Brushes.Black, e.MarginBounds.Left + 529, e.MarginBounds.Top + 460); - - CenterTextWriter("화성도시공사 사장", new Font("맑은 고딕", 20, FontStyle.Bold), e.Graphics, totalWidth, e.MarginBounds.Top + 800); + CenterTextWriter("화성도시공사 사장", new Font("맑은 고딕", 20, FontStyle.Bold), e.Graphics, totalWidth, top + 800); _count++; e.HasMorePages = _printFilingReceiptInformation.Count > _count; if (!e.HasMorePages) @@ -87,6 +98,5 @@ namespace HSUCO_Cargo_Garage_Operation_Program float textPosX = (totalWidth - textSize.Width) / 2; g.DrawString(text, font, Brushes.Black, textPosX, posY); } - } -} +} \ No newline at end of file