이용요금 1월단위로 변경
그에 맞춰 환불도 수정
This commit is contained in:
@@ -244,7 +244,7 @@
|
||||
this.groupBox2.Size = new System.Drawing.Size(302, 100);
|
||||
this.groupBox2.TabIndex = 20;
|
||||
this.groupBox2.TabStop = false;
|
||||
this.groupBox2.Text = "이용 금액(1년)";
|
||||
this.groupBox2.Text = "이용 금액(1월)";
|
||||
//
|
||||
// metroLabel1
|
||||
//
|
||||
|
@@ -47,6 +47,8 @@
|
||||
this.metroComboBox_SearchType = new MetroFramework.Controls.MetroComboBox();
|
||||
this.dataGridView_List = new System.Windows.Forms.DataGridView();
|
||||
this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
|
||||
this.metroButton1 = new MetroFramework.Controls.MetroButton();
|
||||
this.metroButton2 = new MetroFramework.Controls.MetroButton();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.metroPanel1.SuspendLayout();
|
||||
this.groupBox2.SuspendLayout();
|
||||
@@ -100,6 +102,8 @@
|
||||
//
|
||||
// metroPanel1
|
||||
//
|
||||
this.metroPanel1.Controls.Add(this.metroButton2);
|
||||
this.metroPanel1.Controls.Add(this.metroButton1);
|
||||
this.metroPanel1.Controls.Add(this.metroButton_UpdateUserData);
|
||||
this.metroPanel1.Controls.Add(this.metroButton_Certificate);
|
||||
this.metroPanel1.Controls.Add(this.metroButton_ExportExcel);
|
||||
@@ -115,7 +119,7 @@
|
||||
this.metroPanel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.metroPanel1.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.metroPanel1.Name = "metroPanel1";
|
||||
this.metroPanel1.Size = new System.Drawing.Size(750, 470);
|
||||
this.metroPanel1.Size = new System.Drawing.Size(750, 600);
|
||||
this.metroPanel1.TabIndex = 0;
|
||||
this.metroPanel1.VerticalScrollbarBarColor = true;
|
||||
this.metroPanel1.VerticalScrollbarHighlightOnWheel = false;
|
||||
@@ -151,7 +155,7 @@
|
||||
this.metroButton_ExportExcel.BackgroundImage = global::HSUCO_Cargo_Garage_Operation_Program.Properties.Resources.file_type_excel_icon_130611;
|
||||
this.metroButton_ExportExcel.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
|
||||
this.metroButton_ExportExcel.FontSize = MetroFramework.MetroButtonSize.Tall;
|
||||
this.metroButton_ExportExcel.Location = new System.Drawing.Point(626, 335);
|
||||
this.metroButton_ExportExcel.Location = new System.Drawing.Point(626, 465);
|
||||
this.metroButton_ExportExcel.Name = "metroButton_ExportExcel";
|
||||
this.metroButton_ExportExcel.Size = new System.Drawing.Size(121, 115);
|
||||
this.metroButton_ExportExcel.TabIndex = 9;
|
||||
@@ -162,7 +166,7 @@
|
||||
//
|
||||
this.metroButton_Refund.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.metroButton_Refund.FontSize = MetroFramework.MetroButtonSize.Tall;
|
||||
this.metroButton_Refund.Location = new System.Drawing.Point(626, 289);
|
||||
this.metroButton_Refund.Location = new System.Drawing.Point(626, 420);
|
||||
this.metroButton_Refund.Name = "metroButton_Refund";
|
||||
this.metroButton_Refund.Size = new System.Drawing.Size(121, 40);
|
||||
this.metroButton_Refund.TabIndex = 8;
|
||||
@@ -174,7 +178,7 @@
|
||||
//
|
||||
this.metroButton_Extended.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.metroButton_Extended.FontSize = MetroFramework.MetroButtonSize.Tall;
|
||||
this.metroButton_Extended.Location = new System.Drawing.Point(626, 243);
|
||||
this.metroButton_Extended.Location = new System.Drawing.Point(626, 374);
|
||||
this.metroButton_Extended.Name = "metroButton_Extended";
|
||||
this.metroButton_Extended.Size = new System.Drawing.Size(121, 40);
|
||||
this.metroButton_Extended.TabIndex = 8;
|
||||
@@ -294,16 +298,38 @@
|
||||
this.dataGridView_List.ReadOnly = true;
|
||||
this.dataGridView_List.RowTemplate.Height = 23;
|
||||
this.dataGridView_List.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
|
||||
this.dataGridView_List.Size = new System.Drawing.Size(600, 330);
|
||||
this.dataGridView_List.Size = new System.Drawing.Size(600, 460);
|
||||
this.dataGridView_List.TabIndex = 6;
|
||||
//
|
||||
// metroButton1
|
||||
//
|
||||
this.metroButton1.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.metroButton1.FontSize = MetroFramework.MetroButtonSize.Tall;
|
||||
this.metroButton1.Location = new System.Drawing.Point(626, 233);
|
||||
this.metroButton1.Name = "metroButton1";
|
||||
this.metroButton1.Size = new System.Drawing.Size(121, 40);
|
||||
this.metroButton1.TabIndex = 14;
|
||||
this.metroButton1.Text = "결재 확인";
|
||||
this.metroButton1.UseSelectable = true;
|
||||
//
|
||||
// metroButton2
|
||||
//
|
||||
this.metroButton2.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.metroButton2.FontSize = MetroFramework.MetroButtonSize.Tall;
|
||||
this.metroButton2.Location = new System.Drawing.Point(626, 279);
|
||||
this.metroButton2.Name = "metroButton2";
|
||||
this.metroButton2.Size = new System.Drawing.Size(121, 40);
|
||||
this.metroButton2.TabIndex = 15;
|
||||
this.metroButton2.Text = "결재대기 삭제";
|
||||
this.metroButton2.UseSelectable = true;
|
||||
//
|
||||
// UserList
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.metroPanel1);
|
||||
this.Name = "UserList";
|
||||
this.Size = new System.Drawing.Size(750, 470);
|
||||
this.Size = new System.Drawing.Size(750, 600);
|
||||
this.Load += new System.EventHandler(this.ApplicantList_Load);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
@@ -335,5 +361,7 @@
|
||||
private MetroFramework.Controls.MetroButton metroButton_ExportExcel;
|
||||
private MetroFramework.Controls.MetroButton metroButton_Certificate;
|
||||
private MetroFramework.Controls.MetroButton metroButton_UpdateUserData;
|
||||
private MetroFramework.Controls.MetroButton metroButton2;
|
||||
private MetroFramework.Controls.MetroButton metroButton1;
|
||||
}
|
||||
}
|
||||
|
@@ -225,8 +225,14 @@ namespace HSUCO_Cargo_Garage_Operation_Program.CustomUserControl
|
||||
if (getRefundInformation.ExtensionStart < refundDateTime)
|
||||
{
|
||||
// 연장 시작 부와 비교
|
||||
var leftDays = (getRefundInformation.DateEnd - refundDateTime).TotalDays + 1;
|
||||
int leftAmount = (getRefundInformation.ExtensionFee / 365) * (int)leftDays;
|
||||
ProgressDays progressDays = Extends.GetProgressDays(refundDateTime, getRefundInformation.DateEnd);
|
||||
int totalMonth = Extends.GetProgressMonth(getRefundInformation.ExtensionStart.Year, getRefundInformation.ExtensionStart.Month, getRefundInformation.DateEnd.Year, getRefundInformation.DateEnd.Month);
|
||||
int monthAmount = getRefundInformation.ExtensionFee / totalMonth;
|
||||
int leftAmount = progressDays.Month * monthAmount;
|
||||
if (progressDays.StartDay != 0)
|
||||
{
|
||||
leftAmount += (monthAmount / progressDays.StartTotalDay) * (progressDays.StartTotalDay - progressDays.StartDay);
|
||||
}
|
||||
if (leftAmount > 0)
|
||||
{
|
||||
leftAmount = leftAmount / 10 * 10;
|
||||
@@ -237,14 +243,21 @@ namespace HSUCO_Cargo_Garage_Operation_Program.CustomUserControl
|
||||
}
|
||||
else
|
||||
{
|
||||
// 최초 이용일에서 남은 이용일 게산
|
||||
var leftDays = (getRefundInformation.ExtensionStart.AddDays(-1) - refundDateTime).TotalDays + 1;
|
||||
int leftAmount = (getRefundInformation.BaseFee / 365) * (int)leftDays;
|
||||
if(leftAmount > 0)
|
||||
DateTime endDate = getRefundInformation.ExtensionStart.AddDays(-1);
|
||||
ProgressDays progressDays = Extends.GetProgressDays(refundDateTime, endDate);
|
||||
int totalMonth = Extends.GetProgressMonth(getRefundInformation.DateStart.Year, getRefundInformation.DateStart.Month, endDate.Year, endDate.Month);
|
||||
int monthAmount = getRefundInformation.BaseFee / totalMonth;
|
||||
int leftAmount = progressDays.Month * monthAmount;
|
||||
if (progressDays.StartDay != 0)
|
||||
{
|
||||
leftAmount += (monthAmount / progressDays.StartTotalDay) * (progressDays.StartTotalDay - progressDays.StartDay);
|
||||
}
|
||||
if (leftAmount > 0)
|
||||
{
|
||||
leftAmount = leftAmount / 10 * 10;
|
||||
}
|
||||
totalAmount += leftAmount;
|
||||
// 연장 부분 전체
|
||||
totalAmount += getRefundInformation.ExtensionFee;
|
||||
}
|
||||
// 연장한 경우
|
||||
@@ -253,8 +266,14 @@ namespace HSUCO_Cargo_Garage_Operation_Program.CustomUserControl
|
||||
{
|
||||
|
||||
// 연장안한경우
|
||||
var leftDays = (getRefundInformation.DateEnd - refundDateTime).TotalDays + 1;
|
||||
int leftAmount = (getRefundInformation.ExtensionFee / 365) * (int)leftDays;
|
||||
ProgressDays progressDays = Extends.GetProgressDays(refundDateTime, getRefundInformation.DateEnd);
|
||||
int totalMonth = Extends.GetProgressMonth(getRefundInformation.DateStart.Year, getRefundInformation.DateStart.Month, getRefundInformation.DateEnd.Year, getRefundInformation.DateEnd.Month);
|
||||
int monthAmount = getRefundInformation.BaseFee / totalMonth;
|
||||
int leftAmount = progressDays.Month * monthAmount;
|
||||
if(progressDays.StartDay != 0)
|
||||
{
|
||||
leftAmount += (monthAmount / progressDays.StartTotalDay) * (progressDays.StartTotalDay - progressDays.StartDay);
|
||||
}
|
||||
if (leftAmount > 0)
|
||||
{
|
||||
leftAmount = leftAmount / 10 * 10;
|
||||
|
@@ -21,3 +21,5 @@ UserList Status =
|
||||
0 결재 대기
|
||||
1 결재 완료
|
||||
2 환불
|
||||
|
||||
// 무조건 이용시작일은 1일로 고정, 이용종료일을 마지막날로 고정임
|
@@ -48,8 +48,64 @@ namespace HSUCO_Cargo_Garage_Operation_Program
|
||||
{
|
||||
return value ? 1 : 0;
|
||||
}
|
||||
public static ProgressDays GetProgressDays(DateTime start, DateTime end)
|
||||
{
|
||||
ProgressDays progressDays = new ProgressDays();
|
||||
DateTime midDay = new DateTime(start.Year, start.Month, 1);
|
||||
if (start.Day != 1)
|
||||
{
|
||||
progressDays.StartDay = start.Day;
|
||||
progressDays.StartTotalDay = DateTime.DaysInMonth(start.Year, start.Month);
|
||||
midDay = midDay.AddMonths(1);
|
||||
}
|
||||
int month = 0;
|
||||
while (true)
|
||||
{
|
||||
DateTime get = new DateTime(midDay.Year, midDay.Month, DateTime.DaysInMonth(midDay.Year, midDay.Month));
|
||||
if (get <= end.Date)
|
||||
{
|
||||
month++;
|
||||
midDay = midDay.AddMonths(1);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return progressDays;
|
||||
}
|
||||
public static int GetProgressMonth(int startYear, int startMonth, int endYear, int endMonth)
|
||||
{
|
||||
DateTime progressDate = new DateTime(startYear, startMonth, 1);
|
||||
DateTime endDate = new DateTime(endYear, endMonth, DateTime.DaysInMonth(endYear, endMonth));
|
||||
int month = 0;
|
||||
while (true)
|
||||
{
|
||||
|
||||
if (progressDate <= endDate.Date)
|
||||
{
|
||||
month++;
|
||||
progressDate = progressDate.AddMonths(1);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
return month;
|
||||
}
|
||||
}
|
||||
public struct ProgressDays
|
||||
{
|
||||
public int StartDay;
|
||||
public int StartTotalDay;
|
||||
public int Month;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user