From cfb3f2c7e9cde8cc2eb2a19263d0802c0c5410a3 Mon Sep 17 00:00:00 2001
From: zhanghonglin <zhanghonglin@hnkhzn.com>
Date: 星期一, 06 四月 2026 15:41:04 +0800
Subject: [PATCH] mes接口
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Job/UpstreamJob.cs | 84 +++++++++++++++++++++++++++++++++++++++--
1 files changed, 79 insertions(+), 5 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Job/UpstreamJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Job/UpstreamJob.cs"
index 2ef6682..66e0231 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Job/UpstreamJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Job/UpstreamJob.cs"
@@ -4,8 +4,15 @@
using System.Text;
using System.Threading.Tasks;
using Autofac.Core;
+using Newtonsoft.Json;
using Quartz;
+using WIDESEA_Common.FillingEnum;
+using WIDESEA_DTO.Basic;
+using WIDESEA_Model.Models.Basic;
+using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_Core.LogHelper;
+using WIDESEAWCS_DTO.MES;
using WIDESEAWCS_QuartzJob;
namespace WIDESEAWCS_Tasks
@@ -13,21 +20,88 @@
[DisallowConcurrentExecution]
public class UpstreamJob : JobBase, IJob
{
+
+ private readonly IRepository<Dt_FillingOrder_Hty> _FillingHtyRepository;
+
+ //mes鏍¢獙鐮�
+ private static string mesVerification = "";
+ //绉�
+ private static int shijian = 0;
+
+ public UpstreamJob(IRepository<Dt_FillingOrder_Hty> fillingHtyRepository)
+ {
+ _FillingHtyRepository = fillingHtyRepository;
+ }
+
public Task Execute(IJobExecutionContext context)
{
try
{
- //WMS鐢熸垚浠诲姟
- string address = AppSettings.Get("WMSApiAddress");
- if (!string.IsNullOrEmpty(address))
+ //涓�澶╄幏鍙栦竴娆℃牎楠岀爜
+ Thread.Sleep(1000);
+ shijian = shijian -1;
+ string mes = AppSettings.Get("MSE");
+ if (!string.IsNullOrEmpty(mes))
{
- //string k = HttpHelper.Post($"{address}/api/Task/addInTask/?location={1}", "");
+ Reports reports = new Reports();
+ //鑾峰彇MES鏍¢獙鐮�
+ if (shijian <= 0)
+ {
+ User user = new User();
+ Return s = JsonConvert.DeserializeObject<Return>(HttpHelper.Post($"{mes}/Account/Check/", user.Serialize()));
+ if (s.code.Equals("200"))
+ {
+ mesVerification = s.message;
+ shijian = 86400;
+ LogLock.OutLogAOP("涓婃父绯荤粺鏃ュ織", new string[] { "涓婃父绯荤粺", $"{"鑾峰彇mes鏍¢獙鐮佹垚鍔�" + s.message}" });
+ }
+ else
+ {
+ LogLock.OutLogAOP("涓婃父绯荤粺鏃ュ織", new string[] { "涓婃父绯荤粺", $"{"鑾峰彇mes鏍¢獙鐮佸け璐�" + JsonConvert.SerializeObject(s)}" });
+ }
+ }
+
+ //鏌ヨ浜岀淮鐮�
+ Dt_FillingOrder_Hty FillingOrder = _FillingHtyRepository.QueryFirst(x => x.BarStatus == (int)FillingStatusEnum.ExecuteCompleted);
+ if (FillingOrder != null && !mesVerification.Equals(""))
+ {
+ reports.report.Qty = FillingOrder.BarNum;
+ reports.report.DispatchID = FillingOrder.WorkID + "";
+ reports.barcodeSN.Add(new barcodeSN());
+ reports.barcodeSN[0].Barcode = FillingOrder.BarCode;
+ reports.barcodeSN[0].BatchNum = int.Parse(FillingOrder.batchNum);
+ reports.barcodeSN[0].Id = FillingOrder.BarCodeID;
+ reports.barcodeSN[0].MaterialId = FillingOrder.ArticleNumID;
+ reports.barcodeSN[0].Quantity = (int)FillingOrder.BarNum;
+ reports.barcodeSN[0].DispatchId = FillingOrder.WorkID;
+ reports.barcodeSN[0].BarcodeType = 0;
+
+ var headers = new Dictionary<string, string>();
+ headers.Add("token", mesVerification);
+ Return k = JsonConvert.DeserializeObject<Return>(HttpHelper.Post($"{mes}/Task/SaveReportRaw/", reports.Serialize(), "application/json", headers));
+
+ string zhi = JsonConvert.SerializeObject(reports);
+ LogLock.OutLogAOP("涓婃父绯荤粺鏃ュ織", new string[] { "涓婃父绯荤粺", $"{"鍙戦�佷簩缁寸爜锛�" + zhi + "//"}" });
+
+ //淇敼鐘舵��
+ if (k.code.Equals("200"))
+ {
+ FillingOrder.BarStatus = (int)FillingStatusEnum.Send;
+ _FillingHtyRepository.UpdateData(FillingOrder);
+ LogLock.OutLogAOP("涓婃父绯荤粺鏃ュ織", new string[] { "涓婃父绯荤粺", $"{"淇敼浜岀淮鐮両D锛�" + FillingOrder.Id + "//"}" });
+ }
+ }
+ else
+ {
+ //LogLock.OutLogAOP("涓婃父绯荤粺鏃ュ織", new string[] { "涓婃父绯荤粺", $"{"娌℃湁鍙笂鎶ョ殑浜岀淮鐮佹垨鏃犳牎楠岀爜"}" });
+ }
}
+
}
catch (Exception ex)
{
//鍐欏叆鏃ュ織
- WriteInfo( "涓婃父绯荤粺", $"{ex.Message}");
+ LogLock.OutLogAOP("涓婃父绯荤粺鏃ュ織", new string[] { "涓婃父绯荤粺", $"{ex.Message}" });
}
return Task.CompletedTask;
--
Gitblit v1.9.3