/// <summary>
       /// 添加报表信息
       /// </summary>
       /// <param name="AttendanceReportSql">主表SQL</param>
       /// <param name="reportdatas">报表详细数据</param>
       /// <returns>添加是否成功 false:失败,true:成功</returns>
       public static bool InsertAll(string AttendanceReportSql, string reportdatas, string CompanyCD, string UserID)
        {
            AttendanceReportDetailModel AttendanceReportDetailM = new AttendanceReportDetailModel();
            string[] strarray = null;
            string recorditems = "";
            string[] inseritems = null;
            try
            {
                strarray = reportdatas.Split('|');
                string[] sqlarray = new string[strarray.Length+1];
                sqlarray[0] = AttendanceReportSql;
                for (int i = 0; i < strarray.Length; i++)
                {
                    StringBuilder ReportDetailSql = new StringBuilder();
                    recorditems = strarray[i];
                    inseritems = recorditems.Split(',');
                    if (recorditems.Length != 0)
                    {
                        string ReportNo = inseritems[0].ToString();//报表编号
                        string EmployeeID = inseritems[1].ToString();//员工ID
                        string Hours = inseritems[2].ToString();//应出勤时长
                        string WorkHour=inseritems[3].ToString();//实际出勤时长
                        string Leave=inseritems[4].ToString();//请假时长
                        string Overtime=inseritems[5].ToString();//加班时长
                        string Out=inseritems[6].ToString();//外出时长
                        string Business=inseritems[7].ToString();//出差时长
                        string Instead=inseritems[8].ToString();//替班时长
                        string Transferred=inseritems[9].ToString();//年休时长
                        string LateMinute=inseritems[10].ToString();//迟到时长
                        string LeaveEarlyMinute=inseritems[11].ToString();//早退时长
                        string AttendanceRate = inseritems[12].ToString();//出勤率
                        string AttendanceType = inseritems[13].ToString();//考勤类型
                        string NomalHour = inseritems[14].ToString();//正常考勤时间

                        AttendanceReportDetailM.ReprotNo = ReportNo;
                        AttendanceReportDetailM.CompanyCD = CompanyCD;
                        AttendanceReportDetailM.EmployeeID =Convert.ToInt32(EmployeeID);
                        //AttendanceReportDetailM.StartDate =Convert.ToDateTime(StartDate);
                        //AttendanceReportDetailM.EndDate = EndDate;
                        AttendanceReportDetailM.Hours = Convert.ToDecimal(Hours);
                        AttendanceReportDetailM.WorkHour = Convert.ToDecimal(WorkHour);
                        AttendanceReportDetailM.Leave =Convert.ToDecimal(Leave);
                        AttendanceReportDetailM.Overtime = Convert.ToDecimal(Overtime);
                        AttendanceReportDetailM.Out = Convert.ToDecimal(Out);
                        AttendanceReportDetailM.Business = Convert.ToDecimal(Business);
                        AttendanceReportDetailM.Instead = Convert.ToDecimal(Instead);
                        AttendanceReportDetailM.Transferred = Convert.ToDecimal(Transferred);
                        AttendanceReportDetailM.LateMinute = Convert.ToDecimal(LateMinute);
                        AttendanceReportDetailM.LeaveEarlyMinute = Convert.ToDecimal(LeaveEarlyMinute);
                        AttendanceReportDetailM.ModifiedDate = System.DateTime.Now;
                        AttendanceReportDetailM.ModifiedUserID = UserID;

                        ReportDetailSql.AppendLine("INSERT INTO officedba.AttendanceReportMonth");
                        ReportDetailSql.AppendLine("		(ReprotNo      ");
                        ReportDetailSql.AppendLine("		,CompanyCD        ");
                        ReportDetailSql.AppendLine("		,EmployeeID        ");
                        ReportDetailSql.AppendLine("		,NomalHour        ");
                        ReportDetailSql.AppendLine("		,AttendanceType        ");
                        ReportDetailSql.AppendLine("		,Hours        ");
                        ReportDetailSql.AppendLine("		,WorkHour        ");
                        ReportDetailSql.AppendLine("		,Leave        ");
                        ReportDetailSql.AppendLine("		,Overtime        ");
                        ReportDetailSql.AppendLine("		,Out        ");
                        ReportDetailSql.AppendLine("		,Business        ");
                        ReportDetailSql.AppendLine("		,[Instead]        ");
                        ReportDetailSql.AppendLine("		,Transferred        ");
                        ReportDetailSql.AppendLine("		,LateMinute        ");
                        ReportDetailSql.AppendLine("		,LeaveEarlyMinute        ");
                        ReportDetailSql.AppendLine("		,AttendanceRate        ");
                        ReportDetailSql.AppendLine("		,ModifiedDate        ");
                        ReportDetailSql.AppendLine("		,ModifiedUserID)        ");
                        ReportDetailSql.AppendLine("VALUES                  ");
                        ReportDetailSql.AppendLine("		('" + AttendanceReportDetailM.ReprotNo + "'     ");
                        ReportDetailSql.AppendLine("		,'" + AttendanceReportDetailM.CompanyCD + "'       ");
                        ReportDetailSql.AppendLine("		,'" + AttendanceReportDetailM.EmployeeID + "'       ");
                        ReportDetailSql.AppendLine("		," + NomalHour + "       ");
                        ReportDetailSql.AppendLine("		,'" + AttendanceType + "'       ");
                        ReportDetailSql.AppendLine("		," + AttendanceReportDetailM.Hours + "       ");
                        ReportDetailSql.AppendLine("		," + AttendanceReportDetailM.WorkHour + "       ");
                        ReportDetailSql.AppendLine("		," + AttendanceReportDetailM.Leave + "       ");
                        ReportDetailSql.AppendLine("		," + AttendanceReportDetailM.Overtime + "       ");
                        ReportDetailSql.AppendLine("		," + AttendanceReportDetailM.Out + "       ");
                        ReportDetailSql.AppendLine("		," + AttendanceReportDetailM.Business + "       ");
                        ReportDetailSql.AppendLine("		," + AttendanceReportDetailM.Instead + "       ");
                        ReportDetailSql.AppendLine("		," + AttendanceReportDetailM.Transferred + "       ");
                        ReportDetailSql.AppendLine("		," + AttendanceReportDetailM.LateMinute + "       ");
                        ReportDetailSql.AppendLine("		," + AttendanceReportDetailM.LeaveEarlyMinute + "       ");
                        ReportDetailSql.AppendLine("		," +Convert.ToDecimal(AttendanceRate) + "       ");
                        ReportDetailSql.AppendLine("		,'" + AttendanceReportDetailM.ModifiedDate + "'       ");
                        ReportDetailSql.AppendLine("		,'" + AttendanceReportDetailM.ModifiedUserID + "')       ");
                        sqlarray[i+1] = ReportDetailSql.ToString();
                    }
                }
                SqlHelper.ExecuteTransForListWithSQL(sqlarray);
                return SqlHelper.Result.OprateCount > 0 ? true : false;
            }
            catch
            {
                return false;
            }
        }
 /// <summary>
 /// 保存报表调整信息
 /// </summary>
 /// <param name="AttendanceReportM">报表信息</param>
 /// <returns>添加是否成功 false:失败,true:成功</returns>
 public static bool SaveAttendanceChangeInfo(AttendanceReportDetailModel AttendanceReportDetailM, string AttendanceType)
 {
     return AttendanceReportDBHelper.SaveAttendanceChangeInfo(AttendanceReportDetailM, AttendanceType);
 }
       /// <summary>
       /// 保存报表调整信息
       /// </summary>
       /// <param name="AttendanceReportDetailM">报表调整信息</param>
       /// <returns>更新是否成功 false:失败,true:成功</returns>
       public static bool SaveAttendanceChangeInfo(AttendanceReportDetailModel AttendanceReportDetailM, string AttendanceType)
       {
           try
           {
               #region 报表调整信息SQL拼写
               StringBuilder sql = new StringBuilder();
               sql.AppendLine("UPDATE officedba.AttendanceReportMonth SET ");
               sql.AppendLine("		 ChangeTimes=@ChangeTimes        ");
               sql.AppendLine("		,ChangeType=@ChangeType        ");
               sql.AppendLine("		,ChangeNote=@ChangeNote        ");
               sql.AppendLine("		,AttendanceRate=@AttendanceRate        ");
               sql.AppendLine("		,ModifiedDate=@ModifiedDate        ");
               sql.AppendLine("		,ModifiedUserID=@ModifiedUserID        ");
               sql.AppendLine(" WHERE  ");
               sql.AppendLine(" ReprotNo = @ReprotNo ");
               sql.AppendLine(" AND CompanyCD = @CompanyCD  ");
               sql.AppendLine(" AND EmployeeID = @EmployeeID  ");
               sql.AppendLine(" AND AttendanceType = @AttendanceType  ");
               #endregion
               #region 报表调整信息参数设置
               SqlParameter[] param;
               param = new SqlParameter[10];
               param[0] = SqlHelper.GetParameter("@ChangeTimes", AttendanceReportDetailM.ChangeTimes);
               param[1] = SqlHelper.GetParameter("@ChangeType", AttendanceReportDetailM.ChangeType);
               param[2] = SqlHelper.GetParameter("@ChangeNote", AttendanceReportDetailM.ChangeNote);
               param[3] = SqlHelper.GetParameter("@AttendanceRate", AttendanceReportDetailM.AttendanceRate);
               param[4] = SqlHelper.GetParameter("@ModifiedDate", AttendanceReportDetailM.ModifiedDate);
               param[5] = SqlHelper.GetParameter("@ModifiedUserID", AttendanceReportDetailM.ModifiedUserID);
               param[6] = SqlHelper.GetParameter("@ReprotNo", AttendanceReportDetailM.ReprotNo);
               param[7] = SqlHelper.GetParameter("@CompanyCD", AttendanceReportDetailM.CompanyCD);
               param[8] = SqlHelper.GetParameter("@EmployeeID", AttendanceReportDetailM.EmployeeID);
               param[9] = SqlHelper.GetParameter("@AttendanceType", AttendanceType);

               #endregion
               SqlHelper.ExecuteTransSql(sql.ToString(), param);
               return SqlHelper.Result.OprateCount > 0 ? true : false;
           }
           catch 
           {
               return false;
           }
       }