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}
2023-03-02 ==> {1}
2023-03-03 ==> {2}
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(f); //GenRPIRImportResult.Text += string.Format("{0}
", 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}
", 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}';
" // , 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};
" // , 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> { } 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; } }