Files
thinkyu/Web/forms/test/Test.ascx.cs
T
sryang 577060bc78 chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
2026-09-10 09:42:37 +08:00

196 lines
7.2 KiB
C#

using System;
using System.Data;
using System.Web.UI.WebControls;
using System.Data.Common;
using System.Text;
using System.Net.Mail;
using Wellan.Data;
using System.Linq;
using Newtonsoft.Json;
using System.Collections.Generic;
using NPOI.HSSF.Record.Chart;
public partial class forms_test_Test : Wellan.Web.UI.WUserControlBase
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
}
protected void btnTestHoliday_Click(object sender, EventArgs e)
{
//TestHolidayResult.Text = "";
//BhrdDAC bhrd = new BhrdDAC();
//var r1 = bhrd.IsHoliday("00002", new DateTime(2023, 3, 1));
//var r2 = bhrd.IsHoliday("00002", new DateTime(2023, 3, 2));
//var r3 = bhrd.IsHoliday("00002", new DateTime(2023, 3, 3));
//var r4 = bhrd.IsHoliday("00002", new DateTime(2023, 3, 4));
//TestHolidayResult.Text = string.Format("2023-03-01 ==> {0}<br>2023-03-02 ==> {1}<br>2023-03-03 ==> {2}<br>2023-03-04 ==> {3}", r1, r2, r3, r4);
}
protected void btnGenRPIRImport_Click(object sender, EventArgs e)
{
//GenRPIRImportResult.Text = "";
//var f = System.IO.File.ReadAllText("D:/TEMP2/員工眷屬加保資料.json");
//var familyList = JsonConvert.DeserializeObject<FamilyList>(f);
//GenRPIRImportResult.Text += string.Format("{0}<br>", familyList.Count());
//foreach (var bpeno in familyList.Keys)
//{
// var familys = familyList[bpeno];
// foreach (var family in familys)
// {
// DateTime dt;
// if (!string.IsNullOrEmpty(family.BIRTHDAY))
// {
// if (DateTime.TryParseExact(family.BIRTHDAY, "yyyy-MM-dd"
// , Wellan.Common.WGuard1.InvariantCulture
// , System.Globalization.DateTimeStyles.None
// , out dt))
// {
// family.BIRTHDAY = dt.ToString("yyyyMMdd");
// }
// else
// {
// family.BIRTHDAY = "";
// }
// }
// else
// {
// family.BIRTHDAY = "";
// }
// if (!string.IsNullOrEmpty(family.START_DATE))
// {
// if (DateTime.TryParseExact(family.START_DATE, "yyyy-MM-dd"
// , Wellan.Common.WGuard1.InvariantCulture
// , System.Globalization.DateTimeStyles.None
// , out dt))
// {
// family.START_DATE = dt.ToString("yyyyMMdd");
// }
// else
// {
// family.START_DATE = "";
// }
// }
// else
// {
// family.START_DATE = "";
// }
// if (!string.IsNullOrEmpty(family.END_DATE))
// {
// if (DateTime.TryParseExact(family.END_DATE, "yyyy-MM-dd"
// , Wellan.Common.WGuard1.InvariantCulture
// , System.Globalization.DateTimeStyles.None
// , out dt))
// {
// family.END_DATE = dt.ToString("yyyyMMdd");
// }
// else
// {
// family.END_DATE = "";
// }
// }
// else
// {
// family.END_DATE = "";
// }
// }
// var d0 = familys.Where(x => x.DEDUCT == "0").Count();
// var d1 = familys.Where(x => x.DEDUCT == "25").Count();
// var d2 = familys.Where(x => x.DEDUCT == "50").Count();
// var d3 = familys.Where(x => x.DEDUCT == "100").Count();
// var maxRpren = Convert.ToString(Query.ExecuteScalar(string.Format("SELECT MAX(RPREN) FROM RPIR WHERE RPENO='{0}'", bpeno)));
// var maxRpitm = Convert.ToInt32(Query.ExecuteScalar(string.Format("SELECT ISNULL(MAX(RPITM), 0) FROM RPIB WHERE RPREN='{0}'", maxRpren)));
// // GenRPIRImportResult.Text += string.Format("{0} {1} {2}<br>", bpeno, maxRpren, maxRpitm);
// if (maxRpitm == 0)
// {
// GenRPIRImportResult.Text += string.Format("UPDATE RPIR SET RPFMY={1}, RPFM1={2}, RPFM2={3}, RPFM3={4}, RPFMD='{5}' WHERE RPREN='{0}';<br>"
// , maxRpren, d0, d1, d2, d3, JsonConvert.SerializeObject(familys));
// }
// else
// {
// GenRPIRImportResult.Text += string.Format("UPDATE RPIB SET RPFMY={2}, RPFM1={3}, RPFM2={4}, RPFM3={5}, RPFMD='{6}' WHERE RPREN='{0}' AND RPITM={1};<br>"
// , maxRpren, maxRpitm, d0, d1, d2, d3, JsonConvert.SerializeObject(familys));
// }
//}
}
protected void testGetRPIR_Click(object sender, EventArgs e)
{
GetData getData = new GetData();
DateTime calcStartDay = new DateTime(2023, 9, 1);
DateTime calcEndDay = new DateTime(2023, 9, 15);
DateTime aYYMM = new DateTime(2023, 9, 1);
int thisMonthDays = 30;
int thisMonthLaborDays = 0;
Blif blif = new Blif(aYYMM);
Blra blra = new Blra(aYYMM);
DbConnection conn = Query.NewConnection();
RPIRRecord rpirRecord = new RPIRRecord();
conn.Open();
DbTransaction tran = conn.BeginTransaction();
getData.Query = Query;
DataTable rpir勞保 = getData.GetRPIR(calcStartDay, calcEndDay, "02184", tran, true);
DateTime prevStartDay = new DateTime();
DateTime prevEndDay = new DateTime();
foreach (DataRow rpirRow in rpir勞保.Rows)
{
rpirRecord.FillRecord(rpirRow);
DateTime startDay1 = rpirRecord.RPBDT < calcStartDay ? calcStartDay : rpirRecord.RPBDT;
DateTime endDay1 = (rpirRecord.RPXDT.Ticks == 0) ||
(aYYMM.Year != rpirRecord.RPXDT.Year || aYYMM.Month != rpirRecord.RPXDT.Month)
? calcEndDay : rpirRecord.RPXDT;
// 勞保費
blif.Add(rpirRecord.RPAMT, startDay1, endDay1, rpirRecord.GoOut, rpirRecord.RPDIS,
rpirRecord.RPLIS, rpirRecord.RPOLD, rpirRecord.RPOVR, rpirRecord.RPPTP,
rpirRecord.RPNAT, ref thisMonthLaborDays);
// 勞退提撥
blra.Add(rpirRecord.RPAMT, startDay1, endDay1, rpirRecord.RPSLA, rpirRecord.RPPTP, thisMonthDays, rpirRecord.RPNAT);
prevStartDay = startDay1;
prevEndDay = endDay1;
}
blif.GetFee();
blra.GetFee();
tran.Rollback();
conn.Close();
}
}
public class FamilyList: Dictionary<string, List<Family>>
{
}
public class Family
{
public string NAME { get; set; }
public string BIRTHDAY { get; set; }
public string IDNO { get; set; }
public string RELATIONSHIP { get; set; }
public string DEDUCT { get; set; }
public string START_DATE { get; set; }
public string END_DATE { get; set; }
}