333
schangxiang@126.com
2024-12-23 71f890c1c7f40d2605f9eabfe787e5ac287162fc
CC/iWareCC_ASRS/ThreadService/02_BZ39¹¤Î»£¨²¹°åºó¹¤Î»£©/Inbound/1¡¢DataProcess_BZ39.cs
@@ -9,6 +9,7 @@
using iWareSql.WmsDBModel;
using System;
using System.Collections.Generic;
using System.Diagnostics.Eventing.Reader;
using System.Linq;
using System.ServiceModel.Configuration;
using System.Text;
@@ -62,16 +63,19 @@
                                //不再拦截 
                                //要是有已下发的任务,就不要执行
                                var isValidate = TaskHandler.ValidateIssueTaskForNoFinishTaskByUpi(wmsDB, upiCode);
                                var isValidate = TaskHandler.ValidateIssueTaskForNoFinishTaskByUpi(wmsDB, upiCode, false);
                                if (!isValidate)
                                {
                                    SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-有‘未结束’的任务,不能处理,此次循环结束";
                                    SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}- upi:{upiCode}有‘未结束’的任务,不能处理,此次循环结束";
                                    continue;
                                }
                                //
                                var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == upiCode).FirstOrDefault();
                                if (upiObj == null)
                                {
                                    //写入报警信息
                                    await MyExtendHelper.WriteBoolPlcDataForWarning(PlcWarningAddressGloble.Num_BZ39_2);
                                    SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()},根据UPI:{upiCode}没有找到对象 ";
                                    continue;
                                }
@@ -79,6 +83,9 @@
                                var stock = wmsDB.wms_stock_quan.Where(x => x.Upi == upiObj.UPI).FirstOrDefault();
                                if (stock != null)
                                {
                                    //写入报警信息
                                    await MyExtendHelper.WriteBoolPlcDataForWarning(PlcWarningAddressGloble.Num_BZ39_1);
                                    SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()},UPI:{upiCode}已经在缓存库中了 ";
                                    continue;
                                }
@@ -87,6 +94,9 @@
                                var place = StationHandlerV2.FindBestEmptyPlace(wmsDB, upiObj);
                                if (place == null)
                                {
                                    //写入报警信息
                                    await MyExtendHelper.WriteBoolPlcDataForWarning(PlcWarningAddressGloble.Num_BZ39_3);
                                    SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()},根据UPI:{upiCode}没有找到缓存区岛的空库位 ";
                                    continue;
                                }
@@ -94,12 +104,14 @@
                                //记录任务
                                var _id = Yitter.IdGenerator.YitIdHelper.NextId();
                                var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask();
                                var plcTaskNo = BusinessHelper.CreatePlcTaskId();
                                plcTaskNo = MyExtendHelper.GetNewTaskNo(wmsDB, RbTaskTypeEnum.入库任务, plcTaskNo);
                                var task = new wms_rbline_task()
                                {
                                    Id = _id,
                                    TaskNo = plcTaskNo,
                                    UPI = upiObj.UPI,
                                    Upi = upiObj.UPI,
                                    Length = upiObj.Length,
                                    Width = upiObj.Width,
                                    Thk = upiObj.Thk,
@@ -109,40 +121,17 @@
                                    PackageCode = upiObj.PackageCode,
                                    PlaceCode = place.PlaceCode,
                                    RbTaskType = (int)RbTaskTypeEnum.入库任务,
                                    RbTaskTypeEnumName = RbTaskTypeEnum.入库任务.ToString(),
                                    TaskStatus = (int)TaskStatusEnum.新建,
                                    TaskStatusName = TaskStatusEnum.新建.ToString(),
                                    TaskMsg = "入库",
                                    CreateTime = DateTime.Now,
                                    CreateUserName = "CC",
                                    CreateUserName = SysGloble.WCSSystem,
                                    UpdateTime = DateTime.Now,
                                    UpdateUserName = "CC",
                                    UpdateUserName = SysGloble.WCSSystem,
                                };
                                wmsDB.wms_rbline_task.Add(task);
                                //临时
                                /*
                                using (StationServiceClient client = new StationServiceClient())
                                {
                                    var res = await client.WriteInStoreTaskInfoAsync((int)EDevice.Station, rgvLocation, place.PlaceCode,
                                       (short)upiObj.Length,
                                       (short)upiObj.Width, (short)upiObj.Thk, Convert.ToInt32(task.TaskNo));
                                    if (!res.result)
                                    {
                                        SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-下发入库任务 å¤±è´¥,WriteInStoreTaskInfoAsync è¿”回:{res.resMsg}";
                                        continue;
                                    }
                                    else
                                    {
                                        Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-下发入库任务 æˆåŠŸ,WriteInStoreTaskInfoAsync,参数: ç«™ç‚¹{rgvLocation}");
                                    }
                                }
                                //*/
                                place.PlaceStatus = (int)PlaceStatusEnum.锁定;
@@ -152,6 +141,10 @@
                                wmsDB.SaveChanges();
                            }
                        }
                        else
                        {
                            SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-没有要处理的数据";
                        }
                    }
                }
                catch (Exception ex)