void EmployeeContractForm_Loaded(object sender, RoutedEventArgs e) { if (FormType == FormTypes.New) { falseRabtn.IsChecked = true; EmployeeContract = new T_HR_EMPLOYEECONTRACT(); employeeContractIsSet = false; EmployeeContract.EMPLOYEECONTACTID = Guid.NewGuid().ToString(); EmployeeContract.CREATEUSERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID; EmployeeContract.CREATEDATE = DateTime.Now; employeeContract.CHECKSTATE = Convert.ToInt32(CheckStates.UnSubmit).ToString(); createUserName = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeName; //ctrFile.Load_fileData(EmployeeContract.EMPLOYEECONTACTID); SetToolBar(); Utility.InitFileLoad("EmployeeContract", EmployeeContract.EMPLOYEECONTACTID, FormType, uploadFile); } else { if (falseRabtn.IsChecked == true) { nudDay.IsEnabled = true; } // nudDay.Value = 0; //nudDay.IsEnabled = false; employeeContractIsSet = false; lkEmployeeName.IsEnabled = false; RefreshUI(RefreshedTypes.ShowProgressBar); Utility.InitFileLoad("EmployeeContract", contractID, FormType, uploadFile); client.GetEmployeeContractByIDAsync(contractID); } //ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("ERROR"), FormType.ToString(), // Utility.GetResourceStr("CONFIRM"), MessageIcon.Error); }
void btnEdit_Click(object sender, RoutedEventArgs e) { if (DtGrid.SelectedItems.Count > 0) { T_HR_EMPLOYEECONTRACT tempEnt = DtGrid.SelectedItems[0] as T_HR_EMPLOYEECONTRACT; //if (!SMT.SaaS.FrameworkUI.Common.Utility.ToolBarButtonOperationPermission(tempEnt, "T_HR_EMPLOYEECONTRACT", SMT.SaaS.FrameworkUI.OperationType.Edit, SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID)) //{ // ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("CAUTION"), Utility.GetResourceStr("NOEDITPERMISSION"), // Utility.GetResourceStr("CONFIRM"), MessageIcon.Exclamation); // return; //} EmployeeContractForm form = new EmployeeContractForm(FormTypes.Edit, tempEnt.EMPLOYEECONTACTID); EntityBrowser browser = new EntityBrowser(form); browser.FormType = FormTypes.Edit; form.MinHeight = 450; browser.ReloadDataEvent += new EntityBrowser.refreshGridView(browser_ReloadDataEvent); browser.Show <string>(DialogMode.Default, SMT.SAAS.Main.CurrentContext.Common.ParentLayoutRoot, "", (result) => { }); } else { //ComfirmWindow.ConfirmationBox(Utility.GetResourceStr("CONFIRMINFO"), Utility.GetResourceStr("SELECTDATAALERT"), Utility.GetResourceStr("CONFIRMBUTTON")); ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("CONFIRMINFO"), Utility.GetResourceStr("SELECTERROR", "EDIT"), Utility.GetResourceStr("CONFIRM"), MessageIcon.Exclamation); } }
private string GetXmlString(string StrSource, T_HR_EMPLOYEECONTRACT Info) { SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY ownerCompany = (Application.Current.Resources["SYS_CompanyInfo"] as List <SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY>).Where(s => s.COMPANYID == Info.OWNERCOMPANYID).FirstOrDefault(); SMT.Saas.Tools.OrganizationWS.T_HR_DEPARTMENT ownerDepartment = (Application.Current.Resources["SYS_DepartmentInfo"] as List <SMT.Saas.Tools.OrganizationWS.T_HR_DEPARTMENT>).Where(s => s.DEPARTMENTID == Info.OWNERDEPARTMENTID).FirstOrDefault(); SMT.Saas.Tools.OrganizationWS.T_HR_POST ownerPost = (Application.Current.Resources["SYS_PostInfo"] as List <SMT.Saas.Tools.OrganizationWS.T_HR_POST>).Where(s => s.POSTID == Info.OWNERPOSTID).FirstOrDefault(); string ownerCompanyName = string.Empty; string ownerDepartmentName = string.Empty; string ownerPostName = string.Empty; if (ownerCompany != null) { ownerCompanyName = ownerCompany.CNAME; } if (ownerDepartment != null) { ownerDepartmentName = ownerDepartment.T_HR_DEPARTMENTDICTIONARY == null ? "" : ownerDepartment.T_HR_DEPARTMENTDICTIONARY.DEPARTMENTNAME; } if (ownerPost != null) { ownerPostName = ownerPost.T_HR_POSTDICTIONARY == null ? "" : ownerPost.T_HR_POSTDICTIONARY.POSTNAME; } decimal?stateValue = Convert.ToDecimal("1"); string checkState = string.Empty; SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY checkStateDict = (Application.Current.Resources["SYS_DICTIONARY"] as List <SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY>).Where(s => s.DICTIONCATEGORY == "CHECKSTATE" && s.DICTIONARYVALUE == stateValue).FirstOrDefault(); checkState = checkStateDict == null ? "" : checkStateDict.DICTIONARYNAME; //string postLevelName = string.Empty; //SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY postLevelDict = (Application.Current.Resources["SYS_DICTIONARY"] as List<SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY>).Where(s => s.DICTIONCATEGORY == "POSTLEVLE" && s.DICTIONARYVALUE == employeepost.POSTLEVEL).FirstOrDefault(); //postLevelName = postLevelDict == null ? "" : postLevelDict.DICTIONARYNAME; SMT.SaaS.MobileXml.MobileXml mx = new SMT.SaaS.MobileXml.MobileXml(); List <SMT.SaaS.MobileXml.AutoDictionary> AutoList = new List <SMT.SaaS.MobileXml.AutoDictionary>(); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "CHECKSTATE", "1", checkState)); //AutoList.Add(basedata("T_OA_APPROVALINFO", "OWNERCOMPANYID", approvalInfo.OWNERCOMPANYID, StrCompanyName)); //AutoList.Add(basedata("T_OA_APPROVALINFO", "OWNERDEPARTMENTID", approvalInfo.OWNERDEPARTMENTID, StrDepartmentName)); //AutoList.Add(basedata("T_OA_APPROVALINFO", "OWNERPOSTID", approvalInfo.OWNERPOSTID, StrPostName)); //AutoList.Add(basedata("T_OA_APPROVALINFO", "TYPEAPPROVAL", approvalInfo.TYPEAPPROVAL, StrApprovalTypeName)); //AutoList.Add(basedata("T_OA_APPROVALINFO", "CONTENT", approvalInfo.APPROVALID, approvalInfo.APPROVALID)); //AutoList.Add(basedata("T_OA_APPROVALINFO", "AttachMent", approvalInfo.APPROVALID, approvalInfo.APPROVALID)); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "EMPLOYEEID", Info.T_HR_EMPLOYEE.EMPLOYEEID, Info.T_HR_EMPLOYEE.EMPLOYEECNAME)); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "POSTLEVEL", EmployeePost.POSTLEVEL.ToString(), EmployeePost.POSTLEVEL.ToString())); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "EMPLOYEECNAME", Info.T_HR_EMPLOYEE.EMPLOYEECNAME, Info.T_HR_EMPLOYEE.EMPLOYEECNAME)); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "OWNER", Info.T_HR_EMPLOYEE.EMPLOYEECNAME, Info.T_HR_EMPLOYEE.EMPLOYEECNAME)); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "CREATEUSERNAME", createUserName, createUserName)); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "AttachMent", Info.EMPLOYEECONTACTID, Info.EMPLOYEECONTACTID)); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "OWNERCOMPANYID", Info.OWNERCOMPANYID, ownerCompanyName)); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "OWNERDEPARTMENTID", Info.OWNERDEPARTMENTID, ownerDepartmentName)); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "OWNERPOSTID", Info.OWNERPOSTID, ownerPostName)); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "NOENDDATE", Info.NOENDDATE, Info.NOENDDATE == "0"?"否":"是")); string a = mx.TableToXml(Info, null, StrSource, AutoList); return(a); }
void client_GetEmployeeContractByIDCompleted(object sender, GetEmployeeContractByIDCompletedEventArgs e) { if (e.Error != null && e.Error.Message != "") { ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("ERRORINFO"), Utility.GetResourceStr("CONFIRM"), MessageIcon.Error); RefreshUI(RefreshedTypes.HideProgressBar); } else { if (e.Result == null) { ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("NOTFOUND"), Utility.GetResourceStr("CONFIRM"), MessageIcon.Error); RefreshUI(RefreshedTypes.HideProgressBar); return; } EmployeeContract = e.Result; if (e.Result.CHECKSTATE != Convert.ToInt32(CheckStates.UnSubmit).ToString()) { EnabledControl(); } //ctrFile.Load_fileData(EmployeeContract.EMPLOYEECONTACTID); //if(employeeContract.CHECKSTATE ) if (!string.IsNullOrEmpty(EmployeeContract.CREATEUSERID)) { if (EmployeeContract.CHECKSTATE == Convert.ToInt32(CheckStates.Approved).ToString() || EmployeeContract.CHECKSTATE == Convert.ToInt32(CheckStates.UnApproved).ToString()) { RefreshUI(RefreshedTypes.AuditInfo); SetToolBar(); RefreshUI(RefreshedTypes.HideProgressBar); } else { System.Collections.ObjectModel.ObservableCollection <string> CreateUserIDs = new System.Collections.ObjectModel.ObservableCollection <string>(); CreateUserIDs.Add(EmployeeContract.CREATEUSERID); client.GetEmployeeToEngineAsync(CreateUserIDs); } } else { EmployeeContract.CREATEUSERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID; createUserName = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeName; RefreshUI(RefreshedTypes.AuditInfo); SetToolBar(); RefreshUI(RefreshedTypes.HideProgressBar); } } }
void btnAudit_Click(object sender, RoutedEventArgs e) { if (DtGrid.SelectedItems.Count > 0) { T_HR_EMPLOYEECONTRACT temp = DtGrid.SelectedItems[0] as T_HR_EMPLOYEECONTRACT; EmployeeContractForm form = new EmployeeContractForm(FormTypes.Audit, temp.EMPLOYEECONTACTID); EntityBrowser browser = new EntityBrowser(form); browser.FormType = FormTypes.Audit; form.MinHeight = 450; browser.ReloadDataEvent += new EntityBrowser.refreshGridView(browser_ReloadDataEvent); browser.Show <string>(DialogMode.Default, SMT.SAAS.Main.CurrentContext.Common.ParentLayoutRoot, "", (result) => { }); } else { //ComfirmWindow.ConfirmationBox(Utility.GetResourceStr("CONFIRMINFO"), Utility.GetResourceStr("SELECTDATAALERT"), Utility.GetResourceStr("CONFIRMBUTTON")); ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("CONFIRMINFO"), Utility.GetResourceStr("SELECTERROR", "AUDIT"), Utility.GetResourceStr("CONFIRM"), MessageIcon.Exclamation); } }
public void EmployeeContractAlarm(T_HR_EMPLOYEECONTRACT entity) { using (EmployeeContractBLL bll = new EmployeeContractBLL()) { bll.EmployeeContractAlarm(entity); } }
public void GetEmployeeContractEngineXml(T_HR_EMPLOYEECONTRACT entity) { using (EmployeeContractBLL bll = new EmployeeContractBLL()) { bll.GetEmployeeContractEngineXml(entity); } }
//public void EmployeeContractAdd(T_HR_EMPLOYEECONTRACT entity, UploadFileModel uploadFile) //{ // string strPath; // EmployeeContractBLL bll = new EmployeeContractBLL(); // SaveFile(uploadFile, out strPath); // strPath = HttpContext.Current.Server.MapPath(strPath); // entity.ATTACHMENTPATH = strPath; // bll.EmployeeContractAdd(entity); //} public void EmployeeContractAdd(T_HR_EMPLOYEECONTRACT entity, ref string strMsg) { using (EmployeeContractBLL bll = new EmployeeContractBLL()) { bll.EmployeeContractAdd(entity, ref strMsg); } }
/// <summary> /// 合同到期提醒 /// </summary> /// <param name="eGFunc"></param> private void EmployeeContractRemindTrigger(IEnumerable <XElement> eGFunc) { try { SMT.Foundation.Log.Tracer.Debug("员工合同到期开始"); if (eGFunc.Count() == 0) { return; } string strId = string.Empty; foreach (var item in eGFunc) { if (item.Attribute("Name").Value == "EMPLOYEECONTACTID") { strId = item.Attribute("Value").Value; break; } } PersonnelService svcPersonnel = new PersonnelService(); T_HR_EMPLOYEECONTRACT entry = svcPersonnel.GetEmployeeContractByID(strId); if (entry != null) { if (entry.T_HR_EMPLOYEE != null && entry.T_HR_EMPLOYEE.EMPLOYEESTATE != "2") { string strMsg = ""; T_HR_EMPLOYEECONTRACT employeeContract = new T_HR_EMPLOYEECONTRACT(); employeeContract.EMPLOYEECONTACTID = Guid.NewGuid().ToString(); employeeContract.T_HR_EMPLOYEE = new T_HR_EMPLOYEE(); employeeContract.T_HR_EMPLOYEE.EMPLOYEEID = entry.T_HR_EMPLOYEE.EMPLOYEEID; employeeContract.FROMDATE = entry.FROMDATE; employeeContract.TODATE = entry.TODATE; employeeContract.ENDDATE = entry.ENDDATE; employeeContract.CONTACTPERIOD = entry.CONTACTPERIOD; employeeContract.CONTACTCODE = entry.CONTACTCODE; employeeContract.ATTACHMENT = entry.ATTACHMENT; employeeContract.ATTACHMENTPATH = entry.ATTACHMENTPATH; employeeContract.ALARMDAY = entry.ALARMDAY; employeeContract.CHECKSTATE = "0"; employeeContract.EDITSTATE = "0"; employeeContract.ISSPECIALCONTRACT = entry.ISSPECIALCONTRACT; employeeContract.REASON = entry.REASON; employeeContract.REMARK = entry.REMARK; employeeContract.OWNERID = entry.OWNERID; employeeContract.OWNERPOSTID = entry.OWNERPOSTID; employeeContract.OWNERDEPARTMENTID = entry.OWNERDEPARTMENTID; employeeContract.OWNERCOMPANYID = entry.OWNERCOMPANYID; employeeContract.CREATECOMPANYID = entry.CREATECOMPANYID; employeeContract.CREATEDATE = System.DateTime.Now; employeeContract.CREATEUSERID = entry.CREATEUSERID; employeeContract.CREATEPOSTID = entry.CREATEPOSTID; employeeContract.CREATEDEPARTMENTID = entry.CREATEDEPARTMENTID; employeeContract.CREATECOMPANYID = entry.CREATECOMPANYID; employeeContract.UPDATEUSERID = entry.UPDATEUSERID; employeeContract.UPDATEDATE = entry.UPDATEDATE; //获取附件问题 //SMT.SaaS.BLLCommonServices PermClient = new SMT.SaaS.BLLCommonServices.PermissionWS.PermissionServiceClient(); svcPersonnel.EmployeeContractAdd(employeeContract, ref strMsg); svcPersonnel.EmployeeContractAlarm(employeeContract); } else { var EmployeeEnt = entry.T_HR_EMPLOYEE; SMT.Foundation.Log.Tracer.Debug("员工" + EmployeeEnt.EMPLOYEEID + "的在EMPLOYEESTATE:" + EmployeeEnt.EMPLOYEESTATE + ",不自动生成合同。"); } } else { SMT.Foundation.Log.Tracer.Debug("员工合同到期没有获取到合同信息"); } } catch (Exception ex) { SMT.Foundation.Log.Tracer.Debug("员工合同到期提醒出现错误:" + ex.ToString()); } }
/// <summary> /// 更新离职确认 /// </summary> /// <param name="entity">离职申请记录实体</param> public void LeftOfficeConfirmUpdate(T_HR_LEFTOFFICECONFIRM entity) { try { //根据离职确认ID查询离职确认表 T_HR_LEFTOFFICECONFIRM ent = (from c in dal.GetObjects <T_HR_LEFTOFFICECONFIRM>().Include("T_HR_LEFTOFFICE").Include("T_HR_LEFTOFFICE.T_HR_EMPLOYEE").Include("T_HR_LEFTOFFICE.T_HR_EMPLOYEEPOST").Include("T_HR_LEFTOFFICE.T_HR_EMPLOYEEPOST.T_HR_POST") where c.CONFIRMID == entity.CONFIRMID select c).FirstOrDefault(); if (ent != null) { //更新离职确认状态 dal.UpdateCheckState("T_HR_LEFTOFFICECONFIRM", "CONFIRMID", entity.CONFIRMID, entity.CHECKSTATE); SMT.Foundation.Log.Tracer.Debug(System.DateTime.Now.ToString() + " LeftOfficeConfirmUpdate:" + "1231231"); #region 审核通过 if (entity.CHECKSTATE == Convert.ToInt32(CheckStates.Approved).ToString()) { //根据员工岗位ID查询员工岗位表 var employeepost = from ep in dal.GetObjects <T_HR_EMPLOYEEPOST>() where ep.EMPLOYEEPOSTID == ent.EMPLOYEEPOSTID select ep; if (employeepost.Count() > 0) { //根据员工ID查询员工基本信息表 var employee = (from c in dal.GetObjects <T_HR_EMPLOYEE>() where c.EMPLOYEEID == ent.EMPLOYEEID select c).FirstOrDefault(); //是否代理:0非代理,1代理岗位 if (employeepost.FirstOrDefault().ISAGENCY == "0") { //更新员工状态为离职 //string strMsg = ""; //EmployeeBLL bll = new EmployeeBLL(); //T_HR_EMPLOYEE empoyee = ent.T_HR_LEFTOFFICE.T_HR_EMPLOYEE; //empoyee.EMPLOYEESTATE = "2"; //bll.EmployeeUpdate(empoyee, ref strMsg); #region 修改员工基本信息表 if (employee != null) { //员工状态:0试用 1在职 2已离职 3离职中 employee.EMPLOYEESTATE = "2"; //更新员工基本信息表 dal.UpdateFromContext(employee); dal.SaveContextChanges(); } #endregion #region 修改岗位状态 //根据员工ID查询员工岗位表 var employeeallposts = from epall in dal.GetObjects <T_HR_EMPLOYEEPOST>() where epall.EDITSTATE == "1" && epall.T_HR_EMPLOYEE.EMPLOYEEID == ent.EMPLOYEEID select epall; if (employeeallposts.Count() > 0) { foreach (var item in employeeallposts) { //if (item.ISAGENCY == "0") //{ // item.EDITSTATE = "0"; // dal.UpdateFromContext(item); //} //else //{ // dal.DeleteFromContext(item); //} //编辑状态:0未生效,1生效中 item.EDITSTATE = "0"; //更新员工岗位表 dal.UpdateFromContext(item); } dal.SaveContextChanges(); } #endregion #region 添加异动记录 //根据岗位ID连表查询岗位表和部门表 var tmpInfo = from c in dal.GetObjects <T_HR_POST>() join b in dal.GetObjects <T_HR_DEPARTMENT>() on c.T_HR_DEPARTMENT.DEPARTMENTID equals b.DEPARTMENTID where c.POSTID == employeepost.FirstOrDefault().T_HR_POST.POSTID select new { c.POSTID, b.DEPARTMENTID, b.T_HR_COMPANY.COMPANYID }; //by luojie EmployeePostBLL epostBll = new EmployeePostBLL(); T_HR_EMPLOYEEPOST emppost = (from ep in dal.GetObjects <T_HR_EMPLOYEEPOST>() where ep.EMPLOYEEPOSTID == ent.EMPLOYEEPOSTID select ep).FirstOrDefault(); emppost.CHECKSTATE = Convert.ToInt32(CheckStates.Approved).ToString(); emppost.EDITSTATE = Convert.ToInt32(EditStates.UnActived).ToString(); epostBll.EmployeePostUpdate(emppost); EmployeePostChangeBLL epchangeBLL = new EmployeePostChangeBLL(); T_HR_EMPLOYEEPOSTCHANGE postChange = new T_HR_EMPLOYEEPOSTCHANGE(); postChange = new T_HR_EMPLOYEEPOSTCHANGE(); postChange.T_HR_EMPLOYEE = new T_HR_EMPLOYEE(); postChange.T_HR_EMPLOYEE.EMPLOYEEID = employee.EMPLOYEEID; postChange.EMPLOYEECODE = employee.EMPLOYEECODE; postChange.EMPLOYEENAME = employee.EMPLOYEECNAME; postChange.POSTCHANGEID = Guid.NewGuid().ToString(); postChange.CHECKSTATE = Convert.ToInt32(CheckStates.Approved).ToString(); postChange.ISAGENCY = "0"; postChange.POSTCHANGCATEGORY = "3"; if (tmpInfo.Count() > 0) { postChange.FROMCOMPANYID = tmpInfo.FirstOrDefault().COMPANYID; postChange.FROMDEPARTMENTID = tmpInfo.FirstOrDefault().DEPARTMENTID; postChange.FROMPOSTID = tmpInfo.FirstOrDefault().POSTID; postChange.OWNERCOMPANYID = tmpInfo.FirstOrDefault().COMPANYID; postChange.OWNERDEPARTMENTID = tmpInfo.FirstOrDefault().DEPARTMENTID; postChange.OWNERPOSTID = tmpInfo.FirstOrDefault().POSTID; } postChange.OWNERID = ent.EMPLOYEEID; postChange.POSTCHANGREASON = ent.LEFTOFFICEREASON; postChange.CHANGEDATE = ent.LEFTOFFICEDATE.ToString(); postChange.CREATEUSERID = ent.CREATEUSERID; string Msg = string.Empty; epchangeBLL.EmployeePostChangeAdd(postChange, ref Msg); #endregion #region 修改社保为无效 PensionMasterBLL penbll = new PensionMasterBLL(); T_HR_PENSIONMASTER pension = penbll.GetPensionMasterByEmployeeID(ent.EMPLOYEEID); if (pension != null) { pension.ISVALID = "0"; penbll.PensionMasterUpdate(pension); } #endregion #region 修改员工薪资档案 //-by luojie 20120910 try { //根据employid查薪资档案。 var salaryArchive = from sa in dal.GetObjects <T_HR_SALARYARCHIVE>() where sa.EMPLOYEEID == entity.EMPLOYEEID && sa.CHECKSTATE == "2" && sa.EDITSTATE == "1" select sa; SalaryArchiveBLL salaryArchiveBll = new SalaryArchiveBLL(); if (salaryArchive != null) { foreach (var sa in salaryArchive.ToList()) { sa.EDITSTATE = "0";// EditStates.UnActived.ToString(); sa.UPDATEDATE = System.DateTime.Now; salaryArchiveBll.Update(sa); SMT.Foundation.Log.Tracer.Debug(System.DateTime.Now.ToString() + "LeftOfficeConfirmBll-LeftOfficeConfirmUpdate-薪资档案修改成功:" + sa.SALARYARCHIVEID); } } else { SMT.Foundation.Log.Tracer.Debug(System.DateTime.Now.ToString() + "LeftOfficeConfirmBll-LeftOfficeConfirmUpdate-没有可用薪资档案,未修改"); } } catch (Exception ex) { SMT.Foundation.Log.Tracer.Debug(System.DateTime.Now.ToString() + "LeftOfficeConfirmBll-LeftOfficeConfirmUpdate:" + ex.ToString()); } #endregion #region 合同终止 EmployeeContractBLL conbll = new EmployeeContractBLL(); T_HR_EMPLOYEECONTRACT contract = conbll.GetEmployeeContractByEmployeeID(ent.EMPLOYEEID); if (contract != null) { contract.ENDDATE = ent.LEFTOFFICEDATE; contract.EDITSTATE = "0"; conbll.EmployeeContractUpdate(contract); } #endregion #region 除员工合同到期提醒的定时触发 List <T_HR_EMPLOYEECONTRACT> contractList = conbll.GetListEmpContractByEmpID(ent.EMPLOYEEID); if (contractList != null && contractList.Count > 0) { contractList.ForEach(it => { Utility.DeleteTrigger("T_HR_EMPLOYEECONTRACT", it.EMPLOYEECONTACTID); }); } #endregion #region 入职信息设为无效 //根据员工ID查询员工入职表 var employeeEntrys = from c in dal.GetObjects <T_HR_EMPLOYEEENTRY>() where c.T_HR_EMPLOYEE.EMPLOYEEID == ent.EMPLOYEEID && c.EDITSTATE != "2" select c; if (employeeEntrys.Count() > 0) { foreach (var entEntry in employeeEntrys) { //编辑状态 entEntry.EDITSTATE = "2"; //更新员工入职表 dal.UpdateFromContext(entEntry); } dal.SaveContextChanges(); } #endregion #region 人员离职后服务同步 weirui 2012-7-10 try { T_HR_EMPLOYEECHANGEHISTORY employeeEntity = new T_HR_EMPLOYEECHANGEHISTORY(); employeeEntity.RECORDID = Guid.NewGuid().ToString(); //员工ID //employeeEntity.T_HR_EMPLOYEE.EMPLOYEEID = ent.EMPLOYEEID; employeeEntity.T_HR_EMPLOYEEReference.EntityKey = new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_EMPLOYEE", "EMPLOYEEID", ent.EMPLOYEEID); //员工姓名 employeeEntity.EMPOLYEENAME = ent.EMPLOYEECNAME; //指纹编号 employeeEntity.FINGERPRINTID = employee.FINGERPRINTID; //0.入职1.异动2.离职3.薪资级别变更4.签订合同 employeeEntity.FORMTYPE = "2"; //记录原始单据id(员工入职表ID) employeeEntity.FORMID = ent.CONFIRMID; //主岗位非主岗位 employeeEntity.ISMASTERPOSTCHANGE = "0"; //包括 异动类型及离职类型 0:1=异动类型:离职类型 employeeEntity.CHANGETYPE = "1"; //异动时间 employeeEntity.CHANGETIME = DateTime.Now; //异动原因 employeeEntity.CHANGEREASON = ent.LEFTOFFICEREASON; //异动前岗位id employeeEntity.OLDPOSTID = ent.EMPLOYEEPOSTID; //根据异动前岗位ID查找岗位表,查询岗位字典ID //var oldPostInfo = dal.GetObjects<T_HR_POST>().FirstOrDefault(s => s.POSTID == employeeEntity.OLDPOSTID); var oldPostInfo = (from c in dal.GetObjects <T_HR_POST>() join m in dal.GetObjects <T_HR_POSTDICTIONARY>() on c.T_HR_POSTDICTIONARY.POSTDICTIONARYID equals m.POSTDICTIONARYID where c.POSTID == ent.OWNERPOSTID select new { OLDPOSTNAME = m.POSTNAME }).FirstOrDefault(); if (oldPostInfo != null) { //根据岗位字典ID查询字典表,查询岗位名称 //var oldPostDictionary = dal.GetObjects<T_HR_POSTDICTIONARY>().FirstOrDefault(s => s.POSTDICTIONARYID == oldPostInfo.T_HR_POSTDICTIONARY.POSTDICTIONARYID); //异动前岗位名称 employeeEntity.OLDPOSTNAME = oldPostInfo.OLDPOSTNAME; } var employeealName = (from epall in dal.GetObjects <T_HR_EMPLOYEEPOST>() where epall.EDITSTATE == "1" && epall.T_HR_EMPLOYEE.EMPLOYEEID == ent.EMPLOYEEID select epall).FirstOrDefault(); if (employeealName != null) { //异动前岗位级别 employeeEntity.OLDPOSTLEVEL = employeealName.POSTLEVEL.ToString(); //异动前薪资级别 employeeEntity.OLDSALARYLEVEL = employeealName.SALARYLEVEL.ToString(); } //异动前部门id employeeEntity.OLDDEPARTMENTID = ent.OWNERDEPARTMENTID; //根据异动前部门ID查找部门表,查询部门字典ID //var oldDepartment = dal.GetObjects<T_HR_DEPARTMENT>().FirstOrDefault(s => s.DEPARTMENTID == employeeEntity.OLDDEPARTMENTID); var oldDepartment = (from c in dal.GetObjects <T_HR_DEPARTMENT>() join m in dal.GetObjects <T_HR_DEPARTMENTDICTIONARY>() on c.T_HR_DEPARTMENTDICTIONARY.DEPARTMENTDICTIONARYID equals m.DEPARTMENTDICTIONARYID where c.DEPARTMENTID == ent.OWNERDEPARTMENTID select new { OLDDEPARTMENTNAME = m.DEPARTMENTNAME }).FirstOrDefault(); if (oldDepartment != null) { //根据部门字典ID查询部门字典表,查询部门名称 //var oldDepartmentDictionary = dal.GetObjects<T_HR_DEPARTMENTDICTIONARY>().FirstOrDefault(s => s.DEPARTMENTDICTIONARYID == oldDepartment.T_HR_DEPARTMENTDICTIONARY.DEPARTMENTDICTIONARYID); //异动前部门名称 employeeEntity.OLDDEPARTMENTNAME = oldDepartment.OLDDEPARTMENTNAME; } //异动前公司id employeeEntity.OLDCOMPANYID = ent.OWNERCOMPANYID; //根据异动前公司ID查找公司表,查询公司字典ID //var oldCompany = dal.GetObjects<T_HR_COMPANY>().FirstOrDefault(s => s.COMPANYID == employeeEntity.OLDCOMPANYID); var oldCompany = (from c in dal.GetObjects <T_HR_COMPANY>() where c.COMPANYID == ent.OWNERCOMPANYID select new { OLDCOMPANYNAMECH = c.CNAME, OLDCOMPANYNAMEEN = c.ENAME }).FirstOrDefault(); if (oldCompany != null) { //根据公司字典ID查询公司字典表,查询公司名称 //var oldCompanyHistory = dal.GetObjects<T_HR_COMPANYHISTORY>().FirstOrDefault(s => s.COMPANYID == oldCompany.COMPANYID); //异动前公司名称(中文) employeeEntity.OLDCOMPANYNAME = oldCompany.OLDCOMPANYNAMECH; } //备注 employeeEntity.REMART = ent.REMARK; //创建时间 employeeEntity.CREATEDATE = DateTime.Now; //所属员工ID employeeEntity.OWNERID = ent.OWNERID; //所属岗位ID employeeEntity.OWNERPOSTID = ent.OWNERPOSTID; //所属部门ID employeeEntity.OWNERDEPARTMENTID = ent.OWNERDEPARTMENTID; //所属公司ID employeeEntity.OWNERCOMPANYID = ent.OWNERCOMPANYID; dal.AddToContext(employeeEntity); dal.SaveContextChanges(); } catch (Exception ex) { SMT.Foundation.Log.Tracer.Debug("员工离职报表服务同步:" + ex.ToString()); } #endregion #region 禁用系统用户 //SMT.SaaS.BLLCommonServices.PermissionWS.PermissionServiceClient perclient = new SMT.SaaS.BLLCommonServices.PermissionWS.PermissionServiceClient(); T_SYS_USER user; using (SysUserBLL bll = new SysUserBLL()) { user = bll.GetUserByEmployeeID(ent.EMPLOYEEID); } if (user != null) { user.STATE = "0"; //perclient.SysUserInfoUpdate(user); //by luojie 改为不需要离职申请也直接离职 //if (ent.T_HR_LEFTOFFICE != null && ent.T_HR_LEFTOFFICE.T_HR_EMPLOYEEPOST != null) if (ent.EMPLOYEEPOSTID != null) { //判断要离职的岗位是否为主职 //T_HR_EMPLOYEEPOST中ISAGENCY"0"为主职,"1"为兼职 var LeftEmployeeInfo = (from c in dal.GetObjects <T_HR_EMPLOYEEPOST>() where c.EMPLOYEEPOSTID == ent.EMPLOYEEPOSTID select c).FirstOrDefault(); bool IsMain = false; //if (ent.T_HR_LEFTOFFICE.T_HR_EMPLOYEEPOST.ISAGENCY == "0") if (LeftEmployeeInfo != null && LeftEmployeeInfo.ISAGENCY == "0") { IsMain = true; } //bool IsSuccess= perclient.SysUserInfoUpdateForEmployeeLeft(user, ent.T_HR_LEFTOFFICE.OWNERCOMPANYID,ent.T_HR_LEFTOFFICE.T_HR_EMPLOYEEPOST.EMPLOYEEPOSTID,IsMain); bool IsSuccess = false;// perclient.SysUserInfoUpdateForEmployeeLeft(user, ent.OWNERCOMPANYID, ent.EMPLOYEEPOSTID, IsMain); using (SysUserBLL UserBll = new SysUserBLL()) { IsSuccess = UserBll.UpdateSysUserInfoForEmployeeLeftOffice(user, ent.OWNERCOMPANYID, ent.EMPLOYEEPOSTID, IsMain); } string StrResult = ""; if (IsSuccess) { StrResult = "成功"; } else { StrResult = "失败"; } SMT.Foundation.Log.Tracer.Debug("员工离职更新权限系统用户状态为" + System.DateTime.Now.ToString() + ":" + StrResult); } else { SMT.Foundation.Log.Tracer.Debug("员工离职对象为空" + System.DateTime.Now.ToString()); } } #endregion } else { #region 修改岗位状态 //根据员工ID查询员工岗位表 var employeeallposts = from epall in dal.GetObjects <T_HR_EMPLOYEEPOST>() where epall.EDITSTATE == "1" && epall.EMPLOYEEPOSTID == ent.EMPLOYEEPOSTID select epall; if (employeeallposts.Count() > 0) { foreach (var item in employeeallposts) { //if (item.ISAGENCY == "0") //{ // item.EDITSTATE = "0"; // dal.UpdateFromContext(item); //} //else //{ // dal.DeleteFromContext(item); //} //编辑状态:0未生效,1生效中 item.EDITSTATE = "0"; //更新员工岗位表 dal.UpdateFromContext(item); } dal.SaveContextChanges(); } #endregion #region 添加异动记录 //根据岗位ID连表查询岗位表和部门表 var tmpInfo = from c in dal.GetObjects <T_HR_POST>() join b in dal.GetObjects <T_HR_DEPARTMENT>() on c.T_HR_DEPARTMENT.DEPARTMENTID equals b.DEPARTMENTID where c.POSTID == employeepost.FirstOrDefault().T_HR_POST.POSTID select new { c.POSTID, b.DEPARTMENTID, b.T_HR_COMPANY.COMPANYID }; //by luojie EmployeePostBLL epostBll = new EmployeePostBLL(); T_HR_EMPLOYEEPOST emppost = (from ep in dal.GetObjects <T_HR_EMPLOYEEPOST>() where ep.EMPLOYEEPOSTID == ent.EMPLOYEEPOSTID select ep).FirstOrDefault(); emppost.CHECKSTATE = Convert.ToInt32(CheckStates.Approved).ToString(); emppost.EDITSTATE = Convert.ToInt32(EditStates.UnActived).ToString(); epostBll.EmployeePostUpdate(emppost); EmployeePostChangeBLL epchangeBLL = new EmployeePostChangeBLL(); T_HR_EMPLOYEEPOSTCHANGE postChange = new T_HR_EMPLOYEEPOSTCHANGE(); postChange = new T_HR_EMPLOYEEPOSTCHANGE(); postChange.T_HR_EMPLOYEE = new T_HR_EMPLOYEE(); postChange.T_HR_EMPLOYEE.EMPLOYEEID = employee.EMPLOYEEID; postChange.EMPLOYEECODE = employee.EMPLOYEECODE; postChange.EMPLOYEENAME = employee.EMPLOYEECNAME; postChange.POSTCHANGEID = Guid.NewGuid().ToString(); postChange.CHECKSTATE = Convert.ToInt32(CheckStates.Approved).ToString(); postChange.ISAGENCY = "0"; postChange.POSTCHANGCATEGORY = "3"; if (tmpInfo.Count() > 0) { postChange.FROMCOMPANYID = tmpInfo.FirstOrDefault().COMPANYID; postChange.FROMDEPARTMENTID = tmpInfo.FirstOrDefault().DEPARTMENTID; postChange.FROMPOSTID = tmpInfo.FirstOrDefault().POSTID; postChange.OWNERCOMPANYID = tmpInfo.FirstOrDefault().COMPANYID; postChange.OWNERDEPARTMENTID = tmpInfo.FirstOrDefault().DEPARTMENTID; postChange.OWNERPOSTID = tmpInfo.FirstOrDefault().POSTID; } postChange.OWNERID = ent.EMPLOYEEID; postChange.POSTCHANGREASON = ent.LEFTOFFICEREASON; postChange.CHANGEDATE = ent.LEFTOFFICEDATE.ToString(); postChange.CREATEUSERID = ent.CREATEUSERID; string Msg = string.Empty; epchangeBLL.EmployeePostChangeAdd(postChange, ref Msg); #endregion } } else { Tracer.Debug("员工离职确认,通过EMPLOYEEPOSTID未找到员工岗位记录:" + ent.EMPLOYEEPOSTID); } } # endregion Utility.CloneEntity <T_HR_LEFTOFFICECONFIRM>(entity, ent); if (entity.T_HR_LEFTOFFICE != null) { ent.T_HR_LEFTOFFICEReference.EntityKey = new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_LEFTOFFICE", "DIMISSIONID", entity.T_HR_LEFTOFFICE.DIMISSIONID); } //dal.Update(ent); Update(ent, ent.CREATEUSERID); } }
/// <summary> /// 根据传回的xml生成员工合同 /// </summary> /// <param name="eGFunc"></param> /// <returns></returns> private static string AddEmployeeContract(IEnumerable<XElement> eGFunc) { SMT.Foundation.Log.Tracer.Debug("开始添加员工合同信息"); try { if (eGFunc.Count() == 0) { return ""; } string strEmployeeID = string.Empty; string strOwnerID = string.Empty; string strOwnerPostID = string.Empty; string strOwnerDepartmentID = string.Empty; string strOwnerCompanyID = string.Empty; foreach (var q in eGFunc) { string strName = q.Attribute("Name").Value; switch (strName) { case "EMPLOYEEID": strEmployeeID = q.Attribute("Value").Value; break; case "OWNERID": strOwnerID = q.Attribute("Value").Value; break; case "OWNERPOSTID": strOwnerPostID = q.Attribute("Value").Value; break; case "OWNERDEPARTMENTID": strOwnerDepartmentID = q.Attribute("Value").Value; break; case "OWNERCOMPANYID": strOwnerCompanyID = q.Attribute("Value").Value; break; } } PersonnelService ser = new PersonnelService(); T_HR_EMPLOYEECONTRACT entity = new T_HR_EMPLOYEECONTRACT(); entity.EMPLOYEECONTACTID = Guid.NewGuid().ToString(); entity.T_HR_EMPLOYEE = new T_HR_EMPLOYEE(); entity.T_HR_EMPLOYEE.EMPLOYEEID = strEmployeeID.Replace("{", "").Replace("}", ""); // entity.T_HR_PENSIONDETAIL = new T_HR_PENSIONDETAIL(); SMT.Foundation.Log.Tracer.Debug("合同员工ID:" + entity.T_HR_EMPLOYEE.EMPLOYEEID); entity.CHECKSTATE = ((int)CheckStates.UnSubmit).ToString(); entity.EDITSTATE = ((int)EditStates.UnActived).ToString(); entity.CREATEDATE = DateTime.Now; entity.OWNERID = strOwnerID; entity.OWNERPOSTID = strOwnerPostID; entity.OWNERDEPARTMENTID = strOwnerDepartmentID; entity.OWNERCOMPANYID = strOwnerCompanyID; entity.CREATEUSERID = strOwnerID; entity.CREATEPOSTID = strOwnerPostID; entity.CREATEDEPARTMENTID = strOwnerDepartmentID; entity.CREATECOMPANYID = strOwnerCompanyID; string strMsg = ""; PersonnelService ps = new PersonnelService(); T_HR_EMPLOYEE emp = ps.GetEmployeeByID(entity.T_HR_EMPLOYEE.EMPLOYEEID); if (emp != null) { entity.OWNERID = emp.EMPLOYEEID; entity.OWNERPOSTID = emp.OWNERPOSTID; entity.OWNERDEPARTMENTID = emp.OWNERDEPARTMENTID; entity.OWNERCOMPANYID = emp.OWNERCOMPANYID; ser.EmployeeContractAdd(entity, ref strMsg); } else { SMT.Foundation.Log.Tracer.Debug("引擎触发员工合同记录失败"); } SMT.Foundation.Log.Tracer.Debug("合同工ID:"+entity.EMPLOYEECONTACTID); SMT.Foundation.Log.Tracer.Debug("开始添加员工信息:"+emp.EMPLOYEECNAME); SMT.Foundation.Log.Tracer.Debug("添加完员工信息的结果:"+strMsg); return entity.EMPLOYEECONTACTID; } catch (Exception e) { string abc = "<HR>Message=[" + e.Message + "]" + "<HR>Source=[" + e.Source + "]<HR>StackTrace=[" + e.StackTrace + "]<HR>TargetSite=[" + e.TargetSite + "]"; Tracer.Debug(abc); return abc; } }
private string GetXmlString(string StrSource, T_HR_EMPLOYEECONTRACT Info) { SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY ownerCompany = (Application.Current.Resources["SYS_CompanyInfo"] as List<SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY>).Where(s => s.COMPANYID == Info.OWNERCOMPANYID).FirstOrDefault(); SMT.Saas.Tools.OrganizationWS.T_HR_DEPARTMENT ownerDepartment = (Application.Current.Resources["SYS_DepartmentInfo"] as List<SMT.Saas.Tools.OrganizationWS.T_HR_DEPARTMENT>).Where(s => s.DEPARTMENTID == Info.OWNERDEPARTMENTID).FirstOrDefault(); SMT.Saas.Tools.OrganizationWS.T_HR_POST ownerPost = (Application.Current.Resources["SYS_PostInfo"] as List<SMT.Saas.Tools.OrganizationWS.T_HR_POST>).Where(s => s.POSTID == Info.OWNERPOSTID).FirstOrDefault(); string ownerCompanyName = string.Empty; string ownerDepartmentName = string.Empty; string ownerPostName = string.Empty; if (ownerCompany != null) { ownerCompanyName = ownerCompany.CNAME; } if (ownerDepartment != null) { ownerDepartmentName = ownerDepartment.T_HR_DEPARTMENTDICTIONARY == null ? "" : ownerDepartment.T_HR_DEPARTMENTDICTIONARY.DEPARTMENTNAME; } if (ownerPost != null) { ownerPostName = ownerPost.T_HR_POSTDICTIONARY == null ? "" : ownerPost.T_HR_POSTDICTIONARY.POSTNAME; } decimal? stateValue = Convert.ToDecimal("1"); string checkState = string.Empty; SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY checkStateDict = (Application.Current.Resources["SYS_DICTIONARY"] as List<SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY>).Where(s => s.DICTIONCATEGORY == "CHECKSTATE" && s.DICTIONARYVALUE == stateValue).FirstOrDefault(); checkState = checkStateDict == null ? "" : checkStateDict.DICTIONARYNAME; //string postLevelName = string.Empty; //SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY postLevelDict = (Application.Current.Resources["SYS_DICTIONARY"] as List<SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY>).Where(s => s.DICTIONCATEGORY == "POSTLEVLE" && s.DICTIONARYVALUE == employeepost.POSTLEVEL).FirstOrDefault(); //postLevelName = postLevelDict == null ? "" : postLevelDict.DICTIONARYNAME; SMT.SaaS.MobileXml.MobileXml mx = new SMT.SaaS.MobileXml.MobileXml(); List<SMT.SaaS.MobileXml.AutoDictionary> AutoList = new List<SMT.SaaS.MobileXml.AutoDictionary>(); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "CHECKSTATE", "1", checkState)); //AutoList.Add(basedata("T_OA_APPROVALINFO", "OWNERCOMPANYID", approvalInfo.OWNERCOMPANYID, StrCompanyName)); //AutoList.Add(basedata("T_OA_APPROVALINFO", "OWNERDEPARTMENTID", approvalInfo.OWNERDEPARTMENTID, StrDepartmentName)); //AutoList.Add(basedata("T_OA_APPROVALINFO", "OWNERPOSTID", approvalInfo.OWNERPOSTID, StrPostName)); //AutoList.Add(basedata("T_OA_APPROVALINFO", "TYPEAPPROVAL", approvalInfo.TYPEAPPROVAL, StrApprovalTypeName)); //AutoList.Add(basedata("T_OA_APPROVALINFO", "CONTENT", approvalInfo.APPROVALID, approvalInfo.APPROVALID)); //AutoList.Add(basedata("T_OA_APPROVALINFO", "AttachMent", approvalInfo.APPROVALID, approvalInfo.APPROVALID)); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "EMPLOYEEID", Info.T_HR_EMPLOYEE.EMPLOYEEID, Info.T_HR_EMPLOYEE.EMPLOYEECNAME)); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "POSTLEVEL", EmployeePost.POSTLEVEL.ToString(), EmployeePost.POSTLEVEL.ToString())); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "EMPLOYEECNAME", Info.T_HR_EMPLOYEE.EMPLOYEECNAME, Info.T_HR_EMPLOYEE.EMPLOYEECNAME)); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "OWNER", Info.T_HR_EMPLOYEE.EMPLOYEECNAME, Info.T_HR_EMPLOYEE.EMPLOYEECNAME)); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "CREATEUSERNAME", createUserName, createUserName)); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "AttachMent", Info.EMPLOYEECONTACTID, Info.EMPLOYEECONTACTID)); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "OWNERCOMPANYID", Info.OWNERCOMPANYID, ownerCompanyName)); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "OWNERDEPARTMENTID", Info.OWNERDEPARTMENTID, ownerDepartmentName)); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "OWNERPOSTID", Info.OWNERPOSTID, ownerPostName)); AutoList.Add(basedata("T_HR_EMPLOYEECONTRACT", "NOENDDATE", Info.NOENDDATE, Info.NOENDDATE=="0"?"否":"是")); string a = mx.TableToXml(Info, null, StrSource, AutoList); return a; }
/// <summary> /// 根据传回的xml生成员工合同 /// </summary> /// <param name="eGFunc"></param> /// <returns></returns> private static string AddEmployeeContract(IEnumerable <XElement> eGFunc) { SMT.Foundation.Log.Tracer.Debug("开始添加员工合同信息"); try { if (eGFunc.Count() == 0) { return(""); } string strEmployeeID = string.Empty; string strOwnerID = string.Empty; string strOwnerPostID = string.Empty; string strOwnerDepartmentID = string.Empty; string strOwnerCompanyID = string.Empty; foreach (var q in eGFunc) { string strName = q.Attribute("Name").Value; switch (strName) { case "EMPLOYEEID": strEmployeeID = q.Attribute("Value").Value; break; case "OWNERID": strOwnerID = q.Attribute("Value").Value; break; case "OWNERPOSTID": strOwnerPostID = q.Attribute("Value").Value; break; case "OWNERDEPARTMENTID": strOwnerDepartmentID = q.Attribute("Value").Value; break; case "OWNERCOMPANYID": strOwnerCompanyID = q.Attribute("Value").Value; break; } } OrganizationService ser = new OrganizationService(); T_HR_EMPLOYEECONTRACT entity = new T_HR_EMPLOYEECONTRACT(); entity.EMPLOYEECONTACTID = Guid.NewGuid().ToString(); entity.T_HR_EMPLOYEE = new T_HR_EMPLOYEE(); entity.T_HR_EMPLOYEE.EMPLOYEEID = strEmployeeID.Replace("{", "").Replace("}", ""); // entity.T_HR_PENSIONDETAIL = new T_HR_PENSIONDETAIL(); SMT.Foundation.Log.Tracer.Debug("合同员工ID:" + entity.T_HR_EMPLOYEE.EMPLOYEEID); entity.CHECKSTATE = ((int)CheckStates.UnSubmit).ToString(); entity.EDITSTATE = ((int)EditStates.UnActived).ToString(); entity.CREATEDATE = DateTime.Now; entity.OWNERID = strOwnerID; entity.OWNERPOSTID = strOwnerPostID; entity.OWNERDEPARTMENTID = strOwnerDepartmentID; entity.OWNERCOMPANYID = strOwnerCompanyID; entity.CREATEUSERID = strOwnerID; entity.CREATEPOSTID = strOwnerPostID; entity.CREATEDEPARTMENTID = strOwnerDepartmentID; entity.CREATECOMPANYID = strOwnerCompanyID; string strMsg = ""; PersonnelService ps = new PersonnelService(); T_HR_EMPLOYEE emp = ps.GetEmployeeByID(entity.T_HR_EMPLOYEE.EMPLOYEEID); if (emp != null) { entity.OWNERID = emp.EMPLOYEEID; entity.OWNERPOSTID = emp.OWNERPOSTID; entity.OWNERDEPARTMENTID = emp.OWNERDEPARTMENTID; entity.OWNERCOMPANYID = emp.OWNERCOMPANYID; ps.EmployeeContractAdd(entity, ref strMsg); } else { SMT.Foundation.Log.Tracer.Debug("引擎触发员工合同记录失败"); } SMT.Foundation.Log.Tracer.Debug("合同工ID:" + entity.EMPLOYEECONTACTID); SMT.Foundation.Log.Tracer.Debug("开始添加员工信息:" + emp.EMPLOYEECNAME); SMT.Foundation.Log.Tracer.Debug("添加完员工信息的结果:" + strMsg); return(entity.EMPLOYEECONTACTID); } catch (Exception e) { string abc = "<HR>Message=[" + e.Message + "]" + "<HR>Source=[" + e.Source + "]<HR>StackTrace=[" + e.StackTrace + "]<HR>TargetSite=[" + e.TargetSite + "]"; Tracer.Debug(abc); return(abc); } }
void client_GetEmployeeContractByIDCompleted(object sender, GetEmployeeContractByIDCompletedEventArgs e) { if (e.Error != null && e.Error.Message != "") { ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("ERRORINFO"), Utility.GetResourceStr("CONFIRM"), MessageIcon.Error); RefreshUI(RefreshedTypes.HideProgressBar); } else { if (e.Result == null) { ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("NOTFOUND"), Utility.GetResourceStr("CONFIRM"), MessageIcon.Error); RefreshUI(RefreshedTypes.HideProgressBar); return; } EmployeeContract = e.Result; if (e.Result.CHECKSTATE != Convert.ToInt32(CheckStates.UnSubmit).ToString()) { EnabledControl(); } //ctrFile.Load_fileData(EmployeeContract.EMPLOYEECONTACTID); //if(employeeContract.CHECKSTATE ) if (!string.IsNullOrEmpty(EmployeeContract.CREATEUSERID)) { if (EmployeeContract.CHECKSTATE == Convert.ToInt32(CheckStates.Approved).ToString() || EmployeeContract.CHECKSTATE == Convert.ToInt32(CheckStates.UnApproved).ToString()) { RefreshUI(RefreshedTypes.AuditInfo); SetToolBar(); RefreshUI(RefreshedTypes.HideProgressBar); } else { System.Collections.ObjectModel.ObservableCollection<string> CreateUserIDs = new System.Collections.ObjectModel.ObservableCollection<string>(); CreateUserIDs.Add(EmployeeContract.CREATEUSERID); client.GetEmployeeToEngineAsync(CreateUserIDs); } } else { EmployeeContract.CREATEUSERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID; createUserName = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeName; RefreshUI(RefreshedTypes.AuditInfo); SetToolBar(); RefreshUI(RefreshedTypes.HideProgressBar); } } }
/// <summary> /// 合同到期提醒 /// </summary> /// <param name="eGFunc"></param> private void EmployeeContractRemindTrigger(IEnumerable<XElement> eGFunc) { try { SMT.Foundation.Log.Tracer.Debug("员工合同到期开始" ); if (eGFunc.Count() == 0) { return; } string strId = string.Empty; foreach (var item in eGFunc) { if (item.Attribute("Name").Value == "EMPLOYEECONTACTID") { strId = item.Attribute("Value").Value; break; } } PersonnelService svcPersonnel = new PersonnelService(); T_HR_EMPLOYEECONTRACT entry = svcPersonnel.GetEmployeeContractByID(strId); if (entry != null) { if (entry.T_HR_EMPLOYEE!=null && entry.T_HR_EMPLOYEE.EMPLOYEESTATE != "2") { string strMsg = ""; T_HR_EMPLOYEECONTRACT employeeContract = new T_HR_EMPLOYEECONTRACT(); employeeContract.EMPLOYEECONTACTID = Guid.NewGuid().ToString(); employeeContract.T_HR_EMPLOYEE = new T_HR_EMPLOYEE(); employeeContract.T_HR_EMPLOYEE.EMPLOYEEID = entry.T_HR_EMPLOYEE.EMPLOYEEID; employeeContract.FROMDATE = entry.FROMDATE; employeeContract.TODATE = entry.TODATE; employeeContract.ENDDATE = entry.ENDDATE; employeeContract.CONTACTPERIOD = entry.CONTACTPERIOD; employeeContract.CONTACTCODE = entry.CONTACTCODE; employeeContract.ATTACHMENT = entry.ATTACHMENT; employeeContract.ATTACHMENTPATH = entry.ATTACHMENTPATH; employeeContract.ALARMDAY = entry.ALARMDAY; employeeContract.CHECKSTATE = "0"; employeeContract.EDITSTATE = "0"; employeeContract.ISSPECIALCONTRACT = entry.ISSPECIALCONTRACT; employeeContract.REASON = entry.REASON; employeeContract.REMARK = entry.REMARK; employeeContract.OWNERID = entry.OWNERID; employeeContract.OWNERPOSTID = entry.OWNERPOSTID; employeeContract.OWNERDEPARTMENTID = entry.OWNERDEPARTMENTID; employeeContract.OWNERCOMPANYID = entry.OWNERCOMPANYID; employeeContract.CREATECOMPANYID = entry.CREATECOMPANYID; employeeContract.CREATEDATE = System.DateTime.Now; employeeContract.CREATEUSERID = entry.CREATEUSERID; employeeContract.CREATEPOSTID = entry.CREATEPOSTID; employeeContract.CREATEDEPARTMENTID = entry.CREATEDEPARTMENTID; employeeContract.CREATECOMPANYID = entry.CREATECOMPANYID; employeeContract.UPDATEUSERID = entry.UPDATEUSERID; employeeContract.UPDATEDATE = entry.UPDATEDATE; //获取附件问题 //SMT.SaaS.BLLCommonServices PermClient = new SMT.SaaS.BLLCommonServices.PermissionWS.PermissionServiceClient(); svcPersonnel.EmployeeContractAdd(employeeContract, ref strMsg); svcPersonnel.EmployeeContractAlarm(employeeContract); } else { var EmployeeEnt = entry.T_HR_EMPLOYEE; SMT.Foundation.Log.Tracer.Debug("员工" + EmployeeEnt.EMPLOYEEID + "的在EMPLOYEESTATE:" + EmployeeEnt.EMPLOYEESTATE + ",不自动生成合同。"); } } else { SMT.Foundation.Log.Tracer.Debug("员工合同到期没有获取到合同信息"); } } catch (Exception ex) { SMT.Foundation.Log.Tracer.Debug("员工合同到期提醒出现错误:"+ex.ToString()); } }