333
schangxiang@126.com
2024-12-23 71f890c1c7f40d2605f9eabfe787e5ac287162fc
CC/iWareCC_ASRS/ThreadService/04_BZ21£¨°áÔËÕû¶â»úÆ÷ÈË£©/1¡¢DataProcess_BZ21.cs
@@ -30,7 +30,7 @@
            while (true)
            {
                Thread.Sleep(2000);//休眠2秒,将休眠写到前面,是为了下面的continue方法执行后不显示错误信息的提示!!!【EditBy shaocx,2022-05-24】
                SystemWarningMsg._lbl_alert_DataProcess_BZ21 = string.Empty;
                try
                {
                    if (SystemValue.isStartedModel)
@@ -80,7 +80,7 @@
                            using (WmsDBModel wmsDB = new WmsDBModel())
                            {
                                //要是有已下发的任务,就不要执行
                                var isValidate = TaskHandler.ValidateIssueTaskForNoFinishTaskByUpi(wmsDB, result);
                                var isValidate = TaskHandler.ValidateIssueTaskForNoFinishTaskByUpi(wmsDB, result, true);
                                if (!isValidate)
                                {
                                    SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()}-有‘已下发’的任务,不能处理,此次循环结束";
@@ -105,6 +105,13 @@
                                    continue;
                                }
                                var package = wmsDB.mes_package_gather.Where(x => x.PackageCode == upiObj.PackageCode).FirstOrDefault();
                                if (package == null)
                                {
                                    SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()},根据包号:{upiObj.PackageCode}没有找到对象 ";
                                    continue;
                                }
                                //验证是否允许切纸
                                var validteReslt = ValidateIsAllowCut();
                                if (validteReslt == false)
@@ -117,7 +124,7 @@
                                //string upi = "LS070700101B0001GS";
                                //调用出纸机接口
                                var papercut = ClassHelper.RotationMapping<mes_push_papercut, mes_batchOrderUPI_new>(upiObj);
                                var papercut = ClassHelper.RotationMapping<mes_push_papercut, mes_package_gather>(package);
                                papercut.Id = Yitter.IdGenerator.YitIdHelper.NextId();
                                papercut.ApiMessage = "";
                                papercut.PushNum = 0;
@@ -160,7 +167,7 @@
                                    wmsDB.mes_push_packagecode.Add(putpakegecode);
                                    //新增表
                                    var mesinequeue = ClassHelper.RotationMapping<mes_package_linequeue, mes_batchOrderUPI_new>(upiObj);
                                    var mesinequeue = ClassHelper.RotationMapping<mes_package_linequeue, mes_package_gather>(package);
                                    mesinequeue.Id = Yitter.IdGenerator.YitIdHelper.NextId();
                                    mesinequeue.CreateTime = mesinequeue.UpdateTime = DateTime.Now;
                                    wmsDB.mes_package_linequeue.Add(mesinequeue);
@@ -179,8 +186,19 @@
                                //记录任务
                                var _id = Yitter.IdGenerator.YitIdHelper.NextId();
                                var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask();
                                var plcTaskNo = BusinessHelper.CreatePlcTaskId();
                                plcTaskNo = MyExtendHelper.GetNewTaskNo(wmsDB, RbTaskTypeEnum.合包任务, plcTaskNo);
                                //判断该包下  æ˜¯å¦æœ‰æœªç»“束的 ç æ¿ä»»åŠ¡ï¼Œå¦‚æžœæœ‰ï¼Œå°±è‡ªåŠ¨æ›´æ–°å®Œæˆ
                                var mb_nofinishList = wmsDB.wms_rbline_task.Where(x => x.TaskStatus != (int)TaskStatusEnum.已完成
                && x.TaskStatus != (int)TaskStatusEnum.已取消
                && x.PackageCode == upiObj.PackageCode
             ).ToList();
                                foreach (var item in mb_nofinishList)
                                {
                                    item.TaskStatus = (int)TaskStatusEnum.已完成;
                                    item.TaskMsg = "任务被系统在合包工位自动完成(2)";
                                }
                                //新增任务表
                                var task = new wms_rbline_task()
@@ -206,7 +224,7 @@
                                };
                                //新增打印表
                                var printid = Yitter.IdGenerator.YitIdHelper.NextId();
                                var print = ClassHelper.RotationMapping<wms_record_print, mes_batchOrderUPI_new>(upiObj);
                                var print = ClassHelper.RotationMapping<wms_record_print, mes_package_gather>(package);
                                print.Id = printid;
                                print.PrintType = (int)PrintTypeEnum.包装条码;
                                print.PrintSource = (int)PrintSourceEnum.包装条码打印;
@@ -216,16 +234,16 @@
                                print.IsAllowPrint = true;
                                print.CreateTime = print.UpdateTime = DateTime.Now;
                                wmsDB.wms_record_print.Add(print);
                                var printtwo = ClassHelper.RotationMapping<wms_record_print, mes_batchOrderUPI_new>(upiObj);
                                printtwo.PrintType = (int)PrintTypeEnum.包装条码;
                                printtwo.PrintSource = (int)PrintSourceEnum.包装条码打印;
                                printtwo.PrintSheetNum = 1;
                                printtwo.PrintNum = 0;
                                printtwo.PrintStatus = (int)PrintStatuEnum.未打印;
                                printtwo.IsAllowPrint = true;
                                printtwo.CreateTime = print.UpdateTime = DateTime.Now;
                                printtwo.Id = Yitter.IdGenerator.YitIdHelper.NextId();
                                wmsDB.wms_record_print.Add(printtwo);
                                //var printtwo = ClassHelper.RotationMapping<wms_record_print, mes_batchOrderUPI_new>(upiObj);
                                //printtwo.PrintType = (int)PrintTypeEnum.包装条码;
                                //printtwo.PrintSource = (int)PrintSourceEnum.包装条码打印;
                                //printtwo.PrintSheetNum = 1;
                                //printtwo.PrintNum = 0;
                                //printtwo.PrintStatus = (int)PrintStatuEnum.未打印;
                                //printtwo.IsAllowPrint = true;
                                //printtwo.CreateTime = print.UpdateTime = DateTime.Now;
                                //printtwo.Id = Yitter.IdGenerator.YitIdHelper.NextId();
                                //wmsDB.wms_record_print.Add(printtwo);
                                wmsDB.wms_rbline_task.Add(task);
@@ -233,7 +251,7 @@
                                //处理表  mes_order_gather
                                var errmsg = "";
                                var package = wmsDB.mes_package_gather.Where(x => x.PackageCode == upiObj.PackageCode).FirstOrDefault();
                                var resultAlert = MyExtendHelper.HandlerOrderGather(wmsDB, package, "", "", out errmsg);
                                if (resultAlert == false)
                                {
@@ -243,7 +261,7 @@
                                WmsRecordUpiProcessHandler.SaveWmsRecordUpiProcess(wmsDB, upiObj, "BZ21", "合包");
                                WmsRecordUpiProcessHandler.SaveWmsRecordPackageProcess(wmsDB, upiObj, "BZ21", "合包");
                                WmsRecordUpiProcessHandler.SaveWmsRecordPackageProcess(wmsDB, package, "BZ21", "合包");
                                wmsDB.SaveChanges();
                            }