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.Linq; using Newtonsoft.Json; namespace FangYar.WebUI.ashx { /// /// OaLeaveHandler 的摘要说明 /// public class OaExerciseTaskHandler : IHttpHandler { private FangYar.BLL.OA.OA_EXERCISE_TASK bll = new FangYar.BLL.OA.OA_EXERCISE_TASK(); 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 "GetExerciseTaskListByUID": returnstr = GetExerciseTaskListByUID(context); break; case "GetExerciseRecordListByUID": returnstr = GetExerciseRecordListByUID(context); break; case "List": returnstr = List(context); break; case "Add": returnstr = AddExerciseTask(context); break; case "Edit": returnstr = EditExerciseTask(context); break; case "Del": returnstr = DelExerciseTask(context); break; case "GetExerciseTask": returnstr = GetExerciseTask(context); break; case "getExercise": returnstr = getExercise(context); break; //根据出操任务ID获取任务信息 case "GetExerciseTaskByID": returnstr = GetExerciseTaskByID(context); break; case "SaveExerciseMark": returnstr = SaveExerciseMark(context); break; } context.Response.Write(returnstr); } private string GetExerciseTaskByID(HttpContext context) { string returnstr = ""; try { string tid = context.Request.Params["tid"]; string sql = " SELECT * from oa_exercise_task WHERE id = '" + tid + "' "; returnstr = "{\"code\":1,\"msg\":\"\",\"data\":"; DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql); returnstr += FangYar.Common.JsonHelper.ToJson(dt); returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "出操任务操作请求", "根据UID查询打卡记录异常:" + e); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "出操任务操作请求", "根据UID查询打卡记录"); return returnstr; } /// /// 保存出操任务标记标记 /// /// /// private string SaveExerciseMark(HttpContext context) { string returnstr = ""; try { string tid = context.Request.Params["tid"]; string MARK_IS_Drill = context.Request.Params["MARK_IS_Drill"]; string MARK_REMARK = context.Request.Params["MARK_REMARK"]; string sql = " update oa_exercise_task set MARK_IS_Drill='" + MARK_IS_Drill + "',MARK_REMARK='" + MARK_REMARK + "' WHERE id = '" + tid + "' "; var num = FangYar.Common.MySqlHelper.Execute(sql); if (num > 0) { returnstr = "{\"code\":1,\"msg\":\"操作成功\",\"data\":\"\"}"; } else { returnstr = "{\"code\":0,\"msg\":\"操作失败\",\"data\":\"\"}"; } } catch (Exception e) { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "出操任务操作请求", "根据UID查询打卡记录异常:" + e); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "出操任务操作请求", "根据UID查询打卡记录"); return returnstr; } //根据UID查询出操 private string GetExerciseTaskListByUID(HttpContext context) { string returnstr = ""; try { string UID = context.Request.Params["UID"]; string where = ""; if (!string.IsNullOrEmpty(UID)) { where += " (instr (USERS_UID,'\"ppl_Id\":\"'||'" + UID + "'||'\"')<>0) or (ISSUEUID = '" + UID + "')"; } else { return "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; } returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll.GetRecordCount(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { where += " ORDER BY REPORT_TIME "; List list = bll.GetModelList(where); 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, "出操任务操作请求", "根据UID查询出操异常:" + e); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "出操任务操作请求", "根据UID查询出操"); return returnstr; } //根据UID查询打卡记录 private string GetExerciseRecordListByUID(HttpContext context) { string returnstr = ""; try { string UID = context.Request.Params["UID"]; string state = context.Request.Params["state"]; string page = context.Request.Params["page"]; string limit = context.Request.Params["limit"]; int pageIndex = 1; int pageSize = 99;// if (!string.IsNullOrEmpty(page)) { pageIndex = int.Parse(page); } if (!string.IsNullOrEmpty(limit)) { pageSize = int.Parse(limit); } int startIndex = (pageIndex - 1) * pageSize; int endIndex = pageSize; string where = " users_uid ='" + UID + "'"; if (!string.IsNullOrEmpty(state)) { where += " and state = '" + state + "'"; } FangYar.BLL.OA.OA_EXERCISE_RECORD erbll = new BLL.OA.OA_EXERCISE_RECORD(); returnstr = "{\"code\":0,\"msg\":\"\","; int count = erbll.GetRecordCount(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { DataTable dt = bll.GetRecordList(where, startIndex, endIndex).Tables[0]; returnstr += FangYar.Common.JsonHelper.ToJson(dt); } returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "出操任务操作请求", "根据UID查询打卡记录异常:" + e); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "出操任务操作请求", "根据UID查询打卡记录"); return returnstr; } //查询 private string List(HttpContext context) { string returnstr = ""; try { string ORG_ID = context.Request.Params["ORG_ID"]; string treeID = context.Request.Params["treeID"]; string page = context.Request.Params["page"]; string limit = context.Request.Params["limit"]; int pageIndex = 1; int pageSize = 10; int startIndex = 0; int endIndex = 10; if (!string.IsNullOrEmpty(page)) { pageIndex = int.Parse(page); } if (!string.IsNullOrEmpty(limit)) { pageSize = int.Parse(limit); } startIndex = (pageIndex - 1) * pageSize; endIndex = pageSize; string where = ""; if (!string.IsNullOrEmpty(treeID) && treeID != ORG_ID) { ORG_ID = treeID; } if (!string.IsNullOrEmpty(ORG_ID)) { where += " ORG_ID = '" + ORG_ID + "' "; } else { return "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; } returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll.GetRecordCount(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { DataSet list = bll.GetListByPage(where, "REPORT_TIME desc", startIndex, endIndex); returnstr += FangYar.Common.JsonHelper.ToJson(list.Tables[0]); } 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 AddExerciseTask(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string USERS_UID = context.Request.Params["USERS_UID"]; string ID = Guid.NewGuid().ToString("N"); string RFID = context.Request.Params["RFID"]; string REPORT_TIME = context.Request.Params["REPORT_TIME"]; string USERS_NAME = context.Request.Params["USERS_NAME"]; string ORG_ID = context.Request.Params["ORG_ID"]; string ORG_NAME = context.Request.Params["ORG_NAME"]; string REMARKS = context.Request.Params["REMARKS"]; string ADDR = context.Request.Params["ADDR"]; string EXTEND2 = context.Request.Params["s_time"]; string EXTEND3 = context.Request.Params["m_time"]; string EXTEND4 = context.Request.Params["e_time"]; string EXTEND5 = context.Request.Params["EXTEND5"]; string EXTEND6 = context.Request.Params["EXTEND6"]; string ISSUEUID = context.Request.Params["ISSUEUID"]; string ISSUENAME = context.Request.Params["ISSUENAME"]; string TASK_NAME = context.Request.Params["TASK_NAME"]; string TIME_TYPE = context.Request.Params["TIME_TYPE"]; //点名任务表 FangYar.Model.OA.OA_EXERCISE_TASK model = new Model.OA.OA_EXERCISE_TASK(); model.ID = ID; model.USERS_UID = USERS_UID; model.RFID = RFID; model.REPORT_TIME = REPORT_TIME; model.USERS_NAME = USERS_NAME; model.ORG_ID = ORG_ID; model.ORG_NAME = ORG_NAME; model.REMARKS = REMARKS; model.ADDR = ADDR; model.EXTEND2 = EXTEND2; model.EXTEND3 = EXTEND3; model.EXTEND4 = EXTEND4; model.EXTEND5 = EXTEND5; model.EXTEND6 = EXTEND6; model.ISSUEUID = ISSUEUID; model.ISSUENAME = ISSUENAME; model.TASK_NAME = TASK_NAME; model.TIME_TYPE = TIME_TYPE; List ERModels = new List(); JObject ppl_s = JsonConvert.DeserializeObject(USERS_UID); FangYar.BLL.TBL.SysUsersBLL ubll = new BLL.TBL.SysUsersBLL(); foreach (JObject obj in ppl_s.Value("data")) { string objpplId = (string)obj["ppl_Id"]; string objpplName = (string)obj["ppl_Name"]; FangYar.Model.OA.OA_EXERCISE_RECORD ermodel = new Model.OA.OA_EXERCISE_RECORD(); ermodel.ID = Guid.NewGuid().ToString("N"); ermodel.TASK_ID = ID; ermodel.USERS_UID = objpplId; ermodel.USERS_NAME = objpplName; ermodel.RFID = RFID; ermodel.TIME_TYPE = TIME_TYPE; ermodel.ORG_ID = ORG_ID; ermodel.ORG_NAME = ORG_NAME; ermodel.STATE = "0"; ERModels.Add(ermodel); } if (bll.AddExerciseTask(model, ERModels)) { 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 EditExerciseTask(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string USERS_UID = context.Request.Params["USERS_UID"]; string ID = context.Request.Params["ID"]; string RFID = context.Request.Params["RFID"]; string REPORT_TIME = context.Request.Params["REPORT_TIME"]; string USERS_NAME = context.Request.Params["USERS_NAME"]; string ORG_ID = context.Request.Params["ORG_ID"]; string ORG_NAME = context.Request.Params["ORG_NAME"]; string REMARKS = context.Request.Params["REMARKS"]; string ADDR = context.Request.Params["ADDR"]; string EXTEND2 = context.Request.Params["EXTEND2"]; string EXTEND3 = context.Request.Params["EXTEND3"]; string EXTEND4 = context.Request.Params["EXTEND4"]; string EXTEND5 = context.Request.Params["EXTEND5"]; string EXTEND6 = context.Request.Params["EXTEND6"]; string ISSUEUID = context.Request.Params["ISSUEUID"]; string ISSUENAME = context.Request.Params["ISSUENAME"]; string TASK_NAME = context.Request.Params["TASK_NAME"]; string TIME_TYPE = context.Request.Params["TIME_TYPE"]; //出操任务表 FangYar.Model.OA.OA_EXERCISE_TASK model = new Model.OA.OA_EXERCISE_TASK(); model.ID = ID; model.USERS_UID = USERS_UID; model.RFID = RFID; model.REPORT_TIME = REPORT_TIME; model.USERS_NAME = USERS_NAME; model.ORG_ID = ORG_ID; model.ORG_NAME = ORG_NAME; model.REMARKS = REMARKS; model.ADDR = ADDR; model.EXTEND2 = EXTEND2; model.EXTEND3 = EXTEND3; model.EXTEND4 = EXTEND4; model.EXTEND5 = EXTEND5; model.EXTEND6 = EXTEND6; model.ISSUEUID = ISSUEUID; model.ISSUENAME = ISSUENAME; model.TASK_NAME = TASK_NAME; model.TIME_TYPE = TIME_TYPE; if (bll.Update(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.Update, "出操任务操作请求", "修改出操任务"); return returnstr; } //删除出操任务 private string DelExerciseTask(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string TaskList = context.Request.Params["TaskList"]; string[] TaskArray = TaskList.Split(','); string TaskListString = ""; for (int i = 0; i < TaskArray.Length; i++) { if (i == 0) { TaskListString = "'" + TaskArray[i] + "'"; } else { TaskListString += ",'" + TaskArray[i] + "'"; } } if (bll.DeleteList(TaskListString)) { msg = "删除成功!"; code = 1; } else { msg = "删除失败!"; } } catch (Exception e) { msg = "删除失败!"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "出操任务操作请求", "删除出操任务异常:" + e); } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Delete, "出操任务操作请求", "删除出操任务"); return returnstr; } //获取出操任务信息、打卡记录 private string GetExerciseTask(HttpContext context) { string returnstr = ""; try { string taskId = context.Request.Params["taskId"]; string RFID = context.Request.Params["RFID"]; returnstr = "{\"code\":0,\"msg\":\"\",\"TaskData\":"; List data = bll.getExercise(taskId); returnstr += FangYar.Common.JsonHelper.ToJson(data[0]); returnstr += ",\"RecordData\":"; returnstr += FangYar.Common.JsonHelper.ToJson(data[1]); returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"TaskData\":[],\"RecordData\":[] }"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "出操任务操作请求", "获取出操任务信息、打卡记录异常:" + e); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "出操任务操作请求", "获取出操任务信息、打卡记录"); return returnstr; } //获取出操任务信息、打卡记录 private string getExercise(HttpContext context) { string returnstr = ""; try { string taskId = context.Request.Params["taskId"]; returnstr = "{\"code\":0,\"msg\":\"\",\"TaskData\":"; List data = bll.getExercise(taskId); returnstr += FangYar.Common.JsonHelper.ToJson(data[0]); returnstr += ",\"RecordData\":"; returnstr += FangYar.Common.JsonHelper.ToJson(data[1]); returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"TaskData\":[],\"RecordData\":[] }"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "出操任务操作请求", "获取出操任务信息、打卡记录异常:" + e); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "出操任务操作请求", "获取出操任务信息、打卡记录"); return returnstr; } public bool IsReusable { get { return false; } } } }