//using iWareCommon.Utils;
//using iWareSql.MyDbContext;
//using Newtonsoft.Json;
//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading;
//using System.Threading.Tasks;
//namespace iWareCC
//{
// public class InventorySnapshotHandler
// {
// public static string host = ConfigHelper.GetConfigString("WmsApiHost");
// //public static DateTime? dateTime = null;
// private static bool isHasRunHour1_Task = false;//是否执行了 每天1点的任务
// private static bool isHasRunHour23_Month_Task = false;//是否执行了 每个月底的23点执行一次的任务
// public static void Handler()
// {
// SystemWarningMsg._lbl_Alert_noti = "线程启动了。。。。";
// Log4NetHelper.WriteInfoLog(LogType.InventorySnapshotHandler, "消息提醒线程启动了。。。。");
// while (true)
// {
// Thread.Sleep(10000);//休眠10秒
// try
// {
// //DateTime nowdateTime = DateTime.Now;
// //if (dateTime == null)
// //{
// // dateTime = nowdateTime;
// //}
// ////每天23点执行一次
// //DateTime plantime = ((DateTime)dateTime).Date.AddHours(23);
// ////每个月底的23点执行一次
// //DateTime d = DateTime.Parse(nowdateTime.ToString("yyyy-MM-01"));
// //DateTime plantime2 = d.AddMonths(1).AddDays(-1).Date.AddHours(23);
// //if (nowdateTime > plantime)
// //{
// // dateTime = ((DateTime)dateTime).AddDays(1);
// //}
// //if (nowdateTime > plantime2)
// //{
// // _Getage();
// //}
// #region 每个月底的23点执行一次
// #endregion
// // 获取当前日期
// DateTime today = DateTime.Now;
// // 获取当前月份的最后一天
// DateTime lastDayOfMonth = new DateTime(today.Year, today.Month, DateTime.DaysInMonth(today.Year, today.Month));
// // 比较当前日期是否是当月的最后一天
// if (today.ToString("yyyy-MM-dd") == lastDayOfMonth.ToString("yyyy-MM-dd") && DateTime.Now.Hour == 23)
// {
// // Console.WriteLine("今天是本月的最后一天。");
// if (isHasRunHour23_Month_Task == false)
// {
// isHasRunHour23_Month_Task = true;
// //TODO:执行任务
// _Getage();
// }
// }
// else
// {
// //Console.WriteLine("今天不是本月的最后一天。");
// isHasRunHour23_Month_Task = false;
// }
// #region 每天1点执行一次
// //每天1点执行一次
// if (DateTime.Now.Hour == 1)
// {//1点的时刻
// if (isHasRunHour1_Task == false)
// {
// isHasRunHour1_Task = true;
// //TODO:执行任务
// _Getcurrentstock();
// _Handlestockwarning();
// try
// {
// //库龄预警超期消息
// HttpHelper.Post(host + "WareNotifications/wareAge", "");
// //不需要这个提醒了 【Editby shaocx,2024-01-05】
// ////到货提醒
// //HttpHelper.Post(host + "WareNotifications/arrival", "");
// //发货提醒
// HttpHelper.Post(host + "WareNotifications/send", "");
// //借用超期消息提醒
// HttpHelper.Post(host + "WareNotifications/borrowreturn", "");
// //领用审核消息
// HttpHelper.Post(host + "WareNotifications/usereview", "");
// //借用审核消息
// HttpHelper.Post(host + "WareNotifications/borrowreview", "");
// //盘点审核消息
// HttpHelper.Post(host + "WareNotifications/checkreview", "");
// _SignOvertimeOrEndReceivingOvertimeWarning();
// _DeliveryRecordAddOverTimeWarning();
// }
// catch (Exception ex)
// {
// SystemWarningMsg._lbl_Alert_noti = "库龄提醒异常" + ex.Message;
// Log4NetHelper.WriteErrorLog(LogType.InventorySnapshotHandler, "库龄提醒异常) 出现异常:" + ex.Message, ex);
// }
// }
// }
// else
// {//非1点的时刻
// isHasRunHour1_Task = false;
// }
// #endregion
// }
// catch (Exception ex)
// {
// SystemWarningMsg._lbl_Alert_noti = "消息提醒异常" + ex.Message;
// Log4NetHelper.WriteErrorLog(LogType.InventorySnapshotHandler, "消息提醒) 出现异常:" + ex.Message, ex);
// }
// }
// }
// ///
// /// //签收超时/收货超时 预警消息
// ///
// private static void _SignOvertimeOrEndReceivingOvertimeWarning()
// {
// try
// {
// //签收超时/收货超时 预警消息
// HttpHelper.Post(host + "WareNotifications/SignOvertimeOrEndReceivingOvertimeWarning", "");
// }
// catch (Exception ex)
// {
// SystemWarningMsg._lbl_Alert_noti = "签收超时/收货超时 预警消息 异常" + ex.Message;
// Log4NetHelper.WriteErrorLog(LogType.InventorySnapshotHandler, "签收超时/收货超时 预警消息 异常) 出现异常:" + ex.Message, ex);
// }
// }
// ///
// /// 发货超时
// ///
// private static void _DeliveryRecordAddOverTimeWarning()
// {
// try
// {
// //发货超时 预警消息
// HttpHelper.Post(host + "WareNotifications/DeliveryRecordAddOverTimeWarning", "");
// }
// catch (Exception ex)
// {
// SystemWarningMsg._lbl_Alert_noti = "发货超时 预警消息 异常" + ex.Message;
// Log4NetHelper.WriteErrorLog(LogType.InventorySnapshotHandler, "发货超时 预警消息 异常) 出现异常:" + ex.Message, ex);
// }
// }
// ///
// /// 增加库存快照
// ///
// private static void _Getcurrentstock()
// {
// try
// {
// //增加库存快照
// var result = HttpHelper.Post(host + "inventory/material/getcurrentstock", "");
// Log4NetHelper.WriteInfoLog(LogType.InventorySnapshotHandler, "库存快照" + result);
// }
// catch (Exception ex)
// {
// SystemWarningMsg._lbl_Alert_noti = "库存快照异常" + ex.Message;
// Log4NetHelper.WriteErrorLog(LogType.InventorySnapshotHandler, "库存快照异常) 出现异常:" + ex.Message, ex);
// }
// }
// ///
// /// 库存预警
// ///
// private static void _Handlestockwarning()
// {
// try
// {
// //库存预警
// HttpHelper.Post(host + "WareNotifications/handlestockwarning", "");
// }
// catch (Exception ex)
// {
// SystemWarningMsg._lbl_Alert_noti = "库存提醒异常" + ex.Message;
// Log4NetHelper.WriteErrorLog(LogType.InventorySnapshotHandler, "库存提醒异常) 出现异常:" + ex.Message, ex);
// }
// }
// ///
// /// 库龄结构
// ///
// private static void _Getage()
// {
// try
// {
// var result = HttpHelper.Post(host + "/inventory/material/getage", "");
// Log4NetHelper.WriteInfoLog(LogType.InventorySnapshotHandler, "库龄结构" + result);
// }
// catch (Exception ex)
// {
// SystemWarningMsg._lbl_Alert_noti = "库龄结构异常" + ex.Message;
// Log4NetHelper.WriteErrorLog(LogType.InventorySnapshotHandler, "库龄结构异常) 出现异常:" + ex.Message, ex);
// }
// }
// public static void HandlerDueOrder()
// {
// while (true)
// {
// Thread.Sleep(1000);//休眠60秒
// try
// {
// List dueorder = null;
// using (MyDbContext dbContext = new MyDbContext())
// {
// DateTime dateTime = DateTime.Now.AddDays(-1);//当天不解锁
// dueorder = dbContext.ware_due_orders.AsNoTracking().Where(u => u.OrderStatus == 1 && u.LockStockTime < dateTime).ToList();
// }
// if (dueorder != null)
// {
// if (dueorder.Count > 0)
// {
// DeliveryOrderDeleteInput input = new DeliveryOrderDeleteInput();
// string[] strings = new string[dueorder.Count];
// for (int i = 0; i < dueorder.Count; i++)
// {
// strings[i] = dueorder[i].OrderNo;
// }
// input.OrderNo = strings;
// var jsonstr = JsonConvert.SerializeObject(input);
// //解锁库存
// var result = HttpHelper.Post(host + "delivery/dueorder/unlock", jsonstr);
// dynamic obj = JsonConvert.DeserializeObject(result);
// if (obj.success == false)
// {
// Log4NetHelper.WriteErrorLog(LogType.InventorySnapshotHandler, "库存解锁) 反馈失败:" + result);
// }
// }
// }
// }
// catch (Exception ex)
// {
// SystemWarningMsg._lbl_Alert_noti = "预DO单锁库自动解锁异常" + ex.Message;
// Log4NetHelper.WriteErrorLog(LogType.InventorySnapshotHandler, "库存解锁) 出现异常:" + ex.Message, ex);
// }
// }
// }
// }
// public class DeliveryOrderDeleteInput
// {
// public string[] OrderNo { get; set; }
// }
//}