add
zongzhibin
2024-11-27 bed4ab58ff88c866de95e9a5f29a7512ed43a7fa
CC/iWareCC_ASRS/ThreadService/03_BZ12(»úÆ÷ÈËÂë°ü¹¤Î»)/DataProcess_BZ12.cs
@@ -26,7 +26,7 @@
                SystemWarningMsg._lbl_alert_DataProcess_BZ12 = string.Empty;
                try
                {
                    if ( SystemValue.isStartedModel)
                    if (SystemValue.isStartedModel)
                    {
                        var rgvLocation = StationLocationEnum.BZ12.ToString();
                        /*
@@ -34,6 +34,25 @@
                         * 2、根据齐套结果,推送给PLC
                         */
                        var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault();
                        if (obj.R_PalletizingAck)
                        {
                                //给PLC推送任务完接收完成复位信号
                                using (StationServiceClient client = new StationServiceClient())
                                {
                                    var res = client.WriteStation_ACK((int)EDevice.Station, false, rgvLocation);
                                    if (!res.result)
                                    {
                                        SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = $"{rgvLocation.ToString()}-下发码板任务 å¤±è´¥,SetPalletizingTaskFinishAck è¿”回:{res.resMsg}";
                                        continue;
                                    }
                                    else
                                    {
                                        Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-下发入库任务 æˆåŠŸ,SetPalletizingTaskFinishAck,参数: ç«™ç‚¹{rgvLocation}");
                                    }
                                }
                        }
                        if (obj.R_ReqParseData)
                        {
                            var result = obj.R_ReadCodeResult;
@@ -43,8 +62,7 @@
                                continue;
                            }
                            var upiCode = result.Replace("/r", ""); ;
                            bool islast = false;//是否末板
                            bool isfirst = false;//是否末板
                            short lastnum = 0;//是否末板
                            short isrotate = 0;//是否旋转
                            short placeX = 0;
                            short placeY = 0;
@@ -53,7 +71,7 @@
                            using (WmsDBModel wmsDB = new WmsDBModel())
                            {
                                //要是有已下发的任务,就不要执行
                                var isValidate = TaskHandler.ValidateIssueTaskForBZ12(wmsDB,result);
                                var isValidate = TaskHandler.ValidateIssueTaskForBZ12(wmsDB, result);
                                if (!isValidate)
                                {
                                    SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-有‘已下发’的任务,不能处理,此次循环结束";
@@ -65,11 +83,14 @@
                                    SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()},根据UPI:{upiCode}没有找到对象 ";
                                    continue;
                                }
                                isrotate = 1;
                                isrotate = 2;
                                placeX = (short)upiObj.MachineXCenter;
                                placeY = (short)upiObj.MachineYCenter;
                                placeZ = (short)upiObj.MachineZCenter;
                                if (upiObj.UpiStatus == 3)
                                {
                                    continue;
                                }
                                //查处这包所有的数量
                                var upiList = wmsDB.mes_batchOrderUPI_new.Where(x => x.PackageCode == upiObj.PackageCode).ToList();
                                //查询是否末板并且判断有没有混批
@@ -92,7 +113,7 @@
                                    }
                                    else
                                    {
                                        isfirst = true;
                                        lastnum = 1;
                                        wms_rbline_runmode.PalletizingUPI = upiObj.PackageCode;
                                        if (obj.R_PalletizingStation1 == 1)
                                        {
@@ -104,15 +125,16 @@
                                        }
                                        else
                                            {
                                        {
                                            SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()},UPI:{upiCode}无可用码垛目标位 ";
                                            continue;
                                        }
                                        wms_rbline_runmode.PalletizingStation = int.Parse(place);
                                    }
                                    //如果次序等于当钱包总数量,是否末板置为true
                                    if (upiObj.Shelf == upiList.Count())
                                    {
                                        islast = true;
                                        lastnum = 2;
                                        wms_rbline_runmode.PalletizingUPI = null;
                                        wms_rbline_runmode.PalletizingStation = 0;
                                    }
@@ -150,7 +172,7 @@
                                    CreateUserName = "CC",
                                    UpdateTime = DateTime.Now,
                                    UpdateUserName = "CC",
                                    PlaceCode=place
                                    PlaceCode = place
                                };
                                wmsDB.wms_rbline_task.Add(task);
@@ -158,8 +180,8 @@
                                using (StationServiceClient client = new StationServiceClient())
                                {
                                    var res = client.WritePalletizingTaskInfo((int)EDevice.Station, rgvLocation, Convert.ToInt32(task.TaskNo), islast,isfirst,
                                          (short)upiObj.Length, (short)upiObj.Width, (short)upiObj.Thk, isrotate, short.Parse(task.PlaceCode), placeX, placeY,placeZ);
                                    var res = client.WritePalletizingTaskInfo((int)EDevice.Station, rgvLocation, Convert.ToInt32(task.TaskNo),
                                          (short)upiObj.Length, (short)upiObj.Width, (short)upiObj.Thk, isrotate, short.Parse(task.PlaceCode), placeX, placeY, placeZ, lastnum);
                                    if (!res.result)
                                    {
                                        SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-下发入库任务 å¤±è´¥,WriteInStoreTaskInfoAsync è¿”回:{res.resMsg}";