AIMS/AIMSExtension/Sign/SignManage.cs
2023-08-05 08:40:27 +08:00

66 lines
2.3 KiB
C#

using System.Text;
using AIMSExtension;
using HelperDB;
namespace AIMS.Infrastructure.CA
{
public class SignManage
{
public string GetSignStr(string docstr, string FileName, string Pid, string PName, string PContact)
{
string SignatureStr = "";
try
{
if (PublicMethod.HospitalName == "漳浦天福医院")
{
var sdk = new DataSignClient(new SignConfig
{
Url = @"http://10.129.131.105:9182",
AppSecret = "2Sl8ZoyYlBfQZcdHTXDnAHdGOrj0wt",
AppToken = "p12zxfQvns"
});
SignatureResponse signature = sdk.SignData(new SignatureRequest
{
SigAlgType = "SM2",
DataType = "txt",
Data = Encoding.UTF8.GetBytes(docstr),
FileName = FileName,
Signatory = new Signatory
{
Company = new Company { Name = "漳浦天福医院" },
Operator = new Operator { Name = PName, Contact = PContact },
TenantType = nameof(TenantType.PERSONAL),
}
});
if (signature != null && signature.Result != null && signature.Result.SealImgBase64 != null)
{
SignatureStr = signature.Result.SealImgBase64.Replace("data:image/png;base64,", "");
//更新人员图片
UpdateSignatureStr(Pid, SignatureStr);
}
}
}
catch (System.Exception ex)
{
PublicMethod.WriteLog(ex);
}
return SignatureStr;
}
public void UpdateSignatureStr(string Id, string SignatureStr)
{
try
{
string sql = "update Person set SignatureStr='" + SignatureStr + "' where id=" + Id;
DBHelper.ExecNonQuery(sql);
}
catch (System.Exception ex)
{
PublicMethod.WriteLog(ex);
}
}
}
}