/// <summary> /// 取得所有符合条件的Company列表 /// </summary> /// <param name="userGuid"></param> /// <param name="action"></param> /// <returns></returns> public List <Company> GetCompany(AuthCompany auth) { string strSql = " SELECT DISTINCT " + " C.GUID AS COMPANYGUID " + " , C.COMPANY AS COMPANYCODE " + " , C.IP " + " , C.DBNAME " + " , C.NAME_ZH AS COMPANYNAME_ZH " + " , C.NAME_EN AS COMPANYNAME_EN " + " , C.SUPPLIERCODE " + " , C.SUPERIORCOMPANY " + " FROM COMPANY C " + " WHERE C.STATUS = '1' "; if (!string.IsNullOrWhiteSpace(auth.srvCompanyCode)) { strSql = strSql + " AND (ISNULL(C.CUSTOMCODE, '') <> '' " + " OR COMPANY = '" + auth.srvCompanyCode + "') "; } strSql = strSql + " ORDER BY C.COMPANY "; List <Company> lstCompany = SqlServerHelper.GetEntityList <Company>(SqlServerHelper.salesorderConn(), strSql); return(lstCompany); }
public List <CCWhs> GetCC(AuthCompany param) { try { List <SingleField> lstCC = new List <SingleField>(); UserAuthParam uParam = new UserAuthParam(); string strSql = string.Empty; uParam.userGuid = param.userGuid; uParam.action = param.action; uParam.fieldName = "costcenter"; uParam.recursion = false; lstCC = (new AccountFactory()).GetAuthList(uParam); string strCostCenterCode = string.Join("','", lstCC.Select(r => r.code).Distinct().ToArray()); strCostCenterCode = "('" + strCostCenterCode + "')"; return(null); } catch (Exception ex) { throw ex; } }
public Response GetCompanySite(string token, [FromBody] AuthCompany auth) { Response response = new Response(); if (string.IsNullOrWhiteSpace(token) || !token.Equals(_token)) { response.code = "404"; response.message = "Invalid Token"; } else { var data = SiteDIYHelper.GetCompanySite(auth); if (data == null || !data.Any()) { response.code = "500"; response.message = "Get data Failed"; } else { response.code = "200"; response.content = data; } } return(response); }
public Response GetCompany(string token, [FromBody] AuthCompany auth) { Response response = new Response(); if (string.IsNullOrEmpty(token) || !token.Equals(_token)) { response.code = "404"; response.message = "Invild token"; } else { var data = CompanyHelper.GetCompany(auth); if (data == null) { response.code = "500"; response.message = "No Data"; } else { response.code = "200"; response.content = data; } } return(response); }
/// <summary> /// 根据权限取得Company列表 /// </summary> /// <param name="auth">权限参数</param> /// <returns></returns> public List <Company> GetCompanyInAuth(AuthCompany auth) { // 取得Guid集合 string strGuid = Util.AdenCommon.MastData.formatActionToMenuGuid(auth.action); StringBuilder sbSql = new StringBuilder(); sbSql.Append(" WITH COMPANYCODE(GUID, CODE) AS "); sbSql.Append(" ( "); sbSql.Append(" SELECT C.GUID "); sbSql.Append(" , C.COMPANY CODE "); sbSql.Append(" FROM COMPANY C "); sbSql.Append(" INNER JOIN TBLUSERMENUDATA AS U "); sbSql.Append(" ON C.GUID = U.GUID "); sbSql.Append(" AND U.TYPE = 'company' "); sbSql.Append(" AND U.USERGUID = '" + auth.userGuid + "' "); sbSql.Append(" AND U.MENUGUID IN " + strGuid); sbSql.Append(" WHERE C.STATUS = '1' "); sbSql.Append(" UNION ALL "); sbSql.Append(" SELECT A2.GUID "); sbSql.Append(" , A2.COMPANY CODE "); sbSql.Append(" FROM COMPANYCODE A1 "); sbSql.Append(" , COMPANY A2 "); sbSql.Append(" WHERE A1.CODE = ISNULL(A2.SUPERIORCOMPANY, '') "); sbSql.Append(" AND A2.COMPANY <> ISNULL(A2.SUPERIORCOMPANY, '') "); sbSql.Append(" AND STATUS = '1' "); sbSql.Append(" ) "); sbSql.Append(" SELECT DISTINCT "); sbSql.Append(" C.GUID AS COMPANYGUID "); sbSql.Append(" , C.COMPANY AS COMPANYCODE "); sbSql.Append(" , C.IP "); sbSql.Append(" , C.DBNAME "); sbSql.Append(" , C.NAME_ZH AS COMPANYNAME_ZH "); sbSql.Append(" , C.NAME_EN AS COMPANYNAME_EN "); sbSql.Append(" , C.SUPPLIERCODE "); sbSql.Append(" , C.SUPERIORCOMPANY "); sbSql.Append(" FROM COMPANY AS C "); sbSql.Append(" INNER JOIN COMPANYCODE AS U "); sbSql.Append(" ON C.GUID = U.GUID "); sbSql.Append(" WHERE 1 = 1 "); if (!string.IsNullOrWhiteSpace(auth.isSupplier)) { sbSql.Append(" AND ISNULL(C.SUPPLIERCODE, '') <> '' "); } sbSql.Append(" ORDER BY C.COMPANY "); List <Company> lstCompany = SqlServerHelper.GetEntityList <Company>(SqlServerHelper.salesorderConn(), sbSql.ToString()); return(lstCompany); }
public static List <CCWhs> GetCC(AuthCompany param) { try { List <CCWhs> lstCCWhs = SFEEDFactory.GetCC(param); if (lstCCWhs == null) { throw new Exception("DAL.MenuOrder.WeeklyMenuFactory.GetCCWhs()==null"); } return(lstCCWhs); } catch (Exception ex) { LogHelper.WriteLog(new Log() { message = ex.Message }, "lstCCWhs"); return(null); } }
/// <summary> /// 根据权限取得Company列表 /// </summary> /// <returns></returns> public static List <Company> GetCompanyInAuth(AuthCompany auth) { try { List <Company> lstCompany = factory.GetCompanyInAuth(auth); if (lstCompany == null) { throw new Exception("DAL.SalesOrder.CompanyFactory.GetCompanyInAuth()==null"); } return(lstCompany); } catch (Exception ex) { LogHelper.WriteLog(new Log() { message = ex.Message }, "GetCompanyInAuth"); return(null); } }
/// <summary> /// 获取用户有权限获得的分公司-营运点下拉表 /// </summary> /// <param name="auth"></param> /// <returns></returns> public static List <DBSite> GetCompanySite(AuthCompany auth) { try { if (string.IsNullOrWhiteSpace(auth.action) || string.IsNullOrWhiteSpace(auth.userGuid)) { throw new Exception("GetCompanySite is null"); } List <DBSite> list = SiteDIYFacotry.GetCompanySite(auth); if (list == null || !list.Any()) { throw new Exception("DAL.SiteDIYFactory.GetCompanySite()==null"); } return(list); } catch (Exception ex) { LogHelper.WriteLog(new Log() { message = ex.Message }, "GetCompanySite"); return(null); } }
/// <summary> /// 获取用户有权限获得的分公司-营运点下拉表 /// </summary> /// <param name="auth"></param> /// <returns></returns> public List <DBSite> GetCompanySite(AuthCompany auth) { try { string strCCList = "SELECT A1.BUGUID AS COMPANYGUID,A2.ERPCODE AS DBNAME,A1.CODE AS COSTCENTERCODE,A1.GUID AS SITEGUID FROM TBLSITE (NOLOCK) A1,TBLBU (NOLOCK) A2 where A1.BUGUID=A2.BUGUID"; //"SELECT DISTINCT DBNAME,COSTCENTERCODE FROM CCMAST (NOLOCK)"; //List<CCMast> CCList = SqlServerHelper.GetEntityList<CCMast>(SqlServerHelper.salesorderConn, strCCList); List <CCMast> CCList = SqlServerHelper.GetEntityList <CCMast>(SqlServerHelper.sfeed(), strCCList); List <Company> GetCompanySite = new List <Company>(); if (auth.action == "wechatBarCode" && auth.userGuid == "None") { GetCompanySite = null; } else { GetCompanySite = compfactory.GetCompanyInAuth(auth); } List <DBSite> SiteList = GetSite(auth.action, auth.userGuid); SiteList = (from a in SiteList join b in CCList on a.costCenterCode equals b.costCenterCode select a).ToList(); List <DBSite> strList = new List <DBSite>(); if (GetCompanySite != null && GetCompanySite.Count > 0) { strList = GetCompanySite.Join(CCList, mos => new { companyCode = mos.companyCode }, nos => new { companyCode = nos.dbName }, (mos, nos) => { var data = new DBSite(); data.dbName = mos.dbName; data.companyGuid = nos.companyGuid; data.companyCode = mos.companyCode; data.companyName_ZH = mos.companyName_ZH; data.companyName_EN = mos.companyName_EN; data.costCenterCode = nos.costCenterCode; data.siteGuid = nos.siteGuid; return(data); }).ToList(); if (SiteList != null && SiteList.Count > 0) { strList = strList.Union(SiteList).Distinct(dr => dr.costCenterCode).ToList(); } } else { if (SiteList != null && SiteList.Count > 0) { strList = SiteList; } else if (SiteList == null || SiteList.Count == 0) { return(null); } } List <Site> list = new List <Site>(); foreach (var item in strList) { Site db = new Site(); db.dbName = item.dbName; db.companyGuid = item.companyGuid; db.companyCode = item.companyCode; db.companyName_ZH = item.companyName_ZH; db.companyName_EN = item.companyName_EN; db.costCenterCode = item.costCenterCode; db.siteGuid = item.siteGuid; list.Add(db); } list.OrderBy(dr => dr.dbName).ThenBy(dr => dr.costCenterCode); var lg = strList.GroupBy(dr => dr.dbName).Select(dg => new DBSite() { dbName = dg.FirstOrDefault().dbName, companyName_ZH = dg.FirstOrDefault().companyName_ZH, companyGuid = dg.FirstOrDefault().companyGuid, siteList = list.Where(ds => ds.dbName.Equals(dg.FirstOrDefault().dbName)).OrderBy(dr => dr.costCenterCode).ToList() }).OrderBy(dg => dg.dbName).ToList().Distinct(); return(lg.ToList()); } catch (Exception ex) { throw (ex); } }
/// <summary> /// 取得权限列表 /// </summary> /// <param name="param"></param> /// <returns></returns> public List <SingleField> GetAuthList(UserAuthParam param) { // 取得Guid集合 string strMenuGuid = Aden.Util.AdenCommon.MastData.formatActionToMenuGuid(param.action); // costCenter list List <SingleField> lstCC = new List <SingleField>(); // company list List <SingleField> lstCP = new List <SingleField>(); // company Guid条件拼接 string strCompanyGuid = string.Empty; // company Code条件拼接 string strCompanyCode = string.Empty; string strSqlCC = " SELECT RTRIM(CODE) AS CODE " + " FROM TBLUSERMENUDATA " + " WHERE USERGUID = '{0}' " + " AND STATUS = '1' " + " AND TYPE = 'costcenter' " + " AND MENUGUID IN {1} "; string strSqlCP = " SELECT RTRIM(GUID) AS GUID " + " FROM TBLUSERMENUDATA " + " WHERE USERGUID = '{0}' " + " AND STATUS = '1' " + " AND TYPE = 'company' " + " AND MENUGUID IN {1} "; if ("costcenter".Equals(param.fieldName.ToLower())) { lstCC = SqlServerHelper.GetEntityList <SingleField>(SqlServerHelper.salesorderConn(), string.Format(strSqlCC, param.userGuid, strMenuGuid)); } if (param.recursion) { // 递归取得所有子公司 AuthCompany auth = new AuthCompany(); auth.action = param.action; auth.userGuid = param.userGuid; List <Model.SOMastData.Company> lstCompany = (new CompanyFactory()).GetCompanyInAuth(auth); SingleField sf = new SingleField(); foreach (Model.SOMastData.Company company in lstCompany) { sf = new SingleField(); sf.guid = company.companyGuid; lstCP.Add(sf); } } else { lstCP = SqlServerHelper.GetEntityList <SingleField>(SqlServerHelper.salesorderConn(), string.Format(strSqlCP, param.userGuid, strMenuGuid)); } if (lstCP != null && lstCP.Any()) { strCompanyGuid = string.Join("','", lstCP.Select(r => r.guid).Distinct().ToArray()); strCompanyGuid = "('" + strCompanyGuid + "')"; // 取得CompanyGuid对应的companyCode string strSqlCompany = " SELECT GUID " + " , COMPANY AS CODE " + " , NAME_ZH AS NAME1 " + " , NAME_EN AS NAME2 " + " FROM COMPANY " + " WHERE GUID IN {0} " + " AND STATUS = '1' "; lstCP = SqlServerHelper.GetEntityList <SingleField>(SqlServerHelper.salesorderConn(), string.Format(strSqlCompany, strCompanyGuid)); lstCP = lstCP.OrderBy(r => r.code).ToList(); } if ("company".Equals(param.fieldName.ToLower())) { return(lstCP); } /***将公司List转换成CCList***/ if (lstCP != null && lstCP.Any()) { List <SingleField> lstTemp = new List <SingleField>(); strCompanyCode = string.Join("','", lstCP.Select(r => r.code).Distinct().ToArray()); strCompanyCode = "('" + strCompanyCode + "')"; string strSqlCostCenter = " SELECT COSTCENTERCODE AS CODE" + " FROM CCMast " + " WHERE STATUS = '1' " + " AND DBNAME IN {0} "; lstTemp = SqlServerHelper.GetEntityList <SingleField>(SqlServerHelper.salesorderConn(), string.Format(strSqlCostCenter, strCompanyCode)); lstCC = lstCC.Concat(lstTemp).ToList(); lstCC = lstCC.OrderBy(r => r.code).ToList(); /***根据Code去重复***/ lstCC = lstCC.Where((x, i) => lstCC.FindIndex(z => z.code == x.code) == i).ToList(); } return(lstCC); }