using System; using System.ServiceProcess; using QMAPP.FJC.BLL.FIS; using QMAPP.FJC.BLL.MesB9; using QMAPP.FJC.Entity.FileCopy.FIS; using QMAPP.FJC.Entity.FIS; namespace DbMesB4Service { partial class AutoDbCopyService : ServiceBase { private int timerIntno = 60000; public AutoDbCopyService() { InitializeComponent(); timer.Interval = timerIntno; timer.Enabled = true; } protected override void OnStart(string[] args) { // TODO: 在此处添加代码以启动服务。 } protected override void OnStop() { // TODO: 在此处添加代码以执行停止服务所需的关闭操作。 QMFrameWork.Log.LogManager.LogHelper.Info( new QMFrameWork.Log.LogInfo { ClientIP = "localhost", UserName = "admin", Info = "DbMesB4Service服务停止" }); } private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { try { lock (this) { // TODO: 在此处添加代码以启动服务。 timer.Enabled = false; //获取Mes_B4表数据 MesB4BLL mesB4Bll = new MesB4BLL(); var MesB4BLLList = mesB4Bll.GetAllList(); if (MesB4BLLList != null) foreach (var item in MesB4BLLList) { FISOrderBLL fisOrderBll = new FISOrderBLL(); FISOrder fisOrder = new FISOrder(); fisOrder.PID = Guid.NewGuid().ToString(); fisOrder.VWSEQ = item.seq; fisOrder.KIN = item.kin; fisOrder.VIN = item.vin; fisOrder.ORDER_NO = item.m100dtm; var ds = item.m100dtm + "00"; fisOrder.M100_ONLINEDATE = DateTime.Parse(ds.Substring(0, 4) + "-" + ds.Substring(4, 2) + "-" + ds.Substring(6, 2) + " " + ds.Substring(8, 2) + ":" + ds.Substring(10, 2) + ":00"); fisOrder.LINENO = item.assemblyline; fisOrder.CREATETIME=DateTime.Now; fisOrder.SCANSTATE = "0"; //插入T_PP_FISORDER表(因为Mes_B4表里有4个ProdNo,所以要插入4条记录) fisOrder.PRODNO = item.ProdNo1; fisOrderBll.Insert(fisOrder); fisOrder.PID = Guid.NewGuid().ToString(); fisOrder.PRODNO = item.ProdNo2; fisOrderBll.Insert(fisOrder); fisOrder.PID = Guid.NewGuid().ToString(); fisOrder.PRODNO = item.ProdNo3; fisOrderBll.Insert(fisOrder); fisOrder.PID = Guid.NewGuid().ToString(); fisOrder.PRODNO = item.ProdNo4; fisOrderBll.Insert(fisOrder); OrderPlanBLL orderPlanBll = new OrderPlanBLL(); OrderPlan orderPlan = new OrderPlan(); orderPlan.PID = Guid.NewGuid().ToString(); orderPlan.PLAN_NO = fisOrder.ORDER_NO; orderPlan.PLAN_SEQ = fisOrder.VWSEQ; orderPlan.PLAN_STATE = "0"; orderPlan.QTY = 1; orderPlan.COMPLETE_QTY = 0; orderPlan.PLAN_DATE=DateTime.Now; orderPlan.PLANSOURCE = "0"; orderPlan.PRODUCEREQUIRE = "1"; //插入T_PP_ORDERPLAN表,T_PP_WORKORDER表.(因为Mes_B4表里有4个ProdNo,所以要插入4条记录) orderPlan.MATERIAL_CODE = item.ProdNo1; orderPlanBll.InsertOrderPlanAndWorkOrder(orderPlan,null); orderPlan.PID = Guid.NewGuid().ToString(); orderPlan.MATERIAL_CODE = item.ProdNo2; orderPlanBll.InsertOrderPlanAndWorkOrder(orderPlan,null); orderPlan.PID = Guid.NewGuid().ToString(); orderPlan.MATERIAL_CODE = item.ProdNo3; orderPlanBll.InsertOrderPlanAndWorkOrder(orderPlan,null); orderPlan.PID = Guid.NewGuid().ToString(); orderPlan.MATERIAL_CODE = item.ProdNo4; orderPlanBll.InsertOrderPlanAndWorkOrder(orderPlan,null); //跟新Mes_B9表 item.ReadFlag = 1; mesB4Bll.Update(item); } timer.Enabled = true; } } catch (Exception ex) { timer.Enabled = true; QMFrameWork.Log.LogManager.LogHelper.Error( new QMFrameWork.Log.LogInfo { ClientIP = "localhost", UserName = "admin", Info = "DbMesB4Service服务失败:", ErrorInfo = ex }); throw; } } } }