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.
158 lines
8.5 KiB
158 lines
8.5 KiB
using FY.TaskScheduler;
|
|
using System;
|
|
using System.Data;
|
|
|
|
namespace SmartCamp.TaskServer.Job
|
|
{
|
|
public class MyTask
|
|
{
|
|
FangYar.BLL.TBL_ALARMDATA bll_ta = new FangYar.BLL.TBL_ALARMDATA();
|
|
|
|
public void Init()
|
|
{
|
|
TaskJobManager.AddTaskRunNowMinutes(() => AddTask(), 10, "init2");
|
|
}
|
|
public void AddTask()
|
|
{
|
|
try
|
|
{
|
|
string currentChar = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
Console.WriteLine("执行时间:" + currentChar);
|
|
try
|
|
{
|
|
//请假超期报警过程
|
|
//查询请假通过但未销假集合(state = 0:审批通过,IS_RETURN = 2:已销假)
|
|
|
|
DataTable dt_empalarm = bll_ta.EmpLeaveAlarm(currentChar);
|
|
if (dt_empalarm.Rows.Count > 0)
|
|
{
|
|
Console.WriteLine("请假记录数:" + dt_empalarm.Rows.Count);
|
|
//SmartCamp.Utility.Log4net.LogManager.WriteInfo("请假记录数:" + dt_empalarm.Rows.Count);
|
|
for (int i = 0; i < dt_empalarm.Rows.Count; i++)
|
|
{
|
|
Console.WriteLine("请假ID:" + dt_empalarm.Rows[i]["ID"].ToString());
|
|
//SmartCamp.Utility.Log4net.LogManager.WriteInfo("请假ID:" + dt_empalarm.Rows[i]["ID"].ToString());
|
|
|
|
FangYar.Model.OA.TBL_ALARMDATA model_ta = new FangYar.Model.OA.TBL_ALARMDATA();
|
|
model_ta.ID = Guid.NewGuid().ToString("N");
|
|
model_ta.ORG_ID = dt_empalarm.Rows[i]["ORG_ID"].ToString();
|
|
model_ta.TIME = DateTime.Parse(currentChar);
|
|
model_ta.ALARM_TYPE = "1";
|
|
model_ta.ALARM_DES = dt_empalarm.Rows[i]["PPL_NAME"].ToString() + "的" + dt_empalarm.Rows[i]["DIC_TEXT"].ToString()
|
|
+ ":" + "【超期未归】";
|
|
model_ta.EMP_ID = dt_empalarm.Rows[i]["EMP_ID"].ToString();
|
|
model_ta.USERS_UID = dt_empalarm.Rows[i]["PPL_ID"].ToString();
|
|
model_ta.LEAVE_ID = dt_empalarm.Rows[i]["ID"].ToString();
|
|
model_ta.EXTENDCODE1 = "0";
|
|
|
|
bool flag = bll_ta.Add(model_ta);
|
|
|
|
if (flag) //推送消息
|
|
{
|
|
string whereEmp = "org_id = '" + dt_empalarm.Rows[i]["ORG_ID"].ToString() + "' and type = '1'";
|
|
string receiveIds = "";
|
|
DataTable dtEmp = bll_ta.AlarmDataReceiveEmp(whereEmp);
|
|
//SmartCamp.Utility.Log4net.LogManager.WriteInfo("此条推送人员数量:" + dtEmp.Rows.Count);
|
|
for (int j = 0; j < dtEmp.Rows.Count; j++)
|
|
{
|
|
if (j == 0)
|
|
{
|
|
receiveIds += dtEmp.Rows[j]["USERS_UID"].ToString();
|
|
}
|
|
else
|
|
{
|
|
receiveIds += "," + dtEmp.Rows[j]["USERS_UID"].ToString();
|
|
}
|
|
}
|
|
if (!string.IsNullOrEmpty(receiveIds))
|
|
{
|
|
//SmartCamp.Utility.Log4net.LogManager.WriteInfo("此条推送人员:" + receiveIds);
|
|
FangYar.FYMQTT.MessagePush mp = new FangYar.FYMQTT.MessagePush();
|
|
mp.MultiMsgPush(receiveIds, model_ta.ALARM_DES);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
Console.WriteLine("请假超期报警过程:" + e.Message);
|
|
//SmartCamp.Utility.Log4net.LogManager.WriteInfo("请假超期报警过程:" + e.Message);
|
|
Console.WriteLine("请假超期报警过程:" + e.StackTrace);
|
|
//SmartCamp.Utility.Log4net.LogManager.WriteInfo("请假超期报警过程:" + e.StackTrace);
|
|
}
|
|
|
|
try
|
|
{
|
|
//用车超期报警过程
|
|
//查询用车申请通过但未销假集合(state = 0:审批通过,IS_RETURN = 2:已销假)
|
|
|
|
DataTable dt_caralarm = bll_ta.CarLeaveAlarm(currentChar);
|
|
if (dt_caralarm.Rows.Count > 0)
|
|
{
|
|
Console.WriteLine("用车记录数:" + dt_caralarm.Rows.Count);
|
|
//SmartCamp.Utility.Log4net.LogManager.WriteInfo("用车记录数:" + dt_caralarm.Rows.Count);
|
|
for (int i = 0; i < dt_caralarm.Rows.Count; i++)
|
|
{
|
|
Console.WriteLine("用车记录ID:" + dt_caralarm.Rows[i]["ID"].ToString());
|
|
//SmartCamp.Utility.Log4net.LogManager.WriteInfo("用车记录ID:" + dt_caralarm.Rows[i]["ID"].ToString());
|
|
|
|
FangYar.Model.OA.TBL_ALARMDATA model_ta = new FangYar.Model.OA.TBL_ALARMDATA();
|
|
model_ta.ID = Guid.NewGuid().ToString("N");
|
|
model_ta.ORG_ID = dt_caralarm.Rows[i]["ORG_ID"].ToString();
|
|
model_ta.TIME = DateTime.Parse(currentChar);
|
|
model_ta.ALARM_TYPE = "2";
|
|
model_ta.ALARM_DES = dt_caralarm.Rows[i]["USERNAME"].ToString() + ":" + dt_caralarm.Rows[i]["TITLE"].ToString() + "【超期未归】";
|
|
model_ta.USERS_UID = dt_caralarm.Rows[i]["USERID"].ToString().Replace("u_", "");
|
|
model_ta.CAR_ID = dt_caralarm.Rows[i]["CARID"].ToString();
|
|
model_ta.CAR_NUM = dt_caralarm.Rows[i]["CARNUM"].ToString();
|
|
model_ta.CARAPPLY_ID = dt_caralarm.Rows[i]["ID"].ToString();
|
|
model_ta.EXTENDCODE1 = "0";
|
|
|
|
bool flag = bll_ta.Add(model_ta);
|
|
|
|
if (flag) //推送消息
|
|
{
|
|
string whereEmp = "org_id = '" + dt_caralarm.Rows[i]["ORG_ID"].ToString() + "' and type = '1'";
|
|
string receiveIds = "";
|
|
DataTable dtEmp = bll_ta.AlarmDataReceiveEmp(whereEmp);
|
|
//SmartCamp.Utility.Log4net.LogManager.WriteInfo("此条推送人员数量:" + dtEmp.Rows.Count);
|
|
for (int j = 0; j < dtEmp.Rows.Count; j++)
|
|
{
|
|
if (j == 0)
|
|
{
|
|
receiveIds += dtEmp.Rows[j]["USERS_UID"].ToString();
|
|
}
|
|
else
|
|
{
|
|
receiveIds += "," + dtEmp.Rows[j]["USERS_UID"].ToString();
|
|
}
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(receiveIds))
|
|
{
|
|
//SmartCamp.Utility.Log4net.LogManager.WriteInfo("此条推送人员:" + receiveIds);
|
|
FangYar.FYMQTT.MessagePush mp = new FangYar.FYMQTT.MessagePush();
|
|
mp.MultiMsgPush(receiveIds, model_ta.ALARM_DES);
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
Console.WriteLine("用车超期报警过程:" + e.Message);
|
|
//SmartCamp.Utility.Log4net.LogManager.WriteInfo("用车超期报警过程:" + e.Message);
|
|
Console.WriteLine("用车超期报警过程:" + e.StackTrace);
|
|
//SmartCamp.Utility.Log4net.LogManager.WriteInfo("用车超期报警过程:" + e.StackTrace);
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
Console.WriteLine(e.Message.ToString());
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|