wangxinhui
10 天以前 84ebbaf5bcb24a7b283c7aee38879b16f262b7c6
ÏîÄ¿´úÂë/WCSServices/WIDESEAWCS_Tasks/¶þÆÚÏßÌå/ConveyorLineJob2.cs
@@ -10,6 +10,7 @@
using WIDESEAWCS_Common;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_DTO.TaskInfo;
using WIDESEAWCS_IBasicInfoRepository;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
@@ -45,41 +46,73 @@
                CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
                if (conveyorLine != null)
                {
                    #region ç«™å°æ–¹å¼
                    List<Dt_StationManger> stationManagers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == conveyorLine.DeviceCode);
                    foreach (var station in stationManagers)
                    {
                        if (station.StationType==StationTypeEnum.StationType_OnlyOutbound.ObjToInt()) //拣选申请
                        if (station.StationType==StationTypeEnum.StationType_OnlyOutbound.ObjToInt())
                        {
                            //拣选申请
                            bool PickRequest = conveyorLine.GetValue<ConveyorLineDBName, bool>(ConveyorLineDBName.R_PickRequest, station.StationCode);
                            if (PickRequest)
                            {
                                string PickBarCode = conveyorLine.GetValue<ConveyorLineDBName, string>(ConveyorLineDBName.R_PickBarCode, station.StationCode).Replace("\0", "");
                                string PickBarCode = conveyorLine.GetValue<ConveyorLineDBName, string>(ConveyorLineDBName.R_PickBarCode, station.StationCode).Trim();
                                //上报WMS料箱到达
                                if (PickBarCode.IsNotEmptyOrNull())
                                {
                                    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
                                    {
                                        WriteError(conveyorLine.DeviceCode, $"{station.PickStationCode}拣选申请上报WMS错误{PickBarCode},信息{content.Message}");
                                    }
                                }
                                else
                                {
                                    WriteError(nameof(conveyorLine.DeviceCode), $"{station.StationCode}拣选申请为{PickRequest}条码为空值");
                                    WriteError(conveyorLine.DeviceCode, $"{station.PickStationCode}拣选申请为{PickRequest}条码为空值");
                                }
                            }
                            
                        }
                        else
                        {
                            //入库申请
                            bool InRequest = conveyorLine.GetValue<ConveyorLineDBName, bool>(ConveyorLineDBName.R_InRequest, station.StationCode);
                            bool InResponse = conveyorLine.GetValue<ConveyorLineDBName, bool>(ConveyorLineDBName.W_InResponse, station.StationCode);
                            int InWeight = conveyorLine.GetValue<ConveyorLineDBName, int>(ConveyorLineDBName.R_InWeight, station.StationCode);
                            if (InRequest && !InResponse && InWeight>0)
                            {
                                string InBarCode = conveyorLine.GetValue<ConveyorLineDBName, string>(ConveyorLineDBName.R_InBarCode, station.StationCode).Trim();
                                //料箱到达
                                if (InBarCode.IsNotEmptyOrNull())
                                {
                                    //申请入库任务
                                    WebResponseContent content =_taskService.RequestInTask(station.StationCode,InBarCode);
                                    if (content.Status)
                                    {
                                        //写入入库确认
                                        conveyorLine.SetValue(ConveyorLineDBName.W_InResponse, true, station.StationCode);
                                        WriteInfo(conveyorLine.DeviceCode, $"站台{station.StationCode}料箱{InBarCode}申请入库成功");
                                    }
                                    else
                                    {
                                        WriteError(conveyorLine.DeviceCode, $"站台{station.StationCode}料箱{InBarCode}申请入库任务错误,信息{content.Message}");
                                    }
                                }
                                else
                                {
                                    WriteError(conveyorLine.DeviceCode, $"站台{station.StationCode}入库申请为{InRequest}条码为空值");
                                }
                            }
                        }
                        
                    }
                    #endregion ç«™å°æ–¹å¼
                }
            }
            catch (Exception ex)