2022-09-05 16:36:31 +08:00
|
|
|
|
using Model;
|
|
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using System.Configuration;
|
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
|
using System.IO;
|
|
|
|
|
|
using System.Reflection;
|
|
|
|
|
|
using System.Runtime.Serialization.Formatters.Binary;
|
|
|
|
|
|
|
|
|
|
|
|
namespace BLL
|
|
|
|
|
|
{
|
|
|
|
|
|
public static class APIHTGLPersonService
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
///
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="PersonjsonData">人员信息(json字符串)</param>
|
|
|
|
|
|
public static Model.Person SavePerson(Person PersonjsonData)
|
|
|
|
|
|
{
|
|
|
|
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
Person rb = PersonjsonData;
|
|
|
|
|
|
Person person = new Person
|
|
|
|
|
|
{
|
|
|
|
|
|
data = new List<PersonDataItem>()
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
foreach (PersonDataItem item in rb.data)
|
|
|
|
|
|
{
|
|
|
|
|
|
try
|
|
|
|
|
|
{
|
|
|
|
|
|
if (CheckDataIsNull(item))
|
|
|
|
|
|
{
|
|
|
|
|
|
PersonDataItem personDataItem = new PersonDataItem
|
|
|
|
|
|
{
|
|
|
|
|
|
UserCode = item.UserCode,
|
|
|
|
|
|
UserName = item.UserName,
|
|
|
|
|
|
IdentityCard = item.IdentityCard,
|
|
|
|
|
|
Image = item.Image
|
|
|
|
|
|
};
|
|
|
|
|
|
person.data.Add(personDataItem);
|
|
|
|
|
|
person.Message += item.UserCode + "--参数有误存在null值|";
|
|
|
|
|
|
continue;
|
|
|
|
|
|
}
|
|
|
|
|
|
if (item.UserCode == null || item.UserCode == "")
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
PersonDataItem personDataItem = new PersonDataItem
|
|
|
|
|
|
{
|
|
|
|
|
|
UserCode = item.UserCode,
|
|
|
|
|
|
UserName = item.UserName,
|
|
|
|
|
|
IdentityCard = item.IdentityCard,
|
|
|
|
|
|
Image = item.Image
|
|
|
|
|
|
};
|
|
|
|
|
|
person.data.Add(personDataItem);
|
|
|
|
|
|
person.Message += item.UserCode + "--工号信息不能为空|";
|
|
|
|
|
|
continue;
|
|
|
|
|
|
}
|
2023-02-16 17:19:08 +08:00
|
|
|
|
if (item.IdentityCard == null || item.IdentityCard == "")
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
PersonDataItem personDataItem = new PersonDataItem
|
|
|
|
|
|
{
|
|
|
|
|
|
UserCode = item.UserCode,
|
|
|
|
|
|
UserName = item.UserName,
|
|
|
|
|
|
IdentityCard = item.IdentityCard,
|
|
|
|
|
|
Image = item.Image
|
|
|
|
|
|
};
|
|
|
|
|
|
person.data.Add(personDataItem);
|
|
|
|
|
|
person.Message += item.UserCode + "--身份信息不能为空|";
|
|
|
|
|
|
continue;
|
|
|
|
|
|
}
|
|
|
|
|
|
Person_Persons getPerson = new Person_Persons();
|
|
|
|
|
|
getPerson = Person_PersonsService.GetPerson_PersonsByIdCard(item.IdentityCard);
|
|
|
|
|
|
if (getPerson==null)
|
|
|
|
|
|
{
|
|
|
|
|
|
getPerson = Person_PersonsService.GetPerson_PersonsByJobNum(item.UserCode);
|
2022-09-05 16:36:31 +08:00
|
|
|
|
|
2023-02-16 17:19:08 +08:00
|
|
|
|
}
|
2022-09-05 16:36:31 +08:00
|
|
|
|
if (getPerson != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
getPerson.JobNum = item.UserCode;
|
|
|
|
|
|
getPerson.PersonName = item.UserName;
|
|
|
|
|
|
getPerson.DataFrom = "API";
|
2023-02-16 17:19:08 +08:00
|
|
|
|
getPerson.IdentityCard = item.IdentityCard;
|
2022-09-05 16:36:31 +08:00
|
|
|
|
if (item.Image != "")
|
|
|
|
|
|
{
|
|
|
|
|
|
// Image bb = Image.FromFile("C:\\Users\\1420031550\\Desktop\\签名.jpg");
|
|
|
|
|
|
|
|
|
|
|
|
// byte[] aa = GetImageBytes(bb);
|
|
|
|
|
|
// //string img = System.Text.Encoding.Default.GetString(aa);
|
|
|
|
|
|
// string img = Convert.ToBase64String(aa);
|
|
|
|
|
|
// // byte[] imageBytes = Convert.FromBase64String(img);
|
|
|
|
|
|
|
|
|
|
|
|
// Image a = ReadImage(Convert.FromBase64String(img));
|
|
|
|
|
|
string rootUrl = ConfigurationManager.AppSettings["localRoot"];
|
|
|
|
|
|
string url = @"FileUpload\User\" + string.Format("{0:yyyyMMddHHmmssffff}", DateTime.Now) + "~" + item.UserName + ".jpg";
|
|
|
|
|
|
string filename = rootUrl + url;
|
|
|
|
|
|
System.IO.File.WriteAllBytes(filename, Convert.FromBase64String(item.Image));
|
|
|
|
|
|
getPerson.SignatureUrl = url;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
// db.SubmitChanges();
|
2023-03-01 13:57:09 +08:00
|
|
|
|
Person_PersonsService.UpdatePerson_Persons(getPerson);
|
2022-09-05 16:36:31 +08:00
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
Person_Persons newPersons = new Person_Persons
|
|
|
|
|
|
{
|
|
|
|
|
|
PersonId = SQLHelper.GetNewID(),
|
|
|
|
|
|
Account = item.UserCode,
|
|
|
|
|
|
JobNum = item.UserCode,
|
|
|
|
|
|
PersonName = item.UserName,
|
|
|
|
|
|
IdentityCard = item.IdentityCard,
|
|
|
|
|
|
UnitId = Const.UnitId_SEDIN,
|
2023-08-06 22:38:05 +08:00
|
|
|
|
|
2022-09-05 16:36:31 +08:00
|
|
|
|
DataFrom = "API"
|
|
|
|
|
|
};
|
2023-08-06 22:38:05 +08:00
|
|
|
|
|
|
|
|
|
|
newPersons.RawPassword = Funs.getInitialPassword(newPersons.UnitId, newPersons.IdentityCard);
|
|
|
|
|
|
newPersons.Password = Funs.EncryptionPassword(newPersons.RawPassword);
|
|
|
|
|
|
|
2022-09-05 16:36:31 +08:00
|
|
|
|
if (item.Image != "")
|
|
|
|
|
|
{
|
|
|
|
|
|
string rootUrl = ConfigurationManager.AppSettings["localRoot"];
|
|
|
|
|
|
string url = @"FileUpload\User\" + string.Format("{0:yyyyMMddHHmmssffff}", DateTime.Now) + "~" + item.UserName + ".jpg";
|
|
|
|
|
|
string filename = rootUrl + url;
|
|
|
|
|
|
System.IO.File.WriteAllBytes(filename, Convert.FromBase64String(item.Image));
|
|
|
|
|
|
newPersons.SignatureUrl = url;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Person_PersonsService.AddPerson(newPersons);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
|
{
|
|
|
|
|
|
PersonDataItem personDataItem = new PersonDataItem
|
|
|
|
|
|
{
|
|
|
|
|
|
UserCode = item.UserCode,
|
|
|
|
|
|
UserName = item.UserName,
|
|
|
|
|
|
IdentityCard = item.IdentityCard
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
person.data.Add(personDataItem);
|
|
|
|
|
|
person.Message += ex.Message;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return person;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private static bool CheckDataIsNull(object t)
|
|
|
|
|
|
{
|
|
|
|
|
|
bool Isok = false;
|
|
|
|
|
|
Type type = t.GetType();
|
|
|
|
|
|
PropertyInfo[] pArray = type.GetProperties();
|
|
|
|
|
|
|
|
|
|
|
|
foreach (PropertyInfo p in pArray)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (p.GetValue(t) == null)
|
|
|
|
|
|
{
|
|
|
|
|
|
Isok = true;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return Isok;
|
|
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 将图片转换为二进制流
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="image">图片</param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
private static byte[] GetImageBytes(Image image)
|
|
|
|
|
|
{
|
|
|
|
|
|
MemoryStream ms = new MemoryStream();
|
|
|
|
|
|
BinaryFormatter bf = new BinaryFormatter();
|
|
|
|
|
|
bf.Serialize(ms, (object)image);
|
|
|
|
|
|
ms.Close();
|
|
|
|
|
|
return ms.ToArray();
|
|
|
|
|
|
}
|
|
|
|
|
|
//将图片转换为二进制流的调用
|
|
|
|
|
|
// bt1 = GetImageBytes(rootComponent.BackgroundImage);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 将二进制流转换为图片
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="bytes"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
public static Image ReadImage(byte[] bytes)
|
|
|
|
|
|
{
|
|
|
|
|
|
//MemoryStream ms = new MemoryStream(bytes, 0, bytes.Length);
|
|
|
|
|
|
//BinaryFormatter bf = new BinaryFormatter();
|
|
|
|
|
|
//object obj = bf.Deserialize(ms);
|
|
|
|
|
|
//ms.Close();
|
|
|
|
|
|
//return (Image)obj; //方法一
|
|
|
|
|
|
using (MemoryStream ms = new MemoryStream(bytes))
|
|
|
|
|
|
{
|
|
|
|
|
|
Image outputImg = Image.FromStream(ms);
|
|
|
|
|
|
ms.Close();
|
|
|
|
|
|
|
|
|
|
|
|
return outputImg;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//将二进制流转换为图片
|
|
|
|
|
|
// pb.Image = ReadImage((byte[]) ri.Result.Rows[i]["image"]);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|