| | |
| | | { |
| | | 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(); |
| | | List<v_srmStockdetails> sendMesData = mod.v_srmStockdetails.OrderBy(x => x.positionName).ToList(); |
| | | |
| | | if (sendMesData.Count > 0) |
| | | { |
| | | SystemWarningMsg.mesStockDataForRealMes = $"{MyExtend.MsgTimeStr()},要推送{sendMesData.Count()}条!"; |
| | | mesMsg ret = null; |
| | | List<InboundStockInfoToMes> pushData = new List<InboundStockInfoToMes>(); |
| | | foreach (var itemTask in sendMesData) |
| | | { |
| | | try |
| | | pushData.Add(new InboundStockInfoToMes() |
| | | { |
| | | ApiResponse<object> ret = null; |
| | | identifier=Yitter.IdGenerator.YitIdHelper.NextId().ToString(), |
| | | containerCode = itemTask.containerCode, |
| | | createTime = itemTask.createTime?.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | materialCode = itemTask.productCode, |
| | | materialName = itemTask.productName, |
| | | positionName = itemTask.positionName, |
| | | productName = itemTask.materialName, |
| | | serialNumber = itemTask.serialNumber, |
| | | supplier = itemTask.supplier, |
| | | version = itemTask.version, |
| | | |
| | | //获取信息明细 |
| | | 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); |
| | | } |
| | | } |
| | | ret = PushMesHandler.Mes_StockSend(pushData, _logType); |
| | | SystemWarningMsg.mesStockDataForRealMes = $"{MyExtend.MsgTimeStr()},已推送结束,{sendMesData.Count()}条!返回:{JsonConvert.SerializeObject(ret)}"; |
| | | } |
| | | else |
| | | { |
| | | SystemWarningMsg.msg_mesDataTranfficForRealMes = "没有数据要推送给MES!"; |
| | | SystemWarningMsg.mesStockDataForRealMes = $"{MyExtend.MsgTimeStr()},没有数据要推送给MES!"; |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | SystemWarningMsg.msg_mesDataTranfficForRealMes = "数据要推送给MES出现异常:" + ex.Message; |
| | | Log4NetHelper.WriteErrorLog(_logType, SystemWarningMsg.msg_mesDataTranfficForRealMes, ex); |
| | | SystemWarningMsg.mesStockDataForRealMes = $"{MyExtend.MsgTimeStr()},数据要推送给MES出现异常:" + ex.Message; |
| | | Log4NetHelper.WriteErrorLog(_logType, SystemWarningMsg.mesStockDataForRealMes, ex); |
| | | } |
| | | finally |
| | | { |
| | | //Thread.Sleep(5000);//正式需要5分钟推送一次 |
| | | Thread.Sleep(5 * 60 * 1000);//正式需要5分钟推送一次 |
| | | } |
| | | } |
| | | } |