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.
427 lines
16 KiB
427 lines
16 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;
|
|
|
|
namespace FangYar.WebUI.ashx
|
|
{
|
|
/// <summary>
|
|
/// OaLeaveHandler 的摘要说明
|
|
/// </summary>
|
|
public class OaDutyManageHandler : IHttpHandler
|
|
{
|
|
private FangYar.BLL.OA.OA_DUTYMANAGE bll = new FangYar.BLL.OA.OA_DUTYMANAGE();
|
|
public void ProcessRequest(HttpContext context)
|
|
{
|
|
context.Response.ContentType = "text/plain";
|
|
string action = context.Request.Params["Action"];
|
|
string returnstr = "";
|
|
|
|
switch (action)
|
|
{
|
|
case "ListByOrgId":
|
|
returnstr = GetDutyManageListByOrgId(context);
|
|
break;
|
|
case "ListByDutyDate":
|
|
returnstr = GetDutyManageListByDutyDate(context);
|
|
break;
|
|
case "Add":
|
|
returnstr = AddDutyManage(context);
|
|
break;
|
|
case "Edit":
|
|
returnstr = EditDutyManage(context);
|
|
break;
|
|
case "Del":
|
|
returnstr = DelDutyManage(context);
|
|
break;
|
|
case "GetTree":
|
|
returnstr = GetTree(context);
|
|
break;
|
|
case "getStaDutyHoliday":
|
|
returnstr = getStaDutyHoliday(context);
|
|
break;
|
|
case "htmlToWord":
|
|
HtmlToWord(context);
|
|
break;
|
|
}
|
|
context.Response.Write(returnstr);
|
|
}
|
|
|
|
|
|
//根据机构ID查询
|
|
private string GetDutyManageListByOrgId(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
string OrgId = context.Request.Params["OrgId"];
|
|
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 = "";
|
|
if (!string.IsNullOrEmpty(OrgId))
|
|
{
|
|
where = " ORG_ID ='" + OrgId + "' GROUP BY DUTY_DATE ";
|
|
}
|
|
else
|
|
{
|
|
return "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}";
|
|
}
|
|
DataTable list = bll.GetDutyManageListByOrgId(pageIndex, pageSize, OrgId);
|
|
returnstr = "{\"code\":0,\"msg\":\"\",";
|
|
returnstr += "\"count\":" + list.Rows.Count + ",\"data\":";
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(list);
|
|
returnstr += "}";
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}";
|
|
}
|
|
return returnstr;
|
|
}
|
|
|
|
//根据值班日期查询
|
|
private string GetDutyManageListByDutyDate(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
string OrgId = context.Request.Params["OrgId"];
|
|
string DutyDate = context.Request.Params["DutyDate"];
|
|
string where = " ";
|
|
if (!string.IsNullOrEmpty(OrgId))
|
|
{
|
|
where = " ORG_ID ='" + OrgId + "' ";
|
|
}
|
|
else
|
|
{
|
|
return "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}";
|
|
}
|
|
if (!string.IsNullOrEmpty(DutyDate))
|
|
{
|
|
where = " and DUTY_DATE ='" + DutyDate + "' GROUP BY DUTY_DATE ";
|
|
}
|
|
else
|
|
{
|
|
return "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}";
|
|
}
|
|
returnstr = "{\"code\":0,\"msg\":\"\",\"data\":";
|
|
{
|
|
DataTable list = bll.GetDutyManageListByDutyDate(OrgId, DutyDate);
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(list);
|
|
}
|
|
returnstr += "}";
|
|
}
|
|
catch
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}";
|
|
}
|
|
return returnstr;
|
|
}
|
|
|
|
|
|
//添加值班管理
|
|
private string AddDutyManage(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
int code = -1;
|
|
string msg = "";
|
|
try
|
|
{
|
|
string ID = Guid.NewGuid().ToString("N");
|
|
string EMP_ID = context.Request.Params["EMP_ID"];
|
|
string EMP_NAME = context.Request.Params["EMP_NAME"];
|
|
string EMP_PHONE = context.Request.Params["EMP_PHONE"];
|
|
string PROF = context.Request.Params["PROF"];
|
|
string DUTY_DATE = context.Request.Params["DUTY_DATE"];
|
|
string EXTENDCODE1 = context.Request.Params["EXTENDCODE1"];
|
|
string EXTENDCODE2 = context.Request.Params["EXTENDCODE2"];
|
|
string EXTENDCODE4 = context.Request.Params["EXTENDCODE4"];
|
|
string EXTENDCODE5 = context.Request.Params["EXTENDCODE5"];
|
|
string ORG_ID = context.Request.Params["ORG_ID"];
|
|
string SORT = context.Request.Params["SORT"];
|
|
//string taskType = context.Request.Params["TASKTYPE"];
|
|
string PHOTO = context.Request.Params["PHOTO"];
|
|
|
|
|
|
//值班管理表
|
|
FangYar.Model.OA.OA_DUTYMANAGE model = new FangYar.Model.OA.OA_DUTYMANAGE();
|
|
model.ID = ID;
|
|
model.EMP_ID = EMP_ID;
|
|
model.EMP_NAME = EMP_NAME;
|
|
model.EMP_PHONE = EMP_PHONE;
|
|
model.PROF = PROF;
|
|
model.DUTY_DATE = DUTY_DATE;
|
|
string time1 = "";
|
|
string time2 = "";
|
|
if (!string.IsNullOrEmpty(DUTY_DATE))
|
|
{
|
|
DateTime time = Convert.ToDateTime(DUTY_DATE);
|
|
time1 = time.ToString("yyyy-MM-dd HH:mm:ss");
|
|
time2 = time.AddDays(1).ToString("yyyy-MM-dd HH:mm:ss");
|
|
}
|
|
|
|
model.EXTENDCODE1 = time1;
|
|
model.EXTENDCODE2 = time2;
|
|
model.EXTENDCODE4 = EXTENDCODE4;
|
|
model.EXTENDCODE5 = EXTENDCODE5;
|
|
model.ORG_ID = ORG_ID;
|
|
//model.TASKTYPE = taskType;
|
|
model.PHOTO = PHOTO;
|
|
if (!string.IsNullOrEmpty(SORT))
|
|
{
|
|
model.SORT = int.Parse(SORT);
|
|
}
|
|
|
|
//判断是工作日还是节假期周末
|
|
FangYar.BLL.OA.OA_HOLIDAY bll_d = new BLL.OA.OA_HOLIDAY();
|
|
List<FangYar.Model.OA.OA_HOLIDAY> list = bll_d.GetModelList(" HDATE = '" + DUTY_DATE + "'");
|
|
if (list.Count > 0)
|
|
{
|
|
model.EXTENDCODE3 = list[0].REST;
|
|
}
|
|
else
|
|
{
|
|
model.EXTENDCODE3 = "-1";
|
|
}
|
|
|
|
|
|
if (bll.AddTran(model))
|
|
{
|
|
msg = "添加成功!";
|
|
code = 1;
|
|
|
|
//app推送消息
|
|
try
|
|
{
|
|
FangYar.FYMQTT.MessagePush mp = new FYMQTT.MessagePush();
|
|
mp.AloneMsgPush(EMP_ID, "值班管理", "您有一条值班任务,日期:" + DUTY_DATE + "!");
|
|
}
|
|
catch (Exception e) { }
|
|
|
|
}
|
|
else { msg = "添加失败!"; }
|
|
}
|
|
catch
|
|
{
|
|
msg = "添加失败";
|
|
}
|
|
returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}";
|
|
return returnstr;
|
|
}
|
|
|
|
|
|
|
|
//修改值班管理
|
|
private string EditDutyManage(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
int code = -1;
|
|
string msg = "";
|
|
try
|
|
{
|
|
string ID = context.Request.Params["ID"];
|
|
string EMP_ID = context.Request.Params["EMP_ID"];
|
|
string EMP_NAME = context.Request.Params["EMP_NAME"];
|
|
string EMP_PHONE = context.Request.Params["EMP_PHONE"];
|
|
string PROF = context.Request.Params["PROF"];
|
|
string DUTY_DATE = context.Request.Params["DUTY_DATE"];
|
|
string EXTENDCODE1 = context.Request.Params["EXTENDCODE1"];
|
|
string EXTENDCODE2 = context.Request.Params["EXTENDCODE2"];
|
|
string EXTENDCODE3 = context.Request.Params["EXTENDCODE3"];
|
|
string EXTENDCODE4 = context.Request.Params["EXTENDCODE4"];
|
|
string EXTENDCODE5 = context.Request.Params["EXTENDCODE5"];
|
|
string ORG_ID = context.Request.Params["ORG_ID"];
|
|
string SORT = context.Request.Params["SORT"];
|
|
//string taskType = context.Request.Params["TASKTYPE"];
|
|
|
|
|
|
//值班管理表
|
|
FangYar.Model.OA.OA_DUTYMANAGE model = new FangYar.Model.OA.OA_DUTYMANAGE();
|
|
model.ID = ID;
|
|
model.EMP_ID = EMP_ID;
|
|
model.EMP_NAME = EMP_NAME;
|
|
model.EMP_PHONE = EMP_PHONE;
|
|
model.PROF = PROF;
|
|
model.DUTY_DATE = DUTY_DATE;
|
|
model.EXTENDCODE1 = EXTENDCODE1;
|
|
model.EXTENDCODE2 = EXTENDCODE2;
|
|
model.EXTENDCODE3 = EXTENDCODE3;
|
|
model.EXTENDCODE4 = EXTENDCODE4;
|
|
model.EXTENDCODE5 = EXTENDCODE5;
|
|
model.ORG_ID = ORG_ID;
|
|
//model.TASKTYPE = taskType;
|
|
if (!string.IsNullOrEmpty(SORT))
|
|
{
|
|
model.SORT = int.Parse(SORT);
|
|
}
|
|
if (bll.Update(model))
|
|
{
|
|
msg = "修改成功!";
|
|
code = 1;
|
|
}
|
|
else { msg = "修改失败!"; }
|
|
}
|
|
|
|
catch
|
|
{
|
|
msg = "修改失败!";
|
|
}
|
|
returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}";
|
|
return returnstr;
|
|
}
|
|
|
|
//删除
|
|
private string DelDutyManage(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
int code = -1;
|
|
string msg = "";
|
|
try
|
|
{
|
|
string id = context.Request.Params["id"];
|
|
if (bll.Delete(id))
|
|
{
|
|
msg = "删除成功!";
|
|
code = 1;
|
|
}
|
|
else
|
|
{
|
|
msg = "删除失败!";
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
msg = "删除失败!";
|
|
}
|
|
returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}";
|
|
return returnstr;
|
|
}
|
|
|
|
//机构人员Tree
|
|
private string GetTree(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
string orgId = context.Request.Params["OrgId"];
|
|
|
|
returnstr = "{\"code\":0,\"msg\":\"\",\"data\":";
|
|
DataTable data = bll.GetTree(orgId);
|
|
returnstr += Common.JsonHelper.ToJson(data);
|
|
returnstr += "}";
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}";
|
|
}
|
|
return returnstr;
|
|
}
|
|
|
|
//统计
|
|
private string getStaDutyHoliday(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
string OrgId = context.Request.Params["OrgId"];
|
|
string STime = context.Request.Params["STime"];
|
|
string ETime = context.Request.Params["ETime"];
|
|
string whereStr = "";
|
|
if (!string.IsNullOrEmpty(OrgId))
|
|
{
|
|
whereStr = " ORG_ID ='" + OrgId + "' ";
|
|
}
|
|
if (!string.IsNullOrEmpty(STime) && !string.IsNullOrEmpty(ETime))
|
|
{
|
|
//whereStr += " and date_format(duty_date ,'%Y-%m-%d')>= date_format('" + STime + "','%Y-%m') and date_format(duty_date ,'%Y-%m-%d')< add_months(date_format('" + ETime + "', '%Y-%m'), 1)";
|
|
whereStr += " and date(duty_date) between '" + STime + "-01' and '" + ETime + "-01' ";
|
|
}
|
|
|
|
else
|
|
{
|
|
return "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}";
|
|
}
|
|
returnstr = "{\"code\":0,\"msg\":\"\",\"data\":";
|
|
{
|
|
DataTable dt = bll.getStaDutyHoliday(whereStr);
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(dt);
|
|
}
|
|
returnstr += "}";
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}";
|
|
}
|
|
return returnstr;
|
|
}
|
|
|
|
private void HtmlToWord(HttpContext context)
|
|
{
|
|
try
|
|
{
|
|
string OrgId = context.Request.Params["OrgId"];
|
|
string STime = context.Request.Params["STime"];
|
|
string ETime = context.Request.Params["ETime"];
|
|
|
|
string whereStr = "";
|
|
if (!string.IsNullOrEmpty(OrgId))
|
|
{
|
|
whereStr = " ORG_ID ='" + OrgId + "' ";
|
|
}
|
|
if (!string.IsNullOrEmpty(STime) && !string.IsNullOrEmpty(ETime))
|
|
{
|
|
//whereStr += " and date_format(duty_date ,'%Y-%m-%d')>= date_format('" + STime + "','%Y-%m') and date_format(duty_date ,'%Y-%m-%d')< add_months(date_format('" + ETime + "', '%Y-%m'), 1)";
|
|
|
|
whereStr += " and date(duty_date) between '" + STime + "-01' and '" + ETime + "-01' ";
|
|
}
|
|
|
|
DataTable dt = bll.getStaDutyHoliday(whereStr);
|
|
|
|
if (dt.Rows.Count == 0)
|
|
{
|
|
}
|
|
else
|
|
{
|
|
dt.Columns.Remove("EMP_ID");
|
|
dt.Columns.Add("TOATLE", Type.GetType("System.Int32"));
|
|
|
|
for (int i = 0; i < dt.Rows.Count; i++)
|
|
{
|
|
dt.Rows[i]["TOATLE"] = Convert.ToInt32(dt.Rows[i]["WEEKDAYS"].ToString()) + Convert.ToInt32(dt.Rows[i]["WEEKEND"].ToString()) + Convert.ToInt32(dt.Rows[i]["HOLIDAY"].ToString());
|
|
}
|
|
|
|
System.Collections.Generic.Dictionary<string, string> cellHeaders = new System.Collections.Generic.Dictionary<string, string>();
|
|
cellHeaders.Add("EMP_NAME", "姓名");
|
|
cellHeaders.Add("WEEKDAYS", "工作日");
|
|
cellHeaders.Add("WEEKEND", "周末");
|
|
cellHeaders.Add("HOLIDAY", "节假日");
|
|
cellHeaders.Add("TOATLE", "总计");
|
|
FangYar.Common.NPOIExcelHelper.ExportByWeb(dt, null, cellHeaders, DateTime.Now.ToString("yyyyMMddHHmmss") + "值班人员统计数据表.xls");
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
|
|
}
|
|
}
|
|
|
|
public bool IsReusable
|
|
{
|
|
get
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|