dll
cjs
2025-06-23 db1084ef1a06bfa0ae83cebdb0300a3c1c723c4a
HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs
@@ -146,15 +146,18 @@
            if (mst.S_TYPE.Contains("空托上线"))
            {
                LogHelper.Info($"{mst.S_TYPE}卸货完成,写入信号");
                //根据起点判断是A口还是B口
                var locCode = mst.S_END_LOC;
                var devInfo = Settings.deviceInfos.Where(a => a.TN_Location.Contains(locCode)).FirstOrDefault();
                if (devInfo != null)
                if(state == 6)
                {
                    var signal = devInfo.TN_Location[0] == mst.S_END_LOC ? "3F 00 10 0D 0A" : "3F 00 20 0D 0A";
                    if (PlcHelper.SendHex(devInfo.address, signal)) LogHelper.Info($"{mst.S_TYPE}任务卸货完成,写入信号:{signal},ip:{devInfo.address}");
                    //根据起点判断是A口还是B口
                    var locCode = mst.S_END_LOC;
                    var devInfo = Settings.deviceInfos.Where(a => a.TN_Location.Contains(locCode)).FirstOrDefault();
                    if (devInfo != null)
                    {
                        var signal = devInfo.TN_Location[0] == mst.S_END_LOC ? "3F 00 10 0D 0A" : "3F 00 20 0D 0A";
                        if (PlcHelper.SendHex(devInfo.address, signal)) LogHelper.Info($"{mst.S_TYPE}任务卸货完成,写入信号:{signal},ip:{devInfo.address}");
                    }
                    else LogHelper.Info($"设备未找到,货位号:{mst.S_END_LOC}");
                }
                else LogHelper.Info($"设备未找到,货位号:{mst.S_END_LOC}");
            }
            if (mst.S_TYPE.Contains("满托上线"))
            {
@@ -176,7 +179,7 @@
                var devInfo = Settings.deviceInfos.Where(a => a.TN_Location.Contains(locCode)).FirstOrDefault();
                if (devInfo != null)
                {
                    var signal = "3F 00 12 22 00 0D 0A";
                    var signal = "3F 00 12 21 0D 0A";
                    if (state == 1102) signal = "3F 00 10 20 0D 0A";
                    if (PlcHelper.SendHex(devInfo.address, signal)) LogHelper.Info($"{mst.S_TYPE}任务取货完成,写入信号:{signal},ip:{devInfo.address}");
                }
@@ -185,15 +188,18 @@
            if (mst.S_TYPE.Contains("满托下线"))
            {
                LogHelper.Info($"{mst.S_TYPE}取货完成,写入信号");
                //根据起点判断是A口还是B口
                var locCode = mst.S_START_LOC;
                var devInfo = Settings.deviceInfos.Where(a => a.TN_Location.Contains(locCode)).FirstOrDefault();
                if (devInfo != null)
                if(state == 4)
                {
                    var signal = devInfo.TN_Location[0] == mst.S_START_LOC ? "3F 00 10 0D 0A" : "3F 00 20 0D 0A";
                    if (PlcHelper.SendHex(devInfo.address, signal)) LogHelper.Info($"{mst.S_TYPE}任务取货完成,写入信号:{signal},ip:{devInfo.address}");
                    //根据起点判断是A口还是B口
                    var locCode = mst.S_START_LOC;
                    var devInfo = Settings.deviceInfos.Where(a => a.TN_Location.Contains(locCode)).FirstOrDefault();
                    if (devInfo != null)
                    {
                        var signal = devInfo.TN_Location[0] == mst.S_START_LOC ? "3F 00 10 0D 0A" : "3F 00 20 0D 0A";
                        if (PlcHelper.SendHex(devInfo.address, signal)) LogHelper.Info($"{mst.S_TYPE}任务取货完成,写入信号:{signal},ip:{devInfo.address}");
                    }
                    else LogHelper.Info($"设备未找到,货位号:{mst.S_START_LOC}");
                }
                else LogHelper.Info($"设备未找到,货位号:{mst.S_START_LOC}");
            }
        }
@@ -656,7 +662,6 @@
            if (state == 6)//卸货完成
            {
                claimGoodsTime(mst, state);
                writeSignal(mst);
                CacheBitUpdate(mst, false);
            }
            if (state == 7)
@@ -730,6 +735,7 @@
                    }
                    else
                    {
                        LogHelper.Info($"瓶胚翻斗机非即产满框 查找");
                        string areaName = bcpW.S_PLineNo.Split('-')[1].Substring(0, 1) + "号瓶胚翻斗机非即产满框";
                        startArea = Settings.areaInfos.Where(a => a.areaName == areaName && a.enable == 1).FirstOrDefault().areaCode;
                        startLoca = DeviceProcess.getFDSXArea(db, bcpW, startArea);
@@ -746,7 +752,7 @@
                    var cntrInfo = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoca.S_CODE).First();
                    if (cntrInfo != null)
                    {
                        WMSHelper.CreateOpTask(startLoca.S_CODE, mst.S_START_LOC, "出库", taskType, cntrInfo.S_CNTR_CODE);
                        WMSHelper.CreateOpTask(startLoca.S_CODE, mst.S_START_LOC, "出库", taskType, cntrInfo.S_CNTR_CODE,"","",bcpW.S_WorkNo);
                    }
                    else LogHelper.Info($"未绑定托盘,货位号:{startLoca.S_CODE}");
                }