hwh
2024-09-13 d4beffac7005967f3eeb5b175170de20ab963781
Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs
@@ -351,39 +351,51 @@
        var listPosition = await _wcsDeviceRep.Context.Queryable<WcsPosition>().Where(s => s.DeviceId == modDevice.Id).ToListAsync();
        var result = new IoTClient.Result();
        //任务号
        if (!modDevice.TaskNo.IsNullOrEmpty())
        if (modDevice.TaskNo != null)
        {
            var modPositionTask = listPosition.FirstOrDefault(s => s.Text == "任务号");
            if (modPositionTask != null)
                result = modUtil.SetPlcDBValue(modPositionTask.PosType, modDbDevice.DbNumber + "." + modPositionTask.PlcPos, modDevice.TaskNo);
                result = modUtil.SetPlcDBValue(modPositionTask.PosType, modDbDevice.DbNumber, modPositionTask.PlcPos, modDevice.TaskNo);
        }
        //任务类型
        if (!modDevice.TaskType.IsNullOrEmpty())
        if (modDevice.TaskType != null)
        {
            var modPositionTaskType = listPosition.FirstOrDefault(s => s.Text == "任务类型");
            if (modPositionTaskType != null)
                result = modUtil.SetPlcDBValue(modPositionTaskType.PosType, modDbDevice.DbNumber + "." + modPositionTaskType.PlcPos, ((int)modDevice.TaskType).ToString());
                result = modUtil.SetPlcDBValue(modPositionTaskType.PosType, modDbDevice.DbNumber, modPositionTaskType.PlcPos, ((int)modDevice.TaskType).ToString());
        }
        //起始工位
        if (!modDevice.StartLocatNo.IsNullOrEmpty())
        if (modDevice.StartLocatNo != null)
        {
            var modPositionStartLocatNo = listPosition.FirstOrDefault(s => s.Text == "起始工位");
            if (modPositionStartLocatNo != null)
                result = modUtil.SetPlcDBValue(modPositionStartLocatNo.PosType, modDbDevice.DbNumber + "." + modPositionStartLocatNo.PlcPos, modDevice.StartLocatNo.ToString());
                result = modUtil.SetPlcDBValue(modPositionStartLocatNo.PosType, modDbDevice.DbNumber, modPositionStartLocatNo.PlcPos, modDevice.StartLocatNo.ToString());
        }
        //目的工位
        if (!modDevice.EndLocatNo.IsNullOrEmpty())
        if (modDevice.EndLocatNo != null)
        {
            var modPositionEndLocatNo = listPosition.FirstOrDefault(s => s.Text == "目的工位");
            if (modPositionEndLocatNo != null)
                result = modUtil.SetPlcDBValue(modPositionEndLocatNo.PosType, modDbDevice.DbNumber + "." + modPositionEndLocatNo.PlcPos, modDevice.EndLocatNo.ToString());
                result = modUtil.SetPlcDBValue(modPositionEndLocatNo.PosType, modDbDevice.DbNumber, modPositionEndLocatNo.PlcPos, modDevice.EndLocatNo.ToString());
        }
        //托盘码
        if (!modDevice.PalletNo.IsNullOrEmpty())
        if (modDevice.PalletNo != null)
        {
            var modPositionPalletNo = listPosition.FirstOrDefault(s => s.Text == "托盘码");
            if (modPositionPalletNo != null)
                result = modUtil.SetPlcDBValue(modPositionPalletNo.PosType, modDbDevice.DbNumber + "." + modPositionPalletNo.PlcPos, modDevice.PalletNo.ToString());
                result = modUtil.SetPlcDBValue(modPositionPalletNo.PosType, modDbDevice.DbNumber, modPositionPalletNo.PlcPos, modDevice.PalletNo.ToString());
        }
        if (modDevice.Plc != null)
        {
            var modPositionPLC = listPosition.FirstOrDefault(s => s.Text == "PLC流程字");
            if (modPositionPLC != null)
                result = modUtil.SetPlcDBValue(modPositionPLC.PosType, modDbDevice.DbNumber, modPositionPLC.PlcPos, modDevice.Plc);
        }
        if (modDevice.Wcs != null)
        {
            var modPositionWCS = listPosition.FirstOrDefault(s => s.Text == "WCS流程字");
            if (modPositionWCS != null)
                result = modUtil.SetPlcDBValue(modPositionWCS.PosType, modDbDevice.DbNumber, modPositionWCS.PlcPos, modDevice.Wcs);
        }
        if (modPlc.Type == PLCTypeEnum.ConveyorLine)
        {
@@ -392,42 +404,42 @@
            {
                var modPositionReleaseRow = listPosition.FirstOrDefault(s => s.Text == "放货排");
                if (modPositionReleaseRow != null)
                    modUtil.SetPlcDBValue(modPositionReleaseRow.PosType, modDbDevice.DbNumber + "." + modPositionReleaseRow.PlcPos, modDevice.ReleaseRow.ToString());
                    modUtil.SetPlcDBValue(modPositionReleaseRow.PosType, modDbDevice.DbNumber, modPositionReleaseRow.PlcPos, modDevice.ReleaseRow.ToString());
            }
            //放货列
            if (modDevice.ReleaseCol != null)
            {
                var modPositionReleaseCol = listPosition.FirstOrDefault(s => s.Text == "放货列");
                if (modPositionReleaseCol != null)
                    modUtil.SetPlcDBValue(modPositionReleaseCol.PosType, modDbDevice.DbNumber + "." + modPositionReleaseCol.PlcPos, modDevice.ReleaseCol.ToString());
                    modUtil.SetPlcDBValue(modPositionReleaseCol.PosType, modDbDevice.DbNumber, modPositionReleaseCol.PlcPos, modDevice.ReleaseCol.ToString());
            }
            //放货层
            if (modDevice.ReleaseStorey != null)
            {
                var modPositionReleaseStorey = listPosition.FirstOrDefault(s => s.Text == "放货层");
                if (modPositionReleaseStorey != null)
                    modUtil.SetPlcDBValue(modPositionReleaseStorey.PosType, modDbDevice.DbNumber + "." + modPositionReleaseStorey.PlcPos, modDevice.ReleaseStorey.ToString());
                    modUtil.SetPlcDBValue(modPositionReleaseStorey.PosType, modDbDevice.DbNumber, modPositionReleaseStorey.PlcPos, modDevice.ReleaseStorey.ToString());
            }
            //取货排
            if (modDevice.PickRow != null)
            {
                var modPositionPickRow = listPosition.FirstOrDefault(s => s.Text == "取货排");
                if (modPositionPickRow != null)
                    modUtil.SetPlcDBValue(modPositionPickRow.PosType, modDbDevice.DbNumber + "." + modPositionPickRow.PlcPos, modDevice.PickRow.ToString());
                    modUtil.SetPlcDBValue(modPositionPickRow.PosType, modDbDevice.DbNumber, modPositionPickRow.PlcPos, modDevice.PickRow.ToString());
            }
            //取货列
            if (modDevice.PickCol != null)
            {
                var modPositionPickCol = listPosition.FirstOrDefault(s => s.Text == "取货列");
                if (modPositionPickCol != null)
                    modUtil.SetPlcDBValue(modPositionPickCol.PosType, modDbDevice.DbNumber + "." + modPositionPickCol.PlcPos, modDevice.PickCol.ToString());
                    modUtil.SetPlcDBValue(modPositionPickCol.PosType, modDbDevice.DbNumber, modPositionPickCol.PlcPos, modDevice.PickCol.ToString());
            }
            //取货层
            if (modDevice.PickStorey != null)
            {
                var modPositionPickStorey = listPosition.FirstOrDefault(s => s.Text == "取货层");
                if (modPositionPickStorey != null)
                    modUtil.SetPlcDBValue(modPositionPickStorey.PosType, modDbDevice.DbNumber + "." + modPositionPickStorey.PlcPos, modDevice.PickStorey.ToString());
                    modUtil.SetPlcDBValue(modPositionPickStorey.PosType, modDbDevice.DbNumber, modPositionPickStorey.PlcPos, modDevice.PickStorey.ToString());
            }
        }
        modUtil.Close();