private void GetFileName2() // Lay danh sach file chuyen du lieu { try { string dir = T_String.GetDataFromSQL("DIR_DR", "GP_SYS_READER", "SEQ_NO='1'", con21); string FIL_NM = T_String.GetDataFromSQL("FIL_NM", "GP_SYS_READER", "SEQ_NO='1'", con21); DateTime dt = GetDateOfFileTXT(FIL_NM, "1"); string [] f1 = Directory.GetFiles(dir); for (int i = 0; i < f1.Length; i++) { if (PublicFunction.S_Right(f1[i], 4).ToUpper() == ".TXT") { DateTime dt1 = GetDateOfFileTXT(f1[i], "1"); if (T_String.CompareDate(dt1, dt)) { int j = 0; for (j = 0; j < lb3.Items.Count; j++) { if (T_String.CompareDate(GetDateOfFileTXT(lb3.Items[j] + "", "1"), dt1)) { break; } } lb3.Items.Insert(j, f1[i]); } } } } catch (Exception) { } }
private bool GetFileName(ListBox _lbxFile, string _sDir, string _sFile, SqlConnection _con) { try { int i, j; DateTime S_dDt = AQ800(GetName(_sFile)); if (S_dDt == new DateTime(1, 1, 1)) { return(false); } string [] lsFile = Directory.GetFiles(_sDir, "*.txt"); Array.Sort(lsFile); j = 0; for (i = 0; i < lsFile.Length; i++) { string sFileName = string.Empty; sFileName = lsFile[i].Substring(lsFile[i].LastIndexOf("\\") + 1); DateTime dDt = AQ800(sFileName); if (T_String.CompareDate(dDt, S_dDt) && dDt != new DateTime(1, 1, 1)) { _lbxFile.Items.Insert(j, sFileName); j++; } } } catch { //MessageBox.Show (ex.Message); return(false); } return(true); }
// Dau nam tinh duoc ngay phep 1 nam public static void CalStaff1(string EMP_ID, string TYP_ID, string INH_DT, SqlConnection con, DateTime dt) { checkStaff(EMP_ID, con, dt.ToString("yyyy")); if (INH_DT + "" == "") // ko co ngay vao { UpdateStaff0(EMP_ID, con, dt.ToString("yyyy")); return; } string sql; sql = "Select * from FILA11A where TYP_ID=N'" + TYP_ID + "'"; Func.RecordSet rs = new Func.RecordSet(sql, con); if (rs.rows <= 0) // ko co loai nhan vien { UpdateStaff0(EMP_ID, con, dt.ToString("yyyy")); return; } int WAG_MM = T_String.IsNullTo0(rs.record(0, "WAG_MM")); int ngaytinh = T_String.IsNullTo0(rs.record(0, "STR_DT")); int phepnam = T_String.IsNullTo0(rs.record(0, "LEA_DY")); int heso = (int)phepnam / 12; DateTime dt1 = DateTime.Parse(INH_DT).AddMonths(WAG_MM); if (T_String.CompareDate(dt1, dt)) // ko du thoi gian lam viec de tinh phep { UpdateStaff0(EMP_ID, con, dt.ToString("yyyy")); return; } if (T_String.CompareDate(new DateTime(dt.Year, 1, 1), dt1)) { dt1 = new DateTime(dt.Year, 1, 1); } int ngayphep = 0; // tinh phep nam ngayphep = phepnam; // if(dt1.Day<=ngaytinh) // { // ngayphep+= heso; // dem++; // } // dt1=dt1.AddMonths(1); // while (dt1.Month<dt.Month) // { // ngayphep+= heso; // dt1=dt1.AddMonths(1); // dem++; // } // if(dt.Day>=ngaytinh && dt1.Month==dt.Month) // { // if(dem+1==12) // { // ngayphep=phepnam; // } // else // { // ngayphep+= heso; // } // // } // tinh tham nien int thamnien = 0; dt1 = DateTime.Parse(INH_DT); int sonam = T_String.IsNullTo0(rs.record(0, "SEN_YY")); int songay = T_String.IsNullTo0(rs.record(0, "SEN_DY")); if (sonam != 0 && songay != 0) { while (true) { dt1 = dt1.AddYears(sonam); if (T_String.CompareDate(dt, dt1)) { thamnien += songay; } else { break; } } } sql = "update FILC04C set HAV_QT=" + ngayphep + ",ADD_QT=" + thamnien + " where EMP_ID=N'" + EMP_ID + "' and YYY_YY=N'" + dt.ToString("yyyy") + "'"; PublicFunction.SQL_Execute(sql, con); // sql="update FILC04C set DID_QT=(select SUM(DAY_TT) from FILC04A where EMP_ID=N'"+EMP_ID+"' " // +")where EMP_ID=N'"+EMP_ID+"' and YYY_YY=N'"+dt.ToString("yyyy")+"'"; // PublicFunction.SQL_Execute(sql,con); }
private void Cal() { //dt=T_String.GetDate(); lb.Text = ""; lb2.Text = ""; cmd_OK.Enabled = false; SqlConnection con = new SqlConnection(PublicFunction.C_con.ConnectionString); con.Open(); //Tinh phep nam tu thang den thang DateTime fromdate = (DateTime)dtpfrom.Value; DateTime todate = (DateTime)dtpto.Value; while (T_String.IsNullTo0(fromdate.ToString("yyyyMM")) <= T_String.IsNullTo0(todate.ToString("yyyyMM"))) // tung Ngay { string str = "delete FILC04C from FILC04C LEFT OUTER JOIN FILB01A ON FILB01A.EMP_ID=FILC04C.EMP_ID"; str += " LEFT OUTER JOIN FILB01AC ON FILB01A.EMP_ID=FILB01AC.EMP_ID"; str += " where ((VAC_BT=0 or VAC_BT is null) or (VAC_BT=1 and VAC_DT>='" + fromdate.ToString("yyyy/MM") + "/01'))"; str += " and YYY_YY=N'" + fromdate.ToString("yyyyMM") + "' and " + control1.GetWhere("", false); PublicFunction.SQL_Execute(str, con); //Kiem tra thu tinh dua vao ngay vao lam hay ngay hop dong string sql = "Select FILB01A.EMP_ID,EMP_NM,FILB01A.TYP_ID,INH_DT,LAB_NO,LAB_ST,LAB_ED,LAB_TM,"; sql += "LEA_DY,NEW_OD,STR_DT,WAG_MM,SEN_YY,SEN_DY,LEA_PY,LEA_DM,CHK_LB"; sql += " from FILB01A left outer join FILB01AF on FILB01A.EMP_ID=FILB01AF.EMP_ID"; sql += " left outer join FILA11A on FILA11A.TYP_ID=FILB01A.TYP_ID"; sql += " LEFT OUTER JOIN FILB01AC ON FILB01A.EMP_ID=FILB01AC.EMP_ID"; sql += " where " + control1.GetWhere("", false); sql += " and ((VAC_BT=0 or VAC_BT is null) or (VAC_BT=1 and VAC_DT>='" + fromdate.ToString("yyyy/MM") + "/01'))"; sql += " and INH_DT<'" + fromdate.AddMonths(1).ToString("yyyy/MM") + "/01'"; Func.RecordSet rs = new Func.RecordSet(sql, con); for (int i = 0; i < rs.rows; i++) { if (stop) { return; } //Phep nam cho ung truoc hay ko if (PublicFunction.tinhphepnam == 0) { String EMP_ID = rs.record(i, "EMP_ID"); String INH_DT = rs.record(i, "INH_DT"); string TYP_ID = rs.record(i, "TYP_ID"); string LAB_ST = rs.record(i, "LAB_ST"); //xet co ngay vao lam va loai nhan vien hay ko //Chuyen nhan vien vao FILC04C checkStaff(EMP_ID, con, fromdate.ToString("yyyyMM")); if (INH_DT + "" == "") // ko co ngay vao { UpdateStaff0(EMP_ID, con, fromdate.ToString("yyyyMM")); return; } //string sql; sql = "Select * from FILA11A where TYP_ID=N'" + TYP_ID + "'"; Func.RecordSet rrs = new Func.RecordSet(sql, con); if (rrs.rows <= 0) // ko co loai nhan vien { UpdateStaff0(EMP_ID, con, fromdate.ToString("yyyyMM")); return; } string checkHD = rs.record(0, "CHK_LB"); if (checkHD == "True") { //Thang bat dau tinh phep nam int WAG_MM = T_String.IsNullTo0(rs.record(0, "WAG_MM")); ///////// ///Ngay tinh de doi chieu voi ngay tinh cua chuong trinh int ngaytinh = T_String.IsNullTo0(rs.record(0, "STR_DT")); int phepnam1nam = T_String.IsNullTo0(rs.record(0, "LEA_DY")); int phepnamnuanam = T_String.IsNullTo0(rs.record(0, "LEA_PY")); int phepnam1thang = T_String.IsNullTo0(rs.record(0, "LEA_DM")); //Thang bat dau tinh cong them vao ngay vao lam DateTime Batdautinh = DateTime.Parse(LAB_ST).AddMonths(WAG_MM); DateTime dt1 = DateTime.Parse(LAB_ST); int phepduochuongtuden = 0, phepduochuongtrongthang = 0, phepnghitrongthang = 0, phepnghituden = 0, phepconlaitrongthang = 0, phepconlaituden = 0; label5.Text = fromdate.ToString("yyyy/MM"); sql = "Select (Select isnull(SUM(DAY_TT),0) from FILC04A where LEA_ID=N'001' and EMP_ID=N'" + EMP_ID + "' and STR_DT>='" + fromdate.ToString("yyyy") + "/01/01' and STR_DT<'" + fromdate.AddMonths(1).ToString("yyyy/MM") + "/01') AS Tuden,"; sql += "(Select isnull(SUM(DAY_TT),0) from FILC04A where LEA_ID=N'001' and EMP_ID=N'" + EMP_ID + "' and STR_DT>='" + fromdate.ToString("yyyy/MM") + "/01' and STR_DT<'" + fromdate.AddMonths(1).ToString("yyyy/MM") + "/01') AS Trongthang"; sql += " from FILC04C where EMP_ID=N'" + EMP_ID + "' and YYY_YY=N'" + fromdate.ToString("yyyyMM") + "'"; //sql="Select FILC04C set DID_QT="+sqltuden+",DID_MM="+sqltrongthang+" where EMP_ID=N'"+EMP_ID+"' and YYY_YY=N'"+fromdate.ToString("yyyyMM")+"'"; Func.RecordSet rrss = new Func.RecordSet(sql, con); if (Batdautinh.Year > fromdate.Year) { UpdateStaff0(EMP_ID, con, fromdate.ToString("yyyyMM")); return; } else { if (fromdate.Year == Batdautinh.Year) { if (fromdate.Month - Batdautinh.Month + 1 >= 12) { phepduochuongtuden = phepnam1nam; } else { if (fromdate.Month - Batdautinh.Month + 1 >= 6) { phepduochuongtuden = phepnamnuanam + (fromdate.Month - Batdautinh.Month + 1 - 6) * phepnam1thang; } else { if (fromdate.Month - Batdautinh.Month + 1 >= 0 && (fromdate.Month - Batdautinh.Month + 1 < 6)) { phepduochuongtuden = phepnam1thang * (fromdate.Month - Batdautinh.Month + 1); } } } phepduochuongtrongthang = phepnam1thang; phepnghitrongthang = T_String.IsNullTo0(rrss.record(0, "Trongthang")); phepconlaitrongthang = phepduochuongtrongthang - phepnghitrongthang; phepnghituden = T_String.IsNullTo0(rrss.record(0, "Tuden")); phepconlaituden = phepduochuongtuden - phepnghituden; } else { DateTime ngaytinhmoi = fromdate.AddMonths(-fromdate.Month + 1); if (fromdate.Month - ngaytinhmoi.Month + 1 >= 12) { phepduochuongtuden = phepnam1nam; } else { if (fromdate.Month - ngaytinhmoi.Month + 1 >= 6) { phepduochuongtuden = phepnamnuanam + (fromdate.Month - ngaytinhmoi.Month + 1 - 6) * phepnam1thang; } else { if (fromdate.Month - ngaytinhmoi.Month + 1 >= 0 && (fromdate.Month - ngaytinhmoi.Month + 1 < 6)) { phepduochuongtuden = phepnam1thang * (fromdate.Month - ngaytinhmoi.Month + 1); } } } phepduochuongtrongthang = phepnam1thang; phepnghitrongthang = T_String.IsNullTo0(rrss.record(0, "Trongthang")); phepconlaitrongthang = phepduochuongtrongthang - phepnghitrongthang; phepnghituden = T_String.IsNullTo0(rrss.record(0, "Tuden")); phepconlaituden = phepduochuongtuden - phepnghituden; } } // tinh tham nien int thamnien = 0; DateTime Ngayvaolam = DateTime.Parse(INH_DT); int sonam = T_String.IsNullTo0(rs.record(0, "SEN_YY")); int songay = T_String.IsNullTo0(rs.record(0, "SEN_DY")); if (sonam != 0 && songay != 0) { while (true) { Ngayvaolam = Ngayvaolam.AddYears(sonam); if (T_String.CompareDate(fromdate, Ngayvaolam)) { thamnien += songay; } else { break; } } } sql = "update FILC04C set HAV_QT=" + phepconlaituden + ",HAV_MM=" + phepconlaitrongthang + ",ADD_QT=" + thamnien + ","; sql += "DID_QT=" + phepnghituden + ",DID_MM=" + phepnghitrongthang + ",CAN_QT=" + phepduochuongtuden + ",APP_MM=" + phepduochuongtrongthang + " "; sql += " where EMP_ID=N'" + EMP_ID + "' and YYY_YY=N'" + fromdate.ToString("yyyyMM") + "'"; PublicFunction.SQL_Execute(sql, con); } else { //Thang bat dau tinh phep nam int WAG_MM = T_String.IsNullTo0(rs.record(0, "WAG_MM")); ///////// ///Ngay tinh de doi chieu voi ngay tinh cua chuong trinh int ngaytinh = T_String.IsNullTo0(rs.record(0, "STR_DT")); int phepnam1nam = T_String.IsNullTo0(rs.record(0, "LEA_DY")); int phepnamnuanam = T_String.IsNullTo0(rs.record(0, "LEA_PY")); int phepnam1thang = T_String.IsNullTo0(rs.record(0, "LEA_DM")); //Thang bat dau tinh cong them vao ngay vao lam DateTime Batdautinh = DateTime.Parse(INH_DT).AddMonths(WAG_MM); DateTime dt1 = DateTime.Parse(INH_DT); int phepduochuongtuden = 0, phepduochuongtrongthang = 0, phepnghitrongthang = 0, phepnghituden = 0, phepconlaitrongthang = 0, phepconlaituden = 0; label5.Text = fromdate.ToString("yyyy/MM"); sql = "Select (Select isnull(SUM(DAY_TT),0) from FILC04A where LEA_ID=N'001' and EMP_ID=N'" + EMP_ID + "' and STR_DT>='" + fromdate.ToString("yyyy") + "/01/01' and STR_DT<'" + fromdate.AddMonths(1).ToString("yyyy/MM") + "/01') AS Tuden,"; sql += "(Select isnull(SUM(DAY_TT),0) from FILC04A where LEA_ID=N'001' and EMP_ID=N'" + EMP_ID + "' and STR_DT>='" + fromdate.ToString("yyyy/MM") + "/01' and STR_DT<'" + fromdate.AddMonths(1).ToString("yyyy/MM") + "/01') AS Trongthang"; sql += " from FILC04C where EMP_ID=N'" + EMP_ID + "' and YYY_YY=N'" + fromdate.ToString("yyyyMM") + "'"; //sql="Select FILC04C set DID_QT="+sqltuden+",DID_MM="+sqltrongthang+" where EMP_ID=N'"+EMP_ID+"' and YYY_YY=N'"+fromdate.ToString("yyyyMM")+"'"; Func.RecordSet rrss = new Func.RecordSet(sql, con); if (Batdautinh.Year > fromdate.Year) { UpdateStaff0(EMP_ID, con, fromdate.ToString("yyyyMM")); return; } else { if (fromdate.Year == Batdautinh.Year) { if (fromdate.Month - Batdautinh.Month + 1 >= 12) { phepduochuongtuden = phepnam1nam; } else { if (fromdate.Month - Batdautinh.Month + 1 >= 6) { phepduochuongtuden = phepnamnuanam + (fromdate.Month - Batdautinh.Month + 1 - 6) * phepnam1thang; } else { if (fromdate.Month - Batdautinh.Month + 1 >= 0 && (fromdate.Month - Batdautinh.Month + 1 < 6)) { phepduochuongtuden = phepnam1thang * (fromdate.Month - Batdautinh.Month + 1); } } } phepduochuongtrongthang = phepnam1thang; phepnghitrongthang = T_String.IsNullTo0(rrss.record(0, "Trongthang")); phepconlaitrongthang = phepduochuongtrongthang - phepnghitrongthang; phepnghituden = T_String.IsNullTo0(rrss.record(0, "Tuden")); phepconlaituden = phepduochuongtuden - phepnghituden; } else { DateTime ngaytinhmoi = fromdate.AddMonths(-fromdate.Month + 1); if (fromdate.Month - ngaytinhmoi.Month + 1 >= 12) { phepduochuongtuden = phepnam1nam; } else { if (fromdate.Month - ngaytinhmoi.Month + 1 >= 6) { phepduochuongtuden = phepnamnuanam + (fromdate.Month - ngaytinhmoi.Month + 1 - 6) * phepnam1thang; } else { if (fromdate.Month - ngaytinhmoi.Month + 1 >= 0 && (fromdate.Month - ngaytinhmoi.Month + 1 < 6)) { phepduochuongtuden = phepnam1thang * (fromdate.Month - ngaytinhmoi.Month + 1); } } } phepduochuongtrongthang = phepnam1thang; phepnghitrongthang = T_String.IsNullTo0(rrss.record(0, "Trongthang")); phepconlaitrongthang = phepduochuongtrongthang - phepnghitrongthang; phepnghituden = T_String.IsNullTo0(rrss.record(0, "Tuden")); phepconlaituden = phepduochuongtuden - phepnghituden; } } // tinh tham nien int thamnien = 0; DateTime Ngayvaolam = DateTime.Parse(INH_DT); int sonam = T_String.IsNullTo0(rs.record(0, "SEN_YY")); int songay = T_String.IsNullTo0(rs.record(0, "SEN_DY")); if (sonam != 0 && songay != 0) { while (true) { Ngayvaolam = Ngayvaolam.AddYears(sonam); if (T_String.CompareDate(fromdate, Ngayvaolam)) { thamnien += songay; } else { break; } } } sql = "update FILC04C set HAV_QT=" + phepconlaituden + ",HAV_MM=" + phepconlaitrongthang + ",ADD_QT=" + thamnien + ","; sql += "DID_QT=" + phepnghituden + ",DID_MM=" + phepnghitrongthang + ",CAN_QT=" + phepduochuongtuden + ",APP_MM=" + phepduochuongtrongthang + " "; sql += " where EMP_ID=N'" + EMP_ID + "' and YYY_YY=N'" + fromdate.ToString("yyyyMM") + "'"; PublicFunction.SQL_Execute(sql, con); } } else { if (PublicFunction.tinhphepnam == 1) { CalStaff1(rs.record(i, "EMP_ID") + "", rs.record(i, "TYP_ID") + "", rs.record(i, "INH_DT") + "", con, dt); } CalStaffDaNghi(rs.record(i, "EMP_ID") + "", con, fromdate); } lb.Text = (i + 1) + "/" + rs.rows + " __ " + ((int)(i + 1) * 100 / rs.rows) + "%"; lb2.Text = rs.record(i, "EMP_ID") + " __ " + rs.record(i, "EMP_NM"); pro.Value = (int)(i + 1) * 100 / rs.rows; } lb2.Text = PublicFunction.L_Get_Msg("Staff", 1); cmd_OK.Enabled = true; fromdate = fromdate.AddMonths(1); } }
/// <summary> /// Tinh phep den cuoi nam 2016-05-21 /// </summary> /// <param name="EMP_ID"></param> /// <param name="TYP_ID"></param> /// <param name="INH_DT"></param> /// <param name="con"></param> /// <param name="dt"></param> // Dau nam tinh duoc ngay phep 1 nam public static void CalStaff1(string EMP_ID, string TYP_ID, string INH_DT, SqlConnection con, DateTime dt) { checkStaff(EMP_ID, con, dt.ToString("yyyy")); if (INH_DT + "" == "") // ko co ngay vao { UpdateStaff0(EMP_ID, con, dt.ToString("yyyy")); return; } string sql; sql = "Select * from FILA11A where TYP_ID=N'" + TYP_ID + "'"; Func.RecordSet rs = new Func.RecordSet(sql, con); if (rs.rows <= 0) // ko co loai nhan vien { UpdateStaff0(EMP_ID, con, dt.ToString("yyyy")); return; } int WAG_MM = T_String.IsNullTo0(rs.record(0, "WAG_MM")); int ngaytinh = T_String.IsNullTo0(rs.record(0, "STR_DT")); int phepnam = T_String.IsNullTo0(rs.record(0, "LEA_DY")); int Loainhanvien = T_String.IsNullTo0(rs.record(0, "LEA_DY")); int heso = (int)phepnam / 12; DateTime dt1 = DateTime.Parse(INH_DT).AddMonths(WAG_MM); if (T_String.CompareDate(dt1, dt)) // ko du thoi gian lam viec de tinh phep { UpdateStaff0(EMP_ID, con, dt.ToString("yyyy")); return; } if (T_String.CompareDate(new DateTime(dt.Year, 1, 1), dt1)) { dt1 = new DateTime(dt.Year, 1, 1); } int ngayphep = 0; // tinh phep nam Decimal ngayphep1 = 0; if (dt1.Year == T_String.GetDate(con).Year) { ngayphep = phepnam - ((int)dt1.Month) + 1; } else { ngayphep = phepnam; } //Kien phep nam Cheng long [PNchenglong]=1 string PNchenglong = PublicFunction.GetOption("PNchenglong"); string ALEtop = PublicFunction.GetOption("ALEtop"); if (PNchenglong == "1" || ALEtop == "1") { if (DateTime.Parse(INH_DT).Year == T_String.GetDate(con).Year) { ngayphep = T_String.GetDate(con ).Month - ((int)dt1.Month); if (dt1.Day <= ngaytinh) { ngayphep = T_String.GetDate(con ).Month - ((int)dt1.Month); } else { if (dt1.Day > ngaytinh) { ngayphep = T_String.GetDate(con ).Month - ((int)dt1.Month) - 1; } // tinh theo ngay neu ngay vao lam nho hon ngay he thong thi thang do khong tinh if (ALEtop == "1") { if (dt1.Day > T_String.GetDate(con).Day) { ngayphep = ngayphep - 1; } } } } else { if (phepnam == 14 && T_String.GetDate(con).Month == 12) { ngayphep = T_String.GetDate(con).Month + 2; } else { ngayphep = T_String.GetDate(con).Month; } } } ///ket thuc cheng long string vacate = T_String.GetDataFromSQL("VAC_BT", "FILB01A", "EMP_ID='" + EMP_ID + "'"); DateTime vacate_date; if (vacate == "True") { vacate_date = DateTime.Parse(T_String.GetDataFromSQL("VAC_DT", "FILB01AC", "EMP_ID='" + EMP_ID + "'")); if (vacate_date.Year == T_String.GetDate(con).Year) { if (dt1.Year == vacate_date.Year) { ngayphep = ((int)vacate_date.Month) - ((int)dt1.Month) + 1; } else { ngayphep = ((int)vacate_date.Month); } } } //phep nam esprinta string filePath = PublicFunction.Path + "/Esprinta.dll"; // tinh tham nien int thamnien = 0; Double thamnien1 = 0; DateTime dtk = DateTime.Parse(INH_DT); dt1 = DateTime.Parse(INH_DT); int sonam = T_String.IsNullTo0(rs.record(0, "SEN_YY")); int songay = T_String.IsNullTo0(rs.record(0, "SEN_DY")); filePath = PublicFunction.Path + "/Esprinta.dll"; if (System.IO.File.Exists(filePath)) { if (sonam != 0 && songay != 0) { while (true) { dt1 = dt1.AddYears(sonam); dtk = dtk.AddYears(sonam - 1); if (T_String.CompareDate(T_String.GetDate(con), dt1)) { thamnien1 += songay; } else { //dateTime1=dateTime1.AddDays(+1); //int ngayk1=T_String.DT_GetDays(DateTime.Parse(T_String.GetDate(con).Year + "/01/01"),T_String.GetDate(con)); //DateTime dateTime10 = DateTime.Parse(T_String.GetDate(con).Year + "/" + Convert.ToDateTime(INH_DT).Month + "/" + Convert.ToDateTime(INH_DT).Day);//Convert.ToDateTime(INH_DT); DateTime dateTime10 = Convert.ToDateTime(INH_DT); //dateTime10 = dateTime10.AddYears(+5); dateTime10 = dateTime10.AddDays(+1826); //DateTime dateTime1 = Convert.ToDateTime(INH_DT);//Convert.ToDateTime(INH_DT); int ngaytest = 0; //T_String.DT_GetDays1(dateTime1,T_String.GetDate(con)); ngaytest = T_String.DT_GetDays(dateTime10, T_String.GetDate(con)); if (T_String.CompareDate(T_String.GetDate(con), dtk)) { thamnien1 += 0.00273972602739726 * T_String.DT_GetDays(dateTime10, T_String.GetDate(con)); break; } } } } } else { if (sonam != 0 && songay != 0) { while (true) { dt1 = dt1.AddYears(sonam); if (T_String.CompareDate(DateTime.Parse(dt.Year + "/12/31"), dt1)) { thamnien += songay; } else { break; } } } } if (System.IO.File.Exists(filePath)) { sql = "update FILC04B set HAV_QT=" + ngayphep1 + " where EMP_ID=N'" + EMP_ID + "' and YYY_YY=N'" + dt.ToString("yyyy") + "' and (nature='' or nature is null)"; PublicFunction.SQL_Execute(sql, con); sql = "update FILC04B set ADD_QT=" + thamnien1 + " where EMP_ID=N'" + EMP_ID + "' and YYY_YY=N'" + dt.ToString("yyyy") + "'"; PublicFunction.SQL_Execute(sql, con); } else { sql = "update FILC04B set HAV_QT=" + ngayphep + " where EMP_ID=N'" + EMP_ID + "' and YYY_YY=N'" + dt.ToString("yyyy") + "' and (nature='' or nature is null)"; PublicFunction.SQL_Execute(sql, con); sql = "update FILC04B set ADD_QT=" + thamnien + " where EMP_ID=N'" + EMP_ID + "' and YYY_YY=N'" + dt.ToString("yyyy") + "'"; PublicFunction.SQL_Execute(sql, con); } // sql="update FILC04B set DID_QT=(select SUM(DAY_TT) from FILC04A where EMP_ID=N'"+EMP_ID+"' " // +")where EMP_ID=N'"+EMP_ID+"' and YYY_YY=N'"+dt.ToString("yyyy")+"'"; // PublicFunction.SQL_Execute(sql,con); }
/* public static void CalStaff(string EMP_ID,string TYP_ID,string INH_DT,SqlConnection con,string YYY,DateTime dt) * { * checkStaff(EMP_ID,con,YYY); * if(INH_DT+""=="") // ko co ngay vao * { * UpdateStaff0(EMP_ID,con,YYY); * return; * } * string sql; * sql="Select * from FILA11A where TYP_ID=N'"+TYP_ID+"'"; * Func.RecordSet rs=new Func.RecordSet(sql,con); * if(rs.rows<=0) // ko co loai nhan vien * { * UpdateStaff0(EMP_ID,con,YYY); * return; * } * int WAG_MM=T_String.IsNullTo0(rs.record(0,"WAG_MM")); * int ngaytinh=T_String.IsNullTo0(rs.record(0,"STR_DT")); * int phepnam=T_String.IsNullTo0(rs.record(0,"LEA_DY")); * int heso=(int)phepnam/12; * DateTime dt1=DateTime.Parse(INH_DT).AddMonths(WAG_MM); * //if(T_String.CompareDate(dt1,T_String.GetDate(con))) // ko du thoi gian lam viec de tinh phep * if(T_String.CompareDate(dt1,dt)) * { * UpdateStaff0(EMP_ID,con,YYY); * return; * } * if(T_String.CompareDate(new DateTime(dt.Year,1,1),dt1)) * dt1=new DateTime(dt.Year,1,1); * int ngayphep=0,dem=0;// tinh phep nam * if(dt1.Day<=ngaytinh) * { * ngayphep+= heso; * dem++; * } * dt1=dt1.AddMonths(1); * while (dt1.Month<dt.Month && dt1.Year==dt.Year) * { * ngayphep+= heso; * dt1=dt1.AddMonths(1); * dem++; * } * if(dt.Day>=ngaytinh && dt1.Month==dt.Month) * { * if(dem+1==12) * { * ngayphep=phepnam; * } * else * { * ngayphep+= heso; * } * } * // tinh tham nien * int thamnien=0; * dt1=DateTime.Parse(INH_DT); * int sonam=T_String.IsNullTo0(rs.record(0,"SEN_YY")); * int songay=T_String.IsNullTo0(rs.record(0,"SEN_DY")); * if(sonam!=0 && songay!=0) * { * while(true) * { * dt1=dt1.AddYears(sonam); * if(T_String.CompareDate(dt,dt1)) * thamnien+=songay; * else * break; * } * } * * sql="update FILC04B set HAV_QT="+ngayphep+",ADD_QT="+thamnien+" where EMP_ID=N'"+EMP_ID+"' and YYY_YY=N'"+dt.ToString("yyyy")+"'"; * PublicFunction.SQL_Execute(sql,con); * } */ #endregion public static void CalStaff(string EMP_ID, string TYP_ID, string INH_DT, SqlConnection con, string YYY, DateTime dt) { checkStaff(EMP_ID, con, YYY); if (INH_DT + "" == "") // ko co ngay vao { UpdateStaff0(EMP_ID, con, YYY); return; } string sql; sql = "Select * from FILA11A where TYP_ID=N'" + TYP_ID + "'"; Func.RecordSet rs = new Func.RecordSet(sql, con); if (rs.rows <= 0) // ko co loai nhan vien { UpdateStaff0(EMP_ID, con, YYY); return; } int WAG_MM = T_String.IsNullTo0(rs.record(0, "WAG_MM")); int ngaytinh = T_String.IsNullTo0(rs.record(0, "STR_DT")); // //////////////kien string PNcalday = PublicFunction.GetOption("PNcalday"); ////kien cho phep sua trung ma bo phan if (PNcalday == "1") { int test = DateTime.Parse(INH_DT).Day; // string ngaytemp=Convert.ToString((test)); ngaytinh = test; } int phepnam = T_String.IsNullTo0(rs.record(0, "LEA_DY")); int heso = (int)phepnam / 12; DateTime dt1 = DateTime.Parse(INH_DT).AddMonths(WAG_MM); if (dt.Year < T_String.GetDate(con).Year) { if (T_String.CompareDate(dt1, dt)) // ko du thoi gian lam viec de tinh phep { UpdateStaff0(EMP_ID, con, YYY); return; } } else { if (T_String.CompareDate(dt1, T_String.GetDate(con))) // ko du thoi gian lam viec de tinh phep { UpdateStaff0(EMP_ID, con, YYY); return; } } /// khuend them vao de nhan biet nguoi cu tinh tu thang 1 /// if (T_String.CompareDate(new DateTime(dt.Year, 1, 1), dt1)) { dt1 = new DateTime(dt.Year, 1, 1); } int ngayphep = 0, dem = 0; // tinh phep nam Decimal ngayphep1 = 0; //////////////////////////////////////Kien tinh so ngay toi thoi diem hien tai hoa toi nghi viec///////////////////////////////////////// while (dt1.Month <= dt.Month && dt1.Year == dt.Year) { ngayphep += heso; dt1 = dt1.AddMonths(1); dem++; } if ((dt.Day >= ngaytinh || DateTime.Parse(INH_DT).Year < dt.Year || ngayphep > 0) && dt1.Month == dt.Month) { if (dem + 1 == 12) { ngayphep = phepnam; } else { ngayphep += heso; } } //////////////kien phep nam tinh ngay ////string PNcalday=PublicFunction.GetOption("PNcalday"); ////kien cho phep sua trung ma bo phan if (PNcalday == "1") { int test = DateTime.Parse(INH_DT).Day; ngaytinh = test; } //////////////////////kien ket thuc phep nam tinh ngay //moi thang duoc 1 ngay phep nam ,neu cong nhan 14 du 1 nam se duoc cong 2 ngay, nguoc lai thi moi thang duoc 1 ngay string ALEtop = PublicFunction.GetOption("ALEtop"); string ALAngelbell = PublicFunction.GetOption("ALAngelbell"); if (ALEtop == "1" || ALAngelbell == "1") { if (phepnam == 14 && T_String.GetDate(con).Month == 12) { DateTime dateTime = Convert.ToDateTime(T_String.GetDate(con)); DateTime temp = Convert.ToDateTime(INH_DT); temp = temp.AddYears(+1); if (temp <= dateTime) { ngayphep = ngayphep + 2; } else { } } else { //ngayphep=T_String.GetDate(con).Month; } if (ALEtop == "1") { if (dt1.Day > T_String.GetDate(con).Day) { ngayphep = ngayphep - 1; } } if (ALAngelbell == "1") { if (DateTime.Parse(INH_DT).Year == T_String.GetDate(con).Year) { ngayphep = 0; } if (DateTime.Parse(INH_DT).Year + 1 == T_String.GetDate(con).Year) { ngayphep = ngayphep + phepnam - DateTime.Parse(INH_DT).Month; } if (DateTime.Parse(INH_DT).Year + 1 == T_String.GetDate(con).Year&& DateTime.Parse(INH_DT).Month > T_String.GetDate(con).Month) { ngayphep = 0; } } } if (PublicFunction.CUS_ID == "22") { dt1 = DateTime.Parse(INH_DT); if ((dt1.Day > 15) && (dt1.Year == dt.Year)) { if (ngayphep != 0) { ngayphep -= 1; } } } // tinh tham nien int thamnien = 0; dt1 = DateTime.Parse(INH_DT); int sonam = T_String.IsNullTo0(rs.record(0, "SEN_YY")); int songay = T_String.IsNullTo0(rs.record(0, "SEN_DY")); if (sonam != 0 && songay != 0) { while (true) { dt1 = dt1.AddYears(sonam); if (T_String.CompareDate(dt, dt1)) { thamnien += songay; } else { break; } } } //luan sua de tinh ngay vao 15 DateTime dtResult = dt; if (dt.Day < 15 && ngayphep > 0) { ngayphep = ngayphep - 1; } ngayphep1 = ngayphep; if (phepnam == 14) { //Math.Round(Convert.ToDecimal(temp), 4) ngayphep1 = ngayphep1 * Math.Round(Convert.ToDecimal(14 / 12.0), 2); //ngayphep1*Math.Round(Convert.ToDecimal(14/12.0), 2); if (ngayphep1 > 14) { ngayphep1 = 14; } } //nhieu loai nhan vien if (T_String.IsNullTo0(T_String.GetDataFromSQL("Count(*)", "FILB02AA", "year(SEQ_DT)='" + dt.ToString("yyyy") + "' and EMP_ID='" + EMP_ID + "'")) > 0) { ngayphep1 = 0; dt1 = DateTime.Parse(INH_DT); if (dt1.Year < T_String.GetDate(con).Year) { //dt1=T_String.DT_GetDays(DateTime.Parse(T_String.GetDate(con).Year + "/01/01"),T_String.GetDate(con)); dt1 = Convert.ToDateTime((T_String.GetDate(con).Year + "/01/01")); //ngayk2=T_String.DT_GetDays(Convert.ToDateTime(INH_DT),T_String.GetDate(con)); } string sqlkk = "Select * from FILB02AA where EMP_ID='" + EMP_ID + "' order by SEQ_DT"; Func.RecordSet rsk = new Func.RecordSet(sqlkk, con); for (int k = 0; k < rsk.rows; k++) { dt = Convert.ToDateTime(rsk.record(k, "SEQ_DT")); while (dt1.Month < dt.Month && dt1.Year == dt.Year) { dt1 = dt1.AddMonths(1); string TYP_IDt = rsk.record(k, "TYP_ID"); string ngay = T_String.GetDataFromSQL("LEA_DY", "FILA11A", "TYP_ID='" + TYP_IDt + "'"); if (ngay == "14") { ngayphep1 += Math.Round(Convert.ToDecimal(14 / 12.0), 2); //Convert.ToDecimal(14/12.0); //Math.Round(Convert.ToDecimal(14/12.0), 2); } else { ngayphep1 += 1; } } DateTime dtt = Convert.ToDateTime(rsk.record(rsk.rows - 1, "SEQ_DT")); DateTime monthtt = T_String.GetDate(con); string vacate = T_String.GetDataFromSQL("VAC_BT", "FILB01A", "EMP_ID='" + EMP_ID + "'"); //DateTime vacate_date; if (vacate == "True") { monthtt = DateTime.Parse(T_String.GetDataFromSQL("VAC_DT", "FILB01AC", "EMP_ID='" + EMP_ID + "'")); } while (dtt.Month <= monthtt.Month && dtt.Year == T_String.GetDate(con).Year&& k == rsk.rows - 1) { dtt = dtt.AddMonths(1); string TYP_IDtt = rsk.record(k, "TYP_I1"); string ngayt = T_String.GetDataFromSQL("LEA_DY", "FILA11A", "TYP_ID='" + TYP_IDtt + "'"); if (ngayt == "14") { ngayphep1 += Math.Round(Convert.ToDecimal(14 / 12.0), 2); } else { ngayphep1 += 1; } } } } Decimal ngayphep2 = 0; if (PublicFunction.CUS_ID == "22") //Rehong { ngayphep2 = Math.Round(Convert.ToDecimal(ngayphep1), 2); if (ngayphep1 - Decimal.Floor(ngayphep1) > (Decimal)0.5000) { ngayphep2 = Decimal.Floor(ngayphep1) + 1; } } // ///////doi voi nv chua lam du 1 thang da nghi///////////// string nghiviec = T_String.GetDataFromSQL("VAC_BT", "FILB01A", "EMP_ID='" + EMP_ID + "'"); if (nghiviec == "True") { DateTime ngayvao = DateTime.Parse(INH_DT); DateTime ngaynghi = DateTime.Parse(T_String.GetDataFromSQL("VAC_DT", "FILB01AC", "EMP_ID='" + EMP_ID + "'")); TimeSpan m = ngaynghi.Subtract(ngayvao); int thang = m.Days; if (thang / 30 <= 1) { ngayphep1 = 0; ngayphep2 = 0; } } //////////////////////////// sql = "update FILC04B set HAV_QT=" + ngayphep1 + ",ADD_QT=" + thamnien + ",TLCN=" + ngayphep2 + " where EMP_ID=N'" + EMP_ID + "' and YYY_YY=N'" + dt.ToString("yyyy") + "'"; PublicFunction.SQL_Execute(sql, con); }
public static void CalStaff(string EMP_ID, string TYP_ID, string INH_DT, SqlConnection con, string YYY, DateTime dt, Boolean nghiviec) { checkStaff(EMP_ID, con, YYY); if (INH_DT + "" == "") // ko co ngay vao { UpdateStaff0(EMP_ID, con, YYY); return; } //LAY OPTION XEM CO TINH TRUOC PHEP NAM DEN CUOI NAM KO?? if (T_String.IsNullTo0(PublicFunction.GetOption("ALLASTYEAR")) == 1) { if (!nghiviec) { if (PublicFunction.CUS_ID == "22") //omexey,vao lam >=1 nam moi duoc muon truoc { if (double.Parse(DateTime.Parse(INH_DT).AddYears(1).ToString("yyyyMMdd")) <= double.Parse(dt.ToString("yyyyMMdd"))) { dt = new DateTime(dt.Year, 12, 31); } } else { dt = new DateTime(dt.Year, 12, 31); } } } string sql; double ngayphep = 0; sql = "Select * from FILA11A where TYP_ID=N'" + TYP_ID + "'"; Func.RecordSet rs = new Func.RecordSet(sql, con); if (rs.rows <= 0) // ko co loai nhan vien { UpdateStaff0(EMP_ID, con, YYY); return; } //KIEM TRA LICH SU CHUYEN LOAI NHAN VIEN if (PublicFunction.GetOption("TYP_BT") == "1") //quang viet { int ngaytinh = T_String.IsNullTo0(T_String.GetDataFromSQL("STR_DT", "FILA11A", "TYP_ID='" + TYP_ID + "'")); sql = "SELECT * FROM FILB09A WHERE EMP_ID='" + EMP_ID + "' AND YEAR(SWI_DT)=" + YYY + " ORDER BY SWI_DT"; Func.RecordSet rs1 = new Func.RecordSet(sql, con); if (rs1.rows > 0) { string TYP_NEW = "", TYP_OLD = "", dt_INH = ""; DateTime dt_DT = DateTime.Parse(rs1.record(0, "SWI_DT") + ""); if (dt_DT < dt) { for (int i = 0; i < rs1.rows; i++) { TYP_NEW = rs1.record(i, "TYP_I1") + ""; TYP_OLD = rs1.record(i, "TYP_I2") + ""; if (i == 0) { dt_INH = INH_DT; } else { dt_INH = DateTime.Parse(rs1.record(i - 1, "SWI_DT") + "").ToString(); } dt_DT = DateTime.Parse(rs1.record(i, "SWI_DT") + ""); if (dt_DT.Month > 1 && dt_DT.Day > 1) { dt_DT = dt_DT.AddDays(-1); } if (dt_DT > dt) { dt_DT = dt; if (dt_DT.Day < ngaytinh) //neu ngay chuyen nho hon ngay tinh thi thang do ko tinh { if (dt_DT.Month == 1) { ngayphep += 0; } else { ngayphep += CalStaff_Sub(EMP_ID, TYP_OLD, dt_INH, con, YYY, dt_DT.AddMonths(-1), nghiviec); } } else { ngayphep += CalStaff_Sub(EMP_ID, TYP_OLD, dt_INH, con, YYY, dt_DT, nghiviec); } i = rs1.rows; //ket thuc for } else { if (dt_DT.Day < ngaytinh) { if (dt_DT.Month == 1) { ngayphep += 0; } else { ngayphep += CalStaff_Sub(EMP_ID, TYP_OLD, dt_INH, con, YYY, dt_DT.AddMonths(-1), nghiviec); } } //ngayphep+=CalStaff_Sub(EMP_ID,TYP_OLD,dt_INH,con,YYY,dt_DT,nghiviec); else { ngayphep += CalStaff_Sub(EMP_ID, TYP_OLD, dt_INH, con, YYY, dt_DT, nghiviec); } if (i == rs1.rows - 1) //dong cuoi cung { //dt_DT=dt_DT.AddDays(1); if (dt_DT > dt) { i = rs1.rows; //ket thuc for } else { if (DateTime.Parse(dt_INH) < dt_DT) { dt_INH = dt_DT.ToString(); } if (i + 1 < rs1.rows) { dt_DT = DateTime.Parse(rs1.record(i + 1, "SWI_DT") + ""); if (dt_DT > dt) { dt_DT = dt; i = rs1.rows; } } else { dt_DT = dt; } ngayphep += CalStaff_Sub(EMP_ID, TYP_NEW, dt_INH, con, YYY, dt_DT, nghiviec); } } } } // end for } else { ngayphep = CalStaff_Sub(EMP_ID, TYP_ID, INH_DT, con, YYY, dt, nghiviec); } } else { ngayphep = CalStaff_Sub(EMP_ID, TYP_ID, INH_DT, con, YYY, dt, nghiviec); } } else { ngayphep = CalStaff_Sub(EMP_ID, TYP_ID, INH_DT, con, YYY, dt, nghiviec); } //truong hop nghi viec if (nghiviec) { if (PublicFunction.CUS_ID == "52") //domex quang nam { DateTime dtoff = DateTime.Parse(T_String.GetDataFromSQL("VAC_DT", "FILB01AC", "EMP_ID='" + EMP_ID + "'")); if (dtoff.Day < 16) { ngayphep = ngayphep - (float)T_String.IsNullTo0(rs.record(0, "LEA_DY")) / 12; } if (dtoff.Day >= 16 && dtoff.Day <= 24) { ngayphep = ngayphep - ((float)T_String.IsNullTo0(rs.record(0, "LEA_DY")) / 12) * 0.5; } if (dtoff.Day > 24) { ngayphep = ngayphep; } } } //end nghi viec // tinh tham nien int thamnien = 0; DateTime dt1 = DateTime.Parse(INH_DT); int sonam = T_String.IsNullTo0(rs.record(0, "SEN_YY")); int songay = T_String.IsNullTo0(rs.record(0, "SEN_DY")); if (sonam != 0 && songay != 0) { while (true) { dt1 = dt1.AddYears(sonam); if (T_String.CompareDate(dt, dt1)) { thamnien += songay; } else { break; } } } //NEU OPTION WAGMM_BT=1-> TINH LUON NHUNG THANG KHOI TINH KHI DU DK TINH PHEP NAM if (PublicFunction.GetOption("WAGMM_BT") == "1" && DateTime.Parse(INH_DT).Year == dt.Year) { ngayphep = ngayphep + T_String.IsNullTo0(rs.record(0, "WAG_MM")) * (float)T_String.IsNullTo0(rs.record(0, "LEA_DY")) / 12;; } //END if (PublicFunction.CUS_ID == "51") //cong ty Quang viet TG { ngayphep = Math.Floor(Math.Round(ngayphep, 1)); //Math.Round(ngayphep,2); } else if (PublicFunction.CUS_ID == "50") //QV Cu Chi { ngayphep = Math.Round(ngayphep, 1); if (ngayphep - Math.Floor(ngayphep) < 0.5) { ngayphep = Math.Floor(ngayphep); } else { ngayphep = Math.Floor(ngayphep) + 1; } } else { if (PublicFunction.CUS_ID == "62") //DOMEX { ngayphep = Math.Round(ngayphep, 1); if (ngayphep - Math.Floor(ngayphep) <= 0.4) { ngayphep = Math.Floor(ngayphep); } else { ngayphep = Math.Floor(ngayphep) + 1; } } else { if (ngayphep - Math.Floor(ngayphep) > 0.49 && (ngayphep - Math.Floor(ngayphep) < 0.99)) { //ngayphep=Math.Floor(ngayphep)+0.5; ngayphep = ngayphep; } else if (ngayphep - Math.Floor(ngayphep) >= 0.99) { //ngayphep=Math.Floor(ngayphep)+1; ngayphep = ngayphep; } else { ngayphep = ngayphep; } } } // //if (PublicFunction.CUS_ID=="300")//cong ty KenYa // if (ngayphep-Math.Floor(ngayphep)>0.49 && (ngayphep-Math.Floor(ngayphep)<0.99)) // ngayphep=Math.Floor(ngayphep)+0.5; // else if (ngayphep-Math.Floor(ngayphep)>=0.99) // ngayphep=Math.Floor(ngayphep)+1; // else // ngayphep=Math.Floor(ngayphep); //======== THU SUA PHEP NAM TINH THEO LICH SU THAY DOI LOAI NHAN VIEN END========= sql = "update FILC04B set HAV_QT=" + ngayphep + ",ADD_QT=" + thamnien + " where EMP_ID=N'" + EMP_ID + "' and YYY_YY=N'" + dt.ToString("yyyy") + "'"; PublicFunction.SQL_Execute(sql, con); }
public static double CalStaff_Sub(string EMP_ID, string TYP_ID, string INH_DT, SqlConnection con, string YYY, DateTime dt, Boolean nghiviec) { if (DateTime.Parse(INH_DT) >= dt) { return(0); } string sql; sql = "Select * from FILA11A where TYP_ID=N'" + TYP_ID + "'"; Func.RecordSet rs = new Func.RecordSet(sql, con); if (rs.rows <= 0) // ko co loai nhan vien { UpdateStaff0(EMP_ID, con, YYY); return(0); } int WAG_MM = T_String.IsNullTo0(rs.record(0, "WAG_MM")); int ngaytinh = T_String.IsNullTo0(rs.record(0, "STR_DT")); int phepnam = T_String.IsNullTo0(rs.record(0, "LEA_DY")); //if (TYP_ID== ) float heso = (float)phepnam / 12; DateTime dt1 = new DateTime(); //kiem tra ngay vao lam if (DateTime.Parse(T_String.GetDataFromSQL("INH_DT", "FILB01A", "EMP_ID='" + EMP_ID + "'")) == DateTime.Parse(INH_DT)) { dt1 = DateTime.Parse(INH_DT).AddMonths(WAG_MM); } //dt1=DateTime.Parse(INH_DT); else { dt1 = DateTime.Parse(INH_DT); } if (nghiviec) { if (dt.Year < T_String.GetDate(con).Year) { if (T_String.CompareDate(dt1, dt)) // ko du thoi gian lam viec de tinh phep { UpdateStaff0(EMP_ID, con, YYY); return(0); } } else { if (T_String.CompareDate(dt1, dt)) // ko du thoi gian lam viec de tinh phep { UpdateStaff0(EMP_ID, con, YYY); return(0); } } } else { if (dt.Year < T_String.GetDate(con).Year) { if (T_String.CompareDate(dt1, dt)) // ko du thoi gian lam viec de tinh phep { UpdateStaff0(EMP_ID, con, YYY); return(0); } } else { if (T_String.CompareDate(dt1, T_String.GetDate(con))) // ko du thoi gian lam viec de tinh phep { UpdateStaff0(EMP_ID, con, YYY); return(0); } } } if (T_String.CompareDate(new DateTime(dt.Year, 1, 1), dt1)) { dt1 = new DateTime(dt.Year, 1, 1); //ngaytinh=32; } double ngayphep = 0, dem = 0; // tinh phep nam if (dt1.Day <= ngaytinh) { ngayphep += heso; dem++; } dt1 = dt1.AddMonths(1); while (dt1.Month <= dt.Month && dt1.Year == dt.Year) //// luc truoc tinh <= nhung khuend sua lai < { ngayphep += heso; dt1 = dt1.AddMonths(1); dem++; } if ((dt.Day >= ngaytinh || DateTime.Parse(INH_DT).Year < dt.Year || ngayphep > 0) && dt1.Month == dt.Month) { if (dem + 1 == 12) { ngayphep = phepnam; } else { ngayphep += heso; } } string PNcalday = PublicFunction.GetOption("PNcalday"); if (PNcalday == "1") { // DateTime dateTime = Convert.ToDateTime(vs4.Rows[i]["LAB_ED"]); // // dateTime=dateTime.AddDays(-1); // vs4.Rows[i]["LAB_ED"]=dateTime; int test = DateTime.Parse(INH_DT).Day; // string ngaytemp=Convert.ToString((test)); ngaytinh = test; if (ngayphep > 0 && test > 15 && DateTime.Parse(INH_DT).Year == dt.Year) /// luc truoc la the nay test>dt.Day { ngayphep = ngayphep - heso; } } return(ngayphep); }