schangxiang@126.com
2025-02-20 c9e3a7f0c154892f2327e300e28af53f81e40ad0
CC/iWareCC_ASRS/ThreadService/03_BZ12(»úÆ÷ÈËÂë°ü¹¤Î»)/1¡¢DataProcess_BZ12.cs
@@ -69,15 +69,12 @@
                            }
                            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}有‘已下发’的任务,不能处理,此次循环结束";
@@ -108,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.码垛区域;
                                //查处这包所有的数量
@@ -159,7 +167,6 @@
                                }
                                else
                                {//表示这是 åŒ…的第一块板
                                    lastnum = 1;
                                    palletizingUPI = upiObj.PackageCode;
                                    if (obj.R_PalletizingStation1 == 1)
                                    {
@@ -188,10 +195,18 @@
                                //如果次序等于当钱包总数量,是否末板置为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为中间板)
                                }
                                //查询有没有次序小于当前次序并且没有码垛的