Example #1
0
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public static DepartmentResult Create(DepartmentEntity model)
        {
            DepartmentResult resul       = new DepartmentResult();
            AccessToken      accessToken = TokenHelp.GetAccessToken();
            string           url         = DingTalkUrlHelp.CreateDepartment(accessToken.Value);

            resul = DingTalkHttpHelp <DepartmentResult> .Post(url, model.ToJson());

            return(resul);
        }
        public static void DepartmentImputDingTalk(SqlSugarClient Ddb)
        {
            LogHelper log = LogFactory.GetLogger("ImputEsbDepartment");

            Ddb.CodeFirst.InitTables(typeof(DepartmentTrees));

            int treeCount = Ddb.Queryable <DepartmentTrees>().Count();
            int maxlevel  = Ddb.Queryable <DepartmentTrees>().Max(it => it.level);
            int countRow  = 0;

            log.Info("\r\n------------------------------------------------钉钉组织框架根据ESB部门树数据调整------------------------------------------------\r\n");
            for (int i = 0; i <= maxlevel; i++)
            {
                List <DepartmentTrees> list = new List <DepartmentTrees>();
                list = Ddb.Queryable <DepartmentTrees>().Where(it => it.level == i).ToList();
                foreach (var item in list)
                {
                    countRow++;
                    try
                    {
                        string DepartmentJson = DepartmentForDingTalkBll.GetDepartment(item.DD_Id);

                        DepartmentEntity model = new DepartmentEntity();
                        model                  = Newtonsoft.Json.JsonConvert.DeserializeObject <DepartmentEntity>(DepartmentJson);
                        model.parentid         = item.DD_ParentId;
                        model.order            = list.IndexOf(item).ToString();
                        model.sourceIdentifier = item.DepartmentId;
                        string param  = model.ToJson();
                        Result result = DepartmentBll.Update(param);
                        if (result != null)
                        {
                            if (result.errcode == "0")
                            {
                                Console.Write("第" + i + "级数据更新成功," + result.errmsg + ",已更新:" + countRow + "条,当前进度:" + (Math.Round(Convert.ToDecimal(Convert.ToDouble(countRow) / Convert.ToDouble(treeCount)), 2, MidpointRounding.AwayFromZero) * 100) + "%\n\n");
                            }
                            else
                            {
                                Console.Write(result.errmsg);
                            }
                        }
                        else
                        {
                            Console.Write("\r\n无返回数据\r\n");
                        }
                    }
                    catch (Exception ex)
                    {
                        log.Error("\r\n InitializeDingTalk-DepartmentImputDingTalk() " + ex.Message + "\r\n");
                        Console.Write("\r\n" + ex.Message + "\r\n");
                    }
                }
            }
            Console.Write("更新成功,共更新 " + countRow + " 条数据");
        }
Example #3
0
        private static void OperationRepeatData2()
        {
            GetDepartmentList DepartmentList = DepartmentBll.GetList();

            string sql = @"
                            select * from DepartmentResult where ESB_DepartmentID in(
                            '1000003530',
                            '1000003531',
                            '1000003532',
                            '1000003534',
                            '1000003535',
                            '1000003536',
                            '1000003537',
                            '1000003538'
                            )
                        ";

            SqlSugarClient Ddb = new SqlSugarClient(new ConnectionConfig()
            {
                ConnectionString      = Config.DingTalkConnectionString,
                DbType                = DbType.SqlServer,
                IsAutoCloseConnection = true,
                InitKeyType           = InitKeyType.Attribute
            });

            List <DepartmentResult> list = Ddb.Ado.SqlQuery <DepartmentResult>(sql);

            foreach (var item in list)
            {
                var dddd = DepartmentList.department.Where(e => e.id.Equals(item.id)).ToList().FirstOrDefault();
                if (dddd != null)
                {
                    DepartmentEntity model          = new DepartmentEntity();
                    string           DepartmentJson = GetDepartment(item.id);
                    model = JsonHelper.JsonToModel <DepartmentEntity>(DepartmentJson);

                    //如果部门名或者部门父ID与钉钉的不同的时候就更新,如果相同就不调用更新接口
                    if (!model.name.Equals(item.ESB_DepartmentName))
                    {
                        model.name             = item.ESB_DepartmentName;
                        model.sourceIdentifier = item.ESB_DepartmentID;
                        string param  = model.ToJson();
                        Result result = DepartmentBll.Update(param);
                    }
                }
            }
            Console.Write("\r\n处理完毕");
        }