//获取所有子项列表 public void GETXXFBUSERCHILDREN(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { string strSql = string.Format(@"SELECT DISTINCT type.* from SZHL_XXFBType type inner join SZHL_XXFB xxfb on type.ID=xxfb.XXFBType where xxfb.ComId={0} and ','+xxfb.JSUser+',' LIKE '%,{1},%'", UserInfo.User.ComId, UserInfo.User.UserName); DataTable dt = new SZHL_XXFBB().GetDTByCommand(strSql); if (dt.Rows.Count > 0) { string pIds = ""; string Ids = ""; foreach (DataRow row in dt.Rows) { pIds += row["PTypeID"] + ","; Ids += row["Id"] + ","; } pIds = pIds.Substring(0, pIds.Length - 1); Ids = Ids.Substring(0, Ids.Length - 1); string strSql1 = string.Format("SELECT * from SZHL_XXFBType where Id in ({0}) and isDel=0 and ComId={1} order by PTypeID", pIds, UserInfo.User.ComId, Ids); DataTable dtParentType = new SZHL_XXFBTypeB().GetDTByCommand(strSql1); foreach (DataRow row in dt.Rows) { string parentTypeName = ""; if (!string.IsNullOrEmpty(row["TypePath"].ToString())) { DataTable parentRow = dtParentType.Where("ID in (" + row["TypePath"].ToString().Replace('-', ',') + ")").OrderBy(" ID asc "); foreach (DataRow prow in parentRow.Rows) { parentTypeName = parentTypeName + (parentTypeName != "" ? "-" : "") + prow["TypeName"]; } row["TypeName"] = parentTypeName + (parentTypeName != "" ? "-" : "") + row["TypeName"]; } } msg.Result = dt; } }
//获取管理员所管理的类型列表 public void GETXXFBCHILDRENMANAGE(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { List <SZHL_XXFBType> allTypeList = new SZHL_XXFBTypeB().GetEntities(d => d.ComId == UserInfo.User.ComId && d.IsDel == 0).ToList(); if (allTypeList.Count > 0) { string pIds = allTypeList.Select(d => d.PTypeID.Value).Distinct().ToList().ListTOString(','); string strSql = string.Format("SELECT * from SZHL_XXFBType where ','+TypeManager+',' like '%,{0},%'and Id not in ({1}) and ComId={2} and isDel=0 order by PTypeID", UserInfo.User.UserName, pIds, UserInfo.User.ComId); DataTable dtType = new SZHL_XXFBTypeB().GetDTByCommand(strSql); foreach (DataRow row in dtType.Rows) { string parentTypeName = allTypeList.Where(d => row["TypePath"].ToString().Split('-').Contains(d.ID.ToString())).OrderBy(d => d.ID).Select(d => d.TypeName).ToList <string>().ListTOString('-'); row["TypeName"] = parentTypeName + "-" + row["TypeName"]; } msg.Result = dtType; } }