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.
374 lines
15 KiB
374 lines
15 KiB
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
|
|
{
|
|
/// <summary>
|
|
/// CarApplyHandler 的摘要说明
|
|
/// </summary>
|
|
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<FangYar.Model.OA_ALREADYPROCESSED> list = alreadybll.GetModelList(strWhere);
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(list);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
returnstr += "\"count\":" + count + ",\"data\":";
|
|
List<FangYar.Model.OA_WAITPROCESSED> 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<FangYar.Model.OA_ALREADYPROCESSED> list = alreadybll.GetModelList(strWhere);
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(list);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
returnstr += ",\"data2\":";
|
|
List<FangYar.Model.OA_WAITPROCESSED> 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;
|
|
}
|
|
}
|
|
}
|
|
}
|