/// <summary> /// 重构签卡记录子表 /// </summary> /// <param name="entAbnormRecordList"></param> /// <returns></returns> private ObservableCollection <T_HR_EMPLOYEESIGNINDETAIL> MakeSignInDetailByAbnormRecord(ObservableCollection <T_HR_EMPLOYEEABNORMRECORD> entAbnormRecordList) { ObservableCollection <T_HR_EMPLOYEESIGNINDETAIL> entSignInDetails = new ObservableCollection <T_HR_EMPLOYEESIGNINDETAIL>(); foreach (T_HR_EMPLOYEEABNORMRECORD item in entAbnormRecordList) { T_HR_EMPLOYEESIGNINDETAIL entTemp = new T_HR_EMPLOYEESIGNINDETAIL(); entTemp.SIGNINDETAILID = System.Guid.NewGuid().ToString().ToUpper(); entTemp.T_HR_EMPLOYEESIGNINRECORD = SignInRecord; entTemp.T_HR_EMPLOYEEABNORMRECORD = item; entTemp.ABNORMALDATE = item.ABNORMALDATE; entTemp.ABNORMCATEGORY = item.ABNORMCATEGORY; entTemp.ATTENDPERIOD = item.ATTENDPERIOD; entTemp.ABNORMALTIME = item.ABNORMALTIME; entTemp.REASONCATEGORY = (Convert.ToInt32(AbnormReasonCategory.DrainPunch) + 1).ToString(); entTemp.DETAILREASON = string.Empty; entTemp.REMARK = string.Empty; //权限控制 entTemp.OWNERCOMPANYID = item.OWNERCOMPANYID; entTemp.OWNERDEPARTMENTID = item.OWNERDEPARTMENTID; entTemp.OWNERPOSTID = item.OWNERPOSTID; entTemp.OWNERID = item.OWNERID; //2010年2月11日, 11:37:35,目前暂未实现登录部分,人员相关数据为假定值 entTemp.CREATEDATE = DateTime.Now; entTemp.CREATEUSERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID; entTemp.UPDATEDATE = System.DateTime.Now; entTemp.UPDATEUSERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID; entTemp.CREATECOMPANYID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID; entTemp.CREATEDEPARTMENTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].DepartmentID; entTemp.CREATEPOSTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].PostID; entSignInDetails.Add(entTemp); } return(entSignInDetails); }
/// <summary> /// 添加签卡记录信息 /// </summary> /// <param name="entity">签卡记录实体</param> /// <param name="entityList">异常信息实体</param> public string EmployeeSignInRecordAdd(T_HR_EMPLOYEESIGNINRECORD entity, List <T_HR_EMPLOYEESIGNINDETAIL> entityList) { string strMsg = string.Empty; try { T_HR_EMPLOYEESIGNINRECORD entSignInRd = new T_HR_EMPLOYEESIGNINRECORD(); Utility.CloneEntity(entity, entSignInRd); dal.AddToContext(entSignInRd); dal.SaveContextChanges(); foreach (T_HR_EMPLOYEESIGNINDETAIL entDetail in entityList) { T_HR_EMPLOYEESIGNINDETAIL entTemp = new T_HR_EMPLOYEESIGNINDETAIL(); Utility.CloneEntity(entDetail, entTemp); if (entDetail.T_HR_EMPLOYEEABNORMRECORD != null) { entTemp.T_HR_EMPLOYEEABNORMRECORDReference.EntityKey = new System.Data.EntityKey("SMT_HRM_EFModelContext.T_HR_EMPLOYEEABNORMRECORD", "ABNORMRECORDID", entDetail.T_HR_EMPLOYEEABNORMRECORD.ABNORMRECORDID); } if (entDetail.T_HR_EMPLOYEESIGNINRECORD != null) { entTemp.T_HR_EMPLOYEESIGNINRECORDReference.EntityKey = new System.Data.EntityKey("SMT_HRM_EFModelContext.T_HR_EMPLOYEESIGNINRECORD", "SIGNINID", entDetail.T_HR_EMPLOYEESIGNINRECORD.SIGNINID); } dal.AddToContext(entTemp); } dal.SaveContextChanges(); strMsg = "{SAVESUCCESSED}"; SaveMyRecord(entSignInRd); } catch (Exception ex) { strMsg = ex.Message;; } return(strMsg); }
public string ModifyEmployeesignindetail(T_HR_EMPLOYEESIGNINDETAIL entTemp) { using (EmployeeSignInDetailBLL bllEmployeeSignInDetail = new EmployeeSignInDetailBLL()) { return bllEmployeeSignInDetail.ModifyEmployeeSignInDetail(entTemp); } }
/// <summary> /// 重构签卡记录子表 /// </summary> /// <param name="entAbnormRecordList"></param> /// <returns></returns> private ObservableCollection<T_HR_EMPLOYEESIGNINDETAIL> MakeSignInDetailByAbnormRecord(ObservableCollection<T_HR_EMPLOYEEABNORMRECORD> entAbnormRecordList) { ObservableCollection<T_HR_EMPLOYEESIGNINDETAIL> entSignInDetails = new ObservableCollection<T_HR_EMPLOYEESIGNINDETAIL>(); foreach (T_HR_EMPLOYEEABNORMRECORD item in entAbnormRecordList) { T_HR_EMPLOYEESIGNINDETAIL entTemp = new T_HR_EMPLOYEESIGNINDETAIL(); entTemp.SIGNINDETAILID = System.Guid.NewGuid().ToString().ToUpper(); entTemp.T_HR_EMPLOYEESIGNINRECORD = SignInRecord; entTemp.T_HR_EMPLOYEEABNORMRECORD = item; entTemp.ABNORMALDATE = item.ABNORMALDATE; entTemp.ABNORMCATEGORY = item.ABNORMCATEGORY; entTemp.ATTENDPERIOD = item.ATTENDPERIOD; entTemp.ABNORMALTIME = item.ABNORMALTIME; entTemp.REASONCATEGORY = (Convert.ToInt32(AbnormReasonCategory.DrainPunch) + 1).ToString(); entTemp.DETAILREASON = string.Empty; entTemp.REMARK = string.Empty; //权限控制 entTemp.OWNERCOMPANYID = item.OWNERCOMPANYID; entTemp.OWNERDEPARTMENTID = item.OWNERDEPARTMENTID; entTemp.OWNERPOSTID = item.OWNERPOSTID; entTemp.OWNERID = item.OWNERID; //2010年2月11日, 11:37:35,目前暂未实现登录部分,人员相关数据为假定值 entTemp.CREATEDATE = DateTime.Now; entTemp.CREATEUSERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID; entTemp.UPDATEDATE = System.DateTime.Now; entTemp.UPDATEUSERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID; entTemp.CREATECOMPANYID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID; entTemp.CREATEDEPARTMENTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].DepartmentID; entTemp.CREATEPOSTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].PostID; entSignInDetails.Add(entTemp); } return entSignInDetails; }
/// <summary> /// 添加签卡记录信息 /// </summary> /// <param name="entity">签卡记录实体</param> /// <param name="entityList">异常信息实体</param> public string EmployeeSignInRecordAdd(T_HR_EMPLOYEESIGNINRECORD entity, List <T_HR_EMPLOYEESIGNINDETAIL> entityList) { string strMsg = string.Empty; T_HR_EMPLOYEESIGNINRECORD entSignInRd = new T_HR_EMPLOYEESIGNINRECORD(); try { if (!string.IsNullOrEmpty(isHuNanHangXingSalary) && isHuNanHangXingSalary != "true") { foreach (T_HR_EMPLOYEESIGNINDETAIL entDetail in entityList) { if (entDetail.REASONCATEGORY == "3") //因公外出 { #region //外出开始时间必须是最近两天(跳过周六周日) DateTime dtNow = DateTime.Now; DateTime dtsartCheck = entDetail.ABNORMALDATE.Value; int step = 0; while (step < 3) { dtsartCheck = dtsartCheck.AddDays(1); if (IsVacationDay(dtsartCheck, entDetail.OWNERCOMPANYID)) { continue; //假期 } else { step = step + 1; } } dtsartCheck = new DateTime(dtsartCheck.Year, dtsartCheck.Month, dtsartCheck.Day).AddDays(1).AddSeconds(-1); if (dtNow > dtsartCheck)//外出时间只能是今天或者明天23:59:59之前 { string msg = entity.EMPLOYEENAME + " " + entDetail.ABNORMALDATE.Value.ToString("yyyy-MM-dd") + "签卡因公外出异常:超出三个工作日系统中将不能提交“因公外出”的签卡申请。"; return(msg); } #endregion } } } var entOld = (from ent in dal.GetObjects <T_HR_EMPLOYEESIGNINRECORD>() where ent.SIGNINID == entity.SIGNINID select ent).FirstOrDefault(); if (entOld == null) { Utility.CloneEntity(entity, entSignInRd); dal.AddToContext(entSignInRd); dal.SaveContextChanges(); } else { return(EmployeeSigninRecordUpdate(entity, entityList)); } foreach (T_HR_EMPLOYEESIGNINDETAIL entDetail in entityList) { T_HR_EMPLOYEESIGNINDETAIL entTemp = new T_HR_EMPLOYEESIGNINDETAIL(); Utility.CloneEntity(entDetail, entTemp); if (entDetail.T_HR_EMPLOYEEABNORMRECORD != null) { entTemp.T_HR_EMPLOYEEABNORMRECORDReference.EntityKey = new System.Data.EntityKey("TM_SaaS_OA_EFModelContext.T_HR_EMPLOYEEABNORMRECORD", "ABNORMRECORDID", entDetail.T_HR_EMPLOYEEABNORMRECORD.ABNORMRECORDID); } if (entDetail.T_HR_EMPLOYEESIGNINRECORD != null) { entTemp.T_HR_EMPLOYEESIGNINRECORDReference.EntityKey = new System.Data.EntityKey("TM_SaaS_OA_EFModelContext.T_HR_EMPLOYEESIGNINRECORD", "SIGNINID", entDetail.T_HR_EMPLOYEESIGNINRECORD.SIGNINID); } dal.AddToContext(entTemp); } dal.SaveContextChanges(); strMsg = "{SAVESUCCESSED}"; SaveMyRecord(entSignInRd); } catch (Exception ex) { strMsg = ex.Message; Tracer.Debug(ex.ToString()); throw ex; } return(strMsg); }