/// <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);
        }
Esempio n. 4
0
        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);
     }
 }
Esempio n. 9
0
        /// <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);
            }
        }
Esempio n. 10
0
        /// <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);
        }