using System; using System.Collections.Generic; using System.Linq; using System.Web; using FangYar.Common; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System.Data; namespace FangYar.WebUI.ashx { /// /// CarApplyHandler 的摘要说明 /// public class ZYCarApplyHandler : IHttpHandler { private FangYar.BLL.TBL_SYS_CARAPPLY bll = new FangYar.BLL.TBL_SYS_CARAPPLY(); 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 "Add": returnstr = Add(context); break; case "getWaitList": returnstr = getWaitList(context); break; case "editWait": returnstr = editWait(context); break; case "AppList": returnstr = AppList(context); break; } context.Response.Write(returnstr); } //查询 private string GetList(HttpContext context) { string returnstr = ""; try { //string OrgId = context.Request.Params["OrgId"]; string keyword = context.Request.Params["keywords"]; //string treeID = context.Request.Params["treeID"]; //string type = context.Request.Params["type"]; string id = context.Request.Params["id"]; string page = context.Request.Params["page"]; string limit = context.Request.Params["limit"]; int pageIndex = 1; int pageSize = 10; if (!string.IsNullOrEmpty(page)) { pageIndex = int.Parse(page); } if (!string.IsNullOrEmpty(limit)) { pageSize = int.Parse(limit); } string where = "1=1"; if (!string.IsNullOrEmpty(keyword)) { where += " and ( USERNAME like '%" + keyword + "%' or USERPHONE like '%" + keyword + "%' or CARNUM like '%" + keyword + "%' )"; } if (!string.IsNullOrEmpty(id)) { where += " and ( ID ='" + id + "' )"; } returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll.GetRecordCount(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { DataTable dt = bll.QueryTable(pageIndex, pageSize, where, ""); returnstr += FangYar.Common.JsonHelper.ToJson(dt); } returnstr += "}"; } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]"; } return returnstr; } //添加 private string Add(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string userid = context.Request.Params["userid"];//申请人ID string username = context.Request.Params["username"];//申请人姓名 string userphone = context.Request.Params["userphone"];//申请人电话 string carid = context.Request.Params["carid"];//车辆号牌 string userman = context.Request.Params["userman"];//用车人 string dept = context.Request.Params["dept"];//单位 string ridenum = context.Request.Params["ridenum"];//乘车时间 string ridemans = context.Request.Params["ridemans"];////乘车人员 string ridepurpose = context.Request.Params["ridepurpose"];//用车目的 string startpoint = context.Request.Params["startpoint"];//起点 string destination = context.Request.Params["destination"];//目的地 string starttime = context.Request.Params["starttime"]; //其实时间 string finishtime = context.Request.Params["finishtime"]; //结束时间 string app_pplId = context.Request.Params["app_pplId"];//审批人员 //申请用车 FangYar.Model.TBL_SYS_CARAPPLY model = new Model.TBL_SYS_CARAPPLY(); model.ID = Guid.NewGuid().ToString("N"); model.USERID = userid; model.USERNAME = username; model.USERPHONE = userphone; model.CARID = carid; FangYar.BLL.TBL_SYS_CAR car_bll = new BLL.TBL_SYS_CAR(); FangYar.Model.TBL_SYS_CAR car_model = car_bll.GetModel(carid); model.CARNUM = ""; if (car_model != null) { model.CARNUM = car_model.CAR_NUM; } model.CARNUM = car_model.CAR_NUM; model.USERMAN = userman; //获取申请人信息 FangYar.BLL.TBL.SysEmpBLL emp_bll = new BLL.TBL.SysEmpBLL(); FangYar.Model.TBL.TBL_SYS_EMP_Model empmodel = emp_bll.GetModelByID(userid); model.DEPT = dept; //if (car_model != null) //{ // model.DEPT = empmodel.DEPT_ID; //} model.TYPE = ""; model.RIDENUM = Int32.Parse(ridenum); model.RIDEMANS = ridemans; model.RIDEPURPOSE = ridepurpose; model.STARTPOINT = startpoint; model.DESTINATION = destination; model.STARTTIME = DateTime.Parse(starttime); model.FINISHTIME = DateTime.Parse(finishtime); model.STATE = "0"; if (bll.Add(model)) { //添加到流程中 //{"data":[{"ppl_Id":"cscj01","ppl_Name":"昌吉支队测试账号01"}]} JObject jObj = JObject.Parse(app_pplId); var datas = jObj["data"]; int i = 1; bool result = false; FangYar.BLL.OA_WAITPROCESSED wbll = new BLL.OA_WAITPROCESSED(); foreach (var data in datas) { JObject jObj2 = JObject.Parse(data.ToString()); string ppl_Id = jObj2["ppl_Id"].ToString(); string ppl_Name = jObj2["ppl_Name"].ToString(); FangYar.Model.OA_WAITPROCESSED wmodel = new FangYar.Model.OA_WAITPROCESSED(); wmodel.ID = Guid.NewGuid().ToString("N"); wmodel.TASK_ID = model.ID; wmodel.TASK_TYPE = "carApply"; wmodel.PPL_ID = ppl_Id; wmodel.PPL_NAME = ppl_Name; wmodel.R_TIME = DateTime.Now.ToString(); wmodel.SORT = i; wmodel.APPLE_ID = userid; wmodel.APPLE_NAME = username; string state = "0"; if (i == 1) { state = "1"; } wmodel.STATE = state; i++; result = wbll.Add(wmodel); if (!result) { return returnstr = "{\"msg\":\"添加失败!\",\"code\":-1}"; } } msg = "添加成功!"; code = 1; } else { msg = "添加失败!"; } } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]"; } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; return returnstr; } private string getWaitList(HttpContext context) { string returnstr = ""; try { string taskid = context.Request.Params["id"];//tsakID int count = 0; string strWhere = ""; //TASK_ID //申请用车 FangYar.BLL.OA_WAITPROCESSED waitbll = new BLL.OA_WAITPROCESSED(); strWhere = " TASK_ID='" + taskid + "' order by SORT asc"; returnstr += "{\"code\":1,\"msg\":\"error\","; count = waitbll.GetRecordCount(strWhere); if (count == 0) { FangYar.BLL.OA_ALREADYPROCESSED alreadybll = new BLL.OA_ALREADYPROCESSED(); count = alreadybll.GetRecordCount(strWhere); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { List list = alreadybll.GetModelList(strWhere); returnstr += FangYar.Common.JsonHelper.ToJson(list); } } else { returnstr += "\"count\":" + count + ",\"data\":"; List list = waitbll.GetModelList(strWhere); returnstr += FangYar.Common.JsonHelper.ToJson(list); } returnstr += "}"; } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; } return returnstr; } //车辆审批 private string editWait(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; string usercode = ""; try { string leaveId = context.Request.Params["leaveId"]; string waitId = context.Request.Params["waitId"]; string state = context.Request.Params["state"]; string sort = context.Request.Params["sort"]; string aOpinion = context.Request.Params["a_opinion"]; string isOver = context.Request.Params["isOver"]; // string Id = context.Request.Params["Id"]; // string state = context.Request.Params["state"]; // string aOpinion = context.Request.Params["a_opinion"]; // string isOver = context.Request.Params["isOver"]; FangYar.Model.OA_WAITPROCESSED model = new Model.OA_WAITPROCESSED(); model.ID = waitId; model.TASK_ID = leaveId; model.STATE = state; model.SORT = Convert.ToInt32(sort); model.A_OPINION = aOpinion; if (!string.IsNullOrEmpty(bll.editWait(model, isOver))) { msg = "审批成功!"; code = 1; usercode = bll.editWait(model, isOver); } else { msg = "审批失败!"; } } catch { msg = "审批失败!"; } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "\",\"usercode\":" + usercode + "}"; return returnstr; } //查询 private string AppList(HttpContext context) { string returnstr = ""; try { string id = context.Request.Params["id"]; string where = "1=1"; if (!string.IsNullOrEmpty(id)) { where += " and ( ID ='" + id + "' )"; } returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll.GetRecordCount(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { Model.TBL_SYS_CARAPPLY mcarapply = bll.GetModel(id); returnstr += FangYar.Common.JsonHelper.ToJson(mcarapply); //获取流转信息 try { int count3 = 0, count2 = 0; string strWhere = ""; //申请用车 FangYar.BLL.OA_WAITPROCESSED waitbll = new BLL.OA_WAITPROCESSED(); strWhere = " TASK_ID='" + id + "' order by SORT asc"; count3 = waitbll.GetRecordCount(strWhere); if (count3 == 0) { FangYar.BLL.OA_ALREADYPROCESSED alreadybll = new BLL.OA_ALREADYPROCESSED(); count2 = alreadybll.GetRecordCount(strWhere); returnstr += ",\"data2\":"; if (count2 == 0) { returnstr += "[]"; } else { List list = alreadybll.GetModelList(strWhere); returnstr += FangYar.Common.JsonHelper.ToJson(list); } } else { returnstr += ",\"data2\":"; List list = waitbll.GetModelList(strWhere); returnstr += FangYar.Common.JsonHelper.ToJson(list); } } catch { returnstr = ",\"data2\":[]"; } } returnstr += "}"; } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]"; } return returnstr; } public bool IsReusable { get { return false; } } } }