大屏展示的两个问题,
一个是质量管理点击报错, 二是点击项目清单后,加载的项目清单页面默认显示所有行
This commit is contained in:
+126
-115
@@ -30,102 +30,72 @@ namespace BLL
|
||||
//private static readonly string IDPApiUrl = "https://idp.cwcec.com/";
|
||||
private static readonly string IDPApiUrl = SysConstSetService.WuHuanIDPPath;
|
||||
|
||||
#region 接口授权认证
|
||||
#region 试车工作包
|
||||
|
||||
/// <summary>
|
||||
/// 加密公钥
|
||||
/// 项目试车工作包
|
||||
/// </summary>
|
||||
private static readonly string publicKey = "<RSAKeyValue><Modulus>g1sk7Xtc1TJouHdY4+FAe5atGCu2n17NhoKVDV57pki1IL+9+S7BY4gxAjmMkUU2/cbCCdbPoUJLBrCBCjX7yI3UJW6FZwQWkn3kVoeulLEwdPCIq/GUjMXaWf3Iaaad5wBUFbfXAzv15VN6z48Nt1IY/O8YEzhIpuZdtEgDdos=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>";
|
||||
//private static readonly string publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQChnc2YD0YzJPx6QTh+/n7XzjR1ugFzrsmPolJhpCfWMKrSGbT7iX/Kgcm1AI+T95K4Jzv3KS42QTecZ1ziJ4Rr9Luzw+9ZCSjMZgrmAUbY5IeBaA6GzaSk8UWHZ4n5PL+GUGq+2f+COL7+KCS2AxEpaqDZVrJrIfg/UektdgNyzwIDAQAB";
|
||||
|
||||
/// <summary>
|
||||
/// 第三方加密认证接口
|
||||
/// </summary>
|
||||
/// 五环IDP系统SessionId有效期30分钟
|
||||
/// <returns></returns>
|
||||
public static SessionItem GetAuthenticationSession()
|
||||
/// <param name="projectId">项目Id</param>
|
||||
/// <param name="startDate">获取指定时间之后到现在的异动数据</param>
|
||||
public static void GetIDPProjectPreRunData(string projectId = "")
|
||||
{
|
||||
SessionItem session = new SessionItem();
|
||||
string mainProjectId = string.Empty;//五环主数据项目Id
|
||||
string wbsCode = string.Empty;//五环主数据wbs编码
|
||||
string workitemCode = string.Empty;//五环主数据文件类别码
|
||||
if (!string.IsNullOrWhiteSpace(projectId))
|
||||
{
|
||||
var project = BLL.ProjectService.GetProjectByProjectId(projectId);
|
||||
var mainProject = BLL.PMPDataService.GetPMPProjectByCode(project.ProjectCode);
|
||||
if (mainProject != null)
|
||||
{
|
||||
mainProjectId = mainProject.Code;
|
||||
}
|
||||
}
|
||||
|
||||
//https://idp.cwcec.com/OSS/projects/100168/wbs/040101/workitems/CP2100/objects/latest
|
||||
//string url = $"{IDPApiUrl}/OSS/projects/{mainProjectId}/wbs/{wbsCode}/workitems/{workitemCode}/objects/latest";
|
||||
string url = $"{IDPApiUrl}OSS/projects/100168/wbs/040101/workitems/CP2100/objects/latest";
|
||||
|
||||
try
|
||||
{
|
||||
//// 创建RSA加密服务提供者
|
||||
////using (RSA rsa = RSA.Create())
|
||||
//using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
|
||||
//{
|
||||
//// 获取公钥false表示只导出公钥
|
||||
//string publicKey = rsa.ToXmlString(false);
|
||||
//// 获取私钥true表示导出公钥和私钥
|
||||
//string privateKey = rsa.ToXmlString(true);
|
||||
var session = GetAuthenticationSession();
|
||||
|
||||
|
||||
////用户名加密
|
||||
//string encryptedUsername = EncryptData("dataviewer", publicKey);
|
||||
////密码加密
|
||||
//string encryptedPassword = EncryptData("a3365$!", publicKey);
|
||||
|
||||
//用户名加密后的密文
|
||||
string encryptedUsername = "k0N0tx/hfRPY0v2lq1G8eH6hCO+UiMqlSZi1PD6bhGf4YpP/koJq5hfMsDSzdn3dZjzExrwyrjFWp/1jZLde0+gRbQ0D7tzm0R5D6AmriodD2cJvrEiwtDy7SeGNloSaNmpTEMuycpuueiOeGhMkKnTwWfRkEw73lxEpTmaahq4=";
|
||||
//密码加密后的密文
|
||||
string encryptedPassword = "HLLroiNJJzyTWJt9td1xgChbVzyQkoxWCGGXqdwI2cvlUF/A30FAPaInszSwEhNRQlJZZ01EODElemkgv36DMF+XGwfDi0BfIq9jKG+/+wq0TVOHNhiu2NPzpn5Ji2X3yXIXpH1zv6XEtkvx/qiLToZYfRQCufsl5vH1cZxk2fQ=";
|
||||
|
||||
string url = $"{IDPApiUrl}UAMS/authEncrypt";
|
||||
//string url = $"http://10.5.6.151:8100/UAMS/authEncrypt";
|
||||
string contenttype = "application/json;charset=utf-8";
|
||||
var body = new
|
||||
ErrLogInfo.WriteLog($"Session——name:{session.name};value:{session.value}");
|
||||
Hashtable newToken = new Hashtable { { "Cookie", $"{session.name}={session.value}" } };
|
||||
var returndata = BLL.APIGetHttpService.OutsideHttp(url, "GET", null, newToken, null);
|
||||
if (!string.IsNullOrEmpty(returndata))
|
||||
{
|
||||
encryptedUsername = encryptedUsername,
|
||||
encryptedPassword = encryptedPassword
|
||||
};
|
||||
|
||||
string pushContent = JsonConvert.SerializeObject(body);
|
||||
string strJosn = APIGetHttpService.Http(url, "POST", contenttype, null, pushContent);
|
||||
//string strJosn = HttpHelper.Post(url, null, pushContent);
|
||||
JObject obj = JObject.Parse(strJosn);
|
||||
if (!string.IsNullOrEmpty(strJosn))
|
||||
{
|
||||
string value = obj["value"].ToString();
|
||||
string name = obj["name"].ToString();
|
||||
session.value = value;
|
||||
session.name = name;
|
||||
IDPPreRunData responseData = IDPPreRunData.FromJson(returndata);
|
||||
}
|
||||
//}
|
||||
}
|
||||
catch (WebException ex)
|
||||
{
|
||||
return null;
|
||||
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
||||
}
|
||||
return session;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 加密字符串
|
||||
/// </summary>
|
||||
/// <param name="data">加密信息</param>
|
||||
/// <param name="publicKey">公钥</param>
|
||||
/// <returns></returns>
|
||||
public static string EncryptData(string data, string publicKey)
|
||||
{
|
||||
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
|
||||
{
|
||||
string result = string.Empty;
|
||||
try
|
||||
{
|
||||
rsa.FromXmlString(publicKey); //从字符串加载公钥
|
||||
byte[] dataBytes = Encoding.UTF8.GetBytes(data);
|
||||
byte[] encryptedBytes = rsa.Encrypt(dataBytes, false); //使用公钥加密数据,false表示使用OAEP填充方式
|
||||
result = Convert.ToBase64String(encryptedBytes); //返回Base64编码的加密数据
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine("Error encrypting: {0}", ex.Message);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
//public static void AddPMP_Project(List<Model.PMP_Project> newtables)
|
||||
//{
|
||||
// Model.SGGLDB db = Funs.DB;
|
||||
// db.PMP_Project.InsertAllOnSubmit(newtables);
|
||||
// db.SubmitChanges();
|
||||
//}
|
||||
|
||||
//public static void DeleteAllPMP_Project()
|
||||
//{
|
||||
// Model.SGGLDB db = Funs.DB;
|
||||
// if (db.PMP_Project.FirstOrDefault() != null)
|
||||
// {
|
||||
// db.PMP_Project.DeleteAllOnSubmit(db.PMP_Project);
|
||||
// db.SubmitChanges();
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -680,63 +650,104 @@ namespace BLL
|
||||
|
||||
#endregion
|
||||
|
||||
#region 试车工作包
|
||||
#region 接口授权认证
|
||||
|
||||
/// <summary>
|
||||
/// 获取工作包结构化数据
|
||||
/// 加密公钥
|
||||
/// </summary>
|
||||
public static void GetIDPProjectMasterData()
|
||||
private static readonly string publicKey = "<RSAKeyValue><Modulus>g1sk7Xtc1TJouHdY4+FAe5atGCu2n17NhoKVDV57pki1IL+9+S7BY4gxAjmMkUU2/cbCCdbPoUJLBrCBCjX7yI3UJW6FZwQWkn3kVoeulLEwdPCIq/GUjMXaWf3Iaaad5wBUFbfXAzv15VN6z48Nt1IY/O8YEzhIpuZdtEgDdos=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>";
|
||||
//private static readonly string publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQChnc2YD0YzJPx6QTh+/n7XzjR1ugFzrsmPolJhpCfWMKrSGbT7iX/Kgcm1AI+T95K4Jzv3KS42QTecZ1ziJ4Rr9Luzw+9ZCSjMZgrmAUbY5IeBaA6GzaSk8UWHZ4n5PL+GUGq+2f+COL7+KCS2AxEpaqDZVrJrIfg/UektdgNyzwIDAQAB";
|
||||
|
||||
/// <summary>
|
||||
/// 第三方加密认证接口
|
||||
/// </summary>
|
||||
/// 五环IDP系统SessionId有效期30分钟
|
||||
/// <returns></returns>
|
||||
public static SessionItem GetAuthenticationSession()
|
||||
{
|
||||
string projectId = string.Empty;//五环主数据项目Id
|
||||
string wbsCode = string.Empty;//五环主数据wbs编码
|
||||
string workitemCode = string.Empty;//五环主数据文件类别码
|
||||
|
||||
//https://idp.cwcec.com/OSS/projects/9100168/wbs/000000/workitems/CP2100/objects/latest
|
||||
//string url = $"{IDPApiUrl}/OSS/projects/{projectId}/wbs/{wbsCode}/workitems/{workitemCode}/objects/latest";
|
||||
string url = $"{IDPApiUrl}/OSS/projects/9100168/wbs/000000/workitems/CP2100/objects/latest";
|
||||
|
||||
|
||||
//测试环境接口地址
|
||||
var testApiUrl = "http://10.5.6.151:8100/OSS/projects/9100168/wbs/000000/workitems/CP2100/objects/latest";
|
||||
SessionItem session = new SessionItem();
|
||||
try
|
||||
{
|
||||
var session = GetAuthenticationSession();
|
||||
//// 创建RSA加密服务提供者
|
||||
////using (RSA rsa = RSA.Create())
|
||||
//using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
|
||||
//{
|
||||
//// 获取公钥false表示只导出公钥
|
||||
//string publicKey = rsa.ToXmlString(false);
|
||||
//// 获取私钥true表示导出公钥和私钥
|
||||
//string privateKey = rsa.ToXmlString(true);
|
||||
|
||||
ErrLogInfo.WriteLog($"Session——name:{session.name};value:{session.value}");
|
||||
Hashtable newToken = new Hashtable { { session.name, session.value } };
|
||||
var returndata = BLL.APIGetHttpService.OutsideHttp(url, "GET", null, newToken, null);
|
||||
|
||||
////用户名加密
|
||||
//string encryptedUsername = EncryptData("dataviewer", publicKey);
|
||||
////密码加密
|
||||
//string encryptedPassword = EncryptData("a3365$!", publicKey);
|
||||
|
||||
//用户名加密后的密文
|
||||
string encryptedUsername = "k0N0tx/hfRPY0v2lq1G8eH6hCO+UiMqlSZi1PD6bhGf4YpP/koJq5hfMsDSzdn3dZjzExrwyrjFWp/1jZLde0+gRbQ0D7tzm0R5D6AmriodD2cJvrEiwtDy7SeGNloSaNmpTEMuycpuueiOeGhMkKnTwWfRkEw73lxEpTmaahq4=";
|
||||
//密码加密后的密文
|
||||
string encryptedPassword = "HLLroiNJJzyTWJt9td1xgChbVzyQkoxWCGGXqdwI2cvlUF/A30FAPaInszSwEhNRQlJZZ01EODElemkgv36DMF+XGwfDi0BfIq9jKG+/+wq0TVOHNhiu2NPzpn5Ji2X3yXIXpH1zv6XEtkvx/qiLToZYfRQCufsl5vH1cZxk2fQ=";
|
||||
|
||||
string url = $"{IDPApiUrl}UAMS/authEncrypt";
|
||||
//string url = $"http://10.5.6.151:8100/UAMS/authEncrypt";
|
||||
string contenttype = "application/json;charset=utf-8";
|
||||
var body = new
|
||||
{
|
||||
encryptedUsername = encryptedUsername,
|
||||
encryptedPassword = encryptedPassword
|
||||
};
|
||||
|
||||
string pushContent = JsonConvert.SerializeObject(body);
|
||||
string strJosn = APIGetHttpService.Http(url, "POST", contenttype, null, pushContent);
|
||||
//string strJosn = HttpHelper.Post(url, null, pushContent);
|
||||
JObject obj = JObject.Parse(strJosn);
|
||||
if (!string.IsNullOrEmpty(strJosn))
|
||||
{
|
||||
string value = obj["value"].ToString();
|
||||
string name = obj["name"].ToString();
|
||||
session.value = value;
|
||||
session.name = name;
|
||||
}
|
||||
//}
|
||||
}
|
||||
catch (WebException ex)
|
||||
{
|
||||
|
||||
return null;
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
||||
}
|
||||
return session;
|
||||
}
|
||||
|
||||
|
||||
//public static void AddPMP_Project(List<Model.PMP_Project> newtables)
|
||||
//{
|
||||
// Model.SGGLDB db = Funs.DB;
|
||||
// db.PMP_Project.InsertAllOnSubmit(newtables);
|
||||
// db.SubmitChanges();
|
||||
//}
|
||||
|
||||
//public static void DeleteAllPMP_Project()
|
||||
//{
|
||||
// Model.SGGLDB db = Funs.DB;
|
||||
// if (db.PMP_Project.FirstOrDefault() != null)
|
||||
// {
|
||||
// db.PMP_Project.DeleteAllOnSubmit(db.PMP_Project);
|
||||
// db.SubmitChanges();
|
||||
// }
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// 加密字符串
|
||||
/// </summary>
|
||||
/// <param name="data">加密信息</param>
|
||||
/// <param name="publicKey">公钥</param>
|
||||
/// <returns></returns>
|
||||
public static string EncryptData(string data, string publicKey)
|
||||
{
|
||||
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
|
||||
{
|
||||
string result = string.Empty;
|
||||
try
|
||||
{
|
||||
rsa.FromXmlString(publicKey); //从字符串加载公钥
|
||||
byte[] dataBytes = Encoding.UTF8.GetBytes(data);
|
||||
byte[] encryptedBytes = rsa.Encrypt(dataBytes, false); //使用公钥加密数据,false表示使用OAEP填充方式
|
||||
result = Convert.ToBase64String(encryptedBytes); //返回Base64编码的加密数据
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine("Error encrypting: {0}", ex.Message);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user