liudl
2025-06-23 70b4bdc6f999c55b75138e013abf436100e9987b
Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs
@@ -6,6 +6,7 @@
using System.Drawing.Drawing2D;
using WCS.Application.Entity;
using WCS.Application.Service.WcsDevice.Dto;
using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinComponentApiGetAuthorizerInfoResponse.Types.Authorizer.Types;
namespace WCS.Application;
@@ -52,7 +53,7 @@
                modPlc = plcList.FirstOrDefault(m => m.Text == "1层托盘输送线");
                if (modPlc == null)
                    throw Oops.Bah($"未查询到{input.Layer}楼层PLC信息");
                DbNum = "";
                DbNum = "DB91";
                break;
            case "2":
                modPlc = plcList.FirstOrDefault(m => m.Text == "2层托盘输送线");
@@ -64,7 +65,7 @@
                modPlc = plcList.FirstOrDefault(m => m.Text == "3层托盘输送线");
                if (modPlc == null)
                    throw Oops.Bah($"未查询到{input.Layer}楼层PLC信息");
                DbNum = "";
                DbNum = "DB91";
                break;
            default:
                throw Oops.Bah("楼层信息错误");
@@ -115,7 +116,7 @@
                modPlc = plcList.FirstOrDefault(m => m.Text == "1层托盘输送线");
                if (modPlc == null)
                    throw Oops.Bah($"未查询到{input.Layer}楼层PLC信息");
                DbNum = "";
                DbNum = "DB1100";
                break;
            case "2":
                modPlc = plcList.FirstOrDefault(m => m.Text == "2层托盘输送线");
@@ -127,7 +128,7 @@
                modPlc = plcList.FirstOrDefault(m => m.Text == "3层托盘输送线");
                if (modPlc == null)
                    throw Oops.Bah($"未查询到{input.Layer}楼层PLC信息");
                DbNum = "";
                DbNum = "DB1100";
                break;
            default:
                throw Oops.Bah("楼层信息错误");
@@ -167,6 +168,11 @@
        data.EndLie = value10.ToString();
        var (result11, value11) = modUtil.GetPlcDBValue(PLCDataTypeEnum.Short, DbNum, "48");
        data.EndCeng = value11.ToString();
        var (result12, value12) = modUtil.GetPlcDBValue(PLCDataTypeEnum.Byte, DbNum, "50");
        data.ChanMo = value12.ToString();
        var (result13, value13) = modUtil.GetPlcDBValue(PLCDataTypeEnum.Byte, DbNum, "51");
        data.ChaiMo = value13.ToString();
        modUtil.Close();
        return data;
@@ -477,7 +483,8 @@
                modPlc = plcList.FirstOrDefault(m => m.Text == "1层托盘输送线");
                if (modPlc == null)
                    throw Oops.Bah($"未查询到{input.Layer}楼层PLC信息");
                DbNum = "";
                DbNum = "DB91";
                TaskDbNum = "DB1100";
                break;
            case "2":
                modPlc = plcList.FirstOrDefault(m => m.Text == "2层托盘输送线");
@@ -490,7 +497,8 @@
                modPlc = plcList.FirstOrDefault(m => m.Text == "3层托盘输送线");
                if (modPlc == null)
                    throw Oops.Bah($"未查询到{input.Layer}楼层PLC信息");
                DbNum = "";
                DbNum = "DB91";
                TaskDbNum = "DB1100";
                break;
            default:
                throw Oops.Bah("楼层信息错误");
@@ -573,7 +581,7 @@
            modPlc = plcList.FirstOrDefault(m => m.Text == "1层托盘输送线");
            if (modPlc == null)
                throw Oops.Bah($"未查询到1楼层PLC信息");
            DbNum = "";
            DbNum = "DB91";
        }
        else if (input.Layer == "2")
        {
@@ -707,7 +715,7 @@
            modPlc = plcList.FirstOrDefault(m => m.Text == "3层托盘输送线");
            if (modPlc == null)
                throw Oops.Bah($"未查询到3楼层PLC信息");
            DbNum = "";
            DbNum = "DB91";
        }
        else
        {
@@ -742,6 +750,7 @@
            .WhereIF(input.PlcId > 0, u => u.PlcId == input.PlcId)
            .WhereIF(!string.IsNullOrWhiteSpace(input.StationNum), u => u.StationNum.Contains(input.StationNum.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.Text), u => u.Text.Contains(input.Text.Trim()))
            .WhereIF(input.DeviceType.HasValue, u => u.DeviceType == input.DeviceType)
            //处理外键和TreeSelector相关字段的连接
            .LeftJoin<WcsPlc>((u, plcid) => u.PlcId == plcid.Id)
            .Select((u, plcid) => new WcsDeviceOutput