¶Ô±ÈÐÂÎļþ |
| | |
| | | using iWareCommon.Utils; |
| | | using Newtonsoft.Json; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Threading; |
| | | using yunneiWCS.EnumDefine; |
| | | using yunneiWCS.ExtendFunction; |
| | | using yunneiWCS.mes; |
| | | using yunneiWCS.ORM; |
| | | using yunneiWCS.SystemInteraction.mes2.dto; |
| | | |
| | | namespace yunneiWCS.ThreadTask |
| | | { |
| | | /// <summary> |
| | | /// MESåºåæ°æ®ä¼ è¾(çæ£çMES) |
| | | /// </summary> |
| | | public class mesStockDataForRealMes |
| | | { |
| | | public static LogType _logType = LogType.mesStockDataForRealMes; |
| | | public static async void Handler() |
| | | { |
| | | while (true) |
| | | { |
| | | try |
| | | { |
| | | Thread.Sleep(5000); |
| | | //Log4NetHelper.WriteErrorLog(_logType, "æµè¯åååå "); |
| | | //Log4NetHelper.WriteInfoLog(_logType, "æµè¯åååå "); |
| | | 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 |
| | | { |
| | | ApiResponse<object> ret = null; |
| | | |
| | | //è·åä¿¡æ¯æç» |
| | | 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, |
| | | }); |
| | | } |
| | | |
| | | if (Form1.isvirtual) |
| | | {//模æç¯å¢ |
| | | ret = new ApiResponse<object>(); |
| | | ret.Success = true; |
| | | ret.Message = "ç³»ç»æ¨¡æå®æ"; |
| | | } |
| | | else |
| | | { |
| | | switch (itemTask.outInFlag) |
| | | { |
| | | case (int)OutInFlag.å
¥åº: |
| | | ret = PushMesHandler.Mes_InStockSend(pushData, itemTask.ID.ToString(), _logType); |
| | | break; |
| | | case (int)OutInFlag.åºåº: |
| | | ret = PushMesHandler.Mes_OutStockSend(pushData, itemTask.ID.ToString(), _logType); |
| | | 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); |
| | | Log4NetHelper.WriteErrorLog(_logType, SystemWarningMsg.msg_mesDataTranfficForRealMes, ex); |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | SystemWarningMsg.msg_mesDataTranfficForRealMes = "æ²¡ææ°æ®è¦æ¨éç»MES!"; |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | SystemWarningMsg.msg_mesDataTranfficForRealMes = "æ°æ®è¦æ¨éç»MESåºç°å¼å¸¸:" + ex.Message; |
| | | Log4NetHelper.WriteErrorLog(_logType, SystemWarningMsg.msg_mesDataTranfficForRealMes, ex); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |