using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Reflection; using System.Collections; using System.IO; using System.Text; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System.Configuration; using System.Data; namespace FangYar.WebUI.Handle { /// /// AKSCarRec 的摘要说明 阿克苏支队 /// public class AKSPersonRec : IHttpHandler { FangYar.BLL.TBL_PERSONACCESS bll = new FangYar.BLL.TBL_PERSONACCESS(); FangYar.BLL.TBL_VISITOR vis_bll = new FangYar.BLL.TBL_VISITOR(); public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string returnStr = ""; returnStr = ReceiveAlarmInfoPlate(context); context.Response.Write(returnStr); } private string ReceiveAlarmInfoPlate(HttpContext context) { WriteLog("进入!"); HttpRequest request = context.Request; Stream stream = request.InputStream; string data = string.Empty; string response = string.Empty; bool isadd = false; if (stream.Length != 0) { try { StreamReader streamReader = new StreamReader(stream); data = streamReader.ReadToEnd(); #region 用于传递数据的输出 if (stream.Length != 0) { WriteLog(data.ToString()); } #endregion string redata_string = data.Replace(Environment.NewLine, ""); string redata_string_json = "["; if (redata_string.Contains("} {")) { redata_string = redata_string.Replace("} {", "},{"); } else if (redata_string.Contains("}{")) { redata_string = redata_string.Replace("}{", "},{"); } redata_string_json += redata_string; redata_string_json += "]"; bool flag = false; try { JArray jsonStr = JsonConvert.DeserializeObject(redata_string_json); flag = true; } catch (Exception e) { flag = false; } if (flag) { FangYar.BLL.TBL.SysEmpBLL ebll = new FangYar.BLL.TBL.SysEmpBLL(); FangYar.BLL.OA.OA_ATTENDANCE_RECORD arbll = new FangYar.BLL.OA.OA_ATTENDANCE_RECORD(); FangYar.BLL.OA.TBL_EPUIP_ORG EpuOrgBll = new FangYar.BLL.OA.TBL_EPUIP_ORG(); List rz_data = JsonConvert.DeserializeObject>(redata_string_json); for (int i = 0; i < rz_data.Count; i++) { string avatar = rz_data[i].avatar.Replace("\u003d", "="); byte[] avatar_byte = Convert.FromBase64String(avatar); string ImagePath = GetFilePath(avatar_byte); rz_data[i].imagePath = ImagePath; rz_data[i].orgId = "fc21743dcaad4225b8be141dd47d8a2f"; isadd = bll.MjData_Add(rz_data[i]); if (rz_data[i].result == "1" && rz_data[i].visitorFlag == "0") { FangYar.Model.TBL.TBL_SYS_EMP_Model emodel = ebll.GetModelByIDnumber("fc21743dcaad4225b8be141dd47d8a2f", rz_data[i].idNumber); DataTable dt = arbll.GetAttendanceRecordListByUID(emodel.USERS_UID, DateTime.Now.ToString("yyyy-MM-dd")); for (int y=0;y= 0 && DateTime.Compare(D_newTime, D_UP_END_DATE) <= 0) { FangYar.Model.OA.TBL_EPUIP_ORG eorgmodel = EpuOrgBll.EpuIdGetModel(rz_data[i].deviceNumber); FangYar.Model.OA.OA_ATTENDANCE_RECORD model = new Model.OA.OA_ATTENDANCE_RECORD(); model.ID = dt.Rows[y]["ID"].ToString(); model.UP_LOCATION = eorgmodel.EXTEND3; model.UP_REPORT_TIME = newTime; model.UP_REMARKS = "门禁识别考勤_" + eorgmodel.ADDR; model.UP_STATE = "1"; model.UP_PHOTO = ImagePath; arbll.UpAttendanceReport(model); } } if (DOWN_STATE == "0" || string.IsNullOrEmpty(DOWN_STATE)) { string DOWN_START_DATE = dt.Rows[y]["DOWN_START_DATE"].ToString(); string DOWN_END_DATE = dt.Rows[y]["DOWN_END_DATE"].ToString(); DateTime D_DOWN_START_DATE = DateTime.Parse(DOWN_START_DATE); DateTime D_DOWN_END_DATE = DateTime.Parse(DOWN_END_DATE); if (DateTime.Compare(D_newTime, D_DOWN_START_DATE) >= 0 && DateTime.Compare(D_newTime, D_DOWN_END_DATE) <= 0) { FangYar.Model.OA.TBL_EPUIP_ORG eorgmodel = EpuOrgBll.EpuIdGetModel(rz_data[i].deviceNumber); FangYar.Model.OA.OA_ATTENDANCE_RECORD model = new Model.OA.OA_ATTENDANCE_RECORD(); model.ID = dt.Rows[y]["ID"].ToString(); model.DOWN_LOCATION = eorgmodel.EXTEND3; model.DOWN_REPORT_TIME = newTime; model.DOWN_REMARKS = "门禁识别考勤_" + eorgmodel.ADDR; model.DOWN_STATE = "1"; model.DOWN_PHOTO = ImagePath; arbll.UpAttendanceReport(model); } } } } } } else { WriteLog("\r\n 数据有误: 字符串不是json格式"); } } catch (Exception e) { WriteLog(e.Message); } } else { WriteLog("输入流的长度为0!"); } if (isadd == true) { return "true"; } else { return "false"; } } /// /// base转图片保存到服务器 /// /// private string GetFilePath(byte[] bytes) { string fileName = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString();//年月 string ImageFilePath = "/Attachment" + "/Person/aks/" + DateTime.Now.Year.ToString() + "/"+DateTime.Now.Month.ToString(); if (System.IO.Directory.Exists(HttpContext.Current.Server.MapPath(ImageFilePath)) == false)//如果不存在就创建文件夹 { System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath(ImageFilePath)); } string ImagePath; //string str = System.DateTime.Now.ToString("yyyyHHddHHmmss"); string str = System.DateTime.Now.ToString("yyyyHHddHHmmssfff") + Guid.NewGuid().ToString(); ImagePath = HttpContext.Current.Server.MapPath(ImageFilePath) + "/" + str;//定义图片名称 File.WriteAllBytes(ImagePath + ".png", bytes); //保存图片到服务器,然后获取路径 return ImageFilePath + "/" + str + ".png";//获取保存后的路径 } private void WriteLog(string msg) { FangYar.Common.MyLogHelper.WriteMsg(new FangYar.Common.LogInfoMo() { message = msg, msgType = FangYar.Common.EnumLogMsgTypeEnum.Error, path = "AKSperson" }); //string path = AppDomain.CurrentDomain.BaseDirectory + "log\\AKSperson\\"; //string filename = DateTime.Now.ToString("yyyyMMdd") + ".txt"; //if (Directory.Exists(path) == false)//如果不存在就创建文件夹 //{ // Directory.CreateDirectory(path); //} //FileInfo file = new FileInfo(path + filename); //if (!file.Exists) //{ // FileStream fs; // fs = File.Create(path + filename); // fs.Close(); //} //using (FileStream fs = new FileStream(path + filename, FileMode.Append, FileAccess.Write)) //{ // using (StreamWriter sw = new StreamWriter(fs)) // { // sw.WriteLine("时间:" + DateTime.Now.ToString() + " 信息:" + msg); // } //} } public bool IsReusable { get { return false; } } } }