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; namespace FangYar.WebUI.ashx { /// /// OaLeaveHandler 的摘要说明 /// public class OaAttendanceTaskHandler : IHttpHandler { private FangYar.BLL.OA.OA_ATTENDANCE_TASK bll = new FangYar.BLL.OA.OA_ATTENDANCE_TASK(); public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string action = context.Request.Params["Action"]; string returnstr = ""; switch (action) { case "AttendanceTaskListByUID": returnstr = GetAttendanceTaskListByUID(context); break; case "AttendanceTaskList": returnstr = GetAttendanceTaskList(context); break; case "Add": returnstr = AddAttendanceTask(context); break; case "Edit": returnstr = EditAttendanceTask(context); break; case "Del": returnstr = DelAttendanceTask(context); break; case "getRecordList": returnstr = DelAttendanceTask(context); break; case "getAttendance": returnstr = getAttendance(context); break; case "HistoryListByDate": returnstr = getHistoryListByDate(context); break; } context.Response.Write(returnstr); } //根据UID查询考勤任务 private string GetAttendanceTaskListByUID(HttpContext context) { string returnstr = ""; try { string UID = context.Request.Params["UID"]; string where = ""; if (!string.IsNullOrEmpty(UID)) { where += " instr (',' || ATTENDANCE_USER_UID || ',',',' ||'" + UID + "'||',')<>0 "; } else { return "{\"code\":-1,\"msg\":\"参数错误\",\"count\":0,\"data\":[]}"; } where += " and ATTENDANCE_DATE = '" + DateTime.Now.ToString("yyyy-MM-dd") + "' "; returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll.GetRecordCount(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { List list = bll.GetModelList(where); returnstr += FangYar.Common.JsonHelper.ToJson(list); } returnstr += "}"; } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; } return returnstr; } //查询 private string GetAttendanceTaskList(HttpContext context) { string returnstr = ""; try { string ORG_ID = context.Request.Params["ORG_ID"]; string where = ""; 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 { where += " ORDER BY ATTENDANCE_DATE DESC"; List list = bll.GetModelList(where); returnstr += FangYar.Common.JsonHelper.ToJson(list); } returnstr += "}"; } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; } return returnstr; } //添加考勤任务 private string AddAttendanceTask(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string ID = Guid.NewGuid().ToString("N"); string TASK_NAME = context.Request.Params["TASK_NAME"]; string LOCATION = context.Request.Params["LOCATION"]; string UP_START_DATE = context.Request.Params["UP_START_DATE"]; string UP_END_DATE = context.Request.Params["UP_END_DATE"]; string DOWN_START_DATE = context.Request.Params["DOWN_START_DATE"]; string DOWN_END_DATE = context.Request.Params["DOWN_END_DATE"]; string ORG_ID = context.Request.Params["ORG_ID"]; string ORG_NAME = context.Request.Params["ORG_NAME"]; string ATTENDANCE_DATE = context.Request.Params["ATTENDANCE_DATE"]; string REMARKS = context.Request.Params["REMARKS"]; string EXTEND1 = context.Request.Params["EXTEND1"]; 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"]; //考勤任务表 FangYar.Model.OA.OA_ATTENDANCE_TASK model = new Model.OA.OA_ATTENDANCE_TASK(); model.ID = ID; model.TASK_NAME = TASK_NAME; model.LOCATION = LOCATION; model.UP_START_DATE = UP_START_DATE; model.UP_END_DATE = UP_END_DATE; model.DOWN_START_DATE = DOWN_START_DATE; model.DOWN_END_DATE = DOWN_END_DATE; model.ORG_ID = ORG_ID; model.ORG_NAME = ORG_NAME; model.ATTENDANCE_DATE = ATTENDANCE_DATE; model.REMARKS = REMARKS; model.EXTEND1 = EXTEND1; model.EXTEND2 = EXTEND2; model.EXTEND3 = EXTEND3; model.EXTEND4 = EXTEND4; model.EXTEND5 = EXTEND5; model.EXTEND6 = EXTEND6; if (bll.Add(model)) { msg = "添加成功!"; code = 1; } else { msg = "添加失败!"; } } catch { msg = "添加失败:装备编码有重复数据"; } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; return returnstr; } //修改考勤任务 private string EditAttendanceTask(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string ID = context.Request.Params["ID"]; string TASK_NAME = context.Request.Params["TASK_NAME"]; string LOCATION = context.Request.Params["LOCATION"]; string UP_START_DATE = context.Request.Params["UP_START_DATE"]; string UP_END_DATE = context.Request.Params["UP_END_DATE"]; string DOWN_START_DATE = context.Request.Params["DOWN_START_DATE"]; string DOWN_END_DATE = context.Request.Params["DOWN_END_DATE"]; string ORG_ID = context.Request.Params["ORG_ID"]; string ORG_NAME = context.Request.Params["ORG_NAME"]; string ATTENDANCE_DATE = context.Request.Params["ATTENDANCE_DATE"]; string REMARKS = context.Request.Params["REMARKS"]; string EXTEND1 = context.Request.Params["EXTEND1"]; 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"]; //考勤任务表 FangYar.Model.OA.OA_ATTENDANCE_TASK model = new Model.OA.OA_ATTENDANCE_TASK(); model.ID = ID; model.TASK_NAME = TASK_NAME; model.LOCATION = LOCATION; model.UP_START_DATE = UP_START_DATE; model.UP_END_DATE = UP_END_DATE; model.DOWN_START_DATE = DOWN_START_DATE; model.DOWN_END_DATE = DOWN_END_DATE; model.ORG_ID = ORG_ID; model.ORG_NAME = ORG_NAME; model.ATTENDANCE_DATE = ATTENDANCE_DATE; model.REMARKS = REMARKS; model.EXTEND1 = EXTEND1; model.EXTEND2 = EXTEND2; model.EXTEND3 = EXTEND3; model.EXTEND4 = EXTEND4; model.EXTEND5 = EXTEND5; model.EXTEND6 = EXTEND6; if (bll.Update(model)) { msg = "修改成功!"; code = 1; } else { msg = "修改失败!"; } } catch { msg = "修改失败!"; } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; return returnstr; } //删除考勤记录 private string DelAttendanceTask(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 { msg = "删除失败!"; } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}"; return returnstr; } //获取考勤任务信息、打卡记录 private string getAttendance(HttpContext context) { string returnstr = ""; try { string taskId = context.Request.Params["taskId"]; returnstr = "{\"code\":0,\"msg\":\"\",\"TaskData\":"; List data = bll.getAttendance(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\":[] }"; } return returnstr; } //按年月、机构获取月考勤记录 private string getHistoryListByDate(HttpContext context) { string returnstr = ""; try { string ORG_ID = context.Request.Params["ORG_ID"]; string ATTENDANCE_DATE = context.Request.Params["ATTENDANCE_DATE"]; DateTime sTime = Convert.ToDateTime(ATTENDANCE_DATE + "-01"); string dTime = sTime.AddMonths(1).ToString("yyyy-MM-dd"); returnstr = "{\"code\":0,\"msg\":\"\",\"data\":"; DataTable data = bll.getHistoryListByDate(ORG_ID, sTime.ToString("yyyy-MM-dd"), dTime); returnstr += FangYar.Common.JsonHelper.ToJson(data); returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\",\"data\":[] }"; } return returnstr; } public bool IsReusable { get { return false; } } } }