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.
1025 lines
44 KiB
1025 lines
44 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 System.Text.RegularExpressions;
|
|
using FangYar.WebUI.WebModel;
|
|
|
|
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)
|
|
{
|
|
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "值班操作请求", "");
|
|
|
|
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 "GetDutyListByCityCode":
|
|
returnstr = GetDutyListByCityCode(context);
|
|
break;
|
|
|
|
case "Add":
|
|
returnstr = AddDutyManage(context);
|
|
break;
|
|
case "AppAddDutyManage":
|
|
returnstr = AppAddDutyManage(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 treeID = context.Request.Params["treeID"];
|
|
string is_content = context.Request.Params["is_content"];
|
|
string searchTime = context.Request.Params["searchTime"];
|
|
string SubOrgCount = context.Request.Params["SubOrgCount"];
|
|
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 = null;
|
|
if (!string.IsNullOrEmpty(treeID) && treeID != OrgId)
|
|
{
|
|
OrgId = treeID;
|
|
}
|
|
if (!string.IsNullOrEmpty(OrgId))
|
|
{
|
|
if (is_content == "1")
|
|
{
|
|
where = " find_in_set(org_id, cids) ";
|
|
}
|
|
else
|
|
{
|
|
where = " ORG_ID = '" + OrgId + "' ";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}";
|
|
}
|
|
if (!string.IsNullOrEmpty(searchTime))
|
|
{
|
|
string startTime = "", endTime = "";
|
|
if (searchTime.IndexOf(" - ") != -1)
|
|
{
|
|
startTime = Regex.Split(searchTime, " - ", RegexOptions.IgnoreCase)[0];
|
|
endTime = Regex.Split(searchTime, " - ", RegexOptions.IgnoreCase)[1];
|
|
}
|
|
where += " and date_format(DUTY_DATE,'%Y-%m-%d') between date_format('" + startTime + "','%Y-%m-%d') and date_format('" + endTime + "','%Y-%m-%d')";
|
|
}
|
|
else
|
|
{
|
|
try
|
|
{
|
|
int subOrgCount = Convert.ToInt32(SubOrgCount);
|
|
if (subOrgCount >= 1)
|
|
{
|
|
where += " and date_format(DUTY_DATE,'%Y-%m-%d') = date_format(now(),'%Y-%m-%d') ";
|
|
}
|
|
}
|
|
catch (Exception) { }
|
|
}
|
|
where += " GROUP BY DUTY_DATE,ORG_ID ";
|
|
DataTable list = bll.GetDutyManageListByWhere(pageIndex, pageSize, where, OrgId);
|
|
returnstr = "{\"code\":0,\"msg\":\"\",";
|
|
returnstr += "\"count\":" + bll.GetDutyManageCountByWhere(where, OrgId) + ",\"data\":";
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(list);
|
|
returnstr += "}";
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "值班操作请求", "根据机构ID查询异常:" + e);
|
|
}
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "值班操作请求", "根据机构ID查询");
|
|
return returnstr;
|
|
}
|
|
|
|
//根据值班日期查询
|
|
private string GetDutyManageListByDutyDate(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
string DutyDate = context.Request.Params["DutyDate"];
|
|
string OrgId = context.Request.Params["OrgId"];
|
|
string where = "";
|
|
if (!string.IsNullOrEmpty(DutyDate))
|
|
{
|
|
where = " 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 (Exception e)
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "值班操作请求", "根据值班日期查询异常:" + e);
|
|
}
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "值班操作请求", "根据值班日期查询");
|
|
return returnstr;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据地区编码获取所有值班信息
|
|
/// </summary>
|
|
/// <param name="context"></param>
|
|
/// <returns></returns>
|
|
private string GetDutyListByCityCode(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
returnstr = "{\"code\":0,\"msg\":\"无数据\",\"data\":[]}";
|
|
try
|
|
{
|
|
///机构ID
|
|
string OrgId = context.Request.Params["OrgId"];
|
|
///地区编码
|
|
string cityCode = context.Request.Params["cityCode"];
|
|
///地图地区编码
|
|
string mapCityCode = context.Request.Params["mapCityCode"];
|
|
|
|
|
|
///地图地区编码
|
|
string dayStr = context.Request.Params["dayStr"];
|
|
|
|
DateTime dtm = DateTime.Now;
|
|
|
|
if (!DateTime.TryParse(dayStr, out dtm))
|
|
{
|
|
dtm = DateTime.Now;
|
|
}
|
|
dayStr = dtm.ToString("yyyy-MM-dd");
|
|
|
|
|
|
List<DutyOrgListMo> retList = new List<DutyOrgListMo>();
|
|
|
|
|
|
string sql = "";
|
|
//判断是否总队
|
|
if (mapCityCode == "540000")
|
|
{
|
|
//查询下级机关信息排班
|
|
sql = " SELECT * from fire_org ,(select get_Org_child_list('D8DC637B8B984848A63F82A018AFAEB0') cids ) s WHERE find_in_set(org_id,cids) and TYPE = '0' and ORG_NAME like '%机关%' ORDER BY EXTENDCODE4 ";
|
|
|
|
}
|
|
else if (mapCityCode == "540100" || mapCityCode == "540200" || mapCityCode == "540300" || mapCityCode == "540400"
|
|
|| mapCityCode == "540500" || mapCityCode == "540600" || mapCityCode == "542500")
|
|
{
|
|
|
|
//判断是否拉萨
|
|
if (mapCityCode == "540100")
|
|
{
|
|
if (OrgId == "36e8032be5f54a3cb994c4ac74ac3f77")
|
|
{
|
|
//训保账号登录
|
|
}
|
|
else
|
|
{
|
|
OrgId = "f4d9f25b27114172a66a9d04cc158b00";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
OrgId = GetOrgIdByCityCode(mapCityCode);
|
|
}
|
|
string sql1 = "";
|
|
//判断是否训保
|
|
if (OrgId == "36e8032be5f54a3cb994c4ac74ac3f77")
|
|
{
|
|
sql = " SELECT * from fire_org WHERE TYPE = '0' and ( ORG_ID = '" + OrgId + "' or pid = '" + OrgId + "') ORDER BY EXTENDCODE4 ";
|
|
}
|
|
else
|
|
{
|
|
sql = " SELECT * from fire_org ,(select get_Org_child_list('" + OrgId + "') cids ) s WHERE find_in_set(org_id,cids) and org_id <> '" + OrgId +
|
|
"' and TYPE = '0' ORDER BY EXTENDCODE4 ";
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
//判断当前登录用户地区编码和地图编码是否一致
|
|
if (cityCode == mapCityCode)
|
|
{
|
|
//一致,用机构ID进行查询
|
|
if (!string.IsNullOrWhiteSpace(OrgId))
|
|
{
|
|
sql = " SELECT * from fire_org WHERE TYPE = '0' and ORG_ID = '" + OrgId + "' or pid = '" + OrgId + "' ORDER BY EXTENDCODE4 ";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//不一致,用地区编码进行查询
|
|
sql = " SELECT * from fire_org WHERE TYPE = '0' and CITY = '" + mapCityCode + "' ORDER BY EXTENDCODE4 ";
|
|
}
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(sql))
|
|
{
|
|
var dt = Common.MySqlHelper.QueryTable(sql);
|
|
for (int i = 0; i < dt.Rows.Count; i++)
|
|
{
|
|
try
|
|
{
|
|
|
|
var orgIdItem = dt.Rows[i]["ORG_ID"] + "";
|
|
|
|
retList.Add(new DutyOrgListMo()
|
|
{
|
|
childrenIdStr = "",
|
|
orgId = orgIdItem,
|
|
orgPid = dt.Rows[i]["PID"] + "",
|
|
orgCity = dt.Rows[i]["CITY"] + "",
|
|
orgName = dt.Rows[i]["ORG_NAME"] + "",
|
|
list = new List<DutyOrgListSubMo>(),
|
|
orgType = dt.Rows[i]["EXTENDCODE1"] + "",
|
|
orgAbbreviation = dt.Rows[i]["EXTENDCODE3"] + "",
|
|
});
|
|
}
|
|
catch (Exception ex) { }
|
|
}
|
|
//判断是否存在机构数据
|
|
if (retList.Count > 0)
|
|
{
|
|
//查询机构下值班信息
|
|
//图片前缀
|
|
string CampImgUrlPrefix = System.Configuration.ConfigurationManager.AppSettings["CampImgUrlPrefix"] + "";
|
|
//机构ID信息
|
|
var orgIds = "'" + string.Join("','", retList.Select(p => p.orgId)) + "'";
|
|
|
|
//查询所有值班人员信息(旧功能值班)
|
|
string sql1 = " SELECT t2.*,e.EMP_MOBILE phone,CONCAT('" + CampImgUrlPrefix + "',IF((ISNULL(PHOTO) > 0 or LENGTH(trim(PHOTO)) = 0), " +
|
|
" 'images/imgPerDefaut.jpg', PHOTO)) img from (" +
|
|
" SELECT EMP_ID uid, EMP_NAME `name`, org_id orgId, PROF post,SORT from OA_DUTYMANAGE WHERE DUTY_DATE ='" + dayStr + "' and ORG_ID in (" + orgIds + ") ) t2 " +
|
|
" LEFT JOIN tbl_sys_emp e on t2.uid = e.USERS_UID ORDER BY SORT ";
|
|
|
|
var dt1 = Common.MySqlHelper.QueryTable(sql1);
|
|
|
|
//值班人员信息缓存
|
|
List<DutyOrgListSubMo> listZb = new List<DutyOrgListSubMo>();
|
|
|
|
//循环添加值班人员信息(旧功能值班)
|
|
for (int i = 0; i < dt1.Rows.Count; i++)
|
|
{
|
|
try
|
|
{
|
|
listZb.Add(new DutyOrgListSubMo()
|
|
{
|
|
dkImg = "",
|
|
img = dt1.Rows[i]["img"] + "",
|
|
name = dt1.Rows[i]["name"] + "",
|
|
orgId = dt1.Rows[i]["orgId"] + "",
|
|
phone = dt1.Rows[i]["phone"] + "",
|
|
post = dt1.Rows[i]["post"] + "",
|
|
});
|
|
}
|
|
catch (Exception ex) { }
|
|
}
|
|
|
|
//查询所有人员信息
|
|
string sqlEmp = " SELECT USERS_UID phone, EMP_NAME name, CONCAT('" + CampImgUrlPrefix + "',IF((ISNULL(PHOTO) > 0 or LENGTH(trim(PHOTO)) = 0), " +
|
|
" 'images/imgPerDefaut.jpg', PHOTO)) img ,ORG_ID orgId from tbl_sys_emp WHERE ORG_ID in (" + orgIds + ") ";
|
|
var dtEmp = Common.MySqlHelper.QueryTable(sqlEmp);
|
|
//人员信息缓存集合
|
|
List<DutyOrgListSubMo> listEmp = new List<DutyOrgListSubMo>();
|
|
//循环添加人员值班信息缓存
|
|
for (int i = 0; i < dtEmp.Rows.Count; i++)
|
|
{
|
|
try
|
|
{
|
|
listEmp.Add(new DutyOrgListSubMo()
|
|
{
|
|
dkImg = "",
|
|
img = dtEmp.Rows[i]["img"] + "",
|
|
name = dtEmp.Rows[i]["name"] + "",
|
|
orgId = dtEmp.Rows[i]["orgId"] + "",
|
|
phone = dtEmp.Rows[i]["phone"] + "",
|
|
post = "",
|
|
});
|
|
}
|
|
catch (Exception ex) { }
|
|
}
|
|
|
|
//查询新值班信息
|
|
string sqlZbNew = " SELECT * from oa_duty_details WHERE DUTY_TYPE_ID like 'zbrygl%' and DUTY_DAY = '" + dayStr + "' and ORG_ID in (" + orgIds + ") ";
|
|
var dtZbNew = Common.MySqlHelper.QueryTable(sqlZbNew);
|
|
for (int k = 0; k < dtZbNew.Rows.Count; k++)
|
|
{
|
|
try
|
|
{
|
|
DutyDiyTemplatePostMo mo = FangYar.Common.JsonHelper.FromJSON<DutyDiyTemplatePostMo>(dtZbNew.Rows[k]["DUTY_CONTENT"] + "");
|
|
|
|
|
|
//遍历处理人员信息
|
|
for (int i = 0; i < mo.attList.Count; i++)
|
|
{
|
|
var obj = mo.attList[i];
|
|
mo.attList[i].ListEmpRead = new List<DutyDiyEmpReadMo>();
|
|
|
|
var str1 = obj.RowVal;
|
|
var arrEmp1 = str1.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
|
|
var arrEmpName = obj.RowSelEmpName.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
|
|
if (arrEmp1.Length > 0)
|
|
{
|
|
//类型:0、输入项;1、选择项;2、人员选择;3、时间范围;
|
|
switch (obj.RowType)
|
|
{
|
|
|
|
case "2":
|
|
case "3":
|
|
for (int j = 0; j < arrEmp1.Length; j++)
|
|
{
|
|
//手机号
|
|
var empPhone = arrEmp1[j];
|
|
|
|
var empObj = listEmp.Where(p => p.phone == empPhone).FirstOrDefault();
|
|
if (empObj != null)
|
|
{
|
|
listZb.Add(new DutyOrgListSubMo()
|
|
{
|
|
dkImg = "",
|
|
img = empObj.img,
|
|
name = empObj.name,
|
|
orgId = empObj.orgId,
|
|
phone = empObj.phone,
|
|
post = obj.RowTitle,
|
|
});
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
catch (Exception ex) { }
|
|
|
|
}
|
|
|
|
//循环回显值班人员信息
|
|
for (int i = 0; i < retList.Count; i++)
|
|
{
|
|
retList[i].list = new List<DutyOrgListSubMo>();
|
|
var oid = retList[i].orgId;
|
|
var l1 = listZb.Where(p => p.orgId == oid).ToList();
|
|
for (int j = 0; j < l1.Count; j++)
|
|
{
|
|
try
|
|
{
|
|
retList[i].list.Add(new DutyOrgListSubMo()
|
|
{
|
|
dkImg = l1[j].dkImg,
|
|
img = l1[j].img,
|
|
name = l1[j].name,
|
|
orgId = l1[j].orgId,
|
|
phone = l1[j].phone,
|
|
post = l1[j].post,
|
|
});
|
|
}
|
|
catch (Exception e) { }
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
returnstr = "{\"code\":1,\"msg\":\"成功\",\"data\":" + FangYar.Common.JsonHelper.ToJSON1(retList) + "}";
|
|
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "值班操作请求", "根据值班日期查询异常:" + e);
|
|
}
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "值班操作请求", "根据值班日期查询");
|
|
return returnstr;
|
|
}
|
|
/// <summary>
|
|
/// 根据支队地区编码返回支队机构信息ID
|
|
/// </summary>
|
|
/// <param name="cityCode"></param>
|
|
/// <returns></returns>
|
|
private string GetOrgIdByCityCode(string cityCode)
|
|
{
|
|
Dictionary<string, string> dic = new Dictionary<string, string>();
|
|
try
|
|
{
|
|
dic.Add("540200", "40a1e65991764d4dac2d826bfbbfc849");
|
|
dic.Add("540300", "5806465fa4e845998f31a10d023f332e");
|
|
dic.Add("540400", "b5b00dfb27a34e0a8bd86270930e02d6");
|
|
dic.Add("540500", "82487f0ebb6848e7ac4abc3d7cbc8504");
|
|
dic.Add("540600", "9a1324ec8b244a7f9d6cbca88cd614fd");
|
|
dic.Add("542500", "833b28c12b42495a99a5e41068eb6805");
|
|
return dic[cityCode];
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
}
|
|
return "";
|
|
}
|
|
|
|
public class DutyOrgListMo
|
|
{
|
|
/// <summary>
|
|
/// 机构名称
|
|
/// </summary>
|
|
public string orgName { get; set; }
|
|
|
|
/// <summary>
|
|
/// 机构简称
|
|
/// </summary>
|
|
public string orgAbbreviation { get; set; }
|
|
/// <summary>
|
|
/// 机构ID
|
|
/// </summary>
|
|
public string orgId { get; set; }
|
|
/// <summary>
|
|
/// 机构编码
|
|
/// </summary>
|
|
public string orgCity { get; set; }
|
|
/// <summary>
|
|
/// 机构类型:0:支队;1:特勤站;2:大队;3:总队
|
|
/// </summary>
|
|
public string orgType { get; set; }
|
|
/// <summary>
|
|
/// 所有下级机构ID字符串,包含本级别
|
|
/// </summary>
|
|
public string childrenIdStr { get; set; }
|
|
/// <summary>
|
|
/// 组织机父级机构ID
|
|
/// </summary>
|
|
public string orgPid { get; set; }
|
|
/// <summary>
|
|
/// 值班信息详情
|
|
/// </summary>
|
|
public List<DutyOrgListSubMo> list { get; set; }
|
|
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public class DutyOrgListSubMo
|
|
{
|
|
/// <summary>
|
|
/// 机构信息ID
|
|
/// </summary>
|
|
public string orgId { get; set; }
|
|
/// <summary>
|
|
/// 姓名
|
|
/// </summary>
|
|
public string name { get; set; }
|
|
/// <summary>
|
|
/// 值班人员职务
|
|
/// </summary>
|
|
public string post { get; set; }
|
|
/// <summary>
|
|
/// 值班人员电话
|
|
/// </summary>
|
|
public string phone { get; set; }
|
|
/// <summary>
|
|
/// 人员照片
|
|
/// </summary>
|
|
public string img { get; set; }
|
|
/// <summary>
|
|
/// 打卡照片
|
|
/// </summary>
|
|
public string dkImg { get; set; }
|
|
}
|
|
|
|
|
|
//添加值班管理
|
|
private string AddDutyManage(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
int code = -1;
|
|
string msg = "";
|
|
try
|
|
{
|
|
string arrStr = context.Request.Params["arrStr"];
|
|
|
|
//string ID = Guid.NewGuid().ToString("N");
|
|
|
|
////判断是工作日还是节假期周末
|
|
FangYar.BLL.OA.OA_HOLIDAY bll_d = new BLL.OA.OA_HOLIDAY();
|
|
|
|
List<FangYar.Model.OA.OA_DUTYMANAGE> list = FangYar.Common.JsonHelper.FromJSON<List<FangYar.Model.OA.OA_DUTYMANAGE>>(arrStr);
|
|
int addCount = 0;
|
|
for (int i = 0; i < list.Count; i++)
|
|
{
|
|
var model = list[i];
|
|
model.ID = Guid.NewGuid().ToString("N");
|
|
List<FangYar.Model.OA.OA_HOLIDAY> itemList = bll_d.GetModelList(" HDATE = '" + model.DUTY_DATE + "'");
|
|
if (itemList.Count > 0)
|
|
{
|
|
model.EXTENDCODE3 = itemList[0].REST;
|
|
}
|
|
else
|
|
{
|
|
model.EXTENDCODE3 = "-1";
|
|
}
|
|
|
|
if (bll.AddTran(model))
|
|
{
|
|
addCount++;
|
|
//app推送消息
|
|
try
|
|
{
|
|
FangYar.FYMQTT.MessagePush mp = new FYMQTT.MessagePush();
|
|
mp.AloneMsgPush(model.EMP_ID, "值班管理", "您有一条值班任务,日期:" + model.DUTY_DATE + "!");
|
|
}
|
|
catch (Exception e) { }
|
|
}
|
|
}
|
|
if (addCount == list.Count)
|
|
{
|
|
msg = "添加成功!";
|
|
code = 1;
|
|
}
|
|
else
|
|
{
|
|
msg = "部分添加成功!";
|
|
}
|
|
|
|
//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).AddSeconds(-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 (Exception e)
|
|
{
|
|
msg = "添加失败";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "值班操作请求", "添加值班管理异常:" + e);
|
|
}
|
|
returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Add, "值班操作请求", "添加值班管理");
|
|
return returnstr;
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// App 添加值班管理
|
|
/// </summary>
|
|
/// <param name="context"></param>
|
|
/// <returns></returns>
|
|
private string AppAddDutyManage(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).AddSeconds(-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 (Exception e)
|
|
{
|
|
msg = "添加失败";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "值班操作请求", "App 添加值班管理异常:" + e);
|
|
}
|
|
returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Add, "值班操作请求", "App 添加值班管理");
|
|
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 (Exception e)
|
|
{
|
|
msg = "修改失败!";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "值班操作请求", "修改值班管理异常:" + e);
|
|
}
|
|
returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Update, "值班操作请求", "修改值班管理");
|
|
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 (Exception e)
|
|
{
|
|
msg = "删除失败!";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "值班操作请求", "删除异常:" + e);
|
|
}
|
|
returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Delete, "值班操作请求", "删除");
|
|
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\":[]}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "值班操作请求", "机构人员Tree异常:" + e);
|
|
}
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "值班操作请求", "机构人员Tree");
|
|
return returnstr;
|
|
}
|
|
|
|
//统计
|
|
private string getStaDutyHoliday(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
string OrgId = context.Request.Params["OrgId"];
|
|
string STime = (context.Request.Params["STime"] + "").Trim();
|
|
string ETime = (context.Request.Params["ETime"] + "").Trim();
|
|
string is_content = context.Request.Params["is_content"];
|
|
string whereStr = "";
|
|
if (string.IsNullOrEmpty(OrgId))
|
|
{
|
|
return returnstr = "{\"code\":0,\"msg\":\"所属机构不能为空\",\"count\":0,\"data\":[]}";
|
|
}
|
|
if (is_content == "1")
|
|
{
|
|
whereStr = " org_id in ( select org_id from fire_org, (SELECT get_Org_child_list('" + OrgId + "') cids) t where find_in_set(ORG_ID, cids)) ";
|
|
}
|
|
else
|
|
{
|
|
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\":[]}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "值班操作请求", "统计异常:" + e);
|
|
}
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "值班操作请求", "统计");
|
|
return returnstr;
|
|
}
|
|
|
|
private void HtmlToWord(HttpContext context)
|
|
{
|
|
try
|
|
{
|
|
string OrgId = context.Request.Params["OrgId"];
|
|
string STime = (context.Request.Params["STime"] + "").Trim();
|
|
string ETime = (context.Request.Params["ETime"] + "").Trim(); ;
|
|
|
|
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", "总计");
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "值班操作请求", "导出Excel");
|
|
FangYar.Common.NPOIExcelHelper.ExportByWeb(dt, null, cellHeaders, DateTime.Now.ToString("yyyyMMddHHmmss") + "值班人员统计数据表.xls");
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "值班操作请求", "导出Excel异常:" + e);
|
|
}
|
|
}
|
|
|
|
public bool IsReusable
|
|
{
|
|
get
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|