| | |
| | | using yunneiWCS.SystemInteraction.tianyong; |
| | | using yunneiWCS.PLC.Srm; |
| | | using yunneiWCS.SystemInteraction.mes2.dto; |
| | | using yunneiWCS.ThreadTask; |
| | | |
| | | namespace yunneiWCS |
| | | { |
| | |
| | | StartThread(inStockTask); |
| | | Thread mesSendData = new Thread(mesDataTranffic); |
| | | StartThread(mesSendData); |
| | | |
| | | new Thread(mesDataTranfficForRealMes.Handler).Start(); |
| | | |
| | | new Thread(RefershData).Start(); |
| | | |
| | |
| | | { |
| | | while (true) |
| | | { |
| | | SystemWarningMsg.msg_mesDataTranffic = ""; |
| | | //SystemWarningMsg.msg_mesDataTranffic = ""; |
| | | try |
| | | { |
| | | Thread.Sleep(3000); |
| | |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// MES数据推送 [Editby shaocx,2025-09-02] |
| | | /// </summary> |
| | | public void mesDataTranfficForRealMes() |
| | | { |
| | | while (true) |
| | | { |
| | | SystemWarningMsg.msg_mesDataTranfficForRealMes = ""; |
| | | try |
| | | { |
| | | Thread.Sleep(5000); |
| | | using (dbmodel mod = new dbmodel()) |
| | | { |
| | | List<Wms_outInStockRecord_V2_Mes> sendMesData = mod.Wms_outInStockRecord_V2_Mes.Where(x => x.isSendToMes == 0).ToList(); |
| | | |
| | | if (sendMesData.Count > 0) |
| | | { |
| | | foreach (var itemTask in sendMesData) |
| | | { |
| | | try |
| | | { |
| | | mesMsg res = null; |
| | | if (isvirtual) |
| | | {//模拟环境 |
| | | res = new mesMsg(); |
| | | res.ErrorCode = 0; |
| | | res.ErrorMsg = "模拟环境下,模拟发送"; |
| | | } |
| | | else |
| | | {//正式环境 |
| | | //获取信息明细 |
| | | var details = mod.Wms_outInStockRecord_Details_V2_Mes.Where(x => x.mainId == itemTask.ID).ToList(); |
| | | List<InboundStockInfoToMes> pushData = new List<InboundStockInfoToMes>(); |
| | | foreach (var de in details) |
| | | { |
| | | pushData.Add(new InboundStockInfoToMes() |
| | | { |
| | | containerCode = itemTask.containerCode, |
| | | createTime = itemTask.CreateTime?.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | materialCode = de.productCode, |
| | | materialName = de.productName, |
| | | positionName = itemTask.sourcePlace, |
| | | productName = itemTask.materialName, |
| | | serialNumber = de.serialNumber, |
| | | supplier = itemTask.supplier, |
| | | version = itemTask.version, |
| | | }); |
| | | } |
| | | ApiResponse<object> ret = null; |
| | | switch (itemTask.outInFlag) |
| | | { |
| | | case (int)OutInFlag.入库: |
| | | ret = PushMesHandler.Mes_InStockSend(pushData, itemTask.ID.ToString()); |
| | | break; |
| | | case (int)OutInFlag.出库: |
| | | ret = PushMesHandler.Mes_OutStockSend(pushData, itemTask.ID.ToString()); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | |
| | | if (ret.Success) |
| | | { |
| | | itemTask.isSendToMes = 1; |
| | | } |
| | | else |
| | | { |
| | | itemTask.isSendToMes = 0; |
| | | } |
| | | itemTask.SendToMesTime = DateTime.Now; |
| | | itemTask.MesRet = ret.Message; |
| | | itemTask.SendToMesCount = (itemTask.SendToMesCount ?? 0) + 1; |
| | | mod.SaveChanges(); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | SystemWarningMsg.msg_mesDataTranfficForRealMes = "推送给MES数据异常:" + JsonConvert.SerializeObject(ex); |
| | | WZ.Useful.Commons.LogTextHelper.WriteLine("Form1", "mesDataTranffic", SystemWarningMsg.msg_mesDataTranffic); |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | SystemWarningMsg.msg_mesDataTranfficForRealMes = "没有数据要推送给MES!"; |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | SystemWarningMsg.msg_mesDataTranfficForRealMes = "数据要推送给MES出现异常:" + ex.Message; |
| | | WZ.Useful.Commons.LogTextHelper.WriteLine("Form1", "mesDataTranffic数据要推送给MES出现异常:", SystemWarningMsg.msg_mesDataTranfficForRealMes + "," + JsonConvert.SerializeObject(ex)); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | private void Form1_FormClosing(object sender, FormClosingEventArgs e) |
| | | { |
| | | Environment.Exit(0);//退出本进程所有线程 |
| | |
| | | { |
| | | LogTextHelper.BatchDeleteLog(); |
| | | LogTextHelper.BatchDeleteLog(@"H:\\api\\YUN\\Log"); |
| | | LogTextHelper.BatchDeleteLog(@"H:\\api\\YUN\\Log");//移除log4日志 |
| | | ClearDataHandler.Delete_System_TianYongLog(7); |
| | | ClearDataHandler.Delete_StockClearLog(30); |
| | | ClearDataHandler.Delete_taskRecord(30); |