zhaowc
2025-02-16 eb69f07e9241fc1dd6e28d931608ef6e3616846e
修改与小车入库接口
1个文件已修改
96 ■■■■ 已修改文件
Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs 96 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs
@@ -415,16 +415,37 @@
            string str = JsonConvert.SerializeObject(models);
            Log.Information("接收WMS入库放货确认,放货口:" + models.Port+"入库口");
            var portno = "";
            switch (models.Port)
            {
                case "033":
                    portno = "33";
                    break;
                case "039":
                    portno = "39";
                    break;
                case "044":
                    portno = "44";
                    break;
                case "051":
                    portno = "51";
                    break;
            }
            //检测入库口状态,120为可放,占用则修改为130
            WcsDeviceDto modDevice = new WcsDeviceDto();
            var modPosTask = modDevice.listStation.FirstOrDefault(m => m.Text == "PLC流程字");
            var plcConn = modDevice.PLCUtil;
            var (res1, val) = plcConn.GetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos);
            WcsDeviceDto mod = new WcsDeviceDto();
            var plcConn = mod.PLCUtil;
            //获取工位点位信息
            var listPlcDevice = _db.Queryable<WcsDevice>().Where(s => s.LedIP != null && s.StationNum == portno).First();
            var modDevice = _db.Queryable<WcsPosition>().Where(s => s.StationNum == portno && s.Text == "PLC流程字").First();
            var (res1, val) = plcConn.GetPlcDBValue(modDevice.PosType, listPlcDevice.DbNumber, modDevice.PlcPos);
            if (val.ToString() == "120")
            {
                modPosTask = modDevice.listStation.FirstOrDefault(m => m.Text == "WCS流程字");
                //读取成功后写入130
                var ret = plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, "130");//占用此工位
                modDevice = _db.Queryable<WcsPosition>().Where(s => s.StationNum == portno && s.Text == "WCS流程字").First();
                var ret = plcConn.SetPlcDBValue(modDevice.PosType, listPlcDevice.DbNumber, modDevice.PlcPos, "130");//占用此工位
                if (ret.IsSucceed)
                {
                    //回传WMS可放信号
@@ -454,16 +475,32 @@
            string str = JsonConvert.SerializeObject(models);
            Log.Information("接收WMS入库放货确认,放货口:" + models.Port + "入库口");
            WcsDeviceDto modDevice = new WcsDeviceDto();
            var plcConn = modDevice.PLCUtil;
            var portno = "";
            switch (models.Port)
            {
                case "033":
                    portno = "33";
                    break;
                case "039":
                    portno = "39";
                    break;
                case "044":
                    portno = "44";
                    break;
                case "051":
                    portno = "51";
                    break;
            }
            WcsDeviceDto mod = new WcsDeviceDto();
            var plcConn = mod.PLCUtil;
            //获取工位点位信息
            //modDevice = ......=models.Port
            var modPosTask = modDevice.listStation.FirstOrDefault(m => m.Text == "任务号");
            plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, models.TaskNo);//写入任务号
                                                                                                    //
            modPosTask = modDevice.listStation.FirstOrDefault(m => m.Text == "WCS流程字");
            var ret = plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, "140");//开始放货
            var listPlcDevice = _db.Queryable<WcsDevice>().Where(s=>s.LedIP != null && s.StationNum == portno).First();
            var modDevice = _db.Queryable<WcsPosition>().Where(s => s.StationNum == portno && s.Text == "任务号").First();
            plcConn.SetPlcDBValue(modDevice.PosType, listPlcDevice.DbNumber, modDevice.PlcPos, models.TaskNo);//写入任务号
                                                                                                              //
            modDevice = _db.Queryable<WcsPosition>().Where(s => s.StationNum == portno && s.Text == "WCS流程字").First();
            var ret = plcConn.SetPlcDBValue(modDevice.PosType, listPlcDevice.DbNumber, modDevice.PlcPos, "140");//写入开始放货信号
            if (ret.IsSucceed)
            {
                //回传WMS放货信号
@@ -494,13 +531,30 @@
            string str = JsonConvert.SerializeObject(models);
            Log.Information("接收WMS入库放货确认,放货口:" + models.Port + "入库口");
            WcsDeviceDto modDevice = new WcsDeviceDto();
            //获取工位点位信息
            //modDevice = ......=models.Port
            var portno = "";
            switch (models.Port)
            {
                case "033":
                    portno = "33";
                    break;
                case "039":
                    portno = "39";
                    break;
                case "044":
                    portno = "44";
                    break;
                case "051":
                    portno = "51";
                    break;
            }
            var modPosTask = modDevice.listStation.FirstOrDefault(m => m.Text == "WCS流程字");
            var plcConn = modDevice.PLCUtil;
            var ret = plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, "140");//开始放货
            WcsDeviceDto mod = new WcsDeviceDto();
            var plcConn = mod.PLCUtil;
            //获取工位点位信息
            var listPlcDevice = _db.Queryable<WcsDevice>().Where(s => s.LedIP != null && s.StationNum == portno).First();
            var modDevice = _db.Queryable<WcsPosition>().Where(s => s.StationNum == portno && s.Text == "WCS流程字").First();
            var ret = plcConn.SetPlcDBValue(modDevice.PosType, listPlcDevice.DbNumber, modDevice.PlcPos, "160");//放完成
            if (ret.IsSucceed)
            {
                //回传WMS放货信号