Example #1
0
 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);
 }
Example #2
0
 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);
     }
 }
Example #3
0
        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);
        }
Example #4
0
 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);
         }
     }
 }
Example #5
0
 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);
     }
 }
Example #6
0
 public void EmployeeContractAlarm(T_HR_EMPLOYEECONTRACT entity)
 {
     using (EmployeeContractBLL bll = new EmployeeContractBLL())
     {
         bll.EmployeeContractAlarm(entity);
     }
 }
Example #7
0
 public void GetEmployeeContractEngineXml(T_HR_EMPLOYEECONTRACT entity)
 {
     using (EmployeeContractBLL bll = new EmployeeContractBLL())
     {
         bll.GetEmployeeContractEngineXml(entity);
     }
 }
Example #8
0
        //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);
            }
        }
Example #9
0
        /// <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());
            }
        }
Example #10
0
        /// <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);
                }
            }
Example #11
0
        /// <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;

            }

        }
Example #12
0
        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;
        }
Example #13
0
 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);
 }
Example #14
0
        /// <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);
            }
        }
Example #15
0
        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());
            }
            
        }