软测单独项目
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.
 
 
 
 
 
 

293 lines
11 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.Linq;
using Newtonsoft.Json;
namespace FangYar.WebUI.ashx
{
/// <summary>
/// OaLeaveHandler 的摘要说明
/// </summary>
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<FangYar.Model.OA.CommonSql> ht = new List<FangYar.Model.OA.CommonSql>();
FangYar.BLL.OA.OA_RECIPE_RECORD record_bll = new FangYar.BLL.OA.OA_RECIPE_RECORD();
List<FangYar.Model.OA.OA_RECIPE_RECORD> record_data = JsonConvert.DeserializeObject<List<FangYar.Model.OA.OA_RECIPE_RECORD>>(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<FangYar.Model.OA.CommonSql> ht = new List<FangYar.Model.OA.CommonSql>();
FangYar.BLL.OA.OA_RECIPE_RECORD record_bll = new FangYar.BLL.OA.OA_RECIPE_RECORD();
List<FangYar.Model.OA.OA_RECIPE_RECORD> record_data = JsonConvert.DeserializeObject<List<FangYar.Model.OA.OA_RECIPE_RECORD>>(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;
}
}
}
}