软测单独项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

358 lines
15 KiB

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
{
/// <summary>
/// OaLeaveHandler 的摘要说明
/// </summary>
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 "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<FangYar.Model.OA.TBL_VISITOR_REG> 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 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;
}
}
}
}