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.
361 lines
15 KiB
361 lines
15 KiB
using System;
|
|
using System.Data;
|
|
using System.Threading;
|
|
using System.Web;
|
|
|
|
namespace FangYar.WebUI.ashx
|
|
{
|
|
/// <summary>
|
|
/// OaLeaveHandler 的摘要说明
|
|
/// </summary>
|
|
public class OaPatrolTraHandler : IHttpHandler
|
|
{
|
|
private FangYar.BLL.OA_PATROL_TRAJECTORY bll = new FangYar.BLL.OA_PATROL_TRAJECTORY();
|
|
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 "getTraList":
|
|
returnstr = getTaskIDTralist(context);
|
|
break;
|
|
case "getTraCountState":
|
|
returnstr = getTraCountState(context);
|
|
break;
|
|
case "Edit":
|
|
returnstr = EditTra(context);
|
|
break;
|
|
case "IFIDGetModel":
|
|
returnstr = IFIDGetModel(context);
|
|
break;
|
|
case "getTraListByTaskId":
|
|
returnstr = getTraListByTaskId(context);
|
|
break;
|
|
case "AddTra":
|
|
returnstr = AddTra(context);
|
|
break;
|
|
}
|
|
|
|
context.Response.Write(returnstr);
|
|
}
|
|
|
|
//根据巡查任务ID查询轨迹列表
|
|
private string getTaskIDTralist(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
string taskId = context.Request.Params["taskId"];
|
|
string state = context.Request.Params["state"];
|
|
string isDanger = context.Request.Params["isDanger"];
|
|
string where = " TASK_ID = '" + taskId + "' ";
|
|
if (!string.IsNullOrEmpty(state))
|
|
{
|
|
if (state.Contains(","))
|
|
{
|
|
string[] state_s = state.Split(',');
|
|
string states = "";
|
|
for (int i = 0; i < state_s.Length; i++)
|
|
{
|
|
if (i == 0)
|
|
{
|
|
states = "('" + state_s[i] + "'";
|
|
}
|
|
states += ",'" + state_s[i] + "'";
|
|
}
|
|
states += ")";
|
|
where += " and state in " + states + " ";
|
|
}
|
|
else
|
|
{
|
|
where += " and state = '" + state + "' ";
|
|
}
|
|
}
|
|
if (!string.IsNullOrEmpty(isDanger))
|
|
{
|
|
where += " and IS_DANGER = '" + isDanger + "' ";
|
|
}
|
|
where += " order by TIME ";
|
|
returnstr = "{\"code\":0,\"msg\":\"\",\"TraData\":";
|
|
DataSet data = bll.GetList(where);
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(data);
|
|
returnstr += "}";
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"TraData\":[]}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "巡查操作请求", "根据巡查任务ID查询轨迹列表");
|
|
}
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "巡查操作请求", "根据巡查任务ID查询轨迹列表");
|
|
return returnstr;
|
|
}
|
|
|
|
//根据任务ID,获取巡查点状态统计数
|
|
private string getTraCountState(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
string taskId = context.Request.Params["taskId"];
|
|
returnstr = "{\"code\":0,\"msg\":\"\",\"TraData\":";
|
|
DataTable data = bll.GetTraCountState(taskId);
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(data);
|
|
returnstr += "}";
|
|
}
|
|
catch
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"TraData\":[]}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "巡查操作请求", "获取巡查点状态统计数");
|
|
}
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "巡查操作请求", "获取巡查点状态统计数");
|
|
return returnstr;
|
|
}
|
|
|
|
//添加巡查轨迹(自由巡检用)
|
|
private string AddTra(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
int code = -1;
|
|
string msg = "";
|
|
string traId = "";
|
|
try
|
|
{
|
|
string orgId = context.Request.Params["ORG_ID"];
|
|
string TASK_ID = context.Request.Params["TASK_ID"];
|
|
string EMP_ID = context.Request.Params["EMP_ID"];
|
|
string EMP_NAME = context.Request.Params["EMP_NAME"];
|
|
string EXTENDCODE1 = context.Request.Params["IFID"];
|
|
string PATROL_NAME = context.Request.Params["PATROL_NAME"];
|
|
string IS_DANGER = context.Request.Params["IS_DANGER"];
|
|
|
|
FangYar.BLL.OA_PATROL_SPOT spotBll = new FangYar.BLL.OA_PATROL_SPOT();
|
|
if (spotBll.ExistsSpotNo(EXTENDCODE1))
|
|
{
|
|
FangYar.Model.OA_PATROL_SPOT spotModel = spotBll.IFIDGetModel(orgId, EXTENDCODE1);
|
|
if (spotModel == null)
|
|
{
|
|
msg = "对不起,该巡查点不可被当前登录账号:" + EMP_NAME + "巡查";
|
|
}
|
|
else
|
|
{
|
|
//巡查轨迹表
|
|
FangYar.Model.OA_PATROL_TRAJECTORY model = new Model.OA_PATROL_TRAJECTORY();
|
|
model.ID = Guid.NewGuid().ToString("N");
|
|
model.ORG_ID = orgId;
|
|
model.TASK_ID = TASK_ID;
|
|
model.EMP_ID = EMP_ID;
|
|
model.EMP_NAME = EMP_NAME;
|
|
model.SPOT_ID = spotModel.ID;
|
|
model.POINT = spotModel.POINT;
|
|
model.ADDR = spotModel.ADDR;
|
|
model.TIME = DateTime.Now.ToString();
|
|
model.IS_DANGER = IS_DANGER;
|
|
model.STATE = "1";
|
|
model.EXTENDCODE1 = EXTENDCODE1;
|
|
model.EXTENDCODE2 = PATROL_NAME;
|
|
model.SPOT_NAME = spotModel.NAME;
|
|
|
|
//上传图片
|
|
string A_PHOTO = UploadFile("OaPatrolTra", context, model.ID);
|
|
model.A_PHOTO = A_PHOTO;
|
|
|
|
if (bll.Add(model))
|
|
{
|
|
msg = "该巡检点巡检成功!";
|
|
code = 1;
|
|
traId = model.ID;
|
|
}
|
|
else
|
|
{
|
|
msg = "网络原因,请稍后重试!";
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
msg = "对不起,该芯片不存在";
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
msg = "网络原因,请稍后重试!!";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "巡查操作请求", "添加巡查轨迹(自由巡检用)异常:" + e);
|
|
}
|
|
returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + ",\"traId\":\"" + traId + "\"}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Add, "巡查操作请求", "添加巡查轨迹(自由巡检用)");
|
|
return returnstr;
|
|
}
|
|
|
|
//根据巡查任务ID查询轨迹列表(自由巡检用)
|
|
private string getTraListByTaskId(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
string taskId = context.Request.Params["taskId"];
|
|
string where = " TASK_ID = '" + taskId + "' order by TIME ";
|
|
returnstr = "{\"code\":0,\"msg\":\"\",\"TraData\":";
|
|
DataSet data = bll.GetList(where);
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(data);
|
|
returnstr += "}";
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"error\",\"TraData\":[]}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "巡查操作请求", "根据巡查任务ID查询轨迹列表(自由巡检用)异常:" + e);
|
|
}
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "巡查操作请求", "根据巡查任务ID查询轨迹列表(自由巡检用)");
|
|
return returnstr;
|
|
}
|
|
|
|
//修改巡查轨迹
|
|
private string EditTra(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
int code = -1;
|
|
string msg = "";
|
|
try
|
|
{
|
|
string orgId = context.Request.Params["ORG_ID"];
|
|
string TASK_ID = context.Request.Params["TASK_ID"];
|
|
string EXTENDCODE1 = context.Request.Params["IFID"];
|
|
//string TIME = context.Request.Params["TIME"];
|
|
string STATE = context.Request.Params["STATE"];
|
|
string IS_DANGER = context.Request.Params["IS_DANGER"];
|
|
|
|
//上传图片
|
|
FangYar.Model.OA_PATROL_TRAJECTORY model = bll.IFIDGetModel(TASK_ID, EXTENDCODE1);
|
|
string A_PHOTO = UploadFile("OaPatrolTra", context, model.ID);
|
|
|
|
//巡查轨迹表
|
|
model.TASK_ID = TASK_ID;
|
|
model.ORG_ID = orgId;
|
|
model.EXTENDCODE1 = EXTENDCODE1;
|
|
//model.TIME = TIME;
|
|
model.STATE = STATE;
|
|
model.IS_DANGER = IS_DANGER;
|
|
model.A_PHOTO = A_PHOTO;
|
|
|
|
if (bll.UpdateByTaskIdAndSpotNo(model))
|
|
{
|
|
Thread.Sleep(100);
|
|
DataTable data = bll.GetTraCountState(TASK_ID);
|
|
string wxx = data.Rows[0]["WXX"].ToString();
|
|
bool flag = false;
|
|
if (wxx == "0")
|
|
{
|
|
FangYar.BLL.OA_PATROL_TASK ptbll = new FangYar.BLL.OA_PATROL_TASK();
|
|
FangYar.Model.OA_PATROL_TASK ptmodel = ptbll.GetModel(TASK_ID);
|
|
ptmodel.STATE = "1";
|
|
flag = ptbll.Update(ptmodel);
|
|
}
|
|
else
|
|
{
|
|
flag = true;
|
|
}
|
|
if (flag)
|
|
{
|
|
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;
|
|
}
|
|
|
|
//根据IFID(芯片编号)得到一个对象实体
|
|
private string IFIDGetModel(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
string TASK_ID = context.Request.Params["TASK_ID"];
|
|
string IFID = context.Request.Params["IFID"];
|
|
FangYar.Model.OA_PATROL_TRAJECTORY model = bll.IFIDGetModel(TASK_ID, IFID);
|
|
if (model != null)
|
|
{
|
|
returnstr = "{\"code\":1,\"msg\":\"ok\",\"TraData\":" + FangYar.Common.JsonHelper.ToJson(model) + "}";
|
|
}
|
|
else
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"ok\",\"TraData\":[]}";
|
|
}
|
|
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
returnstr = "{\"code\":-1,\"msg\":\"error\",\"TraData\":[]}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "巡查操作请求", "根据IFID(芯片编号)得到一个对象实体异常:" + e);
|
|
}
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "巡查操作请求", "根据IFID(芯片编号)得到一个对象实体");
|
|
return returnstr;
|
|
}
|
|
|
|
//上传图片
|
|
private static string UploadFile(string url, HttpContext context, string CONNMOD_ID)
|
|
{
|
|
string result = "";
|
|
if (context.Request.Files.Count > 0)
|
|
{
|
|
string ImageFilePath = "/Upload/" + url + "/" + 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));
|
|
}
|
|
for (int i = 0; i < context.Request.Files.Count; i++)
|
|
{
|
|
HttpPostedFile item = context.Request.Files[i];
|
|
string fileName = CONNMOD_ID + i + ".png";
|
|
try
|
|
{
|
|
string rootPath = System.AppDomain.CurrentDomain.BaseDirectory + ImageFilePath;
|
|
item.SaveAs(rootPath + fileName);
|
|
result += ImageFilePath + fileName + ",";
|
|
}
|
|
catch
|
|
{
|
|
result += "";
|
|
}
|
|
}
|
|
result = result.Substring(0, result.Length - 1);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
|
|
public bool IsReusable
|
|
{
|
|
get
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|