杨前锦
2025-05-26 d0a265713fd18162f3a82bdcd22e267df7298c7b
HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/core/WCSCore.cs
@@ -16,18 +16,6 @@
    internal class WCSCore {
        public static void OperateAgvTaskStatus(AgvTaskState model) {
            if (string.IsNullOrEmpty(model.No)) {
                var alertorDevice = Settings.alertorLightInfos.Where(a => a.deviceNo == int.Parse(model.LockNo)).FirstOrDefault();
                if (model.State == 1023)
                {
                    var result = HH.WCS.Mobox3.YNJT_PT.device.TcpClient.SendHexOnce(alertorDevice.address, 502, alertorDevice.turnLight);
                    LogHelper.Info("modbus 返回信号:" + result, "TSSG");
                }
                if (model.State == 1025)
                {
                    var result = HH.WCS.Mobox3.YNJT_PT.device.TcpClient.SendHexOnce(alertorDevice.address, 502, alertorDevice.offLight);
                    LogHelper.Info("modbus 返回信号:" + result, "TSSG");
                }
            }
            else {
                var TN_Task = WCSHelper.GetTask(model.No);
@@ -56,31 +44,14 @@
                                    break;
                                case 5:
                                    WCSHelper.UpdateStatus(TN_Task, "开始卸货");
                                    WCSHelper.UpdateStatus(TN_Task, "卸货完成");
                                    TaskProcess.OperateStatus(TN_Task, 6);
                                    if (TN_Task.S_OP_NAME == "移库单移库")
                                    {
                                        var startLoc = LocationHelper.GetLoc(TN_Task.S_START_LOC);
                                        var endLoc = LocationHelper.GetLoc(TN_Task.S_END_LOC);
                                        TN_YiKuDetail detail = new TN_YiKuDetail()
                                        {
                                            S_NO = TN_Task.S_OP_CODE,
                                            S_START_AREA = startLoc.S_AREA_CODE,
                                            S_START_ROW = startLoc.N_ROW,
                                            S_END_AREA = endLoc.S_AREA_CODE,
                                            S_END_ROW = endLoc.N_ROW
                                        };
                                        WMSHelper.updateShiftOrderDetail(detail);
                                    }
                                    WCSHelper.End(TN_Task);
                                    break;
                                case 6:
                                    WCSHelper.UpdateStatus(TN_Task, "卸货完成");
                                    TaskProcess.OperateStatus(TN_Task, 6);
                                    break;
                                #endregion
                                case 2:
                                    // 修改工单状态
                                    /*  WCSHelper.UpdateWorkOrderStatus(TN_Task.S_OP_CODE, "已完成");*/
                                    WCSHelper.End(TN_Task);
                                    break;
                                case 7:
                                    //判断是否收到过强制取消,有就不做任何处理
@@ -137,7 +108,7 @@
                        //终点托盘绑定
                        if (LocationHelper.BindingLoc(wcsTask.S_END_LOC, new List<string> { wcsTask.S_CNTR_CODE })) {
                            //修改托盘状态为可用,增加库存量表,后面分拣出可以计算到
                            ContainerHelper.Enable(wcsTask.S_CNTR_CODE, wcsTask.S_END_LOC);
                           /* ContainerHelper.Enable(wcsTask.S_CNTR_CODE, wcsTask.S_END_LOC);*/
                        }
                    }