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 OaRecipePlanHandler : IHttpHandler { private FangYar.BLL.OA.OA_RECIPE_PLAN bll = new FangYar.BLL.OA.OA_RECIPE_PLAN(); public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string action = context.Request.Params["Action"]; string returnstr = ""; switch (action) { case "List": returnstr = GetList(context); break; case "PastRecipes": returnstr = GetPastRecipes(context); break; case "Add": returnstr = AddRecipePlan(context); break; case "Edit": returnstr = EditRecipePlan(context); break; case "GetWeekRecipes": returnstr = GetWeekRecipes(context); break; } context.Response.Write(returnstr); } //查询 private string GetList(HttpContext context) { string returnstr = ""; try { string ORG_ID = context.Request.Params["OrgId"]; string keyword = context.Request.Params["keywords"]; 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(ORG_ID)) { where += " ORG_ID = '" + ORG_ID + "' "; } else { return "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; } if (!string.IsNullOrEmpty(keyword)) { where += " and NAME like '%" + keyword + "%' "; } returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll.GetRecordCount(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { DataTable dt = bll.GetListByPage(where, "STATE , NAME ", startIndex, endIndex).Tables[0]; returnstr += FangYar.Common.JsonHelper.ToJson(dt); } returnstr += "}"; } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; } return returnstr; } //查询往期食谱 private string GetPastRecipes(HttpContext context) { string returnstr = ""; try { string OrgId = context.Request.Params["OrgId"]; returnstr += "{\"code\":200,\"data\":"; DataTable dt = bll.GetPastRecipes(OrgId); returnstr += FangYar.Common.JsonHelper.ToJson(dt); returnstr += "}"; } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; } return returnstr; } //添加点名任务 private string AddRecipePlan(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string PLANID = Guid.NewGuid().ToString("N"); string NAME = context.Request.Params["NAME"]; string U_ID = context.Request.Params["U_ID"]; string U_NAME = context.Request.Params["U_NAME"]; string STATE = context.Request.Params["STATE"]; string ORG_ID = context.Request.Params["ORG_ID"]; string recipeRecordArr = context.Request.Params["recipeRecordArr"]; if (bll.ExistsNAME(NAME, ORG_ID)) { return "{\"msg\":\"该营区【" + NAME + "】食谱,已存在!\",\"code\":" + code + "}"; } //周食谱计划表 FangYar.Model.OA.OA_RECIPE_PLAN model = new Model.OA.OA_RECIPE_PLAN(); model.ID = PLANID; model.NAME = NAME; model.U_ID = U_ID; model.U_NAME = U_NAME; model.STATE = STATE; model.ORG_ID = ORG_ID; List ht = new List(); FangYar.BLL.OA.OA_RECIPE_RECORD record_bll = new FangYar.BLL.OA.OA_RECIPE_RECORD(); List record_data = JsonConvert.DeserializeObject>(recipeRecordArr); for (int i = 0; i < record_data.Count; i++) { record_data[i].ID = Guid.NewGuid().ToString("N"); record_data[i].U_ID = U_ID; record_data[i].U_NAME = U_NAME; record_data[i].ORG_ID = ORG_ID; record_data[i].PLAN_ID = model.ID; FangYar.Model.OA.CommonSql record_sql = record_bll.getInsertRecordSql(record_data[i]); ht.Add(record_sql); } FangYar.Model.OA.CommonSql plan_sql = bll.getInsertPlanSql(model); ht.Add(plan_sql); if (FangYar.Common.MySqlHelper.ExecuteSqlTranBool(ht)) { code = 1; msg = "添加成功"; } else { code = 0; msg = "添加失败"; } } catch (Exception e) { msg = "添加失败:" + e.Message; } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; return returnstr; } //修改点名任务 private string EditRecipePlan(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string PLANID = context.Request.Params["PLAN_ID"]; string NAME = context.Request.Params["NAME"]; string U_ID = context.Request.Params["U_ID"]; string U_NAME = context.Request.Params["U_NAME"]; string STATE = context.Request.Params["STATE"]; string ORG_ID = context.Request.Params["ORG_ID"]; string recipeRecordArr = context.Request.Params["recipeRecordArr"]; if (!bll.Exists(PLANID)) { return "{\"msg\":\"未查询到【" + NAME + "】食谱,无法修改!\",\"code\":" + code + "}"; } //周食谱计划表 FangYar.Model.OA.OA_RECIPE_PLAN model = new Model.OA.OA_RECIPE_PLAN(); model.ID = PLANID; model.NAME = NAME; model.U_ID = U_ID; model.U_NAME = U_NAME; model.STATE = STATE; model.ORG_ID = ORG_ID; List ht = new List(); FangYar.BLL.OA.OA_RECIPE_RECORD record_bll = new FangYar.BLL.OA.OA_RECIPE_RECORD(); List record_data = JsonConvert.DeserializeObject>(recipeRecordArr); for (int i = 0; i < record_data.Count; i++) { record_data[i].U_ID = U_ID; record_data[i].U_NAME = U_NAME; record_data[i].ORG_ID = ORG_ID; record_data[i].PLAN_ID = model.ID; FangYar.Model.OA.CommonSql record_sql = record_bll.getUpdateRecordSql(record_data[i]); ht.Add(record_sql); } FangYar.Model.OA.CommonSql plan_sql = bll.getUpdatePlanSql(model); ht.Add(plan_sql); if (FangYar.Common.MySqlHelper.ExecuteSqlTranBool(ht)) { code = 1; msg = "修改成功"; } else { code = 0; msg = "修改失败"; } } catch (Exception e) { msg = "修改失败:" + e.Message; } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; return returnstr; } //获取一周食谱 private string GetWeekRecipes(HttpContext context) { string returnstr = ""; try { string year = context.Request.Params["year"]; string week = context.Request.Params["week"]; string ORG_ID = context.Request.Params["ORG_ID"]; string STATE = context.Request.Params["STATE"]; returnstr += "{\"code\":0,\"data\":"; string whereStr = " ORG_ID='" + ORG_ID + "' and NAME = '" + year + " " + "第" + week + "周'"; if (!string.IsNullOrEmpty(STATE)) { whereStr += " and STATE = '" + STATE + "' "; } DataTable dt = bll.GetList(whereStr).Tables[0]; returnstr += FangYar.Common.JsonHelper.ToJson(dt); returnstr += "}"; } catch { returnstr = "{\"code\":-1,\"msg\":\"error\",\"count\":0,\"data\":[]}"; } return returnstr; } public bool IsReusable { get { return false; } } } }