示例#1
0
        /// <summary>
        /// 根据传回的xml生成员工入职
        /// </summary>
        /// <param name="eGFunc"></param>
        /// <returns></returns>
        private static string AddEmployeeEntry(IEnumerable <XElement> eGFunc)
        {
            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;
                string Name            = string.Empty;
                int    PROBATIONPERIOD = 0;
                string Idnumber        = string.Empty;
                string sex             = string.Empty;

                string isAcceptemploied = string.Empty;
                string createuserid     = 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;

                    case "NAME":
                        Name = q.Attribute("Value").Value;
                        break;

                    case "IDCARDNUMBER":
                        Idnumber = q.Attribute("Value").Value;
                        break;

                    case "SEX":
                        sex = q.Attribute("Value").Value;
                        break;

                    case "PROBATIONPERIOD":
                        PROBATIONPERIOD = int.Parse(q.Attribute("Value").Value);
                        break;

                    case "ISACCEPTEMPLOIED":
                        isAcceptemploied = q.Attribute("Value").Value;
                        break;

                    case "CREATEUSERID":
                        createuserid = q.Attribute("Value").Value;
                        break;
                    }
                }
                //if (isAcceptemploied != "2")
                //{
                //    return string.Empty;
                //}

                PersonnelService   ser      = new PersonnelService();
                T_HR_EMPLOYEEENTRY entry    = new T_HR_EMPLOYEEENTRY();
                T_HR_EMPLOYEE      employee = new T_HR_EMPLOYEE();
                T_HR_EMPLOYEEPOST  epost    = new T_HR_EMPLOYEEPOST();
                employee.EMPLOYEEID        = Guid.NewGuid().ToString();
                employee.EMPLOYEECNAME     = Name;
                employee.IDNUMBER          = Idnumber.Replace("{", "").Replace("}", "");
                employee.OWNERCOMPANYID    = strOwnerCompanyID.Replace("{", "").Replace("}", "");
                employee.OWNERDEPARTMENTID = strOwnerDepartmentID.Replace("{", "").Replace("}", "");
                employee.OWNERPOSTID       = strOwnerPostID.Replace("{", "").Replace("}", "");
                employee.OWNERID           = employee.EMPLOYEEID.Replace("{", "").Replace("}", "");
                employee.CREATEDATE        = DateTime.Now;
                employee.SEX          = sex;
                employee.CREATEUSERID = createuserid;

                epost.EMPLOYEEPOSTID           = Guid.NewGuid().ToString();
                epost.ISAGENCY                 = "0";
                epost.CREATEDATE               = DateTime.Now;
                epost.T_HR_POST                = new T_HR_POST();
                epost.T_HR_POST.POSTID         = employee.OWNERPOSTID;
                epost.T_HR_EMPLOYEE            = new T_HR_EMPLOYEE();
                epost.T_HR_EMPLOYEE.EMPLOYEEID = employee.EMPLOYEEID;
                epost.CREATEUSERID             = createuserid;
                epost.CHECKSTATE               = "0";

                entry.EMPLOYEEENTRYID          = Guid.NewGuid().ToString();
                entry.CHECKSTATE               = "0";
                entry.PROBATIONPERIOD          = PROBATIONPERIOD;
                entry.T_HR_EMPLOYEE            = new T_HR_EMPLOYEE();
                entry.T_HR_EMPLOYEE.EMPLOYEEID = employee.EMPLOYEEID;
                entry.CREATEDATE               = System.DateTime.Now;
                entry.EMPLOYEEPOSTID           = epost.EMPLOYEEPOSTID;
                entry.OWNERCOMPANYID           = employee.OWNERCOMPANYID;
                entry.OWNERDEPARTMENTID        = employee.OWNERDEPARTMENTID;
                entry.OWNERPOSTID              = employee.OWNERPOSTID;
                entry.OWNERID      = employee.EMPLOYEEID;
                entry.CREATEUSERID = createuserid;


                ser.AddEmployeeEntry(employee, entry, epost);
                return(entry.EMPLOYEEENTRYID);
            }
            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);
            }
        }