using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data; using System.Text; using System.Collections; using System.Reflection; using System.Web.Script.Serialization; using FangYar.Model; using FangYar.BLL; using Newtonsoft.Json; namespace FangYar.WebUI.ashx { /// /// OaLeaveHandler 的摘要说明 /// public class VisitorRegHandler : IHttpHandler { private FangYar.BLL.OA.TBL_VISITOR_REG bll = new FangYar.BLL.OA.TBL_VISITOR_REG(); private FangYar.BLL.OA_LEAVE lbll = new FangYar.BLL.OA_LEAVE(); private FangYar.BLL.OA.TBL_EPUIP_ORG eobll = new FangYar.BLL.OA.TBL_EPUIP_ORG(); public void ProcessRequest(HttpContext context) { // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "访客登记操作请求", ""); context.Response.ContentType = "text/plain"; string action = context.Request.Params["Action"]; string returnstr = ""; switch (action) { case "List": returnstr = visRegList(context); break; case "getModel": returnstr = visRegModel(context); break; case "add": returnstr = visRegAdd(context); break; case "add2": returnstr = visRegAdd2(context); break; case "edit": returnstr = visRegEdit(context); break; } context.Response.Write(returnstr); } //查询 private string visRegList(HttpContext context) { string returnstr = ""; try { string OrgId = context.Request.Params["OrgId"]; string userId = context.Request.Params["userId"]; string keyword = context.Request.Params["keywords"]; string page = context.Request.Params["page"]; string limit = context.Request.Params["limit"]; string startTime = context.Request.Params["startTime"]; string endTime = context.Request.Params["endTime"]; string treeID = context.Request.Params["treeID"]; string selDeptId = context.Request.Params["selDeptId"]; //登录账号所属部门 string DeptID = context.Request.Params["DeptID"] + ""; //是否管理员账号 string IsAdmin = context.Request.Params["IsAdmin"] + ""; string is_content = context.Request.Params["is_content"]; int pageIndex = 1; int pageSize = 10; if (!string.IsNullOrEmpty(page)) { pageIndex = int.Parse(page); } if (!string.IsNullOrEmpty(limit)) { pageSize = int.Parse(limit); } string where = null; string queryOrgId = ""; if (!string.IsNullOrEmpty(treeID) && treeID != OrgId) { queryOrgId = treeID; if (is_content == "1") { where = "( find_in_set(org_id, cids) ) "; } else { where = "( ORG_ID = '" + treeID + "' )"; } } else { queryOrgId = OrgId; if (is_content == "1") { where = "( find_in_set(org_id, cids) ) "; } else { where = "( ORG_ID = '" + OrgId + "' )"; } } if (!string.IsNullOrWhiteSpace(selDeptId)) { where += " and VED_ID in ( SELECT USERS_UID from tbl_sys_emp WHERE ORG_ID='" + queryOrgId + "' and DEPT_ID='" + selDeptId + "' )"; } //判断是否管理员账号,如果不是管理员则只查询本部门数据 if (IsAdmin != "1") { if (!string.IsNullOrWhiteSpace(DeptID)) { where += " and VED_ID in ( SELECT USERS_UID from tbl_sys_emp WHERE ORG_ID='" + queryOrgId + "' and DEPT_ID='" + DeptID + "' )"; } } if (!string.IsNullOrEmpty(userId)) { where += " and VED_ID ='" + userId + "'"; } if (!string.IsNullOrEmpty(keyword)) { where += " and ( name like '%" + keyword + "%' or VED_MAN like '%" + keyword + "%')"; } if (!string.IsNullOrEmpty(startTime)) { if (!startTime.Contains("请选择")) { where += " and REGISTERTIME >= date_format('" + startTime + "','%Y-%m-%d %H:%i:%s')"; } } if (!string.IsNullOrEmpty(endTime)) { if (!endTime.Contains("请选择")) { where += " and REGISTERTIME <= date_format('" + endTime + "','%Y-%m-%d %H:%i:%s')"; } } returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll.GetRecordCount(where, queryOrgId); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { List list = bll.QueryList(pageIndex, pageSize, where, " registertime desc ", queryOrgId); returnstr += FangYar.Common.JsonHelper.ToJson(list); } returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "访客登记操作请求", "查询异常:" + e); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "访客登记操作请求", "查询"); return returnstr; } //获取访客登记单、访客信息、流转记录 private string visRegModel(HttpContext context) { string returnstr = ""; try { string visRegId = context.Request.Params["visRegId"]; returnstr = "{\"code\":0,\"msg\":\"\",\"visRegData\":"; DataTable data = bll.getVisReg(visRegId); returnstr += FangYar.Common.JsonHelper.ToJson(data); //returnstr += ",\"visInData\":"; //string data1_string = "["; //for (int i = 0; i < data[1].Rows.Count; i++) //{ // string pic1 = "", pic2 = ""; // if (data[1].Rows[i]["ID_PIC"] != null && data[1].Rows[i]["ID_PIC"] != "") // { // pic1 = Convert.ToBase64String((byte[])data[1].Rows[i]["ID_PIC"]); // } // if (data[1].Rows[i]["V_PIC"] != null && data[1].Rows[i]["V_PIC"] != "") // { // pic2 = Convert.ToBase64String((byte[])data[1].Rows[i]["V_PIC"]); // } // data1_string += "{\"ID\":\"" + data[1].Rows[i]["ID"].ToString() + "\","; // data1_string += "\"NAME\":\"" + data[1].Rows[i]["NAME"].ToString() + "\","; // data1_string += "\"SEX\":\"" + data[1].Rows[i]["SEX"].ToString() + "\","; // data1_string += "\"AGE\":\"" + data[1].Rows[i]["AGE"].ToString() + "\","; // data1_string += "\"UNIT\":\"" + data[1].Rows[i]["UNIT"].ToString() + "\","; // data1_string += "\"NATION\":\"" + data[1].Rows[i]["NATION"].ToString() + "\","; // data1_string += "\"ADDR\":\"" + data[1].Rows[i]["ADDR"].ToString() + "\","; // data1_string += "\"H_REG\":\"" + data[1].Rows[i]["H_REG"].ToString() + "\","; // data1_string += "\"ID_NUM\":\"" + data[1].Rows[i]["ID_NUM"].ToString() + "\","; // data1_string += "\"M_ID\":\"" + data[1].Rows[i]["M_ID"].ToString() + "\","; // data1_string += "\"M_ADDR\":\"" + data[1].Rows[i]["M_ADDR"].ToString() + "\","; // data1_string += "\"GOODS\":\"" + data[1].Rows[i]["GOODS"].ToString() + "\","; // data1_string += "\"DRICAR\":\"" + data[1].Rows[i]["DRICAR"].ToString() + "\","; // data1_string += "\"REGISTERTIME\":\"" + data[1].Rows[i]["REGISTERTIME"].ToString() + "\","; // data1_string += "\"STATE\":\"" + data[1].Rows[i]["STATE"].ToString() + "\","; // data1_string += "\"ORG_ID\":\"" + data[1].Rows[i]["ORG_ID"].ToString() + "\","; // data1_string += "\"ID_PIC\":\"" + pic1 + "\","; // data1_string += "\"V_PIC\":\"" + pic2 + "\"}"; // if (i != data[1].Rows.Count - 1) // { // data1_string += ","; // } //} //returnstr += data1_string + "]"; returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "访客登记操作请求", "获取访客登记单、访客信息、流转记录异常:" + e); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "访客登记操作请求", "获取访客登记单、访客信息、流转记录"); return returnstr; } //添加访客登记 private string visRegAdd(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string ID = Guid.NewGuid().ToString("N"); string NAME = context.Request.Params["NAME"]; string ORG_ID = context.Request.Params["ORG_ID"]; string VISIN_ID = context.Request.Params["VISIN_ID"]; string VISIN_NAME = context.Request.Params["VISIN_NAME"]; string REASON = context.Request.Params["REASON"]; string ABOUTTIME = context.Request.Params["ABOUTTIME"]; string VED_ID = context.Request.Params["VED_ID"]; string VED_MAN = context.Request.Params["VED_MAN"]; //访客登记表 FangYar.Model.OA.TBL_VISITOR_REG model = new Model.OA.TBL_VISITOR_REG(); model.ID = ID; model.ORG_ID = ORG_ID; model.NAME = NAME; model.VISIN_ID = VISIN_ID; model.VISIN_NAME = VISIN_NAME; model.REASON = REASON; model.ABOUTTIME = decimal.Parse(ABOUTTIME); model.VED_ID = VED_ID; model.VED_MAN = VED_MAN; model.STATE = "0"; if (bll.Add(model)) { msg = "添加成功!"; code = 1; } else { msg = "添加失败!"; } } catch (Exception e) { msg = "添加失败"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "访客登记操作请求", "添加访客登记异常:" + e); } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Add, "访客登记操作请求", "添加访客登记"); return returnstr; } //添加访客登记 private string visRegAdd2(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string ID = Guid.NewGuid().ToString("N"); string NAME = context.Request.Params["NAME"]; string CARID = context.Request.Params["CARID"]; string BELONGINGS = context.Request.Params["BELONGINGS"]; string ABOUTTIME = context.Request.Params["ABOUTTIME"]; string REASON = context.Request.Params["REASON"]; string VED_ID = context.Request.Params["VED_ID"]; string VED_MAN = context.Request.Params["VED_MAN"]; string ORG_ID = context.Request.Params["ORG_ID"]; //访客登记表 FangYar.Model.OA.TBL_VISITOR_REG model = new Model.OA.TBL_VISITOR_REG(); model.ID = ID; model.NAME = NAME; model.CARID = CARID; model.BELONGINGS = BELONGINGS; model.REASON = REASON; if (string.IsNullOrEmpty(ABOUTTIME)) { model.ABOUTTIME = 1; } else { model.ABOUTTIME = decimal.Parse(ABOUTTIME); } model.VED_ID = VED_ID; model.VED_MAN = VED_MAN; model.ORG_ID = ORG_ID; model.STATE = "0"; if (bll.Add2(model)) { msg = "添加成功!"; code = 1; } else { msg = "添加失败!"; } } catch (Exception e) { msg = "添加失败"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "访客登记操作请求", "添加访客登记异常:" + e); } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Add, "访客登记操作请求", "添加访客登记"); return returnstr; } //访客登记审批 private string visRegEdit(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string visRegId = context.Request.Params["visRegId"]; string state = context.Request.Params["state"]; //string waitId = context.Request.Params["waitId"]; string a_opinion = context.Request.Params["a_opinion"]; FangYar.Model.OA.TBL_VISITOR_REG vrmodel = new FangYar.Model.OA.TBL_VISITOR_REG(); vrmodel.ID = visRegId; vrmodel.STATE = state; if (a_opinion == "" || a_opinion == null) { if (state == "1") { a_opinion = "同意"; WebCommon.HttpUtil.VisitorRegEmpower(visRegId); } else if (state == "2") { a_opinion = "不同意"; } } vrmodel.FEEDBACKINFO = a_opinion; //FangYar.Model.OA_WAITPROCESSED wmodel = new FangYar.Model.OA_WAITPROCESSED(); //wmodel.ID = waitId; //wmodel.TASK_ID = visRegId; //wmodel.STATE = state == "1" ? "2" : (state == "2" ? "3" : "1"); //wmodel.A_OPINION = a_opinion; if (bll.editVisReg(vrmodel)) { if (state == "1") { WebCommon.HttpUtil.VisitorRegEmpower(visRegId); } msg = "审批成功!"; code = 1; } else { msg = "审批失败!"; } } catch (Exception e) { msg = "审批失败!"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "访客登记操作请求", "访客登记审批异常:" + e); } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Update, "访客登记操作请求", "访客登记审批"); return returnstr; } public bool IsReusable { get { return false; } } } }