lss
4 天以前 553f7744bedee0685635ed070a4a0e18b796238f
HH.WCS.Mobox3 - ´ó³µ¼ä/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs
@@ -21,6 +21,7 @@
using System.Threading.Tasks;
using static HH.WCS.JiaTong_DCJ.api.ApiModel;
using static HH.WCS.JiaTong_DCJ.LISTA.process.HttpModel;
using static System.Collections.Specialized.BitVector32;
namespace HH.WCS.JiaTong_DCJ.process
{
@@ -116,52 +117,89 @@
                if (TN_Task != null)
                {
                    int type = 0;
                    //请求取货,
                    int type = 1;
                    string loc = "";
                    if (model.state == 1101)
                    {
                        //请求取货,
                        type = 1;
                        loc = TN_Task.S_START_LOC;
                        if (name == "Mes")
                        {
                            if (OperateReqByPostMes(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
                            {
                                NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
                            }
                        if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
                        {
                            NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
                        }
                    }
                    if (model.state == 1102)
                    {
                        type = 3;
                        if (TN_Task.Z_TYPE == 4)//原材料库国自安全交互
                        else
                        {
                            loc = TN_Task.S_START_LOC;
                            if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
                            {
                               // NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
                                NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
                            }
                        }
                    }
                    if (model.state == 1102)
                    {
                        type = 1;
                        loc = TN_Task.S_START_LOC;
                        if (name == "Mes")
                        {
                            if (OperateReqByPostMes(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
                            {
                                // NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
                            }
                        }
                        else
                        {
                            if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
                            {
                                // NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
                            }
                        }
                    }
                    if (model.state == 1103)
                    {
                        //请求卸货
                        type = 2;
                        loc = TN_Task.S_END_LOC;
                        if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
                        if (name == "Mes")
                        {
                            NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
                            if (OperateReqByPostMes(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
                            {
                                NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
                            }
                        }
                        else
                        {
                            if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
                            {
                                NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
                            }
                        }
                    }
                    if (model.state == 1104)
                    {
                        type = 2;
                        loc = TN_Task.S_END_LOC;
                        if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
                        if (name == "Mes")
                        {
                            //NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
                            if (OperateReqByPostMes(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
                            {
                                //NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
                            }
                        }
                        else
                        {
                            if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
                            {
                                //NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
                            }
                        }
                    }
                }
@@ -189,9 +227,12 @@
            bool permit = false;
            try
            {
                //RequestList<TaskAccess> requestList = new RequestList<TaskAccess>();
                LogHelper.Info($"开始立库安全请求");
                Request<TaskAccess> request = new Request<TaskAccess>();
                var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
                TaskAccess taskAccess = new TaskAccess() { taskNum = tasknum, orderNum = ordernum, station = station, type = type, taskStatus = taskStatus };
                // requestList.data.Add(taskAccess);
                request.data = taskAccess;
                HttpHelper httpHelper = new HttpHelper();
                Result result = new Result();
                string date = JsonConvert.SerializeObject(taskAccess);
@@ -220,7 +261,63 @@
        }
        /// <summary>
        /// MES安全交互
        /// </summary>
        /// <param name="url"></param>
        /// <param name="tasknum"></param>
        /// <param name="ordernum"></param>
        /// <param name="station"></param>
        /// <param name="type"></param>
        /// <param name="taskStatus"></param>
        public static bool OperateReqByPostMes(string url, string tasknum, string ordernum, string station, int type, int taskStatus, string name)
        {
            bool permit = false;
            try
            {
                LogHelper.Info($"开始mes安全请求");
                Request<MesTaskAccess> request = new Request<MesTaskAccess>();
                var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
                request.RequestId = "杭叉AGV" + time;
                StatusArrive statusArrive = new StatusArrive();
                request.UseToken = "iFQ5fExGrLYLXliHYWzs";
                MesTaskAccess taskAccess = new MesTaskAccess() { taskNumber = tasknum, status = station };
                request.data = taskAccess;
                HttpHelper httpHelper = new HttpHelper();
                MesResult<MesStatus> result = new MesResult<MesStatus>();
                string date = JsonConvert.SerializeObject(request);
                // string url = Settings.tableUrls.Find(a => a.id == 2).url;
                LogHelper.Info($"安全请求:地址:{url},内容:{date}");
                var r = httpHelper.MesWebPost(url, date);
                result = JsonConvert.DeserializeObject<MesResult<MesStatus>>(r);
                if (result.icode == "200")
                {
                    LogHelper.Info($"接口请求成功");
                    if (result.idata.status == "0")
                    {
                        LogHelper.Info($"安全交互成功");
                        permit = true;
                    }
                }
                else
                {
                    LogHelper.Info($"安全请求失败=>msg:{result.imsg}");
                    ApiHelper.AddErrorInfo("安全交互失败", result.imsg, "", tasknum);
                }
                ApiHelper.AddInfo(name, "安全请求", date, JsonConvert.SerializeObject(result), "Post", url);
                return permit;
            }
            catch (Exception)
            {
                return permit;
            }
        }
        /// <summary>
        /// ä»»åŠ¡æ‹¦æˆª
        /// </summary>
@@ -238,8 +335,8 @@
                return false;
            }
            return result;
        }
@@ -584,31 +681,34 @@
            try
            {
                //回报数据获取
                Request<StatusArrive> statusarrive = new Request<StatusArrive>();
              //  Request<StatusArrive> statusarrive = new Request<StatusArrive>();
                //获取时间戳
                Request<MesTaskAccess> request = new Request<MesTaskAccess>();
                var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
                statusarrive.RequestId = "杭叉AGV" + time;
                //List<StatusArrive> statusArrives = new List<StatusArrive>();
                request.RequestId = "杭叉AGV" + time;
                StatusArrive statusArrive = new StatusArrive();
                statusarrive.UseToken = "iFQ5fExGrLYLXliHYWzs";
                statusArrive.TaskNumber = mst.S_EQ_NO;
                statusArrive.LocationNum = mst.S_END_LOC;
                statusArrive.ArricalTime = DateTime.Now.ToString();
                statusArrive.Status = status.ToString();
                statusArrive.Rfid = mst.S_CNTR_CODE;
                var cntritem = ContainerHelper.GetCntrItemRel(mst.S_CNTR_CODE).FirstOrDefault();
                if (cntritem!=null)
                {
                    statusArrive.PartNumber = cntritem.S_ITEM_CODE;
                    statusArrive.PartDesc = cntritem.S_ITEM_NAME;
                }
                request.UseToken = "iFQ5fExGrLYLXliHYWzs";
                MesTaskAccess taskAccess = new MesTaskAccess() { taskNumber = mst.S_EQ_NO, status = status.ToString() };
                request.data = taskAccess;
                //statusArrive.TaskNumber = mst.S_EQ_NO;
                //statusArrive.LocationNum = mst.S_END_LOC;
                //statusArrive.ArricalTime = DateTime.Now.ToString();
                //statusArrive.Status = status.ToString();
                //statusArrive.Rfid = mst.S_CNTR_CODE;
                //var cntritem = ContainerHelper.GetCntrItemRel(mst.S_CNTR_CODE).FirstOrDefault();
                //if (cntritem != null)
                //{
                //    statusArrive.PartNumber = cntritem.S_ITEM_CODE;
                //    statusArrive.PartDesc = cntritem.S_ITEM_NAME;
                //}
                //statusArrives.Add(statusArrive);
                statusarrive.data = statusArrive;
                //开始回报
                HttpHelper httpHelper = new HttpHelper();
                MesResult result = new MesResult();
                string date = JsonConvert.SerializeObject(statusarrive);
                string date = JsonConvert.SerializeObject(request);
                LogHelper.Info($"任务回报:地址:{url},内容:{date}");
                var r = httpHelper.MesWebPost(url, date);