schangxiang@126.com
2025-04-01 afc3ef31921d5ca812f7db92dfb107e2c25eff4c
CC/iWareCC_ASRS/ThreadService/03_BZ12(»úÆ÷ÈËÂë°ü¹¤Î»)/1¡¢DataProcess_BZ12.cs
@@ -69,27 +69,26 @@
                            }
                            var upiCode = result.Replace("/r", ""); ;
                            short lastnum = 0;//是否末板
                            //short isrotate = 0;//是否旋转
                            //short placeX = 0;
                            //short placeY = 0;
                            //short placeZ = 0;
                            string place = "";
                            using (WmsDBModel wmsDB = new WmsDBModel())
                            {
                                //要是有已下发的任务,就不要执行
                                var isValidate = TaskHandler.ValidateIssueTaskForNoFinishTaskByUpi(wmsDB, result);
                                var isValidate = TaskHandler.ValidateIssueTaskForNoFinishTaskByUpi(wmsDB, result, false);
                                if (!isValidate)
                                {
                                    SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-upi:{result}有‘已下发’的任务,不能处理,此次循环结束";
                                    continue;
                                }
                                /*
                                isValidate = TaskHandler.ValidateNoFinishOutTaskFor码板任务(wmsDB);
                                if (!isValidate)
                                {
                                    SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-有 æœªç»“束 çš„任务,不能处理,此次循环结束";
                                    continue;
                                }
                                //*/
                                var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == upiCode).FirstOrDefault();
                                if (upiObj == null)
@@ -106,12 +105,23 @@
                                //placeZ = (short)upiObj.MachineZCenter;
                                if (upiObj.UpiStatus == (int)UpiStatusEnum.已码垛 || upiObj.UpiStatus == (int)UpiStatusEnum.码垛中)
                                {
                                    //写入报警信息
                                    await MyExtendHelper.WriteBoolPlcDataForWarning(PlcWarningAddressGloble.Num_BZ12_3);
                                    SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()},根据UPI:{upiCode}状态已是'已码垛'或'码垛中' ";
                                    MyExtendHelper.SetValueControlRequestDicts(PlcWarningAddressGloble.Num_BZ12_3, false, SystemWarningMsg._lbl_alert_DataProcess_BZ12);
                                    var isAllow = MyExtendHelper.ValidateIsAllowRequest(PlcWarningAddressGloble.Num_BZ12_3, LogType.DataProcess_BZ12);
                                    if (isAllow == false)
                                    {
                                        continue;
                                    }
                                    else
                                    {
                                        //写入报警信息
                                        await MyExtendHelper.WriteBoolPlcDataForWarning(PlcWarningAddressGloble.Num_BZ12_3);
                                    }
                                    continue;
                                }
                                MyExtendHelper.SetValueControlRequestDicts(PlcWarningAddressGloble.Num_BZ12_3, true, "");
                                upiObj.UpiStatus = (int)UpiStatusEnum.码垛中;
                                upiObj.AreaCode = (int)AreaCodeEnum.码垛区域;
                                //查处这包所有的数量
@@ -157,7 +167,6 @@
                                }
                                else
                                {//表示这是 åŒ…的第一块板
                                    lastnum = 1;
                                    palletizingUPI = upiObj.PackageCode;
                                    if (obj.R_PalletizingStation1 == 1)
                                    {
@@ -170,11 +179,15 @@
                                    }
                                    else
                                    {
                                        //去掉报警,不再校验这个了
                                        place = "1";
                                        /*
                                        //写入报警信息
                                        await MyExtendHelper.WriteBoolPlcDataForWarning(PlcWarningAddressGloble.Num_BZ12_6);
                                        SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()},UPI:{upiCode}无可用码垛目标位 ";
                                        continue;
                                        //*/
                                    }
                                    palletizingStation = int.Parse(place);
@@ -182,9 +195,17 @@
                                //如果次序等于当钱包总数量,是否末板置为true
                                if (upiObj.Shelf == upiList.Count())
                                {
                                    lastnum = 2;
                                    lastnum = 2;//(1首件,2末件,0为中间板)
                                    palletizingUPI = null;
                                    palletizingStation = 0;
                                }
                                else if (upiObj.Shelf == 1)
                                {
                                    lastnum = 1;//(1首件,2末件,0为中间板)
                                }
                                else
                                {
                                    lastnum = 0;//(1首件,2末件,0为中间板)
                                }
@@ -201,7 +222,8 @@
                                //记录任务
                                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,
@@ -234,7 +256,7 @@
                                wmsDB.wms_rbline_task.Add(task);
                                //更新配置
                                sysConfig.Value = palletizingUPI + "|" + palletizingStation;
                                sysConfig.Value = palletizingUPI + "|" + palletizingStation + "|" + upiObj.UPI + "|第" + upiObj.Shelf + "块";
                                WmsRecordUpiProcessHandler.SaveWmsRecordUpiProcess(wmsDB, upiObj, "BZ12站点", "码包");