//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; } // } //}