Exemplo n.º 1
0
        public object SyncToolsDepts()
        {
            try
            {
                DataTable dt = deptBll.GetDataTable(string.Format("select deptid,unitid,keys from BIS_TOOLSDEPT"));
                foreach (DataRow dr in dt.Rows)
                {
                    DepartmentEntity dept = deptBll.GetEntity(dr[0].ToString());
                    if (dept != null)
                    {
                        SstmsService.CheckHeader header = new SstmsService.CheckHeader();
                        header.Key = dr[2].ToString();
                        List <SstmsService.DictionaryEntry> dic = new List <SstmsService.DictionaryEntry>();
                        SstmsService.DictionaryEntry        de  = new SstmsService.DictionaryEntry();
                        de.Key   = "LaterID";
                        de.Value = dr[1].ToString();
                        dic.Add(de);
                        de       = new SstmsService.DictionaryEntry();
                        de.Key   = "Identify";
                        de.Value = "";
                        dic.Add(de);
                        // 实例化服务对象
                        SstmsService.DataServiceSoapClient service = new SstmsService.DataServiceSoapClient();
                        SstmsService.PersonInfo[]          data    = service.GetPersonsPage(header, dic.ToArray <SstmsService.DictionaryEntry>(), 1, 1000).List;
                        DepartmentEntity org = deptBll.GetEntity(dept.OrganizeId);
                        foreach (SstmsService.PersonInfo per in data)
                        {
                            string unitId   = per.OwnerDeptID;
                            string userId   = "";
                            string roleName = "承包商级用户";
                            string roleId   = "c5530ccf-e84e-4df8-8b27-fd8954a9bbe9";

                            if (dt.Rows.Count > 0)
                            {
                                string nature = dept.Nature;
                                switch (nature)
                                {
                                case "部门":
                                    roleName = "部门级用户";
                                    roleId   = "6c094cef-cca3-4b41-a71b-6ee5e6b89008";
                                    break;

                                case "专业":
                                    roleName = "专业级用户";
                                    roleId   = "e3062d59-2484-4046-a420-478886d58656";
                                    break;

                                case "班组":
                                    roleName = "班组级用户";
                                    roleId   = "d9432a6e-5659-4f04-9c10-251654199714";
                                    break;

                                case "厂级":
                                    roleName = "公司级用户";
                                    roleId   = "aece6d68-ef8a-4eac-a746-e97f0067fab5";
                                    break;

                                case "省级":
                                    roleName = "省级用户";
                                    roleId   = "9a834c93-ff60-440e-845d-79b311eeacae";
                                    break;
                                }
                                roleName += ",普通用户";
                                roleId   += ",2a878044-06e9-4fe4-89f0-ba7bd5a1bde6";
                                UserEntity user = userBll.GetUserByIdCard(per.IdentifyID);
                                if (user == null)
                                {
                                    //    userId = user.UserId;
                                    //}
                                    //else
                                    //{
                                    user         = new UserEntity();
                                    user.UserId  = Guid.NewGuid().ToString();
                                    user.Account = per.IdentifyID;
                                    userId       = user.UserId;
                                    // }

                                    user.MSN            = "1";
                                    user.UserType       = "一般工作人员";
                                    user.EnCode         = per.TraID;
                                    user.Degrees        = user.DegreesID = per.Degrees;
                                    user.Birthday       = per.BirthDay;
                                    user.RoleId         = roleId;
                                    user.RoleName       = roleName;
                                    user.IdentifyID     = per.IdentifyID;
                                    user.Gender         = per.Sex;
                                    user.Nation         = per.Nation;
                                    user.Email          = per.Email;
                                    user.EnterTime      = per.EntranceDate;
                                    user.RealName       = per.PersonName;
                                    user.Degrees        = per.Degrees;
                                    user.Native         = per.Native;
                                    user.DepartureTime  = per.LeaveDate;
                                    user.Telephone      = per.TelPhone;
                                    user.IsPresence     = per.IsOut == "是" ? "0" : "1";
                                    user.Password       = "******";
                                    user.DepartmentId   = dept.DepartmentId;
                                    user.DepartmentCode = dept.EnCode;
                                    user.OrganizeId     = dept.OrganizeId;
                                    user.OrganizeCode   = org.EnCode;
                                    user.Craft          = per.Category;
                                    user.IsEpiboly      = roleName.Contains("承包商") || roleName.Contains("分包商") ? "1" : "0";
                                    if (user.ModifyDate != null)
                                    {
                                        if (per.OperDate > user.ModifyDate)
                                        {
                                            userBll.SaveForm(userId, user);
                                        }
                                    }
                                    else
                                    {
                                        userBll.SaveForm(userId, user);
                                    }
                                }
                            }
                        }
                    }
                }
                Task.Factory.StartNew(() =>
                {
                    string fileName = DateTime.Now.ToString("yyyyMMdd") + ".log";
                    System.IO.File.AppendAllText(HttpContext.Current.Server.MapPath("~/logs/") + fileName, string.Format("{0}:同步工具箱人员信息成功\r\n", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                });
                return(new { Code = 1, message = "同步工具箱人员信息成功" });
            }
            catch (Exception ex)
            {
                Task.Run(() =>
                {
                    string fileName = DateTime.Now.ToString("yyyyMMdd") + ".log";
                    System.IO.File.AppendAllText(HttpContext.Current.Server.MapPath("~/logs/") + fileName, string.Format("{0}:{1}\r\n", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), ex.Message));
                });
                return(new { code = 0, message = ex.Message });
            }
        }