lss
21 小时以前 1319cb7072623dff12369a889af766db2d166def
HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs
@@ -80,6 +80,17 @@
            {
                //根据客户现场要求,如果取货完成任务失败人工拉到终点,我们就当卸货完成处理;如果是人工拉走到其它区域,我们就解锁终点,删除托盘。
                //终点绑定
                //物料到位通知
                if (mst.S_TYPE == "出平库" || mst.S_TYPE == "余料返回")
                {
                    string urlitem = Settings.tableUrls.Find(a => a.id == 5).url;
                    TaskProcess.MESIteminfoback(mst, urlitem);
                }
                if ((mst.S_NOTE == "出库" || mst.S_NOTE == "异常库区入库") && !string.IsNullOrEmpty(mst.S_MES_NO))
                {
                    string urlitem = Settings.tableUrls.Find(a => a.id == 5).url;
                    TaskProcess.MESIteminfoback(mst, urlitem);
                }
                CacheBitUpdate(mst, false);
                LocationHelper.UnLockLoc(mst.S_END_LOC);
            }
@@ -157,6 +168,7 @@
                            //井松叠盘机安全交互
                            if (TN_Task.S_NOTE == "空托回库")
                            {
                                LogHelper.Info($"-------叠盘机安全请求------");
                                var Device = Settings.deviceInfos.Where(a => a.TN_Location == TN_Task.S_START_LOC).FirstOrDefault();
                                if (Device != null)
                                {
@@ -209,9 +221,20 @@
                        }
                        if (TN_Task.S_NOTE == "空托回库")
                        {
                            LogHelper.Info($"-------叠盘机安全请求------");
                            var Device = Settings.deviceInfos.Where(a => a.TN_Location == TN_Task.S_START_LOC).FirstOrDefault();
                            if (Device != null)
                            {
                                if (!S7Helper.WriteDpj(Device.address, 1002, 0))
                                {
                                    Task.Run(() =>
                                    {
                                        while (!S7Helper.WriteDpj(Device.address, 1002, 0))
                                        {
                                            Thread.Sleep(1000);
                                        }
                                    });
                                }
                                //写入失败重新写入
                                if (!S7Helper.WriteDpj(Device.address, 1001, 1))
                                {
@@ -223,16 +246,7 @@
                                        }
                                    });
                                }
                                if (!S7Helper.WriteDpj(Device.address, 1002, 0))
                                {
                                    Task.Run(() =>
                                    {
                                        while (!S7Helper.WriteDpj(Device.address, 1002, 0))
                                        {
                                            Thread.Sleep(1000);
                                        }
                                    });
                                }
                            }
                            else
                            {
@@ -878,7 +892,14 @@
                StatusArrive statusArrive = new StatusArrive();
                statusarrive.UseToken = "iFQ5fExGrLYLXliHYWzs";
                statusArrive.TaskNumber = mst.S_EQ_NO;
                statusArrive.LocationNum = mst.S_END_LOC;
                if (status == 1 || status == 3 || status == 4)
                {
                    statusArrive.LocationNum = mst.S_START_LOC;
                }
                else
                {
                    statusArrive.LocationNum = mst.S_END_LOC;
                }
                statusArrive.Time = DateTime.Now.ToString();
                statusArrive.Status = status.ToString();
                statusArrive.Rfid = mst.S_CNTR_CODE;