xiazhengtongxue
2026-03-13 a08829b6f60b2320555e9f560464248cc038cada
ÏîÄ¿´úÂë/WCSServices/WIDESEAWCS_Tasks/¶þÆÚÏßÌå/ConveyorLineJob2.cs
@@ -5,6 +5,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Reflection.Metadata;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Common;
@@ -17,6 +18,7 @@
using WIDESEAWCS_QuartzJob;
using WIDESEAWCS_QuartzJob.DTO;
using WIDESEAWCS_QuartzJob.Service;
using WIDESEAWCS_TaskInfoService;
namespace WIDESEAWCS_Tasks
{
@@ -60,12 +62,11 @@
                                //上报WMS料箱到达
                                if (PickBarCode.IsNotEmptyOrNull())
                                {
                                    conveyorLine.SetValue(ConveyorLineDBName.W_PickToHode, (short)300, station.StationCode);
                                    WebResponseContent content = _taskService.WMSPickUp(station.PickStationCode, PickBarCode);
                                    //WebResponseContent content = WebResponseContent.Instance.OK();
                                    if (content.Status)
                                    {
                                        //写入拣选确认
                                        conveyorLine.SetValue(ConveyorLineDBName.W_PickToHode, (short)300, station.StationCode);
                                        WriteInfo(conveyorLine.DeviceCode, $"{station.PickStationCode}拣选申请上报成功{PickBarCode}");
                                    }
                                    else
@@ -78,7 +79,40 @@
                                    WriteError(conveyorLine.DeviceCode, $"{station.PickStationCode}拣选申请为{PickRequest}条码为空值");
                                }
                            }
                            //按钮申请
                            bool DownRequest = conveyorLine.GetValue<ConveyorLineDBName, bool>(ConveyorLineDBName.R_DownRequest, station.StationCode);
                            short W_PickToHode = conveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.W_PickToHode, station.StationCode);
                            if (DownRequest && W_PickToHode == 300)
                            {
                                string PickBarCode = conveyorLine.GetValue<ConveyorLineDBName, string>(ConveyorLineDBName.R_PickBarCode, station.StationCode).Trim();
                                WriteInfo(conveyorLine.DeviceCode, $"申请入库{PickBarCode},站台:{station.StationCode}");
                                //上报WMS料箱到达
                                if (PickBarCode.IsNotEmptyOrNull())
                                {
                                    ContainerFlowDTO containerFlowDTO = new ContainerFlowDTO()
                                    {
                                        SlotCode = station.PickStationCode,
                                        ContainerCode = PickBarCode,
                                        Direction="100"
                                    };
                                    WriteInfo(conveyorLine.DeviceCode, $"任务构建完成SlotCode: {containerFlowDTO.SlotCode}, ContainerCode: {containerFlowDTO.ContainerCode}");
                                    WebResponseContent responseContent = _taskService.ContainerFlow(containerFlowDTO, station.StationDeviceCode, station.PickStationCode,1);
                                    if (responseContent.Status)
                                    {
                                        WriteInfo(conveyorLine.DeviceCode, $"写入PLC信号W_PickToHode: {containerFlowDTO.Direction},站台:{station.StationCode}");
                                        conveyorLine.SetValue(ConveyorLineDBName.W_PickToHode, (short)containerFlowDTO.Direction.ObjToInt(), station.StationCode);
                                    }
                                    else
                                    {
                                        WriteError(conveyorLine.DeviceCode, $"{station.PickStationCode}按钮申请错误{PickBarCode},信息{responseContent.Message}");
                                    };
                                }
                                else
                                {
                                    WriteError(conveyorLine.DeviceCode, $"{station.PickStationCode}按钮申请为{DownRequest}条码为空值");
                                }
                            }
                        }
                        else
                        {
@@ -89,6 +123,7 @@
                            if (InRequest && !InResponse && InWeight>0)
                            {
                                string InBarCode = conveyorLine.GetValue<ConveyorLineDBName, string>(ConveyorLineDBName.R_InBarCode, station.StationCode).Trim();
                                WriteInfo(conveyorLine.DeviceCode, $"站台{station.StationCode}料箱{InBarCode}申请入库成功");
                                //料箱到达
                                if (InBarCode.IsNotEmptyOrNull())
                                {
@@ -96,9 +131,7 @@
                                    WebResponseContent content =_taskService.RequestInTask(station.StationCode,InBarCode);
                                    if (content.Status)
                                    {
                                        //写入入库确认
                                        conveyorLine.SetValue(ConveyorLineDBName.W_InResponse, true, station.StationCode);
                                        WriteInfo(conveyorLine.DeviceCode, $"站台{station.StationCode}料箱{InBarCode}申请入库成功");
                                        conveyorLine.SetValue(ConveyorLineDBName.W_InResponse, true, station.StationCode);
                                    }
                                    else
                                    {