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.
326 lines
18 KiB
326 lines
18 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Web;
|
|
using System.Data;
|
|
using FangYar.Common;
|
|
|
|
namespace FangYar.WebUI.ashx
|
|
{
|
|
/// <summary>
|
|
/// SysEmpMoveHandle 人员信息调整审核表
|
|
/// </summary>
|
|
public class SysEmpMoveHandle : IHttpHandler
|
|
{
|
|
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 "list":
|
|
returnstr = getEmpMoveList(context);
|
|
break;
|
|
case "approval":
|
|
returnstr = approval(context);
|
|
break;
|
|
case "getModelById":
|
|
returnstr = getModelById(context);
|
|
break;
|
|
}
|
|
context.Response.Write(returnstr);
|
|
}
|
|
|
|
private string getEmpMoveList(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
|
|
string userUid = context.Request.Params["userUid"];
|
|
string empId = context.Request.Params["empId"];
|
|
string isAdmin = context.Request.Params["isAdmin"];
|
|
string orgId = context.Request.Params["orgId"];
|
|
string cacheType = context.Request.Params["cacheType"];
|
|
string sTime = context.Request.Params["sTime"];
|
|
string eTime = context.Request.Params["eTime"];
|
|
string approvalRank = context.Request.Params["approvalRank"];
|
|
|
|
|
|
|
|
string sql = "select c.CACHE_REMARK,c.PC_CODE,c.PC_FILE_NAME,c.PC_FILE_URL,c.id as cid,c.USERS_UID,c.EMP_NAME,c.IDNUMBER,(select o.org_name from fire_org o where o.org_id = c.org_id) org_name,(select o.org_name from fire_org o where o.org_id = c.new_org_id) new_org_name,m.id as mid,m.APPROVAL_RANK,m.SENDERTIME,c.Cache_Type from tbl_sys_emp_move m left join tbl_sys_emp_cache c on m.INSTANCEID = c.ID where ";
|
|
sql += " m.OP_STATUS = '0'";
|
|
if (!string.IsNullOrEmpty(approvalRank))
|
|
{
|
|
sql += " and m.APPROVAL_RANK = '" + approvalRank + "'";
|
|
}
|
|
else
|
|
{
|
|
returnstr = "{\"code\":-1,\"msg\":\"查询信息有误!\",\"count\":0,\"data\":[]}";
|
|
}
|
|
|
|
if (isAdmin == "1")
|
|
{
|
|
sql += " and m.RECEIVE_ORG_ID = '" + orgId + "'";
|
|
}
|
|
else
|
|
{
|
|
sql += " and m.RECEIVEID = '" + empId + "'";
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(cacheType))
|
|
{
|
|
sql += " and c.Cache_Type = '" + cacheType + "'";
|
|
}
|
|
if (!string.IsNullOrEmpty(sTime) && !string.IsNullOrEmpty(eTime))
|
|
{
|
|
sql += " and m.SENDERTIME >= '" + sTime + " 00:00:00' and SENDERTIME <= '" + eTime + " 23:59:59'";
|
|
}
|
|
|
|
sql += " ORDER BY SENDERNAME DESC ";
|
|
|
|
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql);
|
|
returnstr = "{\"code\":0,\"msg\":\"操作成功!\",\"data\":";
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(dt);
|
|
returnstr += "}";
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员审核操作请求", "查询异常:" + e);
|
|
}
|
|
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员审核操作请求", "查询");
|
|
return returnstr;
|
|
}
|
|
/// <summary>
|
|
/// 信息处理
|
|
/// </summary>
|
|
/// <param name="context"></param>
|
|
/// <returns></returns>
|
|
private string approval(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
string cid = context.Request.Params["cid"];
|
|
string mid = context.Request.Params["mid"];
|
|
string userUid = context.Request.Params["userUid"];
|
|
string empId = context.Request.Params["empId"];
|
|
string userName = context.Request.Params["userName"];
|
|
string completedTime = DateTime.Now.ToString();
|
|
string opComment = context.Request.Params["opComment"];
|
|
//信息类型
|
|
string opStatus = context.Request.Params["opStatus"];
|
|
|
|
string nextStepUid = context.Request.Params["nextStepUid"];
|
|
string nextStepName = context.Request.Params["nextStepName"];
|
|
string nextStepOrgId = context.Request.Params["nextStepOrgId"];
|
|
string nextStepOrgName = context.Request.Params["nextStepOrgName"];
|
|
|
|
string orgId = context.Request.Params["orgId"];
|
|
string orgName = context.Request.Params["orgName"];
|
|
string cacheType = context.Request.Params["cacheType"];
|
|
|
|
string empName = context.Request.Params["empName"];
|
|
|
|
Boolean isAgree = false, isSubmit = false;
|
|
string cacheState = "0";
|
|
List<FangYar.Model.OA.CommonSql> ht = new List<FangYar.Model.OA.CommonSql>();
|
|
string upOpStatus = "2";
|
|
|
|
switch (opStatus)
|
|
{
|
|
case "1":// 提交上级处理
|
|
isSubmit = true;
|
|
cacheState = "1";
|
|
break;
|
|
case "2":// 同意
|
|
isAgree = true;
|
|
cacheState = "2";
|
|
break;
|
|
case "3":// 不同意
|
|
upOpStatus = "3";
|
|
cacheState = "3";
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
FangYar.Model.OA.CommonSql currentStepSql = new FangYar.Model.OA.CommonSql();
|
|
currentStepSql.sql = "update tbl_sys_emp_move set COMPLETEDID = '" + empId + "',COMPLETEDNAME = '" + userName + "',COMPLETEDTIME = '" + completedTime + "',OP_COMMENT = '" + opComment + "',OP_STATUS = '" + upOpStatus + "' where ID = '" + mid + "' ";// 当前步骤办结
|
|
ht.Add(currentStepSql);
|
|
if (isSubmit)
|
|
{
|
|
string newMid = Guid.NewGuid().ToString("N");
|
|
FangYar.Model.OA.CommonSql nextStepSql = new FangYar.Model.OA.CommonSql();
|
|
nextStepSql.sql = "insert into tbl_sys_emp_move(ID,INSTANCEID,APPROVAL_RANK,SENDERID,SENDERNAME,SEND_ORG_ID,SEND_ORG_NAME,SENDERTIME,RECEIVEID,RECEIVENAME,RECEIVE_ORG_ID,RECEIVE_ORG_NAME,OP_STATUS,Cache_Type) values ('" + newMid + "','" + cid + "','1','" + empId + "','" + userName + "','" + orgId + "','" + orgName + "','" + completedTime + "','" + nextStepUid + "','" + nextStepName + "','" + nextStepOrgId + "','" + nextStepOrgName + "','0','" + cacheType + "')";// 下一步骤生成
|
|
ht.Add(nextStepSql);
|
|
}
|
|
if (isAgree)
|
|
{
|
|
FangYar.Model.OA.CommonSql empSql = new FangYar.Model.OA.CommonSql();
|
|
FangYar.Model.OA.CommonSql userSql = new FangYar.Model.OA.CommonSql();
|
|
switch (cacheType)
|
|
{
|
|
case "1":// 新增
|
|
empSql.sql = "insert into tbl_sys_emp (ID,USERS_UID,EMP_NAME,EMP_NUM,EMP_SEX,ORG_ID,DEPT_ID,EMP_EMAIL,EMP_MOBILE,IS_DEL,IDNUMBER,FIRE_PRO,CERT,NATION,FACE,MAR,IS_WORK,PROF,POL,PHOTO,IS_LEADER,ENLISTED_TIME,IS_ACCESS,DURING_ACCESS_PERIOD,ISDRIVER,FILENUM,PERMISSIONNUM,FIRSTCARD,EFFECTIVETIME,PERMITTEDORGAN,BIRTHDAY,FAMILYADDR,ALL_ANNUAL_LEAVE,AVAILABLE_ANNUAL_LEAVE,CID,POSTS,TAGS,IS_TRAIN,IS_ADMIN,IS_ADMIN_DB,TAGS_BAK,createtime,IS_VISITOR_CHECK,OPENID,DURING_ACCESS_PERIOD2,ACCESSALLOWEDMODE,IS_SUBCAMPVIDEO,ADMIN_LEVEL,BLOOD_TYPE) select ID,USERS_UID,EMP_NAME,EMP_NUM,EMP_SEX,ORG_ID,DEPT_ID,EMP_EMAIL,EMP_MOBILE,IS_DEL,IDNUMBER,FIRE_PRO,CERT,NATION,FACE,MAR,IS_WORK,PROF,POL,PHOTO,IS_LEADER,ENLISTED_TIME,IS_ACCESS,DURING_ACCESS_PERIOD,ISDRIVER,FILENUM,PERMISSIONNUM,FIRSTCARD,EFFECTIVETIME,PERMITTEDORGAN,BIRTHDAY,FAMILYADDR,ALL_ANNUAL_LEAVE,AVAILABLE_ANNUAL_LEAVE,CID,POSTS,TAGS,IS_TRAIN,IS_ADMIN,IS_ADMIN_DB,TAGS_BAK,createtime,IS_VISITOR_CHECK,OPENID,DURING_ACCESS_PERIOD2,ACCESSALLOWEDMODE,IS_SUBCAMPVIDEO,ADMIN_LEVEL,BLOOD_TYPE from tbl_sys_emp_cache where id = '" + cid + "'";
|
|
ht.Add(empSql);
|
|
string newId = Guid.NewGuid().ToString("N");
|
|
|
|
//初始密码
|
|
var InitPassword = System.Configuration.ConfigurationManager.AppSettings["InitPassword"] + "";
|
|
if (string.IsNullOrWhiteSpace(InitPassword))
|
|
{
|
|
InitPassword = "119";
|
|
}
|
|
var UsersPwd = FangYar.Common.Md5.GetMD5String(InitPassword);
|
|
|
|
userSql.sql = "insert into tbl_sys_users(ID,USERS_UID,USERS_PWD,USERS_NAME,USERS_WEEK,USERS_TIME,USERS_STATE,USERS_EMAIL,USERS_MOBILE,ORG_ID,EMP_ID,IS_THIS,IS_SUPER) select '" + newId + "',USERS_UID,'" + UsersPwd + "',EMP_NAME,'1,2,3,4,5,6,0','00:00:00 - 23:59:59','0',EMP_EMAIL,EMP_MOBILE,ORG_ID,EMPID,'0','1,5' from tbl_sys_emp_cache where id = '" + cid + "'";
|
|
ht.Add(userSql);
|
|
|
|
break;
|
|
case "2":// 跨营区调整
|
|
empSql.sql = "update tbl_sys_emp e set e.org_id = (select new_org_id from tbl_sys_emp_cache where id = '" + cid + "'),e.dept_id = (select new_dept_id from tbl_sys_emp_cache where id = '" + cid + "') where e.id = (select empid from tbl_sys_emp_cache where id = '" + cid + "')";
|
|
ht.Add(empSql);
|
|
userSql.sql = "update tbl_sys_users u set u.org_id = (select new_org_id from tbl_sys_emp_cache where id = '" + cid + "') where u.users_uid = (select users_uid from tbl_sys_emp_cache where id = '" + cid + "')";
|
|
ht.Add(userSql);
|
|
|
|
try
|
|
{
|
|
//发件人名称
|
|
var EmailFormName = System.Configuration.ConfigurationManager.AppSettings["EmailFormName"] + "";
|
|
//收件人邮箱集合
|
|
var EmailReceiveInfo = System.Configuration.ConfigurationManager.AppSettings["EmailReceiveInfo"] + "";
|
|
//邮件标题
|
|
var EmailTitleName = System.Configuration.ConfigurationManager.AppSettings["EmailTitleName"] + "";
|
|
|
|
string sql2 = "select USERS_UID,EMP_MOBILE,EMP_NAME,o1.ORG_NAME,o2.ORG_NAME newOrgName from tbl_sys_emp_cache ec " +
|
|
" LEFT JOIN fire_org o1 on ec.ORG_ID =o1.ORG_ID LEFT JOIN fire_org o2 on o2.ORG_ID = ec.NEW_ORG_ID WHERE ec.id = '" + cid + "'";
|
|
|
|
var dt2 = FangYar.Common.MySqlHelper.QueryTable(sql2);
|
|
string bodyData = "人员调整:";
|
|
if (dt2.Rows.Count > 0)
|
|
{
|
|
bodyData += dt2.Rows[0]["EMP_NAME"] + "从营区【" + dt2.Rows[0]["ORG_NAME"] + "】调整到" + "【" + dt2.Rows[0]["newOrgName"] +
|
|
"】手机号【" + dt2.Rows[0]["EMP_MOBILE"] + "】";
|
|
}
|
|
|
|
// WebCommon.EmailHelp.SendEmail(new WebCommon.EmailMo() { BodyData = bodyData, FormName = EmailFormName, ReceiveInfo = EmailReceiveInfo, TitleName = EmailTitleName });
|
|
}
|
|
catch (Exception ex) { }
|
|
|
|
//调用ICC人员信息处理功能
|
|
try
|
|
{
|
|
|
|
|
|
string sqlQuery = " select empid from tbl_sys_emp_cache where id = '" + cid + "' ";
|
|
var dt = FangYar.Common.MySqlHelper.QueryTable(sqlQuery);
|
|
var eid = dt.Rows[0]["empid"] + "";
|
|
|
|
///调用人员一键删除功能
|
|
EmpSyncIccHelper.EmpImgDel(eid);
|
|
System.Threading.Thread.Sleep(1000 * 5);
|
|
///调用人员一键新增功能
|
|
EmpSyncIccHelper.EmpInfoAdd(eid);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
}
|
|
|
|
break;
|
|
case "3":// 删除
|
|
empSql.sql = "update tbl_sys_emp e set e.IS_DEL = '1' where e.id = (select empid from tbl_sys_emp_cache where id = '" + cid + "')";
|
|
ht.Add(empSql);
|
|
userSql.sql = "update tbl_sys_users u set u.users_state = '9' where u.users_uid = (select users_uid from tbl_sys_emp_cache where id = '" + cid + "')";
|
|
ht.Add(userSql);
|
|
|
|
|
|
//调用ICC人员信息处理功能
|
|
try
|
|
{
|
|
///调用人员一键删除功能
|
|
EmpSyncIccHelper.EmpImgDel(cid);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
}
|
|
|
|
break;
|
|
}
|
|
}
|
|
|
|
FangYar.Model.OA.CommonSql cacheSql = new FangYar.Model.OA.CommonSql();
|
|
cacheSql.sql = "update tbl_sys_emp_cache set Cache_State = '" + cacheState + "' where id = '" + cid + "'";// 修改临时表状态
|
|
ht.Add(cacheSql);
|
|
|
|
if (FangYar.Common.MySqlHelper.ExecuteSqlTranBool(ht))
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"" + empName + ":操作成功!\"}";
|
|
}
|
|
else
|
|
{
|
|
returnstr = "{\"code\":-1,\"msg\":\"操作失败!\"}";
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员审核操作请求", "审批异常:" + e);
|
|
}
|
|
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员审核操作请求", "审批");
|
|
return returnstr;
|
|
}
|
|
|
|
private string getModelById(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
string id = context.Request.Params["id"];
|
|
if (!string.IsNullOrEmpty(id))
|
|
{
|
|
string sql = "select t.*,(select o.org_name from fire_org o where o.org_id = t.org_id) org_name,(select o.org_name from fire_org o where o.org_id = t.dept_id) dept_name,(select dic_text from tbl_sys_dicdetail where mod_code = 'POLTYPE' and dic_value = t.POL) POL_NAME,(select dic_text from tbl_sys_dicdetail where mod_code = 'CERTTYPE' and dic_value = t.CERT) CERT_NAME,(select dic_text from tbl_sys_dicdetail where mod_code = 'NATIONTYPE' and dic_value = t.NATION) NATION_NAME, (select dic_text from tbl_sys_dicdetail where mod_code = 'FACETYPE' and dic_value = t.FACE) FACE_NAME,(select dic_text from tbl_sys_dicdetail where mod_code = 'MARTYPE' and dic_value = t.MAR) MAR_NAME, (select dic_text from tbl_sys_dicdetail where mod_code = 'IS_WORKTYPE' and dic_value = t.is_work) is_work_name,(select dic_text from tbl_sys_dicdetail where mod_code = 'PROFTYPE' and dic_value = t.prof) prof_name from tbl_sys_emp_cache t where id = '" + id + "'";
|
|
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql);
|
|
returnstr = "{\"code\":0,\"msg\":\"操作成功!\",\"data\":";
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(dt);
|
|
returnstr += "}";
|
|
}
|
|
else
|
|
{
|
|
returnstr = "{\"code\":-1,\"msg\":\"id不能为空!\",\"count\":0,\"data\":[]}";
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员审核操作请求", "审批异常:" + e);
|
|
}
|
|
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员审核操作请求", "审批");
|
|
return returnstr;
|
|
}
|
|
|
|
public bool IsReusable
|
|
{
|
|
get
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|