| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 | using SqlSugar;using System;using System.Collections.Generic;using System.Linq;using System.Text;using WCS.Data.Models;namespace WCS.Data{    public enum LogLevelEnum    {        OFF = 0,        FATAL = 1,        ERROR = 2,        WARN = 3,        INFO = 4,        DEBUG = 5,        ALL = 6    }    public class CommonData    {        public static List<WCS_EQUIPMENTALARMS> QueryErrorToList(string where)        {            string sql = string.Format("select * from WCS_EquipmentAlarms where 1=1 {0}", where);            var alarmsSet = SugarBase.DB.Ado.SqlQuery<WCS_EQUIPMENTALARMS>(sql);            return alarmsSet;        }        public static void AddLedAlarmsMsg(SqlSugarClient db, string equipmentNo, string alaram,int task_no, int writeCount = 500)        {            //获取数据库当前时间            DateTime currentdt = SugarBase.DB.GetDate();            var alarmsmsgSet = db.Queryable<WCS_LEDALARMSMSG>().Where(v => v.LED_CONVYORNO == equipmentNo).ToList();            if (alarmsmsgSet.Count() < writeCount)            {                var alarams = alarmsmsgSet.OrderByDescending(v => v.LED_UPDATETIME).ToList();                if (alarams.Count > 0)                {                    var alra = alarams[0];                    if (alra.LED_ALARMSMSG == alaram)                    {                        //alra.LED_UPDATETIME.AddSeconds(5) > currentdt                        //alra.LED_UPDATETIME = DateTime.Now;                        //db.Updateable(alra).UpdateColumns(v => new { v.LED_UPDATETIME }).ExecuteCommand();                        return;                    }                }                //添加                var alarmsmsg = new WCS_LEDALARMSMSG();                alarmsmsg.LED_ID = Guid.NewGuid().ToString();                alarmsmsg.LED_ADDRESS = string.Empty;                alarmsmsg.LED_CONVYORNO = equipmentNo;                alarmsmsg.LED_NO = "1";                alarmsmsg.LED_WCSTASK_NO = task_no;                alarmsmsg.LED_ALARMSMSG = alaram;                alarmsmsg.LED_DEFAULTMESSAGE = "欢迎光临大地海洋龙升控股有限公司";                alarmsmsg.LED_UPDATETIME = currentdt;// DateTime.Now;                alarmsmsg.LED_NOTES = string.Empty;                db.Insertable(alarmsmsg).ExecuteCommand();            }            else            {                var alaitem = alarmsmsgSet.OrderByDescending(v => v.LED_UPDATETIME).ToList()[0];                if (alaitem.LED_ALARMSMSG != alaram)                {                    //修改                    var alaramsmsgitem = alarmsmsgSet.OrderBy(v => v.LED_UPDATETIME).ToList()[0];                    if (alaramsmsgitem.LED_ALARMSMSG != alaram)                    {                        alaramsmsgitem.LED_ALARMSMSG = alaram;                        alaramsmsgitem.LED_UPDATETIME = currentdt;// DateTime.Now;                        db.Updateable(alaramsmsgitem).UpdateColumns(v => new { v.LED_ALARMSMSG, v.LED_UPDATETIME }).ExecuteCommand();                    }                }                //var alaitem = alarmsmsgSet.OrderByDescending(v => v.LED_UPDATETIME).ToList()[0];                //if (alaitem.LED_ALARMSMSG != alaram &&                //    alaitem.LED_UPDATETIME.AddSeconds(5) > currentdt)                //{                //    //修改                //    var alaramsmsgitem = alarmsmsgSet.OrderBy(v => v.LED_UPDATETIME).ToList()[0];                //    if (alaramsmsgitem.LED_ALARMSMSG != alaram &&                //        alaramsmsgitem.LED_UPDATETIME.AddSeconds(5) > currentdt)                //    {                //        alaramsmsgitem.LED_ALARMSMSG = alaram;                //        alaramsmsgitem.LED_UPDATETIME = currentdt;// DateTime.Now;                //        db.Updateable(alaramsmsgitem).UpdateColumns(v => new { v.LED_ALARMSMSG, v.LED_UPDATETIME }).ExecuteCommand();                //    }                //}            }        }        public static void AddLedErrorMsg(SqlSugarClient db, string equipmentNo, string alaram, int wcs_task_no, int wms_task_no, int alaramCount = 10)        {            //获取数据库当前时间OrderBy(v => v.LED_UPDATETIME, OrderByType.Desc)            DateTime currentdt = SugarBase.DB.GetDate();            var alarmsmsgSet = db.Queryable<WCS_LEDALARMSMSG>().Where(v => v.LED_CONVYORNO == equipmentNo).OrderBy(v => v.LED_UPDATETIME).ToList();            if (alarmsmsgSet.Count < alaramCount)            {                //添加                var alarmsmsg = new WCS_LEDALARMSMSG();                alarmsmsg.LED_ID = Guid.NewGuid().ToString();                alarmsmsg.LED_ADDRESS = string.Empty;                alarmsmsg.LED_CONVYORNO = equipmentNo;                alarmsmsg.LED_NO = "1";                alarmsmsg.LED_WCSTASK_NO = wcs_task_no;                alarmsmsg.LED_WMSTASK_NO = wms_task_no;                alarmsmsg.LED_ALARMSMSG = alaram;                alarmsmsg.LED_DEFAULTMESSAGE = "欢迎光临永冠科技有限公司";                alarmsmsg.LED_UPDATETIME = currentdt;// DateTime.Now;                alarmsmsg.LED_NOTES = string.Empty;                db.Insertable(alarmsmsg).ExecuteCommand();            }            else            {                var alarmLast = alarmsmsgSet.Last();                var alarmFirst = alarmsmsgSet.First();                if (alarmLast.LED_DEFAULTMESSAGE == alaram && alarmLast.LED_WCSTASK_NO == wcs_task_no)                {                    if (alarmLast.LED_UPDATETIME.AddMinutes(3) < currentdt)                    {                        //超过3分钟更新提示信息                        alarmFirst.LED_UPDATETIME = currentdt;                        alarmFirst.LED_ISUPLOADWMSFINISH = false;                        db.Updateable(alarmFirst).UpdateColumns(v => new { v.LED_ISUPLOADWMSFINISH, v.LED_UPDATETIME }).ExecuteCommand();                    }                }                else                {                    //修改                    alarmFirst.LED_UPDATETIME = currentdt;                    alarmFirst.LED_ALARMSMSG = alaram;                    alarmFirst.LED_WCSTASK_NO = wcs_task_no;                    alarmFirst.LED_WMSTASK_NO = wms_task_no;                    alarmFirst.LED_ISUPLOADWMSFINISH = false;                    db.Updateable(alarmFirst).UpdateColumns(v => new { v.LED_ALARMSMSG, v.LED_WCSTASK_NO, v.LED_WMSTASK_NO, v.LED_ISUPLOADWMSFINISH, v.LED_UPDATETIME }).ExecuteCommand();                }            }        }        public static void AddWCS_TASK_DTL(SqlSugarClient db, int task_id, int task_no, string posIdCur, string posIdNext, string msg)        {            var task_dtl = new WCS_TASK_DTL();            task_dtl.ID = Guid.NewGuid().ToString();            task_dtl.PARENTID = task_id;            task_dtl.TASKNO = task_no;            task_dtl.POSIDCUR = posIdCur;            task_dtl.POSIDNEXT = posIdNext;            task_dtl.DESCRIPTION = msg;            task_dtl.EXECUTEDATE = DateTime.Now;            db.Insertable(task_dtl).ExecuteCommand();        }        public static void WriteErrorFormat(string text, string text_dtl)        {            WriteFormat(LogLevelEnum.ERROR, text, text_dtl);        }        public static void WriteInfoFormat(string text, string text_dtl)        {            WriteFormat(LogLevelEnum.INFO, text, text_dtl);        }        public static void WriteDebugFormat(string text, string text_dtl)        {            WriteFormat(LogLevelEnum.DEBUG, text, text_dtl);        }        private static void WriteFormat(LogLevelEnum level, string text, string text_dtl)        {            SqlSugarClient db = null;            try            {                db = SugarBase.GetIntance();                var log = new WCS_LOG();                log.LOG_LEVEL = level.ToString();                //log.LOG_FUNC = user.Func;                //log.LOG_IPADDERSS = user.IPAdderss;                log.LOG_INFO = text;                log.LOG_INFODTL = text_dtl;                log.LOG_ADDUSERNO = "WCS";                log.LOG_ADDUSERNAME = "WCS";                log.LOG_ADDDATETIME = db.GetDate();                log.LOG_EDITUSERNO = "WCS";                log.LOG_EDITUSERNAME = "WCS";                log.LOG_EDITDATETIME = db.GetDate();                db.Insertable(log).ExecuteCommand();            }            catch (Exception ex)            {                Log4netHelper.Logger_Error.ErrorFormat(ex.ToString());            }            finally            {                if (db != null) ((IDisposable)db).Dispose();            }        }    }}
 |