/// <summary> /// 获取内部组织机构 /// </summary> /// <param name="userInfo">用户</param> /// <returns>数据表</returns> public DataTable GetInnerOrganizeDT(UserInfo userInfo) { var parameter = ParameterUtil.CreateWithLog(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessRDIWriteDbWithLock(userInfo, parameter, locker, (dbProvider, getOnLine) => { var organizeManager = new PiOrganizeManager(dbProvider, userInfo); if (MessageService.LastCheckOrgTime == DateTime.MinValue) { getOnLine = true; } else { TimeSpan timeSpan = DateTime.Now - MessageService.LastCheckOrgTime; if ((timeSpan.Minutes * 60 + timeSpan.Seconds) >= SystemInfo.OnLineCheck * 100) { getOnLine = true; } } if (OnLineStateDT == null || getOnLine) { string commandText = " SELECT * " + " FROM " + PiOrganizeTable.TableName + " WHERE " + PiOrganizeTable.FieldDeleteMark + " = 0 " + " AND " + PiOrganizeTable.FieldIsInnerOrganize + " = 1 " + " AND " + PiOrganizeTable.FieldEnabled + " = 1 " + " ORDER BY " + PiOrganizeTable.FieldSortCode; InnerOrganizeDT = organizeManager.Fill(commandText); InnerOrganizeDT.TableName = PiOrganizeTable.TableName; MessageService.LastCheckOrgTime = DateTime.Now; } return(getOnLine); }); return(InnerOrganizeDT); }