/// <summary> /// 对象实体绑定数据 /// </summary> private static USER_SHARE_COMPANYRELATEMODEL ReaderBind(DataRow dataReader) { USER_SHARE_COMPANYRELATEMODEL model = new USER_SHARE_COMPANYRELATEMODEL(); model.CID = ValidatorHelper.ToInt(dataReader["CID"], 0); model.COMPANYTYPE = ValidatorHelper.ToInt(dataReader["COMPANYTYPE"], 0); model.COMPANYNAME = CommonMethod.FinalString(dataReader["COMPANYNAME"]); model.COMPANYID = ValidatorHelper.ToInt(dataReader["COMPANYID"], 0); model.GROUPID = CommonMethod.FinalString(dataReader["GROUPID"]); model.PRODUCTIDS = CommonMethod.FinalString(dataReader["PRODUCTIDS"]); model.PROJECTIDS = CommonMethod.FinalString(dataReader["PROJECTIDS"]); model.COMPANYCODE = ValidatorHelper.ToInt(dataReader["COMPANYCODE"], 0); model.SHARECOMPANYID = ValidatorHelper.ToInt(dataReader["SHARECOMPANYID"], 0); model.ADMINID = ValidatorHelper.ToInt(dataReader["ADMINID"], 0); model.CREATEDATE = ValidatorHelper.ToDateTime(dataReader["CREATEDATE"], DateTime.Now); model.STATUS = ValidatorHelper.ToInt(dataReader["STATUS"], 0); return(model); }
/// <summary> /// 获取对象 /// </summary> /// <param name="nCompanyId"></param> /// <returns></returns> public static USER_SHARE_COMPANYRELATEMODEL GetModelByCid(int nCId) { StringBuilder strSql = new StringBuilder(); strSql.Append("select CID,COMPANYTYPE,COMPANYNAME,COMPANYID,GROUPID,PROJECTIDS,PRODUCTIDS,COMPANYCODE,SHARECOMPANYID,ADMINID,CREATEDATE,STATUS from USER_SHARE_COMPANYRELATE "); strSql.Append(" where CID=:CID "); ParamList param = new ParamList(); param["CID"] = nCId; USER_SHARE_COMPANYRELATEMODEL model = null; DataTable dt = StaticConnectionProvider.ExecuteDataTable(strSql.ToString(), param); if (dt != null && dt.Rows.Count > 0) { model = ReaderBind(dt.Rows[0]); } return(model); }
private void LoadOriInfo(string strCid) { if (strCid.Length > 0) { USER_SHARE_COMPANYRELATEMODEL uscrModel = CompanyBusiness.GetModelByCid(ValidatorHelper.ToInt(strCid, 0)); if (uscrModel != null) { txtCompanyName.Text = uscrModel.COMPANYNAME; ControlHelper.SelectFlg(ddlCompanyType, uscrModel.COMPANYTYPE.ToString()); hidCompanyId.Value = uscrModel.COMPANYID > 0 ? uscrModel.COMPANYID.ToString() : uscrModel.SHARECOMPANYID.ToString(); hidGroupId.Value = CommonMethod.FinalString(uscrModel.GROUPID); hidGroupIdn.Value = CommonMethod.FinalString(uscrModel.GROUPIDN); hidProjects.Value = CommonMethod.FinalString(uscrModel.PROJECTIDS); hidProducts.Value = CommonMethod.FinalString(uscrModel.PRODUCTIDS); } else { Response.Write("不存在此公司信息!"); Response.End(); } } }
/// <summary> /// 获取TMS项目的公司账号信息 /// </summary> /// <param name="context"></param> /// <param name="xmlDoc"></param> /// <param name="sResponse"></param> private void GetAccounts(HttpContext context, XmlDocument xmlDoc, ServiceResponse sResponse) { XmlNode xnAccountName = xmlDoc.SelectSingleNode("request/accountname"); XmlNode xnAccountPwd = xmlDoc.SelectSingleNode("request/accountpwd"); XmlNode xnCompanyCode = xmlDoc.SelectSingleNode("request/companyid"); if (CommonMethod.FinalString(xnAccountName.InnerText).Length == 0) { sResponse.ErrorType = ShareEnum.ApiResultStatus.InputParaErr; sResponse.ErrorDesc = "缺少传入参数accountname"; return; } if (CommonMethod.FinalString(xnAccountPwd.InnerText).Length == 0) { sResponse.ErrorType = ShareEnum.ApiResultStatus.InputParaErr; sResponse.ErrorDesc = "缺少传入参数accountpwd"; return; } if (CommonMethod.FinalString(xnCompanyCode.InnerText).Length == 0) { sResponse.ErrorType = ShareEnum.ApiResultStatus.InputParaErr; sResponse.ErrorDesc = "缺少传入参数companyid"; return; } USER_SHARE_ACCOUNTMODEL accountModel = AccountBusiness.GetAccountModel(xnCompanyCode.InnerText.Trim(), xnAccountName.InnerText.Trim(), xnAccountPwd.InnerText.Trim()); if (accountModel == null) { sResponse.ErrorType = ShareEnum.ApiResultStatus.UnValidUser; sResponse.ErrorDesc = "用户名和密码不匹配"; return; } if (accountModel.STATUS != int.Parse(ShareEnum.AccountStatus.Normal.ToString("d"))) { sResponse.ErrorType = ShareEnum.ApiResultStatus.UnValidUser; sResponse.ErrorDesc = "此用户已停用"; return; } USER_SHARE_COMPANYRELATEMODEL companyModel = CompanyBusiness.GetModel(accountModel.COMPANYID); //不存在公司信息或 公司编码和传入的编码不一致 if (companyModel == null || companyModel.COMPANYCODE.ToString() != xnCompanyCode.InnerText.Trim()) { sResponse.ErrorType = ShareEnum.ApiResultStatus.CompanyNotMatchAccount; sResponse.ErrorDesc = "公司信息和账号信息不匹配"; return; } if (companyModel.STATUS != int.Parse(ShareEnum.CompanyRelateStatus.Normal.ToString("d"))) { sResponse.ErrorType = ShareEnum.ApiResultStatus.CompanyStopUse; sResponse.ErrorDesc = "此公司已停用"; return; } //获取账号信息 string strWhere = string.Format(" AND COMPANYID={0} ", xnCompanyCode.InnerText.Trim()); strWhere += string.Format(" AND STATUS={0} ", ShareEnum.AccountStatus.Normal.ToString("d")); int count = 0; DataTable dt = AccountBusiness.GetAccountList(0, int.MaxValue, strWhere, out count); StringBuilder sbContent = new StringBuilder("<accounts>"); if (dt != null && dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { sbContent.AppendFormat(@"<accountitem><accountname>{0}</accountname><accountpwd>{1}</accountpwd> <truename>{2}</truename><isadmin>{3}</isadmin></accountitem> ", dr["ACCOUNTNAME"], dr["ACCOUNTPWD"], dr["REALNAME"], dr["ISADMIN"]); } } sbContent.Append("</accounts>"); sResponse.Result = sbContent.ToString(); }
/// <summary> /// 危险品,运管项目公司和账号自动注册接口(临时用) /// </summary> /// <param name="context"></param> /// <param name="xmlDoc"></param> /// <param name="sResponse"></param> private void AutoRegister(HttpContext context, XmlDocument xmlDoc, ServiceResponse sResponse) { //传入参数验证 XmlNode xnCompanyType = xmlDoc.SelectSingleNode("request/companytype"); XmlNode xnCompanyName = xmlDoc.SelectSingleNode("request/companyname"); XmlNode xnGroupId = xmlDoc.SelectSingleNode("request/groupid"); XmlNode xnGroupIdn = xmlDoc.SelectSingleNode("request/groupidn"); XmlNode xnAccountName = xmlDoc.SelectSingleNode("request/accountname"); XmlNode xnAccountPwd = xmlDoc.SelectSingleNode("request/accountpwd"); XmlNode xnRealName = xmlDoc.SelectSingleNode("request/realname"); if (xnCompanyType == null || xnCompanyType.InnerText.Trim().Length == 0) { sResponse.ErrorType = ShareEnum.ApiResultStatus.InputParaErr; sResponse.ErrorDesc = "缺少传入参数companytype"; return; } if (xnCompanyName == null || xnCompanyName.InnerText.Trim().Length == 0) { sResponse.ErrorType = ShareEnum.ApiResultStatus.InputParaErr; sResponse.ErrorDesc = "缺少传入参数companyname"; return; } if (xnGroupId == null || xnGroupId.InnerText.Trim().Length == 0) { sResponse.ErrorType = ShareEnum.ApiResultStatus.InputParaErr; sResponse.ErrorDesc = "缺少传入参数groupid"; return; } if (xnGroupIdn == null || xnGroupIdn.InnerText.Trim().Length == 0) { sResponse.ErrorType = ShareEnum.ApiResultStatus.InputParaErr; sResponse.ErrorDesc = "缺少传入参数groupidn"; return; } if (xnAccountName == null || xnAccountName.InnerText.Trim().Length == 0) { sResponse.ErrorType = ShareEnum.ApiResultStatus.InputParaErr; sResponse.ErrorDesc = "缺少传入参数accountname"; return; } if (xnAccountPwd == null || xnAccountPwd.InnerText.Trim().Length == 0) { sResponse.ErrorType = ShareEnum.ApiResultStatus.InputParaErr; sResponse.ErrorDesc = "缺少传入参数accountpwd"; return; } if (xnRealName == null || xnRealName.InnerText.Trim().Length == 0) { sResponse.ErrorType = ShareEnum.ApiResultStatus.InputParaErr; sResponse.ErrorDesc = "缺少传入参数realname"; return; } int ntype = 0; string projectids = ""; string productids = ""; switch (xnCompanyType.InnerText.Trim()) { //危险品运输 case "0": ntype = int.Parse(ShareEnum.CompanyType.PlatCompany.ToString("d")); projectids = ",1,21,"; //开通项目,危险品整合 和权限系统 productids = ",15,2,"; //权限系统维护和危险品运输 break; //运管平台 case "2": ntype = int.Parse(ShareEnum.CompanyType.YgCompany.ToString("d")); projectids = ",1,"; //开通项目,危险品整合 和权限系统 productids = ",15,"; //权限系统维护 break; default: return; } int ncode = CompanyBusiness.IsCompanyExists(xnCompanyName.InnerText.Trim(), xnGroupId.InnerText.Trim(), ntype); int companyid = PlatFormBusiness.GetYgCompanyId(xnCompanyName.InnerText.Trim()); if (ncode > 0) { //判断账号是否存在 USER_SHARE_ACCOUNTMODEL accountModel1 = AccountBusiness.GetAccountModel(xnAccountName.InnerText.Trim(), ncode.ToString()); if (accountModel1 != null) { //已存在的账号,判断密码是否改动,如果改动,更新密码 if (accountModel1.ORIGNALPWD.Trim() != xnAccountPwd.InnerText.Trim()) { accountModel1.ORIGNALPWD = xnAccountPwd.InnerText.Trim(); accountModel1.ACCOUNTPWD = Enc.Encrypt(xnAccountPwd.InnerText.Trim(), ncode.ToString().PadLeft(8, '0')); //日志信息 USER_SHARE_LOGMODEL logModele = new USER_SHARE_LOGMODEL(); logModele.LOGID = CommonBusiness.GetSeqID("S_USER_SHARE_LOG"); logModele.OPERATEDATE = DateTime.Now; logModele.OPERATORID = 0; logModele.PROJECTID = 21; logModele.COMPANYID = ncode; logModele.OPERATETYPE = int.Parse(ShareEnum.LogType.EditAccount.ToString("d")); logModele.OPERATECONTENT = string.Format("通过自动注册接口更改账号密码,账号名称:{0},公司ID:{1} ", xnAccountName.InnerText.Trim(), accountModel1.COMPANYID); AccountBusiness.EditAccount(accountModel1, logModele); } //之前遗漏了公司Id ,已经注册过的,公司 Id更新进去 if (companyid > 0) { CompanyBusiness.UpdateRelateCompanyId(companyid, ncode); } return; } } else { //公司注册 产品开通 USER_SHARE_COMPANYRELATEMODEL uscrModel = new USER_SHARE_COMPANYRELATEMODEL(); ncode = CompanyBusiness.GetCompanyCode(); uscrModel.CID = CommonBusiness.GetSeqID("S_USER_SHARE_COMPANYRELATE"); uscrModel.COMPANYID = companyid; uscrModel.COMPANYTYPE = ntype; uscrModel.COMPANYNAME = xnCompanyName.InnerText.Trim(); uscrModel.STATUS = int.Parse(ShareEnum.CompanyRelateStatus.Normal.ToString("d")); uscrModel.GROUPID = xnGroupId.InnerText.Trim(); uscrModel.GROUPIDN = xnGroupIdn.InnerText.Trim(); uscrModel.PROJECTIDS = projectids; //开通项目 uscrModel.PRODUCTIDS = productids; //开通产品 uscrModel.CREATEDATE = DateTime.Now; uscrModel.COMPANYCODE = ncode; //日志记录 USER_SHARE_LOGMODEL logModel = new USER_SHARE_LOGMODEL(); logModel.LOGID = CommonBusiness.GetSeqID("S_USER_SHARE_LOG"); logModel.OPERATEDATE = DateTime.Now; logModel.OPERATORID = 0; logModel.PROJECTID = 21; logModel.COMPANYID = ncode; logModel.OPERATETYPE = int.Parse(ShareEnum.LogType.AddCompanyRelate.ToString("d")); logModel.OPERATECONTENT = "通过接口新增公司注册信息,公司名称:" + uscrModel.COMPANYNAME; CompanyBusiness.AddCompanyRelate(uscrModel, logModel); } //账号信息 USER_SHARE_ACCOUNTMODEL accountModel = new USER_SHARE_ACCOUNTMODEL(); accountModel.ACCOUNTID = CommonBusiness.GetSeqID("S_USER_SHARE_ACCOUNT"); accountModel.ACCOUNTNAME = xnAccountName.InnerText.Trim(); accountModel.ACCOUNTPWD = Enc.Encrypt(xnAccountPwd.InnerText.Trim(), ncode.ToString().PadLeft(8, '0')); accountModel.COMPANYID = ncode; accountModel.ORIGNALPWD = xnAccountPwd.InnerText.Trim(); accountModel.CREATEDATE = DateTime.Now; accountModel.REALNAME = xnRealName.InnerText.Trim(); accountModel.EMAIL = ""; accountModel.STATUS = int.Parse(ShareEnum.AccountStatus.Normal.ToString("d")); accountModel.ISADMIN = 0; accountModel.CREATORID = 0; //日志信息 USER_SHARE_LOGMODEL logModel2 = new USER_SHARE_LOGMODEL(); logModel2.LOGID = CommonBusiness.GetSeqID("S_USER_SHARE_LOG"); logModel2.OPERATEDATE = DateTime.Now; logModel2.OPERATORID = 0; logModel2.PROJECTID = 21; logModel2.COMPANYID = ncode; logModel2.OPERATETYPE = int.Parse(ShareEnum.LogType.AddAccount.ToString("d")); logModel2.OPERATECONTENT = string.Format("通过公司自动注册接口注册公司后新增账号信息,账号名称:{0},公司ID:{1} ", xnAccountName.InnerText.Trim(), accountModel.COMPANYID); AccountBusiness.AddAccount(accountModel, logModel2); }
/// <summary> /// 修改密码 /// </summary> /// <param name="context"></param> /// <param name="xmlDoc"></param> /// <param name="sResponse"></param> private void EditAccountPwd(HttpContext context, XmlDocument xmlDoc, ServiceResponse sResponse) { XmlNode xnKey = xmlDoc.SelectSingleNode("request/appkey"); XmlNode xnAccountId = xmlDoc.SelectSingleNode("request/accountid"); XmlNode xnOldPwd = xmlDoc.SelectSingleNode("request/oldpwd"); XmlNode xnNewPwd = xmlDoc.SelectSingleNode("request/newpwd"); USER_SHARE_PROJECTMODEL projectModel = ProjectBusiness.GetProjectModelByKey(xnKey.InnerText.Trim()); if (projectModel == null) { sResponse.ErrorType = ShareEnum.ApiResultStatus.KeyErr; sResponse.ErrorDesc = "不存在的密钥KEY"; return; } else { //oldpwd参数验证 if (xnOldPwd == null || xnOldPwd.InnerText.Trim().Length == 0) { sResponse.ErrorType = ShareEnum.ApiResultStatus.InputParaErr; sResponse.ErrorDesc = "缺少传入参数oldpwd"; return; } //newpwd参数验证 if (xnNewPwd == null || xnNewPwd.InnerText.Trim().Length == 0) { sResponse.ErrorType = ShareEnum.ApiResultStatus.InputParaErr; sResponse.ErrorDesc = "缺少传入参数oldpwd"; return; } //账号Id int nAccountId = ValidatorHelper.ToInt(xnAccountId.InnerText.Trim(), 0); //accountid参数验证 if (xnAccountId == null || nAccountId <= 0) { sResponse.ErrorType = ShareEnum.ApiResultStatus.InputParaErr; sResponse.ErrorDesc = "缺少传入参数accountid"; return; } string strAppKey = xnKey.InnerText.Trim(); string strPwd = xnNewPwd.InnerText.Trim(); USER_SHARE_ACCOUNTMODEL accountModel = AccountBusiness.GetAccountModel(nAccountId); if (accountModel == null || accountModel.ACCOUNTPWD != xnOldPwd.InnerText.Trim()) { sResponse.ErrorType = ShareEnum.ApiResultStatus.OldPassUnCorrect; sResponse.ErrorDesc = "旧密码不正确"; return; } USER_SHARE_COMPANYRELATEMODEL companyModel = CompanyBusiness.GetModel(accountModel.COMPANYID); if (companyModel == null) { sResponse.ErrorType = ShareEnum.ApiResultStatus.CompanyNotMatchAccount; sResponse.ErrorDesc = "公司信息和账号信息不匹配"; return; } //得到原始密码 string strOrignalPwd = Enc.Decrypt(strPwd, companyModel.COMPANYCODE.ToString().PadLeft(8, '0')); //更新账号密码 if (!AccountBusiness.UpdatePwd(accountModel.ACCOUNTID, strPwd, strOrignalPwd)) { sResponse.ErrorType = ShareEnum.ApiResultStatus.ExceptionErr; sResponse.ErrorDesc = "更改密码时出现并发错误,请重试!"; return; } } }
/// <summary> /// 账号登陆 /// </summary> /// <param name="context"></param> /// <param name="xmlDoc"></param> /// <param name="sResponse"></param> private void AccountLogin(HttpContext context, XmlDocument xmlDoc, ServiceResponse sResponse) { XmlNode xnKey = xmlDoc.SelectSingleNode("request/appkey"); XmlNode xnCompanyCode = xmlDoc.SelectSingleNode("request/companycode"); XmlNode xnAccountName = xmlDoc.SelectSingleNode("request/accountname"); XmlNode xnAccountPwd = xmlDoc.SelectSingleNode("request/accountpwd"); USER_SHARE_PROJECTMODEL projectModel = null; //appkey参数验证 if (xnKey.InnerText.Trim().Length > 0) { projectModel = ProjectBusiness.GetProjectModelByKey(xnKey.InnerText.Trim()); if (projectModel == null) { sResponse.ErrorType = ShareEnum.ApiResultStatus.KeyErr; sResponse.ErrorDesc = "不存在的密钥KEY"; context.Response.Write(sResponse.GetXML()); return; } else { //companycode参数验证 if (xnCompanyCode == null || xnCompanyCode.InnerText.Trim().Length == 0) { sResponse.ErrorType = ShareEnum.ApiResultStatus.InputParaErr; sResponse.ErrorDesc = "缺少传入参数companycode"; return; } if (!CompanyBusiness.IsCompanyCodeExists(xnCompanyCode.InnerText.Trim())) { sResponse.ErrorType = ShareEnum.ApiResultStatus.UnValidCompanyCode; sResponse.ErrorDesc = "不存在的公司编码信息"; return; } //accountpwd参数验证 if (xnAccountPwd == null || xnAccountPwd.InnerText.Trim().Length == 0) { sResponse.ErrorType = ShareEnum.ApiResultStatus.InputParaErr; sResponse.ErrorDesc = "缺少传入参数accountpwd"; return; } //accountname参数验证 if (xnAccountName == null || xnAccountName.InnerText.Trim().Length == 0) { sResponse.ErrorType = ShareEnum.ApiResultStatus.InputParaErr; sResponse.ErrorDesc = "缺少传入参数accountname"; return; } string strAppKey = xnKey.InnerText.Trim(); string strCompanyCode = xnCompanyCode.InnerText.Trim(); string strAccountName = xnAccountName.InnerText.Trim(); string strPwd = xnAccountPwd.InnerText.Trim(); USER_SHARE_ACCOUNTMODEL accountModel = AccountBusiness.GetAccountModel(strCompanyCode, strAccountName, strPwd); if (accountModel == null) { sResponse.ErrorType = ShareEnum.ApiResultStatus.UnValidUser; sResponse.ErrorDesc = "用户名和密码不匹配"; return; } if (accountModel.STATUS != int.Parse(ShareEnum.AccountStatus.Normal.ToString("d"))) { sResponse.ErrorType = ShareEnum.ApiResultStatus.UnValidUser; sResponse.ErrorDesc = "此用户已停用"; return; } USER_SHARE_COMPANYRELATEMODEL companyModel = CompanyBusiness.GetModel(accountModel.COMPANYID); //不存在公司信息或 公司编码和传入的编码不一致 if (companyModel == null || companyModel.COMPANYCODE.ToString() != strCompanyCode) { sResponse.ErrorType = ShareEnum.ApiResultStatus.CompanyNotMatchAccount; sResponse.ErrorDesc = "公司信息和账号信息不匹配"; return; } if (companyModel.STATUS != int.Parse(ShareEnum.CompanyRelateStatus.Normal.ToString("d"))) { sResponse.ErrorType = ShareEnum.ApiResultStatus.CompanyStopUse; sResponse.ErrorDesc = "此公司已停用"; return; } StringBuilder sbContent = new StringBuilder(); sbContent.AppendFormat("<accountid>{0}</accountid>", accountModel.ACCOUNTID); sbContent.AppendFormat("<truename>{0}</truename>", accountModel.REALNAME); sbContent.AppendFormat("<companyid>{0}</companyid>", companyModel.COMPANYID); sbContent.AppendFormat("<companyname>{0}</companyname>", companyModel.COMPANYNAME); sbContent.AppendFormat("<sharecompanyid>{0}</sharecompanyid>", companyModel.SHARECOMPANYID); sbContent.AppendFormat("<sharecompanyname>{0}</sharecompanyname>", companyModel.COMPANYNAME); sbContent.AppendFormat("<productids>{0}</productids>", companyModel.PRODUCTIDS); sbContent.AppendFormat("<groupid>{0}</groupid>", companyModel.GROUPID); sbContent.AppendFormat("<groupname>{0}</groupname>", companyModel.COMPANYNAME); sbContent.AppendFormat("<groupidn>{0}</groupidn>", companyModel.GROUPIDN); sbContent.Append("<accountmenu>"); //账户拥有的菜单返回 DataTable dt = CompanyFunBusiness.GetAccountFunMenu(accountModel.ACCOUNTID, accountModel.ISADMIN, projectModel.PROJECTID, accountModel.COMPANYID); if (dt != null && dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { sbContent.AppendFormat(@"<menuitem><menuid>{0}</menuid><name>{1}</name> <linkurl>{2}</linkurl><parentid>{3}</parentid><sortnum>{4}</sortnum> <desc>{5}</desc></menuitem>", dr["FMID"], dr["CFANOTHERNAME"], dr["CFPAGEURL"], dr["CFPARENTID"], dr["CFSORTNUM"], dr["CFDESC"]); } } sbContent.Append("</accountmenu>"); sResponse.Result = sbContent.ToString(); } } }
protected void btnSave_Click(object sender, EventArgs e) { #region 基本信息 USER_SHARE_COMPANYRELATEMODEL uscrModel = null; //日志记录 USER_SHARE_LOGMODEL logModel = new USER_SHARE_LOGMODEL(); logModel.LOGID = CommonBusiness.GetSeqID("S_USER_SHARE_LOG"); logModel.OPERATEDATE = DateTime.Now; logModel.OPERATORID = AccountId; logModel.PROJECTID = ProjectId; logModel.COMPANYID = CompanyId; #region 产品 string strProjectIds = CommonMethod.FinalString(Request.Form["project"]); string strProductIds = CommonMethod.FinalString(Request.Form["ppfun"]); if (strProjectIds.Length > 0) { strProjectIds = "," + strProjectIds + ","; } if (strProductIds.Length > 0) { strProductIds = "," + strProductIds + ","; } if (strProjectIds.Length == 0 || strProductIds.Length == 0) { Alert("请选择公司开通的项目和产品!"); return; } #endregion //新增 if (Cid.Length == 0) { uscrModel = new USER_SHARE_COMPANYRELATEMODEL(); uscrModel.CID = CommonBusiness.GetSeqID("S_USER_SHARE_COMPANYRELATE"); uscrModel.STATUS = int.Parse(ShareEnum.CompanyRelateStatus.Normal.ToString("d")); uscrModel.CREATEDATE = DateTime.Now; uscrModel.COMPANYCODE = CompanyBusiness.GetCompanyCode(); logModel.OPERATETYPE = int.Parse(ShareEnum.LogType.AddCompanyRelate.ToString("d")); logModel.OPERATECONTENT = "新增公司注册关联信息,公司名称:" + txtCompanyName.Text.Trim(); } //修改 else { uscrModel = CompanyBusiness.GetModelByCid(ValidatorHelper.ToInt(Cid, 0)); logModel.OPERATETYPE = int.Parse(ShareEnum.LogType.EditCompanyRelate.ToString("d")); logModel.OPERATECONTENT = "修改公司注册关联信息,公司名称:" + txtCompanyName.Text.Trim(); } uscrModel.COMPANYNAME = txtCompanyName.Text.Trim(); uscrModel.COMPANYTYPE = int.Parse(ddlCompanyType.SelectedValue); if (uscrModel.COMPANYTYPE != int.Parse(ShareEnum.CompanyType.ShareCompany.ToString("d"))) { uscrModel.COMPANYID = ValidatorHelper.ToInt(hidCompanyId.Value, 0); uscrModel.SHARECOMPANYID = 0; } else { uscrModel.SHARECOMPANYID = ValidatorHelper.ToInt(hidCompanyId.Value, 0); uscrModel.COMPANYID = 0; } uscrModel.GROUPID = hidGroupId.Value; uscrModel.GROUPIDN = hidGroupIdn.Value; uscrModel.PROJECTIDS = strProjectIds; uscrModel.PRODUCTIDS = strProductIds; if (Cid.Length == 0) { if (CompanyBusiness.AddCompanyRelate(uscrModel, logModel)) { Alert("注册成功!"); } else { Alert("注册失败,请重试!"); } } else { if (CompanyBusiness.UpdateCompanyRelate(uscrModel, logModel)) { Alert("修改成功!"); } else { Alert("操作失败,请重试!"); } } ExecScript("parent.__doPostBack('ctl00$MainContent$btnSearch','');"); #endregion }
private void SysLogin(int nAccountId, string strAccount, string strPwd, string strAppKey, string strCompanyCode) { #region 登录 USER_SHARE_ACCOUNTMODEL account = null; if (nAccountId > 0) { account = AccountBusiness.GetAccountModel(nAccountId); } else { account = AccountBusiness.GetAccountModel(strCompanyCode, strAccount, strPwd); } if (account == null) { Alert(nAccountId > 0 ? "不存在此账号!" : "用户名密码不匹配!"); return; } else { if (account.STATUS != int.Parse(ShareEnum.AccountStatus.Normal.ToString("d"))) { Alert("此账号已无效,请确认!"); return; } USER_SHARE_PROJECTMODEL project = null; if (strAppKey.Length > 0) { project = ProjectBusiness.GetProjectModelByKey(strAppKey); if (project == null) { Alert("不存在的项目密钥,请确认!"); return; } if (project.STATUS == int.Parse(ShareEnum.ProjectStatus.StopUse.ToString("d"))) { Alert("此项目已停用,请确认!"); return; } } USER_SHARE_COMPANYRELATEMODEL company = CompanyBusiness.GetModel(account.COMPANYID); if (company == null) { Alert("不存在的公司信息,请确认!"); return; } if (company.STATUS.ToString() == ShareEnum.CompanyRelateStatus.StopUse.ToString("d")) { Alert("此公司信息已无效,请确认!"); return; } if (company.COMPANYCODE.ToString() != strCompanyCode) { Alert("公司信息和账号信息不匹配"); return; } int nProjectId = ValidatorHelper.ToInt(CommonMethod.GetConfigValue("SYSPROJECTID"), 0); HttpCookie ck = new HttpCookie("USP"); ck.Values.Add("AccountId", account.ACCOUNTID.ToString()); ck.Values.Add("RealName", Server.UrlEncode(account.REALNAME)); ck.Values.Add("ProjectId", project == null ? "0" : project.PROJECTID.ToString()); ck.Values.Add("CompanyId", account.COMPANYID.ToString()); ck.Values.Add("GroupId", CommonMethod.FinalString(company.GROUPID)); ck.Values.Add("CompanyName", Server.UrlEncode(company.COMPANYNAME)); ck.Values.Add("CompanyCode", company.COMPANYCODE.ToString()); Response.Cookies.Add(ck); //由登录页面进入 if (strAppKey.Length == 0) { //公司编码记录到Cookie HttpCookie ckCode = new HttpCookie("CompanyCode"); ckCode.Values.Add("CompanyCode", txtCompanyCode.Text.Trim()); Response.Cookies.Add(ckCode); } //获取菜单 DataTable dt = CompanyFunBusiness.GetAccountFunMenu(account.ACCOUNTID, account.ISADMIN, nProjectId, account.COMPANYID); if (dt != null) { DataRow[] rows = dt.Select("PROJECTID=" + nProjectId, ""); if (rows != null && rows.Length > 0) { Response.Redirect(rows[0]["CFPAGEURL"].ToString()); } else { Alert("您没有此系统权限!"); return; } } else { Alert("您没有此系统权限!"); return; } } #endregion }
/// <summary> /// 增加一条数据 /// </summary> public static bool AddCompanyRelate(USER_SHARE_COMPANYRELATEMODEL model, USER_SHARE_LOGMODEL log) { bool blSuccess = false; StringBuilder strSql = new StringBuilder(); strSql.Append("insert into USER_SHARE_COMPANYRELATE("); strSql.Append("CID,COMPANYTYPE,COMPANYNAME,COMPANYID,GROUPID,PRODUCTIDS,PROJECTIDS,COMPANYCODE,SHARECOMPANYID,ADMINID,CREATEDATE,STATUS,GROUPIDN)"); strSql.Append(" values ("); strSql.Append(":CID,:COMPANYTYPE,:COMPANYNAME,:COMPANYID,:GROUPID,:PRODUCTIDS,:PROJECTIDS,:COMPANYCODE,:SHARECOMPANYID,:ADMINID,:CREATEDATE,:STATUS,:GROUPIDN)"); ParamList param = new ParamList(); param["CID"] = model.CID; param["COMPANYTYPE"] = model.COMPANYTYPE; param["COMPANYNAME"] = model.COMPANYNAME; param["COMPANYID"] = model.COMPANYID; param["GROUPID"] = model.GROUPID; param["PRODUCTIDS"] = model.PRODUCTIDS; param["PROJECTIDS"] = model.PROJECTIDS; param["COMPANYCODE"] = model.COMPANYCODE; param["SHARECOMPANYID"] = model.SHARECOMPANYID; param["ADMINID"] = model.ADMINID; param["CREATEDATE"] = model.CREATEDATE; param["STATUS"] = model.STATUS; param["ADMINID"] = model.ADMINID; param["GROUPIDN"] = model.GROUPIDN; //应用系统注册 if (model.COMPANYTYPE == int.Parse(ShareEnum.CompanyType.ShareCompany.ToString("d"))) { //user_share_company插入 int nShareCompanyId = CommonBusiness.GetSeqID("S_USER_SHARE_COMPANY"); model.SHARECOMPANYID = nShareCompanyId; param["SHARECOMPANYID"] = nShareCompanyId; } string strSqlS = string.Format(@"SELECT M.* FROM USER_SHARE_PRODUCTFUN P INNER JOIN USER_SHARE_FUNMENU M ON P.FUNID=M.FMID WHERE M.FMSTATUS={0} AND P.PRODUCTID IN ({1}) ", ShareEnum.FunMenuStatus.Normal.ToString("d"), model.PRODUCTIDS.TrimStart(',').TrimEnd(',')); DataTable dt = StaticConnectionProvider.ExecuteDataTable(strSqlS); int nCfId = 0; IConnectionProvider connection = ConnectionProviderBuilder.CreateConnectionProvider(); try { using (connection) { connection.BeginTranscation(); //公司关联信息 connection.ExecuteNonQuery(strSql.ToString(), param); param.Clear(); if (model.COMPANYTYPE == int.Parse(ShareEnum.CompanyType.ShareCompany.ToString("d"))) { strSqlS = "INSERT INTO USER_SHARE_COMPANY(COMPANYID,COMPANYNAME) VALUES({0},'{1}')"; connection.ExecuteNonQuery(string.Format(strSqlS, model.SHARECOMPANYID, model.COMPANYNAME)); } //公司菜单初始化 foreach (DataRow dr in dt.Rows) { nCfId = CommonBusiness.GetSeqID("S_USER_SHARE_COMPANYFUN"); strSqlS = string.Format(@"insert into USER_SHARE_COMPANYFUN(CFID,FMID,PROJECTID,COMPANYID,CFNAME, CFANOTHERNAME,CFPAGEURL,CFPARENTID,CFSORTNUM,CFSTEP,CFISLAST,CFDESC,CFSTATUS) values ( :CFID,:FMID,:PROJECTID,:COMPANYID,:CFNAME,:CFANOTHERNAME,:CFPAGEURL,:CFPARENTID,:CFSORTNUM, :CFSTEP,:CFISLAST,:CFDESC,:CFSTATUS)"); param["CFID"] = nCfId; param["FMID"] = dr["FMID"]; param["PROJECTID"] = dr["PROJECTID"]; param["COMPANYID"] = model.COMPANYCODE; param["CFNAME"] = dr["FMNAME"]; param["CFANOTHERNAME"] = dr["FMNAME"]; param["CFPAGEURL"] = CommonMethod.FinalString(dr["FMPAGEURL"]); param["CFPARENTID"] = CommonMethod.FinalString(dr["FMPARENTID"]); param["CFSORTNUM"] = dr["FMSORTNUM"]; param["CFSTEP"] = CommonMethod.FinalString(dr["FMSTEP"]); param["CFISLAST"] = CommonMethod.FinalString(dr["FMISLAST"]); param["CFDESC"] = CommonMethod.FinalString(dr["FMDESC"]); param["CFSTATUS"] = ShareEnum.CompanyFunMenuStatus.Normal.ToString("d"); connection.ExecuteNonQuery(strSqlS, param); } param.Clear(); //操作日志 strSql = new StringBuilder(); strSql.Append("insert into USER_SHARE_LOG("); strSql.Append("LOGID,OPERATETYPE,OPERATORID,PROJECTID,COMPANYID,OPERATECONTENT,OPERATEDATE)"); strSql.Append(" values ("); strSql.Append(":LOGID,:OPERATETYPE,:OPERATORID,:PROJECTID,:COMPANYID,:OPERATECONTENT,:OPERATEDATE)"); param["LOGID"] = log.LOGID; param["OPERATETYPE"] = log.OPERATETYPE; param["OPERATORID"] = log.OPERATORID; param["PROJECTID"] = log.PROJECTID; param["COMPANYID"] = log.COMPANYID; param["OPERATECONTENT"] = log.OPERATECONTENT; param["OPERATEDATE"] = log.OPERATEDATE; connection.ExecuteNonQuery(strSql.ToString(), param); connection.CommitTranscation(); blSuccess = true; } } catch (Exception ex) { connection.RollbackTranscation(); LogHelper.WriteErr("注册公司时发生错误:公司名称-" + model.COMPANYNAME, ex); } return(blSuccess); }
/// <summary> /// 更新一条数据 /// </summary> public static bool UpdateCompanyRelate(USER_SHARE_COMPANYRELATEMODEL model, USER_SHARE_LOGMODEL log) { bool blSuccess = false; StringBuilder strSql = new StringBuilder(); strSql.Append("update USER_SHARE_COMPANYRELATE set "); strSql.Append("COMPANYTYPE=:COMPANYTYPE,"); strSql.Append("COMPANYNAME=:COMPANYNAME,"); strSql.Append("COMPANYID=:COMPANYID,"); strSql.Append("GROUPID=:GROUPID,"); strSql.Append("PROJECTIDS=:PROJECTIDS,"); strSql.Append("PRODUCTIDS=:PRODUCTIDS,"); strSql.Append("COMPANYCODE=:COMPANYCODE,"); strSql.Append("SHARECOMPANYID=:SHARECOMPANYID, "); strSql.Append("ADMINID=:ADMINID,"); strSql.Append("GROUPIDN=:GROUPIDN "); strSql.Append(" where CID=:CID "); ParamList param = new ParamList(); param["CID"] = model.CID; param["COMPANYTYPE"] = model.COMPANYTYPE; param["COMPANYNAME"] = model.COMPANYNAME; param["COMPANYID"] = model.COMPANYID; param["GROUPID"] = model.GROUPID; param["PROJECTIDS"] = model.PROJECTIDS; param["PRODUCTIDS"] = model.PRODUCTIDS; param["COMPANYCODE"] = model.COMPANYCODE; param["SHARECOMPANYID"] = model.SHARECOMPANYID; param["ADMINID"] = model.ADMINID; param["GROUPIDN"] = model.GROUPIDN; string strSqlS = string.Format(@"SELECT M.* FROM USER_SHARE_PRODUCTFUN P INNER JOIN USER_SHARE_FUNMENU M ON P.FUNID=M.FMID WHERE M.FMSTATUS={0} AND P.PRODUCTID IN ({1}) AND P.FUNID NOT IN (SELECT FMID FROM USER_SHARE_COMPANYFUN WHERE COMPANYID={2} ) ", ShareEnum.FunMenuStatus.Normal.ToString("d"), model.PRODUCTIDS.TrimStart(',').TrimEnd(','), model.COMPANYCODE); DataTable dt = StaticConnectionProvider.ExecuteDataTable(strSqlS); //原来公司自己删除的菜单如果再次开通了要恢复 strSqlS = string.Format(@"SELECT M.FMID FROM USER_SHARE_PRODUCTFUN P INNER JOIN USER_SHARE_FUNMENU M ON P.FUNID=M.FMID WHERE M.FMSTATUS={0} AND P.PRODUCTID IN ({1}) AND P.FUNID IN (SELECT FMID FROM USER_SHARE_COMPANYFUN WHERE COMPANYID={2} AND CFSTATUS={3} ) ", ShareEnum.FunMenuStatus.Normal.ToString("d"), model.PRODUCTIDS.TrimStart(',').TrimEnd(','), model.COMPANYCODE, ShareEnum.CompanyFunMenuStatus.StopUse.ToString("d")); DataTable dtStop = StaticConnectionProvider.ExecuteDataTable(strSqlS); int nCfId = 0; IConnectionProvider connection = ConnectionProviderBuilder.CreateConnectionProvider(); try { using (connection) { connection.CommitTranscation(); //增加项目信息 connection.ExecuteNonQuery(strSql.ToString(), param); param.Clear(); //公司菜单初始化 foreach (DataRow dr in dt.Rows) { nCfId = CommonBusiness.GetSeqID("S_USER_SHARE_COMPANYFUN"); strSqlS = string.Format(@"insert into USER_SHARE_COMPANYFUN(CFID,FMID,PROJECTID,COMPANYID,CFNAME, CFANOTHERNAME,CFPAGEURL,CFPARENTID,CFSORTNUM,CFSTEP,CFISLAST,CFDESC,CFSTATUS) values ( :CFID,:FMID,:PROJECTID,:COMPANYID,:CFNAME,:CFANOTHERNAME,:CFPAGEURL,:CFPARENTID,:CFSORTNUM, :CFSTEP,:CFISLAST,:CFDESC,:CFSTATUS)"); param["CFID"] = nCfId; param["FMID"] = dr["FMID"]; param["PROJECTID"] = dr["PROJECTID"]; param["COMPANYID"] = model.COMPANYCODE; param["CFNAME"] = dr["FMNAME"]; param["CFANOTHERNAME"] = dr["FMNAME"]; param["CFPAGEURL"] = CommonMethod.FinalString(dr["FMPAGEURL"]); param["CFPARENTID"] = CommonMethod.FinalString(dr["FMPARENTID"]); param["CFSORTNUM"] = dr["FMSORTNUM"]; param["CFSTEP"] = CommonMethod.FinalString(dr["FMSTEP"]); param["CFISLAST"] = CommonMethod.FinalString(dr["FMISLAST"]); param["CFDESC"] = CommonMethod.FinalString(dr["FMDESC"]); param["CFSTATUS"] = ShareEnum.CompanyFunMenuStatus.Normal.ToString("d"); connection.ExecuteNonQuery(strSqlS, param); } //原来公司自己删除的菜单如果再次开通了要恢复 foreach (DataRow dr in dtStop.Rows) { strSqlS = "UPDATE USER_SHARE_COMPANYFUN SET CFSTATUS={0} WHERE COMPANYID={1} AND FMID={2} AND CFSTATUS={3}"; connection.ExecuteNonQuery(string.Format(strSqlS, ShareEnum.CompanyFunMenuStatus.Normal.ToString("d"), model.COMPANYCODE, dr["FMID"], ShareEnum.CompanyFunMenuStatus.StopUse.ToString("d"))); } param.Clear(); //操作日志 strSql = new StringBuilder(); strSql.Append("insert into USER_SHARE_LOG("); strSql.Append("LOGID,OPERATETYPE,OPERATORID,PROJECTID,COMPANYID,OPERATECONTENT,OPERATEDATE)"); strSql.Append(" values ("); strSql.Append(":LOGID,:OPERATETYPE,:OPERATORID,:PROJECTID,:COMPANYID,:OPERATECONTENT,:OPERATEDATE)"); param["LOGID"] = log.LOGID; param["OPERATETYPE"] = log.OPERATETYPE; param["OPERATORID"] = log.OPERATORID; param["PROJECTID"] = log.PROJECTID; param["COMPANYID"] = log.COMPANYID; param["OPERATECONTENT"] = log.OPERATECONTENT; param["OPERATEDATE"] = log.OPERATEDATE; connection.ExecuteNonQuery(strSql.ToString(), param); connection.CommitTranscation(); blSuccess = true; } } catch (Exception ex) { connection.RollbackTranscation(); LogHelper.WriteErr("修改公司关联信息时发生错误:公司名称-" + model.COMPANYNAME, ex); } return(blSuccess); }