/// <summary> /// 根据主键索引,删除带薪假设置信息(注:暂定为物理删除) /// </summary> /// <param name="strVacationId">主键索引</param> /// <returns></returns> public string DeleteFreeLeaveDaySet(string strFreeLeaveDaySetId) { string strMsg = string.Empty; try { if (string.IsNullOrEmpty(strFreeLeaveDaySetId)) { return("{REQUIREDFIELDS}"); } bool flag = false; StringBuilder strFilter = new StringBuilder(); List <string> objArgs = new List <string>(); strFilter.Append(" FREELEAVEDAYSETID == @0"); objArgs.Add(strFreeLeaveDaySetId); FreeLeaveDaySetDAL dalFreeLeaveDaySet = new FreeLeaveDaySetDAL(); flag = dalFreeLeaveDaySet.IsExistsRd(strFilter.ToString(), objArgs.ToArray()); if (!flag) { return("{NOTFOUND}"); } T_HR_FREELEAVEDAYSET entDel = dalFreeLeaveDaySet.GetFreeLeaveDaySetRdByMultSearch(strFilter.ToString(), objArgs.ToArray()); dalFreeLeaveDaySet.Delete(entDel); strMsg = "{DELETESUCCESSED}"; } catch (Exception ex) { strMsg = ex.Message.ToString(); } return(strMsg); }
/// <summary> /// 根据主键索引,删除带薪假设置信息(注:暂定为物理删除) /// </summary> /// <param name="strVacationId">主键索引</param> /// <returns></returns> public string DeleteFreeLeaveDaySet(string strFreeLeaveDaySetId) { string strMsg = string.Empty; try { if (string.IsNullOrEmpty(strFreeLeaveDaySetId)) { return("{REQUIREDFIELDS}"); } bool flag = false; StringBuilder strFilter = new StringBuilder(); List <string> objArgs = new List <string>(); strFilter.Append(" FREELEAVEDAYSETID == @0"); objArgs.Add(strFreeLeaveDaySetId); FreeLeaveDaySetDAL dalFreeLeaveDaySet = new FreeLeaveDaySetDAL(); flag = dalFreeLeaveDaySet.IsExistsRd(strFilter.ToString(), objArgs.ToArray()); if (!flag) { return("{NOTFOUND}"); } T_HR_FREELEAVEDAYSET entDel = dalFreeLeaveDaySet.GetFreeLeaveDaySetRdByMultSearch(strFilter.ToString(), objArgs.ToArray()); T_HR_LEAVETYPESET delSet = entDel.T_HR_LEAVETYPESET; dalFreeLeaveDaySet.Delete(entDel); //删除后修改员工带薪假期中的最大天数 if (delSet != null) { var entSet = from ent in dal.GetObjects <T_HR_LEAVETYPESET>() where ent.LEAVETYPESETID == entDel.T_HR_LEAVETYPESET.LEAVETYPESETID select ent; var entFreeSets = from ent in dal.GetObjects <T_HR_FREELEAVEDAYSET>().Include("T_HR_LEAVETYPESET") where ent.T_HR_LEAVETYPESET.LEAVETYPESETID == delSet.LEAVETYPESETID select ent; if (entFreeSets != null) { if (entFreeSets.Count() > 0) { var maxDays = entFreeSets.Max(s => s.LEAVEDAYS); var maxFrees = entFreeSets.ToList().OrderByDescending(s => s.LEAVEDAYS); T_HR_FREELEAVEDAYSET maxFree = maxFrees.FirstOrDefault(); BatchModifyEmployeeFreeLeaveRecords(maxFree, maxFree); } else { //修改为t_hr_leavetypeset中的天数 if (delSet.LEAVETYPEVALUE != (Convert.ToInt32(Common.LeaveTypeValue.AdjustLeave) + 1).ToString() && delSet.LEAVETYPEVALUE != (Convert.ToInt32(Common.LeaveTypeValue.AnnualLeave) + 1).ToString()) { try { DateTime dtNow = DateTime.Now; //格式化为当前年份 //dtNow = DateTime.Parse(dtNow.Year.ToString() + "-01-01"); var ents = from ent in dal.GetObjects <T_HR_EMPLOYEELEVELDAYCOUNT>() where ent.LEAVETYPESETID == delSet.LEAVETYPESETID && ent.EFFICDATE.Value.Year >= dtNow.Year select ent; if (ents.Count() > 0) { foreach (var ent in ents) { ent.REMARK += "原来为:" + ent.DAYS.ToString() + ";修改后重新设置天数:" + entDel.LEAVEDAYS.ToString(); ent.DAYS = delSet.MAXDAYS; dal.UpdateFromContext(ent); } int intResult = dal.SaveContextChanges(); if (intResult > 0) { SMT.Foundation.Log.Tracer.Debug("公共假期类型:" + delSet.LEAVETYPENAME + "修改带薪假天数成功"); } else { SMT.Foundation.Log.Tracer.Debug("公共假期类型:" + delSet.LEAVETYPENAME + "修改带薪假天数失败"); } } } catch (Exception ex) { SMT.Foundation.Log.Tracer.Debug("公共假期类型:" + delSet.LEAVETYPENAME + "修改带薪假天数出现错误:" + ex.ToString()); } } } } } strMsg = "{DELETESUCCESSED}"; } catch (Exception ex) { strMsg = ex.Message.ToString(); } return(strMsg); }