60 lines
2.0 KiB
C#
60 lines
2.0 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 = "";
|
|
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);
|
|
|
|
|
|
}
|
|
}
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
}
|