コード例 #1
0
        public void Leave_Insert()
        {
            DateTime dt = DateTime.Now;

            if (cb + "" == "")
            {
                //MessageBox.Show(PublicFunction.L_Get_Msg("msg", 19));
                return;
            }
            if (!ck && (dt4.ToString("HHmm") + "" == "" || dt3.ToString("HHmm") + "" == ""))
            {
                //MessageBox.Show(PublicFunction.L_Get_Msg("msg", 191));
                return;
            }
            string sql1 = "";
            var    _con = new SqlConnection(PublicFunction.connectionString);

            _con.Open();
            SqlTransaction tran = _con.BeginTransaction();

            try
            {
                string sql = "";
                //vs1.Row = i;
                EMP_ID = /*vs1.Rows[i]["EMP_ID"]*/ EMP_ID + "";
                INH_DT = (DateTime.ParseExact(INH_DT, "MM/dd/yyyy", CultureInfo.InvariantCulture)).ToString("yyyy/MM/dd");
                TYP_ID = TYP_ID + "";

                if (!Duplicate())   //Kiểm tra trùng ngày nghỉ phép
                {
                    string SEQ_NO = T_String.GetMax("MAX(SEQ_NO)", "TBLLEAVE") + "";

                    int c = 0;
                    if (ck)
                    {
                        c = 1;
                    }

                    cal();

                    DateTime dtt = dt2;
                    //NhuY: xet nam tinh fep nam
                    string YYY       = dtt.Year + "";
                    int    iCloseDay = /*T_String.IsNullTo0(PublicFunction.GetOption("DAYCLOSE"))*/ 1;
                    if (iCloseDay <= 0)
                    {
                        iCloseDay = 1;
                    }
                    if (iCloseDay > 15 && dtt.Day >= iCloseDay && dtt.Month == 12)
                    {
                        YYY = (dtt.Year + 1) + "";
                    }
                    //NhuY

                    if (!Overflow(INH_DT, dtt, YYY))
                    {
                        sql = "Insert Into TBLLEAVE(SEQ_NO,EMP_ID,STR_DT,END_DT,STR_TM,END_TM,HOU_DY,HOU_TT,LEA_ID,"
                              + "DAY_TT,DAY_BT,NOT_DR,BLT_NM,BLT_DT) values("
                              + SEQ_NO + ","
                              + "N'" + EMP_ID + "',"
                              + "'" + dt1.ToString("yyyy/MM/dd") + "',"
                              + "'" + dt2.ToString("yyyy/MM/dd") + "',";

                        if (ck)
                        {
                            sql += "Default,"
                                   + "Default,";
                            sql += "'" + txt_h + "',";
                        }
                        else
                        {
                            sql += "'" + dt3.ToString("HHmm") + "',"
                                   + "'" + dt4.ToString("HHmm") + "',";
                            sql += "'" + txt_h1 + "',";
                        }

                        sql += "'" + T_String.IsNullTo00(txt_hr) + "',"
                               + "N'" + cb + "',"
                               + "'" + T_String.IsNullTo00(txt_day) + "',"
                               + "'" + c + "',"
                               + "N'" + txt_note + "',N'" + USER_ID + "','" + dt.ToString("yyyy/MM/dd HH:mm") + "')";
                        SqlCommand cmd = new SqlCommand(sql, _con, tran);
                        cmd.ExecuteNonQuery();

                        //if (IsAnnualLeave(cb.SelectedValue + "")) //update ngay phep nam
                        //{
                        //    if (T_String.IsNullTo0(T_String.GetDataFromSQL("Count(*)", "FILC04B", "EMP_ID=N'" + EMP_ID + "' and YYY_YY=N'" + ((DateTime)dt1.Value).ToString("yyyy") + "'")) <= 0)
                        //    {
                        //        sql = "Insert Into FILC04B(YYY_YY,EMP_ID,BLT_NM,BLT_DT) values (N'"
                        //            + ((DateTime)dt1.Value).ToString("yyyy") + "',N'" + EMP_ID + "',N'" + PublicFunction.A_UserID + "','" + dt.ToString("yyyy/MM/dd HH:mm") + "')";
                        //        cmd = new SqlCommand(sql, con, tran);
                        //        cmd.ExecuteNonQuery();
                        //    }

                        //    //NhuY: sua tr/hop ngay ket ko la ngay 1
                        //    if (PublicFunction.dayClose <= 15)
                        //    {
                        //        sql = "EMP_ID=N'" + EMP_ID + "' and "
                        //            + "YEAR(STR_DT)='" + YYY + "' and "
                        //            + "YEAR(END_DT)='" + YYY + "'";
                        //    }
                        //    else
                        //    {
                        //        sql = "EMP_ID=N'" + EMP_ID + "' AND STR_DT>='" + (int.Parse(YYY) - 1) + "/12/" + PublicFunction.dayClose
                        //            + "' AND END_DT<'" + YYY + "/12/" + PublicFunction.dayClose + "'";
                        //    }

                        //    sql = "Update FILC04B set DID_QT=(Select SUM(DAY_TT) from FILC04A where " + sql
                        //        + ") where EMP_ID=N'" + EMP_ID + "' and YYY_YY=N'" + YYY + "'";

                        //    cmd = new SqlCommand(sql, con, tran);
                        //    cmd.ExecuteNonQuery();
                        //    //cmd = new SqlCommand(CalStaffDaNghi(EMP_ID, dtt, INH_DT), con, tran);
                        //    //cmd.ExecuteNonQuery();
                        //}

                        if (sql1 != "")
                        {
                            sql1 += ",";
                        }
                        sql1 += "N'" + EMP_ID + "'";
                        //vs1.RemoveItem(i);
                        tran.Commit();

                        //Tiến hành chuyển dữ liệu chấm công
                        Leave_Attendance_Cal(EMP_ID, dt1, dt2, null);
                    }
                    else
                    {
                        //							if(IsAnnualLeave(cb.SelectedValue+"") && PublicFunction.CUS_ID != "100")
                        //								MessageBox.Show(EMP_ID+" "+ PublicFunction.L_Get_Msg("msg",55)
                        //									+GetNgayPhepNam(EMP_ID,((DateTime)dt1.Value).ToString("yyyy"))+". ");
                        tran.Rollback();
                    }
                }
                else
                {
                    //MessageBox.Show(vs1.Rows[i]["EMP_ID"] + " " + PublicFunction.L_Get_Msg("msg", 20));
                    err += " Lỗi thêm cho nhân viên " + EMP_ID;
                    tran.Rollback();
                }
            }
            catch (Exception ex)
            {
                try
                {
                    tran.Rollback();
                }
                catch { }
                err = err + " " + ex.Message + " - " + ex.StackTrace;
                //MessageBox.Show(ex.Message);
            }

            _con.Close();
        }