/// <summary> /// 新增员工合同信息 /// </summary> /// <param name="personnelContract">员工合同数据集</param> /// <param name="error">错误信息</param> /// <returns>成功返回True失败返回false</returns> public bool AddPersonnelContract(HR_PersonnelLaborContract personnelContract, out string error) { error = ""; try { DepotManagementDataContext datatContxt = CommentParameter.DepotDataContext; var result = from a in datatContxt.HR_PersonnelLaborContract where a.WorkID == personnelContract.WorkID && a.LaborContractTempletID == personnelContract.LaborContractTempletID select a; if (result.Count() > 0) { error = "【" + personnelContract.WorkID + "】员工,已签订同种版本的合同!"; return(false); } datatContxt.HR_PersonnelLaborContract.InsertOnSubmit(personnelContract); datatContxt.SubmitChanges(); return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 初始员工合同的数据集 /// </summary> /// <returns>员工合同</returns> HR_PersonnelLaborContract GetPersonnelContract() { string[] s = txtTemplet.Text.Split(' '); HR_PersonnelLaborContract personnelContract = new HR_PersonnelLaborContract(); personnelContract.WorkID = txtProposer.Tag.ToString(); personnelContract.LaborContractTempletID = Convert.ToInt32(txtTemplet.Tag); personnelContract.LaborContractStatusID = m_laborServer.GetContractStatusByName(cmbStatus.Text); personnelContract.Recorder = BasicInfo.LoginID; personnelContract.RecordTime = ServerTime.Time; personnelContract.Remark = txtRemark.Text; personnelContract.BeginTime = dtpBeginTime.Value; personnelContract.EndTime = dtpEndTime.Value; return(personnelContract); }
public bool UpdatePersonnelContract(string workID, DateTime date) { try { DepotManagementDataContext datatContxt = CommentParameter.DepotDataContext; var result = from a in datatContxt.HR_PersonnelLaborContract where a.WorkID == workID && (a.LaborContractTempletID == 1 || a.LaborContractTempletID == 3) select a; if (result.Count() == 1) { HR_PersonnelLaborContract laborContract = result.Single(); if (date < laborContract.EndTime) { laborContract.LaborContractStatusID = 8; } else { laborContract.LaborContractStatusID = 7; } } var resultList = from a in datatContxt.HR_PersonnelLaborContract where a.WorkID == workID && (a.LaborContractTempletID == 2) select a; if (resultList.Count() == 1) { HR_PersonnelLaborContract laborContract = resultList.Single(); laborContract.LaborContractStatusID = 6; } datatContxt.SubmitChanges(); return(true); } catch (Exception) { return(false); } }
/// <summary> /// 修改员工合同信息 /// </summary> /// <param name="personnelContractOld">员工原始合同数据集</param> /// <param name="personnelContractNew">员工新合同数据集</param> /// <param name="flag">状态标志</param> /// <param name="billNo">合同编号</param> /// <param name="error">错误信息</param> /// <returns>成功返回True失败返回false</returns> public bool UpdatePersonnelContract(HR_PersonnelLaborContractHistory personnelContractOld, HR_PersonnelLaborContract personnelContractNew, bool flag, int billNo, out string error) { error = ""; try { DepotManagementDataContext datatContxt = CommentParameter.DepotDataContext; var result = from a in datatContxt.HR_PersonnelLaborContract where a.WorkID == personnelContractNew.WorkID && a.ID == billNo select a; if (result.Count() == 0) { error = "【" + personnelContractNew.WorkID + "】员工,还没有此合同,请点击【添加】!"; return(false); } HR_PersonnelLaborContract personnelLabor = result.Single(); personnelLabor.BeginTime = personnelContractNew.BeginTime; personnelLabor.EndTime = personnelContractNew.EndTime; personnelLabor.LaborContractStatusID = personnelContractNew.LaborContractStatusID; personnelLabor.LaborContractTempletID = personnelContractNew.LaborContractTempletID; personnelLabor.Recorder = BasicInfo.LoginID; personnelLabor.RecordTime = ServerTime.Time; personnelLabor.Remark = personnelContractNew.Remark; datatContxt.HR_PersonnelLaborContractHistory.InsertOnSubmit(personnelContractOld); //if (flag) //{ // var resultList = from c in datatContxt.HR_PersonnelArchive // where c.WorkID == personnelLabor.WorkID // select c; // if (resultList.Count() > 0) // { // HR_PersonnelArchiveChange personnelChange = new HR_PersonnelArchiveChange(); // HR_PersonnelArchive personnel = resultList.Single(); // personnelChange.WorkID = personnel.WorkID; // personnelChange.Name = personnel.Name; // personnelChange.WorkPost = new OperatingPostServer().GetOperatingPostByPostCode(personnel.WorkPost); // personnelChange.JobTitle = new JobTitleServer().GetJobTitleByJobID(personnel.JobTitleID); // personnelChange.JoinDate = Convert.ToDateTime(personnel.JoinDate); // personnelChange.GraduationYear = personnel.GraduationYear; // personnelChange.BecomeRegularEmployeeDate = personnel.BecomeRegularEmployeeDate; // personnelChange.Sex = personnel.Sex; // personnelChange.DeptName = new OrganizationServer().GetDeptByDeptCode(personnel.Dept).部门名称; // personnelChange.Dept = personnel.Dept; // personnelChange.Birthday = personnel.Birthday; // personnelChange.Nationality = personnel.Nationality; // personnelChange.Race = personnel.Race; // personnelChange.Birthplace = personnel.Birthplace; // personnelChange.Party = personnel.Party; // personnelChange.ID_Card = personnel.ID_Card; // personnelChange.College = personnel.College; // personnelChange.EducatedDegree = personnel.EducatedDegree; // personnelChange.EducatedMajor = personnel.EducatedMajor; // personnelChange.FamilyAddress = personnel.FamilyAddress; // personnelChange.PostCode = personnel.PostCode; // personnelChange.Phone = personnel.Phone; // personnelChange.Speciality = personnel.Speciality; // personnelChange.MobilePhone = personnel.MobilePhone; // personnelChange.TrainingAmount = personnel.TrainingAmount; // personnelChange.ChangePostAmount = personnel.ChangePostAmount; // personnelChange.Bank = personnel.Bank; // personnelChange.BankAccount = personnel.BankAccount; // personnelChange.QQ = personnel.QQ; // personnelChange.Email = personnel.Email; // personnelChange.Hobby = personnel.Hobby; // personnelChange.SocietySecurityNumber = personnel.SocietySecurityNumber; // personnelChange.MaritalStatus = personnel.MaritalStatus; // personnelChange.LengthOfSchooling = personnel.LengthOfSchooling; // personnelChange.JobNature = personnel.JobNature; // personnelChange.PersonnelStatus = "在职"; // personnelChange.ArchivePosition = personnel.ArchivePosition; // personnelChange.TakeJobDate = personnel.TakeJobDate; // if (personnel.Photo != null) // { // personnelChange.Photo = personnel.Photo; // } // if (personnel.Annex != null) // { // personnelChange.Annex = personnel.Annex; // personnelChange.AnnexName = personnel.AnnexName; // } // if (personnel.ResumeID != 0) // { // personnelChange.ResumeID = personnel.ResumeID; // } // personnelChange.Remark = personnel.Remark; // personnelChange.ChangerCode = BasicInfo.LoginID; // personnelChange.ChangeTime = ServerTime.Time; // personnel.PersonnelStatus = 3; // personnel.DimissionDate = personnelContractNew.EndTime; // if (!new PersonnelArchiveServer().UpdatePersonnelArchive(personnelChange, personnel, out error)) // { // error = "信息有误,请检查!"; // return false; // } // } //} datatContxt.SubmitChanges(); return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 新增或修改员工离职申请信息 /// </summary> /// <param name="dimission">员工离职数据集</param> /// <param name="type">进行步骤(提交申请/部门负责人审批/人力资源部审批/分管领导审批/总经理批准)</param> /// <param name="error">错误信息</param> /// <returns>返回单据编号,失败返回0</returns> public string AddAndUpdateDimission(HR_DimissionBill dimission, string type, out string error) { error = ""; try { DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext; var result = from a in dataContxt.HR_DimissionBill where a.WorkID == dimission.WorkID && a.Date.Month == dimission.Date.Month && a.Date.Day == dimission.Date.Day select a; switch (type) { case "提交申请": if (result.Count() > 0) { error = "不能重复提交离职申请!"; return("0"); } dataContxt.HR_DimissionBill.InsertOnSubmit(dimission); break; case "部门负责人审批": if (result.Count() == 1) { HR_DimissionBill dimiList = result.Single(); dimiList.DeptAuthorize = dimission.DeptAuthorize; dimiList.DeptOpinion = dimission.DeptOpinion; dimiList.DeptSignature = dimission.DeptSignature; dimiList.DeptSignatureDate = dimission.DeptSignatureDate; dimiList.AllowDimissionDate = dimission.AllowDimissionDate; if (!dimission.DeptAuthorize) { dimiList.BillStatus = DimissionBillStatus.已完成.ToString(); } else { dimiList.BillStatus = DimissionBillStatus.等待人力资源审阅.ToString(); } } break; case "人力资源部审批": if (result.Count() == 1) { HR_DimissionBill dimiList = result.Single(); dimiList.HR_Opinion = dimission.HR_Opinion; dimiList.HR_Signature = dimission.HR_Signature; dimiList.HR_SignatureDate = dimission.HR_SignatureDate; dimiList.BillStatus = DimissionBillStatus.等待分管领导审核.ToString(); } break; case "分管领导审批": if (result.Count() == 1) { HR_DimissionBill dimiList = result.Single(); dimiList.LeaderAuthorize = dimission.LeaderAuthorize; dimiList.LeaderOpinion = dimission.LeaderOpinion; dimiList.LeaderSignature = dimission.LeaderSignature; dimiList.LeaderSignatureDate = dimission.LeaderSignatureDate; if (!dimission.LeaderAuthorize) { dimiList.BillStatus = DimissionBillStatus.已完成.ToString(); } else { dimiList.BillStatus = DimissionBillStatus.等待总经理批准.ToString(); } } break; case "总经理批准": if (result.Count() == 1) { HR_DimissionBill dimiList = result.Single(); dimiList.GM_Authorize = dimission.GM_Authorize; dimiList.GM_Opinion = dimission.GM_Opinion; dimiList.GM_Signature = dimission.GM_Signature; dimiList.GM_SignatureDate = dimission.GM_SignatureDate; dimiList.BillStatus = DimissionBillStatus.已完成.ToString(); if (dimission.GM_Authorize) { if (!new OperatingPostServer().UpdateLessDeptPost(dimiList.Dept, new OperatingPostServer().GetOperatingPostByPostName(dimiList.WorkPost).岗位编号, out error)) { error = "信息有误!"; return("0"); } var resultManager = from c in dataContxt.HR_DeptManager where c.ManagerWorkID == dimission.WorkID select c; if (resultManager.Count() > 0) { dataContxt.HR_DeptManager.DeleteAllOnSubmit(resultManager); } var resultStatus = from e in dataContxt.HR_PersonnelArchive where e.WorkID == dimission.WorkID select e; if (resultStatus.Count() > 0) { HR_PersonnelArchive personnel = resultStatus.Single(); personnel.PersonnelStatus = 3; personnel.Remark = dimiList.AllowDimissionDate + "离职"; } var resultLaborTemp = from j in dataContxt.View_HR_PersonnelLaborContract where j.员工编号 == dimission.WorkID && j.类别 == "合同类" select j; if (resultLaborTemp.Count() > 0) { int billID = resultLaborTemp.Single().编号; var resultLabor = from j in dataContxt.HR_PersonnelLaborContract where j.ID == billID select j; HR_PersonnelLaborContract labor = resultLabor.Single(); if (resultLabor.Single().EndTime > dimission.AllowDimissionDate) { labor.LaborContractStatusID = 8; } else { labor.LaborContractStatusID = 7; } } } } break; default: break; } dataContxt.SubmitChanges(); var resultList = from a in dataContxt.HR_DimissionBill where a.WorkID == dimission.WorkID && a.Date == dimission.Date && a.Reason == dimission.Reason select a; if (resultList.Count() > 0) { return(resultList.Single().ID.ToString()); } else { error = "未知编号!"; return("0"); } } catch (Exception ex) { error = ex.Message; return("0"); } }